@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville&family=Roboto+Condensed:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
		margin: 0;
		padding: 0;
		background: transparent;
		border: 0;
		outline: 0;
		font-size: 1em;
}
html {
		font-size: 62.5%;
}
body, table, input, textarea, select, option {
		font-family: 'Noto Sans JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
		display: block;
}
ol, ul {
		list-style: none;
}
blockquote, q {
		quotes: none;
}
:focus {
		outline: 0;
}
ins {
		text-decoration: none;
}
del {
		text-decoration: line-through;
}
img {
		vertical-align: top;
		max-width: 100%;
}
a, a:link {
		color: #191D26;
		text-decoration: none;
		transition: .3s;
		-webkit-transition: .3s;
		cursor: pointer;
}
a:visited {
		color: #191D26;
}
a:hover {
		color: #191D26;
		opacity: 0.8;
		cursor: pointer;
}
a:active {
		color: #191D26;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
		/*min-width: 1200px;*/
		color: #191D26;
		font-size: 1.5rem;
		line-height: 1.5;
		text-size-adjust: none;
		-webkit-text-size-adjust: none;
		background-color: #FFF;
}
body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
		content: "";
		display: block;
		clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
		display: flex;
		flex-wrap: wrap;
}
.flexA {
		justify-content: space-around;
}
.flexB {
		justify-content: space-between;
}
.flexC {
		justify-content: center;
}
/*------------------------------------------------------------
	header
------------------------------------------------------------*/
@media all and (min-width: 897px) {
		#gHeader .menu {
				display: none;
		}
		#gHeader .menu2 {
				display: none;
		}
		#gHeader {
				/*position: fixed;*/
				position: relative;
				left: 0;
				top: 0;
				width: 100%;
				/*z-index: 1000;*/
				height: 70px;
				background: #fff;
		}
		#gHeader .logo {
				margin: 12px 0 0 40px;
				padding: 0;
				float: left;
		}
		#gHeader .logo img {
				width: auto !important;
				height: 40px !important;
				vertical-align: middle !important;
		}
		#gHeader .header_menu {
				margin: 0px 0 0px 0;
				padding: 0;
				position: absolute;
				display: flex;
				bottom: 0;
				right: 130px;
				top: 32%;
				list-style: none;
		}
		#gHeader .header_menu li {
				margin: 0 10px;
				padding: 0;
				font-size: 14px;
				font-weight: 500;
		}
		/*2階層目*/
		.header_menu > li:hover {
				background: #fff;
				-webkit-transition: all .5s;
				transition: all .5s;
		}
		.header_menu > li.menu__single {
				position: relative;
		}
		#gHeader .head_link {
				width: 120px;
				height: 100%;
				margin: 0px 0 0px 0;
				padding: 0;
				position: absolute;
				display: flex;
				bottom: 0;
				top: 0;
				right: 0;
				list-style: none;
		}
		#gHeader .head_link li {
				width: 100%;
				height: 100%;
				margin: 0 0px;
				padding: 0;
				font-size: 14px;
				font-weight: 500;
		}
		#gHeader .head_link li .reserve_btn {
				margin: 0 0px;
				padding: 0;
		}
		#gHeader .head_link li .reserve_btn a {
				color: #fff;
				font-size: 12px;
				font-weight: 500;
				text-align: center;
				background: #5893c9;
				display: block;
				padding: 45px 0 7px 0;
				background-image: url(../image/icon_reserve.png);
				background-size: auto 35px;
				background-position: center 5px;
				background-repeat: no-repeat;
		}
		#gHeader .head_link li .contact_btn {
				margin: 0 0px;
				padding: 0;
		}
		#gHeader .head_link li .contact_btn a {
				color: #fff;
				font-size: 12px;
				font-weight: 500;
				text-align: center;
				background: #6cc1a3;
				display: block;
				padding: 45px 0 7px 0;
				background-image: url(../image/icon_mail.png);
				background-size: auto 35px;
				background-position: center 5px;
				background-repeat: no-repeat;
		}
}
@media all and (max-width: 896px) {
		#gHeader .menu {
				display: none;
		}
		#gHeader .menu2 {
				display: none;
		}
		#gHeader {
				/*position: fixed;*/
				left: 0;
				top: 0;
				width: 100%;
				z-index: 1000;
				/*height: 50px;*/
				background: #fff;
		}
		#gHeader .logo {
				margin: 5px auto 7px auto;
				padding: 0;
				text-align: center;
		}
		#gHeader .logo img {
				width: 50% !important;
				height: auto !important;
				vertical-align: middle !important;
		}
		#gHeader .sp_btn_wrap {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				align-items: center;
				background-color: #FFF;
		}
		#gHeader .sp_btn_wrap li.btn_link {
				width: calc(49.5% - 30px);
				height: 60px;
		}
		#gHeader .sp_btn_wrap li.btn_link a {
				display: block;
				background: #C4AFAB;
				color: #fff;
				text-align: center;
				font-size: 16px;
				line-height: 60px;
				margin: 0 auto 0 auto;
				width: 100%;
				height: 100%;
				vertical-align: middle;
				font-weight: bold;
		}
		#gHeader .sp_btn_wrap li.btn_menu2 {
				width: 60px;
				height: 60px;
		}
		#gHeader .menu2 {
				display: block;
				width: 100%;
				margin: 0;
				padding: 0;
		}
		#gHeader .menu2 a {
				display: block;
				color: #fff;
				height: 100%;
				width: 100%;
				text-align: center;
		}
		#gHeader .menu2 img {
				width: 100%;
				height: 100%;
		}
		#gHeader .menuBox2 {
				display: none;
				position: fixed;
				left: 0;
				top: 0;
				width: 100%;
				background-color: rgba(51, 44, 41, 0.90);
				z-index: 1010;
				height: 100%;
				overflow-y: auto;
				box-sizing: border-box;
		}
		#gHeader .menu2 .linkList {
				padding: 0 0 0px 0px;
				margin: 0px auto 20px auto;
				width: 90%;
				position: relative;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				flex-wrap: wrap;
				align-items: flex-start;
		}
		#gHeader .menu2 .linkList li {
				width: 100%;
				margin-bottom: 5px;
		}
		#gHeader .menuBox2 .linkList li a:hover {
				opacity: 0.7;
		}
		.menuBox .spNavi {
				margin: 50px 18px 15px;
				position: relative;
				z-index: 999;
		}
		.menuBox2 .spNavi {
				margin: 100px 18px 15px 18px;
		}
		.menuBox2 .spNavi li {
				width: 100%;
		}
		.menuBox2 .spNavi  li  a {
				display: block;
				font-weight: 500;
				color: #fff;
				padding: 14px 10px 14px 7px;
				font-size: 1.4rem;
				border-bottom: 1px solid #e1d9d7;
				letter-spacing: 0.05em;
		}
		.menuBox2 .spNavi  li  a:hover {
		}
        .menuBox2 .saiyou_link{
            padding: 0 0 0px 0px;
            margin: 50px auto 20px auto;
            width: 92%;
        display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          flex-wrap: wrap;
           align-items: flex-start;
        }
        .menuBox2 .saiyou_link li{
        width: 48%;
        margin: 0px 1% 20px 1%;
        padding: 0;
        }
        .menuBox2 .saiyou_link li a{
        padding: 15px;
        border: 1px solid #fff;
        display: block;
        border-radius: 10px;
        color: #fff;
        background: url("../image/arrow.png") no-repeat 90% center;
        background-size: 15px;
        }
		#gHeader .menuBox2 .close {
				position: absolute;
				right: 10px;
				top: 20px;
				width: 45px;
				height: 45px;
		}
		#gHeader .menuBox2 .close img {
				width: auto;
				height: 45px;
		}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
.l-footer {
		background: #F4F4F1;
		padding: 4rem 0 2rem 0;
}
.footer {
		font-size: 1.4rem;
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: relative;
}
@media screen and (min-width: 64em) {
		.footer {
				display: block;
		}
}
.footerNav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
}
.footerNav__h2 {
		margin-bottom: 1rem;
}
.footerNav__h3 {
		font-size: 1.2rem;
		line-height: 160%;
		margin-bottom: 1rem;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
}
.footerNav__h3::before {
		content: '-';
		font-size: 1.2rem;
}
.footerNav__logo {
		max-width: 37rem;
		border-right: 1px solid #CCCCCC;
		padding-right: 6rem;
}
.footerNav02 {
		font-size: 1.8rem;
		color: #616161;
}
@media screen and (min-width: 64em) {
		.footerNav02 {
				font-size: 1.2rem;
		}
}
.footerNav02__item {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
.footerNav02__link {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
}
.footerNav02__link .icon-icon-link {
		font-size: 1.1rem;
		margin: 0 0.5rem;
}
.footerNav02__link .icon-icon-link::before {
		-webkit-transition: all 0.4s ease-in;
		transition: all 0.4s ease-in;
}
.footerNav02__link:hover .icon-icon-link:before {
		color: #FF8C6C;
}
.footer__bottom {}
.footer__logo {
		max-width: 27rem;
		margin-bottom: 20px;
}
@media screen and (min-width: 64em) {
		.footer__bottom {
				/*display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;*/
		}
		.footer__logo {
				/*display: none;*/
				max-width: 27rem;
				margin: 10px auto;
		}
}
.footer__copy {
		font-size: 1.2rem;
		color: #999999;
		width: 100%;
		display: inline-block;
		text-align: center;
		margin-top: 20px;
}
@media screen and (min-width: 64em) {
		.footer__copy {
				font-size: 1.5rem;
				margin-top: 0px;
		}
}
#pageTop {
		position: fixed;
		right: 3rem;
		bottom: 8rem;
		-webkit-transform: rotate(90deg) translateY(-6rem);
		transform: rotate(90deg) translateY(-6rem);
		-webkit-transform-origin: bottom right;
		transform-origin: bottom right;
		z-index: 100;
		cursor: pointer;
}
#pageTop::before {
		content: "";
		display: inline-block;
		width: 1rem;
		height: 1rem;
		margin-right: 0.5em;
		border-bottom: .2rem solid #C8C8C8;
		border-left: .2rem solid #C8C8C8;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
}
#pageTop.is_show {
		-webkit-transform: rotate(90deg) translateY(0);
		transform: rotate(90deg) translateY(0);
}
@media screen and (min-width: 64em) {
		#pageTop {
				position: fixed;
				right: 6rem;
				bottom: 3rem;
				-webkit-transform: rotate(90deg) translateY(-6rem);
				transform: rotate(90deg) translateY(-6rem);
				-webkit-transform-origin: bottom right;
				transform-origin: bottom right;
				z-index: 100;
				cursor: pointer;
		}
		#pageTop::before {
				content: "";
				display: inline-block;
				width: 1rem;
				height: 1rem;
				margin-right: 0.5em;
				border-bottom: .2rem solid #C8C8C8;
				border-left: .2rem solid #C8C8C8;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
		}
		#pageTop.is_show {
				-webkit-transform: rotate(90deg) translateY(0);
				transform: rotate(90deg) translateY(0);
		}
}