html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, sub, sup, var,
b, i,input,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video ,strong {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background-color:transparent;
    font-weight:normal;
}




body {
    line-height:1;
    -webkit-text-size-adjust: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
   color:#333333;
   -webkit-text-size-adjust:none;
   font-size: 14px;
   line-height:1.5;
}

img{
vertical-align:bottom;
max-width:100%;
-webkit-backface-visibility: hidden !important;
}


.mt10 {margin-top:10px;}
.mt20 {margin-top:20px;}
.mt30 {margin-top:30px;}
.mt40 {margin-top:40px;}
.mt50 {margin-top:50px;}
.mt60 {margin-top:60px;}
.mt70 {margin-top:70px;}
.mt80 {margin-top:80px;}
.mt90 {margin-top:90px;}
.mt100 {margin-top:100px;}
.mt110 {margin-top:110px;}
.mt120 {margin-top:120px;}
.mt130 {margin-top:130px;}
.mt140 {margin-top:140px;}
.mt150 {margin-top:150px;}
.mt160 {margin-top:160px;}
.mt170 {margin-top:170px;}
.mt180 {margin-top:180px;}
.mt190 {margin-top:190px;}
.mt200 {margin-top:200px;}

.mb10 {margin-bottom:10px;}
.mb20 {margin-bottom:20px;}
.mb30 {margin-bottom:30px;}
.mb40 {margin-bottom:40px;}
.mb50 {margin-bottom:50px;}
.mb60 {margin-bottom:60px;}
.mb70 {margin-bottom:70px;}
.mb80 {margin-bottom:80px;}
.mb90 {margin-bottom:90px;}
.mb100 {margin-bottom:100px;}
.mb110 {margin-bottom:110px;}
.mb120 {margin-bottom:120px;}
.mb130 {margin-bottom:130px;}
.mb140 {margin-bottom:140px;}
.mb150 {margin-bottom:150px;}
.mb160 {margin-bottom:160px;}
.mb170 {margin-bottom:170px;}
.mb180 {margin-bottom:180px;}
.mb190 {margin-bottom:190px;}
.mb200 {margin-bottom:200px;}

.mr10 {margin-right:10px;}
.mr20 {margin-right:20px;}
.mr30 {margin-right:30px;}
.mr40 {margin-right:40px;}
.mr50 {margin-right:50px;}
.mr60 {margin-right:60px;}
.mr70 {margin-right:70px;}
.mr80 {margin-right:80px;}
.mr90 {margin-right:90px;}
.mr100 {margin-right:100px;}
.mr110 {margin-right:110px;}
.mr120 {margin-right:120px;}
.mr130 {margin-right:130px;}
.mr140 {margin-right:140px;}
.mr150 {margin-right:150px;}
.mr160 {margin-right:160px;}
.mr170 {margin-right:170px;}
.mr180 {margin-right:180px;}
.mr190 {margin-right:190px;}
.mr200 {margin-right:200px;}

.ml10 {margin-left:10px;}
.ml20 {margin-left:20px;}
.ml30 {margin-left:30px;}
.ml40 {margin-left:40px;}
.ml50 {margin-left:50px;}
.ml60 {margin-left:60px;}
.ml70 {margin-left:70px;}
.ml80 {margin-left:80px;}
.ml90 {margin-left:90px;}
.ml100 {margin-left:100px;}
.ml110 {margin-left:110px;}
.ml120 {margin-left:120px;}
.ml130 {margin-left:130px;}
.ml140 {margin-left:140px;}
.ml150 {margin-left:150px;}
.ml160 {margin-left:160px;}
.ml170 {margin-left:170px;}
.ml180 {margin-left:180px;}
.ml190 {margin-left:190px;}
.ml200 {margin-left:200px;}

img.w10{
width:10%;
}
img.w20{
width:20%;
}
img.w30{
width:30%;
}
img.w40{
width:40%;
}
img.w50{
width:50%;
}
img.w60{
width:60%;
}
img.w70{
width:70%;
}
img.w80{
width:80%;
}
img.w90{
width:90%;
}
img.w100{
width:100%;
}

.absolute {
position: absolute;
z-index: 100;
}

.relative {
position: relative;
}

#wrap {
overflow: hidden;
display:block;
max-width:600px;
margin:0 auto;
background-color: #5d9ad4;
}

.contentsSection {
position:relative;
text-align: center;
}

.bgDots{
    background-image: url('../img/bg_dots.png');
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: center top;
}


#main{
}

#main img.main_cv{
    left: 5%;
    top:85.5%;
}

#main img.mainunder{
    margin-top: 5%;
    vertical-align: bottom;
}


#powerup{
    background-color: #efefef;
    padding: 2% 0 0 ;
}

#powerup .slider{
    width: 65%;
    margin:0 auto 2%;
}

#powerup .slider .slick-list{
    overflow: inherit;
}

#no01{
    padding: 0 0 5% 0;
}

#no01 img.fixBtn{
    margin-top: 5%;
}

#parts{
    padding: 2% 0 0;
}

#parts img.parts_02{
    margin-top: -5%;
}

#thanks{
    background-color: #FFFFFF;
}


#ips img.ips_01{
    left: 0%;
    top:0.2%;
}
#ips img.ips_02{
    left: 0;
    top:37.4%;
}
#ips img.ips_03{
    left: 0%;
    bottom: 1.9%;
}
#clearskin{
    background-color: #FFFFFF;
}

#clearskin img.clearskin_01{
    left: 5%;
    top:-2.1%;
}
#clearskin img.clearskin_btn{
    left: 5%;
    bottom: 5.2%;
}


#recommend{
    background-color: #efefef;
}

#recommend video{
    width: 100%;
    vertical-align: bottom;
}

#recommend img.recommend_03{
    margin-bottom: 8%;
}

#evolution{
    background-color: #FFFFFF;
}

#cta img.cta_btn{
    left: 5%;
    bottom:4%;
}

#service{
    background-color: #efefef;
}

#service img.service_01{
    left: 5%;
    top:3%;
}

#reason{
    background-color: #5d9ad4;
    padding-bottom: 8%;
}



#flow{
    background-color: #ebf0ff;
    padding: 15% 0 1%; 
}

#flow img.flow_ttl{
    margin-bottom: 8%;
}

#flow .slider{
    width: 81.11111%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 23%;
}

#flow .slider .slick-dots{
    position: absolute;
    width: 100%;
    top:0;
    left: 0;
    background-image: url('../img/flow_arrow.png');
    background-size: 25% auto;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 12%;
}

#flow .slider .slick-dots li{
    display: inline-block;
    width: 3.333vw;
    height: 3.333vw;
    background-color: #e0e0e0;
    border-radius: 100%;
    margin:0 2.5vw;
}

#flow .slider .slick-dots li.slick-active{
    background-color: #5d9ad4;
}
#flow .slider .slick-dots li button{
display: none;
}


#flow .slider .slick-list li video{
    left: 0;
    width: 100%;
    top: 15%;
}

#flow img.main_cv{
    margin-top: 5%;
}

#cta_02 {
    background-color: #FFFFFF;
    padding: 10% 0;
}

#faq{
    background-color: #FFFFFF;
    padding-bottom: 10%;
}

#faq a.link{
display: block;
    width: 74%;
    height: 4%;
    left: 13%;
    bottom: 5%;
}


#salon{
    background-color: #efefef;
}

#footer a.privacypolicy{
display: block;
    width: 41%;
    height: 22%;
    left: 28%;
    top: 27%;
}

#footer a.company{
    display: block;
    width: 16%;
    height: 22%;
      right: 8%;
    top: 27%;
}


@media screen and (min-width:601px){
    #flow .slider .slick-dots li{
        width: 20px;
        height: 20px;
        margin:0 15px;
    }
    #faq .box a.accOpen span{
        width: 42px;
        height: 42px;
    }
}


#fixbtn{
position:fixed;
left: 50%;
bottom:0;
transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
z-index: 900;
    width: 100%;
    max-width: 600px;
}



      *,
      *::before,
      *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }

      body {
        font-family:
          "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
        color: #1a1311;
        line-height: 1.7;
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      /* ===== CONTAINER ===== */
      .container {
        max-width: 900px;
        margin: 0 auto;
        padding: 48px 20px 80px;
      }

      /* ===== ACCORDION ===== */
      .accordion {
        margin-bottom: 12px;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(9, 111, 202, 0.08);
        border: 1px solid #56ace1;
      }

      .accordion__trigger {
        width: 100%;
        background: #fff;
        border: none;
        cursor: pointer;
        padding: 18px 24px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 16px;
        font-weight: 700;
        font-family: inherit;
        color: #009fe3;
        transition: background 0.2s;
        text-align: left;
      }
      .accordion__trigger:hover {
        background: #eef7ff;
      }
      .accordion__trigger-left {
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .accordion__icon {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #009fe3;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        font-weight: 300;
        flex-shrink: 0;
        line-height: 1;
        padding-bottom: 1px;
        transition: transform 0.3s;
      }
      .accordion.is-open .accordion__icon {
        transform: rotate(45deg);
      }

      .accordion__body {
        display: none;
        background: #f5fbff;
        padding: 20px;
        border-top: 1px solid #ddeeff;
      }
      .accordion.is-open .accordion__body {
        display: block;
      }

      /* ===== STORE LIST ===== */
      .store-list {
        display: flex;
        flex-direction: column;
        gap: 20px;
      }

      /* ===== STORE CARD ===== */
      .store-card {
        background: #fff;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 2px 12px rgba(9, 111, 202, 0.07);
      }

      .store-card__head {
        padding: 16px 20px 14px;
        border-bottom: 1px solid #eef3f8;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .store-card__labels {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 6px;
      }
      .store-card__label {
        display: inline-block;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.04em;
        padding: 3px 10px;
        border-radius: 3px;
        white-space: nowrap;
      }
      .store-card__label--active {
        background: #009fe3;
        color: #fff;
        margin-right: 1em;
      }
      .store-card__label--soon {
        background: #e0eaf3;
        color: #5577aa;
      }
      .store-card__name {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.4;
      }

      .store-card__body {
        padding: 18px 20px 20px;
      }

      /* ===== VIDEO LINK ===== */
      .video-link {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 13px;
        color: #cc0000;
        font-weight: 600;
        margin-bottom: 14px;
        transition: opacity 0.2s;
      }
      .video-link:hover {
        opacity: 0.75;
      }
      .video-link__icon {
        width: 20px;
        height: 14px;
        flex-shrink: 0;
      }

      /* ===== INFO TABLE ===== */
      .info-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13.5px;
        margin-bottom: 18px;
      }
      .info-table tr {
        border-bottom: 1px solid #f0f4f8;
      }
      .info-table tr:last-child {
        border-bottom: none;
      }
      .info-table th {
        width: 6em;
        padding: 9px 0;
        font-weight: 600;
        color: #56ace1;
        vertical-align: top;
        white-space: nowrap;
        text-align: left;
      }
      .info-table td {
        padding: 9px 0 9px 8px;
        color: #1a1311;
        vertical-align: top;
      }

      /* ===== GMAP ===== */
      .gmap {
        width: 100%;
        aspect-ratio: 16/7;
        border-radius: 6px;
        overflow: hidden;
        margin-bottom: 16px;
      }
      .gmap iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
      }

      /* ===== DETAIL BUTTON ===== */
      .detail-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: fit-content;
        margin: 0 auto;
        background: #096fca;
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        font-family: inherit;
        padding: 10px 22px;
        border-radius: 30px;
        border: none;
        cursor: pointer;
        text-decoration: none;
        transition:
          background 0.2s,
          transform 0.15s;
      }
      .detail-btn:hover {
        background: #0560b0;
        transform: translateY(-1px);
      }
      .detail-btn__arrow {
        width: 18px;
        height: 18px;
        background: rgba(255, 255, 255, 0.25);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
      }

      @media (max-width: 600px) {
        .accordion__trigger {
          padding: 14px 16px;
          font-size: 15px;
        }
        .accordion__body {
          padding: 14px;
        }
        .store-card__head {
          padding: 13px 14px 11px;
        }
        .store-card__body {
          padding: 14px;
        }
        .info-table th {
          width: 5.5em;
          font-size: 12.5px;
          text-align: left;
        }
        .info-table td {
          font-size: 12.5px;
        }
      }