@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;
}
:root{
    --dark-brown:#7a6126;
}
html{
	font-size: 62.5%;
}

body{
	font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1.4rem;
	line-height: 1;
	color: #2c2c2c;
}
@media screen and (max-width: 767px){
	body{
		padding-bottom: 12px;
	}
}
a {
	color: #006d9e;
	-webkit-tap-highlight-color: rgba(238, 223, 227, 0.2);
}
sup,
sub{
	font-size: xx-small;
}

/*--------------------------------
common
--------------------------------*/
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.en-font{
	font-family: "Cinzel", serif;
	font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.small-text {
	font-size: 75%;
}
.small-text02 {
	font-size: 85%;
}
.small-text03 {
	font-size: 80%;
}
.middle-text{
	font-size: 125%;
}
.large-text{
	font-size: 150%;
}

.vertical-text {
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	-webkit-font-feature-settings: normal;
	font-feature-settings: normal;
}
.fit-img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}
.has-max {
	height: auto;
	max-width: 100%;
}
.flex-wrapper {
	display: flex;
	flex-wrap: wrap;
}
.flex-nowrap{
	flex-wrap: nowrap;
}
.align-center{
	align-items: center;
}
.has-gap{
	gap: 16px;
}
.col-2{
	width: 50%;
}
.col-3{
	width: calc(100% / 3);
}
.col-4{
	width: calc(100% / 3);
}
.has-gap .col-2{
	width: calc(50% - 8px);
}
.has-gap .col-3{
	width: calc(100% / 3 - 11px);
}
.has-gap .col-4{
	width: calc(100% / 4 - 12px);
}
@media screen and (max-width: 767px){
	.col-2,
	.has-gap .col-2,
	.col-3,
	.has-gap .col-3{
		width: 100%;
	}
	.has-gap .col-4{
		width: calc(50% - 8px);
	}
	.has-gap .sp-col-3{
		width: 100%;
	}
}
.img-wrapper{
	position: relative;
}
.img-wrapper .caption{
	position: absolute;
	bottom: 0;
	left: 8px;
	right: 8px;
	z-index: 1;
}
.caption.cap-top{
    height: fit-content;
	top: 62%;
	bottom: auto;
	opacity: .7;
}
.caption.page-under-caption{
	margin: 80px 0 0px;

}
@media screen and (max-width: 767px){
	.caption.page-under-caption{
		margin: 32px 0 0;
	}
}
.inline-block{
	display: inline-block;
}
.grid-wrapper{
	display: -ms-grid;
	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;
	}
	.caption.cap-top{
		top: 70%;
	}
	.sp-text-right{
		text-align: right;
	}
}
.nav-link{
	color: #444;
	font-family: "游明朝", "Yu Mincho", YuMincho, "游明朝体", 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝', serif;
}
.nav-link.none{
	position: relative;
}

/*--------------------------------
componet
--------------------------------*/

.primary-heading{
	margin-bottom: .8em;
	font-size: 4.4rem;
	font-size: clamp(2.6rem, 3.95vw, 4.4rem);
	font-weight: 400;
	line-height: 1.3;
}
.primary-heading .jp{
	font-size: clamp(1.2rem, 1.95vw, 1.6rem);
	display: block;
}
.secondary-heading{
	margin-bottom: .8em;
	font-size: clamp(2rem, 2.95vw, 3rem);
	font-weight: 400;
	line-height: 1.7;
}
.tertiary-heading{
	margin-bottom: .8em;
	font-size: clamp(1.8rem, 2.45vw, 2.4rem);
	font-weight: 400;
	line-height: 1.4;
}
.page-heading{
	margin-bottom: .8em;
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: .2em;
	text-indent: .1em;
}
.page-heading .note{
	letter-spacing: .1em;
}
@media screen and (max-width: 767px){
	.primary-heading{
		font-size: 2.6rem;
	}
	.secondary-heading{
		font-size: 2rem;
	}
	.tertiary-heading{
		font-size: 1.8rem;
	}
	.page-heading{
		font-size: 2.4rem;
	}
}
.note{
	margin: 1em 0;
	font-size: clamp(1.2rem, 1.95vw, 1.6rem);
	line-height: 1.6;
}
.lead{
	margin: 1em 0;
	font-size: clamp(1.4rem, 2.15vw, 2rem);
	line-height: 1.6;
}
.caption{
	margin: .4em 0;
	font-size: 1.2rem;
	line-height: 1.4;
}
.cta-btns{
	display: flex;
	justify-content: center;
}
.cta-arrow{
	width: 40px;
	margin-left: 12px;
}
.cta-arrow .cls-1 {
	fill: #fff;
	stroke-width: 0px;
}
.cta-arrow .cls-2 {
	fill: none;
	stroke: #fff;
	stroke-miterlimit: 10;
	stroke-width: .25px;
}
.btn{
	padding: 8px 16px;
	display: inline-block;
	position: relative;
	background: #2c2c2c;
	color: #fff;
	font-size: 1.6rem;
	transition: all .3s ease-out;
}
.general-btn{
	border-radius: 27px;
	margin: 8px;
	padding: 4px;
	width: 100%;
	max-width: 350px;
	height: 50px;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
	align-items: center;
	position: relative;
	background: #223c3d;
	font-size: 2rem;
	color: #fff;
}
.general-btn .btn-inner{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
/* .general-btn:hover{
	filter: brightness(.8);
} */
@media screen and (max-width: 767px){
	.caption{
		font-size: 1rem;
	}
	.general-btn{
		width: calc(100% - 16px);
		height: 54px;
		font-size: 1.8rem;
		line-height: 54px;
	}
}
.under-mv{
	position: relative;
}
.under-ttl {
	padding: 95px 0 43px;
	width: min(100% - 32px, 1200px);
	margin: 0 auto;
	font-size: 12.4rem;
}
.under-ttl span {
	display: block;
	font-size: 2rem;
}
@media screen and (max-width: 767px){
	.under-ttl {
    padding-top: 50px;
    font-size: 5rem;
	}
	.under-ttl span {
    font-size: 1rem;
	}
}
.btn span{
	position: relative;
	z-index: 1;
}
.submit-btn{
	margin: 8px;
	padding: 0 16px;
	width: 100%;
	max-width: 300px;
	height: 60px;
	position: relative;
	background: #456254;
	font-size: 2rem;
	line-height: 60px;
	border-radius: 30px;
}
.cancel-btn{
	margin: 8px;
	padding: 0 16px;
	width: 100%;
	max-width: 200px;
	height: 60px;
	position: relative;
	background: #aaa;
	font-size: 2rem;
	line-height: 60px;
	border-radius: 30px;
}
.reserve-btn{
	background: #b76453;
	border: 1px solid #b76453;
}
.request-btn{
	background: #65543a;
	border: 1px solid #65543a;
}
.limited-btn{
	background: linear-gradient(90deg, #7962a9, #19499e);
}
.request-btn .request-btn{
	background: linear-gradient(0deg, #00a7bc, #183688);
}

/* .new-header .reserve-btn,
.pc-drawer-menu .reserve-btn,
.sp-fixed-btn .reserve-btn{
	background: #C2857D;
	color: #fff;
} */

.icon-mail{
	width: 2rem;
}
.tel-btn{
	background: #EB930C;
}
/* .reserve-btn:hover{
	filter: brightness(.8);
}
.request-btn:hover{
	filter: brightness(.8);
} */
.request-btn .cta-arrow,
.reserve-btn .cta-arrow{
	transition: transform .4s;
}
.request-btn:hover .cta-arrow,
.reserve-btn:hover .cta-arrow{
	transform: translateX(12px);
}
.limited-btn .cta-arrow{
	transition: transform .4s;
}
.limited-btn:hover .cta-arrow{
	transform: translateX(8px);
}
.tel-btn:hover{
	background: #333;
}
.more-btn::after{
	width: 10px;
	height: 10px;
	display: block;
	content: "";
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.more-btn.coming-soon{
	opacity: .8;
}
.more-btn.coming-soon::after{
	display: none;
}
.has-frame{
	position: relative;
}
.has-frame::before{
	position: absolute;
	top: 5px;
	right: 5px;
	bottom: 5px;
	left: 5px;
	border: 1px solid #fff;
	content: "";
}
.main-bg{
	background: url(../images/home/top-bg-02.webp) no-repeat bottom center;
	background-size: cover;
	position: relative;
}
.main-bg2{
	background: url(../images/home/top-bg-05.webp) no-repeat bottom center;
	background-size: cover;
	position: relative;
}
.bg-light{
	background-color: #fffef7;
}
.bg-light2{
	background-color: #F2F2F2;
}
.bg-gray{
	background-color: #faf9f2;
}
.bg-lightgray{
	background-color: #f8f8f8;
}
.bg-key{
	background-color: #223c3d;
	color: #fff;
}
.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-table{
	margin: 48px 0;
	width: 100%;
	font-size: 1.6rem;
	line-height: 1.4;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.general-table th,
.general-table td{
	padding: 16px;
	border-bottom: 1px solid #ddd;
}
.general-table th{
	width: 260px;
	position: relative;
	background: #eee;
	font-weight: 500;
	text-align: right;
}
@media screen and (max-width: 767px){
	.general-table{
		margin: 24px 0;
	}
	.general-table th,
	.general-table td{
		width: 100%;
		display: block;
	}
	.general-table th{
		text-align: left;
	}
}
.is-dummy{
	padding: 8px;
	position: absolute;
	bottom: 32px;
	left: 32px;
	z-index: 1;
	background: #595e64;
	color: #fff;
	font-size: 1.4rem;
}
.banner-area{
	margin: 32px auto;
	width: calc(100% - 48px);
	max-width: 1000px;
	display: flex;
	justify-content: center;
	gap: 32px;
}
.banner-item{
	max-width: 600px;
}

/*--------------------------------
layout
--------------------------------*/
/* .container{
	overflow: hidden;
} */
.has-navigation .container{
	margin-top: 124px;
}
@media screen and (max-width: 900px){
	.has-navigation .container{
		margin-top: 48px;
	}
}
.general-section .inner{
	margin: 0 auto;
	padding: 80px 0;
	width: calc(100% - 48px);
	max-width: 1000px;
}
.footer-nav-menuWrap{
	background: #d4cbb9;
	padding-top: 80px;

}
.home .footer-nav-menuWrap{
	padding-top: 0;
}
.footer-container .inner{
	margin: 0 auto;
	padding: 80px 0;
	width: calc(100% - 48px);
	max-width: 1000px;
}
.general-section .inner.pd-min{
	padding-bottom: 40px;
}
@media screen and (max-width: 767px){
	.general-section .inner{
		padding: 32px 0;
		width: calc(100% - 32px);
	}
	.footer-container .inner{
		padding: 32px 0;
		width: calc(100% - 32px);
	}
	.general-section .inner.pd-min{
		padding-bottom: 24px;
	}
	.footer-nav-menuWrap{
		padding-top: 80px;
	}
	.home .footer-nav-menuWrap{
		padding-top: 0;
	}
}
.general-section .inner-min{
	padding: 40px 0;
}
@media screen and (max-width: 767px){
	.general-section .inner-min{
		padding: 24px 0;
	}
}
.general-section .inner-fit{
	width: 100%;
	max-width: none;
}
.general-section .inner-lwide{
	max-width: 1350px;
}
.general-section .inner-wide{
	max-width: 1200px;
}
.general-section .inner-mid{
	max-width: 1100px;
}
.general-section .inner-small{
	max-width: 800px;
}
.general-section .inner-full{
	max-width: none;
}
.general-section .inner + .inner{
	padding-top: 0;
}
.general-parts{
	margin-bottom: 32px;
}
.btn-space{
	margin: 16px 0;
	text-align: center;
}
.btn-space:last-child{
	margin-bottom: 0;
}

/*--------------------------------
header
--------------------------------*/
/*--------------------------------
header
--------------------------------*/
.new-header{
	height: 80px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 5;
	/* background: #1a2f58; */
	/* -webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px); */
	transition: .2s ease-out;
}
.new-header .inner{
	padding: 14px 32px 14px 32px;
	height: 80px;
	display: flex;
align-items: center;
}
.new-header .logo{
	width: calc(100% - 618px);
    max-width: 350px;
    height: 28px;
	background: url(../images/common/logo.svg) no-repeat left center;
	background-size: contain;
	transition: height .4s ease-out;
}
body .new-header {
	/* transform: translateY(-48px); */
		background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
body.is-down .new-header{
	transform: translateY(0);
	
}
body.is-scroll .new-header {
		opacity: 0;
	}
body.is-scroll .upper-nav{
	pointer-events: none;
}
body.is-scroll .hamburger {
	opacity: 0;
	pointer-events: none;
}
body.is-scroll .logo {
	pointer-events: none;
}
body.is-menu-open.is-scroll .hamburger {
	opacity: 1;
}
body.has-nav .new-header{
    transform: translateY(0);
}
body.has-nav .container {
	margin-top: 80px;
}
@media screen and (max-width: 900px){
	body.has-nav .container {
		margin-top: 48px;
	}
	body.is-scroll .new-header ,.body.is-scroll .hamburger {
		pointer-events: none;
	}

}

.logo a{
	height: 100%;
	display: block;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}
.icon-tel{
	margin-right: 2px;
	width: 22px;
	vertical-align: middle;
}
.tel-num{
	display: block;
	font-weight: 600;
}
.hamburger{
	width: 50px;
	height: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 16px;
	right: 0;
	z-index: 6;
	text-align: center;
	transition: all .3s ease-out;
	cursor: pointer;
	transition:opacity .4s ease-out;
	width: 70px;
}
/* .hamburger.new::before{
	content: '';
	display: block;
	position: absolute;
	top: 7px;
	right: 14px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #00a0e9;
} */
.is-menu-open .hamburger.new::before{
	opacity: 0;
}
@media screen and (max-width: 900px){
	body .new-header {
		transform: translateY(0);
		/* opacity: 0; */
	}
	/* .hamburger{
		transform: translateY(-124px);
	} */
	body.has-nav .hamburger {
    transform: translateY(0);
	}
	body .hamburger {
		top: 2px;
	}
	.is-down .hamburger{
		transform: translateY(0);
	}
}
.hamburger i{
	margin: 2.5px 0;
	height: 1.5px;
	width: 34px;
	display: block;
	content: "";
	background: #333;
	transition: all .3s ease-out;
}
.is-menu-open .hamburger,
.is-menu-open.is-conpact .hamburger{
	color: #333;
}
.is-menu-open .hamburger i{
	background: #333;
}
.is-menu-open .hamburger i:nth-of-type(1){
	transform: translateY(7px) rotate(210deg);
}
.is-menu-open .hamburger i:nth-of-type(2){
	opacity: 0;
}
.is-menu-open .hamburger i:nth-of-type(3){
	transform: translateY(-7px) rotate(-210deg);
}
.pc-drawer-menu{
	/* display: none; */
}
/* .header-nav .nav-list:last-child a{
	opacity: .6;
	pointer-events: none;
} */
@keyframes fUp{ 
	0% {
		opacity: 0;
		transform: translate(0, 20px);
	} 
	100% {
		opacity: 1;
		transform: translate(0, 0);
	} 
}

@media screen and (max-width: 900px){
	.new-header .gnav .nav-list{
		opacity: 1;
	}
	.nav-container{
		display: none;
	}
}
/* .drawer-gnav .gnav .nav-list{
	opacity: 0;
} */
/* .is-menu-open .gnav .nav-list:first-child{
	animation: fUp .2s .4s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(2){
	animation: fUp .2s .45s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(3){
	animation: fUp .2s .5s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(4){
	animation: fUp .2s .55s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(5){
	animation: fUp .2s .6s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(6){
	animation: fUp .2s .65s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(7){
	animation: fUp .2s .7s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(8){
	animation: fUp .2s .75s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav .nav-list:nth-of-type(9){
	animation: fUp .2s .8s 1 ease-in-out;
	animation-fill-mode: forwards;
} */
/* .is-menu-open .gnav .nav-list:last-child{
	animation: fUp .2s .85s 1 ease-in-out;
	animation-fill-mode: forwards;
} */
/* .is-menu-open .gnav.under-nav .nav-list:first-child{
	animation: fUp .2s .6s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .gnav.under-nav .nav-list:last-child{
	animation: fUp .2s .65s 1 ease-in-out;
	animation-fill-mode: forwards;
} */
.is-menu-open .salon-name, .is-menu-open .tel{
	opacity: 1;
}
/* .is-menu-open .salon-name{
	animation: fUp .2s .75s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .tel{
	animation: fUp .2s .8s 1 ease-in-out;
	animation-fill-mode: forwards;
} */
.is-menu-open .upper-nav .nav-list{
	opacity: 0;
}
.is-menu-open .upper-nav .nav-list:first-child{
	/* animation: fUp .2s .6s 1 ease-in-out;
	animation-fill-mode: forwards; */
	opacity: 1;
}
.is-menu-open .upper-nav .nav-list:nth-of-type(2){
	/* animation: fUp .2s .65s 1 ease-in-out;
	animation-fill-mode: forwards; */
	opacity: 1;
}
.is-menu-open .upper-nav .nav-list:nth-of-type(3){
	animation: fUp .2s 1.1s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.drawer-nav .request-btn ,.drawer-nav .reserve-btn, .drawer-nav .limited-btn{
	opacity: 0;
}
/* .is-menu-open .drawer-nav .request-btn{
	animation: fUp .2s .7s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .drawer-nav .reserve-btn{
	animation: fUp .2s .55s 1 ease-in-out;
	animation-fill-mode: forwards;
}
.is-menu-open .drawer-nav .limited-btn{
	animation: fUp .2s .6s 1 ease-in-out;
	animation-fill-mode: forwards;
} */
/* .pc-drawer-menu .gnav .nav-link:not(.none){
	background: url(../images/common/nav-arrow.svg) no-repeat 98% 50%;
	background-size: 5px;
} */
@media screen and (min-width: 901px){
	.nav-container .gnav{
		display: none;
	}
    .is-conpact .nav-container {
        height: 0;
    }
	.new-header::after{
		width: 100%;
		height: 180px;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		/* content: ""; */
		background: linear-gradient(0deg, rgba(255,255,255,0), rgba(255,255,255,.05) 19%, rgba(255,255,255,.1) 28%, rgba(255,255,255,.2) 41%, rgba(255,255,255,.8));
		pointer-events: none;
		transition: transform .4s ease-out;
	}
	.is-conpact .new-header{
		height: 80px;
	}
	/* .is-conpact .new-header .logo{
		height: 15px;
	} */
	.is-conpact .new-header::after{
		transform: translate(0, -40px);
	}
	.gnav{
		margin: 32px 0 0;
		justify-content: center;
		transition: opacity .4s ease-out, transform .4s ease-out;
	}
	.is-conpact .new-header .gnav{
		margin: 0;
		opacity: 0;
 		pointer-events: none;
	}
	.is-conpact .tel-btn-list{
		display: none;
	}
	.is-conpact .upper-nav{
		padding-right: 70px;
	}
	.gnav .nav-list{
		flex: 1;
		border-right: 1px solid rgba(0,0,0,.1);
	}

	.is-menu-open .gnav.under-nav .nav-list:first-child{
		animation: fUp .2s .6s 1 ease-in-out;
		animation-fill-mode: forwards;
	}
	.is-menu-open .gnav.under-nav .nav-list:last-child{
		animation: fUp .2s .65s 1 ease-in-out;
		animation-fill-mode: forwards;
	}
	
	.gnav .nav-list:last-child{
		border-right: none;
	}
	.gnav .nav-link{
		padding: 12px;
		display: block;
		position: relative;
		white-space: nowrap;
		text-align: center;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	.new-header .gnav .nav-link{
		font-size: 1.4rem;
	}
	.new-header .gnav .nav-link.new::before{
		position: absolute;
		top: 2px;
		left: 4px;
		content: "NEW";
		font-size: 1.1rem;
		color: #C63021;
	}
	/* .gnav .nav-link::after{
		width: 0;
		max-width: 80px;
		height: 1px;
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		z-index: 1;
		content: "";
		background: #446769;
		transform: translateX(-50%);
		transition: width .3s ease-out;
	} */
	.gnav .nav-link:hover{
		color: #446769;
	}
	.gnav .nav-link:hover::after{
		width: 80%;
	}
	.upper-nav{
		position: absolute;
		right: 0;
		top: 0;
		align-items: center;
		padding-right: 70px;
		height: 80px;
	}
	.upper-nav .nav-list{
		margin-right: 32px;
	}
	.upper-nav .btn-list + .btn-list{
		margin-left: 12px;
	}
	.upper-nav .cta-btn{
		padding: 2px;
		height: 40px;
		width: 160px;
		display: flex;
    justify-content: center;
    align-items: center;
		border-radius: 6px;
		font-size: 1.4rem;
		position: relative;
	}
	/* .upper-nav .cta-btn::after{
		width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    flex-shrink: 0;
		display: inline-block;;
		content: "";
		vertical-align: middle;
		transition: all .3s ease-out;
		position: absolute;
		right: 12px;
	} */
	.upper-nav .cta-btn:hover::after{
		transform: translateX(2px) rotate(45deg);
	}
	.upper-nav .cta-btn.request-btn:hover{
		background: #fff;
		color: #65543a;
	}
	.upper-nav .cta-btn.request-btn:hover::after{
		background: #4a6fa5;
	}
	.upper-nav .cta-btn.reserve-btn:hover{
		background: #fff;
		color: #b76453;
	}
	.upper-nav .cta-btn.reserve-btn:hover::after{
		background: #fff;
		color: #b76453;
	}
	.upper-nav .cta-btn .btn-inner{
		display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
	}
	.upper-nav .nav-list .nav-link{
		color: #333;
	}
	.upper-nav .nav-link::after{
		
		margin-top: -3px;
		margin-left: 4px;
		width: 8px;
		height: 8px;
		transform: rotate(45deg);
		display: inline-block;
		border-top: 1px solid #333;
		border-right: 1px solid #333;
		content: none;
		vertical-align: middle;
		transition: all .3s ease-out;
	}
	.upper-nav .nav-link:hover::after{
		transform: translateX(2px) rotate(45deg);
	}
	/* .upper-nav .nav-link:hover::after{
		background: #bd9f6e;
		transform: scale(1.2);
	} */
	.cta-btn{
		padding: 0 24px;
		height: 48px;
		display: flex;
		align-items: center;
	}
	/* .hamburger{
		display: none;
	} */
	.sp-tel-btn{
		display: none;
	}
	.is-conpact .hamburger{
		width: 70px;
		height: 48px;
		display: flex;
		/* background: #293055; */
	}
	
}
.pc-drawer-menu{
		display: block;
		opacity: 0;
		pointer-events: none;
		height: 100vh;
		position: fixed;
		top: 0px;
		/* left: 0; */
		right: 0;
		z-index: 4;
		width: 506px;
		/* background: rgba(255,255,255,.8);
		-webkit-backdrop-filter: blur(20px) saturate(0.7);
		backdrop-filter: blur(20px) saturate(0.7); */
		/* background: url(../images/common/menu-bg.webp) no-repeat top center;
		background-size: cover; */
		overflow-y: auto;
		/* background: rgba(255, 255, 255, 0.4);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px); */
		background: rgba(255, 255, 255, 0.6);
		backdrop-filter: blur(12px);
		-webkit-backdrop-filter: blur(12px);
		/* transform: translate(0, -100%); */
		transition: opacity .6s ease-out;
		.nav-title{
			font-size: 1.8rem;
			padding-bottom: .6em;
			margin-bottom: 1.8em;
			border-bottom: 1px solid ;
		}
	}
	.is-menu-open .pc-drawer-menu{
		/* transform: translate(0, 0); */
		opacity: 1;
		pointer-events: auto;
	}
	.pc-drawer-menu{
        padding: 0px 60px 0 60px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.pc-drawer-menu .logo{
		/* margin: 0 auto 80px;
		max-width: 265px;
		height: 20px;
		background: url(../images/common/logo.svg) no-repeat center center;
		background-size: contain; */
		background: rgba(255, 255, 255, 0.8);
		height: 80px;
		width: calc(100% + 20vw);
		margin: 0 -10vw 100px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.pc-drawer-menu .logo a{
		max-width: 337px;
		height: 24px;
		background: url(../images/common/logo.svg) no-repeat center center;
		background-size: contain;
	}
	.drawer-nav .btn-space{
		margin: 0 40px 0 0;
		width: 30%;
	}
	.drawer-nav{
		justify-content: center;
	}
	/* .drawer-gnav{
		width: calc(70% - 40px);
		max-width: 750px;
	} */
	.pc-drawer-menu .gnav{
		margin-top: 0;
		gap: 0 16px;
		display: flex;
		flex-direction: column;
		gap: 32px;
	}
	.pc-drawer-menu .gnav.under-nav{
		/* flex-direction: row; */
		margin-top: 40px;
		display: none;
	}
	@media screen and (max-width:767px){
		.pc-drawer-menu .gnav{
			gap: 24px;
		}
		.pc-drawer-menu .gnav.under-nav{
			margin-top: 32px;
		}
		.drawer-nav{
		justify-content: center;
		overflow-y: auto;
  -webkit-overflow-scrolling: touch;
    	height: 100vh;

	}
	}
	.pc-drawer-menu .gnav.under-nav .nav-list{
		width: 100%;
		border: 1px solid #1a2f58;
	}
	.pc-drawer-menu .gnav.under-nav .nav-list .nav-link{
		height: 48px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgba(255, 255, 255, 0.5);
		gap: 12px;
	}
	.pc-drawer-menu .gnav.under-nav .nav-list .nav-link:hover{
		color: #1a2f58;
	}
	.pc-drawer-menu .gnav.under-nav .nav-list .nav-link:hover::after{
		transform: translateX(6px) rotate(45deg);
	}
	/* .pc-drawer-menu .gnav.under-nav .nav-list .nav-link::after{
		content: '';
		display: block;
		width: 8px;
		height: 8px;
		border-top: 1px solid #1a2f58;
		border-right: 1px solid #1a2f58;
		transform: rotate(45deg);
		transition: transform .4s ;
	} */
	.pc-drawer-menu .gnav .nav-list{
		width:100%;
		flex: none;
		/* border-bottom: 1px solid rgba(0,0,0,.1); */
		border-right: none;
		float: left;
	}
	.drawer-gnav-inner{
		margin-top: 30px;
		float: left;
		width: 100%;
	}
	/* .pc-drawer-menu .gnav .nav-list:first-child,
	.pc-drawer-menu .gnav .nav-list:nth-child(2){
		border-top: 1px solid rgba(0,0,0,.1);
		border-left: none;
	} */
	/* .pc-drawer-menu .gnav.under-nav .nav-list:first-child,
	.pc-drawer-menu .gnav.under-nav .nav-list:nth-child(2){
		border-top: none;
	} */
	.pc-drawer-menu .gnav .nav-link{
		padding: 0;
		display: flex;
		flex-wrap: nowrap;
		gap: 16px;
		align-items: center;
		position: relative;
		font-size: 1.6rem;
		text-align: left;
		color: #1f1f1f;
		transition: .4s;
	}
	.pc-drawer-menu .gnav .nav-link:hover{
		opacity: .6;
	}
	/* .pc-drawer-menu .gnav .nav-list.new{
		position: relative;
		&::before{
			content: 'NEW';
			padding-top: 2px;
            width: 80px;
            height: 26px;
			position: absolute;
			top: 50%;
			left: calc(180 / 1440 * 100% * -1);
			transform: translateY(-50%);
			color: #fff;
			background-color: #b83d77;
			border-radius: 50px;
			display: grid;
            place-items: center;
		}
	} */
	/* .pc-drawer-menu .gnav .nav-list.update{
		&::before{
			content: '更新';
			background-color: #a89549;
		}
	} */
	.pc-drawer-menu .gnav .nav-link .en-font{
		font-size: 2.6rem;
	}
	.pc-drawer-menu .gnav .nav-link .line{
		height: 1px;
		width: 100%;
		background: #000;
	}
	.pc-drawer-menu .gnav .nav-link.none{
		opacity: .9;
	}
	.pc-drawer-menu .gnav .nav-link.none::before{
		position: absolute;
		top: 50%;
		right: 16px;
		content: "COMING SOON";
		font-size: 1.1rem;
		color: #C63021;
		transform: translateY(-50%);
	}
	.pc-drawer-menu .gnav .nav-link::after{
		max-width: 100%;
		left: 0;
		transform: translateX(0);
	}
	.pc-drawer-menu .gnav .nav-link:hover::after{
		width: 100%;
	}
	.pc-drawer-menu .salon-name{
		margin-top: 40px;
	}
	.salon-title{
		margin-bottom: 16px;
	}
	@media screen and (max-width:767px){
		.salon-title{
			margin-bottom: 12px;
		}
		.pc-drawer-menu .salon-name{
			margin-top: 28px;
		}
	}
	.pc-drawer-menu .tel{
		/* justify-content:center; */
		justify-content: center;
	}
	.pc-drawer-menu .salon-status{
		width: 100%;
	}
	.pc-drawer-menu .general-btn{
		margin: 0;
		font-size: 1.6rem;
		width: 100%;
		max-width: 100%;
		border-radius: 0;
		/* box-shadow: 1px 1px 8px rgb(0,0,0,.2); */
		border-radius: 25px;
	}
	.pc-drawer-menu .cta-btns{
		margin-top: 40px;
		flex-wrap: wrap;
		align-items: center;
		/* display:flex; */
		display: none;
	}
	.pc-drawer-menu .general-btn.limited-btn{
		box-shadow: none;
	}
	.pc-drawer-menu .request-btn{
		color: #fff;
	}
	.pc-drawer-menu .general-btn + .general-btn{
		margin-top: 14px;
	}
	.gnav .nav-list{
		opacity: 1;
	}
@media screen and (min-width: 901px) and (max-width: 1218px){
	.gnav{
		margin-top: 36px;
	}
	.new-header .gnav .nav-link{
		padding: 12px 9px;
	}
}
@media screen and (min-width: 1500px) {
	.new-header .gnav .nav-link{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 1100px) {
	.pc-drawer-menu .gnav .nav-list.new{
		&::before{
            width: 64px;
			left: calc(180 / 1440 * 100% * -1);
		}
	}
}
@media screen and (min-width: 901px){
	.pc-drawer-menu {
		.wide-none{
			display: none;
		}
	}
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
	.pc-drawer-menu {
		display: flex;
		height: 100vh;
		top: 0;
		/* left: 0; */
		width: 100%;
		padding: 100px 24px 32px 24px;
		}
}
@media screen and (max-width: 900px){
	.new-header{
		height: 48px;
		transition: all .3s ease-out;
	}
	.new-header .inner{
		padding: 0;
		height: 48px;
	}
	.new-header .logo{
    margin: 10px 16px 7px;
    width: 240px;
    height: 33px;
    transition: opacity .4s ease-out;
	}
	body.is-down .new-header {
    transform: translateY(0);
	}
	/* .is-scroll .new-header{
		background: transparent;
	} */
	/* .is-scroll .new-header .logo{
		opacity: 0;
	} */
	.nav-container{
		display: none;
		width: 100vw;
		position: fixed;
		top: 48px;
		padding: 16px 16px 0;
		margin-top: 0;
		height: calc(100vh - 48px);
		overflow-y: auto;
		background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
		z-index: 99;
		transition: opacity .6s;
		opacity: 0;
		pointer-events: none;
	}
	.nav-container .tel{
		justify-content: center;
		align-items: baseline;
	}
	.new-header.has-bg{
		background: #fff;
	}
	.is-menu-open .new-header{
		/* background: #1a2f58; */
		transform: translateY(0);
		opacity: 1;
		/* background: rgba(255,255,255,.9);
		-webkit-backdrop-filter: blur(20px) saturate(0.7);
		backdrop-filter: blur(20px) saturate(0.7); */
	}
	.is-menu-open .nav-container{
		/* display: block; */
		display: none;
		opacity: 1;
		pointer-events: all;
	}
	.new-header .gnav{
		/* display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr; */
		display: block;
		/* border-top: 1px solid rgba(0,0,0,.1); */
	}
	.new-header .gnav .nav-list{
		position: relative;
		/* border-bottom: 1px solid rgba(0,0,0,.1); */
		/* float: left; */
		width: 100%;
	}
	.new-header .gnav .nav-list.new{
		&::before{
            content: 'NEW';
            padding: 2px;
            width: 36px;
            height: 16px;
            position: absolute;
            top: 50%;
            left: calc(7 / 390 * 100dvw * -1);
            transform: translateY(-50%);
            color: #fff;
            background-color: #b83d77;
            border-radius: 50px;
            display: grid;
            place-items: center;
            font-size: 11px;
		}
	}
	.new-header .gnav .nav-list.update{
		&::before{
			content: '更新';
			background-color: #a89549;
		}
	}
	/* .new-header .gnav .nav-list:nth-of-type(odd),
	.is-menu-open .upper-nav .nav-list:first-child{
		border-right: 1px solid rgba(0,0,0,.1);
	}
	.new-header .gnav .nav-list:last-child{
		border-right: 1px solid rgba(0,0,0,.1);
	} */
	.new-header .gnav .nav-list .none{
		opacity: .9;
	}
	.new-header .gnav .nav-link.none::before{
		position: absolute;
    bottom: 8px;
    left: 16px;
    content: "COMING SOON";
    font-size: 1rem;
    color: #C63021;
    white-space: nowrap;
    /* transform: translateX(-50%); */
	}
	.new-header .nav-link{
    	padding: 16px 35px;
		height: 52px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		font-size: 1rem;
		letter-spacing: .1em;
		font-feature-settings: 'palt';
		text-align: center;
		line-height: 1.2;
		gap: 12px;
	}
	.new-header .nav-link .en-font{
    flex-shrink: 0;
	}
	.new-header .nav-link .jp{
    flex-shrink: 0;
	}
	/* .new-header .nav-link:not(.none){
		background: url(../images/common/nav-arrow.svg) no-repeat 95% 50%;
		background-size: 5px;
	} */
	.nav-link .en-font{
		font-size: 1.5rem;
	}
	.nav-link .line{
		height: 1px;
		width: 100%;
		background: #000;
	}
	.upper-nav{
		padding: 0 ;
		/* display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr; */
		display: flex;
		gap: 16px;
		width: calc(100% - 16px);
		margin: 20px auto 32px;
	}
	.upper-nav .nav-list{
		width: calc(50% - 8px);
	}
	.upper-nav .nav-list .nav-link{
		height: 48px;
		padding: 12px;
		background: #fff;
		border: 1px solid #1a2f58;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
	}
	.upper-nav .nav-list .nav-link::after{
		content: '';
		padding: 4px;
		display: block;
		/* width: 8px;
		height: 8px; */
		border-top: 1px solid #1a2f58;
		border-right: 1px solid #1a2f58;
		transform: rotate(45deg);
	}
	.upper-nav .nav-list:nth-of-type(2){
	}
	.new-header .btn-list{
		margin-top: 16px;
		width: 50%;
	}
	.new-header .cta-btn{
		padding: 0;
		height: 50px;
		display: block;
		text-align: center;
		line-height: 50px;
	}
	.tel-btn-list{
		display: none;
	}
	.icon-tel-btn{
		width: 17px;
		margin: 0 0 -2px;
	}
	.sp-tel-btn{
		width: 45px;
		height: 49px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		position: absolute;
		top: 0;
		right: 56px;
		color: #2c2c2c;
		text-align: center;
		transition: all .3s ease-out;
	}
	.new-header .request-btn,
	.new-header .reserve-btn{
		display: none;
	}
	
	.pc-drawer-menu {
		.drawer-gnav-inner{
			text-align: center;
		}
		.tel{
			justify-content: center;
		}
		.cta-btns{
			margin-top: 16px;
			display: flex;
			.general-btn{
				opacity: 1;
				position: relative;
				border-radius: 8px;
				height: 52px;
				/* &::after{
					content: '';
						width: 8px;
						height: 8px;
						background: #fff;
						border: none;
						border-radius: 50%;
						position: absolute;
						right: 12px;
						left: auto;
						transform: none;
					} */
			}
		}
		.gnav.under-nav{
			display: flex;
			gap: 12px;
			flex-direction: row;
			.nav-list{
				width: calc(50% - 6px);
				border: none;
				.nav-link{
					font-size: 1.4rem;
					border-radius: 8px;
					position: relative;
					/* &::after{
						width: 6px;
						height: 6px;
						background: #333;
						border: none;
						border-radius: 50%;
						position: absolute;
						right: 8px;
						left: auto;
						transform: none;
					} */
				}
			}
		}
	}
}
.btn-label{
	font-size: 10px;
	font-feature-settings: 'palt';
	margin-top: 3px;
	color: #333;
}
@media screen and (max-width: 767px){
	.pc-drawer-menu {
		display: block;
		height: 100vh;
		top: 0;
		/* left: 0; */
		width: 100%;
			padding: 100px 24px 32px 24px;
	}
}
@media screen and (max-width: 370px) {
	.upper-nav .nav-list .nav-link{
		font-size: 1.2rem;
	}
}
/*--------------------------------
footer
--------------------------------*/
.footer-cta-section{
	background: #c9daf0;
}
.footer-cta-text{
	margin-bottom: .8em;
	font-size: clamp(2.4rem, 1.8vw, 3.6rem);
	letter-spacing: .15em;
}
.footer-cta-text + .note{
	margin-top: 0;
	margin-bottom: 2em;
	letter-spacing: .15em;
}
.footer-cta-item{
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
/* .footer-container{
	padding-top: 32px;
} */
.index2 .footer-container{
	margin-left: 160px;
}
.footer-container .inner{
	margin: 0 auto;
	padding: 0px 0 80px;
	width: calc(100% - 32px);
}
.footer-cta-flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	width: 100%;
}
.footer-menu-list{
    gap: 24px;
}
.footer-menu-item{
    width: calc(33.33% - 24px*2/3);
}
.footer-menu-item .img-wrapper{
	overflow: hidden;
}
.footer-menu-link{
    display: block;
	overflow: hidden;
	
}
.footer-menu-link img{
	transition: .8s;
}
.footer-menu-link:hover img{
	scale: 1.12;
}
.footer-menu-ttl{
    background: var(--dark-brown);
    color: #fff;
    padding: 12px 0;
    text-align: center;
	letter-spacing: .06em;
}



@media screen and (max-width: 767px){
	.footer-cta-flex{
		gap: 12px;
	}
	.footer-cta-text{
		margin-bottom: .8em;
	}
	.footer-cta-text + .note{
		margin-bottom: .8em;
	}
	.footer-container{
		padding-top: 0;
	}
	.index2 .footer-container{
		margin-left: 0;
	}
	.footer-nav{
		margin-bottom: 20px;
	}
	.footer-container .inner{
		padding: 0px 0 32px;
		width: calc(100% - 32px);
	}
	.footer-container .gnav{
		/* display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr; */
		/* border-top: 1px solid rgba(0,0,0,.1); */
		display: block;
	}
	.footer-container .gnav .nav-list{
		border-bottom: 1px solid rgba(0,0,0,.1);
		float: left;
		width: 50%;
	}
	.footer-container .gnav .nav-list:nth-child(odd){
		border-right: 1px solid rgba(0,0,0,.1);
	}
	.footer-container .gnav.sp-footer-item .nav-list:nth-child(2){
		border-right: 1px solid rgba(0,0,0,.1);
	}
	.footer-container .gnav .nav-link{
		padding: 0 16px;
		height: 60px;
		display: -ms-grid;
		display: grid;
		position: relative;
		align-items: center;
		justify-content: flex-start;
		letter-spacing: .1em;
		font-feature-settings: 'palt';
		text-align: center;
	}
	.footer-container .gnav .nav-link.none{
		position: relative;
		opacity: .9;
	}
	
	.footer-container .gnav .nav-link.none::before{
		position: absolute;
		bottom: 6px;
		left: 16px;
		content: "COMING SOON";
		font-size: 1rem;
		color: #C63021;
		white-space: nowrap;
	}
	
	.footer-gnav{
		width: 100%;
		border-top: 1px solid rgba(0,0,0,.1);
		/* border-bottom: 1px solid rgba(0,0,0,.1); */
	}
    .footer-menu-list{
        gap: 24px;
        flex-direction: column;
    }
    .footer-menu-item{
        width:100%;
    }

	.sp-fixed-btn {
    position: fixed;
    right: 0;
    width: 100%;
		bottom: 0;
    z-index: 5;
    transition: transform .3s ease-out;
	}
	.home .sp-fixed-btn {
		transform: translateY(48px);
	}
	.is-down .sp-fixed-btn {
		transform: translateY(0);
	}
	body.has-nav .sp-fixed-btn {
    transform: translateY(0);
	}
	.sp-fixed-btn .flex-wrapper{
		justify-content: flex-end;
	}
	.is-scroll .sp-fixed-btn{
		/* transform: translateY(50px); */
	}
	.sp-fixed-btn .btn-list{
		flex: 1;
	}
	.sp-fixed-btn .btn-list .cta-btn.limited-btn{
		line-height: 1.3;
		font-size: 1rem;
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	.sp-fixed-btn .cta-btn{
		padding: 4px;
		height: 48px;
		display: block;
		text-align: center;
		font-size: 1.4rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.sp-fixed-btn .cta-btn .btn-inner{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	.sp-fixed-btn .btn-list .limited-btn span::before{
		margin: 0 auto;
		left: 0;
		right: 0;
		top: -19px;
		margin-top: 0;
		width: 13px;
		height: 20px;
	}
}
.footer-container .gnav .nav-link:not(.none){
	background: url(../images/common/nav-arrow.svg) no-repeat 95% 50%;
	background-size: 5px;
}
.footer-container .gnav .nav-link::after{
	left: 0;
	transform: translate(0,0);
	max-width:100%;
	transition: width .2s ease-out;
}
.footer-container .gnav .nav-link:hover::after{
	width: 100%;
}
@media screen and (min-width: 768px){
	.footer-nav{
		padding: 40px 0 0;
		margin: 0 auto;
		width: calc(100% - 32px);
		max-width: 1100px;
		justify-content: center;
		display: none;
	}
	.sp-fixed-btn{
		margin-right: 40px;
		width: 30%;
	}
	.sp-fixed-btn > .flex-wrapper{
		flex-direction: column;
	}
	.footer-gnav{
		width: calc(70% - 40px);
	}
	.sp-fixed-btn .btn-list + .btn-list{
		margin-top: 16px;
	}
	.sp-fixed-btn .cta-btn{
		height: 124px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 2rem;
		box-shadow: 1px 1px 8px rgba(0,0,0,.2);
	}
	.sp-fixed-btn .cta-btn.limited-btn{
		box-shadow: none;
	}
	.sp-fixed-btn .cta-btn:hover{
		box-shadow: 0 0 2px rgba(0,0,0,.6);
	}
	.footer-container .gnav{
		margin: 0 -16px;
		display: block;
	}
	.footer-container .gnav .nav-list{
		margin: 0 16px;
		width: calc(50% - 32px);
		float: left;
		border: none;
		border-bottom: 1px solid #ccc;
	}
	.footer-container .gnav .nav-link{
		padding: 19px 12px;
		display: block;
		position: relative;
		white-space: nowrap;
		text-align: left;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	.footer-container .gnav .nav-link.none{
		opacity: .9;
	}
	.footer-container .gnav .nav-link.none::before{
		position: absolute;
		top: 50%;
		right: 12px;
		content: "COMING SOON";
		font-size: 1.1rem;
		color: #C63021;
		transform: translateY(-50%);
	}
}
@media screen and (min-width: 768px) and (max-width: 1000px){
	.sp-fixed-btn .cta-btn {
		font-size: 1.4rem;
	}
}
.bottom-nav{
	justify-content: space-between;
	align-items: center;
}
.bottom-nav .nav-list{
	margin: 8px 0;
	text-align: right;
}
.bottom-nav .nav-link::before{
	margin-top: -2px;
	margin-right: 4px;
	width: 0;
	height: 0;
	display: inline-block;
	content: "";
	border-style: solid;
	border-width: 4.5px 0 4.5px 7px;
	border-color: transparent transparent transparent #9B8C1B;
	vertical-align: middle;
}
.bottom-nav .nav-link:hover{
	opacity: .6;
}
.salon-name{
	margin-bottom: 16px;
	font-size: 1.4rem;
	line-height: 1.6;
}
.salon-holiday{
	color: #fff;
	line-height: 1.3;
}
.salon-contact{
	justify-content: center;
	align-items: center;
	gap: 16px;
}
.tel{
	display: flex;
	gap: 16px 8px;
	align-items: baseline;
	flex-wrap: wrap;
	justify-content: center;
}
.tel + .salon-status{
	margin-top: 12px;
}
.tel a{
	font-size: 4.2rem;
	color: #fff;
	white-space: nowrap;
}
.drawer-gnav .tel a{
	color: #2c2c2c;
}

.tel .free-dial{
	width: 56px;
}
.salon-status{
	font-size: 1.2rem;
	line-height: 1.4;
	width: 100%;
}
@media screen and (max-width: 767px){
	.salon-name{
		width: 100%;
		font-size: 1.2rem;
		font-feature-settings: "palt";
		margin-bottom: 12px;
	}
	.salon-contact{
		justify-content: center;
		align-items: center;
		gap: 8px;
		flex-direction: column;
	}
	.salon-holiday{
		text-align: center;
		font-size: 1.2rem;
	}
	.tel{
		gap: 8px;
		justify-content: center;
		align-items: center;
	}
	.tel a{
		font-size: 2.7rem;
	}
	.free-dial{
		width: 40px;
	}
	.tel .free-dial{
		width: 40px;
	}
	.bottom-nav .nav-list{
		text-align: left;
	}
	.bottom-nav .flex-item:first-child{
		order: 2;
	}
	.bottom-nav .flex-item:last-child{
		padding: 0 16px 16px;
		margin: 0 -16px 16px;
		width: calc(100% + 32px);
		border-bottom: 1px solid rgba(0,0,0,.2);
	}
}
.address-wrap{
	padding: 40px 16px 60px;
	justify-content: center;
	align-items: flex-end;
	gap: 16px;
}
@media screen and (max-width: 767px){
	.address-wrap{
		padding: 40px 16px 50px;
	}
}
.foot-logo{
	justify-content: flex-start;
	gap: 32px;
	font-size: 1rem;
	line-height: 1.5;
}
.foot-logo li{
	display: flex;
	flex-wrap: wrap;
	gap: 0 16px;
}

.foot-logo li span{
	width: 100%;
}
.foot-logo li a{
	margin-top: 8px;
	display: block;
}
.copyright{
	padding: .8em 0;
	font-style: normal;
	font-size: 1rem;
	color: #000000;
}

.summary-wrap{
	padding: 40px 16px;
	background: #fffbf5;
}
.summary-wrap .lead{
	margin-top: 0;
	color: #a28858;
}
.summary-wrap .caption{
	line-height: 1.7;
}
.summary-wrap + .footer-container{
	padding-top: 0;
}
@media screen and (max-width: 767px){
	.summary-wrap{
		padding: 32px 16px;
		border-bottom: none;
	}
	.foot-logo {
    	justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	.foot-logo li{
		flex-direction: column;
		align-items: center;
	}
	.foot-logo li span{
		text-align: center;
	}
}

.gd-bnr{
	display: block;
	max-width: 300px;
	margin: 20px auto;
}
.gd-bnr .fit-img{
	box-shadow: 0 0 8px rgba(153, 153, 153, 0.8);
}
@media screen and (max-width: 767px) {
	.gd-bnr{
		max-width: 250px;
	}
}
.site-footer-info{
	background: #604c20;
}
.footer-container.site-footer .site-footer-info .inner{
	padding: 60px 0;
}

/*--------------------------------
teaser
--------------------------------*/
.teaser-lead{
	margin-bottom: .6em;
	font-size: 6rem;
	white-space: nowrap;
}
.teaser-title{
	margin-bottom: .6em;
	font-size: 7rem;
	font-weight: 700;
	white-space: nowrap;
	letter-spacing: .05em;
}
.teaser-note{
	font-size: 4rem;
	font-weight: 500;
	color: #a00;
	white-space: nowrap;
	letter-spacing: .05em;
}
.teaser .general-section .inner{
	width: calc(100vw - 32px);
}
@media screen and (max-width: 930px){
	.teaser-lead{
		font-size: 7vw;
	}
	.teaser-title{
		font-size: 7vw;
	}
	.teaser-note{
		font-size: 6vw;
	}
}

/*--------------------------------
home
--------------------------------*/
.skip-btn{
	position: absolute;
	bottom: 32px;
	right: 32px;
	/* color: #fff;
	background: rgba(0, 0, 0, 0.7); */
	color: #000;
	background: rgb(255 255 255 / 70%);
	padding: 0 18px 0 16px;
	height: 40px;
	/* width: 120px; */
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.6rem;
	gap: 12px;
	cursor: pointer;
}
.skip-icon{
	width:0;
	height:0;
	border-style:solid;
	border-width: 7px 0 7px 12.1px;
	/* border-color: transparent transparent transparent #fff; */
	border-color: transparent transparent transparent #000;
	position: relative;
	display: inline-block;
}
.skip-icon::after{
	content: '';
	display: block;
	height: 16px;
	width: 2px;
	/* background: #fff; */
	background: #000;
	position: absolute;
	top: -7.5px;
	right: -4px;
}
.home .main-content{
	overflow: hidden;
}
.home .mv{
	aspect-ratio: 16 / 9;
}
@media screen and (max-width: 767px){
	.home .mv{
		aspect-ratio: 9 / 16;
	}
}
.mv .mv-img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0;
	transform: scale(1.05);
}
.mv .caption{
	opacity: 0;
}
.mv-text{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	filter: blur(8px);
}
.mv.is-anime .mv-img{
	animation: mvScale 2.4s ease-in-out 17.6s forwards;
}
.mv.is-anime .mv-text{
	animation: mvText 2s ease-in-out 18.4s forwards;
}
.mv.is-anime .caption{
	animation: mvText 2s ease-in-out 18.4s forwards;
}
.mv.is-skip .mv-img{
	animation: mvScale 2.4s ease-in-out 0.2s forwards;
}
.mv.is-skip .mv-text{
	animation: mvText 2s ease-in-out 1s forwards;
}
.mv.is-skip .caption{
	animation: mvText 2s ease-in-out 1s forwards;
}
.label-list:first-child{
	background: url(../images/home/label-bg-01.webp) no-repeat top center;
	background-size: cover;
	padding: 32px 24px;
}
.news-wrap{
	background: #fff;
	border: 1px solid #1a2f58;
	padding: 24px 16px;
	margin: 0 auto;
	max-width: 780px;
	line-height: 1.9;
	font-size: clamp(1.2rem, 1.95vw, 1.6rem);
	width: calc(100% - 48px);
}
.specialcontents .main-content .general-section p.news-wrap{
	background: #fff;
	border: 1px solid #1a2f58;
	padding: 24px 16px;
	margin: 0 auto;
	max-width: 780px;
	line-height: 1.9;
	font-size: clamp(1.2rem, 1.95vw, 1.6rem);
	letter-spacing: 0.015em;
	margin-bottom: 80px;
	width: calc(100% - 48px);
}
.info-area .news-wrap{
	margin-bottom: 60px;
}
@media screen and (max-width: 767px){
	.specialcontents .main-content .general-section p.news-wrap{
		margin-bottom: 32px;
	}
	.info-area .news-wrap{
		margin-bottom: 32px;
	}
}
.info-area{
	/* background: url(../images/home/label-bg-02.webp) no-repeat top center; */
	background: url(../images/home/top-bg-01.webp) no-repeat top center;
	background-size: cover;
}
.info-label{
	padding: 32px 24px;
	background: #1a2f58;
}
.info-wrap{
	/* background: #5d5e62;
	mix-blend-mode: multiply; */
	padding: 60px 0 0;
}
.info-wrap .info-item{
	padding: 16px 0;
}
.info-wrap .info-item .reserve-btn{
	margin-bottom: 60px;
}
.info-wrap .cta-btns + .note{
	margin-top: 3em;
}
.info-wrap .info-item:first-child{
	background: #fff;
	max-width: 750px;
	margin: 0 auto;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 16px;
	box-shadow: 1px 2px 8px rgba(107, 198, 214, .4);
	padding-left: 16px;
	padding-right: 16px;
}
.info-grid{
	margin: 0 auto;
	display: grid;
	gap: 48px;
	grid-template-columns: 1fr;
	position: relative;
	width: calc(100% - 32px);
	max-width: 1150px;
}
/* .info-grid::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 1px;
	height: 100%;
	background: #fff;
} */
.info-item dl{
	font-size: clamp(1.1rem, 1.95vw, 1.6rem);
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: 16px;
	line-height: 1.5;
}
.info-item dl + dl{
	margin-top: .4em;
}
.info-item dl dd a{
	color: #fff;
	text-decoration: underline;
}
.info-item dl.is-emphasis{
	margin-bottom: 10px;
	line-height: 1.5;
}
.info-item dl.is-emphasis p{
	grid-column-end: 3;
	grid-column-start: 1;
}
.info-new{
	font-style: italic;
}
.info-text{
	padding-top: .3em;
	margin-bottom: 1em;
	font-size: clamp(1.2rem, 1.95vw, 1.6rem);
	letter-spacing: .15em;
}
.info-body{
	padding-left: 16px;
	border-left: 1px solid #595757;
}
.info-kodo{
	margin-bottom: 1em;
	font-size: clamp(2.4rem, 1.8vw, 3.6rem);
	letter-spacing: .15em;
	font-feature-settings: "palt";
}

.info-kodo > .small-text02 {
	font-size: 80%;
}
.info-kodo + .note{
	margin-bottom: 1.6em;
}
.info-kodo .small-text,
.info-kodo .small-text02,
.info-kodo .small-text03 {
	letter-spacing: .08em !important;
}
.top-line-01{
	mix-blend-mode: hard-light;
	margin-top: -11vw;
	pointer-events: none;
}
.top-line-02{
	mix-blend-mode: screen;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}
.top-line-03{
	mix-blend-mode: hard-light;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	pointer-events: none;
}
.top-concept-section{
	background: url(../images/home/top-bg-03.webp) no-repeat bottom center;
	background-size: cover;
	position: relative;
}
.presentation-area{
	position: relative;
}
/* .presentation-area::after{
	content: '';
	display: block;
	width: 100%;
	height: 60px;
	background: #1a2f58;
} */
.presentation-wrap{
	position: absolute;
	top: 0;
	left: 24px;
	right: 24px;
	bottom: 0;
}
.presentation-head{
	height: 38%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.presentation-head .lead{
	margin-bottom: 2em;
}
.presentation-body {
	padding-top: 0;
	display: flex
;
	justify-content: center;
	align-items: center;
}
.presentation-copy{
	width: 37%;
}
.top-rd-grid{
	margin-top: 60px;
	display: grid;
	grid-template-columns: 50% 1fr;
	gap: 40px;
}
.top-rd-lists{
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.top-rd-list{
	padding: 12px 16px;
	/* box-shadow: 1px 1px 6px rgba(0, 0, 0, .8); */
	border-bottom-right-radius: 24px;
	border-top-left-radius: 24px;
	background: linear-gradient(90deg,rgba(4, 39, 100, 0.8),rgba(1, 55, 142, 0.6));
	mix-blend-mode: multiply;
}
.top-rd-list dl{
	font-size: clamp(1.2rem, 1.95vw, 1.6rem);
	line-height: 1.3;
	width: 90%;
	margin: 0 auto;
}
.top-rd-list dl dt{
	display: flex;
	align-items: center;
	gap: 8px;
}
.top-rd-list dl.has-mid dt .num{
	margin-top: -13px;
}
.top-rd-list dl dt .num{
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}
.top-rd-list dl dd{
	padding-top: 0px;
    padding-left: clamp(28px, 3.2vw, 32px);
	font-size: 85%;
}

.top-rd-list dl + dl{
	margin-top: .4em;
}
.top-rd-heading{
	margin-bottom: .8em;
    margin-inline: auto;
	padding: .6em 0 .3em;
	width: 90%;
	font-size: clamp(1.4rem, 1.95vw, 1.8rem);
	position: relative;
}
.rd-lists-flex{
	justify-content: space-between;
	gap: 12px;
	.list-contents{
		width: calc(65% - 6px);
	}
	.img-content{
		width: calc(35% - 6px);
	}
	.caption{
		margin-top: 2px;
	}
}
/* .top-rd-list:nth-of-type(1){
	background: linear-gradient(90deg,#054b49,#003534);
	border: 4px solid #002524;
} */
/* .top-rd-list:nth-of-type(1) .top-rd-heading{
	background: linear-gradient(90deg,transparent,#003534,transparent );
} */
/* .top-rd-list:nth-of-type(2){
	background: linear-gradient(90deg,#9b9054,#756a34);
	border: 4px solid #5e5426;
} */
/* .top-rd-list:nth-of-type(2) .top-rd-heading{
	background: linear-gradient(90deg,transparent,#5e5426,transparent );
} */
.top-rd-list .top-rd-heading::before,
.top-rd-list .top-rd-heading::after{
	content: '';
	display: block;
	width: 20%;
	height: 1px;
	background: linear-gradient(90deg,transparent,#fff,transparent );
	position: absolute;
	left: 0;
	right: 0;
}
.top-rd-list .top-rd-heading::before,
.top-rd-list .top-rd-heading::before{
	top: 50%;
	margin-top: -.5px;
}
.top-rd-list .top-rd-heading::after,
.top-rd-list .top-rd-heading::after{
	top: 50%;
	margin-top: -.5px;
	right: 0;
	left: auto;
}
.top-rd-list:nth-of-type(3) dl.has-mid dt .num{
	background: #fff9b1;
	border: 1px #183688 solid;
	color: #183688;
}
/* .top-rd-list:nth-of-type(3) .top-rd-heading{
	background: linear-gradient(90deg,transparent,#131d3a,transparent );
} */
.general-box{
	/* padding: 80px 48px;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 8px; */
	.img-wrapper .haitou-cap{
        bottom: 8%;
        right: 5%;
	}
}
.top-rd-image{
	width: 100%;
	margin: 0 auto 48px;
	max-width: 850px;
}
.top-project-section{
	background: url(../images/home/top-bg-04.webp) no-repeat top center;
	background-size: cover;
	position: relative;
}
.top-project-section .inner{
	position: relative;
	z-index: 1;
}
.top-project-lists{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 16px;
}
.top-project-list{
	position: relative;
}
.top-project-list .img-wrapper .caption{
	right: 12px;
}
.top-project-list::before{
	content: '';
	display: block;
	position: absolute;
	border: 1px solid #fff;
	mix-blend-mode: overlay;
	top: 6px;
	left: 6px;
	right: 6px;
	bottom: 6px;
	z-index: 1;
}
.top-project-list:first-child{
	background: linear-gradient(140deg, #72c9e4 0%, #0090bc 100%);
}
.top-project-list:nth-of-type(2){
	background: linear-gradient(140deg, #3786c8 0%, #005ea2 100%);
}
.top-project-list:nth-of-type(3){
	background: linear-gradient(140deg, #5c5ca7 0%, #2e3c83 100%);
}
.top-project-list:last-child{
	background: linear-gradient(140deg, #69c09f 0%, #00938b 100%);
}
.top-project-body{
	padding: 36px 16px 40px;
}
.top-project-body dl{
	display: flex;
	justify-content: center;
	gap: 8px;
	font-size: 1.6rem;
	line-height: 1.3;
}
.top-project-body dl dt{
	margin-top: 1px;
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #fff;
	flex-shrink: 0;
}
.top-project-body .note{
	font-size: 1.2rem;
	text-align: center;
	margin-bottom: 0;
}
.bg-lines{
	height: 20vw;
	background: url(../images/common/lines.webp) no-repeat center center;
	background-size: auto 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bg-lines + .inner{
	padding-top: 0;
}
.has-bg-layer{
	position: relative;
	z-index: 1;
}

.cliping-mask {
    overflow: hidden;
}
.underRight {
    animation-name: underRight;
    animation-timing-function: ease-out;
}
.gradation-mask {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(0deg, #fff 0, #fff 50%, rgba(255, 255, 255, 0) 100%);
    height: 200%;
    animation-name: gradationMask;
    animation-fill-mode: forwards;
    animation-timing-function: ease-out;
    transform: translateY(-50%);
    visibility: visible !important;
}
@keyframes underRight {
	from {
		opacity: 0;
		transform: translate(60px,40px);
	}
	50% {
		opacity: 1;
		transform: translate(0,0);
	}
}
@keyframes gradationMask {
	from {
		transform: translateY(-50%);
	}
	to {
		transform: translateY(50%);
	}
}

@keyframes mvScale {
	0%{
		opacity: 0;
		transform: scale(1.05);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes mvText {
	0%{
		opacity: 0;
		filter: blur(8px);
	}
	100%{
		opacity: 1;
		filter: blur(0);
	}
}
#redevelopment{
	margin-top: calc(360 / 1440 * 100vw * -1);
}
@media screen and (max-width: 767px){
	.info-wrap .info-item .reserve-btn{
		margin-bottom: 48px;
	}
	.skip-btn{
		right: 16px;
	}
	.top-project{
		max-width: 500px;
		margin: 0 auto;
	}
	.top-project-lists{
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.label-list:first-child{
		background: url(../images/home/label-bg-01-sp.webp) no-repeat top center;
		background-size: cover;
		padding: 24px 24px;
	}
	#redevelopment{
		margin-top: -40px;
		position: relative;
	}
	#redevelopment::before{
		content: '';
		display: block;
		padding-top: 40px;
	}
	.info-text{
		width: 100%;
		border-bottom: 1px solid #000;
		padding-bottom: 8px;
		margin-bottom: 0;
	}
	.info-area{
		background: url(../images/home/label-bg-02-sp.webp) no-repeat top center;
		background-size: cover;
	}
	.info-label{
		background: #1a2f58;
	}
	.info-wrap {
    padding: 32px 0;
	}
	.info-grid {
		gap: 0;
    grid-template-columns: 1fr;
    width: calc(100% - 48px);
	}
	.info-grid::before {
    content:none;
	}
	.info-wrap .info-item:first-child{
		padding: 24px;
		flex-direction: column;
		align-items: center;
		border-bottom: 1px solid #fff;
		margin-bottom: 24px;
	}
	.info-body{
		width: 100%;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		border-left: 0;
		padding-left: 0;
	}
	.presentation-copy {
		width: 63.5%;
	}
	.presentation-head {
		height: 36%;
	}
	.presentation-body{
		padding-top: 15%;
		/* padding-bottom: 8%;
		height: 64%; */
	}
	.presentation-area::after {
    height: 20px;
	}
	.top-rd-grid{
		max-width: 500px;
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.top-project-list{
		display: grid;
	grid-template-columns: 40% 1fr;
	}
	.general-box .tertiary-heading{
		font-size: 1.6rem;
		margin-bottom: 1.4em;
	}
	.top-project-body {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 12px;
	}
	.presentation-head .lead{
		font-size: 3vw;
	}
	.presentation-head .secondary-heading{
		font-size: 4.2vw;
	}
	.info-item dl dt{
		display: flex;
		justify-content: center;
		gap: 16px;
	}
	.info-item dl{
    gap: 4px 16px;
	}
	.info-item dl + dl {
    margin-top: 1.2em;
	}
	.info-item dl dd{
		grid-column: 1 / 4;
	}
	.top-rd-list dl dt .num{
			width: 20px;
			height: 20px;
	}
	.top-rd-list dl dd{
		padding-top: 1px;
	}
		.top-rd-list dl{
			width: 90%;
		}
		.top-concept-section{
			background: url(../images/home/top-bg-03-sp.webp) no-repeat top center;
			background-size: cover;
			position: relative;
		}
		.top-project-list .img-wrapper .caption{
		right: 8px;
		bottom: 4px;
	}
	.general-box{
		.img-wrapper .haitou-cap{
			bottom: 2%;
			right: 8px;
		}
	}
}





.info-wrap .info-block-actions {
  margin: auto;
  padding: 21px;
  max-width: 1120px;
  width: 100%;
  background: #fff;
  border-radius: 0 20px 0 20px;
  position: relative;
  z-index: 0;
  box-shadow: 1px 2px 8px rgba(107, 198, 214, 0.4);
}
.info-wrap .info-block-actions::before {
  content: "";
  display: block;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  border-radius: 0 10px 0 10px;
  position: absolute;
  top: 20px;
  right: 20px;
  left: 20px;
  bottom: 20px;
  z-index: -1;
  background: linear-gradient(to bottom right, #0ba2a9, #183688, #66489a);
}
@media screen and (max-width: 767px) {
  .info-wrap .info-block-actions {
    padding: 6px;
  }
  .info-wrap .info-block-actions::before {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border-radius: 0 9px 0 9px;
    position: absolute;
    top: 5px;
    right: 5px;
    left: 5px;
    bottom: 5px;
  }
}
.info-wrap .info-block-actions__outer {
  padding: min(55 / 1120 * 100vw, 55px) min(30 / 1120 * 100vw, 30px) min(60 / 1120 * 100vw, 60px);
  background: #fff;
  border-radius: 0 9px 0 9px;
  position: relative;
  z-index: 0;
}
.info-wrap .info-block-actions__outer::before {
  content: "";
  display: block;
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border-radius: 0 10px 0 10px;
  position: absolute;
  top: 5px;
  right: 5px;
  left: 5px;
  bottom: 5px;
  z-index: -2;
  background: linear-gradient(to bottom right, #0ba2a9, #183688, #66489a);
}
.info-wrap .info-block-actions__outer::after {
  content: "";
  display: block;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  border-radius: 0 9px 0 9px;
  position: absolute;
  top: 6px;
  right: 6px;
  left: 6px;
  bottom: 6px;
  z-index: -1;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .info-wrap .info-block-actions__outer {
    padding: min(30 / 375 * 100vw, 30px) min(20 / 375 * 100vw, 20px) min(40 / 375 * 100vw, 40px);
  }
}
.info-wrap .info-block-actions__item + .info-block-actions__item {
  margin-top: min(50 / 1120 * 100vw, 50px);
  padding-top: min(50 / 1120 * 100vw, 50px);
  background-image: linear-gradient(to left, #595757, #595757 1px, transparent 1px);
  background-repeat: repeat-x;
  background-size: 5px 1px;
  background-position: left top;
}
.info-wrap .info-block-actions__item .info-kodo {
  font-size: clamp(2.4rem, 3.75vw, 4.2rem);
  line-height: 1.4;
  margin-bottom: clamp(15px, 2.2321428571vw, 25px);
}
.info-wrap .info-block-actions__item .info-kodo .break {
  display: block;
  margin-bottom: 6px;
}
.info-wrap .info-block-actions__item .info-kodo .small-text {
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .info-wrap .info-block-actions__item .info-kodo .sp {
    display: none;
  }
}
.info-wrap .info-block-actions__item .general-btn {
  margin-bottom: 0;
  gap: 2px;
}
.info-wrap .info-block-actions__item .general-btn a {
  margin: 0;
}
.info-wrap .info-block-actions__item .general-btn .cta-arrow {
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .info-wrap .info-block-actions__item + .info-block-actions__item {
    margin-top: min(35 / 375 * 100vw, 35px);
    padding-top: min(35 / 375 * 100vw, 35px);
  }
  .info-wrap .info-block-actions__item .general-btn {
    height: 40px;
    font-size: 17px;
  }
  .info-wrap .info-block-actions__item .general-btn .cta-arrow {
    width: 33px;
  }
}
.info-wrap .info-block-actions__detail {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 10px;
  font-size: min(16 / 890 * 100vw, 16px);
  height: min(68 / 768 * 100vw, 68px);
}
.info-wrap .info-block-actions__detail_wrap {
  padding: min(40 / 890 * 100vw, 40px);
  margin: 0 auto;
  position: relative;
  z-index: 0;
  max-width: 760px;
  min-height: min(187 / 890 * 100vw, 187px);
  background: linear-gradient(90deg, rgba(219, 97, 126, 0.2) 0%, rgba(24, 54, 136, 0.2) 100%);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.info-wrap .info-block-actions__detail_wrap.type02 {
  background: linear-gradient(90deg, rgba(0, 167, 188, 0.2) 0%, rgba(24, 54, 136, 0.2) 100%);
  min-height: min(228 / 890 * 100vw, 228px);
}
.info-wrap .info-block-actions__detail_wrap.type02::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: min(30 / 890 * 100vw, 30px);
  bottom: 0;
  width: min(352 / 890 * 100vw, 352px);
  max-width: 352px;
  margin: auto;
  aspect-ratio: 257.92/149.35;
  background-image: url("../images/home/top-img-request.webp");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.info-wrap .info-block-actions__detail_wrap.type02 .info-block-actions__detail {
  height: auto;
}
.info-wrap .info-block-actions__detail_wrap + .cta-btns {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .info-wrap .info-block-actions__detail {
    height: auto;
    font-size: min(12 / 375 * 100vw, 12px);
  }
  .info-wrap .info-block-actions__detail_wrap.type02::after {
    position: static;
    width: 100%;
  }
  .info-wrap .info-block-actions__detail_wrap + .cta-btns {
    margin-top: 20px;
  }
}

.project-lists-top{
	margin-top: 30px;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(20px, 3.6vw, 36px);
	.top-project-list{
		&::before{
			inset: 0;
			border-width: 3px;
		}
		.top-project-body {
			padding: 50px 16px 38px;
		}
		dl{
			margin-bottom: 30px;
			position: relative;
			&::before{
				content: '';
				width: 100%;
				height: 40px;
				position: absolute;
				inset: 0;
				top: calc(-6 / 20 * 100%);
			}
			dd{
				text-shadow: 0 0 6px rgba(0,0,0,.6);
				font-size: clamp(1.8rem, 2.1vw, 2.1rem);
				letter-spacing: .1rem;
			}
		}
		&:first-child{
			dl::before{
				background: url(../images/home/project-ttl-01.webp) no-repeat top center/ 65%;
			}
		}
		&:nth-child(2){
			dl::before{
				background: url(../images/home/project-ttl-02.webp) no-repeat top center/ 62%;
			}
		}
		&:nth-child(3){
			dl::before{
				background: url(../images/home/project-ttl-03.webp) no-repeat top center/ 40%;
			}
		}
		&:nth-child(4){
			dl::before{
				background: url(../images/home/project-ttl-04.webp) no-repeat top center/ 95%;
			}
		}
		.note{
			font-size: clamp(1.4rem, 1.8vw, 1.8rem);
			letter-spacing: .3rem;
			font-feature-settings: "palt";
		}
	}
}
.link-btn{
	margin: clamp(38px, 8vw, 80px) auto clamp(16px, 4vw, 40px);
	padding-top: 8px;
	max-width: 380px;
	width: 80%;
	height: 56px;
	background-color: transparent;
	border: 1px solid #fff;
	border-radius: 32px;
	font-size: clamp(1.8rem, 2.3vw, 2.3rem);
	letter-spacing: .3rem;
	line-height: 1.5;
	transition: transform .4s;
	&:hover{
		background-color: #fff;
		border-color: #183688;
		color: #183688;
		.cta-arrow{
			transform: translateX(12px);
			.cls-1{
				fill: #183688
			}
			.cls-2{
				stroke: #183688;
			}
		}
	}
	.cta-arrow{
		transition: transform .4s;
	}
	.large-text{
		font-size: 120%;
	}
}
@media screen and (max-width: 767px) {
	.project-lists-top{
		grid-template-columns: auto;
		.top-project-list{
			display: block;
			dl{
				margin-bottom: 0;
				width: 100%;
			}
		}
	}
	.link-btn{
		height: 48px;
	}
}

/*--------------------------------
project
--------------------------------*/

/*--------------------------------
access location
--------------------------------*/


/*--------------------------------
security
--------------------------------*/

/*--------------------------------plan
--------------------------------*/


/*--------------------------------
map
--------------------------------*/
.map .viewport{
	z-index: 2;
}
.map .in-main{
	overflow: hidden;
}
.map .in-main--copy{
	padding-top: 40px;
	overflow: hidden;
}
.map-wrapper{
	margin: 0 auto 60px;
	max-width: 1000px;
}
.map-inner{
	position: relative;
	z-index: 2;
}
.general-section .inner.map-inner-min{
	max-width: 760px;
	.map-wrapper{
		height: fit-content;
		border: none;
		img{
			width: 100%;
			height: auto;
		}
	}
}
.map-section.general-section .inner{
	padding-top: 0;
}
.map-bg{
	background: url(../images/map/map-bg.webp) no-repeat top center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.map-mv-top{
	position: absolute;
    bottom: -25.9vw;
    left: 0;
    width: 100%;
    z-index: 1;
    mix-blend-mode: screen;
    pointer-events: none;
}
.map-line-top{
	position: absolute;
    top: -16vw;
    left: 0;
    width: 100%;
    z-index: 1;
    mix-blend-mode: multiply;
    pointer-events: none;
}
.map-line-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    mix-blend-mode: hard-light;
    pointer-events: none;
}
.map-btn {
	margin: 32px auto 0;
	width: 300px;
	height: 40px;
	font-size: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #747D8C;
	position: relative;
	gap: 12px;
}
.gm-btn{
	color: #183688;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #183688;
}
.gm-btn svg{
	width: 24px;
}
.gm-btn svg .cls-1 {
	fill: #183688;
}

.gm-btn svg .cls-1, .gm-btn svg .cls-2 {
	stroke-width: 0px;
}

.gm-btn svg .cls-2 {
	fill: #fff;
}

.gm-btn{
	color: #183688;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #183688;
}
.map-icon {
	display: inline-block;
	width: 20px;
}
.map-btn::after {
	content: '';
	display: block;
	width: 8px;
	height: 9.5px;
	position: absolute;
	right: 12px;
	top: 50%;
	margin-top: -5px;
}
@media screen and (max-width: 767px){
	.general-section .inner.map-inner{
		padding-top: 48px;
	}
	.map-wrapper {
		margin-bottom: 32px;
	}
}



.limited-mv{
	padding-top: 48px;
	background: linear-gradient( 135deg, rgba(121, 98, 169, 0.8), rgba(25, 74, 158, 0.8));
	overflow: hidden;
}
.limited-mv .primary-heading{
	margin-bottom: 0;
}
.plan-tab-wrap{
	border-bottom: 1px solid #1a2f58;
	margin-bottom: 60px;
	margin-top: 32px;
}
.plan-tab-wrap .tab-btn-wrap{
	margin: 0 auto;
	max-width: 830px;
	width: calc(100% - 48px);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}
.plan-tab-wrap .tab-btn-wrap .js-tab a{
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid #1a2f58;
	border-left: 1px solid #1a2f58;
	border-right: 1px solid #1a2f58;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	font-size: 1.8rem;
	padding: 0 32px;
	background: #fff;
	color: #1a2f58;
}
.plan-tab-wrap .tab-btn-wrap .js-tab a.is-active{
	background: #1a2f58;
	color: #fff;
}
.plan-tab-wrap .tab-btn-wrap .js-tab a.is-active .line{
	background: #fff;
}
.plan-tab-wrap .tab-btn-wrap .js-tab a .en{
	font-size: 150%;
	display: flex;
	align-items: baseline;
}
.plan-tab-wrap .tab-btn-wrap .js-tab .line{
		flex-grow: 1;
		margin: 0 8px;
			width: 50px;
    height: 1px;
		background: #1a2f58;
}

@media screen and (max-width: 767px){
	.plan-tab-wrap .tab-btn-wrap{
	gap: 16px;
	}
	.general-section.limited-mv .inner{
		padding: 48px 0;
	}
	.plan-tab-wrap .tab-btn-wrap .js-tab a{
	font-size: 1.2rem;
	padding: 0 16px;
	flex-direction: column;
	}
	.plan-tab-wrap .tab-btn-wrap .js-tab .line{
		flex-grow: unset;
		margin: 12px auto 8px;
	}
	.plan-tab-wrap .tab-btn-wrap .js-tab a .en {
    font-size: 130%;
	}
	.plan-tab-wrap {
		margin-top: 32px;
    margin-bottom: 40px;
	}
}
/*--------------------------------
state
--------------------------------*/

.disabled {
	opacity: 0.1;
	cursor: default;
	pointer-events: none;
}
.none{
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}
.is-none{
	display: none;
}
.coming-soon{
	box-shadow: none;
	pointer-events: none;
}
.is-fv {
	opacity: 0;
	animation-fill-mode: both;
	visibility: hidden;
}
.is-light{
	color: #fff;
}
.is-blue{
	color: #183688;
}
.is-key{
	color: #a89549;
}
.is-key2{
	color: #1a2f58;
}
.is-key3{
	color: #df8181;
}
.is-gry{
	color: #727171;
}
.is-yellow{
	color: #fff9b1;
}
.is-shadow{
	text-shadow: 0 0 1px rgba(0,0,0,.8), 0 0 4px rgba(0,0,0,.4);
}
.is-shadow-blue{
	text-shadow: 0 0 1px rgba(19, 53, 112, 0.8), 0 0 4px rgba(19, 53, 112, 0.8);
}
.is-cloud{
	text-shadow:
		1px 1px 3px #fff,
		-1px 1px 3px #fff,
		1px -1px 3px #fff,
		-1px -1px 3px #fff;
}
.on-shadow{
	filter: drop-shadow(0px 0px 4px rgba(0,0,0,.2));
}
.has-border {
	box-shadow: 0 0 2px 0 rgb(0 0 0 / 40%);
}
.line-wide{
	line-height: 2.4;
}
.is-alert{
	color: #c90000;
}

html.unscrollable,
.lenis.unscrollable,
body.unscrollable,
.unscrollable {
  position: relative ;
  inset: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  height: 100% !important;
  touch-action: none;
}
.mt-80{
	margin-top: 80px;
}
@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;
	}
}




/* TOP バナー追加 250806 higuchi */

.bnr-area{
	max-width: 780px;
	margin: 0 auto 50px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	@media screen and (max-width: 767px){
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 767px){
	.bnr-area{
		margin-bottom: 30px;
		margin-top: 30px;
	}
}

@media (hover){
	.bnr-area figure a{
		transition: 0.3s;
	}
	.bnr-area figure a:hover{
		opacity: .8;
	}
}
