@charset "UTF-8";

/*--------------------------------
reset
--------------------------------*/
html,body,div,p,img,iframe,a,span,blockquote,q,address,cite,
pre,code,em,small,strong,b,i,
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer,time,
h1,h2,h3,h4,h5,h6,
ul,ol,li,dl,dt,dd,
table,tbody,thead,tfoot,th,tr,td,
form,fieldset,legend,label,select,input,textarea,button{
	margin: 0;
	padding: 0;
	border: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: baseline;
}
header,article,section,nav,figure,figcaption,hgroup,menu,aside,footer{
	display: block;
}
ul li,
ol li{
	list-style-type: none;
}
h1,h2,h3,h4,h5,h6{
	font-weight: 500;
}
body{
	line-height: 1;
}
a{
	text-decoration: none;
}
img{
	vertical-align: middle;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
select,option,input,textarea,button{
	font: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
}
input[type=radio]{
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}
input[type=checkbox]{
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}
blockquote::before,blockquote::after,q::before,q::after{
	content: '';
	content: none;
}
[type=submit],[type=button],[type=reset],[type=file],button{
	cursor: pointer;
}
:focus{
	outline: none;
}
html{
	font-size: 62.5%;
}
body{
	font-family: YakuHanMP, "Shippori Mincho", "A1 Mincho", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 1.4rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	color: #333;
	-webkit-font-feature-settings: "pkna";
	font-feature-settings: "pkna";
	-webkit-font-smoothing: antialiased;
}
a {
	color: #006d9e;
	transition: opacity .8s ease-out;
	-webkit-tap-highlight-color: rgba(238, 223, 227, 0.2);
}
a:hover{
	opacity: .8;
}
sup,
sub{
	font-size: xx-small;
}
hr{
	width: 100%;
	height: 1px;
	border: none;
	background-color: #ccc;
}

/*--------------------------------
common
--------------------------------*/
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.ivy-font{
	font-family: "ivyora-display", "serif";
}
.manrope-font{
	font-family: "Manrope","Noto Sans JP", serif;
}
.garamond-font{
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: italic;
}
.small-text {
	font-size: 60%;
}
.large-text{
	font-size: 150%;
}
.fit-img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.object-fit{
	height: 100%;
	object-fit: cover;
}
.has-max {
	height: auto;
	max-width: 100%;
}
.flex-wrapper {
	display: flex;
	flex-wrap: wrap;
}
.justify-content {
	justify-content: flex-end;
}
.justify-center{
	justify-content: center;
}
@media screen and (max-width: 767px){
	.sp-justify-start{
		justify-content: flex-start;
	}
	.sp-text-center{
		text-align: center;
	}
}
.flex-nowrap{
	flex-wrap: nowrap;
}
.align-center{
	align-items: center;
}
.has-gap{
	gap: 32px;
}
.col-2{
	width: 50%;
}
.col-3{
	width: calc(100% / 3);
}
.col-4{
	width: calc(100% / 4);
}
.has-gap .col-2{
	width: calc(50% - 16px);
}
.has-gap .col-3{
	width: calc(100% / 3 - 50px);
}
.has-gap .col-4{
	width: calc(100% / 4 - 24px);
}
@media screen and (max-width: 900px){
	.has-gap{
		gap: 16px;
	}
	.col-2,
	.has-gap .col-2,
	.col-3,
	.has-gap .col-3{
		width: 100%;
	}
}
.img-wrapper{
	position: relative;
}
.img-wrapper .caption{
	position: absolute;
	bottom: 0;
	left: 8px;
	right: 8px;
	z-index: 1;
}
.inline-block{
	display: inline-block;
}
.grid-wrapper{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 940px){
	.grid-wrapper{
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 767px){
	.grid-wrapper{
		grid-template-columns: 1fr;
	}
}
.vertical-text {
	/* -webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl; */
	-webkit-text-orientation: upright;
	text-orientation: upright;
	-webkit-font-feature-settings: normal;
	font-feature-settings: normal;
	line-height: 1;
}
@supports (-moz-appearance: none) {
	.vertical-text {
		-moz-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
	}
}


/*--------------------------------
componet
--------------------------------*/
.primary-heading{
	margin-bottom: .3em;
	font-size: clamp(2.4rem, 2vw, 3.4rem);
	line-height: 1.2;
}
.secondary-heading{
	margin-bottom: .8em;
	font-size: clamp(1.7rem, 1.5vw, 2.6rem);
	line-height: 1.3;
}
.tertiary-heading{
	margin-bottom: .8em;
	font-size: clamp(1.7rem, 1.4vw, 2.2rem);
	line-height: 1.6;
}
.primary-heading.mb-none{
	margin-bottom: 0;
}
.secondary-heading.mb-none{
	margin-bottom: 0;
}
.tertiary-heading.mb-none{
	margin-bottom: 0;
}
.note{
	margin: 1em 0;
	font-size: clamp(1.4rem, 0.95vw, 1.6rem);
	font-weight: 400;
	line-height: 1.6;
}
.lead{
	margin: 1em 0;
	font-size: clamp(1.6rem, 1vw, 1.8rem);
	font-weight: 400;
	line-height: 1.6;
}
.has-none{
	margin-bottom: 0;
}
.mb-wide{
	margin-bottom: 1.6em;
}
.caption{
	margin: .4em 0;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.4;
}
@media screen and (max-width: 767px){
	.caption{
		font-size: 1rem;
	}
	.mb-wide{
		margin-bottom: 1.2em;
	}
}
.btn{
	padding: 8px 16px;
	display: inline-block;
	position: relative;
	background: #2c2c2c;
	color: #fff;
	font-size: 1.6rem;
	transition: all .3s ease-out;
}
.general-btn{
	padding: 0 16px;
	width: 100%;
	max-width: 460px;
	height: 70px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: transparent;
	color: #fff;
	font-size: 2.4rem;
	border-radius: 35px;
	border: 1px solid;
}
.general-btn.return-btn{
	margin-top: 1em;
	background: #2C2C2C;
}
.general-btn:hover{
	background-color: #fff;
	color: #333;
	border-color: #fff;
}
.general-btn.return-btn:hover{
	background-color: #fff;
	color: #2C2C2C;
	border-color: #2C2C2C;
}
.local-btn{
	margin: 0 4px;
	padding: 0 16px;
	width: 100%;
	max-width: 345px;
	height: 60px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background: transparent;
	color: var(--color-wh);
	font-size: 1.8rem;
	line-height: 1.2;
	border-radius: 35px;
	border: 1px solid;
	&.is-bk{
		color: var(--color-bk);
		&:hover{
			background-color: var(--color-bk);
			color: var(--color-wh);
			border-color: var(--color-bk);
		}
	}
}
.local-btn:hover{
	background-color: var(--color-wh);
	color: var(--color-bk);
	border-color: var(--color-wh);
}
@media screen and (max-width: 767px){
	.general-btn{
		height: 54px;
		font-size: 1.8rem;
		line-height: 54px;
	}
	.local-btn{
		height: 44px;
		font-size: 1.6rem;
		line-height: 44px;
	}
}
.key-btn{
	background-color: #406555;
	border: none;
}
.key-btn:hover{
	background-color: #355446;
	color: #fff;
}
.key-btn2{
	background-color: #707070;
	border: none;
}
.key-btn2:hover{
	background-color: #858585;
	color: #fff;
}
.reserve-btn{
	background-color: #ddd2b8;
	color: #333;
	border: none;
}
.reserve-btn:hover{
	background-color: #bbb096;
	color: #333;
}
.reserve-btn.is-end{
	background-color: transparent;
	color: #c70500;
	border: 1px solid;
	border-radius: 0;
	pointer-events: none;
}
.bg-light{
	background-color: #ebebeb;
}
.bg-gray{
	background: #f2f2f2;
}
.text-link{
	color: inherit;
	text-decoration: underline;
}
.video-wrapper{
	position: relative;
	padding-top: 56.25%;
	height: 0;
	display: block;
	content: "";
}
.video-wrapper iframe,
.video-wrapper video{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.loading{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	content: "";
}
.general-box{
	padding: 32px 16px;
	background: #fff;
}
.local-box{
	margin-bottom: 32px;
	padding: 32px 16px;
	border: 2px solid #002662;
}
@media screen and (max-width: 767px){
	.local-box{
		margin-bottom: 16px;
		padding-bottom: 16px;
	}
}

/*--------------------------------
layout
--------------------------------*/
.container{
	overflow: hidden;
}
.general-section .inner{
	margin: 0 auto;
	padding: 120px 0;
	width: calc(100% - 48px);
	max-width: 1000px;
}
@media screen and (max-width: 767px){
	.general-section .inner{
		padding: 48px 0;
	}
}
.general-section .inner-fit{
	width: 100%;
	max-width: none;
}
.general-section .inner-full{
	max-width: none;
}
.general-section .inner-wide{
	max-width: 1200px;
}
.general-section .inner-wider{
	max-width: 1300px;
}
.general-section .inner-narrow{
	max-width: 700px;
}
.general-section .inner + .inner{
	padding-top: 0;
}
.general-section .inner-big{
	padding: 200px 0;
}
.general-section .inner-min{
	padding: 64px 0;
}
@media screen and (max-width: 767px){
	.general-section .inner-big{
		padding:100px 0;
	}
	.general-section .inner-min{
		padding: 32px 0;
	}
}
.general-parts{
	margin-bottom: 64px;
}
.general-parts-min{
	margin-bottom: 32px;
}
@media screen and (max-width: 767px){
	.general-parts{
		margin-bottom: 32px;
	}
	.general-parts-min{
		margin-bottom: 16px;
	}
}
.btn-space{
	margin: 32px 0;
	text-align: center;
}
@media screen and (max-width: 767px){
	.btn-space{
		margin: 32px 0 16px;
	}
}

/*--------------------------------
header
--------------------------------*/
.navigation-bar{
	/* display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(5px);
	transform: translateY(-105px);
	transition: .3s cubic-bezier(0.65, 0, 0.35, 1); */
}
.is-nav-show .navigation-bar{
	/* transform: translateY(0); */
} 
.global-nav{
	padding: 10vh 5.7vw;
	position: fixed;
	inset: 0;
	background: rgba(255, 255, 255, .4);
	z-index: 9;
	transform: translateX(50vw);
	opacity: 0;
	transition: transform .6s cubic-bezier(0.83, 0, 0.17, 1), opacity .1s cubic-bezier(0.83, 0, 0.17, 1), background 1s cubic-bezier(0.83, 0, 0.17, 1);
	pointer-events: none;
}
.is-open .global-nav{
	transform: translateX(0);
	background: rgba(255, 255, 255, 1);
	opacity: 1;
	pointer-events: all;
	transition: transform .3s cubic-bezier(0.83, 0, 0.17, 1), opacity .1s cubic-bezier(0.83, 0, 0.17, 1),background .3s cubic-bezier(0.83, 0, 0.17, 1);
}
.nav-inner{
	height: 80vh;
	display: flex;
	align-items: flex-end;
	gap: 6.8vw;
}
.nav-image{
	aspect-ratio: 600 / 929;
	height: 100%;
	background: url(../img/nav-img.webp) no-repeat center center;
	background-size: cover;
	transform: scale(1.2);
	opacity: 0;
	filter: blur(30px);
	transition: 1.3s cubic-bezier(0.33, 1, 0.68, 1) 0s;
}
.is-open .nav-image{
	opacity: 1;
	filter: blur(0);
	transform: scale(1);
	transition: 1.5s cubic-bezier(0.33, 1, 0.68, 1) .3s;
}
@media screen and (max-width: 767px){
	.global-nav{
		padding: 59px 24px;
	}
	.nav-inner{
		height: 80vh;
		flex-direction: column;
		align-items: flex-start;
		gap: 6.8vw;
	}
	.nav-image {
		aspect-ratio: 928 / 490;
		height: auto;
		width: 100%;
	}
}
.nav-title{
	font-size: clamp(4.2rem, 4.5vw, 8rem);
	line-height: 1.2;
	opacity: 0;
	transform: translateX(20px);
	transition: 1s cubic-bezier(0.33, 1, 0.68, 1) 0s;
}
.is-open .nav-title{
	opacity: 1;
	transform: translateX(0);
	transition: 1s cubic-bezier(0.33, 1, 0.68, 1) .7s;
}
.nav-title::after{
	margin: 64px 0;
	width: 92px;
	height: 2px;
	display: block;
	content: "";
	background: #d7d7d7;
}
@media screen and (max-width: 767px){
	.nav-title::after{
		margin: 32px 0;
	}
	.nav-menu{
		padding: 0 16px;
	}
}
.global-nav-wrap{
	margin-bottom: 40px;
	display: grid;
	gap: 40px;
}
.global-nav-wrap li{
	opacity: 0;
	transform: translateX(20px);
	transition: 1s cubic-bezier(0.33, 1, 0.68, 1) 0s;
}
.is-open .global-nav-wrap li:nth-child(1){
	transition-delay: .7s;
}
.is-open .global-nav-wrap li:nth-child(2){
	transition-delay: .8s;
}
.is-open .global-nav-wrap li:nth-child(3){
	transition-delay: .9s;
}
.is-open .global-nav-wrap li:nth-child(4){
	transition-delay: 1s;
}
.is-open .global-nav-wrap li:nth-child(5){
	transition-delay: 1.1s;
}
.is-open .global-nav-wrap li:nth-child(6){
	transition-delay: 1.2s;
}
.is-open .global-nav-wrap li:nth-child(7){
	transition-delay: 1.3s;
}
.is-open .global-nav-wrap li{
	opacity: 1;
	transform: translateX(0);
}
.global-nav .nav-link{
	color: #333;
	font-family: YakuHanJP, "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-size: 1.6rem;
}
@media screen and (max-width: 767px){
	.navigation-bar::after{
		height: 80px;
	}
	.global-nav-wrap{
		/* height: 50px; */
		gap: 24px;
	}
	.global-nav .nav-link{
		font-size: 1.2rem;
	}
}
.privilege .navigation-bar{
	position: relative;
}
.privilege .navigation-bar::after{
	display: none;
}
.privilege .global-nav .nav-link{
	color: #333;
}
.hamburger{
	width: 50px;
	height: 50px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	justify-content: center;
	align-items: center;
	position: fixed;
	background: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(13px);
	top: 16px;
	right: 16px;
	border-radius: 8px;
	z-index: 10;
}
.hamburger i{
	width: 32px;
	height: 2px;
	display: block;
	content: "";
	background: #464646;
	transition: .3s cubic-bezier(0.83, 0, 0.17, 1);
}
.is-open .hamburger i:nth-child(2){
	opacity: 0;
}
.is-open .hamburger i:nth-child(1){
	transform: translateY(8px) rotate(-45deg);
}
.is-open .hamburger i:nth-child(3){
	transform: translateY(-8px) rotate(45deg);
}
@media screen and (max-width: 767px){
	.hamburger{
		top: 8px;
		right: 8px;
	}
}

/*--------------------------------
footer
--------------------------------*/
.banner-space{
	justify-content: center;
	gap: .9vw;
}
.banner-item{
	width: calc(50% - 0.45vw);
	max-width: 313px;
}
.footer-lists{
	background-color: var(--color-bl);
	padding: 72px 0 60px;
	color: var(--color-wh);
}
.footer-lists .inner{
	margin: 0 auto;
	width: calc(100% - 48px);
	max-width: 1200px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	align-items: baseline;
}
.footer-list:first-child{
	width: 25%;
}
.footer-list:nth-child(2){
	width: 55%;
}
.footer-branz-logo{
	margin-bottom: 40px;
}
.caption-container{
	padding: 40px 0;
}
.footer-list p{
	line-height: 2;
	font-size: 1.2rem;
	margin-bottom: 1rem;
}
.footer-list p a{
	color: #fff;
}
.footer-list:first-child p{
	line-height: 1.5;
}
.footer-list .footer-title{
	font-size: 1.8rem;
	letter-spacing: .1rem;
	margin-bottom: 20px;
}
.footer-list .tel-num{
	line-height: 0;
}
.footer-list .tel-num a{
	display: flex;
	align-items: center;
	font-size: 3rem;
	letter-spacing: .1rem;
}
.footer-list .tel-num img{
	width: 36px;
	margin-right: 12px;
	margin-top: 3px;
}
.sectionItem{
	width: calc(100% - 32px);
	max-width: 1250px;
	margin: 0 auto;
}
.corpolation-logo{
	padding: 32px 0;
	position: relative;
	overflow: hidden;
	.tokyu-logo{
		width: 110px;
		display: block;
		position: absolute;
		bottom: 32px;
		right: 1.5%;
	}
}
.corpolation-link{
	padding: 32px 16px;
}
.copyright{
	padding: 16px;
	background: #2C2C2C;
	color: #fff;
	font-size: 1rem;
	font-style: normal;
	text-align: center;
}
@media screen and (max-width: 1023px){
	.footer-list .tel-num a{
		font-size: 2.2rem;
	}
	.footer-list .tel-num img{
		width: 32px;
		margin-right: 10px;
	}
}
@media screen and (max-width: 767px){
	.footer-lists{
		padding: 24px 0;
	}
	.footer-lists .inner{
		width: 85%;
		display: flex;
		flex-wrap: wrap;
		gap: 16px;
		justify-content: space-between;
		align-items: baseline;
	}
	.footer-list:first-child{
		width: 100%;
		margin-right: 0;
	}
	.footer-list:nth-child(2){
		width: 100%;
	}
	.footer-list:nth-child(3){
		width: 100%;
	}
	.footer-list:last-child{
		width: 100%;
		margin-top: 10px;
	}
	.footer-branz-logo{
		margin-bottom: 30px;
		width: 86%;
	}
	.footer-list .footer-title{
		margin-bottom: 0;
	}
	.footer-list .tel-num{
		margin-bottom: 50px;
	}
	.footer-list .tel-num a{
		font-size: 3.8rem;
	}
	.footer-list .tel-num img{
		width: 46px;
		margin-right: 12px;
	}
	.corpolation-logo{
		.tokyu-logo{
			margin: 20px auto 0;
			width: 140px;
			position: static;
		}
	}
	.caption-container{
		padding: 20px 0;
	}
}


/*--------------------------------
home
--------------------------------*/
/* .hero .img-wrapper::after{
	margin: 0 20px;
	position: absolute;
	right: 25vw;
	top: 50%;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 35px solid rgba(255, 255, 255, 0.9);
	border-right: 0;
	transform: translateY(-50%);
}
.hero .img-wrapper::before{
	position: absolute;
	right: 25vw;
	top: 50%;
	content: "";
	width: 80px;
	height: 80px;
	border: 1px solid rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	transform: translateY(-50%);
}
@media screen and (max-width: 767px){
	.hero .img-wrapper::after{
		margin: 0;
		right: 49vw;
		top: 25%;
		transform: translate(50%,-50%);
	}
	.hero .img-wrapper::before{
		right:50vw;
		top: 25%;
		transform: translate(50%,-50%);
	}
} */

.faq-wrap{
	justify-content: space-between;
}
.faq-box{
	width: 286px;
	aspect-ratio: 286 / 612;
	display: flex;
	gap: 16px;
	position: relative;
	flex-direction: column;
	background: url(../img/faq.webp) no-repeat center top #fff;
	background-size: 100% auto;
	border: 1px solid #ccc;
}
.question{
	height: 42%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.answer{
	color: #333;
	height: 30%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(3.3rem,2.3vw,4rem);
	line-height: 1.2;
}
.faq-box .img-wrapper{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
@media screen and (max-width: 767px){
	.faq-wrap{
		margin-left: -24px;
		margin-right: -24px;
	}
	.faq-box{
		margin: 0 8px;
	}
	.question .secondary-heading{
		font-size: 20px;
	}
}
.service-wrap{
	gap: 40px;
	justify-content: center;
}
.service-item{
	min-width: 162px;
	padding: 21px 0;
	border-bottom: 1px solid #707070;
}
.service-item .lead,
.service-item .note{
	margin: 0;
}
.service-icon{
	margin: 0 auto 16px;
	width: 98px;
	height: 98px;
	display: block;
	background: #fff;
	border-radius: 50%;
}
@media screen and (max-width: 767px){
	.service-wrap{
		gap: 16px;
	}
	.service-item{
		width: 98px;
		min-width: auto;
		padding: 16px 0;
	}
	.service-icon{
		margin: 0 auto 16px;
		width: 65px;
		height: 65px;
	}
	.service-item .lead{
		font-size: 1.2rem;
	}
	.service-item .note{
		font-size: 1rem;
	}
}
.concierge-box{
	gap: 36px 20px;
}
.concierge-img{
	width: 42.8%;
	position: relative;
	background: url(../img/concierge-img.webp) no-repeat center center;
	background-size: cover;
}
.concierge-thumb{
	position: relative;
}
.concierge-thumb-btn{
	position: absolute;
	width: 12%;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}
@media screen and (max-width: 767px){
	.concierge-img{
		width: 100%;
		height: 150px;
	}
}
.badge{
	width: 28%;
	min-width: 90px;
	height: auto;
	position: absolute;
	left: 8px;
	top: 8px;
}
.concierge-text{
	padding: 8px;
	width: calc(50% - 10px);
	background: #fff;
	box-shadow: 3px 3px 6px rgba(0,0,0,.16);
}
.concierge-text.wide{
	width: 100%;
}
.concierge-text-inner{
	padding: 16px 16px 28px;
	height: 100%;
}
.concierge-text-inner .btn-space {
	margin-top: 0;
	margin-bottom: 0;
}
.concierge-text:first-child .concierge-text-inner{
	border: 1px solid #8E8663;
}
.concierge-text:nth-of-type(2) .concierge-text-inner{
	border: 1px solid #406555;
}
.concierge-text:last-child .concierge-text-inner{
	border: 1px solid #8E8663;
}
.concierge-text:first-child .concierge-text-inner .lead{
	color: #406555;
	font-size: clamp(1.8rem, 1vw, 2.2rem);
}
.concierge-text:first-child .concierge-text-inner .note{
	margin-top: 0;
}
.concierge-text:last-child .concierge-text-inner{
	border: 1px solid #8E8663;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 28px 60px;
}
.concierge-text:last-child .concierge-text-inner .concierge-text-head {
	width: 100%;
	max-width: 100%;
	display: flex;
	gap: 8px;
	align-items: baseline;
}
.concierge-text-item{
	width: 50%;
}
.concierge-text:last-child .concierge-text-inner .key-btn{
	background: #8E8663;
}
.concierge-text:last-child .concierge-text-inner .btn-space{
	width: calc(50% - 16px);
	text-align: right;
}
.concierge-text-head{
	max-width: 460px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #8E8663;
}
.concierge-text-head .secondary-heading{
	font-size: clamp(2.2rem, 2.8vw, 3.4rem);
	margin-bottom: 0;
}
.concierge-text-head .note{
	margin-top: .2em;
	margin-bottom: 0;
}
.concierge-text-body .note{
	margin: 0;
}
.concierge-head{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100px;
}
.concierge-head .tertiary-heading {
    margin-bottom: 0;
    font-size: clamp(1.6rem, 1.4vw, 2rem);
    line-height: 1.6;
}
@media screen and (max-width: 1200px){
	.concierge-text:last-child .concierge-text-inner {
			padding: 28px 32px;
	}
}
@media screen and (max-width: 1000px){
	.concierge-text:last-child .concierge-text-inner {
			padding: 28px 16px;
	}
}
@media screen and (max-width: 767px){
	.concierge-text{
		padding: 4px;
		width: 100%;
	}
	.concierge-box {
		flex-direction: column;
		gap: 20px;
	}
	.concierge-text:last-child .concierge-text-inner {
    padding: 28px 16px;
		flex-direction: column;
		text-align: center;
	}
	.concierge-text-item {
    width: 100%;
	}
	.concierge-text:last-child .concierge-text-inner .btn-space {
		width: 100%;
    text-align: center;
		margin-top: 16px;
	}
	.concierge-text:last-child .concierge-text-inner .concierge-text-head {
		display: block;
		text-align: center;
	}
}
.about-section{
	background-color: #707070;
	color: #fff;
	position: relative;
}
.about-section .caption {
    position: absolute;
    bottom: 0;
    left: 8px;
    right: 8px;
    z-index: 1;
}
.gallery-symbol{
	position: absolute;
	left: clamp(24px, 3vw ,64px);
	top: -0.5em;
	font-size: 5.3vw;
	color: rgba(255, 255, 255, 0.3);
	letter-spacing: .05em;
}
.about-text-wrap{
	position: relative;
	z-index: 1;
	margin-bottom: 100px;
}
.about-text-wrap .tertiary-heading{
	margin-bottom: 95px;
}
.bg-img{
	position: absolute;
	transition: 0s;
	opacity: .7;
}
.bg-img-02{
	top: 18vw;
	right: 5%;
	width: 20%;
}
.bg-img-03{
	top: 35vw;
	left: 8%;
	width: 18%;
}
@media screen and (max-width: 767px){
	.gallery-symbol{
		left: 0;
		top: -.1em;
		font-size: 12vw;
	}
	.about-text-wrap{
		margin-bottom: 48px;
	}
	.about-text-wrap .tertiary-heading{
		margin-bottom: 1.2em;
	}
	.bg-img .caption{
		display: none;
	}
	.bg-img-02{
		top: 40vw;
		right: 0;
		width: 25%;
	}
	.bg-img-03{
		top: 150vw;
		left: 0;
		width: 24%;
	}
}

.events-wrap{
    background: #e9edef;
}
.event-container{
	/* padding-left: 22vw; */
	margin-top: 80px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 24px;
}
.home .event-container{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.event-container .slick-item{
	max-width: 407px;
}
.event-container .slick-item.is-hide{
	display: none;
}
.banner-grid{
	grid-column: span 3;
}
.pickup-container{
	margin-top: 80px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	img{
		box-shadow: 0px 0px 6px rgba(0, 0, 0, .16);
	}
}
/* .pickup-wrap{
	background: #d8d7d0;
} */
.archive-wrap{
	background: #667778;
}
.limited-archive .page-heading{
	transform: translate(0, -50%);
	left: max(24px, 3%);
	width: auto;
	display: inline-block;
}
.limited-archive .page-heading .en{
	font-size: clamp(30px, 4vw, 70px);
}
.limited-archive .page-heading-sub{
	margin-top: 12px;
	padding-top: 12px;
	font-size: clamp(14px, 2vw, 20px);
	border-top: 1px solid rgba(255, 255, 255, .5);
	color: rgba(255, 255, 255, .7);
}
.li-archive-wrap{
	background: #8e8e8e;
}
.li-archive-wrap .event-container{
	display: flex;
	justify-content: center;
}
.events-wrap .event-title br, .archive-wrap .event-title br{
	display: none;
}
@media screen and (max-width: 767px){
	.li-archive-wrap .event-container{
		display: grid;
	}
}
.general-section .inner + .inner.nega-margin-top{
	margin-top: -48px;
}
/* @media screen and (min-width: 1348px){
	.event-container{
		margin-right: calc((100vw - 1200px) / -2 + 50px);
	}
}
@media screen and (min-width: 768px) and (max-width: 1347px){
	.event-container{
		margin-right: -24px;
	}
} */
@media screen and (max-width: 767px){
	.event-container{
		margin-top: 32px;
		padding-left: 0;
		/* padding-bottom: 60px; */
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.event-container .slick-list{
		overflow: visible;
	}
	.banner-grid{
		grid-column: span 1;
	}
	.pickup-container{
		margin-top: 32px;
		padding-left: 0;
		grid-template-columns: 1fr;
	}
}
/* .event-container .slick-item{
	transform: translateX(calc(-64% - 32px));
}
@media screen and (min-width: 1151px) and (max-width: 1347px){
	.event-container .slick-item {
		transform: translateX(calc(14vw - 32px));
	}
}
@media screen and (min-width: 768px) and (max-width: 1150px){
	.event-container .slick-item {
		transform: translateX(calc(-9.5vw - 32px));
	}
}
@media screen and (max-width: 767px){
	.event-container .slick-item{
		transform: unset;
	}
} */
.event-link{
	/* margin-right: 32px; */
	display: block;
	color: inherit;
	&.is-ended {
		pointer-events: none;
		cursor: default;
		.event-label{
			background-color: #8e1818;
		}
		.event-btn{
			background-color: #adadad;
		}
	}
}
.event-box{
	max-width: 384px;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
}
.chrismas-wrap .event-box{
	border-radius: 0;
}
.event-box .js-modal-open{
	cursor: pointer;
}
.event-thumb{
	aspect-ratio: 58 / 35;
	/* aspect-ratio: 384 / 270; */
	&.limited{
		position: relative;
		&::before{
			content: "居住者限定";
			max-width: 106px;
			width: 100%;
			height: 30px;
			display: grid;
			place-items: center;
			background-color: var(--color-wh);
			position: absolute;
			top: 18px;
			left: 11px;
			border-radius: 50px;
			color: var(--color-bl);
			font-family: var(--font-gothic);
			font-size: 1.5rem;
			font-weight: 600;
			line-height: 30px;
		}
	}
}
.event-info{
	padding: 24px;
}
.event-data-flex{
	justify-content: space-between;
}
.event-label{
	margin-left: 8px;
	padding: 2px 16px;
	background: #406555;
	color: #fff;
	font-size: 1.3rem;
	border-radius: 4px;
	line-height: 32px;
}
.archive .event-label{
	margin-left: 0;
	margin-right: 8px;
}
.event-label.is-end{
	background-color: #c70500;
}
.event-date{
	font-size: 1.6rem;
	line-height: 32px;
}
.event-title{
	margin: 1em 0 .6em;
	padding-top: 1em;
	font-size: 1.8rem;
	font-weight: 500 !important;
	line-height: 1.75;
	clear: both;
	border-top: 1px solid #707070;
}
.event-note{
	font-size: 1.4rem;
	line-height: 1.5;
}
.event-btn{
	/* background: #ddd2b8; */
	margin: 0 auto clamp(32px, 4.8vw, 48px);
	max-width: 345px;
	width: 80%;
	background-color: var(--color-bl);
	height: 60px;
	text-align: center;
	line-height: 60px;
	font-size: 1.6rem;
	display: block;
	color: var(--color-wh);
	position: relative;
	border-radius: 50px;
}
.event-btn.is-end{
	margin: -8px 24px 16px;
	background: transparent;
	/* line-height: 42px; */
	color: #c70500;
	border: 1px solid;
}
.chrismas-wrap .event-btn {
    background: #7C191E;
	color: #fff;
}
.video-label{
	margin-top: 12px;
	display: block;
	max-width: 140px;
	background-color: #222;
	color: #fff;
	padding: 6px 12px;
	font-size: 1.4rem;
	border-radius: 8px;
	line-height: 1.4;
	text-align: center
}
.video-label i{
	margin-right: 8px;
	color: #fff;
	opacity: 1;
}
.js-end-head p{
	text-align: center;
	font-size: clamp(2rem, 1.5vw, 2.4rem);
	line-height: 1.5;
	font-weight: 600;
	margin-bottom: 64px;
	color: #406555;
}
@media screen and (max-width: 767px){
	.event-info{
		padding: 16px;
	}
	.event-label{
		padding: 0 20px;
		font-size: 1.2rem;
		line-height: 24px;
	}
	.event-date{
		font-size: 1.6rem;
		line-height: 24px;
	}
	.event-title{
		font-size: 1.4rem;
	}
	.event-note{
		font-size: 1.2rem;
	}
	.event-btn{
		height: 40px;
		line-height: 40px;
		font-size: 1.4rem;
	}
	.event-btn.is-end{
		line-height: 30px;
	}
}

.favor-wrap{
	gap: 16px;
	justify-content: center;
}
.favor-item{
	width: 313px;
}
/* .js-open-modal-02 .favor-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
} */
.js-open-modal-02 .favor-item{
	width: 294px;
}
.js-open-modal-02 .general-section .inner {
    padding: 40px 0;
}
.js-open-modal-02 .general-section .inner + .inner {
    padding-top: 0;
}
@media screen and (max-width: 767px){
	.favor-item{
		width: 225px;
	}
	.js-open-modal-02 .favor-wrap{
		grid-template-columns: 1fr;
	}
	.js-open-modal-02 .general-section .inner {
    	padding: 40px 0;
	}
}
.js-open-modal-03.modal {
	max-width: 580px;
}
.js-open-modal-03 .modal-inner {
    background: transparent;
}
.js-open-modal-03 .chrismas-wrap{
	background: #365668;
	padding-bottom: 32px;
}
.js-open-modal-03 .modal-close{
	right: 0;
}
.js-open-modal-03 .chrismas-wrap .event-note{
	margin: 1em 0 2em;
	padding: 0 16px;
}
.chrismas-btn{
	margin: 28px auto 0;
	max-width: 350px;
	width: calc(100% - 48px);
	background: #C1B997;
	color: #333;
	border-radius: 30px;
	height: 52px;
	font-size: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.access-wrap{
	background: #fff;
}
.access-list-wrap{
	gap: clamp(48px, 8vw, 86px);
	align-items: center;
}
.access-map{
	width: 45%;
	max-width: 560px;
}
.access-info{
	flex: 1;
}
.access-branz-logo{
	margin-top: 64px;
	margin-bottom: 60px;
}
.access-text{
	font-size: 1.8rem;
	line-height: 2;
	margin-bottom: 10px;
}
.access-text span{
	font-size: 130%;
}
.google{
	font-size: 1.8rem;
	margin-top: 86px;
}
.google a{
	display: flex;
	align-items: center;
	color: #333;
}
.google img{
	width: 30px;
	margin-left: 20px;
}
@media screen and (max-width: 767px){
	.access-list-wrap{
		flex-wrap: wrap-reverse;
	}
	.access-list-wrap li{
		width: 100%;
		margin: 0 auto;
	}
	.access-branz-logo{
		margin-top: 24px;
		margin-bottom: 24px;
	}
	.access-text{
		font-size: 1.4rem;
	}
	.google{
		font-size: 1.4rem;
		margin-top: 24px;
	}
}

.modal {
	width: calc(100% - 32px);
	max-width: 1000px;
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 121;
}
.modal-inner {
	max-height: 75vh;
	overflow: auto;
	background: #fff;
}
.modal-inner > .general-section{
	margin: 8px;
	border: 1px solid #8e8663;
}
.modal-title{
	color: #8e8663;
}
.modal-title.primary-heading{
	margin-bottom: .2em;
	font-size: clamp(3rem, 2.4vw, 3.8rem);
}
.modal-title.tertiary-heading{
	padding-bottom: 16px;
	border-bottom: 1px solid #8e8663;
}
.modal-close {
	width: 30px;
	fill: #fff;
	position: absolute;
	top: -34px;
	right: 4px;
	cursor: pointer;
	z-index: 1;
}
.modal-fixed{
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
}
.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
    height: 100%;
    margin: auto;
	background: rgba(0, 0, 0, .6);
	z-index: 101;
}
.gallery-modal{
	text-align: center;
	margin: 0 auto 30px;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 35px 0;
	letter-spacing: .1rem;
    background: rgba(0, 0, 0, 0.2);
	border: 1px solid #fff;
	max-width: 350px;
    width: 100%;
    height: 120px;
	border-radius: 60px;
}
.gallery-modal a{
	color: #fff;
}
.gallery-modal a span{
	font-size: 75%;
}
@media screen and (max-width: 767px){
	.modal-close {
		right: 16px;
	}
	.overlay {
		width: 100%;
	}
	.gallery-modal{
		font-size: 1.6rem;
		line-height: 1.2;
		padding: 20px 0;
		width: 80%;
		height: 80px;
		border-radius: 40px;
	}
}
/*--------------------------------
concierge
--------------------------------*/
.sec-concierge{
	padding-top: 100px;
	background: url(../img/bg-concierge.webp) no-repeat center center;
	background-size: cover;
	color: #fff;
}
.sec-concierge .service-item{
	border-color: #fff;
}
.gallery-outer{
	margin-bottom: 40px;
}
.toggle-box{
	background: #fff;
	color: #333;
	border-radius: 84px 84px 0 0;
}
.gallery-wrap{
	justify-content: center;
	gap: 4vw;
}
.gallery-item{
	width: calc(100% / 3 - 8vw / 3);
	max-width: 227px;
}
@media screen and (max-width: 767px){
	.sec-concierge{
		padding-top: 50px;
	}
	.toggle-box{
		border-radius: 42px 42px 0 0;
	}
}
.gallery-link{
	color: inherit;
}
.gellery-icon{
	border-radius: 209px;
	overflow: hidden;
}
.gallery-item .note{
	margin-bottom: 0;
}
.gallery-item .tertiary-heading{
	margin-top: 0;
	margin-bottom: .4em;
}
@media screen and (max-width: 767px){
	.gallery-item .note{
		font-size: 1.1rem;
	}
	.gallery-item .tertiary-heading{
		font-size: 1.4rem;
	}
	.gallery-cap{
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid #ccc;
	}
}

/*--------------------------------
privilege
--------------------------------*/
.privilege .container{
	overflow: unset;
}
.general-table{
	width: 100%;
}
.general-table thead th{
	position: sticky;
	top: 0;
	z-index: 1;
	background: #fff;
	border-bottom: 1px solid #707070;
}
.general-table th{
	text-align: center;
}
.general-table th,
.general-table td{
	padding: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	vertical-align: middle;
	border: 1px solid #707070;
}
.general-table td.border-none{
	border: none;
}
.general-table tbody tr:nth-child(odd) td{
	background: #f0f0f0;
}
.general-table .vertical-text{
	width: 100%;
	display: flex;
	align-items: center;
}
.th-group{
	width: 64px;
}
@media screen and (max-width: 767px){
	.general-table thead{
		display: none;
	}
	.general-table th,
	.general-table td{
		padding: 8px 0;
		display: block;
		font-size: 1.4rem;
		text-align: left;
		border: none;
		border-bottom: 1px solid #ccc;
	}
	.general-table td{
		margin-left: 16px;
	}
	.general-table td::before{
		content: attr(data-label) "：";
		display: block;
		font-size: 1rem;
		opacity: .5;;
	}
	.general-table td:last-child{
		margin-left: 0;
		padding-left: 16px;
		border-color: #aaa;
	}
	.general-table tbody tr:nth-child(odd) td{
		background: transparent;
	}
	.th-group{
		width: 100%;
		background: #efefef;
	}
	.general-table th.th-group{
		margin-top: 16px;
		padding: 16px;
		border-bottom: 3px solid #ddd;
	}
	.th-group .vertical-text{
		writing-mode: inherit;
	}
}

/*--------------------------------
event
--------------------------------*/
.sans-font{
	font-family: YakuHanJP, "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
}
.event-article{
	padding: 120px 0 80px;
}
.event-article .general-section > * + *{
	margin-top: 80px;
}
.event-article .general-section .inner{
	padding: 0;
	max-width: 940px;
}
.event-article .general-section .inner-narrow{
	padding: 0;
	max-width: 700px;
}
.event-name{
	margin-top: 40px;
	display: block;
	font-weight: 600;
}
.event-page-title{
	margin-bottom: .8em;
    font-size: clamp(2.6rem, 2.2vw, 3.8rem);
    line-height: 1.42;
}
.js-situation .tertiary-heading{
	padding-top: 60px;
}
.situation-wrap{
	margin-top: 40px !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px clamp(16px , 2.6vw ,60px);
}
.situation-note{
	margin-top: 1em;
	font-size: 1.4rem;
	line-height: 2;
}
.summary{
	margin: 40px 0 0;
	font-size: 1.4rem;
	line-height: 2;
	display: grid;
	grid-template-columns: 150px 1fr;
}
.summary dt,
.summary dd{
	padding: 6px 24px;
	border-bottom: 1px solid #ccc;
}
.summary dt{
	position: relative;
	display: grid;
    place-items: center;
	text-align: center;
	line-height: 1.4;
}
.summary dt::after{
	width: 1px;
	height: auto;
	position: absolute;
	right: 0;
	top: 2px;
	bottom: 2px;
	content: "";
	background: #ccc;
}
@media screen and (max-width: 767px){
	.event-article{
		padding: 0 0 40px;
	}
	.event-article .general-section > * + *{
		margin-top: 40px;
	}
	.eyecatch{
		margin: 0 -24px 0;
	}
	.event-name{
		margin-top: 24px;
	}
	.summary{
		margin: 24px 0;
		grid-template-columns: 90px 1fr;
		line-height: 1.6;
	}
	.summary dt,
	.summary dd{
		padding: 6px 16px;
	}
	.js-situation .tertiary-heading {
    padding-top: 40px;
	}
	.situation-note{
		margin-top: .4em;
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.situation-wrap {
		margin-top: 24px !important;
		padding-bottom: 24px;
		gap: 24px clamp(16px , 2.6vw ,60px);
	}
}
.date-wrap{
	display: flex;
	gap: 12px 24px;
	flex-wrap: wrap;
}
.info-lead{
	padding: 4px 24px;
	display: inline-block;
	background: #8e1818;
	color: #fff;
}
.ticket{
	margin: 0 0 24px;
}
.float-left{
	float: left;
}
.float-right{
	float: right;
	margin: 12px 0;
}
.blockquote{
	margin-top: 40px;
	padding: 32px 24px;
	background: #f9f9f9;
}
.quote-title{
	font-size: clamp(1.4rem, 1vw, 1.6rem);
	font-weight: 400;
	line-height: 1.6;
	padding-left: 8px;
}
.list-box{
	padding: 16px 16px 0;
	line-height: 1.8;
	column-count: 2;
}
.list-box a{
	color: inherit;
}
.list-box a:hover{
	text-decoration: underline;
}
.fa{
	margin-left: 4px;
	display: inline-block;
	opacity: .6;
}
@media screen and (max-width: 767px){
	.list-box{
		column-count: 1;
	}
	.list-box a{
		display: inline-block;
		padding: 12px 0;
		text-decoration: underline;
	}
}
.session-columns{
	display: flex;
	gap: 1em;
}
.session-columns + .session-columns{
	margin-top: .4em;
}
.summary .session-columns dt {
	position: relative;
	display: block;
	text-align: left;
	line-height: 1.4;
	padding: 0;
	border-bottom: none;
	flex-shrink: 0;
}
.summary .session-columns dt::after {
	content: none;
}
.summary .session-columns dd {
	position: relative;
	width: 100%;
	display: block;
	text-align: left;
	line-height: 1.4;
	padding: 0;
	border-bottom: none;
}
.career-columns{
	display: flex;
	gap: 1.6em;
	max-width: 460px;
}
.career-columns + .career-columns{
	margin-top: .4em;
}
.summary .career-columns dt {
	position: relative;
	display: block;
	text-align: left;
	line-height: 1.7;
	padding: 0;
	border-bottom: none;
	width: 4.6em;
	flex-shrink: 0;
}
.summary .career-columns dt::after {
	content: none;
}
.summary .career-columns dd {
	position: relative;
	display: block;
	text-align: left;
	line-height: 1.7;
	padding: 0;
	border-bottom: none;
}
@media screen and (max-width: 767px) {
	.session-columns{
		flex-direction: column;
		gap: .21em;
	}
	.session-columns + .session-columns{
		margin-top: .6em;
	}
	.summary .session-columns dd {
		padding-left: .5em;
	}
	.career-columns{
		margin-top: .6em;
		flex-direction: column;
		gap: .2em;
	}
	.career-columns + .career-columns{
		margin-top: .8em;
	}
	.summary .career-columns dd {
		padding-left: .5em;
	}
}
.article-body{
	margin: 0 auto 40px;
	width: calc(100% - 48px);
	max-width: 940px;
}
.article-body > * + *{
	margin-top: 80px;
}
.article-block > * + *{
	margin-top: 24px;
}
.article-block .secondary-heading{
	font-weight: 600;
}
.article-block .tertiary-heading{
	font-weight: 600;
}
.note li{
	padding-left: 12px;
	border-left: 4px solid #ddd2b8;
}
.note li + li{
	margin-top: 16px;
}
.youtube-item {
	margin: 0 auto;
	width: calc(100% - 48px);
}
.youtube-item iframe{
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.popup{
	position: fixed;
	inset: 0;
	z-index: 10;
	display: none;
	background: rgba(0, 0, 0, .6);
}
.popup-banner{
	margin: 0 auto;
	width: 90%;
	max-width: 500px;
	position: fixed;
	left: 0;
	right: 0;
	top: 50%;
	z-index: 11;
	transform: translateY(-50%);
}
.floating{
	pointer-events: none;
}
.floating.is-show{
	pointer-events: all;
}
.floating-banner{
	max-width: 340px;
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 10;
	transform: translateY(240px);
	transition: transform .6s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (max-width: 767px){
	.floating-banner{
		right: 12px;
		bottom: 12px;
	}
}
.is-show .floating-banner{
	transform: translateY(0);
}
.close-btn{
	display: grid;
	place-items: center;
	position: absolute;
	right: -8px;
	top: -40px;
	width: 36px;
	height: 35px;
	background: #444;
	border-radius: 50%;
}
.close-btn svg{
	width: 70%;
}
.close-btn path{
	stroke: #fff;
}
.recommend-block{
	border: 1px solid #8bcbff;
    background: #f7feff;
    padding: 20px 32px;
    margin: 24px 0 0;
    box-shadow: 1px 1px 6px rgba(0, 0, 0, .1);
	font-size: 120%;
}

/*--------------------------------
Reform
--------------------------------*/
.page-mv{
	position: relative;
}
.page-heading{
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50% , -50%);
	width: 92%;
}
.page-heading .en{
	font-size: 5.9524vw;
	color: rgba(255, 255, 255, 0.7);
	/* width: 26vw;
	border-bottom: 1px solid;
	padding-bottom: .2em;
	margin-bottom: .2em; */
}
.page-heading .jp{
	font-size: 1.3vw;
	opacity: .9;
}
.reform-container{
	/* margin: 0 -16px; */
}
.reform-slide{
	margin: 0 5px;
}
.reform-slide img{
	border-radius: 8px;
}
.features-wrap .fit-img{
	border-radius: 12px;
}
.features-head{
	margin-top: 32px;
	align-items: baseline;
	flex-wrap: nowrap;
	font-size: clamp(1.7rem, 1.4vw, 2.2rem);
	line-height: 1.5;
	height: 72px;
	gap: 4px;
}
.features-head dt{
	font-size: 190%;
	font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
	line-height: .7;
}
@media screen and (max-width: 767px){
	.features-head{
		margin-top: 20px;
		font-size: clamp(1.7rem, 1.4vw, 2.2rem);
		line-height: 1.5;
		height: auto;
	}
}
.course-section{
	background: #EBEBEB;
	border-top-left-radius: 84px;
	border-top-right-radius: 84px;
}
.course-btns{
	margin: 0 auto;
	max-width: 950px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.course-btn a{
	position: relative;
	display: block;
}
.course-btn a:hover{
	opacity: 1;
}
.coutse-btn-arrow .base{
	transition: .4s;
	position: relative;
	display: inline-block;
}
.coutse-btn-arrow .rev{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .4s;
	display: inline-block;
}
.course-btn a:hover .coutse-btn-arrow .base{
	opacity: 0;
}
.course-btn a:hover .coutse-btn-arrow .rev{
	opacity: 1;
}
.course-btn-body{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-direction: column;
	gap: 24px;
	padding-bottom: 24px;
}
.course-btn .img-wrapper .fit-img{
	border-radius: 8px;
}
.course-btn .img-wrapper::before{
	content: '';
	border-radius: 8px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.63);
	mix-blend-mode: multiply;
	transition: .4s;
}
.course-btn a:hover .img-wrapper::before{
	background: rgba(0, 0, 0, 0.43);
}
.course-btn-copy{
	font-size: clamp(2rem, 1.5vw, 2.6rem);
	line-height: 1.3;
}
.course-btn-copy .small-text{
	font-size: 85%;
}
.course-btn-text{
	font-size: 1.8rem;
	line-height: 1.3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	padding-left: 45px;
	overflow: hidden;
}
.coutse-btn-arrow{
	width: 29px;
	position: relative;
}
.course-cards{
	display: flex;
	flex-direction: column;
	gap: 60px;
}
.course-card{
	padding: 80px 68px;
	background: #fff;
}
.course-card-wrap{
	display: grid;
	grid-template-columns: 35% calc(65% - 80px);
	align-items: center;
	gap: 80px;
}
.course-card-head{
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(112, 112, 112, 0.45);
}
.course-card-head .primary-heading{
	margin-bottom: .2em;
}
.course-card-head .primary-heading + .caption{
	font-size: 1.4rem;
}
.course-card-label{
	margin-bottom: 1.8em;
	font-size: 1.8rem;
	display: inline-block;
	padding: .3em 2em;
	border: 1px solid #000;
	border-radius: 4px;
}
.course-card-detail{
	margin-bottom: 1em;
	background: #EDEDED;
	display: inline-block;
	font-size: 1.4rem;
	color: #B10101;
	border-radius: 4px;
	padding: .5em 1em;
}
.course-card-price{
	font-size: 2rem;
}
.course-card-price .large-text{
	font-size: 7rem;
	letter-spacing: -0.045em;
}
.course-card-body{
	margin-bottom: 48px;
}
.course-thumb-container{
	margin-top: 20px;
	margin-bottom: 16px;
}
.course-thumb-container.whole-thumb-container{
	margin-top: 40px;
}
.course-thumb-container .slick-track {
	width: 100% !important;
  transform: unset !important;
	display: flex;
	gap: 8px;
}
.course-thumb-container .slick-track .course-thumb-slide{
	width: calc(100% / 4 - 6px) !important;
}
.course-thumb-container .slick-track:before, .course-thumb-container .slick-track:after{
	content: none;
}
.course-slide .fit-img{
	border-radius: 12px;
}
.course-thumb-slide .fit-img{
	border-radius: 12px;
	transition: .4s;
	box-sizing: border-box;
	border: 2px solid #fff;
}
.course-thumb-slide.slick-current .fit-img{
	border: 2px solid #B10101;
}
.course-card-price-total{
	font-size: 1.4rem;
	display: inline-block;
	vertical-align: super;
	margin-right: 16px;
}
.course-card-price-total .large-text{
	font-size: 200%;
}
.course-thumb-slide{
	cursor: pointer;
}
.simulation-wrap{
	display: grid;
	grid-template-columns: 44% 50%;
	gap: 6%;
}
.simulation-thumbs{
	margin-top: 60px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.simulation-thumbs .fit-img{
	box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.15);
}
.simulation-container{
	position: absolute;
	width: 92.1%;
	top: 4.55%;
	left: 3.85%;
}
.reform-container,.simulation-container,.set-cotainer,.whole-container,.set-thumb-container,.whole-thumb-container{
  opacity: 0;
  transition: opacity .3s linear;
}
.reform-container.slick-initialized,.simulation-container.slick-initialized,.set-cotainer.slick-initialized,.whole-container.slick-initialized,.set-thumb-container.slick-initialized,.whole-thumb-container.slick-initialized{
  opacity: 1;
}
.simulation-img{
	margin-bottom: 32px;
}
.course-cap-min {
    width: calc(77% - 16px);
}
@media screen and (max-width: 1200px){
	.course-card {
    padding: 60px 32px;
	}
	.course-card-wrap {
    grid-template-columns: 35% calc(65% - 32px);
    align-items: center;
		gap: 32px;
	}
}
@media screen and (max-width: 975px){
	.course-cap-min {
		width: 100%;
	}
}
.other-none{
	display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px){
	.other-none{
		display: block;
	}
}
@media screen and (max-width: 767px){
	.page-heading .en {
    font-size: 16vw;
    width: 68vw;
	}
	.page-heading .jp {
    font-size: 3.7334vw;
	}
	.page-heading {
    transform: translate(-50%, -100%);
    width: 90%;
	}
	.course-section {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
	}
	.course-btns {
    grid-template-columns: 1fr;
    gap: 16px;
	}
	.course-btn-body {
    gap: 10px;
    padding-bottom: 20px;
	}
	.course-btn-text {
    font-size: 1.6rem;
    line-height: 1.3;
    gap: 8px;
    padding-left: 45px;
    overflow: hidden;
	}
	.coutse-btn-arrow {
    width: 24px;
	}
	.course-card {
    padding: 32px 24px;
    background: #fff;
	}
	.course-card-wrap {
    grid-template-columns: 100%;
    gap: 20px;
	}
	.course-card-head .primary-heading + .caption {
    font-size: 1rem;
	}
	.course-card-label {
    margin-bottom: 1.4em;
    font-size: 1.4rem;
    display: inline-block;
    padding: .3em 1.6em;
	}
	.course-card-detail {
    font-size: 1.2rem;
	}
	.course-card-body {
    margin-bottom: 32px;
	}
	.course-thumb-container .slick-track {
    gap: 4px;
	}
	.course-thumb-container .slick-track .course-thumb-slide {
    width: calc(100% / 4 - 3px) !important;
	}
	.course-thumb-slide .fit-img {
    border-radius: 6px;
    border: 1px solid #fff;
	}
	.course-thumb-container {
    margin-top: 8px;
    margin-bottom: 12px;
	}
	.course-cards {
    gap: 32px;
	}
	.course-card-price {
    font-size: 1.4rem;
	}
	.course-card-price-total {
    font-size: 1.2rem;
    display: inline-block;
    vertical-align: super;
    margin-right: 8px;
	}
	.course-card-price .large-text {
    font-size: 5.4rem;
	}
	.course-card-price-total .large-text {
    font-size: 185%;
	}
	.simulation-wrap {
    grid-template-columns: 100%;
	}
	.simulation-thumbs {
    margin-top: 32px;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
	}
	.features-section .primary-heading,.course-section .primary-heading,.simulation-section .primary-heading{
    font-size: clamp(2rem, 2vw, 3.4rem);
	}
	.course-thumb-container.whole-thumb-container{
		margin-top: 24px;
	}
}
@media screen and (max-width: 450px){
	.course-thumb-container + .caption.text-right{
		text-align: left;
	}
}
/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: auto;
	bottom: 0;
    z-index: 1;

    display: block;
    width: 75px;
    height: 75px;
    padding: 0;
    transform: translate(0, 0);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
@media screen and (max-width: 767px){
    .slick-prev,
    .slick-next{
        width: 30px;
        height: 30px;
    }
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    width: 30px;
    height: 30px;
    display: block;
    content: "";

    color: #fff;
    transform: rotate(45deg);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: 0;
}
[dir='rtl'] .slick-prev
{
    right: auto;
    left: 40px;
}
.slick-prev:before
{
    border-left: 1px solid;
    border-bottom: 1px solid;
    margin-left: 20px;
}
[dir='rtl'] .slick-prev:before
{
    border-right: 1px solid;
    border-top: 1px solid;
    margin-left: 10px;
}

.slick-next
{
    right: auto;
	left: 40px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: 0;
}
.slick-next:before
{
    border-right: 1px solid;
    border-top: 1px solid;
    margin-left: 10px;
}
[dir='rtl'] .slick-next:before
{
    border-left: 1px solid;
    border-bottom: 1px solid;
    margin-left: 10px;
}
@media screen and (max-width: 767px){
    .slick-prev:before,
    .slick-next:before{
        width: 15px;
        height: 15px;
    }
    .slick-prev:before{
        border-left: 1px solid;
        border-bottom: 1px solid;
        margin-left: 10px;
    }
    [dir='rtl'] .slick-prev:before{
        border-right: 1px solid;
        border-top: 1px solid;
        margin-left: 5px;
    }
    .slick-next:before{
        border-right: 1px solid;
        border-top: 1px solid;
        margin-left: 5px;
    }
    [dir='rtl'] .slick-next:before{
        border-left: 1px solid;
        border-bottom: 1px solid;
        margin-left: 5px;
    }
}

.slick-dots li{
	margin: 0;
}
.slick-dots li button:before{
	font-size: 10px;
	color: #406555;
}
.slick-dots li.slick-active button:before{
	color: #406555;
}

.quality-title{
	align-items: center;
	gap: 64px;
}
.quality-title-img{
	width: 32.5%;
}
@media screen and (max-width: 767px){
	.quality-title{
		justify-content: center;
		gap: 12px;
	}
	.quality-title-img{
		width: 70%;
	}
}
.quality-head{
	margin-top: 40px;
	padding: 48px 50px;
	background-color: #666;
	cursor: pointer;
	transition: filter .6s ease-out;
}
@media screen and (max-width: 767px){
	.quality-head{
		padding: 24px 64px 16px 24px;
	}
}
.head-kitchen{
	background: url(../img/reform/head-kitchen.webp) no-repeat center center;
	background-size: cover;
}
.head-powder{
	background: url(../img/reform/head-powder.webp) no-repeat center center;
	background-size: cover;
}
.head-bath{
	background: url(../img/reform/head-bath.webp) no-repeat center center;
	background-size: cover;
}
.is-toggle-open.quality-head{
	filter: brightness(1.2);
}
.quality-head:hover{
	filter: brightness(1.4);
}
.icon-toggle{
	width: 44px;
	height: 44px;
	border: 1px solid #fff;
	border-radius: 50%;
	position: absolute;
	right: 36px;
	top: 50%;
	transform: translateY(-50%);
	transition: background .6s ease-out;
}
@media screen and (max-width: 767px){
	.icon-toggle{
		width: 25px;
		height: 25px;
		right: 16px;
	}
}
.icon-toggle::before,
.icon-toggle::after{
	content: "";
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: background .6s ease-out;
}
.icon-toggle::before{
	width: 1px;
	height: 16px;
}
.quality-head:hover .icon-toggle{
	background-color: #fff;
}
.quality-head:hover .icon-toggle::before,
.quality-head:hover .icon-toggle::after{
	background-color: #2c2c2c;
}
.icon-toggle::after{
	width: 16px;
	height: 1px;
}
@media screen and (max-width: 767px){
	.icon-toggle::before{
		height: 10px;
	}
	.icon-toggle::after{
		width: 10px;
	}
}
.is-toggle-open .icon-toggle::before{
	opacity: 0;
}
.quality-grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px){
	.quality-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}
.btn-right-pos{
	margin: 28px 0 38px;
	display: flex;
	justify-content: flex-end;
}
.justyfy-text{
	text-align: justify;
	text-justify: inter-ideograph;
	line-break: strict;
	word-break: break-word;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.line-2{
	margin-top: 16px;
	min-height: 3.2em;
}
.area-name{
	margin-bottom: 12px;
	display: inline-block;
}
.shop-lists{
	margin-bottom: 20px;
	padding-left: 1.8rem;
	dt{
		margin-bottom: 8px;
		position: relative;
		&::before{
			content: "";
			width: 10px;
			height: 10px;
			position: absolute;
			top: 53%;
			left: -1.8rem;
			transform: translateY(-50%);
			background-color: #333;
			border-radius: 50%;
		}
	}
	dd{
		margin-bottom: 4px;
	}
}
/*--------------------------------
state
--------------------------------*/
.disabled {
	opacity: 0.1;
	cursor: default;
	pointer-events: none;
}
.none{
	opacity: 0.8;
	cursor: default;
	pointer-events: none;
}
.is-none{
	display: none;
}
.is-fv {
	opacity: 0;
	visibility: hidden;
	animation-fill-mode: both;
}
.is-light{
	color: #fff;
}
.is-dark{
	color: #2c2c2c;
}
.is-dark.local-btn:hover{
	color: #fff;
	background-color: #2c2c2c;
	border-color: #2c2c2c;
}
.is-key{
	color: #002662;
	opacity:0.8;
}
.is-key.has-line{
	display: inline;
	background: linear-gradient(transparent 0%, transparent 70%, #f0d32e 70%, #f0d32e 100%);
}
.is-key2{
	color: #406555;
}
.img-wrapper .caption.has-bg{
	left: auto;
    right: 0;
    margin: 0;
    background: rgba(0, 0, 0, 0.7);
    padding: .4em .6em;
    display: inline-block;
}
.img-wrapper .caption.has-bg.text-left{
	left: 0;
	right: auto;
}
.strong-text{
	margin: 8px 0;
	padding: 0 8px;
	background: #002662;
	color: #fff;
}
.strong{
	font-size: 120%;
	font-weight: 600;
}
.is-bold{
	font-weight: 600;
}
.light-text{
	color: #808080;
}
.is-shadow{
	text-shadow: 0 0 1px rgba(0,0,0,.8), 0 0 4px rgba(0,0,0,.4);
}
.has-shadow{
	box-shadow: 2px 2px 12px rgba(0, 0, 0, 0.2);
}
.line-mid{
	line-height: 1.5;
}
.line-wide{
	line-height: 2;
}
.line-huge{
	line-height: 3;
}
.letter-wide{
	letter-spacing: .1em;
	text-indent: .1em;
}
.is-alert{
	color: #c90000;
}
.is-light-weight{
	font-weight: 300;
}
.unscrollable{
	overflow-y: hidden;
}
@media screen and (max-width: 767px){
	.sp-none{
		display: none;
	}
	.slick-slide img.sp-none{
		display: none;
	}
}
@media screen and (min-width: 768px){
	.pc-none{
		display: none;
	}
	.slick-slide img.pc-none{
		display: none;
	}
}

/* Renewal ------------------------------------------------------------------------ */
:root{
	--color-bl: #002662;
	--color-wh: #fff;
	--color-bk: #333;
	--font-jp: YakuHanMP, "Shippori Mincho", "A1 Mincho", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "serif";
	--font-gothic: YakuHanJP, "Noto Sans JP", serif;
}
.hero{
	position: relative;
	.js-modal-video{
		position: absolute;
		bottom: 10%;
		left: calc(122 / 1680 * 100%);
		figure{
			width: min(740px, 44vw);
		}
	}
}
.consul{
	background: url(../img/consul-bg.webp) no-repeat top center/ cover;
	&.general-section .inner{
		padding: 42px 0 38px;
	}
}
.grid-col-2{
	grid-template-columns: repeat(2, 1fr);
}
.consul-grid{
	justify-content: center;
	align-items: center;
	justify-items: center;
	gap: 32px;
}
.consul-flex{
    align-items: center;
    justify-content: space-between;
	gap: 32px;
	@media screen and (min-width: 767px) and (max-width: 875px) {
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}
}
.consul-heading{
	margin-bottom: 1em;
	font-size: clamp(2.3rem, 3.1vw, 3.1rem);
	line-height: 1.5;
	& + .note{
		font-size: clamp(1.4rem, 1.6vw, 1.6rem);
		letter-spacing: .06rem;
		line-height: 1.8;
	}
}
.consul-line{
	max-width: 415px;
}
.consul-contact-wrap{
	display: flex;
    flex-direction: column;
    align-items: center;
}
.consul-contact-ttl{
	margin-bottom: .5em;
	font-size: clamp(2rem, 2.2vw, 2.2rem);
	line-height: 1.5;
}
.consul-contact-txt{
	margin-bottom: 28px;
	font-size: clamp(1.4rem, 1.6vw, 1.6rem);
}
.btn-concierge{
	padding-block: clamp(20px, 2.6vw, 26px);
	padding-inline: clamp(10px, 2.5vw, 40px);
	max-width: 430px;
	width: 100%;
	display: grid;
	place-items: center;
	background-color: var(--color-bl);
	color: var(--color-wh);
	border-radius: 50px;
	font-size: clamp(1.6rem, 2.2vw, 2.2rem);
}
.line-flex{
	margin: 14px 0;
	width: auto;
	min-height: 27px;
	height: 100%;
	flex-wrap: nowrap;
	align-items: center;
	gap: 14px;
}
.line-logo{
	min-height: 20px;
	height: 100%;
	width: auto;
}
@media screen and (max-width: 767px) {
	.consul{
		&.general-section .inner{
			padding-top: 22px;
		}
		.js-modal-video{
			margin-bottom: 32px;
			display: block;
		}
	}
	.grid-col-2{
		grid-template-columns: auto;
	}
	.consul-flex{
		justify-content: center;
	}
	.sp-text-center{
		text-align: center
	}
	.consul-contact-wrap{
		margin-inline: auto;
		width: calc(100% - 20px);
	}
	.line-flex,
	.line-logo{
		min-height: 40px;
	}
	.line-flex{
		margin: 20px 0;
		gap: 20px;
	}
	.line-logo img{
		width: auto;
		height: 40px;
	}
	.line-txt img{
		width: auto;
		height: 20px;
	}
}
.margin-center{
	margin-inline: auto;
}
.service{
	.consul-heading{
		font-size: clamp(2rem, 3.1vw, 3.1rem);
	}
}
.service-flex{
	margin: clamp(24px, 6vw, 80px) 0 0;
	gap: 60px;
}
.service-cards{
	width: calc(calc(100% - 60px) / 2);
}
.cards-content{
	width: 100%;
	display: block;
	&:hover{
		opacity: 1;
		figure img{
			transform: scale(1.1);
		}
		.service-ttl{
			img{
				transform: rotate(-30deg);
			}
		}
	}
	figure{
		margin-bottom: 24px;
		border-radius: calc(14 / 384 * 100%);
		overflow: hidden;
		aspect-ratio: 570 / 360;
		img{
			height: 100%;
			object-fit: cover;
		}
	}
	img{
		transition: all .3s ease-out;
	}
}
.service-ttl{
	margin-bottom: .8em;
	align-items: center;
    justify-content: space-between;
	font-size: clamp(1.8rem, 2.3vw, 2.3rem);
	color: var(--color-bk);
	img{
		width: 36px;
		height: 36px;
	}
}
.consul-bnr-wrap{
	margin-top: clamp(40px, 10vw, 120px);
	padding: clamp(24px, 6vw, 60px) clamp(20px, 3.5vw, 35px) 45px;
	background: url(../img/consul-bnr-bg.webp) no-repeat center/ cover;
	grid-template-columns: 1fr min(48%, 514px);
	gap: 48px;
	& + .caption{
		margin: 16px 0 0 0;
		font-weight: 600;
	}
}
.bnr-contents{
	justify-content: center;
}
.consul-bnr-txt{
	margin-bottom: 16px;
	font-size: clamp(2.2rem, 3.2vw, 3.2rem);
	font-weight: 600;
	line-height: 1.3;
}
.consul-line-txt{
	margin-bottom: 12px;
	font-size: clamp(1.3rem, 2vw, 2rem);
	font-weight: 500;
}
.consul-time-img{
	margin-bottom: clamp(36px, 4.6vw, 46px);
	padding-top: 24px;
	max-width: 465px;
	position: relative;
	&::before{
		content: "";
		width: calc(100% + 20px);
		height: 1px;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		background-color: var(--color-bk);
	}
}
.consul-line2{
	margin-bottom: clamp(10px, 1.6vw, 16px);
	max-width: 298px;
	width: 76%;
}
.bnr-img-grid{
	gap: clamp(12px, 2.4vw, 24px);
	figure{
		margin-bottom: 10px;
	}
	.note{
		margin: 0;
		font-size: clamp(1.2rem, 1.9vw, 1.9rem);
		font-weight: 600;
	}
}
/* @media screen and (max-width: 900px) {
	.service-cards{
		width: calc(calc(100% - 40px) / 2);
	}
} */
@media screen and (max-width: 767px) {
	.cards-content{
		figure{
			aspect-ratio: 487 / 548;
		}
	}
	.service-flex-wrap{
		padding-right: 48px;
		width: 100vw;
		overflow: hidden;
	}
	.sp-service-slider{
		display: block;
		.slick-slide {
			margin: 0 10px;
		}
		.slick-list {
			margin: 0 -10px;
			overflow: visible;
		}
	}
	.service-cards{
		width: 100%;
	}
	.consul-time-img{
		&::before{
			content: "";
			width: 100%;
		}
	}
	.consul-bnr-wrap{
		grid-template-columns: auto;
		gap: 0;
		.consul-contact-wrap{
			width: 100%;
			order: 1;
		}
	}
	.bnr-contents{
		display: contents;
	}
	.bnr-img-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}
.about-section{
	.access-wrap{
		background: transparent;
		.caption{
			margin-top: 32px;
			position: static;
		}
		.inner{
			padding-bottom: 80px;
			width: 100%;
		}
		.google a{
			color: var(--color-wh);
		}
		.tel-num{
			a {
				display: flex;
				align-items: center;
				font-size: 3.2rem;
				letter-spacing: .1rem;
			}
			img{
				width: 40px;
				margin-right: 12px;
				margin-top: 3px;
			}
		}
	}
}
.about-kv{
	margin-top: 56px;
}
.has-radius{
	border-radius: 10px;
	overflow: hidden;
}
.about-grid{
	margin-top: clamp(60px, 6vw, 120px);
	grid-template-columns: 560px 1fr;
	align-items: center;
	gap: clamp(24px, 5.6vw, 56px);
	.note{
		line-height: 1.8;
	}
	.general-btn{
		max-width: 345px;
		height: 60px;
		font-size: clamp(1.6rem, 1.8vw, 1.8rem);
	}
	.has-radius{
		border-radius: calc(12 / 580 * 100%);
	}
}
.about-content-wrap{
	display: flex;
	flex-direction: column;
	/* justify-content: space-between; */
	gap: 32px;
}
.about-content-ttl{
	padding-bottom: 20px;
	font-size: clamp(1.9rem, 2.8vw, 2.8rem);
	line-height: 1.5;
	border-bottom: 1px solid var(--color-wh);
}
@media screen and (max-width: 767px) {
	.about-kv{
		margin: 32px calc(50% - 50vw) 0;
		width: 100vw;
		border-radius: 0;
	}
	.about-grid{
		grid-template-columns: auto;
	}
	.about-section{
		.access-wrap{
			margin-top: 32px;
			.access-branz-logo{
				margin-block: 32px 24px;
			}
			.inner{
				padding-bottom: 0;
			}
		}
	}
}
.footer-contents-wrap{
	width: 100%;
	justify-content: space-between;
	align-items: center;
}
.footer-list{
	.nav-link{
		color: var(--color-wh);
	}
	.btn-space{
		margin-bottom: 0;
	}
	.general-btn{
		height: clamp(54px, 6vw, 60px);
		font-size: 16px;
		&:hover{
			opacity: 1;
		}
	}
}
.upper-nav{
	padding-bottom: clamp(26px, 4.8vw, 48px);
	border-bottom: 1px solid #707070;
}
.under-nav{
	padding-top: clamp(16px, 2.4vw, 24px);
}
.footer-nav-wrap{
	padding-right: 100px;
	justify-content: flex-start;
	gap: clamp(12px, 2vw, 20px) clamp(12px, 4vw, 40px);
	.nav-list{
		width: fit-content;
		float: left;
	}
	.nav-link{
		width: 100%;
		display: grid;
		place-items: center;
		font-size: clamp(1.2rem, 1.6vw, 1.6rem);
	}
}
@media screen and (max-width: 767px) {
	.footer-list{
		.btn-space{
			margin: 32px 0;
		}
	}
	.footer-nav-wrap{
		padding-right: 0;
	}
}

.overlay {
	display: none;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	position: fixed;
	z-index: 1
}
.pop-contents-wrap {
	max-width: 400px;
	width: 80%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	z-index: 2
}
.pop-content{
	position: relative;
	button {
		display: block;
		margin: 0 auto;
		color: #fff;
		background-color: transparent;
		border: none;
		position: absolute;
		top: -65px;
        right: -10px;
		font-size: clamp(50px, 6vw, 60px);
	}
}
.is-bl{
	color: var(--color-bl);
}
@media screen and (max-width: 767px) {
	.pop-content{
		button {
			top: -50px;
		}
	}
}

/* add */
.chat-speech{
	border: 1px solid #4ac3d6;
	background: #edf9fb;
	border-radius: 100px;
	padding: 6px 16px;
	position: fixed;
	bottom:22px;
	left: 80px;
	z-index: 200;

}
.chat-speech-in{
	font-size: 12px;
	line-height: 1.5;
	font-family: "Zen Kaku Gothic New";
	font-weight: bold;
	color: #002662;
}
@media screen and (max-width: 767px){
	.chat-speech{
		border: 1px solid #4ac3d6;
		background: #edf9fb;
		border-radius: 100px;
		padding: 6px 16px;
		position: fixed;
		bottom:18px;
		left: 80px;
		z-index: 200;

	}
	.chat-speech-in{
		font-size: 11px;
		line-height: 1.5;
		font-family: "Zen Kaku Gothic New","Noto Sans JP",sans-serif;
		font-weight: bold;
		color: #002662;
	}
}