@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&display=swap');


/* =================== */
/*       pubulic       */
/* =================== */
html {
	font-size:clamp(10px, 1.04vw, 25px);
	/*overflow-x:hidden;*/
}
body {
	position:relative;
	 font-family: "Hina Mincho", serif;
  font-weight: 400;
  font-style: normal;
	-webkit-text-size-adjust:100%;
	background:url(../img/bg.jpg) repeat;
	background-size:100% auto;
	overflow-x:hidden;
}
body .bg {
	position:absolute;
	overflow-x:hidden;
	top:0;
	left:0;
	width:100%;
	height:98.4rem;
}
body .bg::before {
	content:"";
	width:115.55rem;
	height:98.4rem;
	background:url(../img/body_bk.png) no-repeat;
	background-size:cover;
	display:block;
	position:absolute;
	top:-6.5rem;
	right:-6.5rem;
}
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:1s;
}
.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; }

.slick-slider { padding-bottom:.5rem; }
.slick-dots {
  display:flex;
  justify-content:center;
  position:relative;
  margin-top:1rem;
  margin-right:1.5rem;
}
.slick-dots li {
  width:.5rem !important;
  height:.5rem !important;
  margin:0 .5rem !important;
  padding:0 !important;
  background:#b4ab93;
  border-radius:100vmax;
}
.slick-dots li.slick-active { background:#efde46; border:0 !important; }
.slick-dots li button { display:none; }







.kv-box {
	width:100%;
	height:46.5rem;
	position:absolute;
	top:7.5rem;
	left:0;
	right:0;
}
.kv-box .kv-in {
	width:75rem;
	height:100%;
	margin:0 auto;
	border-radius:10rem 10rem 0 0;
	overflow:hidden;
}
.kv-box video {
	width:100%;
	height:100%;
	object-fit:cover;
}
.kv-box img {
	width:100%;
	height:100%;
	object-fit:cover;
}





/* =================== */
/*       main-nav      */
/* =================== */
#header {
	width:100%;
	z-index:100;
	height:54rem;
}
#header .head-in {
	position:relative;
	z-index:1;
	height:100%;
	min-width:900px;
}
#header .site-logo {
	width:18rem;
	height:14.5rem;
	position:absolute;
	top:0;
	left:0;
	background:url(../img/logo_bk.png) no-repeat;
	background-size:cover;
}
#header .site-logo img {
	width:9.5rem;
	margin:2.5rem 0 0 3rem;
}
#header .site-logo a:hover { opacity:.5; }
#header .nav-box { width:calc(100% - 18rem); margin-left:18rem; }
#header #main-nav { width:calc(100% - 17rem); }
#header #main-nav .nav {
	justify-content:flex-end;
	margin:-.8rem auto 0;
}
#header #main-nav li {
	font-size:max(15px, 1.1rem);
	display:block;
	position:relative;
	text-align:center;
	letter-spacing:.1em;
}
#header #main-nav li::after {
	content:"";
	display:inline-block;
	margin:0 1.5rem;
	width:.2rem;
	height:4.75rem;
	background:url(../img/nav_line.png) no-repeat;
	background-size:contain;
	vertical-align:middle;
}
#header #main-nav li:last-child::after { display:none; }
#header #main-nav li .mini {
	font-size:max(13px, .9rem);
	display:block;
	margin-top:.5rem;
}
#header #main-nav li a {
	display:inline-block;
	vertical-align:middle;
}
#header #main-nav li a:hover { opacity:.5; }
#header #hamburger { display:none; }
#header .contact .fixed { display:none; }
#header .contact { width:17rem; }
#header .contact a:hover { opacity:.5; }
#header.fixed .site-logo {
	position:fixed;
	width:13rem;
	height:10rem;
	background:url(../img/logo_bk_fixed.png) no-repeat;
	background-size:cover;
}
#header.fixed .site-logo img { width:7rem; margin-top:1.5rem; }
#header.fixed .contact { width:15rem; }
#header.fixed .contact .nml { display:none; }
#header.fixed .contact .fixed { display:block; }
#header.fixed .nav-box { width:calc(100% - 13rem); }
#header.fixed #main-nav .nav { margin-top:0; }
#header.fixed .head-in {
	position:fixed;
	top:0;
	height:5.5rem;
	width:100%;
	background:url(../img/nav_bk.jpg) no-repeat;
	background-size:cover;
	/*transition: all 1s ease-out;*/
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  z-index:1002;
  padding-top:0;
  padding:0 0 0 4.5rem;
  display:flex;
  justify-content:space-between;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-150px);
    -ms-transform: translateY(-150px);
    transform: translateY(-150px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
#header #sp-head { display:none; }








/* =================== */
/*         footer      */
/* =================== */
#footer {
	width:100%;
	background:url(../img/foot_bk.png) no-repeat;
	background-size:cover;
	padding:14rem 0 2rem;
	margin-top:4rem;
}
#footer .foot-in { align-items:flex-start; }
#footer .foot-logo { width:9.5rem; }
#footer .foot-nav li {
	font-size:max(15px, 1.1rem);
	display:block;
	letter-spacing:.1em;
}
#footer .foot-nav li::after {
	content:"";
	width:4.75rem;
	height:.2rem;
	background:url(../img/foot_line.png) no-repeat;
	background-size:contain;
	display:block;
	margin:1rem 0;
}
#footer .foot-nav li .mini { font-size:max(13px, 1rem); margin-left:.5rem; }
#footer a:hover { opacity:.5; }
#footer address {
	line-height:1.5;
	font-size:max(15px, 1rem);
	margin-top:5.5rem;
	margin-bottom:1rem;
}
#footer .inst-link { width:2.25rem; }
#footer .illust {
	width:17.5rem;
	position:absolute;
	top:-13rem;
	right:-1rem;
}
#footer .copy {
	font-size:max(11px, .75rem);
	align-items:center;
	justify-content:flex-start;
	margin-top:3rem;
}
#footer .copy .btn { margin-left:1rem; width:2.2rem; min-width:30px; }
#footer .copy a:hover { opacity:.5; }
#footer #pagetop {
  width:3.6rem;
  position:fixed;
  top:auto;
  bottom:3rem;
  right:2rem;
  z-index:30;
}
#footer #pagetop a:hover { opacity:.5; }





/* =================== */
/*      body.index     */
/* =================== */
#search {
	position:relative;
	background:#091f40;
	border-top:.2rem solid rgba(255,255,255,.5);
	border-bottom:.2rem solid rgba(255,255,255,.5);
}
#search::before {
	content:"";
	width:100%;
	height:1px;
	background:rgba(255,255,255,.5);
	display:block;
	position:absolute;
	top:.25rem;
	left:0;
}
#search::after {
	content:"";
	width:100%;
	height:1px;
	background:rgba(255,255,255,.5);
	display:block;
	position:absolute;
	bottom:.25rem;
	left:0;
}
.search-wrap {
	position:relative;
	z-index:1;
	min-width:850px;
	width:62.5%;
	height:8rem;
	min-height:90px;
	margin:0 auto 0;
}
.search-wrap .search-ttl {
	position:absolute;
	left:4rem;
	top:0;
	bottom:0;
	height:1em;
	margin:auto;
	font-size:max(18px, 1.5rem);
	color:#fff;
	letter-spacing:.1em;
}
.search-wrap .search-box {
	height:8rem;
	padding-left:14.5rem;
	letter-spacing:0;
	padding-top:1.7rem;
}
.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:#fff;
}
.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 #fff;
}
.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 #383838;
  border-bottom: .3rem solid #383838;
  transform: rotate(-45deg);
}
.search-wrap .search-box .ttl {
  margin-right: 0.7em;
  font-size:max(14px, .8rem);
  color:#fff;
}
.search-wrap .search-box .check-in input {
  width: 6.25rem;
  height:1.25rem;
  min-width:80px;
  background:none;
  border-bottom:1px solid #fff;
  font-size:max(14px, .7rem);
  color:#fff;
}
.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 #fff;
}
.search-wrap .search-box .select-wrap select {
  width:100%;
  height:100%;
  color:#fff;
  font-size:max(14px, .7rem);
}
.search-wrap .search-box .select-wrap select option { background:#383838; }
.search-wrap .search-box .select-wrap:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  border-color: #fff 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:#fff;
}
.search-wrap .search-box .search-btn {
  width:9rem;
  min-width:120px;
  margin: 0 auto 0;
  transition: 0.5s ease all;
}
.search-wrap .search-box .search-btn input {
  width: 100%;
}
.search-wrap .search-box .search-btn:hover { opacity:.7; }
.search-btm-pic {
	min-width:850px;
	width:62.5%;
	margin:0 auto;
}


#plan {
	position:relative;
	padding-top:3rem;
	padding-bottom:5rem;
	background:#a39979;
}
#plan > .flex-box { align-items:flex-start; }
#plan h3 {
	width:15.25rem;
	margin:0 auto;
}
#plan .plan-list {
	align-items:flex-start;
	justify-content:center;
	margin:-3rem auto 0;
	width:60rem;
}
#plan .plan-list li {
	width:calc((100% - 4rem) / 3);
	margin-right:2rem;
	position:relative;
}
#plan .plan-list li:last-child { margin-right:0; }
#plan .plan-list li a { display:block; }
#plan .plan-list li a:hover { opacity:.5; }
#plan .plan-list li .pic {
	width:100%;
	aspect-ratio:1.9/1.5;
	overflow:hidden;
	border-radius:2.5rem;
	position:relative;
	z-index:2;
}
#plan .plan-list li:first-child::before {
	content:"";
	width:14.75rem;
	height:12.35rem;
	background:url(../img/plan_deco1.png) no-repeat;
	background-size:cover;
	position:absolute;
	left:-3rem;
	top:9rem;
}
#plan .plan-list li:nth-child(2)::before {
	content:"";
	width:12.65rem;
	height:13.8rem;
	background:url(../img/plan_deco2.png) no-repeat;
	background-size:cover;
	position:absolute;
	right:3.5rem;
	top:10rem;
}
#plan .plan-list li:nth-child(3)::before {
	content:"";
	width:12.4rem;
	height:14.6rem;
	background:url(../img/plan_deco3.png) no-repeat;
	background-size:cover;
	position:absolute;
	right:-3rem;
	top:8.5rem;
}
#plan .plan-list li .pic img {
	width:100%;
	height:100%;
	object-fit:cover;
}
#plan .plan-list li .txt-box {
	padding:1.5rem 1rem 0;
	position:relative;
	z-index:2;
}
#plan .plan-list li .ttl {
	font-size:max(15px, 1rem);
	line-height:1.4;
	margin-bottom:.5rem;
	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp:2;
  font-weight:600;
  color:#fff;
}
#plan .plan-list li .txt {
	font-size:max(14px, .9rem);
	color:#fff;
	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp:2;
  line-height:1.6;
}
#plan .illust1 {
	width:12.25rem;
	position:absolute;
	left:11.5rem;
	top:2rem;
}
#plan .illust2 {
	width:10.45rem;
	position:absolute;
	right:1rem;
	top:18rem;
}

body.index #top-box > .in-w75 { padding-top:9rem; }
body.index #top-box .top-ttl {
	color:#a79d7f;
	font-size:max(17px, 1.5rem);
	text-align:center;
	line-height:1.5;
}
body.index #top-box .top-ttl span { font-size:max(22px, 2rem); }
body.index #top-box .top-ttl::after {
	content:"";
	width:5.9rem;
	height:1.45rem;
	background:url(../img/top_deco.png) no-repeat;
	background-size:cover;
	display:block;
	margin:.8rem auto 1.5rem;
}
body.index #top-box .txt {
	line-height:2.7;
	letter-spacing:.1em;
	font-size:max(15px, 1.1rem);
	text-align:center;
}
body.index #top-box .illust1 {
	width:8.65rem;
	position:absolute;
	top:-1rem;
	left:-7.5rem;
}
body.index #top-box .illust2 {
	width:7.3rem;
	position:absolute;
	top:-5.5rem;
	right:-4.5rem;
}
body.index #top-box .illust3 {
	width:9.75rem;
	position:absolute;
	top:14rem;
	right:-8rem;
}
body.index #top-box .illust4 {
	width:9.65rem;
	position:absolute;
	top:18.5rem;
	left:7.5rem;
}
body.index #top-box .illust5 {
	width:16.55rem;
	position:absolute;
	top:28rem;
	right:-1rem;
}

body.index #inst-bnr {
	width:35rem;
	margin:9rem auto;
}
body.index #inst-bnr a:hover { opacity:.5; }
body.index #plan-link {
	position:relative;
	padding-bottom:2.5rem;
}
body.index #plan-link::before {
	content:"";
	width:85rem;
	height:100%;
	display:block;
	background:#fff;
	border-radius:4rem;
	position:absolute;
	top:1rem;
	left:0;
	right:0;
	margin:0 auto;
}
body.index #plan-link .ttl {
	width:15.25rem;
	margin:0 auto;
	position:relative;
	z-index:1;
}
body.index #plan-link .plan-slider {
	margin-top:-3.2rem;
	position:relative;
	z-index:1;
}
body.index #plan-link .plan-slider img { margin:0 .75rem; width:auto; }
body.index #plan-link .btn {
	width:17.5rem;
	margin:2.5rem auto 0;
	position:relative;
	z-index:1;
}
body.index #plan-link .btn a:hover { opacity:.5; }

body.index #pickup {
	margin-top:8rem;
	flex-wrap:wrap;
	align-items:flex-start;
	padding-bottom:9.5rem;
	position:relative;
}
body.index #pickup::before {
	content:"";
	width:75rem;
	height:calc(100% - 14rem);
	display:block;
	background:#fff;
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;
}
body.index #pickup section {
	width:40rem;
}
body.index #pickup section:nth-child(2n) { margin-top:6rem; }
body.index #pickup section .pic {
	border-radius:10rem 10rem 0 0;
	width:100%;
	height:35rem;
	overflow:hidden;
}
body.index #pickup section .pic img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:0.5s ease all;
}
body.index #pickup #pickup1 h2 { width:13rem; }
body.index #pickup #pickup2 h2 { width:12.75rem; }
body.index #pickup #pickup3 h2 { width:13rem; }
body.index #pickup #pickup4 h2 { width:12.75rem; }
body.index #pickup section .cont {
	margin:-4rem 2rem 0;
	display:flex;
	position:relative;
}
body.index #pickup section .cont .txt-box {
	margin-top:6rem;
	margin-left:3rem;
}
body.index #pickup section .cont .txt {
	font-size:max(15px, 1.25rem);
	line-height:2.4;
}
body.index #pickup section .cont .btn {
	margin-top:2rem;
	width:20rem;
}
body.index #pickup section .cont .btn a:hover { opacity:.5; }
body.index #pickup #pickup3 .illust {
	width:10.45rem;
	position:absolute;
	left:-1rem;
	bottom:-8.5rem;
}
body.index #pickup section.hvr .pic img { transform:scale(1.05); }







@media screen and (max-width: 1350px) {
	.search-wrap .search-box { padding-top:1.4rem; }

}

@media screen and (max-width: 1250px) {
	.search-wrap .search-box { padding-left:16rem; }

}

@media screen and (max-width: 1120px) {
	.search-wrap .search-box { padding-top:1rem; padding-left:17rem; }

}

@media screen and (max-width: 960px) {
	html { overflow-x:hidden; }
	.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%; }

	body { letter-spacing:.05em; }

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

	#search { width:100%; margin:0 auto 40px; }
	.search-wrap { width:86.6%;; min-width:inherit; max-width:500px; margin:0 auto 0; height:auto; padding:0 0 40px; }
	.search-wrap .in-w60 { min-width:250px; }
	.search-wrap .search-ttl {
		position:initial;
		text-align:center;
		padding:40px 0 0;
		margin:0 auto 10px;
		border-right:0;
		height:auto;
		width:203px;
		min-height:auto;
		font-size:20px;
	}
	.search-wrap .form-wrap { display:block; }
	.search-wrap .search-box { height:auto; padding-left:0; margin:0 auto; padding-top:20px; }
	.search-wrap .search-box .form-box { display:block; min-width:inherit; width:200px; margin:0 auto; font-size:15px; }
	.search-wrap .search-box .search-top { display:block; }
	.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 .price-in { display:block; }
	.search-wrap .search-box .price-in span { padding:5px 0; transform:rotate(270deg); }
	.search-wrap .search-box .search-btn.sp-on { width:250px; height:50px; display:block; margin:30px auto 0; }
	.search-wrap .search-box .select-wrap select { font-size:14px; }

	.kv-box { height:auto; width:93.3%; position:relative; margin:65px auto 0; top:inherit; }
	#header { z-index:1000; height:auto; }
	#header .nav-box { display:none; }
	#header #main-nav {
		height:auto;
		width:100%;
		min-width:inherit;
		min-height:inherit;
		z-index:10;
		display:none;
	}
	#header.open #main-nav { display:block; margin-top:40px; }
	#header .head-in { padding-top:0; min-width:inherit; animation:none; z-index:1000; }
	#header.fixed .head-in { animation:none; z-index:100; padding:0; display:block; background:none; }
	#header.fixed.open .site-logo { display:block; }
	#header.open .head-in { z-index:100;  top:0; display:block; padding:0; height:100vh; position:fixed; min-width:inherit; width:100%; height:auto; background:url(../img/nav_bk_sp.jpg) no-repeat center; background-size:cover; }
	#header .site-logo { width:130px; height:100px; position:fixed; top:0; left:0; background:url(../img/logo_bk_fixed.png) no-repeat; background-size:cover; }
	#header .site-logo img { width:64px; margin:10px 0 0 25px; }
	#header.fixed .site-logo img { width:64px; margin:10px 0 0 25px; }
	#header.open .site-logo { z-index:100; height:auto; background:none; width:95px; margin:0 auto; position:relative; padding-top:80px; top:inherit; left:inherit; }
	#header.open .site-logo img { width:100%; margin:0; }
	#header.open #main-nav .nav { width:100%; display:block; text-align:center; }
	#header #main-nav li { font-size:15px; margin:0 0 25px; }
	#header #main-nav li .mini { display:inline-block; margin-top:0; margin-left:5px; }
	#header #main-nav li::after { display:none; }
	#header #hamburger {
		display:block;
		width:85px;
		height:65px;
		cursor:pointer;
		z-index:10000;
		position:fixed;
		right:0;
		top:0;
		background:url(../img/hamburger_bk.png) no-repeat;
		background-size:cover;
	}
	#header.open #hamburger { position:fixed; }
	#header #hamburger .inner_line {
		display:block;
		margin:0 auto;
		width:40px;
		height:2.5px;
		transition:1s;
		background:#fff;
		position:absolute;
		right:15px;
	}
	#header #hamburger .inner_line span { transition:all .4s; }
	#header #hamburger #line1 { top:20px; }
	#header #hamburger #line2 { top:35px; }
	#header #hamburger.open #line1 { transform:translateY(8px) rotate(-20deg); }
	#header #hamburger.open #line2 { transform:translateY(-7px) rotate(20deg); margin:0 auto; }
	.kv-box .kv-in { width:100%; margin-left:0; aspect-ratio:3.5 / 2.17; border-radius:50px 50px 0 0; }
	#header.open .nav-box { display:block; width:100%; margin:40px auto 0; }
	#header .contact { width:240px; margin:40px auto 0; }
	#header .contact img { display:none !important; }
	#header .contact img.sp-on { display:block !important; }
	#header .inst-link { width:22.5px; margin:35px auto 0; display:block; }
	#header.fixed .contact { width:240px; }
	#header #main-nav .nav { margin:0 auto; }

	#footer { padding:55px 0 30px; background:url(../img/foot_bk_sp.png) no-repeat; background-size:cover; }
  #footer .copy { margin:35px 0 0; justify-content:center; }
  #footer .copy .btn { width:35px; margin-left:5px; }
  #footer .foot-logo { width:95px; margin:0 auto; }
  #footer .foot-nav { margin:30px 0 0; width:100%; min-width:inherit; justify-content:center; }
  #footer .foot-nav li { font-size:15px; text-align:center; margin-bottom:25px; }
  #footer address { width:100%; text-align:center; line-height:1.47; margin-top:30px; }
  #footer .illust { width:115px; right:-50px; top:-20px; }
  #footer .foot-in { display:block; }
  #footer .foot-nav li::after { display:none; }
  #footer .inst-link.sp-on { display:block; margin:0 auto; }
  #footer #pagetop { right:3px; }

  #plan { margin-top:0; padding-top:40px; padding-bottom:20px; }
  #plan > .flex-box { width:93.3%; justify-content:center; max-width:600px; }
  #plan h3 { margin-top:0; }
  #plan .plan-list { display:block; width:64.5%; max-width:500px; height:auto; min-height:inherit; margin-top:-33px; }
  #plan .plan-list li { width:100%; margin:0 0 30px; padding:0; }
  #plan .plan-list li:nth-child(n+4) { display:none; }
  #plan .plan-list li .txt-box { margin-top:0; padding:15px 0 0; }
  #plan .plan-list li .ttl { margin:0 0 5px; line-height:1.3; }
  #plan .plan-list li a { padding:0; }
  #plan .illust1 { width:121.5px; left:-10px; top:25px; }
  #plan .plan-list li .txt { -webkit-line-clamp:3; line-height:1.5; }
  #plan .illust2 { width:103.5px; top:inherit; bottom:5px; right:-45px; }
  #plan .plan-list li:first-child::before { left:-40px; bottom:50px; top:inherit; }
  #plan .plan-list li:nth-child(2)::before { right:70px; bottom:25px; top:inherit; }
  #plan .plan-list li:nth-child(3)::before { top:inherit; bottom:15px; }

  body .bg { height:100%; }
  body .bg::before {
  	background: url(../img/body_bk_sp.png) no-repeat;
    background-size:contain;
    top:0;
    width:100%;
    height:0;
    padding-top:211.78%;
    right:0;
  }

  body.index #top-box .illust1 { width:68.5px; left:-35px; top:-20px; }
  body.index #top-box .illust2 { width:59px; top:-35px; right:-30px; }
  body.index #top-box .illust3 { width:77.5px; right:-50px; top:210px; }
  body.index #top-box .illust4 { width:76.5px; left:-30px; bottom:-55px; top:inherit; }
  body.index #top-box .illust5 { width:131.5px; right:0; top:inherit; bottom:-105px; }
  body.index #top-box > .in-w75 { padding-top:65px; max-width:600px; }
  body.index #top-box .top-ttl { line-height:1.6; }
  body.index #top-box .top-ttl::after { margin-bottom:10px; }
  body.index #top-box .txt { line-height:2; }

  body.index #pickup { margin-top:160px; width:86.6%; max-width:600px; padding-bottom:60px; }
  body.index #pickup section { width:100%; }
  body.index #pickup section .pic { height:auto; }
  body.index #pickup section h2 { width:130px; position:absolute; left:-25px; }
  body.index #pickup section .cont { display:block; margin:-40px 0 0; }
  body.index #pickup section .cont .txt-box { margin-top:0; margin-left:0; }
  body.index #pickup section .cont .txt { padding:70px 0 0 110px; line-height:2; }
  body.index #pickup section .cont .btn { margin:25px auto 0; position:relative; z-index:1; }
  body.index #pickup section:nth-child(2n) { margin-top:50px; }
  body.index #pickup section:nth-child(3) { margin-top:50px; }
  body.index #pickup::before { width:85%; }
  body.index #pickup #pickup3 .illust { bottom:-30px; }

  body.index #inst-bnr { width:93.3%; max-width:400px; margin:50px auto; }
  body.index #plan-link { padding-bottom:15px; }
  body.index #plan-link .plan-slider img { height:150px; }
  body.index #plan-link .btn { width:200px; }
  body.index #plan-link::before { width:85%; }
}

@-moz-document url-prefix(){
	@media screen and (max-width: 960px) {
    #header .site-logo { top:15px; }
  }
}


