@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Hind:wght@300;400;500;600;700&display=swap');
.en { font-family: 'EB Garamond', serif; }
.posrel {
	position: relative;
} 
.imgcap, figure figcaption {
	color: #333;
	font-size: 10px;
	position: absolute;
	bottom: 0;
	right: 0;
	line-height: 1.5;
	padding: 3px 5px;
	text-align: right;
	z-index: 4;
}
.imgcap.left, figure figcaption.left { right: auto; left:0; }
.imgcap.right, figure figcaption.right {
	position: relative
}
.imgcap.bg, figure figcaption.bg {
	background: rgba(255, 255, 255, 0.7)
}
.imgcap.white, figure figcaption.white {
	color: #FFFFFF
}
.imgcap.white .bg, figure figcaption.white .bg {
	background: rgba(0, 0, 0, 0.7)
}
.imgcap.white.shadow, figure figcaption.white.shadow {
	text-shadow: 0 0 2px rgba(0, 0, 0, 1)
}
.imgcap.right, figure figcaption.outside {
	position: relative
}
.imgcap.right02, figure figcaption.outside02 {
	bottom: -20px;
}
a, img, ul, li, table, tr, td, p, h1, h2, h3, h4, h5, h6, ol, div, body, html, dl, dt, dd, h1, h2, h3, h4, h5, h6, hr, header, footer, div.header .head_tel, section, figure, figcaption, aside, main, span {
	padding: 0px;
	margin: 0px;
	border: none;
	list-style: none;
	font-weight: inherit;
	font-size: 1em
}
header, footer, div.header .head_tel, section, figure, figcaption, aside, main {
	display: block
}
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
}
.full {
	width: 100%;
}
a img {
	border: none;
}
a {
	transition : .5s;
}
a:hover {
	opacity : 0.7;
}
sup {
	font-size: 10px;
	line-height: 1;
	top: -1em
}
html {
	font-size: 62.5%;
	overflow-x:hidden;
}
body {
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color: #2D3236;
	font-weight: 500;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-feature-settings: "palt";
}
body *, body *:before, body *:after {
	box-sizing: border-box
}
body *.bs_cb {
	box-sizing: content-box
}
body .wrap {
	position: relative;
	overflow: hidden
}
i.iefontfix {
	transform: translateY(0.2em);
	font-style: inherit
}
.bold {
	font-weight: bold
}
.nobold {
	font-weight: normal
}
.mincho, body {
	font-family: 'Noto Serif JP', serif
}
a {
	text-decoration: none!important;
	color: inherit
}
body > img, body > iframe {
	display: none
}
.text_indent {
	padding-left: 1em;
	text-indent: -1em;
}
.lh-0 {
	line-height: 0;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0
}
.alpha a img {
	transition: all 0.3s ease-in-out 0s;
	display : inline;
}
body:not(.mobile) .alpha a:hover img {
	opacity: 0.7
}
.fadeimg_wrap {
	display: inline-block;
	position: relative
}
.fadeimg_wrap img {
	transition: all 0.3s ease-in-out 0s
}
.fadeimg_wrap img.off {
	position: relative;
	z-index: 1
}
.fadeimg_wrap img.on {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	opacity: 0
}
body:not(.mobile) .fadeimg_wrap:hover img.off {
	opacity: 0
}
body:not(.mobile) .fadeimg_wrap:hover img.on {
	opacity: 1
}
.cl_b {
	clear: both
}
.cap_l {
	text-align: left;
	font-size: 10px
}
.cap_r {
	text-align: right;
	font-size: 10px;
	padding-right: 5px;
}
.center {
	margin-left: auto !important;
	margin-right: auto !important
}
.ta_c {
	text-align: center
}
.ta_r {
	text-align: right
}
.ta_l {
	text-align: left
}
@media screen and (min-width: 901px) {
	.ta_c_pc {
		text-align: center
	}
	.ta_r_pc {
		text-align: right
	}
	.ta_l_pc {
		text-align: left
	}
}
@media not screen, screen and (max-width: 900px) {
	.ta_c_sp {
		text-align: center
	}
	.ta_r_sp {
		text-align: right
	}
	.ta_l_sp {
		text-align: left
	}
}
body:not(.mobile) a.sp_link {
	pointer-events: none
}
.shiny a {
	display: inline-block;
	max-width: 100%;
	position: relative;
	overflow: hidden
}
.shiny a:before {
	display: block;
	position: absolute;
	z-index: 10;
	left: -100%;
	top: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0) 100%);
	animation: shiny 4s infinite linear 0s
}
@keyframes shiny {
	0% {
		left: -100%
	}
	20%, 100% {
		left: 100%
	}
}
.swipeIcon {
	display: none
}
@media screen and (max-width: 767px) {
	.slideWrap {
		position: relative;
		overflow: auto;
		overflow-y: hidden;
		overflow-x: auto;
		z-index: 1
	}
	.slideWrap .swipeIcon {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 301;
		width: 55px;
		animation: horizontal 1s ease-in-out infinite alternate
	}
	.slideWrap img {
		width: 768px;
		max-width: inherit;
	}
	.slideWrap.second img {
		width: 561px;
	}
	.swipeIcon img {
		max-width: 100%;
		width: 100%;
	}
	.slideWrap figure {
		position: relative
	}
	.slideWrap figure img {
		max-width: none;
		height: 200px
	}
}
@keyframes horizontal {
	0% {
		transform: translate(-30%, -50%)
	}
	100% {
		transform: translate(-70%, -50%)
	}
}
@media screen and (max-width: 1200px) {
	.vpc1200 {
		display: none
	}
}
@media not screen, screen and (min-width: 1201px) {
	.vsp1200 {
		display: none
	}
}
@media screen and (max-width: 960px) {
	.vpc960 {
		display: none
	}
}
@media not screen, screen and (min-width: 961px) {
	.vsp960 {
		display: none
	}
}
@media screen and (max-width: 900px) {
	.vpc900 {
		display: none
	}
}
@media not screen, screen and (min-width: 901px) {
	.vsp900 {
		display: none
	}
}
@media screen and (max-width: 767px) {
	.vpc767 {
		display: none!important;
	}
}
@media not screen, screen and (min-width: 768px) {
	.vsp767 {
		display: none!important;
	}
}
@media screen and (max-width: 600px) {
	.vpc600 {
		display: none
	}
}
@media not screen, screen and (min-width: 601px) {
	.vsp600 {
		display: none
	}
}
@media screen and (max-width: 480px) {
	.vpc480 {
		display: none
	}
}
@media not screen, screen and (min-width: 481px) {
	.vsp480 {
		display: none
	}
}

@media screen and (min-width: 768px){
	.sp {
		display: none!important;
	}
	a[href^="tel"] {
		pointer-events: none;
	}
}
@media screen and (max-width: 767px){
	.pc {
		display: none!important;
	}	
}
@media screen and (min-width: 768px){
	.sp {
		display: none!important;
	}	
}
@media screen and (max-width: 767px){
	.pc {
		display: none!important;
	}	
}


.mt0 {
	margin-top: 0px !important
}
.mr0 {
	margin-right: 0px !important
}
.ml0 {
	margin-left: 0px !important
}
.mb0 {
	margin-bottom: 0px !important
}
.pt0 {
	padding-top: 0px !important
}
.pr0 {
	padding-right: 0px !important
}
.pl0 {
	padding-left: 0px !important
}
.pb0 {
	padding-bottom: 0px !important
}
.mt1 {
	margin-top: 1px !important
}
.mr1 {
	margin-right: 1px !important
}
.ml1 {
	margin-left: 1px !important
}
.mb1 {
	margin-bottom: 1px !important
}
.pt1 {
	padding-top: 1px !important
}
.pr1 {
	padding-right: 1px !important
}
.pl1 {
	padding-left: 1px !important
}
.pb1 {
	padding-bottom: 1px !important
}
.mt2 {
	margin-top: 2px !important
}
.mr2 {
	margin-right: 2px !important
}
.ml2 {
	margin-left: 2px !important
}
.mb2 {
	margin-bottom: 2px !important
}
.pt2 {
	padding-top: 2px !important
}
.pr2 {
	padding-right: 2px !important
}
.pl2 {
	padding-left: 2px !important
}
.pb2 {
	padding-bottom: 2px !important
}
.mt3 {
	margin-top: 3px !important
}
.mr3 {
	margin-right: 3px !important
}
.ml3 {
	margin-left: 3px !important
}
.mb3 {
	margin-bottom: 3px !important
}
.pt3 {
	padding-top: 3px !important
}
.pr3 {
	padding-right: 3px !important
}
.pl3 {
	padding-left: 3px !important
}
.pb3 {
	padding-bottom: 3px !important
}
.mt4 {
	margin-top: 4px !important
}
.mr4 {
	margin-right: 4px !important
}
.ml4 {
	margin-left: 4px !important
}
.mb4 {
	margin-bottom: 4px !important
}
.pt4 {
	padding-top: 4px !important
}
.pr4 {
	padding-right: 4px !important
}
.pl4 {
	padding-left: 4px !important
}
.pb4 {
	padding-bottom: 4px !important
}
.mt5 {
	margin-top: 5px !important
}
.mr5 {
	margin-right: 5px !important
}
.ml5 {
	margin-left: 5px !important
}
.mb5 {
	margin-bottom: 5px !important
}
.pt5 {
	padding-top: 5px !important
}
.pr5 {
	padding-right: 5px !important
}
.pl5 {
	padding-left: 5px !important
}
.pb5 {
	padding-bottom: 5px !important
}
.mt6 {
	margin-top: 6px !important
}
.mr6 {
	margin-right: 6px !important
}
.ml6 {
	margin-left: 6px !important
}
.mb6 {
	margin-bottom: 6px !important
}
.pt6 {
	padding-top: 6px !important
}
.pr6 {
	padding-right: 6px !important
}
.pl6 {
	padding-left: 6px !important
}
.pb6 {
	padding-bottom: 6px !important
}
.mt7 {
	margin-top: 7px !important
}
.mr7 {
	margin-right: 7px !important
}
.ml7 {
	margin-left: 7px !important
}
.mb7 {
	margin-bottom: 7px !important
}
.pt7 {
	padding-top: 7px !important
}
.pr7 {
	padding-right: 7px !important
}
.pl7 {
	padding-left: 7px !important
}
.pb7 {
	padding-bottom: 7px !important
}
.mt8 {
	margin-top: 8px !important
}
.mr8 {
	margin-right: 8px !important
}
.ml8 {
	margin-left: 8px !important
}
.mb8 {
	margin-bottom: 8px !important
}
.pt8 {
	padding-top: 8px !important
}
.pr8 {
	padding-right: 8px !important
}
.pl8 {
	padding-left: 8px !important
}
.pb8 {
	padding-bottom: 8px !important
}
.mt9 {
	margin-top: 9px !important
}
.mr9 {
	margin-right: 9px !important
}
.ml9 {
	margin-left: 9px !important
}
.mb9 {
	margin-bottom: 9px !important
}
.pt9 {
	padding-top: 9px !important
}
.pr9 {
	padding-right: 9px !important
}
.pl9 {
	padding-left: 9px !important
}
.pb9 {
	padding-bottom: 9px !important
}
.mt10 {
	margin-top: 10px !important
}
.mr10 {
	margin-right: 10px !important
}
.ml10 {
	margin-left: 10px !important
}
.mb10 {
	margin-bottom: 10px !important
}
.pt10 {
	padding-top: 10px !important
}
.pr10 {
	padding-right: 10px !important
}
.pl10 {
	padding-left: 10px !important
}
.pb10 {
	padding-bottom: 10px !important
}
.mt15 {
	margin-top: 15px !important
}
.mr15 {
	margin-right: 15px !important
}
.ml15 {
	margin-left: 15px !important
}
.mb15 {
	margin-bottom: 15px !important
}
.pt15 {
	padding-top: 15px !important
}
.pr15 {
	padding-right: 15px !important
}
.pl15 {
	padding-left: 15px !important
}
.pb15 {
	padding-bottom: 15px !important
}
.mt20 {
	margin-top: 20px !important
}
.mr20 {
	margin-right: 20px !important
}
.ml20 {
	margin-left: 20px !important
}
.mb20 {
	margin-bottom: 20px !important
}
.pt20 {
	padding-top: 20px !important
}
.pr20 {
	padding-right: 20px !important
}
.pl20 {
	padding-left: 20px !important
}
.pb20 {
	padding-bottom: 20px !important
}
.mt25 {
	margin-top: 25px !important
}
.mr25 {
	margin-right: 25px !important
}
.ml25 {
	margin-left: 25px !important
}
.mb25 {
	margin-bottom: 25px !important
}
.pt25 {
	padding-top: 25px !important
}
.pr25 {
	padding-right: 25px !important
}
.pl25 {
	padding-left: 25px !important
}
.pb25 {
	padding-bottom: 25px !important
}
.mt30 {
	margin-top: 30px !important
}
.mr30 {
	margin-right: 30px !important
}
.ml30 {
	margin-left: 30px !important
}
.mb30 {
	margin-bottom: 30px !important
}
.pt30 {
	padding-top: 30px !important
}
.pr30 {
	padding-right: 30px !important
}
.pl30 {
	padding-left: 30px !important
}
.pb30 {
	padding-bottom: 30px !important
}
.mt35 {
	margin-top: 35px !important
}
.mr35 {
	margin-right: 35px !important
}
.ml35 {
	margin-left: 35px !important
}
.mb35 {
	margin-bottom: 35px !important
}
.pt35 {
	padding-top: 35px !important
}
.pr35 {
	padding-right: 35px !important
}
.pl35 {
	padding-left: 35px !important
}
.pb35 {
	padding-bottom: 35px !important
}
.mt40 {
	margin-top: 40px !important
}
.mr40 {
	margin-right: 40px !important
}
.ml40 {
	margin-left: 40px !important
}
.mb40 {
	margin-bottom: 40px !important
}
.pt40 {
	padding-top: 40px !important
}
.pr40 {
	padding-right: 40px !important
}
.pl40 {
	padding-left: 40px !important
}
.pb40 {
	padding-bottom: 40px !important
}
.mt45 {
	margin-top: 45px !important
}
.mr45 {
	margin-right: 45px !important
}
.ml45 {
	margin-left: 45px !important
}
.mb45 {
	margin-bottom: 45px !important
}
.pt45 {
	padding-top: 45px !important
}
.pr45 {
	padding-right: 45px !important
}
.pl45 {
	padding-left: 45px !important
}
.pb45 {
	padding-bottom: 45px !important
}
.mt50 {
	margin-top: 50px !important
}
.mr50 {
	margin-right: 50px !important
}
.ml50 {
	margin-left: 50px !important
}
.mb50 {
	margin-bottom: 50px !important
}
.pt50 {
	padding-top: 50px !important
}
.pr50 {
	padding-right: 50px !important
}
.pl50 {
	padding-left: 50px !important
}
.pb50 {
	padding-bottom: 50px !important
}
.mt55 {
	margin-top: 55px !important
}
.mr55 {
	margin-right: 55px !important
}
.ml55 {
	margin-left: 55px !important
}
.mb55 {
	margin-bottom: 55px !important
}
.pt55 {
	padding-top: 55px !important
}
.pr55 {
	padding-right: 55px !important
}
.pl55 {
	padding-left: 55px !important
}
.pb55 {
	padding-bottom: 55px !important
}
.mt60 {
	margin-top: 60px !important
}
.mr60 {
	margin-right: 60px !important
}
.ml60 {
	margin-left: 60px !important
}
.mb60 {
	margin-bottom: 60px !important
}
.pt60 {
	padding-top: 60px !important
}
.pr60 {
	padding-right: 60px !important
}
.pl60 {
	padding-left: 60px !important
}
.pb60 {
	padding-bottom: 60px !important
}
.mt65 {
	margin-top: 65px !important
}
.mr65 {
	margin-right: 65px !important
}
.ml65 {
	margin-left: 65px !important
}
.mb65 {
	margin-bottom: 65px !important
}
.pt65 {
	padding-top: 65px !important
}
.pr65 {
	padding-right: 65px !important
}
.pl65 {
	padding-left: 65px !important
}
.pb65 {
	padding-bottom: 65px !important
}
.mt70 {
	margin-top: 70px !important
}
.mr70 {
	margin-right: 70px !important
}
.ml70 {
	margin-left: 70px !important
}
.mb70 {
	margin-bottom: 70px !important
}
.pt70 {
	padding-top: 70px !important
}
.pr70 {
	padding-right: 70px !important
}
.pl70 {
	padding-left: 70px !important
}
.pb70 {
	padding-bottom: 70px !important
}
.mt75 {
	margin-top: 75px !important
}
.mr75 {
	margin-right: 75px !important
}
.ml75 {
	margin-left: 75px !important
}
.mb75 {
	margin-bottom: 75px !important
}
.pt75 {
	padding-top: 75px !important
}
.pr75 {
	padding-right: 75px !important
}
.pl75 {
	padding-left: 75px !important
}
.pb75 {
	padding-bottom: 75px !important
}
.mt80 {
	margin-top: 80px !important
}
.mr80 {
	margin-right: 80px !important
}
.ml80 {
	margin-left: 80px !important
}
.mb80 {
	margin-bottom: 80px !important
}
.pt80 {
	padding-top: 80px !important
}
.pr80 {
	padding-right: 80px !important
}
.pl80 {
	padding-left: 80px !important
}
.pb80 {
	padding-bottom: 80px !important
}
.mt85 {
	margin-top: 85px !important
}
.mr85 {
	margin-right: 85px !important
}
.ml85 {
	margin-left: 85px !important
}
.mb85 {
	margin-bottom: 85px !important
}
.pt85 {
	padding-top: 85px !important
}
.pr85 {
	padding-right: 85px !important
}
.pl85 {
	padding-left: 85px !important
}
.pb85 {
	padding-bottom: 85px !important
}
.mt90 {
	margin-top: 90px !important
}
.mr90 {
	margin-right: 90px !important
}
.ml90 {
	margin-left: 90px !important
}
.mb90 {
	margin-bottom: 90px !important
}
.pt90 {
	padding-top: 90px !important
}
.pr90 {
	padding-right: 90px !important
}
.pl90 {
	padding-left: 90px !important
}
.pb90 {
	padding-bottom: 90px !important
}
.mt95 {
	margin-top: 95px !important
}
.mr95 {
	margin-right: 95px !important
}
.ml95 {
	margin-left: 95px !important
}
.mb95 {
	margin-bottom: 95px !important
}
.pt95 {
	padding-top: 95px !important
}
.pr95 {
	padding-right: 95px !important
}
.pl95 {
	padding-left: 95px !important
}
.pb95 {
	padding-bottom: 95px !important
}
.mt100 {
	margin-top: 100px !important
}
.mr100 {
	margin-right: 100px !important
}
.ml100 {
	margin-left: 100px !important
}
.mb100 {
	margin-bottom: 100px !important
}
.pt100 {
	padding-top: 100px !important
}
.pr100 {
	padding-right: 100px !important
}
.pl100 {
	padding-left: 100px !important
}
.pb100 {
	padding-bottom: 100px !important
}
.mt105 {
	margin-top: 105px !important
}
.mr105 {
	margin-right: 105px !important
}
.ml105 {
	margin-left: 105px !important
}
.mb105 {
	margin-bottom: 105px !important
}
.pt105 {
	padding-top: 105px !important
}
.pr105 {
	padding-right: 105px !important
}
.pl105 {
	padding-left: 105px !important
}
.pb105 {
	padding-bottom: 105px !important
}
.mt110 {
	margin-top: 110px !important
}
.mr110 {
	margin-right: 110px !important
}
.ml110 {
	margin-left: 110px !important
}
.mb110 {
	margin-bottom: 110px !important
}
.pt110 {
	padding-top: 110px !important
}
.pr110 {
	padding-right: 110px !important
}
.pl110 {
	padding-left: 110px !important
}
.pb110 {
	padding-bottom: 110px !important
}
.mt115 {
	margin-top: 115px !important
}
.mr115 {
	margin-right: 115px !important
}
.ml115 {
	margin-left: 115px !important
}
.mb115 {
	margin-bottom: 115px !important
}
.pt115 {
	padding-top: 115px !important
}
.pr115 {
	padding-right: 115px !important
}
.pl115 {
	padding-left: 115px !important
}
.pb115 {
	padding-bottom: 115px !important
}
.mt120 {
	margin-top: 120px !important
}
.mr120 {
	margin-right: 120px !important
}
.ml120 {
	margin-left: 120px !important
}
.mb120 {
	margin-bottom: 120px !important
}
.pt120 {
	padding-top: 120px !important
}
.pr120 {
	padding-right: 120px !important
}
.pl120 {
	padding-left: 120px !important
}
.pb120 {
	padding-bottom: 120px !important
}
.mt125 {
	margin-top: 125px !important
}
.mr125 {
	margin-right: 125px !important
}
.ml125 {
	margin-left: 125px !important
}
.mb125 {
	margin-bottom: 125px !important
}
.pt125 {
	padding-top: 125px !important
}
.pr125 {
	padding-right: 125px !important
}
.pl125 {
	padding-left: 125px !important
}
.pb125 {
	padding-bottom: 125px !important
}
.mt130 {
	margin-top: 130px !important
}
.mr130 {
	margin-right: 130px !important
}
.ml130 {
	margin-left: 130px !important
}
.mb130 {
	margin-bottom: 130px !important
}
.pt130 {
	padding-top: 130px !important
}
.pr130 {
	padding-right: 130px !important
}
.pl130 {
	padding-left: 130px !important
}
.pb130 {
	padding-bottom: 130px !important
}
.mt135 {
	margin-top: 135px !important
}
.mr135 {
	margin-right: 135px !important
}
.ml135 {
	margin-left: 135px !important
}
.mb135 {
	margin-bottom: 135px !important
}
.pt135 {
	padding-top: 135px !important
}
.pr135 {
	padding-right: 135px !important
}
.pl135 {
	padding-left: 135px !important
}
.pb135 {
	padding-bottom: 135px !important
}
.mt140 {
	margin-top: 140px !important
}
.mr140 {
	margin-right: 140px !important
}
.ml140 {
	margin-left: 140px !important
}
.mb140 {
	margin-bottom: 140px !important
}
.pt140 {
	padding-top: 140px !important
}
.pr140 {
	padding-right: 140px !important
}
.pl140 {
	padding-left: 140px !important
}
.pb140 {
	padding-bottom: 140px !important
}
.mt145 {
	margin-top: 145px !important
}
.mr145 {
	margin-right: 145px !important
}
.ml145 {
	margin-left: 145px !important
}
.mb145 {
	margin-bottom: 145px !important
}
.pt145 {
	padding-top: 145px !important
}
.pr145 {
	padding-right: 145px !important
}
.pl145 {
	padding-left: 145px !important
}
.pb145 {
	padding-bottom: 145px !important
}
.mt150 {
	margin-top: 150px !important
}
.mr150 {
	margin-right: 150px !important
}
.ml150 {
	margin-left: 150px !important
}
.mb150 {
	margin-bottom: 150px !important
}
.pt150 {
	padding-top: 150px !important
}
.pr150 {
	padding-right: 150px !important
}
.pl150 {
	padding-left: 150px !important
}
.pb150 {
	padding-bottom: 150px !important
}
.mt155 {
	margin-top: 155px !important
}
.mr155 {
	margin-right: 155px !important
}
.ml155 {
	margin-left: 155px !important
}
.mb155 {
	margin-bottom: 155px !important
}
.pt155 {
	padding-top: 155px !important
}
.pr155 {
	padding-right: 155px !important
}
.pl155 {
	padding-left: 155px !important
}
.pb155 {
	padding-bottom: 155px !important
}
.mt160 {
	margin-top: 160px !important
}
.mr160 {
	margin-right: 160px !important
}
.ml160 {
	margin-left: 160px !important
}
.mb160 {
	margin-bottom: 160px !important
}
.pt160 {
	padding-top: 160px !important
}
.pr160 {
	padding-right: 160px !important
}
.pl160 {
	padding-left: 160px !important
}
.pb160 {
	padding-bottom: 160px !important
}
.mt165 {
	margin-top: 165px !important
}
.mr165 {
	margin-right: 165px !important
}
.ml165 {
	margin-left: 165px !important
}
.mb165 {
	margin-bottom: 165px !important
}
.pt165 {
	padding-top: 165px !important
}
.pr165 {
	padding-right: 165px !important
}
.pl165 {
	padding-left: 165px !important
}
.pb165 {
	padding-bottom: 165px !important
}
.mt170 {
	margin-top: 170px !important
}
.mr170 {
	margin-right: 170px !important
}
.ml170 {
	margin-left: 170px !important
}
.mb170 {
	margin-bottom: 170px !important
}
.pt170 {
	padding-top: 170px !important
}
.pr170 {
	padding-right: 170px !important
}
.pl170 {
	padding-left: 170px !important
}
.pb170 {
	padding-bottom: 170px !important
}
.mt175 {
	margin-top: 175px !important
}
.mr175 {
	margin-right: 175px !important
}
.ml175 {
	margin-left: 175px !important
}
.mb175 {
	margin-bottom: 175px !important
}
.pt175 {
	padding-top: 175px !important
}
.pr175 {
	padding-right: 175px !important
}
.pl175 {
	padding-left: 175px !important
}
.pb175 {
	padding-bottom: 175px !important
}
.mt180 {
	margin-top: 180px !important
}
.mr180 {
	margin-right: 180px !important
}
.ml180 {
	margin-left: 180px !important
}
.mb180 {
	margin-bottom: 180px !important
}
.pt180 {
	padding-top: 180px !important
}
.pr180 {
	padding-right: 180px !important
}
.pl180 {
	padding-left: 180px !important
}
.pb180 {
	padding-bottom: 180px !important
}
.mt185 {
	margin-top: 185px !important
}
.mr185 {
	margin-right: 185px !important
}
.ml185 {
	margin-left: 185px !important
}
.mb185 {
	margin-bottom: 185px !important
}
.pt185 {
	padding-top: 185px !important
}
.pr185 {
	padding-right: 185px !important
}
.pl185 {
	padding-left: 185px !important
}
.pb185 {
	padding-bottom: 185px !important
}
.mt190 {
	margin-top: 190px !important
}
.mr190 {
	margin-right: 190px !important
}
.ml190 {
	margin-left: 190px !important
}
.mb190 {
	margin-bottom: 190px !important
}
.pt190 {
	padding-top: 190px !important
}
.pr190 {
	padding-right: 190px !important
}
.pl190 {
	padding-left: 190px !important
}
.pb190 {
	padding-bottom: 190px !important
}
.mt195 {
	margin-top: 195px !important
}
.mr195 {
	margin-right: 195px !important
}
.ml195 {
	margin-left: 195px !important
}
.mb195 {
	margin-bottom: 195px !important
}
.pt195 {
	padding-top: 195px !important
}
.pr195 {
	padding-right: 195px !important
}
.pl195 {
	padding-left: 195px !important
}
.pb195 {
	padding-bottom: 195px !important
}
.mt200 {
	margin-top: 200px !important
}
.mr200 {
	margin-right: 200px !important
}
.ml200 {
	margin-left: 200px !important
}
.mb200 {
	margin-bottom: 200px !important
}
.pt200 {
	padding-top: 200px !important
}
.pr200 {
	padding-right: 200px !important
}
.pl200 {
	padding-left: 200px !important
}
.pb200 {
	padding-bottom: 200px !important
}
.side_spc {
	padding-left: 20px;
	padding-right: 20px
}
@media screen and (max-width: 900px) {
	.mb0_sp {
		margin-bottom: 0px !important
	}
	.mb1_sp {
		margin-bottom: 1px !important
	}
	.mb2_sp {
		margin-bottom: 2px !important
	}
	.mb3_sp {
		margin-bottom: 3px !important
	}
	.mb4_sp {
		margin-bottom: 4px !important
	}
	.mb5_sp {
		margin-bottom: 5px !important
	}
	.mb6_sp {
		margin-bottom: 6px !important
	}
	.mb7_sp {
		margin-bottom: 7px !important
	}
	.mb8_sp {
		margin-bottom: 8px !important
	}
	.mb9_sp {
		margin-bottom: 9px !important
	}
	.mb10_sp {
		margin-bottom: 10px !important
	}
	.mb15_sp {
		margin-bottom: 15px !important
	}
	.mb20_sp {
		margin-bottom: 20px !important
	}
	.mb25_sp {
		margin-bottom: 25px !important
	}
	.mb30_sp {
		margin-bottom: 30px !important
	}
	.mb35_sp {
		margin-bottom: 35px !important
	}
	.mb40_sp {
		margin-bottom: 40px !important
	}
	.mb45_sp {
		margin-bottom: 45px !important
	}
	.mb50_sp {
		margin-bottom: 50px !important
	}
	.mb55_sp {
		margin-bottom: 55px !important
	}
	.mb60_sp {
		margin-bottom: 60px !important
	}
	.mb65_sp {
		margin-bottom: 65px !important
	}
	.mb70_sp {
		margin-bottom: 70px !important
	}
	.mb75_sp {
		margin-bottom: 75px !important
	}
	.mb80_sp {
		margin-bottom: 80px !important
	}
	.mb85_sp {
		margin-bottom: 85px !important
	}
	.mb90_sp {
		margin-bottom: 90px !important
	}
	.mb95_sp {
		margin-bottom: 95px !important
	}
	.mb100_sp {
		margin-bottom: 100px !important
	}
	.mb105_sp {
		margin-bottom: 105px !important
	}
	.mb110_sp {
		margin-bottom: 110px !important
	}
	.mb115_sp {
		margin-bottom: 115px !important
	}
	.mb120_sp {
		margin-bottom: 120px !important
	}
	.mb125_sp {
		margin-bottom: 125px !important
	}
	.mb130_sp {
		margin-bottom: 130px !important
	}
	.mb135_sp {
		margin-bottom: 135px !important
	}
	.mb140_sp {
		margin-bottom: 140px !important
	}
	.mb145_sp {
		margin-bottom: 145px !important
	}
	.mb150_sp {
		margin-bottom: 150px !important
	}
	.mb155_sp {
		margin-bottom: 155px !important
	}
	.mb160_sp {
		margin-bottom: 160px !important
	}
	.mb165_sp {
		margin-bottom: 165px !important
	}
	.mb170_sp {
		margin-bottom: 170px !important
	}
	.mb175_sp {
		margin-bottom: 175px !important
	}
	.mb180_sp {
		margin-bottom: 180px !important
	}
	.mb185_sp {
		margin-bottom: 185px !important
	}
	.mb190_sp {
		margin-bottom: 190px !important
	}
	.mb195_sp {
		margin-bottom: 195px !important
	}
	.mb200_sp {
		margin-bottom: 200px !important
	}
	.mt30_sp {
		margin-top: 30px !important
	}
	.mt60_sp {
		margin-top: 60px !important
	}
	.ml0_sp { margin-left: 0px !important }
	.pd0_sp { padding: 0px !important }
	.pt0_sp { padding-top: 0px !important }
	.pr0_sp { padding-right: 0px !important }
	.pl0_sp { padding-left: 0px !important }	
	.pb0_sp { padding-bottom: 0px !important }
}


.fs10 { font-size: 10px; }
.fs11 { font-size: 11px; }
.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 14px; }
.fs15 { font-size: 15px; }


h1 {
	display: none
}
/*==================================================================
	Header setting
===================================================================*/
@media screen and (min-width: 1201px){
	#menu {
		display: none;
	}
	#header {
		background-color: #FFF;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		width: 100%;
	}
	#logo img {
		width: 280px;
	}
	.hSection {
		display: flex;
		align-content: center;
		justify-content: space-between;
		padding: 10px 15px 5px;
		width: 100%;
	}
	.hBlock {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}
	.hContact {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}
	.hContact > a {
		display: block;
	}
	.hContact > a > img {
		height: 25px;
		margin: 0;
	}
	.hContact > span {
		display: block;
		font-size: 1rem;
		letter-spacing: 0;
		line-height: 1.2;
		margin: 0 0 0 8px;
	}
	.hLink {
		display: flex;
		align-items: center;
	}
	.hLink .link01 {
		display: flex;
	}
	.hLink .link01 a {
		color: #4D4D4D;
		font-size: 1.1rem;
		line-height: 1.1;
		min-width: 103px;
		height: 32px;
		margin-right: 5px;
		padding: 8px 4px;
		border: 1px solid #4D4D4D;
		text-align: center;
	}
	.hLink .link01 a:after {
		border-top: 1.5px solid #4D4D4D;
		border-right: 1.5px solid #4D4D4D;
		/*content: "";*/
		display: inline-block;
		height: 5px;
		width: 5px;
		margin-left: 5px;
		position: relative;
		top: -1px;
		vertical-align: middle;
		transform: rotate(45deg);
	}
	.hLink .link02 {
		display: flex;
	}
	.hLink .link02 a {
		border: 1px solid transparent;
		background-color: transparent;
		color: #FFF;
		/*display: block;*/
		font-size: 1.2rem;
		line-height: 1.2;
		min-width: 114px;
		height: 32px;
		margin-right: 5px;
		padding: 8px 4px;
		text-align: center;
		white-space: nowrap;
	}
	.hLink .link02 a.request {
		background-color: #006376;
		border-color: #006376;
	}
	.hLink .link02 a.reserve {
		background-color: #762C00;
		border-color: #762C00;
	}
	.hLink .link02 a.online {
		background-color: #648264;
		border-color: #648264;
	}
	.hLink .link02 span {
		display: none;
	}
	.hLink .link03 {
		display: flex;
	}
	.hLink .link03 a {
		background: linear-gradient(to right, #7ac0e9 0%,#3fc0c4 100%);
		border: solid 1px #7ac0e9;
		color: #ffffff;
		display: block;
		font-size: 1.2rem;
		font-weight: 500;
		line-height: 1.2;
		min-width: 138px;
		height: 32px;
		margin-right: 5px;
		padding: 8px 10px;
		text-align: center;
		white-space: nowrap;
		transition: all ease 0.3s;
	}
	.hLink .link03 a:hover {
		background-color: #768E74;
		color: #FFF;
	}
}

@media screen and (min-width: 1201px){
	.hBlock {
		/*flex-direction: row;
		align-items: center;*/
	}
	.hContact {
		/*margin-bottom: 0;
		margin-right: 10px;*/
	}
}

@media screen and (max-width: 1200px){
	#logo {
		width: 220px;
		margin: 0 auto;
	}
	#header {
		background-color: transparent;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 999;
		width: 100%;
	}
	.hSection {
		padding: 15px;
	}
	.hBlock {
		background-color: #F7F6F5;
		border-radius: 15px;
		display: none;
		padding: 30px;
		position: fixed;
		right: 10px;
		top: 10px;
		z-index: 99;
		width: 280px;
	}
	.hContact {
		display: none;
	}
	.hLink {
		display: flex;
		flex-direction: column;
	}
	.hLink .link01 {
		border-top: 1px solid #DEDDD6;
		border-bottom: 1px solid #DEDDD6;
		display: flex;
		justify-content: center;
		padding: 15px 0;
	}
	.hLink .link01 a {
		color: #4D4D4D;
		font-size: 1.2rem;
		line-height: 1.2;
		margin: 0 10px;
	}
	.hLink .link02 {
		background-color: #006376;
		border: 1px solid #006376;
		border-radius: 20px;
		color: #FFF;
		cursor: pointer;
		display: block;
		font-size: 1.2rem;
		font-weight: 600;
		line-height: 1.2;
		margin-top: 15px;
		order: 3;
		padding: 12px 4px;
		text-align: center;
	}
	.hLink .link02 a {
		color: #FFF;
		pointer-events: none;
	}
	.hLink .link03 a {
		background: linear-gradient(to right, #7ac0e9 0%,#3fc0c4 100%);
		border: solid 1px #7ac0e9;
		border-radius: 20px;
		color: #ffffff;
		display: block;
		font-size: 1.2rem;
		line-height: 1.2;
		margin-top: 15px;
		padding: 12px 4px;
		text-align: center;
	}
	#menu {
		border-radius: 4px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		height: 60px;
		width: 60px;
		position: fixed;
		right: 10px;
		top: 0;
		z-index: 999;
	}
	#menu.isWhite {
		background-color: rgba(255, 255, 255, 0.8);
		top: 10px;
	}
	#menu.isAcctive {
		background-color: rgba(255, 255, 255, 0.0);
	}
	#menu > span {
		background-color: #4D4D4D;
		display: block;
		height: 1px;
		width: 20px;
		margin: 2px 0;
		position: relative;
	}
	#menu.isAcctive > span:nth-child(1) {
		top: 5px;
		transform: rotate(30deg);
	}
	#menu.isAcctive > span:nth-child(2) {
		opacity: 0;
	}
	#menu.isAcctive > span:nth-child(3) {
		bottom: 5px;
		transform: rotate(-30deg);
	}
	#gNav {
		display: none;
	}
}

@media screen and (max-width: 767px){
	#menu {
		height: 50px;
	}
	#logo {
		width: auto;
	}
	#logo img {
		width: 200px;
	}
}

/*==================================================================
	Navigations setting
===================================================================*/
#gNav > ul {
	display: none;
}

#gNav > ul > li.modelroom,
#gNavSp > ul > li.modelroom {
	/*pointer-events: none;
	opacity: 0.3;*/
}
@media screen and (min-width: 1201px){
	#gNavSp {
		display: none;
	}
	#gNav > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 15px;
	}
	#gNav > ul > li {
		display: block;
		text-align: center;
		width: calc(100% / 9);
		position: relative;
		line-height: 1.4;
	}
	#gNav > ul > li > a {
		color: #4D4D4D;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		padding: 10px 0;
		position: relative;
		height: 100%;
	}
	#gNav > ul > li > a:after {
		background-color: transparent;
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		max-width: 40px;
		margin: 0 auto;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		transition: all ease 0.3s;
	}
	#gNav > ul > li:hover > a:after,
	#gNav > ul > li.active > a:after {
		background-color: #4D4D4D;
	}
	/* #gNav > ul > li.about:hover > a:after,
	#gNav > ul > li.about.active > a:after {
		background-color: #ee7700;
	} */
}
@media screen and (min-width: 1681px){
	#gNav > ul > li {
		width: calc(100% / 9);
	}
}
@media screen and (max-width: 1200px){
	#gNavSp {
		display: block;
	}
	#gNavSp > ul {
		/*border: 1px dashed #3A5B8F;*/
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#gNavSp > ul > li {
		width: 100%;
		text-align: center;
		position: relative;
	}
	/*#gNavSp > ul > li {
		border-bottom: 1px dashed #3A5B8F;
		border-right: 1px dashed #3A5B8F;
	}
	#gNavSp > ul > li:nth-child(7),
	#gNavSp > ul > li:nth-child(8) {
		border-bottom: none;
	}
	#gNavSp > ul > li:nth-child(even) {
		border-right: none;
	}*/
	#gNavSp > ul > li > a {
		color: #4D4D4D;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-size: 1.4rem;
		line-height: 1.25;
		min-height: 40px;
		padding: 0 10px;
		position: relative;
	}
	#gNavSp > ul > li > a:before {
		background-color: transparent;
		border-radius: 3px;
		content: "";
		display: block;
		height: 6px;
		width: 6px;
		max-width: 40px;
		margin: 0 auto;
		position: absolute;
		left: 10px;
		top: calc(50% - 3px);
		transition: all ease 0.3s;
	}
	#gNavSp > ul > li:hover > a:before,
	#gNavSp > ul > li.active > a:before,
	#gNavSp > ul > li:focus > a:before {
		background-color: #26889B;
	}
	#gNavSp > ul > li.about:focus > a:before,
	#gNavSp > ul > li.about:hover > a:before,
	#gNavSp > ul > li.about.active > a:before {
		background-color: #ee7700;
	}
}

nav ul li.is-new:before,
nav ul li.location:before,
nav ul li.equipment:before,
nav ul li.value:before,
nav ul li.modelroom:before {
    content: "NEW";
    position: absolute;
    font-size: .7em;
    top: -2px;
    right: -4px;
    padding: 0.45em 0.65em 0.2em;
    color: #fff;
    background-color: #900;
    line-height: 1;
    font-weight: 100;
    transform: scale(.8);
}

div.contents_wrap {
	position: relative;
	overflow: hidden;
}
.inq_btn {
	position: relative;
	max-width: 270px;
	margin: 50px auto 50px;
	background: #e87700;
	border: solid 1px #e87700;
	box-shadow: 5px 0px 20px rgba(0, 0, 0, 0.2)
}
.inq_btn p {
	font-size: 22px;
	text-align: center;
	line-height: 40px;
	padding: 10px
}
.inq_btn p a {
	color: #FFFFFF;
	display: block;
	position: relative;
	transition: color .3s ease-in-out 0s;
	will-change: color
}
.inq_btn p:before {
	content: "";
	transition: width .3s ease-in-out 0s;
	will-change: width;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	right: auto;
	width: 0;
	background: #FFFFFF
}
body:not(.mobile) .inq_btn p:hover a {
	color: #e87700
}
body:not(.mobile) .inq_btn p:hover:before {
	width: 100%
}
.res_btn {
	position: relative;
	max-width: 270px;
	margin: 50px auto 50px;
	background: #ee7700;
	border: solid 1px #ee7700;
	box-shadow: 5px 0px 20px rgba(0, 0, 0, 0.2)
}
.res_btn p {
	font-size: 22px;
	text-align: center;
	line-height: 40px;
	padding: 10px
}
.res_btn p a {
	color: #FFFFFF;
	display: block;
	position: relative;
	transition: color .3s ease-in-out 0s;
	will-change: color
}
.res_btn p:before {
	content: "";
	transition: width .3s ease-in-out 0s;
	will-change: width;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	right: auto;
	width: 0;
	background: #FFFFFF
}
body:not(.mobile) .res_btn p:hover a {
	color: #ee7700
}
body:not(.mobile) .res_btn p:hover:before {
	width: 100%
}
.onl_btn {
	position: relative;
	max-width: 270px;
	margin: 50px auto 50px;
	background: #80b420;
	border: solid 1px #80b420;
	box-shadow: 5px 0px 20px rgba(0, 0, 0, 0.2)
}
.onl_btn p {
	font-size: 22px;
	text-align: center;
	line-height: 40px;
	padding: 10px
}
.onl_btn p a {
	color: #FFFFFF;
	display: block;
	position: relative;
	transition: color .3s ease-in-out 0s;
	will-change: color
}
.onl_btn p:before {
	content: "";
	transition: width .3s ease-in-out 0s;
	will-change: width;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	right: auto;
	width: 0;
	background: #FFFFFF
}
body:not(.mobile) .onl_btn p:hover a {
	color: #5EA22E
}
body:not(.mobile) .onl_btn p:hover:before {
	width: 100%
}
.btn_wrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 50px 0;
}
.btn_wrap li {
	max-width: 286px;
	width: calc((100% - 60px)  / 2);
	margin: 0 15px;
}
@media screen and (max-width: 900px) {
	.onl_btn p,
	.inq_btn p {
		font-size: 15px;
	}
}
div.header .head_tel {
	border-bottom: solid 1px #eeeeee;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 30px 10px
}
@media screen and (max-width: 1024px) {
	div.header .head_tel {
		justify-content :flex-end;
	}
}

/*==================================================================
	Floating setting
===================================================================*/
#floatingBox > a.only_pc {
	display: block;
}
@media screen and (max-width: 767px){
	#floatingBox > a.only_pc {
		display: none;
	}
}
@media screen and (min-width: 1201px){
	#floatingBtn, #floatingBox {
		display: none;
		}
}

@media screen and (max-width: 1200px){
	#floatingBtn {
		background-color: #006376;
		border: 1px solid #006376;
		border-radius: 23px;
		color: #FFF;
		cursor: pointer;
		display: block;
		font-size: 1.2rem;
		font-weight: 600;
		line-height: 1.4;
		padding: 14px 4px;
		position: fixed;
		right: 10px;
		bottom: 10px;
		z-index: 99;
		width: 220px;
		text-align: center;
		transition: all ease 0.3s;
	}
	#floatingBtn:hover {
		background-color: #FFF;
		color: #006376;
	}
	#floatingBox {
		background-color: #006376;
		border: 1px solid #006376;
		border-radius: 15px;
		color: #FFF;
		display: none;
		padding: 35px 30px;
		position: fixed;
		right: 10px;
		bottom: 10px;
		z-index: 99;
		width: 280px;
		transition: all ease 0.3s;
	}
	#floatingBox > .close {
		cursor: pointer;
		height: 8px;
		width: 20px;
		position: absolute;
		right: 15px;
		top: 15px;
	}
	#floatingBox > .close > span {
		background-color: #FFF;
		display: block;
		height: 1px;
		width: 20px;
		margin: 2px 0;
		position: relative;
	}
	#floatingBox > .close > span:nth-child(1) {
		top: 3px;
		transform: rotate(30deg);
	}
	#floatingBox > .close > span:nth-child(2) {
		transform: rotate(-30deg);
	}
	#floatingBox > a {
		background-color: #FFF;
		border: 1px solid #FFF;
		border-radius: 23px;
		color: #006376;
		font-size: 1.4rem;
		font-weight: 600;
		line-height: 1.4;
		padding: 12px 4px;
		text-align: center;
	}
	#floatingBox > a + a {
		margin-top: 15px;
	}
	#floatingBox > a.request {
		background: #FFF url(../imgs/icon_request.svg) no-repeat 25px 50% / 13.5px 18px;
	}
	#floatingBox > a.reserve {
		background: #FFF url(../imgs/icon_reserve.svg) no-repeat 25px 50% / 15.75px 18px;
		display: block;
	}
	#floatingBox > a.phone {
		background: #FFF url(../imgs/icon_phone.svg) no-repeat 25px 50% / 16px 16px;
		display: block;
	}
}


/*==================================================================
	Footer setting
===================================================================*/
.fSection {
	background-color: #EDECE8;
	padding: 60px 15px;
}
.fContact {
	margin: 40px 0;
	text-align: center;
}
.fContact .ttl {
	font-size: 1.4rem;
	line-height: 1.6;
}
.fContact .tel {
	margin: 25px 0 35px;
}
.fContact .tel img {
	height: 22px;
}
.fContact .open {
	font-size: 1.0rem;
	line-height: 1.2;
}
.fLink .link01 {
	display: flex;
	justify-content: center;
}
.fLink .link01 a {
	color: #4D4D4D;
	font-size: 1.1rem;
	line-height: 1.1;
	margin-right: 20px;
}
.fLink .link01 a:after {
	border-top: 1.5px solid #4D4D4D;
	border-right: 1.5px solid #4D4D4D;
	content: "";
	display: inline-block;
	height: 5px;
	width: 5px;
	margin-left: 5px;
	position: relative;
	top: -1px;
	vertical-align: middle;
	transform: rotate(45deg);
}
.fLink {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.fLink .link02 {
	display: flex;
}
.fLink .link02 a {
	border: 1px solid transparent;
	color: #FFF;
	display: block;
	font-size: 1.2rem;
	line-height: 1.2;
	min-width: 114px;
	height: 32px;
	margin-right: 5px;
	padding: 8px 4px;
	text-align: center;
	white-space: nowrap;
}
.fLink .link02 a.request {
	background-color: #006376;
	border-color: #006376;
}
.fLink .link02 a.reserve {
	background-color: #762C00;
	border-color: #762C00;
}
.fLink .link02 a.online {
	background-color: #648264;
	border-color: #648264;
}
.fLink .link03 {
	display: flex;
}
.fLink .link03 a {
	background: linear-gradient(to right, #7ac0e9 0%,#3fc0c4 100%);
	border: solid 1px #7ac0e9;
	color: #ffffff;
	display: block;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.2;
	min-width: 138px;
	height: 32px;
	margin-right: 5px;
	padding: 8px 10px;
	text-align: center;
	white-space: nowrap;
	transition: all ease 0.3s;
}
.fLink .link03 a:hover {
	background-color: #768E74;
	color: #FFF;
}
.bnrBrand {
	background-color: #DEDDD6;
	padding: 40px 15px;
	text-align: center;
}
.bnrBrand img {
	margin: 0 auto;
	max-width: 300px;
	width: 90%;
}
.bnrNomura {
	background-color: #FFF;
	padding: 40px 15px;
	text-align: center;
}
.bnrNomura img {
	margin: 0 auto;
	max-width: 1024px;
	width: 90%;
}
.logoList {
	border-top: 1px solid #DEDDD6;
	border-bottom: 1px solid #DEDDD6;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 40px 15px;
}
.logoList img {
	height: 50px;
}
#copyright {
	padding: 12px 5% 18px;
	text-align: center;
}
#copyright img {
	height: 15px;
}
@media screen and (max-width: 767px){
	.fSection {
		padding: 30px 15px;
	}
	.fLink .link02 a, .fLink .link03 a {
		margin: 2.5px;
		width: calc(50% - 5px);
		letter-spacing: 0;
		font-size: 1.1rem;
		padding-left: 5px;
		padding-right: 5px;
		letter-spacing: -0.05em;
	}
	.fContact {
		margin: 20px 0;
	}
	.fContact .ttl {
		font-size: 1.2rem;
	}
	.fContact .tel {
		margin: 15px 0 25px;
	}
	.fContact .tel img {
		height: 16px;
	}
	.bnrBrand {
		padding: 30px 15px;
	}
	.bnrNomura {
		padding: 20px 15px;
	}
	.logoList > li {
		text-align: center;
		width: 100%;
	}
	#copyright {
		padding-bottom: 70px;
	}
}

.bnrBrand .bukkenLinks {
	display: flex;
	flex-wrap: wrap;
	max-width: 1160px;
	margin: 0 auto 10px;
}
.bnrBrand .bukkenLinks:has(> :nth-child(-n+4):last-child){
	justify-content:center;
}
.bnrBrand .bukkenLinks > a {
	display: inline-block;
	margin: 0 10px 20px;
	width: 270px;
	text-align: center;
	transition: opacity ease 0.3s;
}
.bnrBrand .bukkenLinks > a:hover {
	color: #333;
	opacity: .7;
}
.bnrBrand .bukkenLinks > a img {
	width: 100%;
	height: auto;
	max-width: 270px;
}
.bnrBrand .bukkenLinks > a figcaption {
	font-size: 1.4rem;
	text-align: center;
	position: static;
	padding: 10px 10px 0;
}
@media screen and (max-width: 767px){
	.bnrBrand .bukkenLinks:has(> :nth-child(-n+4):last-child){
		justify-content:flex-start;
	}
	.bnrBrand .bukkenLinks > a {
		width: calc( 50% - 20px);
	}
	.bnrBrand .bukkenLinks:has(> :nth-child(-n+2):last-child) a {
		width: 100%;
		margin: 0 auto 20px;
	}
	.bnrBrand .bukkenLinks > a figcaption {
		font-size: 1.2rem;
	}
}


.owns {
	/*display: flex;
	justify-content: center;
	align-items: flex-start;*/
	padding: 30px 20px 30px;
	margin: 0 auto;
	max-width: 1150px;
}
@media screen and (max-width: 900px) {
	.owns {
		display: block;
		max-width: 240px;
		box-sizing: content-box;
		margin: 0 auto
	}
}
.owns li {
	padding: 10px 20px;
	text-align: center;
}
address {
	padding: 20px;
	text-align: center;
	font-style: normal;
	font-size: 10px
}
.img_cap {
	position: relative
}
.img_cap span {
	background: rgba(0, 0, 0, 0.6);
	font-size: 10px;
	display: block;
	padding: 3px 5px;
	line-height: 1.5;
	color: #FFFFFF;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: right
}
.img_cap.white span {
	background: rgba(255, 255, 255, 0.6);
	color: #333333
}
.img_cap.nobg span {
	background: none;
	color: #333333
}
.img_cap.nobg.black span {
	color: #fff
}
.img_cap.left span {
	left: 0;
	right: auto
}
.ft_banner {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 20px;
	overflow: hidden;
	box-sizing: content-box;
	display: flex;
	justify-content:  center;
}
@media screen and (max-width: 767px) {
	.ft_banner {
		display: none
	}
}
.ft_banner li {
	/* float: left; */
	margin: 0 0 10px;
	padding: 0 5px;
	max-width: 230px;
	width: 25%;
	text-align: center;
	box-sizing: border-box;
}
.seccap {
	background: #ffffff;
}
.capwrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
	font-size: 11px;
	font-size: 10px;
	color: #999999;
	width: 95%;
	border-top: 1px solid rgba(153,153,153,0.30);
}
@media screen and (max-width: 767px) {
	.capwrap {
		margin: 50px auto 0
	}
}
.capwrap p {
	text-indent: -1em;
	padding-left: 1em
}
figure {
	display: inline-block;
	position: relative;
	max-width: 100%;
	vertical-align: bottom;
}
.pos_re {
	position: relative
}
body:not(.mobile) .fadeup {
	transition: all 0.4s ease-in-out 0s;
	opacity: 0;
	transform: translateY(30px);
	will-change: opacity, transform
}
body:not(.mobile) .fadeup.p-show {
	opacity: 1;
	transform: translateY(0px)
}
body:not(.mobile) .cont_in.effect {
	transition: opacity 1s ease-in-out 0s;
	will-change: opacity;
	opacity: 0 !important
}
body:not(.mobile) .cont_in.effect.p-show {
	opacity: 1 !important
}

/*.holiday {
	width: 100%;
	font-size: 11px;
	color: #c30d23;
	padding-top: 0;
	text-align: center;
}*/
.holiday {
	padding-bottom: 60px;
}
.holidayWrap {
  text-align: center;
  font-size: 14px;
  border: 1px solid #999999;
	background-color: rgba(255,255,255,0.4);
  max-width: 1000px;
  width: calc(100% - 30px);
  padding: 15px 10px;
  margin: 0 auto;
}
.holidayWrap dt {
	margin-bottom: 5px;
}
.holidayWrap small {
  font-size: .6em;
  display: inline-block;
}
.holidayWrap em {
	font-weight: 700;
	font-style: normal;
	color: #aa0000;
}
@media only screen and (max-width:767px) {
	.holiday {
		padding-bottom: 40px;
	}
  .holidayWrap {
		font-size: 13px;
		padding: 15px 10px;
  }
}

.only_pc ,.pc{}
.only_tab, .only_sp , .sp ,.only_sp_inline{display: none;}
@media screen and (max-width:991px) and (min-width:768px) {
	.only_tab {
		display: block !important;
	}
}

@media screen and (max-width: 900px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}
@media screen and (max-width: 767px) {
	.only_pc {display: none;}
	.only_sp {display: block;}
	.only_sp_inline {display: inline-block;}
}

/* fade anime
--------------------------------*/
.effectFU,
.effectFL,
.effectFR,
.effectFD,
.effectIn {
	opacity: 0;
	transition-duration: 1.5s;
}

.effectFU {
	transform: translateY(50px);
}
.effectFL {
	transform: translateX(50px);
}
.effectFR {
	transform: translateX(-50px);
}
.effectFD {
	transform: translateY(-50px);
}

.effectTX span {
	opacity : 0;
	-webkit-transform: scale(1.5, 1.5);
  -ms-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
	transition : 0.5s;
	display: inline-block;
	padding-right : 5px;
}

.effectTX.is-visible span {
	-webkit-transform: scale(1.0, 1.0);
  -ms-transform: scale(1.0, 1.0);
  transform: scale(1.0, 1.0);
	opacity : 1;
}


@media screen and (max-width: 767px) {
	.effectTX span {
		padding-right : 0px;
	}
}

.effectFU.is-visible,
.effectFL.is-visible,
.effectFR.is-visible,
.effectFD.is-visible,
.effectIn.is-visible {
	opacity: 1;
	transform: translate(0, 0);
}

#seasonSliderAllWrap .seasonSliderHddTitle img {
	display : inline;
}

.contents-nav {
  display : flex;
  flex-wrap : wrap;
  margin: 100px auto 0;
}

.contents-nav__item {
  width : calc(100% / 4);
  position : relative;
  display : block;
}

@media screen and (max-width: 767px) {
  .contents-nav__item {
    width : calc(100% / 2);
  }
}

.contents-nav__title {
  position : absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

.contents-nav__item:nth-of-type(1) .contents-nav__title {
  width : calc(271 / 720 * 100%);
}

.contents-nav__item:nth-of-type(2) .contents-nav__title {
  width : calc(203 / 720 * 100%);
}

.contents-nav__item:nth-of-type(3) .contents-nav__title {
  width : calc(311 / 720 * 100%);
}

.contents-nav__item:nth-of-type(4) .contents-nav__title {
  width : calc(130 / 720 * 100%);
}

@media screen and (max-width: 767px) {
  .contents-nav__item:nth-of-type(1) .contents-nav__title {
    width : calc(184 / 375 * 100%);
  }

  .contents-nav__item:nth-of-type(2) .contents-nav__title {
    width : calc(137 / 375 * 100%);
  }

  .contents-nav__item:nth-of-type(3) .contents-nav__title {
    width : calc(211 / 375 * 100%);
  }

  .contents-nav__item:nth-of-type(4) .contents-nav__title {
    width : calc(88 / 375 * 100%);
  }
}


.footer__jv-logo {
	/*width: calc(100% * 1700 / 2880);*/
	max-width: 500px;
	width: 96%;
}
.owns {
	padding: 85px 0 35px !important;
}
.owns li {
	padding: 0 8px !important;
}
@media screen and (max-width: 767px) {
	.owns {
		padding: 45px 0 15px !important;
	}
	.owns li {
		padding: 0 !important;
	}
	.footer__jv-logo {
		width: 80%;
	}
}
@media screen and (max-width: 900px) {
	.owns {
		max-width: 340px !important;
	}
}

.ft_banner_sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.ft_banner_sp {
		display: block;
		max-width: 300px;
		margin: 0 auto 40px;
	}
}

/* base content parts
--------------------------------*/
.inner {
	margin: 0 auto;
	max-width: 1200px;
	width: 92%;
}
.inner1000 {
	margin: 0 auto;
	max-width: 1000px;
	width: 92%;
}
.inner900 {
	margin: 0 auto;
	max-width: 900px;
	width: 92%;
}
.cap {
	position : absolute;
	right : 10px;
	bottom : 10px;
	font-size : 12px;
	text-align : right;
	color : #fff;
}
.cap.under-cap {
	position : static;
	padding-right : 10px;
}

.cap.black-cap {
	color : #4D4D4D;
}
.caplist {
	font-size: 10px;
	padding-left: 1em;
	text-indent: -1em;
}

p {
	color : #4D4D4D;
}


/* Swipe icon */
.swipe_scroll{position: relative;}
.swipe_icon {display: none;}

@media only screen and (max-width: 767px) {
	.swipe_scroll {
		-webkit-overflow-scrolling: auto;
		overflow-x: auto;
		padding-bottom: 15px;
	}
	.swipe_scroll img {
		width: 768px;
		max-width: inherit;
	}
	.swipe_icon {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 70px;
		height: 70px;
		display: block;
		margin: -35px;
		animation:horizontal 1s ease-in-out infinite alternate;
		z-index: 10;
	}
	.swipe_icon img {
		max-width: 100%;
		width: 100%;
	}
	@keyframes horizontal {
		0% { transform:translate(-20%,-20%); }
		100% { transform:translate(30%,-20%); }
	}
}

.holiday-info {
  width : 500px;
  max-width : calc(100% - 30px);
  margin : 0 auto 20px;
  text-align : center;
  padding : 20px;
  border : solid 1px #ccc;
}

.holiday-info__title {
  font-size : 16px;
  font-weight : bold;
}

.holiday-info__txt {
  line-height : 1.6;
}

@media screen and (max-width: 767px) {
  .holiday-info {
    padding : 10px;
  }
}

body,
.wrap {
	/*max-width: 1200px;*/
	margin-left: auto;
	margin-right: auto;
	min-width: 1200px;
}
@media screen and (max-width: 1200px) {
	body,
	.wrap {
		min-width: 320px;
		/*padding-bottom: 40px;*/
	}
}

.mask {
	display: inline-block;
	overflow: hidden;
	position: relative;
}
figure > .mask { display: block; }
.mask:before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: #97eae8;
	z-index: 3;
	transition: 0.8s cubic-bezier(0.79, 0.14, 0.15, 0.86);
}
.mask > img {
	line-height: 0;
}
.mask > img,
.mask > span {
	display: inline-block;
	transform: translateX(-100%);
	transition: 0.8s cubic-bezier(0.79, 0.14, 0.15, 0.86);
}
.is-visible .mask:before {
	left: 100%;
}
.is-visible .mask > img,
.is-visible .mask > span {
	transform: translateX(0)
}
.fs10{font-size: 10px;}


/* ttl-area */
#ttl-area {
	position: relative;
	text-align: center;
	background: url("../images/common/bg_ttl.jpg") top center no-repeat;
	background-size: cover;
	padding: 80px 0 120px;
}
#ttl-area h2 {
	font-size: 73px;
	color: #B3D8A3;
	margin-bottom: 20px;
}
#ttl-area h3 {
	font-size: 43px;
	line-height: 1.5;
	color: #fff;
	margin-bottom: 20px;
}
#ttl-area p {
	font-size: 17px;
	line-height: 1.6;
	color: #fff;
	z-index: 10;
	position: relative;
}
@media screen and (max-width: 767px) {
	#ttl-area {
		padding: 40px 0 30px;
	}
	#ttl-area h2 {
		font-size: 8vw;
		margin-bottom: 15px;
	}
	#ttl-area h3 {
		font-size: 4vw;
		margin-bottom: 15px;
	}
	#ttl-area p {
		font-size: 2.8vw;
	}
}

/* buttons */
.btn-style01 {
	display: inline-block;
	position: relative;
}
.btn-style01 .btn-txt {
	display: inline-block;
	color: #ffffff;
	font-size: 18px;
	letter-spacing: 0.01em;
	border-radius: 30px;
	background: #CDB179;
	padding: 11px 10px 12px;
	width: 280px;
	transition: all 0.6s ease;
}
.btn-style01.oran .btn-txt {
	background: #E26300;
}
.btn-style01:hover {
	opacity: 1;
}
.btn-style01:hover .btn-txt {
	transform: translate(-7px,-7px);
}
.btn-style01 .btn-txt .en {
	color: #FFDC00;
	font-size: 78%;
	margin-left: 5px;
}
.btn-style01 .circle {
	border: 1px solid #FFDC00;
	border-radius: 30px;
	position: absolute;
	top: -7px;
	left: -7px;
	right: 7px;
	bottom: 7px;
}
.btn-style01 .circle:before {
	content: "";
	background: #FFDC00;
	border-radius: 50%;
	width: 12px;
	height: 12px;
	top: 0;
	left: 20%;
	position: absolute;
	transform: translateY(-50%);
	z-index: 1;
}
.btn-style01 .circle:after {
	content: "";
	background: #ffffff;
	height: 1px;
	width: 10%;
	left: 20%;
	top: -1px;
	position: absolute;
	z-index: 0;
}
.btn-style01 .btn-txt:before {
	-webkit-animation: shine 2.4s infinite;
	animation: shine 2.4s infinite;
	background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.3)));
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
	content: '';
	height: 100%;
	left: -75%;
	pointer-events: none;
	position: absolute;
	top: 0;
	-webkit-transform: skewX(-25deg);
	transform: skewX(-25deg);
	width: 50%;
	z-index: 2;
}
@-webkit-keyframes shine {
	100% {
		left: 125%;
	}
}
@keyframes shine {
	100% {
		left: 125%;
	}
}

@media only screen and (max-width: 767px) {
	.btn-style01 .btn-txt {
		font-size: 14px;
	}
}

#contents .mask:before {
	display: none;
}

#contents .mask > img, #contents .mask > span {
	transform: translateX(0);
}

/* modal */
a.modalOpen {
	display: block;
	pointer-events: none;
}
.modalWrap {
    position: relative;
}
.zoomIcon {
	display: none;
	width: 30px;
	height: 30px;
	position: absolute;
	top: -30px;
	right: 0;
	z-index: 1;
	padding: 5px;
	background: rgba(0,0,0,.35);
}
.zoomIcon img {
	display: block;
	width: 20px;
}
.modal_swipeWrap {
	position: relative;
	overflow-y: hidden;
	overflow-x: auto;
}
.modal_swipeWrap .swipeIcon {
	display: none;
	position: absolute;
	top: 45%;
	left: 30%;
	z-index: 3;
	width: 55px;
	animation: swipeAnimation 1s ease-in-out infinite alternate
}
.modal_swipeWrap .swipeIcon img {
	max-width: 100%;
	width: 100%;
}
@media screen and (max-width: 767px) {
	a.modalOpen {
		pointer-events: auto;
	}
	.zoomIcon {
		display: block;
	}
	.modal_swipeWrap .swipeIcon {
		display: block;
	}
	.modal_swipeWrap > figure > img {
		max-width: none;
		width: 800px;
	}
	.modaal-close {
		top: -40px!important;
	}
}
@keyframes swipeAnimation {
	0% {
		transform: translate(-30%, -50%)
	}
	100% {
		transform: translate(-70%, -50%)
	}
}