@charset "utf-8";

/* ---------------------------------
  _01 スタイルリセット
------------------------------------*/

html { 
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	padding: 0;
	line-height: 1.0;
	color: #fff;
	background-image: url("../images/common/header_bg.webp"),linear-gradient(90deg, rgb(0, 7, 24), rgb(1, 22, 46));
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.6rem;}
	

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
    color: #fff;}
p {
	margin: 0;
	padding: 0;
	line-height: 1.6;}
img {
	border: 0;
	display: block;}

a { text-decoration: inherit; /* 必要に応じて「none」に */}
a:link { color: #fff;}
a:visited { color: inherit;}
a:hover { color: #eeb821;}

ul {
	margin: 0;
	padding: 0;
	list-style: none;}
ol {
	margin: 0;
	padding: 0;}
li {
	margin: 0;
	padding: 0;}
dl, dt, dd {
	margin: 0;
	padding: 0;}
form {
	margin: 0;
	padding: 0;}

hr { display: none;}

/* Adobe Fonts

DNP Shuei NMincho Std
font-family: "dnp-shuei-nmincho-std", sans-serif;
font-weight: 400;
font-style: normal;

Zen Kaku Gothic New
font-family: zen-kaku-gothic-new, sans-serif;
font-weight: 400;
font-style: normal;

font-family: zen-kaku-gothic-new, sans-serif;
font-weight: 700;
font-style: normal;

*/


/* ---------------------------------
  _02 共通クラス
------------------------------------*/
.section_title {
    display: inline-block;
	margin: 0 50% 1.0em;
    transform: translateX(-50%);
	text-align: center;
	font-family: bodoni-urw, serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.0rem;
	letter-spacing: 0.1em;}
.reserve {
	position: fixed;
	bottom: 30px;
	right: 30px;
}
.supplement { /* 補助的に入れる見出しを表示しないようにするクラス */
	position: absolute;
	left: -10000em;}
.flexbox_space-between {
	display: flex;
	justify-content: space-between;
}
.flexbox {
	display: flex;	
	justify-content: center;}

.yellow_font {
	color: #ffcc00;
}
.bold {
	font-weight: bold;
}
.text-center {
	text-align: center;
}

@media screen and (min-width: 641px){

.hide_pc { display: none;}
p.guide {
	margin-bottom: 1em;
	text-align: center;}

}
@media screen and (max-width: 640px){

.hide_sp { display: none;}
.flexbox_space-between {
	flex-direction: column;}
.flexbox {
	flex-direction: column;
}

}

section .container {
	margin: 0 auto;
	width: 1100px;}
@media screen and (max-width: 640px){

section .container {
	width: 100%;
	padding: 0 1.2em;
	box-sizing: border-box;}
	
}


.pagetop {
  opacity: 0;
  transition: opacity 0.3s ease;
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
  text-decoration: none;
  width: 6rem;
  height: 6rem;
  border: 2px solid #fff;
  background:rgba(255,255,255,0.3);
  border-radius: 100%;
  cursor: pointer;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(20%) rotate(-45deg);
}
@media screen and (max-width: 640px){
	.pagetop {
	  bottom: 2rem;
	  right: 2rem;
	}
}

/* ---------------------------------
  _01 ヘッダー
------------------------------------*/

header {
	width: 100%;
	height: 110px;
/*	background-image: url("../images/common/header_bg.jpg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;*/
}
header .container {
	margin: 0 auto;
	width: 1100px;
	height: 110px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}


header nav {
	padding-top: 0.5em;
	color: #fff;
	display: flex;
	flex-direction: column;}
header nav dl {
	display: flex;
	font-family: "dnp-shuei-nmincho-std", sans-serif;
	font-weight: 400;
	font-style: normal;}
header nav dl dd {
	margin-left: 1.25em;
	font-size: 1.15em;
	font-weight: 500;}
header nav ul {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 1.0em;
	font-size: 1em;
}
header nav ul li {
	margin-left: 1em;}
header nav ul li img {
	margin-top: -10px;}
header nav ul li:nth-of-type(6),
header nav ul li:nth-of-type(7),
header nav ul li:nth-of-type(8) {
	margin-left: 0.5em;}

 .btn_yoyaku {
	width: fit-content;
	margin-top: -8px;
}
 .btn_yoyaku a{
	color: #330000;
	font-size: 1em;
	font-family: "dnp-shuei-nmincho-std", sans-serif;
	font-weight: 400;
	font-style: normal;
	background-color: #eeb821;
	border-radius: 100vh;
	transition: 0.3s;
	text-decoration: none;
	cursor: pointer;
	display: block;
	background-image: url("../images/common/icon_yoyaku.png");
	background-position: left 16px center;
	background-repeat: no-repeat;
	padding: 8px 20px 8px 44px;

}
 .btn_yoyaku a:hover {
	text-decoration: none;
	background-color: #fbd876;
}
@media screen and (max-width: 640px){

header {
	height: 90px;}
header .container {
	width: 100%;
	height: 90px;}
header img { /*logo*/
	margin-left: 16px;
	height: 70px;}
	
}



/* ---------------------------------
  _02 フッター
------------------------------------*/

.more {
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #e7e7e7;}
.more ul {
	display: flex;
	justify-content: space-between;}
.more ul li {
	width: 260px;
	letter-spacing: -0.05em;
	color:#333;}
.more ul li img {
	margin-bottom: 1em;
	width: 100%;}
.more ul li a {
	color: #333;}
@media screen and (max-width: 640px){
	.more ul {
		width: 100%;
		flex-wrap: wrap;
	}
	.more ul li {
		width: 48%;
	}
	.more ul li img {
		margin: 0.5em 0;
	}
}

footer {
	margin-bottom: 30px;}
footer .information {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;}
footer .information img {
	margin-right: 1em;
	width: 270px;}
footer .information-text {
	padding-top: 20px;}
footer .information-tel {
	margin-top: 0.5em;
	font-weight: 700;
	font-size: 1.4em;}
footer .information-tel span {
	font-size: 0.8em;}
footer .information-tel a {
	color: #fff;
}
footer .information dl {
	padding-top: 1em;
	display: flex;
	width: 100%;}
footer .information dl dd {
	margin-right: 1em;}
footer .information ul {
	padding-top: 0.75em;
	display: flex;
	width: 100%;}
footer .information ul li {
	margin-right: 1em;
	font-size: 0.9em;}

footer .copyright {
	margin: 0 auto;
	width: 1100px;
	text-align: left;}

@media screen and (min-width: 641px){

footer .container {
	margin: 0 auto;
	padding: 50px 0;
	width: 1100px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;}
footer .information-tel a {
	pointer-events: none;
	cursor: default;}
}

@media screen and (max-width: 640px){
	footer .container {
		padding: 2em 0;
	}
	footer .information {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	footer dl.footer_menu_dl, footer ul.footer_menu_ul {
		display: none;
	}
	footer a.bn_umitosorato img {
		width: 90%;
		margin: 20px auto;
	}
	footer .copyright {
		width: 100%;
		text-align: center;
	}
}


/* ---------------------------------
  スマホmenu
------------------------------------*/
.openbtn{
	position: relative;
	background:#fff;
	cursor: pointer;
    width: 70px;
    height: 70px;
	z-index: 1100;}
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 18px;
    height: 4px;
	background: #000719;
  	width: 34px;}
.openbtn span:nth-of-type(1) {
	top:15px;	
}
.openbtn span:nth-of-type(2) {
	top:28px;
}
.openbtn span:nth-of-type(3) {
	top:41px;
}
.openbtn span:nth-of-type(3)::after {
	content:"メニュー";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top: 8px;
	left: -23px;
	width: 80px;
	color: #000719;
	font-size: 1.2rem;
	font-weight: 600;
	text-align: center;}
/*activeクラスが付与されると線が回転して×に*/
.openbtn.active span:nth-of-type(1) {
    top: 26px;
    left: 25px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/}
.openbtn.active span:nth-of-type(3){
    top: 38px;
    left: 25px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;}
.openbtn.active span:nth-of-type(3)::after {
	content:"閉じる";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top: 10px;
	left: -9px;
}


@media screen and (max-width: 640px){
	.sitemap {
		/*margin-right: -100vw;*/
		margin-right: -100%;
		/*margin-top: 100px;*/
		padding-top: 50px;
		position:fixed;
		top: 0;
		right: 0;
		/*width: 100vw;*/
		width: 100%;
		height: 100vh;
		background-color: rgba(255,255,255,0.9);
		z-index: 1010;
		overflow: scroll;
		
		color: #333333;
		font-family: "dnp-shuei-nmincho-std", sans-serif;
		font-weight: 400;
		font-style: normal;
	}
	.sitemap a {
		color: inherit!important;
	}
	.sitemap .sitemap_inner {
		margin: 0 auto;
		width:85%;
		padding: 20px 0;
	}
	.sitemap ul.gmenu {
		border-bottom: 1px solid #333;
		margin-bottom: 1.5em;
	}
	.sitemap ul.gmenu li{
		text-align: center;
		margin-bottom: 1.5em;
		font-size: 1.2em;
	}
	.sitemap ul.pmenu li{
		text-align: center;
		margin-bottom: 1.5em;
		font-size: 1em;
	}
	.sitemap ul.pmenu {
		padding-bottom: 2em;
		display: flex;
		flex-wrap: wrap;
	}
	.sitemap ul.pmenu li {
		width: 100%;}
	.sitemap ul.pmenu li a.btn_yoyaku {
		width: fit-content;
		margin: 0 auto;
		color: #330000;
		background-color: #eeb821;
		border-radius: 100vh;
		transition: 0.3s;
		text-decoration: none;
		cursor: pointer;
		display: block;
		background-image: url("../images/common/icon_yoyaku.png");
		background-position: left 16px center;
		background-repeat: no-repeat;
		padding: 8px 20px 8px 44px;
	}
	.sitemap ul.pmenu li a.btn_yoyaku:hover {
		text-decoration: none;
		background-color: #fbd876;
	}
	.sitemap ul.pmenu li.insta {
		width: 33.3%;
		display: flex;
		justify-content: center;
	}
	
	
}

/* ボタン */
a.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 50vh;
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	height: 40px;
	padding: 0 12% 0 12%;
	color: #330000;
	font-family: "dnp-shuei-nmincho-std", sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: left;
	font-size: 110%;
	text-decoration: none;
	position: relative;
	transition-duration: 0.2s;
	margin-top:1em;
}
a.btn:hover {
	background: #eeb821;
	color: #fff;
}
a.btn:before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	border-color: transparent transparent transparent #330000;
	position: absolute;
	top: 50%;
	right: 6%;
	margin-top: -7px;
}
a.btn:hover:before {
	border-color: transparent transparent transparent #fff;
}

/* ---------------------------------
  _ clearfix
------------------------------------*/

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}
/* End hide from IE-mac */
	