@charset "utf-8";
@font-face {
  font-family: "ITC Avant Garde Gothic bold";
  src:
    url("../font/AvantGarde-Bold.otf") format("woff"),
    url("../font/") format("woff2");
}
@font-face {
  font-family: "ITC Avant Garde Gothic book";
  src:
    url("../font/AvantGarde-Book.otf") format("woff"),
    url("../font/") format("woff2");
}
:root {--main-color: #EF6421;}
:root {--text-color: #1E1E1E;}
body{
	background: #FFF0E1;
}
main{
	overflow: hidden;
}
section{
	width: 100%;
	position: relative;
	overflow: visible;
}
.inner{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
    position: relative;
}
h1,h2,h3,h4,h5,h6{
	line-height: 1.4;
	letter-spacing: 0.14em;
}
p,a,li{
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.14em;
	color: var(--text-color);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.inner{
		max-width: 78.125vw;
	}
	p,a,li{
		font-size: 1.406vw;
	}
}
@media screen and (max-width: 768px) {
	.inner{
		max-width: 520px;
	}
	p,a,li{
		font-size: 15px;
	}
}
/*==================================================================================================*/
/*共通記述*/
.title{
	font-size: 30px;
	font-weight: 700;
	margin-bottom: 40px;
}
.title span{
	display: block;
	font-family: "ITC Avant Garde Gothic book";
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.8em;
	color: var(--main-color);
	margin-bottom: 30px;
}
.btn{
	display: block;
    width: fit-content;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.7em;
	color: var(--main-color);
	padding-left: 3px;
	padding-right: 23px;
	padding-bottom: 13px;
	border-bottom: solid 1px var(--main-color);
	position: relative;
	transition: .5s;
	opacity: 1;
}
.btn:hover{
	opacity: .7;
}
.btn::after{
	display: block;
	content: "";
	width: 15px;
	height: 15px;
	background: center / contain no-repeat url("../img/arrow-color.svg");
	position: absolute;
	bottom: 17px;
	right: 3px;
	transition: .5s;
}
.btn:hover::after{
	bottom: 20px;
	right: 1px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.title{
		font-size: 2.344vw;
		margin-bottom: 3.125vw;
	}
	.title span{
		font-size: 1.25vw;
		margin-bottom: 2.344vw;
	}
	.btn{
		font-size: 1.25vw;
		padding-left: 0.234vw;
		padding-right: 1.797vw;
		padding-bottom: 1.016vw;
	}
	.btn::after{
		width: 1.172vw;
		height: 1.172vw;
		bottom: 1.328vw;
		right: 0.234vw;
	}
	.btn:hover::after{
		bottom: 1.563vw;
		right: 0.078vw;
	}
}
@media screen and (max-width: 768px) {
	.title{
		font-size: 22px;
		margin-bottom: 40px;
	}
	.title span{
		font-size: 14px;
		margin-bottom: 20px;
	}
	.btn{
		font-size: 14px;
	}
	.btn::after{
		bottom: 17px;
	}
}
/*==================================================================================================*/
/*-*/
header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 90px;
	position: fixed;
	top: 0;
	z-index: 10000;
	transition: .3s;
}
header.scrolled{
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	height: 70px;
	box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
header h1{
	width: 192px;
	margin-left: 30px;
}
header h1 a,
header h1 img{
	display: block;
	width: 100%;
	height: 100%;
}
.openbtn1{
	display: none;
}
nav,
nav ul,
nav ul li{
	width: fit-content;
	height: 100%;
}
nav img{
	display: none;
}
nav ul li a{
	display: flex;
	align-items: center;
	width: fit-content;
	height: 100%;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0 19px;
	transition: .3s;
	position: relative;
}
nav ul li a:hover{
	color: var(--main-color);
}

@media (min-width: 769px) {
	nav ul li a:not(.reservationBtn)::after {
		content: '';
		position: absolute;
		bottom: calc(50% - 12px);
		left: 19px;
		right: 19px;
		height: 2px;
		background: var(--main-color);
		transform: scaleX(0);
		transform-origin: left top;
		transition: transform 0.3s ease;
	}
	nav ul li a:not(.reservationBtn):hover::after {
		transform: scaleX(1);
	}
}
nav ul li a.reservationBtn{
	color: #FFF;
	background: var(--main-color);
	padding: 0 32px;
	opacity: 1;
}
nav ul li a.reservationBtn:hover{
	opacity: .7;
}
@media (min-width: 769px) and (max-width: 1279px) {
	header{
		height: 7.031vw;
	}
	header h1{
		width: 15vw;
		margin-left: 2.344vw;
	}
	nav ul li a{
		font-size: 1.094vw;
		padding: 0 1.484vw;
	}
	nav ul li a:not(.reservationBtn)::after {
		left: 1.484vw;
		right: 1.484vw;
		bottom: calc(50% - 1.1vw);
	}
	nav ul li a.reservationBtn{
		padding: 0 2.5vw;
	}
}
@media screen and (max-width: 768px) {
	header{
		height: 66px;
	}
	header h1{
		width: 140px;
    	margin-left: 15px;
	}
	.openbtn1{
		display: block;
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
		width: 66px;
		height: 66px;
		z-index: 10000;
	}
	.openbtn1 span:nth-of-type(1),
	.openbtn1 span:nth-of-type(2),
	.openbtn1 span:nth-of-type(3){
		display: inline-block;
		transition: all .4s;
		width: 34px;
		height: 1.5px;
		left: 16px;
		background: var(--main-color);
		position: absolute;
	}
	.openbtn1 span:nth-of-type(1) { top:22px;}
	.openbtn1 span:nth-of-type(2) { top:32px;}
	.openbtn1 span:nth-of-type(3) { top:42px;}

	.pcNav .openbtn1 span:nth-of-type(1) {
		top: 32px;
		transform: rotate(-45deg);
	}
	.pcNav .openbtn1 span:nth-of-type(2){
		opacity: 0;
	}
	.pcNav .openbtn1 span:nth-of-type(3){
		top: 32px;
		transform: rotate(45deg);
	}
	nav,
	nav ul,
	nav ul li{
		width: 100%;
		height: auto;
	}
	nav{
		height: 100vh;
		padding: 100px 5%;
		background: rgba(255,255,255,0.90);
		position: fixed;
		top: -100vh;
		transition: .5s;
	}
	.pcNav nav{
		top: 0;
	}
	nav img{
		display: block;
		max-width: 160px;
		margin: 0 auto;
		margin-bottom: 30px;
	}
	nav ul{
		max-width: 400px;
		margin: 0 auto;
	}
	nav ul li a{
		width: 100%;
		justify-content: center;
		padding: 10px 0;
	}
	nav ul li a.reservationBtn{
		max-width: 280px;
		height: 40px;
		border-radius: 50px;
		margin: 0 auto;
		margin-top: 40px;
	}
}
/*==================================================================================================*/
/*ファーストビュー-FV*/
.fv{
	background: center / cover no-repeat url("../img/fv-bg.jpg");
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 90px 0 0;
	z-index: 1;
}
.fv .inner{
	max-width: 1000px;
	margin-left: 5vw;
	margin-right: auto;
	z-index: 10;
}
.fv .inner h2{
	font-family: "ITC Avant Garde Gothic bold";
	font-size: 100px;
	line-height: 1.1;
	letter-spacing: 0.02em;
	color: rgba(239,100,33,0.60);
	margin-bottom: 10px;
}
.fv .inner h2 span{
	font-size: 200px;
}
.fv .inner h3{
	font-size: 30px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0;
	margin-bottom: 10px;
}
.fv .inner p{
	max-width: 511px;
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0.12em;
}
.fv_visual{
	display: block;
	width: 65vw;
	max-width: none;
	height: calc(100vh - 180px);
	border-radius: 20px 0 0 20px;
	overflow: hidden;
	position: absolute;
    top: 90px;
    right: 0;
    transform: none;
}
.fv_visual img,
.fv_visual video,
.fv_visual .swiper-container{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	animation: zoomUp 20s infinite alternate linear;
}
@keyframes zoomUp {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

.fv_visual .fv-slide {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	object-fit: cover;
	animation: fv-slideshow 35s infinite;
}
.fv_visual .fv-slide.slide1 { animation-delay: 0s; }
.fv_visual .fv-slide.slide2 { animation-delay: 5s; }
.fv_visual .fv-slide.slide3 { animation-delay: 10s; }
.fv_visual .fv-slide.slide4 { animation-delay: 15s; }
.fv_visual .fv-slide.slide5 { animation-delay: 20s; }
.fv_visual .fv-slide.slide6 { animation-delay: 25s; }
.fv_visual .fv-slide.slide7 { animation-delay: 30s; }

@keyframes fv-slideshow {
	0% { opacity: 0; transform: scale(1); }
	4% { opacity: 1; transform: scale(1.02); }
	12% { opacity: 1; transform: scale(1.06); }
	16% { opacity: 0; transform: scale(1.08); }
	100% { opacity: 0; transform: scale(1.08); }
}
/**/
.scroll{
	display: block;
	width: 275px;
	height: 275px;
	position: absolute;
	bottom: -60px;
	right: -30px;
}
.scroll img:nth-child(1){
	display: block;
	width: 60px;
	height: 60px;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

}
.scroll img:nth-child(2){
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	animation: rotate 50s infinite linear;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (min-width: 769px) and (max-width: 1279px) {
	.fv{
		padding: 7.031vw 0 0;
	}
	.fv .inner h2{
		font-size: 7.187vw;
		margin-bottom: 0.781vw;
	}
	.fv .inner h2 span{
		font-size: 10.625vw;
	}
	.fv .inner h3{
		font-size: 2.344vw;
		margin-bottom: 0.781vw;
	}
	.fv .inner p{
		max-width: 39.922vw;
		font-size: 1.25vw;
	}
	.fv_visual{
		width: 65vw;
		height: calc(100vh - 14vw); /* 7vw * 2 approx */
		top: 7.031vw;
		border-radius: 1.563vw 0 0 1.563vw;
		transform: none;
	}
	/**/
	.scroll{
		width: 21.484vw;
		height: 21.484vw;
		bottom: -4.687vw;
		right: -2.344vw;
	}
	.scroll img:nth-child(1){
		width: 4.688vw;
		height: 4.688vw;

	}
}
@media screen and (max-width: 768px) {
	.fv{
		display: block;
		min-height: auto;
		padding: 66px 0 40px;
	}
	.fv .inner{
		width: calc(100% - 10vw);
		margin-left: 5vw;
		margin-right: 5vw;
	}
	.fv .inner h2{
		font-size: 40px;
	}
	.fv .inner h2 span{
		font-size: 80px;
	}
	.fv .inner h3{
		font-size: 20px;
	}
	.fv .inner p{
		font-size: 15px;
		margin-bottom: 40px;
	}
	.fv_visual{
		display: block;
		width: 95%;
		height: auto;
		aspect-ratio: 1.2 / 1;
		position: relative;
		top: 0;
		right: 0;
		transform: none;
		margin: 0 0 0 auto;
		border-radius: 20px 0 0 20px;
		overflow: hidden;
	}
	/**/
	.scroll{
		width: 160px;
		height: 160px;
	}
	.scroll img:nth-child(1){
		width: 40px;
		height: 40px;
		margin: 0;

	}
}
/*==================================================================================================*/
/*誰もが安心してくつろげる、温かみのある空間を。-MESSAGE*/
.message{
	padding: 150px 0 130px;
}
.message .inner{
	max-width: 1100px;
	overflow: inherit;
}
.message .inner img{
	display: block;
	width: 426px;
	position: absolute;
	top: -100px;
	left: -130px;
}
.message .inner img:nth-child(2){
	width: 320px;
	top: 220px;
	left: 150px;
}
.message .inner div{
	max-width: 600px;
	margin: 0 0 0 auto;
	position: relative;
	z-index: 1;
}
.message .inner div p{
	letter-spacing: 0.18em;
	line-height: 3;
	margin-bottom: 30px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.message{
		padding: 11.719vw 0 10.156vw;
	}
	.message .inner{
		max-width: 85.938vw;
	}
	.message .inner img{
		width: 33.281vw;
		top: -7.812vw;
		left: -10.156vw;
	}
	.message .inner img:nth-child(2){
		width: 25vw;
		top: 17.188vw;
		left: 11.719vw;
	}
	.message .inner div{
		max-width: 46.875vw;
	}
	.message .inner div p{
		letter-spacing: 0.18em;
		margin-bottom: 2.344vw;
	}
}
@media screen and (max-width: 768px) {
	.message{
		padding: 75px 0 130px;
	}
	.message .inner img{
		top: -180px;
		opacity: .3;
	}
	.message .inner img:nth-child(2){
		top: auto;
		bottom: -200px;
	}
}
/*==================================================================================================*/
/*ワンランク上の体験を。-FEATURES*/
.features{
	background: center / cover no-repeat url("../img/features-bg.jpg");
	z-index: 1;
}
.features::before{
	display: block;
	content: "FEATURES";
	font-family: "ITC Avant Garde Gothic bold";
	font-size: 222px;
	color: #FFF;
	transform: rotate(90deg);
	position: absolute;
	top: 310px;
	left: -442px;
}
.features .inner{
	max-width: 1100px;
	padding: 85px 0 55px;
}
.features h2,
.features ul{
	max-width: 963px;
	margin: 0 0 0 auto;
}
.features h2{
	font-size: 41px;
	font-weight: 600;
	letter-spacing: 0.25em;
	color: #FFF;
	margin-bottom: 34px;
}
.features ul li{
	max-width: 460px;
	margin-bottom: 40px;
	position: relative;
}
.features ul li div{
	margin-bottom: 10px;
	position: relative;
}
.features ul li div::before{
	display: block;
	content: "01";
	font-family: "ITC Avant Garde Gothic book";
	font-size: 100px;
	line-height: 1;
	color: var(--main-color);
	position: absolute;
	bottom: -50px;
	right: 10px;
}
.features ul li:nth-child(2) div::before{ content: "02";}
.features ul li:nth-child(3) div::before{ content: "03";}
.features ul li:nth-child(4) div::before{ content: "04";}
.features ul li:nth-child(5) div::before{ content: "05";}
.features ul li:nth-child(6) div::before{ content: "06";}

.features ul li img{
	border-radius: 15px;
	aspect-ratio: 1.8 / 1;
}
.features ul li h3{
	font-size: 30px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #FFF;
	margin-bottom: 5px;
}
.features ul li p{
	color: #FFF;
	margin-bottom: 5px;
}
.features ul li p + p{
	font-size: 13px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.features::before{
		font-size: 17.344vw;
		top: 24.219vw;
		left: -34.531vw;
	}
	.features .inner{
		max-width: 85.938vw;
		padding: 6.641vw 0 4.297vw;
	}
	.features h2,
	.features ul{
		max-width: 75.234vw;
	}
	.features h2{
		font-size: 3.203vw;
		margin-bottom: 2.656vw;
	}
	.features ul li{
		max-width: 35.938vw;
		margin-bottom: 3.125vw;
	}
	.features ul li div{
		margin-bottom: 0.781vw;
	}
	.features ul li div::before{
		font-size: 7.813vw;
		bottom: -3.906vw;
		right: 0.781vw;
	}
	.features ul li img{
		border-radius: 1.172vw;
	}
	.features ul li h3{
		font-size: 2.344vw;
		margin-bottom: 0.391vw;
	}
	.features ul li p{
		margin-bottom: 0.391vw;
	}
	.features ul li p + p{
		font-size: 1.016vw;
	}
}
@media screen and (max-width: 768px) {
	.features::before{
		display: none;
	}
	.features .inner{
		padding: 60px 0 40px;
	}
	.features h2{
		font-size: 22px;
		margin-bottom: 20px;
	}
	.features ul li{
		margin-bottom: 20px;
	}
	.features ul li div::before{
		font-size: 70px;
		bottom: -35px;
	}
	.features ul li h3{
		font-size: 18px;
	}
}
/*==================================================================================================*/
/*サウナ×マッサージで、-plan*/
.block img.deco{
	display: block;
    width: 440px;
    position: absolute;
    top: -180px;
    left: 0;
}
.block img.deco:nth-child(2){
	width: 437px;
    top: 350px;
    left: auto;
    right: -60px;
}
.plan.inner{
	padding: 100px 0 63px;
}
.plan h2.title{
	text-align: center;
}
.plan h2 + p{
	text-align: center;
	line-height: 2.8;
	margin-bottom: 30px;
}
.plan ul{
	max-width: 767px;
	margin: 0 auto;
}
.plan ul li{
	width: 100%;
	padding: 18px 40px 10px 30px;
	border: solid 1px var(--main-color);
	background: #FFF;
	margin-bottom: 12px;
}
.plan ul li div{
	width: 465px;
	
}
.plan ul li div h3{
	font-size: 24px;
	font-weight: 500;
	padding-bottom: 8px;
	border-bottom: solid 1px #C4C4C4;
	margin-bottom: 5px;
}
.plan ul li div p{
	font-size: 13px;
}
/*金額*/
.plan ul li div + p b{
	display: block;
	width: 182px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.1em;
	text-align: center;
	color: #FFF;
	padding: 2px 0;
	border-radius: 40px;
	background: var(--main-color);
}
.plan ul li div + p{
	width: 185px;
	font-size: 46px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	color: var(--main-color);
}
.plan ul li div + p span{
	font-size: 32px;
}
.plan ul + p{
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 750px;
	height: 62px;
	font-size: 19px;
	text-align: center;
	color: #FFF;
	border-radius: 50px;
	background: var(--main-color);
	margin: 0 auto;
	margin-bottom: 40px;
}
.plan .btn{
	margin: 0 auto;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.block img.deco{
		width: 34.375vw;
		top: -14.062vw;
	}
	.block img.deco:nth-child(2){
		width: 34.141vw;
		top: 27.344vw;
		right: -4.687vw;
	}
	.plan.inner{
		padding: 7.813vw 0 4.922vw;
	}
	.plan h2 + p{
		margin-bottom: 2.344vw;
	}
	.plan ul{
		max-width: 59.922vw;
	}
	.plan ul li{
		padding: 1.406vw 3.125vw 0.781vw 2.344vw;
		margin-bottom: 0.938vw;
	}
	.plan ul li div{
		width: 36.328vw;
	}
	.plan ul li div h3{
		font-size: 1.875vw;
		padding-bottom: 0.625vw;
		margin-bottom: 0.391vw;
	}
	.plan ul li div p{
		font-size: 1.016vw;
	}
	/*金額*/
	.plan ul li div + p b{
		width: 14.219vw;
		font-size: 1.094vw;
		padding: 0.156vw 0;
		border-radius: 3.125vw;
	}
	.plan ul li div + p{
		width: 14.453vw;
		font-size: 3.594vw;
	}
	.plan ul li div + p span{
		font-size: 2.5vw;
	}
	.plan ul + p{
		max-width: 58.594vw;
		height: 4.844vw;
		font-size: 1.484vw;
		border-radius: 3.906vw;
		margin-bottom: 3.125vw;
	}
}
@media screen and (max-width: 768px) {
	.block img.deco{
		opacity: .3;
	}
	.block img.deco:nth-child(2){
		width: 300px;
		top: 800px;
	}
	.plan.inner{
		padding: 60px 0 63px;
	}
	.plan ul li{
		padding: 15px 20px 10px;
	}
	.plan ul li div{
		margin-bottom: 10px;
	}
	.plan ul li div h3{
		font-size: 15px;
	}
	.plan ul li div p{
		font-size: 10px;
	}
	/*金額*/
	.plan ul li div + p b{
		width: 120px;
		font-size: 12px;
	}
	.plan ul li div + p{
		width: fit-content;
		font-size: 30px;
		margin: 0 0 0 auto;
	}
	.plan ul li div + p span{
		font-size: 22px;
	}
	.plan ul + p{
		font-size: 15px;
		line-height: 1.4;
	}
}
/*==================================================================================================*/
/*LINE&MEMBER-other*/
.other.inner{
	max-width: 1184px;
	padding: 0 0 74px;
}
.linkBanner{
	width: 100%;
	height: 213px;
	background: #FFF;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
	position: relative;
	opacity: 1;
	transition: .5s;
	cursor:pointer;
}
.linkBanner a{
	height: 100%;
	align-content: center;
}
.linkBanner:hover{
	opacity: .7;
}
.linkBanner::after{
	display: block;
	content: "";
	width: 26px;
	height: 26px;
	background: center / contain no-repeat url("../img/arrow-color.svg");
	position: absolute;
	bottom: 23px;
	right: 23px;
}
.linkBanner.line::after{
	background: center / contain no-repeat url("../img/arrow-line.svg");
}
.linkBanner.line{
	border: solid 7px #06C755;
	margin-bottom: 20px;
}
.linkBanner.member{
	border: solid 7px var(--main-color);
}
.linkBanner h3{
	font-family: "ITC Avant Garde Gothic bold";
	font-size: 102px;
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
}
.linkBanner p{
	font-size: 30px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
}
.linkBanner.line h3,
.linkBanner.line p{
	color: #06C755;
}
.linkBanner.member h3,
.linkBanner.member p{
	color: var(--main-color);
}
/**/
.sns{
	justify-content: center;
	max-width: 830px;
	height: 113px;
	border-radius: 13px;
	background: #2E2E2E;
	box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
	margin: 0 auto;
	margin-top: 60px;
}
.sns h3{
	width: fit-content;
	font-family: "ITC Avant Garde Gothic bold";
	font-size: 32px;
	letter-spacing: 0;
	color: #FFF;
}
.sns a{
	display: block;
	width: 60px;
	margin-left: 40px;
	opacity: 1;
	transition: .5s;
}
.sns a:hover{
	opacity: .7;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.other.inner{
		max-width: 92.5vw;
		padding: 0 0 5.781vw;
	}
	.linkBanner{
		height: 16.641vw;
	}
	.linkBanner::after{
		width: 2.031vw;
		height: 2.031vw;
		bottom: 1.797vw;
		right: 1.797vw;
	}
	.linkBanner.line{
		margin-bottom: 1.563vw;
	}
	.linkBanner h3{
		font-size: 7.969vw;
	}
	.linkBanner p{
		font-size: 2.344vw;
	}
	/**/
	.sns{
		max-width: 64.844vw;
		height: 8.828vw;
		border-radius: 1.016vw;
		margin-top: 4.688vw;
	}
	.sns h3{
		font-size: 2.5vw;
	}
	.sns a{
		width: 4.688vw;
		margin-left: 3.125vw;
	}
}
@media screen and (max-width: 768px) {
	.other.inner{
		padding: 0 0 60px;
	}
	.linkBanner{
		height: auto;
		padding: 20px 10px 15px;
	}
	.linkBanner::after{
		width: 15px;
		height: 15px;
		bottom: 10px;
		right: 10px;
	}
	.linkBanner.line{
		border: solid 5px #06C755;
	}
	.linkBanner.member{
		border: solid 5px var(--main-color);
	}
	.linkBanner h3{
		font-size: 42px;
		margin-bottom: 5px;
	}
	.linkBanner p{
		font-size: 15px;
		line-height: 1.4;
	}
	/**/
	.sns{
		height: 113px;
		align-content: center;
		margin-top: 40px;
	}
	.sns h3{
		width: 100%;
		font-size: 22px;
		text-align: center;
		margin-bottom: 10px;
	}
	.sns a{
		display: block;
		width: 30px;
		margin: 0 10px;
	}
}
/*==================================================================================================*/
/*よくあるご質問-FAQ*/
.faq{
	padding: 84px 0 54px;
	background: #FFF;
}
.faq .inner{
	max-width: 960px;
}
.faq h2{
	width: fit-content;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--main-color);
}
.faq h2 span{
	display: block;
	font-family: "ITC Avant Garde Gothic bold";
	font-size: 102px;
}
.faq h2 + div{
	max-width: 700px;
}
.faq .btn{
	margin: 0 auto;
	margin-top: 40px;
}
/**/
.toggle {
	display: none;
}
.Label {
	display: block;
	font-size: 18px;
	padding: 18px 20px;
	padding-right: 60px;
	background: #FFF6EA;
	border: solid 1px var(--main-color);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {
	height: 0;
	letter-spacing: 0;
	padding: 0 30px;
	background: #EFEFEF;
	margin-bottom: 20px;
	overflow: hidden;
}
.Label::after{
	display: block;
	content: "";
	width: 16px;
	height: 16px;
	background: center / contain no-repeat url("../img/icon_arrow.svg");
	position: absolute;
	top: 27px;
    right: 24px;
    transform: rotateX(180deg);
	transition: .5s;
}
.toggle:checked + .Label::after{
	transform: rotateX(0deg);
}
.toggle:checked + .Label + .content {
	height: auto;
	padding: 18px 30px;
	border: 1px solid #ccc;
	border-top: none;
	transition: all .3s;
}
/**/
.Label01 + .content01 {
	height: auto;
	padding: 18px 30px;
	border: 1px solid #ccc;
	border-top: none;
}
.Label01::after{
	transform: rotateX(0deg);
}
.toggle:checked + .Label01 + .content01 {
	height: 0;
	padding: 0 30px;
	border: none;
	overflow: hidden;
}
.toggle:checked + .Label01::after{
	transform: rotateX(180deg);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.faq{
		padding: 6.563vw 0 4.219vw;
	}
	.faq .inner{
		max-width: 75vw;
	}
	.faq h2{
		font-size: 2.344vw;
	}
	.faq h2 span{
		font-size: 7.969vw;
	}
	.faq h2 + div{
		max-width: 54.688vw;
	}
	.faq .btn{
		margin-top: 3.125vw;
	}
	.Label {
		font-size: 1.406vw;
		padding: 1.406vw 1.563vw;
		padding-right: 4.688vw;
	}
	.content {
		padding: 0 2.344vw;
		margin-bottom: 1.563vw;
	}
	.Label::after{
		width: 1.25vw;
		height: 1.25vw;
		top: 2.109vw;
		right: 1.875vw;
	}
	.toggle:checked + .Label + .content {
		padding: 1.406vw 2.344vw;
	}
	.Label01 + .content01 {
		padding: 1.406vw 2.344vw;
	}
	.toggle:checked + .Label01 + .content01 {
		padding: 0 2.344vw;
	}
}
@media screen and (max-width: 768px) {
	.faq{
		padding: 60px 0;
	}
	.faq h2{
		font-size: 22px;
		margin-bottom: 40px;
	}
	.faq h2 span{
		font-size: 60px;
	}
	.Label {
		font-size: 15px;
		padding: 10px 15px;
		padding-right: 32px;
	}
	.content {
		padding: 0 15px;
		margin-bottom: 10px;
	}
	.Label::after{
		width: 10px;
		height: 10px;
		top: 19px;
		right: 15px;
	}
	.toggle:checked + .Label + .content {
		padding: 10px 15px;
	}
	.Label01 + .content01 {
		padding: 10px 15px;
	}
	.toggle:checked + .Label01 + .content01 {
		padding: 0 15px;
	}
}
/*==================================================================================================*/
/*footer*/
iframe{
	width: 100%;
	aspect-ratio: 4 / 1;
	position: relative;
	z-index: 10;
	margin-bottom: -2px;
}
footer{
	height: 560px;
	padding-top: 40px;
	background: var(--main-color);
	position: relative;
	z-index: 10;
}
footer .inner{
	max-width: 1156px;
}
footer .inner div{
	width: fit-content;
}
footer h2{
	max-width: 355px;
	margin-bottom: 20px;
}
footer p{
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0;
	color: #FFF;
	margin-bottom: 8px;
}
footer p + p{
	font-size: 12px;
}
footer a.map{
	display: block;
	width: 135px;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1;
	color: var(--main-color);
	padding: 4px 10px 6px;
	border-radius: 3px;
	background: #FFF;
	margin-bottom: 50px;
	position: relative;
	opacity: 1;
	transition: .5s;
}
footer a.map:hover{
	opacity: .7;
}
footer a.map::after{
	display: block;
	content: "";
	width: 17px;
	height: 17px;
	background: center / contain no-repeat url("../img/icon-map.svg");
	position: absolute;
	top: 50%;
    right: 7px;
    transform: translateY(-50%);
}
footer a.banner{
	display: block;
	width: 284px;
	opacity: 1;
	transition: .5s;
}
footer a.banner:hover{
	opacity: .7;
}
footer .tel{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 346px;
	height: 61px;
	font-size: 16px;
	font-weight: 700;
	color: var(--main-color);
	background: #FFF;
	border-radius: 50px;
	opacity: 1;
	transition: .5s;
	cursor:pointer;
}
footer .tel:hover{
	opacity: .7;
}
footer .tel a{
	font-size: 31px;
	letter-spacing: 0.1em;
	color: var(--main-color);
	margin-left: 10px;
}
small{
	display: block;
	width: 100%;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-align: center;
	color: #FFF;
	padding: 18px 0;
	position: absolute;
	bottom: 0;
}
@media (min-width: 769px) and (max-width: 1279px) {
	iframe{
		margin-bottom: -0.156vw;
	}
	footer{
		height: 43.75vw;
		padding-top: 3.125vw;
	}
	footer .inner{
		max-width: 90.313vw;
	}
	footer h2{
		max-width: 27.734vw;
		margin-bottom: 1.563vw;
	}
	footer p{
		font-size: 1.094vw;
		margin-bottom: 0.625vw;
	}
	footer p + p{
		font-size: 0.938vw;
	}
	footer a.map{
		width: 10.547vw;
		font-size: 1.094vw;
		padding: 0.313vw 0.781vw 0.469vw;
		border-radius: 0.234vw;
		margin-bottom: 3.906vw;
	}
	footer a.map::after{
		width: 1.328vw;
		height: 1.328vw;
		right: 0.547vw;
	}
	footer a.banner{
		width: 22.188vw;
	}
	footer .tel{
		width: 27.031vw;
		height: 4.766vw;
		font-size: 1.25vw;
		border-radius: 3.906vw;
	}
	footer .tel a{
		font-size: 2.422vw;
		margin-left: 0.781vw;
	}
	small{
		font-size: 0.781vw;
		padding: 1.406vw 0;
	}
}
@media screen and (max-width: 768px) {
	iframe{
		aspect-ratio: 2 / 1;
	}
	footer{
		height: 560px;
		padding-top: 40px;
		background: var(--main-color);
		position: relative;
		z-index: 10;
	}
	footer h2{
		max-width: 180px;
	}
	footer a.banner{
		margin-bottom: 60px;
	}
	footer .tel{
		width: 284px;
		height: 50px;
	}
	footer .tel a{
		font-size: 22px;
		margin-left: 10px;
	}
}

/*==================================================================================================*/
/* 無限ループスライダー */
.marquee-slider {
	width: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	background: #fff;
}
.marquee-wrap {
	display: flex;
	width: max-content;
}
.marquee-list {
	display: flex;
	padding: 0;
	margin: 0;
	list-style: none;
	animation: marquee-scroll 30s linear infinite;
}
.marquee-list li {
	width: 320px;
	height: 220px;
	flex-shrink: 0;
}
.marquee-list li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media screen and (max-width: 768px) {
	.marquee-list {
		animation: marquee-scroll 20s linear infinite;
	}
	.marquee-list li {
		width: 200px;
		height: 140px;
	}
}
@keyframes marquee-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}

/*==================================================================================================*/
/* Fixed Instagram Banner */
.fixed-insta-banner {
    position: fixed;
    top: 110px;
    right: 3%;
    width: 230px;
    background: #f1f1f1;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    text-decoration: none;
    z-index: 9998;
    overflow: hidden;
    transition: 0.3s;
}
.fixed-insta-banner:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.fixed-insta-banner .icon {
    width: 55px;
    height: 55px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}
.fixed-insta-banner .icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.fixed-insta-banner .text {
    flex: 1;
    padding: 0 10px;
}
.fixed-insta-banner .text p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700;
    color: #333 !important;
    margin: 0 !important;
    letter-spacing: 0.05em !important;
}

@media screen and (max-width: 768px) {
    .fixed-insta-banner {
        top: 80px;
        right: 15px;
        width: 200px;
    }
    .fixed-insta-banner .icon {
        width: 45px;
        height: 45px;
        padding: 8px;
    }
    .fixed-insta-banner .text p {
        font-size: 11px !important;
    }
}