@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/* =================== */
/*       pubulic       */
/* =================== */
html {
	font-size:clamp(10px, 1.04vw, 25px);
	overflow-x:hidden;
	scroll-padding-top:250px;
}
body {
	position:relative;
	-webkit-text-size-adjust:100%;
	font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style:normal;
	overflow:hidden;
	background:#e4f5f7 url(../img/body_bk.jpg) no-repeat top center;
	background-size:100% auto;
	color:#605a46;
}

@font-face
{
font-family: rage-italic;
src: url('rage-italic.ttf')
     format("truetype");
}
.en-font {
	font-family:"rage-italic", serif;
  font-weight: 300;
  font-style: normal;
}

@font-face
{
font-family: APT;
src: url('APT.ttf')
     format("truetype");
}
.act-font {
	font-family:"APT", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing:-.1em;
}



main { position:relative; }



img {
  width:100%;
  height:auto;
  max-width:100%;
}

a { transition:0.5s ease all; }


.sp-on { display:none; }

.flex-box {
	display:-webkit-box;
	display:flex;
	-webkit-box-pack:justify;
	justify-content:space-between;
	align-items:center;
}

.fadein {
	opacity:0;
	transform:translate(0, 15%);
	transition:.5s;
}
.fadein.is-show {
	transform:translate(0, 0);
	opacity:1;
}

.fadein-lt {
	opacity:0;
	transform:translate(-5%, -5%);
	transition:1s;
}
.fadein-lt.is-show {
	transform:translate(0, 0);
	opacity:1;
}
.fadein-rt {
	opacity:0;
	transform:translate(5%, -5%);
	transition:1s;
}
.fadein-rt.is-show {
	transform:translate(0, 0);
	opacity:1;
}
.fadein-lb {
	opacity:0;
	transform:translate(-5%, 5%);
	transition:1s;
}
.fadein-lb.is-show {
	transform:translate(0, 0);
	opacity:1;
}
.fadein-rb {
	opacity:0;
	transform:translate(5%, 5%);
	transition:1s;
}
.fadein-rb.is-show {
	transform:translate(0, 0);
	opacity:1;
}


.center-fade {
	transform:scale(1.2);
	opacity:0;
	transition:.8s;
}
.center-fade.is-show {
	opacity:1;
	transform:scale(1);
}
.transscaleX { opacity:0; }
.transscaleX.is-show {
    animation:transscaleX .5s ease 0s forwards;
}
@keyframes transscaleX {
  0% {
    transform:scaleX(0);
    opacity:0;
  }
  100% {
    transform:scaleX(1);
    opacity:1;
  }
}

.blur {
	filter:blur(10px);
	transition:1.5s;
}
.blur.is-show {
	filter:blur(0);
	opacity:1;
}


.in-w85 {
	width:85rem;
	margin:0 auto;
	position:relative;
}
.in-w80 {
	width:80rem;
	margin:0 auto;
	position:relative;
}
.in-w75 {
	width:75rem;
	margin:0 auto;
	position:relative;
}
.in-w60 {
	width:60rem;
	margin:0 auto;
	position:relative;
}
.max-w-box {
	max-width:2500px;
	margin:0 auto;
	position:relative;
}


h2,h3,h4 { font-weight:100; }









.kv-box {
	height:54rem;
}
.kv-box .kv-in {
	width:100%;
	height:100%;
}
.kv-box video {
	width:100%;
	height:100%;
	object-fit:cover;
}
.kv-box img {
	width:100%;
	height:100%;
	object-fit:cover;
}






/* =================== */
/*       main-nav      */
/* =================== */
#header {
	position:relative;
	z-index:1000;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:9.45rem;
	background:url(../img/head_bk.png) no-repeat;
	background-size:cover;
}
#header a:hover { opacity:.5; }
#header .head-in { height:100%; align-items:flex-start; }
#header .site-logo {
	width:9.05rem;
	margin-left:3rem;
	margin-top:.5rem;
}
#header .nav-wrap { align-items:flex-start; }
#header #main-nav .nav { margin-top:1.5rem; }
#header #main-nav .nav li { margin-right:2rem; }
#header #main-nav .nav li a {
	display:block;
	text-align:center;
}
#header #main-nav .nav li .en-font {
	font-size:max(22px, 2rem);
	color:#9dafaa;
	display:block;
}
#header #main-nav .nav li .jp {
	font-size:max(14px, .85rem);
	color:#605a46;
}
#header .nav-wrap .yoyaku {
	width:7rem;
	margin-right:1.5rem;
	margin-top:.5rem;
}







/* =================== */
/*         footer      */
/* =================== */
#footer {
	padding:5.5rem 0 3rem;
	position:relative;
}
#footer .in-w75 { min-width:850px; }
#footer .foot-logo { width:18.45rem; }
#footer .foot-nav { justify-content:center; }
#footer .foot-nav li {
	text-align:center;
	margin:0 .8rem 5rem;
}
#footer .foot-nav li .en-font {
	font-size:max(25px, 2rem);
	color:#9dafaa;
	display:block;
}
#footer .foot-nav li .jp {
	font-size:max(15px, 1rem);
	color:#605a46;
}
#footer .foot-nav li a:hover { opacity:.5; }
#footer .foot-main-box { align-items:flex-start; }
#footer address {
	line-height:1.5;
	font-size:max(15px, 1rem);
	color:#605a46;
}
#footer .r-box { margin-top:2.5rem; }
#footer .inst-link {
	width:max(30px, 1.5rem);
	margin-top:1.5rem;
}
#footer .inst-link a:hover { opacity:.5; }
#footer .copy {
	font-size:max(13px, .7rem);
	align-items:center;
	justify-content:flex-end;
	color:#605a46;
	margin-top:3rem;
	margin-right:-5rem;
}
#footer .copy .btn { margin-left:1rem; width:2.2rem; min-width:30px; }
#footer #pagetop {
  width:3.5rem;
  position:fixed;
  top:auto;
  bottom:0;
  right:.75rem;
  z-index:300;
  line-height:0;
}
#footer #pagetop a:hover { opacity:.5; }





/* =================== */
/*      body.index     */
/* =================== */
#search {
	position:relative;
	margin:0 auto 0;
}
.search-wrap {
	position:relative;
	z-index:1;
	min-width:830px;
	max-width:1500px;
	width:62.5%;
	height:8rem;
	min-height:90px;
	margin:0 auto 0;
	padding:.7rem 0;
}
.search-wrap .search-ttl {
	text-align:center;
	font-size:1.5rem;
	height:3em;
	position:absolute;
	left:3.5rem;
	top:0;
	bottom:0;
	margin:auto 0;
	z-index:2;
}
.search-wrap .search-ttl .jp {
	display:block;
	color:#605a46;
	margin-top:-.5em;
}
.search-wrap .search-ttl .en-font {
	font-size:3.5rem;
	display:block;
	color:#9dafaa;
}
.search-wrap .search-box {
	height:8rem;
	padding-left:14.5rem;
	letter-spacing:0;
	padding-top:1.2rem;
	position:relative;
	z-index:1;
}
.search-wrap .search-box .search-top {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.search-wrap .search-box .form-box {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  width: 33rem;
  min-width:500px;
  margin: 0;
  font-size:max(14px, .7rem);
}
.search-wrap .search-box .line {
  display: flex;
  align-items: center;
}
.search-wrap .search-box .line.undecided {
  align-items: center;
  margin-top: 0 !important;
}
.search-wrap .search-box .line + .line {
  margin-top: 0.5em;
}
.search-wrap .search-box .line input {
  border: 0;
  display: block;
  text-align: center;
  color:#605a46;
  font-family: "Noto Sans JP", sans-serif;
}
.search-wrap .search-box .line .checkbox { cursor:pointer; }
.search-wrap .search-box .line .checkbox input { display:none; }
.search-wrap .search-box .line .checkbox span {
	position:relative;
	width:1.25rem;
	height:1.25rem;
	display:block;
	background:#fff;
	border:1px solid #605a46;
}
.search-wrap .search-box .line .checkbox input[type="checkbox"]:checked + span::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 1px;
  display: block;
  width: .7rem;
  height: .3rem;
  border-left: .3rem solid #605a46;
  border-bottom: .3rem solid #605a46;
  transform: rotate(-45deg);
}
.search-wrap .search-box .ttl {
  margin-right: 0.7em;
  font-size:max(14px, .8rem);
  color:#605a46;
}
.search-wrap .search-box .check-in input {
  width: 6.25rem;
  height:1.25rem;
  min-width:80px;
  background:none;
  border-bottom:1px solid #605a46;
  font-size:max(14px, .7rem);
  color:#605a46;
  font-family: "Noto Sans JP", sans-serif;
}
.search-wrap .search-box .select-wrap {
  padding-left: 0.2em;
  width: 6.8rem;
  height: 1.25rem;
  min-width: 100px;
  min-height: 19px;
  position: relative;
  border-bottom:1px solid #605a46;
}
.search-wrap .search-box .select-wrap select {
  width:100%;
  height:100%;
  color:#605a46;
  font-size:max(14px, .7rem);
  font-family: "Noto Sans JP", sans-serif;
}
.search-wrap .search-box .select-wrap select option { color:#605a46; }
.search-wrap .search-box .select-wrap:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  border-color: #605a46 transparent transparent transparent;
  position: absolute;
  right: 5px;
  top: 50%;
  -webkit-transform: translateY(-33%);
          transform: translateY(-33%);
  display: block;
  pointer-events: none;
}
/*.search-wrap .search-box .guests {
  margin-top: 0.5em;
}*/
.search-wrap .search-box .price .ttl {
  margin-right: .7em;
}
.search-wrap .search-box .price-in {
  text-align: center;
  display: flex;
}
.search-wrap .search-box .price-in span {
  display: block;
  padding:.3em .2em;
  color:#605a46;
}
.search-wrap .search-box .search-btn {
  width:9rem;
  min-width:120px;
  margin: 0 auto 0;
  transition: 0.5s ease all;
  background:#605a46;
  text-align:center;
  padding:1.2rem 0;
  border-radius:.5rem;
  margin-right:3rem;
}
.search-wrap .search-box .search-btn input {
  width:4rem;
}
.search-wrap .search-box .search-btn:hover { opacity:.7; }

#plan {
	position:relative;
	padding:6rem 0;
}
#plan::before {
	content:"";
	width:73rem;
	height:36rem;
	position:absolute;
	left:0;
	top:0;
	background:#fff;
	border-radius:0 10rem 10rem 0;
	z-index:-1;
}
#plan > .flex-box { align-items:flex-start; }
#plan h3 {
	margin-left:6rem;
}
#plan h3 .en-font {
	font-size:7.5rem;
	color:#ccecf0;
	display:block;
	margin-bottom:-1rem;
}
#plan h3 .jp {
	font-size:1.5rem;
	color:#605a46;
	display:block;
	margin-left:1rem;
}
#plan .plan-list {
	align-items:inherit;
	width:calc(100vw - 26rem);
	margin-left:26rem;
	position:relative;
	z-index:1;
	margin-top:-4rem;
}
#plan .plan-list li {
	/*width:calc((78rem - 7.5rem) / 4) !important;*/
	position:relative;
	margin-right:2rem;
	height:100%;
}
#plan .plan-list li:last-child { margin-right:0; }
#plan .plan-list li a {
	display:block;
	position:relative;
	box-sizing:border-box;
	height:100%;
}
#plan .plan-list li a:hover .pic { opacity:.5; }
#plan .plan-list li a:hover .txt-box { opacity:.5; }
#plan .plan-list li .pic {
	width:100%;
	aspect-ratio:4.3/3;
	overflow:hidden;
	position:relative;
	z-index:2;
	transition:0.5s ease all;
}
#plan .plan-list li .pic img {
	width:100%;
	height:100%;
	object-fit:cover;
}
#plan .plan-list li .txt-box {
	position:relative;
	z-index:2;
	padding:1rem .5rem;
	transition:0.5s ease all;
}
#plan .plan-list li .ttl {
	font-size:max(15px, 1.1rem);
	line-height:1.5;
	margin-bottom:.5rem;
	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp:2;
  color:#9dafaa;
}
#plan .plan-list li .txt {
	font-size:max(14px, .9rem);
	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp:2;
  line-height:1.6;
  height:3.2em;
  color:#605a46;
}
/*#plan .slick-slider .slick-list { width:calc(100% + 4rem) !important; padding-left:9rem; }*/
#plan .slick-slider .slick-list { /*padding-left:16rem;*/ width:calc(100% + 7.5rem); }
#plan .plan-list .slick-prev,
#plan .plan-list .slick-next {
  position: absolute;
  display: block;
  width: calc(25/20*1em);
  height: calc(35/20*1em);
  line-height: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  -webkit-transform: unset;
  -ms-transform: unset;
  transform: unset;
  padding: 0;
  border: none;
  outline: none;
  z-index: 99;
  top:-3rem;
}
#plan .plan-list .slick-prev:before {
    content: "←";
    font-family:"APT", serif;
    display: block;
    font-size:2.5rem;
  	color:#9dafaa;
  	font-weight:bold;
}
#plan .plan-list .slick-next:before {
    content: "→";
    font-family:"APT", serif;
    display: block;
    font-size:2.5rem;
  	color:#9dafaa;
  	font-weight:bold;
}
#plan .plan-list .slick-prev { left:0; }
#plan .plan-list .slick-next { left:3rem; }
#plan .deco {
	width:28.1rem;
	position:absolute;
	top:-12rem;
	right:7rem;
}

#foot-bk-box {
	background:url(../img/foot_bk.png) no-repeat bottom center;
	background-size:100% auto;
	position:relative;
}
#foot-bk-box .foot-illust1 {
	width:17.05rem;
	position:absolute;
	top:-14rem;
	left:3.5rem;
	z-index:-1;
}
#foot-bk-box .foot-illust2 {
	width:46.5rem;
	position:absolute;
	top:-9rem;
	right:-4.5rem;
	z-index:-1;
}
#foot-bk-box .plan-illust1 {
	width:17.05rem;
	position:absolute;
	right:6.5rem;
	bottom:44rem;
}
#foot-bk-box .plan-illust2 {
	width:8.1rem;
	position:absolute;
	left:28rem;
	bottom:33rem;
}

body.index .inst-bnr { margin:9rem auto 0; }
body.index .inst-bnr a:hover { opacity:.5; }

#plan-bnr {
	width:26.5rem;
	margin:0 auto;
	padding-top:7.5rem;
}
#plan-bnr a:hover { opacity:.5; }

body.index #top-box {
	position:relative;
	padding-top:13rem;
}
body.index #top-box .copy {
	width:45.05rem;
	position:absolute;
	top:6rem;
	right:12rem;
	z-index:1;
}
body.index #top-box .txt-box {
	width:52.5rem;
	border-radius:0 10rem 0 0;
	background:rgba(255,255,255,.8);
	position:relative;
	display:flex;
	align-items:center;
	padding:6.5rem 0 13.5rem 3rem;
}
body.index #top-box .txt-box .illust1 {
	width:4.15rem;
	position:absolute;
	left:11.5rem;
	bottom:7rem;
}
body.index #top-box .txt-box .en-txt { width:8.6rem; }
body.index #top-box .txt-box .txt {
	font-size:max(15px, 1rem);
	line-height:2.5;
	width:23rem;
	min-width:250px;
	margin-left:4rem;
	position:relative;
	z-index:1;
}
body.index #top-box .pic1 {
	width:24rem;
	position:absolute;
	bottom:11.5rem;
	right:28rem;
}
body.index #top-box .pic2 {
	width:23rem;
	position:absolute;
	bottom:5rem;
	right:0;
}
body.index #top-box .illust2 {
	width:17.05rem;
	position:absolute;
	right:18rem;
	bottom:3rem;
}
body.index #top-box .illust3 {
	width:6.75rem;
	position:absolute;
	right:38rem;
	bottom:5rem;
}
body.index #top-box .illust4 {
	width:63.3rem;
	position:absolute;
	left:15.5rem;
	bottom:-4rem;
}

body.index #pickup { margin-bottom:9rem; }
body.index #pickup .main { overflow:hidden; }
body.index #pickup .main img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:0.5s ease all;
}
body.index #pickup .on .main img { transform:scale(1.02); }
body.index #pickup1,
body.index #pickup3 { justify-content:flex-start; }
body.index #pickup2 { justify-content:flex-end; }
body.index #pickup1 .main {
	width:60rem;
	aspect-ratio:12 / 7.5;
}
body.index #pickup2 .main {
	width:60rem;
	aspect-ratio:12 / 8.5;
	order:2;
}
body.index #pickup3 .main {
	width:54.5rem;
	aspect-ratio:12 / 7.5;
	margin-left:5.5rem;
}
body.index #pickup .txt-box {
	width:calc(100% - 5.5rem - 60rem);
	position:relative;
}
body.index #pickup .txt-box .more-btn {
	width:10rem;
	margin-top:2rem;
	position:relative;
}
body.index #pickup1 .txt-box .more-btn,
body.index #pickup3 .txt-box .more-btn { margin-left:calc(100% - 10rem); }
body.index #pickup .txt-box .more-btn a:hover:before,
body.index #pickup .txt-box .more-btn a:hover:after {
  content:"";
  position:absolute;
  z-index:-10;
  width:10rem;
  height:10rem;
  top:0;
  left:0;
  border-radius:100vmax;
  background:#ccecf0;
  transform:translate3d(0,0,0);
}
body.index #pickup .txt-box .more-btn a:hover:before { animation:anime 1s ease-out infinite; }
body.index #pickup .txt-box .more-btn a:hover:after { animation:anime 1s ease-out 1s infinite; }
@keyframes anime{
0%{transform:scale(.95); opacity:1}
90%{opacity:.1}to{transform:scale(1.2,1.4); opacity:0}
}
body.index #pickup1 .txt-box h2 {
	width:28rem;
	margin-left:-2.5rem;
}
body.index #pickup2 .txt-box h2 {
	width:23.55rem;
	margin-left:calc(100% - 23.55rem + 3rem);
}
body.index #pickup3 .txt-box h2 {
	width:32.65rem;
	margin-left:-2.5rem;
}
body.index #pickup .txt-box .illust1 {
	width:58.6rem;
	position:absolute;
	top:16.5rem;
	left:-18rem;
	z-index:-1;
}
body.index #pickup2 .txt-box .illust1 { left:inherit; right:-18rem; }
body.index #pickup1 .txt-box .illust2,
body.index #pickup3 .txt-box .illust2 {
	width:9.4rem;
	position:absolute;
	bottom:-1rem;
	right:7.5rem;
	z-index:-1;
}
body.index #pickup2 .txt-box .illust2 {
	width:3.25rem;
	position:absolute;
	bottom:2.5rem;
	left:12rem;
}
body.index #pickup2 { margin:3rem auto 7.5rem; position:relative; }
body.index #pickup2 .illust3 {
	width:28.1rem;
	position:absolute;
	top:0;
	left:-4rem;
	z-index:-1;
}
body.index #pickup3 { position:relative; }
body.index #pickup3 .illust3 {
	width:46.5rem;
	position:absolute;
	top:-19rem;
	right:-8rem;
	z-index:-1;
}











@media screen and (max-width: 1150px) {
	#header #main-nav .nav { margin-top:1rem; }
	body.index #top-box .txt-box .txt { line-height:2; }
	#footer .copy { margin-right:0; }
}

@media screen and (max-width: 960px) {
	.sp-on { display:initial; }
	.pc-on { display:none; }

	.in-w80 { width:86.6%; }
	.in-w85 { width:93.3%; }
	.in-w75 { width:86.6%; }
	.in-w60 { width:86.6%; }

	html { scroll-padding-top:80px; }

	.fadein { transform:translate(0, 0); opacity:1; transition:none; }
	.center-fade img { transform:translate(0, 0); opacity:1; transition:none; }

	body { background:#e4f5f7 url(../img/body_bk.jpg) no-repeat top 18rem center; background-size:960px auto; }


	.kv-box { height:auto; }
	.kv-box video { min-height:470px; }
	#header .nav-box { height:auto; }
	#header .site-logo { transition:none; margin-left:13px; }
	#header.open .site-logo { margin:40px auto 0; width:122px; position:relative; z-index:2; }
	#header #main-nav {
		height:auto;
		width:100%;
		min-width:inherit;
		min-height:inherit;
		z-index:10;
		display:none;
	}
	#header.open .nav-wrap { display:block; margin-top:0; background:url(../img/nav_bk.jpg) no-repeat right bottom; background-size:cover; width:100%; height:100vh; position:fixed; top:0; left:0; padding-top:120px; transition:none; }
	#header.open #main-nav { display:block; width:275px; margin:0 auto; }
	#header #hamburger {
		display:block;
		width:70px;
		height:40px;
		cursor:pointer;
		z-index:10000;
		position:fixed;
		right:15px;
		top:8px;
	}
	#header #hamburger .inner_line {
		display:block;
		margin:0 auto;
		width:1.5px;
		height:30px;
		transition:1s;
		background:#000;
		position:absolute;
		top:5px;
		border-radius:100vmax;
	}
	#header #hamburger .inner_line span { transition:all .4s; }
	#header #hamburger #line1 { right:20px; }
	#header #hamburger #line2 { right:10px; background:#9dafaa; height:25px; }
	#header #hamburger #line3 { background:none; width:auto; left:0; padding-top:9px; }
	#header #hamburger #line3::before { content:"Menu"; font-family:"rage-italic", serif; font-size:15px; }
	#header #hamburger.open #line1 { transform:translateX(8px) rotate(-60deg);}
	#header #hamburger.open #line2 { transform:translateX(-3px) rotate(60deg); height:30px; }
	#header #hamburger.open #line3::before { content:"Close"; }
	#header #main-nav .nav { display:block; margin-right:0; text-align:center; padding-left:0; position:relative; }
	#header #main-nav .nav li { margin:0; text-align:center; display:block; margin-bottom:20px; }
	#header #main-nav .nav li .en-font { font-size:30px; }
	#header #main-nav .nav li .jp { font-size:15px; }
	#header.open.fixed #hamburger { animation:none; }
	#header.open.fixed .head-in,
	#header.fixed .head-in { animation:none; }
	#header .nav-wrap { transition: none; }
	#header .nav-wrap .yoyaku { position:fixed; bottom:0; left:0; background:#a1b2ae; width:100%; }
	#header .nav-wrap .yoyaku a { display:block; }
	#header .nav-wrap .yoyaku a::before {
		content:"";
		width:calc(100% - 10px);
		height:calc(100% - 10px);
		border:1px solid #fff;
		margin:auto;
		position:absolute;
		top:0;
		left:0;
		bottom:0;
		right:0;
	}
	#header .nav-wrap .yoyaku img { width:375px; display:block; margin:0 auto; }

  #search {
  	width:100%;
  }
	.search-wrap { width:80%; max-width:600px; min-width:inherit; margin:0 auto 0; height:auto; padding:30px 50px; }
	.search-wrap .in-w60 { min-width:250px; }
	.search-wrap .search-ttl {
		position:relative;
		text-align:center;
		margin:0 auto;
		border-right:0;
		font-size:20px;
		height:auto;
		position:initial;
	}
	.search-wrap .form-wrap { display:block; }
	.search-wrap .search-box { height:auto; padding-left:0; margin:0 auto; padding-top:25px; }
	.search-wrap .search-box .form-box { min-width:inherit; margin:0 auto; font-size:15px; width:auto; max-width:450px; }
	.search-wrap .search-box .line { margin-bottom:10px; align-items:flex-start; }
	.search-wrap .search-box .check-in input { width:110px; height:auto; line-height:25px; padding:0; font-size:14px; border-radius:0; }
	.search-wrap .search-box .ttl { width:6em; margin-right:0; line-height:25px; font-size:15px; }
	.search-wrap .search-box .select-wrap { padding-left:0; width:110px; height:auto; line-height:25px; }
	.search-wrap .search-box .line input[type="checkbox"] { width:25px; height:25px; margin:0; }
	.search-wrap .search-box .search-btn.sp-on { width:100%; max-width:250px; height:50px; display:block; margin:30px auto 0; }
	.search-wrap .search-box .select-wrap select { font-size:14px; }
	.search-wrap .search-box .price .ttl { margin-right:0; }
	.search-wrap .search-box .line.type { margin-left:15px; }
	.search-wrap .search-box .line.undecided { margin-left:15px; }
	.search-wrap .search-box .search-btn input { width:65px; }
	.search-wrap .search-box .search-btn { margin-top:2rem; margin-right:auto; }

	#plan::before { width:96.6%; height:100%; }
	#plan h3 { margin:0; width:100%; text-align:center; writing-mode:inherit; }
	#plan .plan-list { width:86.6%; margin:20px auto 0; display:flex; justify-content:center; }
	#plan .plan-list li { height:auto; width:calc((100% - 6rem) / 3); }
	#plan .plan-list li:nth-child(3) { margin-right:0; }
	#plan .plan-list li:nth-child(n+4) { display:none; }
	#plan h3 .jp { margin-left:0; }

	body.index #top-box { padding-top:90px; margin-bottom:60px; }
	body.index #top-box .copy { position:relative; top:inherit; right:inherit; margin:0 auto; padding-left:15px; box-sizing:content-box; }
	body.index #top-box .txt-box { width:96.6%; margin-top:-50px; padding-top:80px; padding-bottom:80px; padding-left:10px; }
	body.index #top-box .txt-box .txt { width:calc(100% - 8.6rem - 8rem); min-width:inherit; }
	body.index #top-box .pic1 { position:relative; bottom:inherit; right:inherit; z-index:1; width:48%; margin-left:6.5%; box-shadow:0px 0px 20px 0px rgba(66, 55, 40, .3); }
	body.index #top-box .pic2 { position:initial; width:61.3%; margin-left:calc(100% - 61.3%); margin-top:-300px; }
	body.index #top-box .pic-box { max-width:600px; margin:-40px auto 0; }
	body.index #top-box .illust2 { width:136px; right:inherit; left:30%; z-index:2; }
	body.index #top-box .illust3 { width:54px; left:35%; right:inherit; bottom:0; }
	body.index #top-box .illust4 { width:430px; bottom:inherit; top:130px; left:-90px; }

	body.index .inst-bnr { max-width:600px; }

	#foot-bk-box { background:url(../img/foot_bk.png) no-repeat bottom 60px center; background-size:100% auto; }
	#footer { padding-bottom:85px; }
	#footer .in-w75 { min-width:inherit; }
	#footer .foot-logo.sp-on { display:none; }
	#footer .foot-logo.pc-on { display:block; }
	#footer address .pc-on { display:initial; }
	#footer address .sp-on { display:none; }
	#footer .foot-nav { flex-wrap:wrap; width:600px; margin:0 auto 10px; }
	#footer .foot-nav li { margin:0 10px 15px; }
	#foot-bk-box .plan-illust2 { bottom:39rem; }
	#footer .copy { margin-top:-15px; }
	#footer .inst-link.pc-on { display:block; }
	#footer .inst-link.sp-on { display:none; }

	body.index #pickup section { display:block; max-width:650px; margin:0 auto 40px !important; }
	body.index #pickup .main { width:100% !important; }
	body.index #pickup .txt-box { width:100%; max-width:500px; margin:0 auto; padding-right:15px; }
	body.index #pickup .txt-box h2 { margin:-45px auto 0 !important; }
	body.index #pickup .txt-box .more-btn { margin-top:0; }
	body.index #pickup .txt-box .illust1 { left:-5rem; top:12rem; }
	body.index #pickup2 .txt-box .illust1 { left:inherit; right:-5rem; }
	body.index #pickup2 .illust3 { top:inherit; bottom:100px; left:-80px; }
	body.index #pickup2 .txt-box .more-btn { margin-left:calc(100% - 10rem); }
	body.index #pickup2 .txt-box .illust2 { left:inherit; right:0; bottom:100px; }
	body.index #pickup3 .illust3 { top:-20px; right:-160px; }
	body.index #pickup3 .main { margin-left:0; }
}



@media screen and (max-width: 750px) {
	#search {
      width: 100%;
      background: url(../img/search_bk.jpg) no-repeat;
      background-size:100% 90%;
  }
	.search-wrap { padding:30px 20px 30px; }
	.search-wrap .search-ttl { font-size:20px; }
  .search-wrap .search-box .search-top { display:block; }
  .search-wrap .search-box .form-box { display:block; width:200px; }
  .search-wrap { width:86.6%; }
  .search-wrap .search-box .price-in { display:block; }
  .search-wrap .search-box .price-in span { padding:5px 0; transform:rotate(270deg); }
  .search-wrap .search-box .line.type { margin-left:0; }
  .search-wrap .search-box .line.undecided { margin-left:0; }
  .search-wrap .search-box .search-btn { width:90%; margin-top:30px; padding:15px 0; }
  .search-wrap .search-ttl .en-font { font-size:40px; }
  .search-wrap .search-ttl .jp { font-size:17.5px; }
  .search-wrap .search-box { padding-top:10px; }

  #plan { margin-top:0; padding:25px 0 5px; }
  #plan .plan-list { display:block; width:65.5%; margin-top:20px; }
  #plan .plan-list li { width:100%; margin:0 auto 10px !important; }
  #plan .deco { width:445.5px; right:-130px; z-index:-1; }

  body {
    background:#e4f5f7 url(../img/body_bk_sp.jpg) no-repeat top -32px center;
    background-size:100% auto;
	}
	.kv-box { margin-top:55px; }
	.kv-box video { min-height:inherit; }
	#header {
		height:74px;
    background:url(../img/head_bk_sp.png) no-repeat bottom right;
    background-size:auto 100%;
	}
	#header::before { content:""; width:100%; height:55px; background:#fff; position:absolute; left:0; top:0; z-index:-1; }

	body.index #top-box .txt-box { padding-left:0; }
	body.index #top-box .txt-box .txt { width:calc(100% - 8.6rem - 35px); margin-left:25px; line-height:1.66; }
	body.index #top-box .pic2 { margin-top:-150px; }
	body.index #top-box .txt-box .illust1 { left:40px; bottom:40px; }
	body.index #top-box .illust2 { left:15%; bottom:0; }
	body.index #top-box .illust3 { left:24%; bottom:-15px; }
	body.index #pickup { width:86.6%; margin:0 auto 70px; }

	#foot-bk-box {
    background: url(../img/foot_bk_sp.png) no-repeat top center;
    background-size:cover;
	}
	#foot-bk-box .foot-illust1 { width:136px; left:-15px; }
	#foot-bk-box .foot-illust2 { width:372px; right:-140px; top:-170px; }
	#footer .foot-logo.sp-on { display:block; margin:0 auto 30px; }
	#footer .foot-logo.pc-on { display:none; }
	#footer .in-w75 { width:325px; }
	#footer .foot-nav { width:335px; margin:0 -5px; justify-content:flex-start; }
	#footer .foot-nav li { width:50%; text-align:center; margin:0 0 30px; }
	#footer .foot-nav li .en-font { font-size:30px; }
	#footer .foot-nav li.menu1 { order:1; }
	#footer .foot-nav li.menu2 { order:3; }
	#footer .foot-nav li.menu3 { order:5; }
	#footer .foot-nav li.menu4 { order:7; }
	#footer .foot-nav li.menu5 { order:2; }
	#footer .foot-nav li.menu6 { order:4; }
	#footer .foot-nav li.menu7 { order:6; }
	#footer .inst-link.pc-on { display:none; }
	#footer .inst-link.sp-on { display:block; margin:5px auto 30px; }
	#footer .r-box { margin-top:0; width:100%; }
	#footer address { text-align:center; }
	#footer address .sp-on { display:initial; }
	#footer address .pc-on { display:none; }
	#footer .copy { margin-top:20px; justify-content:center; }
	#foot-bk-box .plan-illust2 { bottom:785px; left:30px; }
	#foot-bk-box .plan-illust1 { right:-15px; bottom:inherit; top:110px; z-index:-1; }
	body.index .inst-bnr { max-width:400px; }
}

.g-translate-wrap {
        position: fixed;
        top: 0px;
        right: 0px;
        width: 160px;
        line-height: 1;
        -webkit-transition: all .5s ease;
                transition: all .5s ease;
        z-index: 100000;
        }
select.gt_selector{
    width:160px!important;
    height: auto;
    top:clamp(80px,10vw,165px);
    right: 30px;
    position: fixed;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.3));
}
        select.gt_selector {
        writing-mode: horizontal-tb !important;
        text-rendering: auto;
        color: -internal-light-dark(black, white);
        letter-spacing: normal;
        word-spacing: normal;
        line-height: normal;
        text-transform: none;
        text-indent: 0px;
        text-shadow: none;
        display: inline-block;
        text-align: start;
        appearance: auto;
        box-sizing: border-box;
        align-items: center;
        white-space: pre;
        -webkit-rtl-ordering: logical;
        background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
        cursor: default;
        margin: 0em;
        border-width: 1px;
        border-style: solid;
        border-color: rgb(255 255 255 / .2);
        border-image: initial;
        border-radius: 0px;
        background: #FFF;
        color: #222;
        padding:.25rem .75rem;
        width:100%;
        }
        
@media screen and (max-width: 1024px) {
        select.gt_selector{
            top: 15px!important;
            right: 130px!important;
    }
}
@media screen and (max-width: 600px) {
        .gt_switcher_wrapper,
        .gtranslate_wrapper,
        .g-translate-wrap,
        select.gt_selector{
            top: auto!important;
            bottom: 75px!important;
            right: auto!important;
            left: 20px!important;
            line-height: 1.7!important;
    }
    body:has(.gnav.active) .gt_switcher_wrapper,
    body:has(.gnav.active) .gtranslate_wrapper,
     body:has(.gnav.active) .g-translate-wrap,
      body:has(.gnav.active) select.gt_selector{
            top: auto!important;
            bottom: 20px!important;
            right: 20px!important;
            left: auto!important;
          width:150px!important;
    }
}
/*
        @media screen and (max-width: 767px) {
        .g-translate-wrap { display:none; }
        }
*/


.g-translate-wrap-sp {
        position: relative;
        width: 270px;
        height: auto;
        margin: 2rem auto 1rem;
        }
.g-translate-wrap-sp select.gt_selector {
        writing-mode: horizontal-tb !important;
        text-rendering: auto;
        color: -internal-light-dark(black, white);
        letter-spacing: normal;
        word-spacing: normal;
        line-height: normal;
        text-transform: none;
        text-indent: 0px;
        text-shadow: none;
        display: inline-block;
        text-align: start;
        appearance: auto;
        box-sizing: border-box;
        align-items: center;
        white-space: pre;
        -webkit-rtl-ordering: logical;
        background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
        cursor: default;
        margin: 0em;
        border-width: 1px;
        border-style: solid;
        border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
        border-image: initial;
        border-radius: 0px;
        background: #FFF;
        color: #111;
        border: none;
        padding:1rem .5rem;
        box-sizing: border-box;
        width:270px;
        height: auto;
        }

/*grid_table*/

.grid_table,.grid_table *{
    box-sizing: border-box;
}
.grid_table{
    display: grid;
}
body.guesthouse #sec4 table.cansel_table,
table.cansel_table{
    display: grid;
}
body.guesthouse #sec4 table.cansel_table tbody,
body.guesthouse #sec4 table.cansel_table tr{
    display: contents;
}

body.guesthouse #sec4 table.cansel_table,
body.guesthouse #sec4 table.cansel_table th,
body.guesthouse #sec4 table.cansel_table td{
    border: none;
}
body.guesthouse #sec4 table.cansel_table th,
body.guesthouse #sec4 table.cansel_table td{
    width: 100%;
}
body.guesthouse #sec4 table.cansel_table{
    border-top: 1px solid #9dafaa;
    border-left: 1px solid #9dafaa;
}
body.guesthouse #sec4 table.cansel_table th,
body.guesthouse #sec4 table.cansel_table td{
    border-right: 1px solid #9dafaa;
    border-bottom: 1px solid #9dafaa;
    display: grid;
    padding: clamp(10px,1.2vw,.8rem) 0;
}
@media screen and (min-width:751px){
    table.cansel_table{
        grid-auto-columns: minmax(0,1fr);
        grid-template-rows: repeat(2,auto);
        grid-auto-flow: column;
    }
    body.guesthouse #sec4 table.cansel_table th{
        border-bottom: none;
    }
}
@media screen and (max-width:960px){
    body.guesthouse #sec4 table.cansel_table{
        width:min(100%,650px);
        margin: 15px auto 0;
    }
}
@media screen and (max-width:750px){
    table.cansel_table{
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}