
@charset "utf-8";


/* =======================

ad_video 

======================= */

#ad_video {
                width: 100svw;
                height: 100svh;
                min-height: 100svw;
                overflow: hidden;
                margin-top: -48px;
	display: flex;
	align-items: center;
	justify-content: center;
                position: relative;
                }
@media screen and (min-width: 768px) {
#ad_video {
                margin-top: -77px;
                }
	}
@media screen and (min-width: 1101px) {
#ad_video {
                width: 100svw;
                height: 100svh;
                min-height: 100svh;
                margin-top: -77px;
                }
                }

#ad_video video{
                position: absolute;
                height: 100%;
                width: 100%;
                top: 0;
                left: 0;
                object-fit: cover;
                }

#ad_video h1 {
                position: absolute;
                width: 100svw;
                height: 100%;
                top: 0;
                left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
                z-index: 1;
                }

#ad_video h1 img{
                width: 75%;
                max-width: 500px;
                margin-top: 30px;
                }

/* =======================

ad_new

======================= */

#ad_new {
                width: 100svw;
                height: 100svh;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../images/topbg_new.jpg);
                }
@media screen and (min-width: 1101px) {
#ad_new {
                width: 100svw;
                height: auto;
	aspect-ratio: 2;
                padding-top: 8%;
                }
                }

#ad_new._2025 {
	background-image: url(../images/topbg_new2025.jpg);
                }

#ad_new a{
                width: 100%;
                height: 100%;
                overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 30px;
                position: relative;
                }

#ad_new a h2{
                font-size: min(8vw, 45px);
                line-height: 1em;
                text-align: center;
                z-index: 1;
                letter-spacing: .1em;
                margin-top: 10%;
                }
@media screen and (min-width: 1101px) {
#ad_new a h2{
                font-size: min(9vw, 45px);
                }
                }

#ad_new a h2 span{
                font-size: .6em;
                }

#ad_new a div.ad_btn{
                z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
                /*border: 1px solid rgba(8, 22, 51, .4);*/
	background-color: rgba(255, 255, 255, 0.5);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

#ad_new a:hover div.ad_btn{
	background-color: rgba(255, 255, 255, 0.8);
                }

#ad_new a div.ad_btn p{
                font-size: .8em;
                line-height: 1em;
                padding: 1.3em 4em;
                }
@media screen and (min-width: 768px) {
#ad_new a div.ad_btn p{
                font-size: 1em;
                }
	}
@media screen and (min-width: 1101px) {
#ad_new a div.ad_btn p{
                font-size: 1em;
                }
                }

#ad_new a div.ad_bg{
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                overflow: hidden;
                z-index: 0;
                }

#ad_new a div.ad_bg picture{
                width: 100%;
                height: 100%;
                object-fit: cover;
                position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
                overflow: hidden;
                }

#ad_new a div.ad_bg picture img{
                height: 100%;
                object-fit: cover;
                }


/* =======================

ad_lineup

======================= */

#ad_lineup {
                width: 100svw;
                height: 100svh;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../images/topbg_lineup_sp.jpg);
                }
@media screen and (min-width: 1101px) {
#ad_lineup {
                width: 100svw;
                height: auto;
	aspect-ratio: 2;
	background-image: url(../images/topbg_lineup.jpg);
                }
                }

#ad_lineup a{
                width: 100%;
                height: 100%;
                overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 30px;
                position: relative;
                }
@media screen and (min-width: 1101px) {
#ad_lineup a{
                padding-top: 8%;
                }
                }

#ad_lineup a h2{
                font-size: min(5vw, 35px);
                line-height: 1em;
                z-index: 1;
                letter-spacing: .1em;
                }
@media screen and (min-width: 1101px) {
#ad_lineup a h2{
                font-size: min(6vw, 25px);
                }
                }

#ad_lineup a h3{
                font-size: min(3vw, 13px);
                line-height: 1em;
                z-index: 1;
                }
@media screen and (min-width: 768px) {
#ad_lineup a h3{
                font-size: min(3vw, 18px);
                }
                }
@media screen and (min-width: 1101px) {
#ad_lineup a h3{
                font-size: min(3vw, 13px);
                }
                }

#ad_lineup a div.ad_btn{
                z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
                /*border: 1px solid rgba(8, 22, 51, .4);*/
	background-color: rgba(255, 255, 255, 0.5);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

#ad_lineup a:hover div.ad_btn{
	background-color: rgba(255, 255, 255, 0.8);
                }

#ad_lineup a div.ad_btn p{
                font-size: .8em;
                line-height: 1em;
                padding: 1.3em 4em;
                }
@media screen and (min-width: 768px) {
#ad_lineup a div.ad_btn p{
                font-size: 1em;
                }
	}
@media screen and (min-width: 1101px) {
#ad_lineup a div.ad_btn p{
                font-size: 1em;
                }
                }

#ad_lineup a div.ad_bg{
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                overflow: hidden;
                z-index: 0;
                }

#ad_lineup a div.ad_bg picture{
                width: 100%;
                height: 100%;
                object-fit: cover;
                position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
                overflow: hidden;
                }

#ad_lineup a div.ad_bg picture img{
                height: 100%;
                object-fit: cover;
                }

/* =======================

ad_about

======================= */

#ad_about {
                width: 100svw;
                height: 100svh;
                }
@media screen and (min-width: 1101px) {
#ad_about {
                width: 100svw;
                height: auto;
	aspect-ratio: 2;
                }
                }

#ad_about a{
                width: 100%;
                height: 100%;
                overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	row-gap: 30px;
                position: relative;
                }
@media screen and (min-width: 1101px) {
#ad_about a{
                padding-top: 8%;
                }
                }

#ad_about a h2{
                font-size: min(5vw, 35px);
                line-height: 1em;
                z-index: 1;
                letter-spacing: .1em;
                }
@media screen and (min-width: 1101px) {
#ad_about a h2{
                font-size: min(6vw, 25px);
                }
                }

#ad_about a div.ad_btn{
                z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
                /*border: 1px solid rgba(8, 22, 51, .4);*/
	background-color: rgba(255, 255, 255, 0.5);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

#ad_about a:hover div.ad_btn{
	background-color: rgba(255, 255, 255, 0.8);
                }

#ad_about a div.ad_btn p{
                font-size: .8em;
                line-height: 1em;
                padding: 1.3em 4em;
                }
@media screen and (min-width: 768px) {
#ad_about a div.ad_btn p{
                font-size: 1em;
                }
	}
@media screen and (min-width: 1101px) {
#ad_about a div.ad_btn p{
                font-size: 1em;
                }
                }

#ad_about a div.ad_bg{
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                overflow: hidden;
                z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	flex-wrap: wrap;
                }
@media screen and (min-width: 1101px) {
#ad_about a div.ad_bg{
	flex-wrap: nowrap;
                }
                }

#ad_about a div.ad_bg div{
                width: 50%;
                height: 50%;
                overflow: hidden;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
                }
@media screen and (min-width: 1101px) {
#ad_about a div.ad_bg div{
                width: 25%;
                height: 100%;
                }
                }

#ad_about a div.ad_bg div:nth-child(1){
	background-image: url(../images/topbg_about1_sp.jpg);
                }
#ad_about a div.ad_bg div:nth-child(2){
	background-image: url(../images/topbg_about2_sp.jpg);
                }
#ad_about a div.ad_bg div:nth-child(3){
	background-image: url(../images/topbg_about3_sp.jpg);
                }
#ad_about a div.ad_bg div:nth-child(4){
	background-image: url(../images/topbg_about4_sp.jpg);
                }
@media screen and (min-width: 1101px) {
#ad_about a div.ad_bg div:nth-child(1){
	background-image: url(../images/topbg_about3_sp.jpg);
                }
#ad_about a div.ad_bg div:nth-child(2){
	background-image: url(../images/topbg_about4_sp.jpg);
                }
#ad_about a div.ad_bg div:nth-child(3){
	background-image: url(../images/topbg_about2_sp.jpg);
                }
#ad_about a div.ad_bg div:nth-child(4){
	background-image: url(../images/topbg_about1_sp.jpg);
                }
                }


#ad_about a div.ad_bg picture{
                width: 100%;
                height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
                overflow: hidden;
                }

#ad_about a div.ad_bg picture img{
                height: 100%;
                object-fit: cover;
                }


/* =======================

ad_qa

======================= */

#ad_qa {
                width: 100svw;
                padding: 5em 0;
                text-align: center;
                }
@media screen and (min-width: 768px) {
#ad_qa {
                padding: 10em 0;
                }
                }

#ad_qa h2{
                font-size: 1.8em;
                line-height: 1em;
                z-index: 1;
                letter-spacing: .1em;
                }
@media screen and (min-width: 1101px) {
#ad_qa h2{
                font-size: 1.8em;
                }
                }

#ad_qa h3{
                font-size: 1em;
                line-height: 1em;
                z-index: 1;
                margin-top: 2em;
                }
@media screen and (min-width: 768px) {
#ad_qa h3{
                font-size: 1em;
                }
                }
@media screen and (min-width: 1101px) {
#ad_qa h3{
                font-size: 1em;
                }
                }

#ad_qa ._qa__section {
	width: 80%;
	margin: auto;
                margin-top: 3em;
	}
@media screen and (min-width: 768px) {
#ad_qa ._qa__section {
	width: 60%;
                margin-top: 6em;
	}
                }
@media screen and (min-width: 1101px) {
#ad_qa ._qa__section {
	width: 50%;
                margin-top: 6em;
	}
                }

#ad_qa ._qa__section dl {
	margin: 0;
	border-bottom: 1px solid rgba(11, 29, 66, 0.2);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
	}

#ad_qa ._qa__section dl:hover {
	border-bottom: 1px solid rgba(11, 29, 66, 1);
	}

#ad_qa ._qa__section dl dt {
	margin: 0;
	padding: 0;
	background: url("../images/icon-arrow-down.svg") no-repeat;
	background-size: 10px;
	background-position: right center;
	cursor: pointer;
	font-size: 1em;
	}

#ad_qa ._qa__section dl dt p {
	position: relative;
	font-size: .9em;
	line-height: 1.7em;
	padding: 1em 3em 1em 3em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break:break-all;
	}
@media screen and (min-width: 768px) {
#ad_qa ._qa__section dl dt p {
	font-size: 1em;
	line-height: 2em;
	padding: 2em 3em 2em 3em;
	}
                }

#ad_qa ._qa__section dl dt p:after {
	position: absolute;
	top: calc(50% - 0.65em);
	left: 0;
	content: 'Q';
	font-size: 1.5em;
                font-family: "Cormorant Garamond", serif;
                font-weight: 400;
                font-style: normal;
	}

#ad_qa ._qa__section dl dt._open {
	background: url("../images/icon-arrow-up.svg") no-repeat;
	background-size: 10px;
	background-position: right center;
	}

#ad_qa ._qa__section dl dd {
	width: 100%;
	padding: 0 0 1em 3em;
	margin: 0;
	font-size: .9em;
	line-height: 1.7em;
	text-align: justify;
	text-justify: inter-ideograph;
	display: none;
	}
@media screen and (min-width: 768px) {
#ad_qa ._qa__section dl dd {
	font-size: 1em;
	line-height: 2em;
	padding: 0 0 2em 3em;
	}
                }

#ad_qa ._qa__section dl dd a{
                border-bottom: 1px solid #0B1D43;
	font-size: .9em;
	line-height: 1em;
                padding-bottom: 1px;
	}
@media screen and (min-width: 768px) {
#ad_qa ._qa__section dl dd a{
	font-size: 1em;
	}
                }

#ad_qa div.ad_btn{
                margin-top: 3em;
                display: inline-block;
                }
@media screen and (min-width: 768px) {
#ad_qa div.ad_btn{
                margin-top: 6em;
                }
                }

#ad_qa div.ad_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
                border: 1px solid rgba(8, 22, 51, .3);
	background-color: rgba(255, 255, 255, 0.2);
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

#ad_qa div.ad_btn a:hover {
                border: 1px solid rgba(8, 22, 51, 1);
                }

#ad_qa div.ad_btn a p{
                font-size: .8em;
                line-height: 1em;
                padding: 1.3em 4em;
                }
@media screen and (min-width: 768px) {
#ad_qa div.ad_btn a p{
                font-size: 1em;
                }
	}
@media screen and (min-width: 1101px) {
#ad_qa div.ad_btn a p{
                font-size: 1em;
                }
                }


/* =======================

ad_salonphoto

======================= */

#ad_salonphoto {
                width: 100svw;
	aspect-ratio: 3;
                overflow: hidden;
                }

#ad_salonphoto img {
                width: 100%;
                height: auto;
                }


/* =======================

ad_salon

======================= */

#ad_salon {
                width: 100svw;
                padding: 5em 0 4em;
                text-align: center;
                }
@media screen and (min-width: 768px) {
#ad_salon {
                padding: 6em 0 6em;
                }
                }

#ad_salon h2{
                font-size: 1.8em;
                line-height: 1em;
                z-index: 1;
                letter-spacing: .1em;
                }
@media screen and (min-width: 1101px) {
#ad_salon h2{
                font-size: 1.8em;
                }
                }

#ad_salon h3{
                font-size: 1em;
                line-height: 1em;
                z-index: 1;
                margin-top: 2em;
                }
@media screen and (min-width: 768px) {
#ad_salon h3{
                font-size: 1em;
                }
                }
@media screen and (min-width: 1101px) {
#ad_salon h3{
                font-size: 1em;
                }
                }

#ad_salon p.ad_lead{
                font-size: .9em;
                line-height: 1.8em;
                margin-top: 2em;
                }
@media screen and (min-width: 1101px) {
#ad_salon p.ad_lead{
                margin-top: 3em;
                }
                }

#ad_salon .ad_salonlist {
	display: flex;
                width: 84%;
                margin: auto;
                margin-top: 3em;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	row-gap: 2em;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_salonlist {
                width: 80%;
                margin-top: 4em;
                row-gap: 3em;
                column-gap: 5%;
                }
                }
@media screen and (min-width: 1101px) {
#ad_salon .ad_salonlist {
                width: 70%;
                max-width: 1000px;
                margin-top: 5em;
                row-gap: 3em;
                column-gap: 5%;
	justify-content: flex-start;
                }
                }

#ad_salon .ad_salonlist div{
                width: 100%;
                border-top: 1px solid #dedede;
                padding: 1em 0 0;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_salonlist div{
                padding: 1.5em 0 0;
                width: 47%;
                }
                }
@media screen and (min-width: 1101px) {
#ad_salon .ad_salonlist div{
                width: 47%;
                }
                }

#ad_salon .ad_salonlist div:nth-child(1) {
                border-top: none;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_salonlist div:nth-child(2) {
                border-top: none;
                }
                }

#ad_salon .ad_salonlist div a{
	display: block;
                width: 100%;
                height: 100%;
                }

#ad_salon .ad_salonlist div a img{
                width: 100%;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

#ad_salon .ad_salonlist div a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
                }

#ad_salon .ad_salonlist div a p{
                font-size: 1em;
                line-height: 1em;
                padding: 1em 0 1em 1.3em;
                text-align: left;
	background-position: left center;
	background-repeat: no-repeat;
	background-image: url(../images/icon-pin.svg);
	background-size: 1em;
                }

#ad_salon .ad_salonlist div p.address{
                font-size: .9em;
                line-height: 1.7em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break:break-all;
                margin-top: .5em;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_salonlist div p.address{
                line-height: 1.8em;
                }
                }

#ad_salon .ad_link{
                margin: auto;
                margin-top: 4em;
                width: 86%;
                max-width: 800px;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_link{
                margin-top: 6em;
                }
                }

#ad_salon .ad_link a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
                width: 100%;
                height: 100%;
	align-items: center;
	justify-content: center;
                background-color: #D9CDB2;
                padding: 2em 0;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-image: url(../images/chevron-right.svg);
	background-size: .3em;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_link a{
                padding: 3em 0;
	background-size: .4em;
	background-position: right 15px center;
                }
                }

#ad_salon .ad_link a:hover{
                background-color: rgba(217, 205, 178, .7);
                }

#ad_salon .ad_link a p{
                font-size: 1em;
                line-height: 1em;
                }
@media screen and (min-width: 768px) {
#ad_salon .ad_link a p{
                font-size: 1.1em;
                }
                }









