/*
Author: TN
*/

@charset "UTF-8";

/*------------------------------------------------------------
	base
------------------------------------------------------------ */
* { box-sizing:border-box; }
html { font-size: 10px; webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body { margin: 0; padding: 0; font-family: "Noto Sans JP", sans-serif; height: 100%; background-color:#fff; color:#231815;}
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure{ margin: 0px; padding: 0px; }
ul { list-style-type: none; }
img { border: none; }
input,textarea,select { font-size: 1em; }
form { margin: 0px; }
table {	border-collapse:collapse; font-size: 100%; border-spacing: 0; width: 100%;}
/*link*/
a { border:0; text-decoration:none; color: inherit; transition: all .2s ease-in-out;}
a:hover { text-decoration: none; color:inherit; }

/*strong*/
strong { font-weight: 500;}
b { color:#111; }
em, i { font-style: italic; }
.normal { font-weight:normal !important; }

/* IMG */
img { display:block; margin:0 auto; padding:0; border: 0; max-width:100%; }
a img { transition: all .2s ease-in-out; }
a:hover img { opacity:.70; }

@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}


/*------------------------------------------------------------
    COMMON
------------------------------------------------------------ */
body { background: #fffcfa;}
main { width: 100%; max-width: 750px; margin: 0 auto; background: #fff;}
section { position:relative; width:100%; margin:0 auto; padding:0; box-sizing: border-box; }


/*------------------------------------------------------------
    CONTENTS
------------------------------------------------------------ */
/* ct01 */
.ct01 {z-index: 3;}

/* ct02 */
.ct02 {z-index: 2;margin-top: max(-1.06666667vw, -8px);}
.ct02::after {position: absolute;content: '';display: block;background: center / contain no-repeat url(../images/scroll.png);left: 50%;bottom: 0;left: 50%;transform: translate(-50%,60%);width: min(4.8vw,36px);height: min(11.2vw,84px);}

/* ct03 */
.ct03 {margin-top: max(-14vw,-105px);}
.ct03-box {position: relative;margin-top: max(-13.333333333vw,-100px);}
.ct03-box iframe {position: absolute;z-index: 1;left: 50%;width: min(68.4vw,513px);transform: translateX(-50%);bottom: min(52vw,390px);display: block;aspect-ratio: 16 / 9;}

/* ct04 */
.ct04 {z-index: 1;margin-top: max(-21.6vw,-162px);}
.ct04-hands {position: absolute;z-index: 1;width: 100%;top: max(-34vw,-255px);}


/* ct05 */
.ct05 {z-index: 2;margin-top: max(-18.4vw,-138px);}

/* ct06 */
.ct06 {margin-top: max(-3.73333333333333vw,-28px);}

/* ct07 */
.ct07 {z-index: 2;margin-top:max(-25.33333333vw,-190px);}

/* ct08 */
.ct08 {z-index: 1;margin-top: -1px;}
.ct08 .beforeafter-slide {position: absolute;z-index: 1;left: 0;width: 100%;top: min(36.4vw,273px);}
.ct08 .beforeafter-slide img {width: 87.333333%;position: relative;right: 1px;}
.ct08 .voice-slide {position: absolute;z-index: 1;left: 0;width: 100%;bottom: min(12.4vw,93px);}
.ct08 .voice-slide .splide__pagination {margin-top: max(-9.6vw,-72px);}

/* ct09 */
.ct09 {margin-top: min(-0.4vw,-3px);}


/* ct10 */
.ct10 .salon-slide {position: absolute;z-index: 1;left: 0;width: 100%;top: min(37.1vw,279px);}
.ct10 .salon-slide img {width: min(90.8vw,681px);}
.ct10 .salon-slide .splide__pagination {margin-top: max(-0.4vw,-3px)}
.ct10 .faq {margin-top: max(-273.6vw,-2052px);}

/* ct11 */
.ct11 {z-index: 2;margin-top: min(8.8vw,66px);}
.ct11-btn {position: absolute;left: 50%;transform: translateX(-50%);width: min(599px,79.86666667vw);bottom: min(31.6vw,237px);}


footer {
    height: min(24.4vw, 183px);
}
#fixed-btn {
    position: fixed;
    bottom: 0px;
    z-index: 100;
    max-width: 750px;
}

/* SPLIDE */
.splide__pagination {position: relative;margin-top: min(3.466666667vw,26px);}
.splide__pagination li { margin: 0 min(2vw,15px);}
.splide__pagination li button { margin: 0; padding: 0; border: 1px solid #323232; background: #fff; border-radius: 100px; width:min(2.8vw,21px); height: min(2.8vw,21px); transition: all .2s ease-in-out; cursor: pointer;}
.splide__pagination li button:hover { background: transparent;}
.splide__pagination li button.is-active { background: #323232; }
.splide__arrows { width: 100%; position: absolute; top: 50%;}
.splide__arrows button { position: absolute; left: 0; background: none; border: 0; margin: 0; padding: 0; cursor: pointer; transition: all .2s ease-in-out; z-index: 10;}
.splide__arrows button:hover { opacity: .8;}
.splide__arrows button.splide__arrow--prev {transform: scale(-1,1);}
.splide__arrows button.splide__arrow--next { left: inherit; right: 0;}


/* アコーディオン */
.acd { width: min(90.66666667vw,680px); margin: 0 auto;background: #fff;border-radius: min(1.6vw,12px);}
.acd:not(:first-of-type) { margin-top: min(2.13333333vw,16px);}
.acd input { display: none;}
.acd label { width: 100%; padding: min(3.2vw,24px) min(5.733333vw,43px); cursor: pointer; position: relative; display: flex;align-items: center;column-gap: min(4vw,30px); transition: all 0.25s;}
.acd label::before {content: '';display: block;width: min(9.6vw,72px);height: min(9.6vw,72px);background: center / contain no-repeat url(../images/ic_q.png);}
.acd label .icon {position: absolute;top: 50%;transform: translateY(-50%);width: min(5.333333333vw,40px);height: min(5.333333333vw,40px);right: min(7.2vw,54px);}
.acd label .icon::after,
.acd label .icon::before {
    content: "";
    position: absolute;
    width: 100%;
    height: min(0.66666666667vw,5px);
    background: linear-gradient(to right, #5f288c 0%, #9069b3 92%, #ff8dff 100%);
    transition: all 0.25s;
    border-radius: min(1.33333333vw,10px);
    top: 48%;
}
.acd label .icon::after { transform: rotate(-90deg); }
.acd input:checked ~ label .icon::after { transform: rotate(-180deg);}
.acd > div { height: 0; overflow: hidden; opacity: 0; transition: 0.25s;}
.acd input:checked ~ div { height: auto; opacity: 1; padding: min(1.6vw,12px) min(6.666666667vw,50px) min(4vw,30px);border-top-color: #d4c5e3;border-top-style: solid;border-top-width: min(2.666666667vw,5px);}
.acd label h4 { font-size: min(4.8vw,36px);font-weight: 400;line-height: 1.25;}
.acd p { font-size: min(3.7333333333vw, 28px);line-height: 1.607143;}

/*------------------------------------------------------------
    others
------------------------------------------------------------ */
@media(min-width:768px) {
    .onlySp { display:none !important; }
}
@media(max-width:767px) {
    .onlyPc { display:none !important; }
}