@charset "UTF-8";
/* CSS Document */
:root{
	--a-color: #556a71;
	--a-font: ff-basic-gothic-pro, sans-serif;
}
body {
	color:#333;
	font-family: dnp-shuei-gothic-gin-std, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 400;
	font-size:62.5%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
	text-rendering: optimizeLegibility;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	animation: fadeIn 2s ease 0s 1 normal;
	width: 100%;
}
@-webkit-keyframes fadeIn {
    0% { opacity: 0 }
    100% { opacity: 1 }
}
@keyframes fadeIn {
    0% { opacity: 0 }
    100% { opacity: 1 }
}

p{
	line-height:2;
}
p,li,dt,dd,th,td{
	font-size:0.875rem;
	letter-spacing:0.125em;
}
p::selection,li::selection,dt::selection,dd::selection{
	background: #a4b6bc;
}
p::-moz-selection,li::::-moz-selection,dt::::-moz-selection,dd::::-moz-selection{
	background: #a4b6bc;
}
ul{
	list-style-type: none;
}
p+p{
	margin-top:1.5em;
}
dl dt,dl dd{
	display:inline-block;
	vertical-align:top;
}
strong{
	font-weight: 600;
}
em{
	font-style: italic;
}
small{
	font-size:0.75em;
}
a{
	color:#000;
	text-decoration:underline;
}
a:active,a:visited,
a:focus{
	color:#000;
	outline: none;
}
a:hover{
	color: var(--a-color);
	-webkit-transition: 0.3s ease-in-out;  
    -moz-transition: 0.3s ease-in-out;  
    -o-transition: 0.3s ease-in-out;  
    transition: 0.3s ease-in-out;
}
a:hover img{
	opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;  
    -moz-transition: 0.3s ease-in-out;  
    -o-transition: 0.3s ease-in-out;  
    transition: 0.3s ease-in-out;
}
.btn a{
	display: block;
	background-color: #333;
	color: #fff;
	padding: 15px;
	text-decoration: none;
	text-align: center;
} 
.btn a:hover{
	background-color: #999;
	-webkit-transition: 0.3s ease-in-out;  
    -moz-transition: 0.3s ease-in-out;  
    -o-transition: 0.3s ease-in-out;  
    transition: 0.3s ease-in-out;
}
.btn2 a{
	box-sizing: border-box;
	background-color: #eee;
	color: #555;
}
.btn2 a:hover{
	color: #fff;
}
.btn.light a{
	box-sizing: border-box;
	display: block;
	background-color: #fff;
	border: #666 solid 1px;
	color: #000;
	padding: 15px;
	text-decoration: none;
	text-align: center;
} 
.btn.light a:hover{
	background-color: #ccc;
	border: #ccc solid 1px;
	color:#fff;
	-webkit-transition: 0.3s ease-in-out;  
    -moz-transition: 0.3s ease-in-out;  
    -o-transition: 0.3s ease-in-out;  
    transition: 0.3s ease-in-out;
}

.hamburger{
	background-color: var(--a-color);
	right: 0;
	left: auto;
	width: 60px;
	height: 60px;
	padding: 15px;
}
.hamburger__icon {
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
}
.hamburger__icon,
.hamburger__icon:before,
.hamburger__icon:after {
	background-color: #fff;
	width: 30px;
  	height: 1px;
}
.hamburger__icon:before {
  top: -10px;
}
.hamburger__icon:after {
  top: 10px;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #fff;
}
.hamburger.active .hamburger__icon:before {
  -moz-transform: translateY(10px) rotate(45deg);
  -ms-transform: translateY(10px) rotate(45deg);
  -webkit-transform: translateY(10px) rotate(45deg);
  transform: translateY(10px) rotate(45deg);
}
.hamburger.active .hamburger__icon:after {
  -moz-transform: translateY(-10px) rotate(-45deg);
  -ms-transform: translateY(-10px) rotate(-45deg);
  -webkit-transform: translateY(-10px) rotate(-45deg);
  transform: translateY(-10px) rotate(-45deg);
}
.hamburger.active .hamburger__icon {
  background-color: transparent;
}
.fat-nav{
	background: rgba(255, 255, 255, 0.95);
	-moz-transform:scale(1.1);
	-ms-transform:scale(1.1);
	-webkit-transform:scale(1.1);
	transform:scale(1.1);
}
.fat-nav li, .fat-nav li a{
	color: #000;
}
.fat-nav li a{
	corsor: pointer;
	pointer-events: auto;
}
.fat-nav li a:hover{
	color: var(--a-color);
}

h1{
	font-family: var(--a-font);
	font-weight: 300;
}
header{
	position:relative;
}
header h1{
	margin:0 auto;
	text-align:center;
}
header h1 a{
	display: inline-block;
	position: relative;
	z-index: 2;
}
header .logo{
	display:inline-block;
	width:160px;
	height:160px;
	margin:0;
	padding:0;
}
header nav{
	font-family: var(--a-font);
	font-weight: 600;
	text-align: center;
}
nav a{
	text-decoration:none;
}
header .gnav{
	margin-top:0px;
	display: flex;
	flex-wrap: wrap;
}
header .gnav li{
	box-sizing: border-box;
	text-align: left;
}
header .gnav > li{
	font-size: 1.2rem;
	padding: 5%;
}
header .gnav li li{
	font-size: 1rem;
	padding: 0;
}
header .gnav li a{
	display: inline-block;
	padding: 1em 0;
}
.gnav .nav-lang > a{
	color: #999;
	pointer-events: none;
}
header .navSide{
	position:fixed;
	top: 61px;
	right: 0;
	z-index: 2;
}
.navSide a{
	background-color: var(--a-color);
	color:#fff;
	display:block;
	font-size: 0;
	/*width:60px;
	height:60px;*/
}
.navSide li{
	margin-bottom:1px;
	line-height:0;
}
.icon_ig,.icon_fb{
	width:20px;
	height:20px;
	fill: #fff;
	padding:20px;
	line-height:0;
}
.bookingBtn a{
	background: #000;
	box-sizing: border-box;
	letter-spacing: 0.15em;
	width: 60px;
	padding: 20px 10px;
	font-size: 18px;
	line-height: 1.25;
	writing-mode: vertical-rl;
	/*text-orientation: upright;*/
}
.bookingBtn a:hover{
	background: #999;
}
.bookingBtn a span{
	font-size: 0.5em;
}

footer{
	background-color: var(--a-color);
	color:#fff;
	text-align:center;
	position:relative;
}
footer .logo{
	fill:#fff;
	line-height:0;
	width:120px;
	height:120px;
}
footer .copy{
	font-family: var(--a-font);
	font-weight: 300;
	letter-spacing: 0.075em;
	font-size:1em;
}
footer ul{
	position: absolute;
	list-style: none;
	left: 3%;
	bottom:3vw;
}
footer ul li{
	font-size:0.75rem;	
}
footer ul li a{
	color:#fff;
}
footer ul li a:hover,footer ul li a:visited{
	color:#fff;
}
.contents{
	overflow:hidden;
}
.headerWrap,
.footerWrap,
.content{
	box-sizing:border-box;
	width:1000px;
	margin:0 auto;
}
.content{
	padding:12% 0;
}
.headerWrap{
	position:absolute;
	top:30px;
	left:calc(50% - 500px);
	z-index:1;
}
.footerWrap{
	padding:3% 0;
}
.content h1{
	font-size:2.5em;
	letter-spacing:0.2em;
	text-align:center;
	text-indent: 0.2em;
}
.content h1::after{
	background-color: #666;
	content: "";
	display: block;
	margin: 4.5% auto;
	width: 50px;
	height: 1px;
	transform: rotate(-45deg);
	transform-origin:center;
}
.content h1 span{
	display: block;
	font-size: 0.5em;
	margin-top:0.5em;
}
.content h2{
	font-size:3em;
	font-weight: 300;
	letter-spacing:0.175em;
	line-height:2;
	text-align:center;
	margin-top:-0.3em;
	margin-right: -0.15em;
	margin-bottom:calc(6% - 0.5em);
}
/*.content h2 span{
	font-size:0.75em;
}*/
.content h2 span.supplement{
	display:block;
	font-size:0.75rem;
}
.content h2.ja{
	font-size: 2.64em;
}
.content h3{
	font-size:2em;
	font-weight: 600;
	letter-spacing:0.1em;
}
.content h3.ja{
	font-size: 1.75em;
}
.content h4{
	font-size:1.5em;
	font-weight: 600;
	letter-spacing:0.1em;
	margin-bottom: 15px;
}
.toppage #facilities h2,
.toppage #stay h2{
	font-size:2.25em;
	letter-spacing:0.15em;
	margin-bottom:9%;
}
.toppage #facilities h3,
.toppage #stay h3{
	font-family: ff-basic-gothic-pro, dnp-shuei-gothic-gin-std, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 600;
	margin-bottom:calc(20px - 0.5em);
}
.toppage #stay h3{
	font-size:2.25em;
	letter-spacing: 0.15em;
}
.toppage #stay .content{
	padding-bottom: 0;
}
.toppage #stay .cttslider{
	margin-bottom: 12%;
}
.toppage #activity h3{
	font-size:1.8em;
}
.lead{
	margin-top:-0.5em;
}
.lead p{
	font-size:1.5em;
	letter-spacing:0.15em;
	text-align:center;
}
.lead div{
	margin-top: 2em;
}
.leadImg{
	float:right;
	width:47%;
}
.leadTxt{
	float:left;
	width:47%;
}
.toppage #facilities .lead p{
	font-size:1.4em;
	letter-spacing:0.1em;
	text-align:left;
}
.facilityDetail{
	margin-top:12%;
}
.facilityDetail ul{
	font-size:0;
	margin:0 -5.66% -5.66% 0;
}
.facilityDetail li{
	display:inline-block;
	font-size:0.625rem;
	margin:0 5.66% 5.66% 0;
	width:44.34%;
	vertical-align:top;
}
.facilityDetail li div{
	margin-bottom:20px;
}
.facilityDetail li p{
	font-size: 1.3em;
}
h3.btnWrap{
	position: relative;
}
h3.btnWrap .btnOnline{
	display:inline-block;
	font-size:11px;
	position:absolute;
	right: 0;
}
h3.btnWrap .btnOnline a{
	background: #333;
	color: #fff;
	display:block;
	line-height: 18px;
	padding: 0 1em;
	text-decoration: none;
}
h3.btnWrap .btnOnline a:hover{
	background: #999;
}
#access dl,#access p{
	text-align:center;
}
#access p{
	font-size:1.5em;
}
#access dt,#access dd{
	font-size:1.5em;
}
#access dt::after{
	content:"：";
	display: inline-block;
	margin: 0 0.25em;
}
#access dl+dl{
	margin-top:1.5em;
}
#access .traffic{
	background-color: #f8f8f8;
	padding: 3%;
	margin: 3% 12% 0;
}
#access .traffic dl{
	text-align: left;
}
#access .traffic dt{
	font-weight: 600;
	display: block;
	line-height: 1.5;
}
#access .traffic dd{
	display: block;
	line-height: 1.5;
	font-size:1.4em;
	padding-left: 1.5em;
	margin-top: 0.75em;
}
#access .traffic dt::after{
	content: "";
	margin: 0;
}
#access dl+p,#access p+dl{
	margin-top:3%;
}
#access .movie{
	margin-top:6%;
}
.toppage #access h2{
	margin-bottom:3%;
}
.toppage #contact{
	margin-top: 6%;
}
.toppage #contact h2{
	font-family: var(--a-font);
	font-size: 2.5em;
	/*margin-top:6%;
	margin-bottom:3%;*/
}
#information{
	background-color:#f1f8fa;
}
#information dl{
	/*text-align: center;*/
	text-align: left;
}
#information dl+dl{
	margin-top: 1.5em;
}
#information dt,#information dd{
	font-size:0.8125rem;
	line-height: 1.5;
}
#information dt{
	margin-right: 2em;
	width:90px;
}
#concept .infoBox{
	padding:30px 60px;
}
.infoNews dd{
	width:calc(100% - 90px - 2rem);
}
.bnr{
	padding:0 40px; margin-bottom: 9%!important;
}
.toppage #information h1{
	margin-bottom:6%;
}
.mainslider{
  display: none;
}
.mainslider.slick-initialized{
  display: block;
}
.bnrtype{
	position: relative;
}
.bnrtype p{
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.5;
	position: absolute;
	bottom: 15%;
	text-align: center;
	text-shadow: rgba(0,0,0,0.2) 0 0 10px;
	padding: 0 5%;
	width: 90%;
}
.bnrtype p span{
	display: block;
	background: #000;
	color: #fff;
	font-family: var(--a-font);
	font-size: 0.75em;
	letter-spacing: 0.15em;
	line-height: 1.75;
	margin: 1em auto 0;
	width:10em;
}
.infoBox,
#concept .infobox{
	border: #666 solid 1px;
	padding: 25px;
	text-align: center;
	margin-bottom: 9%;
}
.infoBox p{
	font-size: 2em;
}

.pickupInfo{
	margin: 0 0 9% 0;
}
.pickupInfo .col2 li{
	position: relative;
}
.pickupInfo .col2 li p{
	box-sizing: border-box;
	line-height: 1.5;
	position: absolute;
	bottom:0;
	left: 0;
	background: rgba(255,255,255,0.7);
	padding: 13px 15px;
	width: 100%;
}
.toppage .contents > #concept::after,
.toppage .contents > #stay::after,
.toppage .contents > #facilities::after{
	content:"";
	display:block;
	width:100%;
	height:56.25vw;
	background-position: center;
	background-repeat: no-repeat;
	background-size:cover;
	background-attachment: fixed;
}
.toppage .contents > #concept::after{
	background-image:url(../img/top/bg_facilities.jpg);
}
.toppage .contents > #stay::after{
	background-image:url(../img/top/bg_stay.jpg);
}
.toppage .contents > #facilities::after{
	background-image:url(../img/top/bg_access02.jpg);
}
.stayPlan{
	position:relative;
}
.stayPlan .btnArea{
	position: absolute;
	right: 0;
	bottom: 0;
}
.stayPlan .btnArea .btn,
.facilityDetail li .btn{
	display: inline-block;
	width: 12em;
}
.facilityDetail li{
	position: relative;
}
/*.facilityDetail li .btn{
	position: absolute;
	bottom: 0;
	right: 0;
}
.facilityDetail li .txtWrap{
	width: calc(100% - 17em);
	margin-bottom: 0;
}*/
.toppage #stay #areamap{
	margin: 0 auto 12%;
	width: 1000px;
}
#areamap .col1{
	margin: 0 6% 0;
}
.fontBG{
	font-family: var(--a-font);
}
.cf{
	overflow:hidden;
}
.pcBr{
	display:block;
}
.content h2 .pcBr,
.content h2 .spBr{
	font-size:1em;
}
.movie{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
#ig .igAccount{
	font-size: 1.5em;
	text-align: center;
	margin-bottom: 6%;
}
#ig .igAccount a{
	text-decoration: none;
}
#instaBox{
	font-size: 0;
	line-height: 0;
	margin: 0 -2.91% -2.91% 0;
}
#instaBox li{
	display: inline-block;
	width: 30.423%;
	margin: 0 2.91% 2.91% 0;
	vertical-align: middle;
}
#instaBox li img{
	width: 100%;
	height: auto;
}
#recruit .content{
	padding-top:6%;
	padding-bottom: 6%;
	background-color: #f8f8f8;
	margin-bottom: 12%;
}
#recruit .recTxt{
	margin: 0 12.5%;
}
.attention,.listDot {
	list-style-position: outside;
	padding-left:1.4em;
}
.attention li,
.listDot li{
	font-size: 0.75rem;
	margin-top:0.75em;
	text-indent:-1.2em;
	line-height:1.5;
}
.attention li:before {
	content:"※ ";
}
.listDot li::before{
	content:"・ ";
}
.col1{
	text-align: center;
}
.col1 img{
	margin: 0 auto;
}
.col2{
	font-size: 0;
	margin: 0 -4% -4% 0;
}
.col2 li{
	display: inline-block;
	margin: 0 4% 4% 0;
	vertical-align: top;
	width:46%;
}
.col2 li h3{
	font-size: 1rem;
	margin-top: 10px;
}
.col2 li p{
	font-size: 0.75rem;
	margin-top: 10px;
}

/* STAY page */
.page{
	padding-top: 250px;
}
.contents .page h2{
	line-height:1.25;
}
.page > section+section{
	padding-top: 12%;
}
.page > section > section{
	padding-top: 9%;
}
.page .lead{
	font-size: 1.25rem;
	text-align: center;
	margin-bottom: 6%;
}
.stayDetail{
	display: flex;
	flex-wrap: wrap;
}
.stayDetail > div:first-child{
	margin-top: 0;
}
.stayDetail h2{
	font-family: var(--a-font);
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 20px 0;
	text-align: left;
	width: 100%;
}
.stayDetail h2 + p{
	margin-bottom: 20px;
}
.stayPlanTxt{
	width: 38.4%;
}
.stayPlanImg{
	margin-right: 4%;
	width: 57.6%;
}
.stayPlanImg p{
	font-size:.8em;
	margin-top: 4px;
}
.steySpec{
	margin: 0 0 20px 0;
}
.stayPlanTxt table{
	border: #ccc solid 1px;
	width: 100%;
}
.stayPlanTxt th,
.stayPlanTxt td{
	border-collapse: collapse;
	box-sizing: border-box;
	/*background-color: #f8f8f8;*/
	font-size: 0.75rem;
	line-height: 1.5;
	padding: 10px;
	text-align:left;
}
.stayPlanTxt th{
	border-right: #ccc solid 1px;
	width:25%;
}
.stayPlanTxt td{
	line-height: 1.5;
}
.stayPlanTxt td li:first-child{
	margin-top: 0;
}
.stayPlanTxt tr+tr{
	border-top: #ccc solid 1px;
}
.stayPlanTxt td p,
.stayPlanTxt td li{
	font-size: 0.75rem;
	line-height: 1.5;
}
.stayPlanTxt td ul+p,
.stayPlanTxt td p+ul{
	margin-top: 0.75em;
}
.stayPlanTxt .btn{
	margin-top:20px;
}
.page .stayInfo{
	background-color: #f1f8fa;
	padding: 45px;
	margin-top: 9%;
}
.page .stayInfo h2{
	font-size: 1.4rem;
}
.stayInfo .listDot li{
	font-size: 0.875rem;
	line-height: 1.75;
}
.stayInfo .listDot li+li{
	margin-top: 1.5em;
}
.stayInfo .listDot li strong{
	font-size:1rem;
}
.page .stayInfo h2 small,
.stayInfo .listDot li small{
	font-size:0.75rem;
	letter-spacing: 0.1em;
}
.listCircle{
	padding-left: 1.5em;
}
.listCircle li{
	line-height: 1.5;
	list-style: circle;
}
.listCircle li+li{
	margin-top: 1em;
}
#wsSummary>div{
	background: #f8f8f8;
	padding: 60px 90px;
}
#wsSummary h3{
	margin-bottom: 20px;
}
#wsSummary dt,#wsSummary dd{
	font-size: 1rem;
}
#wsSummary dt{
	font-weight: 600;
	width:6em;
	text-align: justify;
}
#wsSummary dl+dl{
	margin-top: 1rem;
}
#wsSummary section{
	margin-top: 45px;
}
#wsSummary table{
	display: block;
	width: 100%;
}
#wsSummary tr+tr{
	border-top: #666 solid 1px;
}
#wsSummary td{
	text-align: right;
}
#wsSummary th,
#wsSummary td{
	box-sizing: border-box;
	line-height: 1.75;
	padding: 15px;
	vertical-align: middle;
}
#wsSummary td,
#wsSummary tr:first-child th{
	border-left: #666 solid 1px;
	width: 28.33%;
}
#wsSummary tr:first-child td{
	border-left: none;
	width: 15%;
}
#wsSummary th span{
	display: inline-block;
	margin-right: 1em;
}
#wsSummary table+p{
	margin-top: 1.5em;
}
.mitorizu{
	width: 80%;
	margin: 30px 10% 0;
}
/*アコーディオンメニュー*/
.acMenu{
	text-align: left;
}
.acMenu dt{
	display:block;
	cursor:pointer;
	line-height: 1.75;
	width: 100%!important;
}
.acMenu dt::before{
	content: "\025b6";
	display: inline-block;
	font-size: 0.8em;
	margin-right:0.4em;
}
.acMenu dt.acOpen::before{
	content: "\025bc";
}
.acMenu dd{
	display:none;
	margin-top: 0.5em;
	width: 100%!important;
}
#information .acMenu{
	text-align: left;
}
#information .acMenu dd{
	line-height: 1.75;
}

/*slick*/
.cttslider{
	position:relative;
	width:100%;
	height:auto;
	margin: 0 auto;
}
.slick-dots li.slick-active button:before {
	opacity: 1;
	color: black;
	background:#000;
}
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 60%;
    display: block;
    width: 20px;
    z-index: 999;
    height: 20px;
    margin-top: -10px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:before, .slick-next:before {
	font-size: 20px;
	font-family: 'Advent Pro', sans-serif;
	font-weight: 200;
	line-height: 1;
	opacity: 1;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li button:before{
	content:"●";
}
.slick-dots li.slick-active button:before{
	background:none;
}
.cttslider .slick-prev:before {
	color:#000;
  content: '<';
	font-size:50px;
}
.cttslider .slick-next:before {
	color:#000;
  content: '>';
	font-size:50px;
}
.cttslider .slick-next {
  right:calc(10% - 10px);
	text-align: right;
}
.cttslider .slick-prev {
  left:calc(10% - 10px);
	text-align: left;
}
.cttslider .slick-prev,
.cttslider .slick-next{
	top:50%;
	margin-top:-25px;
}
.cttslider .slick-slide{
	margin:0 20px;
}
.cttslider .slick-slide h3{
	margin-top:20px;
}
.cttslider .slick-slide h3+p{
	margin-top:15px;
}
.inlineBox{
	display: none;
}
.cf{
	overflow: hidden;
}
.left{
	float: left;
}
.right{
	float: right;
}
.flImg{
	margin:0 0 20px 0;
	text-align: center;
}
.flImg img{
	margin: 0 auto;
}
.flTxt{
	margin: 0;
}
.flTxt h3{
	font-size:2em;
	letter-spacing: 0.06em;
	line-height: 1.5;
	margin-top: 0;
	margin-bottom: 20px;
}
.sizeL .flTxt{
	margin: 0;
	width:32%;
}
.sizeL .flImg{
	margin:0;
	width:64%;
}
.sizeM .flTxt{
	margin: 0;
	width:48%;
}
.sizeM .flImg{
	margin:0;
	width:48%;
}
.sizeS .flTxt{
	margin: 0;
	width:64%;
}
.sizeS .flImg{
	margin: 0;
	width:32%;
}
.sizeSS .flTxt{
	margin: 0;
	width:72%;
}
.sizeSS .flImg{
	margin: 0;
	width:24%;
}
.summary{ 
	border-top:#ccc solid 1px;
	border-bottom:#ccc solid 1px;
	padding: 2em 0;
	margin: 2em 0;
}
.activity .mainImg{
	margin-bottom: 9%;
}
.mainImg + p{
	font-size: 1rem;
	margin-top: 40px;
}
.activity h3{
	margin: 6% 0 3%;
}
.activity h3 span{
	display: inline-block;
	background: #333;
	color: #fff;
	font-size: 0.75rem;
	line-height: 1;
	padding: 10px;
	margin-right: 10px;
	vertical-align: middle;
}
.activityEm{
	display: block;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #c33;
}
.activity .summary{
	border:#eee solid 5px; 
	padding: 30px;
}
.activity .summary.bg{
	background: #f4f4f4;
	border:none;
}
.activity .setsumei{
	margin: 40px 0;
}
.activity .setsumei p{
	font-size:1rem;
}
.timeline{
	line-height: 1.5;
	margin-bottom: 1rem;
	padding-left: 40px;
	position: relative;
}
.timeline::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 15px;
	background: linear-gradient(to bottom, #fffcf0, #fdd21d);
}
.timeline dt{
	width:7.5%;
	margin: 0.5em 0;
}
.timeline dd{
	width:27.5%;
	margin: 0.5em 0;
}
.timeline dd+dd{
	width:65%;
}
.sauna .stayInfo{
	background: #f9f2ea;
	border-radius: 10px;
}

/* FAQ */
/*
.faq section .acMenu{
	position: relative;
}
.faq section .acMenu:nth-child(2n){
	background: #f4f4f4;
}
.faq section .acMenu dt::before{
	color:#bbb;
	position: absolute;
	top: calc(20px + 0.375rem);
	left: 15px;
}
.faq section .acMenu dt{
	padding: 20px 20px 20px 50px;
	font-size: 1rem;
}
.faq section .acMenu dd{
	padding: 0 20px 20px 50px;
	font-size: 0.875rem;
	line-height: 2;
}*/
.faqBox+.faqBox{
	margin-top: 30px;
}
.faq section .faqBox:nth-child(2n){
	background: #f8f8f8;
}
.faq section .faqBox dt{
	display: block;
	padding: 20px 20px 15px 20px;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.75;
}
.faq section .faqBox dd{
	display: block;
	padding: 15px 20px 20px 20px;
	font-size: 0.875rem;
	line-height: 2;
	border-top: #eee solid 1px;
}
.faqQ{
	display: inline-block;
	font-size: 1.1rem;
	font-weight: bold;
	margin-right: 0.4em;
}
.faqA{
	display: inline-block;
	font-size: 1.1rem;
	font-weight: bold;
	margin-right: 0.4em;
}
#tokushohou table th,
#tokushohou table td{
	padding: 15px;
	text-align: left;
}
#tokushohou table th,
#tokushohou table td,
#tokushohou table li,#tokushohou table p,#tokushohou table dt,#tokushohou table dd{
	font-size: 0.8125rem;
	line-height: 1.75;
	-webkit-font-smoothing: auto;
}
#tokushohou table li{
	margin-left:1em;
	text-indent: -1em;
}
#tokushohou table th{
	background-color: #ddd;
}
#tokushohou table tr{
	border-bottom: #f4f4f4 solid 1px;
}
.agreement .contents h3{
	padding-top: 40px;
	padding-bottom: 15px;
}
.agreement .contents section h3:first-child,
.agreement .contents h2+h3{
	padding-top: 0;
}
.agreement .contents li,.agreement p{
	font-size:0.8125rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
	-webkit-font-smoothing: auto;
}
.agreement .contents ol,
.agreement .contents ul{
	list-style: none;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.agreement .contents li+li{
	margin-top: 0.75em;
}
.agreement .contents ol{
	padding-left: 20px;
}
.agreement .contents ul{
	padding-left: 14px;
}
.agreement .contents ol li{
	text-indent: -20px;
}
.agreement .contents ul li{
	text-indent: -8px;
}


.modaal-close:before, .modaal-close:after{
	background: #000;
	width: 1px;
	border-radius: 0;
	height: 44px;
	top: 4px;
}
.modaal-close,
.modaal-close:focus, .modaal-close:hover{
	border-radius: 0;
	background-color: transparent;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after{
	background-color: #999;
}
.modaal-container{
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}


@media(max-width:1280px){
header .logo{
	width:120px;
	height:120px;
}
.page{
	padding-top: 180px;
}
}
@media(max-width:1000px){
.headerWrap,
.footerWrap,
.content{
	width:100%;
	padding:0 6%;
}
.headerWrap{
	top:0;
	left:0;
}
.headerWrap,
.footerWrap{
	padding:3% 0;
}
header .gnav{
	text-align: center;
}
.content{
	padding:12% 6%;
}
.page .lead{
	font-size: 1rem;
}
.page{
	padding-top: 180px;
}
.toppage #stay #areamap{
	width: 100%;
}
}
@media(max-width:768px){
header .logo,
footer .logo{
	width:90px;
	height:90px;
}
header .gnav{
	display: table-cell;
}
header .gnav li{
	text-align: center;
	padding: 0 5%;
}
.gnav > li ul{
	display: block;
	position:static;
	text-align: center;
	margin-bottom: 1em;
}
.gnav > li ul li,
.gnav > li:hover ul li{
	height: auto;
	display: inline-block;
	padding: 0!important;
}
.gnav > li ul li+li::before{
	content:"/";
}
.gnav > li ul li a{
	padding: 0.5em 1em;
}
header .navSide{
	top:auto;
	bottom:0;
	letter-spacing:-.4em;
}
header .navSide li{
	display:inline-block;
	margin:0 0 0 1px;
	vertical-align: top;
}
.icon_ig,.icon_fb{
	width:16px;
	height:16px;
	padding:16px;
}
.bookingBtn a{
	width: auto;
	height: 48px;
	padding: 10px 30px;
	font-size: 15px;
	line-height: 0.9;
	writing-mode:horizontal-tb;
}
.bookingBtn a span{
	font-size: 9px;
}
.content h1{
	font-size:1.25rem;
}
.content h1::after{
	margin: 40px auto;
	width: 40px;
	height: 1px;
}
.content h2{
	font-size:2.5em;
}
.leadImg,.leadTxt{
	float:none;
	width:100%;
}
.leadImg{
	margin-bottom:3%;
}
.toppage #facilities h2{
	font-size:2em;
}
.toppage #activity h3{
	font-size:1.4em;
}
.toppage .contents > #concept::after,
.toppage .contents > #stay::after,
.toppage .contents > #facilities::after{
	background-size:100% auto;
	background-attachment:scroll;
}
.stayPlan .btnArea{
	position: static;
	margin: 15px 0 0 0;
}
.infoBox p span{
	display: block;
	font-size: 0.75em;
}
.infoBox p small{
	display:block;
}
#information dt,#information dd{
	font-size:0.75rem;
}
#trip_ai_container{
	left:10px; right: auto;
}
.page{
	padding-top:calc(90px + 9%);
}
.page > section+section{
	padding-top: 90px;
}
.page > section > section{
	padding-top: 60px;
}
.page .lead{
	margin-bottom:40px;
}
.bnrtype p{
	color: #fff;
	font-size: 22px;
	line-height: 1.4;
	bottom: 12.5%;
	padding: 0 5%;
	width: 90%;
}
.bnr{
	padding: 0;
	margin-bottom: 60px;
}
.stayDetail h2{
	font-size: 1.25rem;
	margin: 0 0 20px 0;
}
.stayPlanTxt,
.stayPlanImg{
	margin: 20px 0 0;
	width: 100%;
}
.stayPlanTxt th,
.stayPlanTxt td{
	padding: 10px;
}
.stayPlanTxt th{
	width:25%;
}
.stayPlanTxt .btn{
	margin-top:20px;
}
.inlineBox h3{
	margin-bottom: 20px;
}
#wsSummary>div{
	padding: 30px 15px;
}
#wsSummary h3{
	margin-bottom: 15px;
}
#wsSummary dt,#wsSummary dd{
	font-size: 0.875rem;
	display: block;
}
#wsSummary dt{
	margin-bottom: 0.5em;
}
#wsSummary dd{
	line-height: 1.67;
}
#wsSummary dl{
	padding: 0 15px;
}
#wsSummary dl+dl{
	margin-top: 1.5rem;
}
#wsSummary section{
	margin-top: 45px;
}
#wsSummary th,
#wsSummary td{
	line-height: 1.5;
	padding: 8px 4px;
	font-size: .6875rem;
}
#wsSummary td,
#wsSummary tr:first-child th{
	width: 27.5%;
}
#wsSummary tr:first-child td{
	width: 17.5%;
}
#wsSummary tr:last-child th{
	font-size: .625rem;
}
#wsSummary th span{
	display: block;
	margin-right: 0;
}
.mitorizu{
	width: 100%;
	margin: 15px 0 0 0;
}
.activity .mainImg{
	margin-bottom:40px;
}
.mainImg + p{
	font-size: 0.8125rem;
	margin-top: 30px;
}
.activity h3{
	margin: 30px 0 15px;
}
.activity .setsumei{
	margin: 2em 0;
}
.activity .setsumei p{
	font-size:0.875rem;
}
#activity .facilityDetail li p{
	font-size: 1.2em;
}
footer ul{
	position:static;
	margin:5vw 0;
}
.hamburger{
	background-color: transparent;
	right: 0;
	left: auto;
	padding: 5%;
	width:calc(25px + 10%);
	height:calc(25px + 10vw);
}
.hamburger__icon {
  position: relative;
  margin-top: 9px;
  margin-bottom: 9px;
}
.hamburger__icon,
.hamburger__icon:before,
.hamburger__icon:after {
	background-color: #000;
	width: 25px;
  	height: 1px;
}
.hamburger__icon:before {
  top: -9px;
}
.hamburger__icon:after {
  top: 9px;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #222;
}
.hamburger.active .hamburger__icon:before {
  -moz-transform: translateY(9px) rotate(45deg);
  -ms-transform: translateY(9px) rotate(45deg);
  -webkit-transform: translateY(9px) rotate(45deg);
  transform: translateY(9px) rotate(45deg);
}
.hamburger.active .hamburger__icon:after {
  -moz-transform: translateY(-9px) rotate(-45deg);
  -ms-transform: translateY(-9px) rotate(-45deg);
  -webkit-transform: translateY(-9px) rotate(-45deg);
  transform: translateY(-9px) rotate(-45deg);
}
.modaal-container{
	box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
.modaal-close{
	top:0;
	right: 0;
	
}
.modaal-close:before,
.modaal-close:after{
	height: 30px;
	top: 8px;
	left: 25px;
}
}
@media(max-width:600px){
body{
	font-size:50%;
}
p, li, dt, dd{
	font-size:0.75rem;
}
p{
	line-height:1.75;
}
.btn a{
	padding: 10px;
}
.gnav > li ul li a{
	padding: 0.35em 0.65em;
}
.icon_ig,.icon_fb{
	width:14px;
	height:14px;
	padding:14px;
}
.bookingBtn a{
	height:42px;
}
.lead p,
.toppage #facilities .lead p{
	font-size:0.875rem;
	line-height:1.75;
}
.lead div{
	margin-top: 10vw;
}
.lead div p{
	font-size: 0.75rem;
	/*text-align: left;*/
}
.facilityDetail ul{
	margin:0 0 -6% 0;
}
.facilityDetail li{
	width:100%;
	margin:0 0 6% 0;
}
.facilityDetail li p{
	font-size: 1.4em;
}
.facilityDetail li .btn{
	position: static;
}
.facilityDetail li .txtWrap{
	width: 100%;
}
.headerWrap{
	position:static;
}
.headerWrap{
	padding:4% 0;
}
.footerWrap{
	padding:5% 0;
	padding-bottom: calc(5% + 48px);
}
footer ul{
	margin:7.5vw 0;
}
footer ul li{
	font-size:0.6875rem;
}
.content{
	padding:15vw 5vw;
}
header .logo,
footer .logo{
	width:22.5vw;
	height:22.5vw;
}
.content h1::after{
	margin: 30px auto;
	width: 30px;
	height: 1px;
}
.content h1{
	font-size:2em;
}
.content h2{
	font-size:2.25em;
	line-height:1.75;
	margin-bottom:10vw;
}
.content h2.ja{
	font-size:2em;
}
.content h2 span.supplement{
	font-size:0.6878rem;
	margin-top:3px;
}
.content h3{
	font-size:1.8em;
}
.content h3.ja{
	font-size: 1.7em;
}
.activity h3{
	font-size: 1rem;
}
.toppage #facilities h2,.toppage #stay h2{
	font-size:2em;
}
.toppage #access h2{
	margin-bottom:5vw;
}
.leadImg{
	margin-bottom:5vw;
}
.facilityDetail{
	margin-top:15vw;
}
.facilityDetail ul{
	margin-bottom:-10vw;
}
.facilityDetail li{
	margin-bottom:10vw;
}
.facilityDetail li p,
#activity .facilityDetail li p{
	font-size: 1.1em;
}
.toppage .contents > #concept::after,
.toppage .contents > #stay::after,
.toppage .contents > #facilities::after{
	height: 66.67vw;
}
.toppage #stay #areamap{
	margin: 0 auto 10vw;
}
#areamap .col1{
	margin: 7.5vw 5vw 0;
}
#access h2 small{
	display:block;
}
#access .traffic{
	padding: 5%;
	margin: 5vw 0 0;
}
#access .traffic dd{
	padding-left: 1em;
}
#access dl+p,#access p+dl{
	margin-top:5vw;
}
#access .movie{
	margin-top:7.5vw;
}
#information dl{
	text-align: left;
}
#information dt{
	font-size: 1.25em;
}
#information dt,#information dd{
	width: 100%;
}
#information dd{
	margin-top: 0.5em;
}
.acMenu dt{
	font-size:0.75rem!important;
}
.infoBox{
	margin-bottom: 15vw;
}
.pickupInfo{
	margin: 0 0 15vw 0;
}
.pickupInfo .col2{
	margin: 0;
}
.pickupInfo .col2 li{
	margin: 0 0 5vw 0;
	width: 100%;
}
.pickupInfo .col2 li p{
	padding: 13px 15px;
}
#instaBox{
	font-size: 0;
	line-height: 0;
	margin: 0 -2.44% -2.44% 0;
}
#instaBox li{
	display: inline-block;
	width: 30.893%;
	margin: 0 2.44% 2.44% 0;
	vertical-align: top;
}
#recruit .content{
	padding-top:10vw;
	padding-bottom: 10vw;
	margin-bottom: 10vw;
}
#recruit .recTxt{
	margin: 0;
}
.col1 img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.pcBr{
	display:inline;
}
.spBr{
	display:block;
}
.page{
	margin-top: 0;
	padding-top: 5vw;
}
.page .lead{
	font-size: 0.875rem;
	margin-bottom: 30px;
}
.page > section+section{
	padding-top: 75px;
}
.page > section > section{
	padding-top: 50px;
}

.bnrtype p{
	color: #fff;
	font-size: 16px;
	line-height: 1.33;
	bottom: 7.5%;
	padding: 0 5%;
	width: 90%;
}
.bnrtype p span{
	font-size: 0.875em;
}
.bnrtype p span{
	margin: 0.5em auto 0;
}

.stayDetail h2{
	margin: 0 0 15px 0;
}
.stayPlanTxt th, .stayPlanTxt td{
	padding: 6px;
}
.col2 li h3{
	font-size: 0.75rem;
}
.slick-dots li{
	width:12px;
	height: 12px;
}
.cttslider .slick-prev,
.cttslider .slick-next{
	top:44.68vw;
	margin-top:-20px;
	width: 30px;
	height: auto;
}
.cttslider .slick-next {
    right:0!important;
}
.cttslider .slick-prev {
    left:0!important;
}
.cttslider .slick-prev:before,
.cttslider .slick-next:before {
	background-color: rgba(255,255,255,0.8);
	display: inline-block;
	font-size:40px;
	line-height: 1;
	padding: 0 6px;
}
.cttslider .slick-slide{ margin:0; }
.cttslider .slick-slide h3,
.cttslider .slick-slide h3+p,
.cttslider .slick-slide .btnArea{
	padding-left: 5%;
	padding-right: 5%;
}
.left,.right{
	float: none;
}
.flTxt+.flImg{
	margin-top: 20px!important;
}
.flImg img{
	width:100%;
	height:auto;
}
.activity .summary{
	border:#eee solid 3px; 
	padding: 15px;
}
.activity h3 span{
	display: block;
	padding: 5px 10px;
	margin-right: 0;
	margin-bottom: 10px;
}
.timeline{
	padding-left: 30px;
}
.timeline::before{
	width: 15px;
	background: linear-gradient(to bottom, #fffcf0, #f5e296);
}
.timeline dt{
	width: 15%;
	margin: 1em 0 0.25em;
}
.timeline dd{
	width:85%;
	margin: 1em 0 0.25em;
}
.timeline dd+dd{
	width:85%;
	margin: 0.25em 0 1em;
	margin-left: 15%;
}
.modaal-inner-wrapper{
	padding: 45px 15px;
}
.modaal-content-container{
	padding: 20px;
}
.modaal-image .modaal-inner-wrapper{
	padding-left:3.75vw;
	padding-right:3.75vw;
}
.sizeM .flTxt,
.sizeS .flTxt,
.sizeSS .flTxt{
	width:100%;
}
.sizeM .flImg{
	margin:0 0 20px 0;
	width:100%;
}
.sizeS .flImg{
	margin:0 10% 20px;
	width:80%;
}
.sizeSS .flImg{
	margin:0 20% 20px;
	width:60%;
}
#wsSummary dl{
	padding: 0;
}
/* FAQ */
/*
.faq section .acMenu dt::before{
	font-size: 0.625rem;
	top: calc(15px + 0.375rem);
	left: 5px;
}
.faq section .acMenu dt{
	padding: 15px 15px 15px 20px;
	font-size: 0.875rem;
}
.faq section .acMenu dd{
	padding: 0 15px 15px 20px;
	font-size: 0.75rem;
	line-height: 1.75;
}
*/
.faq section .faqBox dt{
	padding: 15px 15px 10px 15px;
	font-size: 0.875rem;
	line-height: 1.67;
}
.faq section .faqBox dd{
	padding: 10px 15px 15px 15px;
	font-size: 0.75rem;
	line-height: 1.67;
}
.faqQ{
	font-size: 1rem;
	margin-right: 0.4em;
}
.faqA{
	font-size: 1rem;
	margin-right: 0.4em;
}
#tokushohou table th,
#tokushohou table td{
	display: block;
}
#tokushohou table th{
	padding: 5px 10px;
}
#tokushohou table td{
	padding: 10px;
}
#tokushohou table tr{
	border-bottom:none; 
}
.page .stayInfo{
	padding: 25px;
	margin-top: 60px;
}
.page .stayInfo h2{
	font-size: 2.25em;
}
.stayInfo .listDot li{
	font-size: 0.75rem;
}
.stayInfo .listDot li strong{
	font-size:0.875rem;
}
.page .stayInfo h2 small,
.stayInfo .listDot li small{
	font-size:0.6875rem;
}
}
@media(max-width:413px){
.lead div p{
	font-size: 0.6875rem;
}
}
@media(max-width:320px){
.spBr{ display: inline; }
.lead div p{
	text-align: left;
}
}
@media(min-width: 1001px){
header .gnav{
	width: 960px;
	margin: 0 auto;
}
header .gnav > li{
	width: 240px;
}
.sauna .stayInfo ul{
	width: 65%;
	margin: 0 auto;
}
.rental-kitchen .stayPlanTxt{
	width: 75%;
	margin: 0 auto;
}
}

