@charset "utf-8";

/* 共通項目部分 */
/* KIMONO PLAN LIST */
.kimono_planlist {
    background: #FFF4D3;
    padding :3rem 0 4rem;
}

/* SP */
@media (max-width: 768px) {
.kimono_planlist {
    padding: 2rem 0 3rem;
}
}

.kimono_planlist h2,
.kimono_planlist .bb-section-title {
    color: var(--red);
    font-size: 2.625rem;
    margin-bottom: 2rem;
}

/* SP */
@media (max-width: 768px) {
.kimono_planlist h2,
.kimono_planlist .bb-section-title {
    color: var(--red);
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

}

.kimono_planlist .contents_wrap {
    background: none;
    gap: 1.5rem 2.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 4rem;
}

.kimono_planlist .contents_wrap article {
    width: calc(50% - 1.25rem);
    background: #ffffff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

/* SP */
@media (max-width: 768px) {
.kimono_planlist .contents_wrap {
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.kimono_planlist .contents_wrap article {
    width: 100%;
    background: #ffffff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    overflow: hidden;
}
}


.kimono_planlist article img {
    width: 240px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* SP */
@media (max-width: 768px) {
.kimono_planlist article img {
    width: 30%;
}
}

.kimono_planlist article div.exp_area {
    padding: 1rem;
    width: calc(100% - 240px);
}

.kimono_planlist h3 {
    font-size: 1.25rem;
}

/* SP */
@media (max-width: 768px) {
    .kimono_planlist article div.exp_area {
    padding: 0.5rem;
    width: 70%;
}
.kimono_planlist h3 {
    font-size: 1rem;
}
}


.kimono_planlist p {
    font-size: 1rem;
}

.kimono_planlist article div.exp_area div.flex {
    justify-content: space-between;
    margin-top: auto;
    align-items:flex-end;
}


.kimono_planlist span:not(.seemore span) {
    font-size: 1rem;
    text-decoration-line: line-through;
    line-height: 1.1;
}

.kimono_planlist strong {
    color: var(--red);
    font-size: 1.5rem;
    font-weight: 600;
}

.kimono_planlist strong.nd {
    color: #000000;
}

.kimono_planlist a.booknow {
    width: 150px;
    position: relative;
}

.kimono_planlist a.booknow small {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: block;
    text-align: center;
    color: #ffffff;
    font-size: 1rem;
    background: #ff0000;
    min-width: 50%;
    padding: 0.3rem 1rem;
    border-radius: 9999px;
}

/* SP */
@media (max-width: 768px) {
.kimono_planlist a.booknow {
    height: 2.25rem;
    width: fit-content;
    padding: 0 1rem;
    font-size: 0.8125rem;
    align-items: center;
}

.kimono_planlist a.booknow small {
    font-size: 0.7rem;
    min-width: 50%;
    padding: 0.3rem 1rem;
    top: -1rem;

}
}

.kimono_planlist a.seemore {
    max-width: 300px;
} 


/* EXPERIENCE PLAN */
.experience_plan {
    position: relative;
    z-index: 3;
    padding: 3rem 0 5rem;
    /* margin-bottom: 4rem; */
    background-image: url(../img/ex_plan_bg.png);
}

/* SP */
@media (max-width: 768px) {
    .experience_plan {
        padding: 5rem 0 3rem;
    }
}


.experience_plan img.pl_img1 {
    position: absolute;
    width: 8.125rem;
    height: 6.25rem;
    right: max(0px, calc(max(2vw, (100vw - 1210px) / 2) - 5rem));
    top: 12rem;
    z-index: 3;
}

.experience_plan img.pl_img2 {
    position: absolute;
    width: 15.75rem;
    height: 9.8125rem;
    left: max(0px, calc(max(2vw, (100vw - 1210px) / 2) - 5rem));
    bottom: 4rem;
    z-index: 3;
}


/* SP */
@media (max-width: 768px) {
.experience_plan img.pl_img1 {
    top:-1.5rem;
    right: -10px;
}

.experience_plan img.pl_img2 {
    width: 9rem;
    height: 5.92813rem;
    bottom: 7rem;
    left: 0;

}
}


.experience_plan h2,
.experience_plan .bb-section-title {
    color: var(--red);
    font-size: 2.625rem;
    margin-bottom: 1rem;
}

.experience_plan p.ex_exp {
    margin-bottom: 2rem;
    font-size: 1.5rem;
}

.experience_plan .contents_wrap {
    background: none;
    border-radius: none;
    padding-bottom: 3rem;
    margin-bottom: 3rem;
}

/* SP only */
@media (max-width: 768px) {
    .experience_plan .contents_wrap {
        width: 100%;
    padding-bottom: 2rem;
    margin-bottom: 6rem;
    }
}

.ex_plan_slide .slick-track {
    display: flex;
    align-items: stretch;
}

.ex_plan_slide .slick-slide {
    height: auto;
}

.ex_plan_slide .slick-slide > div {
    height: 100%;
}

.ex_plan_slide article {
    padding: 2rem 1rem 1rem;
    position: relative;
    height: 100%;
}

/* SP only */
@media (max-width: 768px) {
    .ex_plan_slide article {
    padding: 2rem 0.5rem 0.5rem;
}
}

.ex_plan_slide article div {
    display: flex;
    flex-direction: column;
    border-radius: 1.5625rem;
    background: #FFF;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    padding: 3rem 0 2rem;
    min-height: 100%;
}

.ex_plan_slide article div img.ex_plan_icon {
    width: fit-content;
    position: absolute;
    top: 0rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.ex_plan_slide article div h3 {
    color: var(--red);
    font-size: 2.25rem;
    text-align: center;
    margin-bottom: 2rem;
}

.ex_plan_slide article div img {
    margin-bottom: 1rem;
}

.ex_plan_slide article div span {
    color: var(--red);
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
    padding: 0 1rem;
}

.ex_plan_slide article div span:before {
    content: "";
    margin-right: 0.5rem;
    width: 1.77081rem;
    height: 1.77081rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29' fill='none'%3E%3Cpath d='M14.1667 0C21.9909 0 28.3333 6.34242 28.3333 14.1667C28.3333 21.9909 21.9909 28.3333 14.1667 28.3333C6.34242 28.3333 0 21.9909 0 14.1667C0 6.34242 6.34242 0 14.1667 0ZM14.1667 2.83333C11.1609 2.83333 8.2782 4.02738 6.15279 6.15279C4.02738 8.2782 2.83333 11.1609 2.83333 14.1667C2.83333 17.1725 4.02738 20.0551 6.15279 22.1805C8.2782 24.306 11.1609 25.5 14.1667 25.5C17.1725 25.5 20.0551 24.306 22.1805 22.1805C24.306 20.0551 25.5 17.1725 25.5 14.1667C25.5 11.1609 24.306 8.2782 22.1805 6.15279C20.0551 4.02738 17.1725 2.83333 14.1667 2.83333ZM14.1667 5.66667C14.5137 5.66671 14.8486 5.7941 15.1079 6.02468C15.3672 6.25526 15.5328 6.57298 15.5734 6.91758L15.5833 7.08333V13.5802L19.4183 17.4151C19.6723 17.67 19.8198 18.0121 19.8308 18.3719C19.8418 18.7316 19.7154 19.0821 19.4774 19.3521C19.2394 19.622 18.9075 19.7913 18.5492 19.8254C18.1909 19.8595 17.833 19.756 17.5483 19.5358L17.4151 19.4183L13.1651 15.1683C12.9449 14.9479 12.8035 14.6611 12.7628 14.3523L12.75 14.1667V7.08333C12.75 6.70761 12.8993 6.34728 13.1649 6.0816C13.4306 5.81592 13.7909 5.66667 14.1667 5.66667Z' fill='%23C2191F'/%3E%3C/svg%3E");
} 

.ex_plan_slide article div p {
    padding: 0 1rem;
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.ex_plan_slide article a.booknow {
    margin: auto auto 0;
}

.experience_plan a.seemore {
    max-width: 300px;
    width: 80%;
}


/* REASONS FOR CHOOSING */
.reasons_for_choosing {
    padding: 3rem 0 4rem;
}

/* SP only */
@media (max-width: 768px) {
.reasons_for_choosing {
    padding: 2rem 0 3rem;
}
}

.reasons_for_choosing h2,
.reasons_for_choosing .bb-section-title {
    color: var(--red);
    font-size: 2.625rem;
    margin-bottom: 1rem;
    color: var(--red);
}


@media (max-width: 768px) {
    .reasons_for_choosing h2,
    .reasons_for_choosing .bb-section-title {
        font-size: 2rem;
    }
}

.reasons_for_choosing p.exp {
    font-size: 1.5rem;
    max-width: 96%;
    display: block;
    margin-bottom: 2rem;
}

@media (max-width: 768px) {
.reasons_for_choosing p.exp {
    font-size: 1rem;
    margin-bottom: 1rem;
}
}

.reasons_for_choosing .contents_wrap {
    max-width: 1080px;
    background: none;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}


.reasons_for_choosing .contents_wrap article {
    width: calc((100% - 2rem) / 3);
    aspect-ratio: 1 / 1;
    background: #ffffff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    padding: 2rem;
    justify-content: space-between;
}

/* SP only */
@media (max-width: 768px) {
.reasons_for_choosing .contents_wrap article {
    aspect-ratio: inherit;
    width: calc(50% - 0.5rem);
    padding:0.7rem;
    padding-bottom: 2rem;
    justify-content: flex-start;
}
}

.reasons_for_choosing .contents_wrap article div {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

.reasons_for_choosing .contents_wrap article div img {

}

/* SP only */
@media (max-width: 768px) {
    .reasons_for_choosing .contents_wrap article div {
        height: 100px;
    }
    .reasons_for_choosing .contents_wrap article div img {
            width: auto !important;
            height: auto !important;
            max-width: 100%;
            max-height: 55px;
            object-fit: contain;
            flex-shrink: 0;

    }
}


.reasons_for_choosing .contents_wrap article h3 {
    color: var(--red);
    font-size: 2rem;
    margin-bottom: 0.5rem;
}
.reasons_for_choosing .contents_wrap article p {
    font-size: 1rem;
}

/* SP only */
@media (max-width: 768px) {
    .reasons_for_choosing .contents_wrap article h3 {
        font-size: 1.125rem;
    }
}




/* GALLERY */
.gallery {
    padding: 3rem 0 4rem;
}

.gallery h2,
.gallery .bb-section-title {
    color: var(--red);
    font-size: 2.625rem;
    margin-bottom: 2rem;
    margin-bottom: 3rem;
}

.gallery .contents_wrap {
    background: none;
    justify-content: space-between;
    gap: 2rem;
}

.gallery h3 {
    color: var(--red);
    font-size: 2rem;
    margin-bottom: 1rem;
}

.gallery .contents_wrap .insta_area {
    width: 45%;
    background: #ffffff;
    padding: 2rem;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.gallery .contents_wrap .insta_area iframe {
    width: 100%;
    aspect-ratio: 1 / 1;
}

.gallery .contents_wrap .tiktok_area {
    width: 45%;
    background: #ffffff;
    padding: 2rem;
box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

/* SP only */
@media (max-width: 768px) {
.gallery .contents_wrap .insta_area {
    width: 100%;
    padding: 1rem;
}
.gallery .contents_wrap .tiktok_area {
    width: 100%;
    padding: 1rem;
}

}

/* TOPICS */
.topics {}
.topics .contents_wrap {
    padding: 3rem 3rem 2rem;
}

/* SP only */
@media (max-width: 768px) {
    
.topics .contents_wrap {
    padding: 2rem 2%;
    width: 100%;
    border-radius: 0;
}
}

.topics h2,
.topics .bb-section-title {
    color: var(--red);
    font-size: 2.625rem;
    margin-bottom: 2rem;
}

.topics .tp_wrap {
    width: 96%;
    max-width: 986px;
    margin: 0 auto;
    gap: 2rem;
    align-items: flex-start;
    justify-content: space-between;
}

/* SP only */
@media (max-width: 768px) {
    .topics .tp_wrap {
    }
}

.topics_tab_area {
    flex: 1;
    min-width: 460px;
    max-width: 460px;
    width:460px;
}

/* SP only */
@media (max-width: 768px) {

.topics_tab_area {
    width: 100%;
    min-width: 100%;
}
}


.topics_tabs {
    width: 100%;
    margin: 0 0 0.3rem;
    display: flex;
}

.topics_tab_btn {
    width: 50%;
    height: 47px;
    border: 1px solid var(--red);
    background: #ffffff;
    color: var(--red);
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    font-family: "futura-pt", sans-serif;
    cursor: pointer;
    transition-duration: 300ms;
}

.topics_tab_btn:hover {
    background: var(--red);
    color: #ffffff;
    transition-duration: 300ms;
}

.topics_tab_btn:first-child {
    border-radius: 0.75rem 0.75rem 0 0;
}

.topics_tab_btn:last-child {
    border-radius: 0.75rem 0.75rem 0 0;
}

.topics_tab_btn.is-active {
    background: var(--red);
    color: #ffffff;
}

.topics_panels {
    width: 100%;
    margin: 0;
    position: relative;
}

.topics_panel {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0s linear 0.35s;
}

.topics_panel.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
    transition-delay: 0s;
}

.topics_panel.is-leaving {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: visible;
    pointer-events: none;
    z-index: 1;
    transition-delay: 0s;
}

/* SP only */
@media (max-width: 768px) {


    .topics_side {
        width: 100%;
        min-height: 0;
    }

    .topics_tab_btn {

    }
}



.tp_art {
    border-bottom: solid 1px var(--red);
    padding: 0.9rem 0;
    gap: 13px;
    align-items: stretch;
    position: relative;
}

.tp_art img {
    border-radius: 12px;
    width: 130px;
    height: 93px;
    object-fit: cover;
}

/* SP only */
@media (max-width: 768px) {
    .tp_art {
        padding: 0.6rem 0;
        gap: 10px;
    }
    .tp_art img {
        width: 30%;
        height: auto;
        aspect-ratio: 130 / 93;
    }

}

.tp_art .column {
    width: calc(100% - 137px);
    gap: 0.35rem;
    padding: 0.5rem 2rem 0.5rem 0;
    position: relative;
}

@media (max-width: 768px) {
    .tp_art .column {
        width: 70%;
        padding-right: 1.5rem;
    }
}

.tp_art .column::after {
    content: "";
    width: 10px;
    height: 16px;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' viewBox='0 0 10 16' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.83945 8.83945L2.18245 15.4965L0.768448 14.0825L6.71845 8.13245L0.768448 2.18245L2.18245 0.768448L8.83945 7.42545C9.02692 7.61301 9.13225 7.86738 9.13225 8.13245C9.13225 8.39752 9.02692 8.65188 8.83945 8.83945Z' fill='%23C2191F'/%3E%3C/svg%3E");
}

.tp_art:hover .column::after {
    transform: translate(10px, -50%);
}

@media (max-width: 768px) {
    .tp_art .column::after {
        right: 0.5rem;
    }
}



.tp_art .days {
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    color: var(--red);
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.tp_art .days .genre,
.tp_art .days .place {
    border: 1px solid var(--red);
    border-radius: 4px;
    padding: 0.05rem 0.15rem;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.tp_art .days .genre {
    background: var(--red);
    color: #ffffff;

}

@media (max-width: 768px) {
    .tp_art .days {
        font-size: 13px;
        gap: 0.2rem;
    }
    .tp_art .days .genre,
.tp_art .days .place {
    font-size: 11px;
}
}


.tp_art p {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.22;
    letter-spacing: 0.01em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    width: 260px;
    transition-duration: 300ms;
}

.tp_art:hover p {
    color: var(--red);
    transition-duration: 300ms;
}


/* SP only */
@media (max-width: 768px) {

    .tp_art p {
        font-size: 1.05rem;
        width: 100%;
    }
}



.topics_side {
    padding: 1rem 0;
}

.topics_side img {
    width: 100%;
    max-width:450px ;
    margin: 0 auto 1rem;
}

.topics_side span {
    color: var(--red);
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    width: 100%;
    max-width:450px ;
    margin: 0 auto;
}

.topics_side h3 {
    color: var(--red);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    width: 100%;
    max-width:450px ;
    margin: 0 auto 1rem;
}

.topics_side p {
    width: 100%;
    max-width:450px ;
    display: block;
    margin: 0 auto 2rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.topics_side a.seemore {
    width: 300px;
}
.topics_side a.seemore span {
    color: #ffffff;
    font-weight: 400;
}


/* REVIEW */

.review_slide {

}


.reviews {
    padding: 3rem 0;
}
.reviews h2,
.reviews .bb-section-title {
    color: var(--red);
    font-size: 2.625rem;
    margin-bottom: 3rem;
}

.reviews .contents_wrap {
    background: none;
}

.reviews .review_slide {
padding-bottom: 3rem;
}
/* SP */
@media (max-width: 768px) {
.reviews .review_slide {
padding-bottom: 0rem;
}
}

.reviews .review_art {
   border: solid 1px #d9d9d9;
   background: #ffffff;
   border-radius: 20px;
   padding: 1rem;
   margin: 0 0.3rem;
}

.review_art .titlearea {
   justify-content: flex-start;
   gap: 0.7rem;
   margin-bottom: 0.3rem;
}

.review_art .titlearea img {
   width: 60px;
   border-radius: 50%;
}
.review_art .titlearea

.review_art .titlearea h3 {}
.review_art .titlearea h3 small {
   display: block;
   font-weight: normal;
   color: #9d9d9d;
}

.review_art .titlearea p {
    width: 100%;
}

.review_art .titlearea p small {
    width: 100%;
}

/* SP */
@media (max-width: 768px) {

.reviews h2,
.reviews .bb-section-title {
    margin-bottom: 2rem;
}

.reviews .contents_wrap {
    width: 100%;
}
.review_slide .slick-track {
padding-bottom: 3rem;
}
.reviews .review_art {
   border: solid 1px #d9d9d9;
   border-radius: 1.25rem;
   padding: 1rem;
   /* width: calc(100vw - 2.2rem); */
}

.reviews .review_art:last-child {
    /* margin-right: 2rem; */
}

.review_art .titlearea {
   justify-content: flex-start;
   gap: 0.7rem;
}

.review_art .titlearea img {
   width: 3.75rem;
   border-radius: 50%;
}
.review_art .titlearea

.review_art .titlearea h3 {}
.review_art .titlearea h3 small {
   display: block;
   font-weight: normal;
   color: #9d9d9d;
   width: 100%;
}


}


/* SET_CONTENT */
.set_content {
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    margin-bottom: 4rem;
    padding: 2rem 2.5rem 3rem;
    background-image: url(../img/setcontent_bg.png);
    background-size: cover;
}

/* SP */
@media (max-width: 768px) {
    .set_content {
    margin-bottom: 2rem;
    padding: 1rem 1rem 2rem;
}
}

.set_content h3 {
    color: var(--red);
    font-size: 2.625rem;
    align-items: center;
    line-height: 1;
    gap: 0.3rem;
    margin-bottom: 2rem;
}

.set_content h3 img {
    width: 33px;
    height: auto;
}

.set_content h3 small {
    font-size: 1.25rem;
}

/* SP */
@media (max-width: 768px) {
    .set_content h3 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .set_content h3 small {
    font-size: 1.25rem;
    }
}

.set_content p.setcontent_exp {
    width: 80%;
    max-width: 800px;
    font-size: 1.25rem;
    margin-bottom: 2rem;
}


/* SP */
@media (max-width: 768px) {
    .set_content p.setcontent_exp {
        width: 100%;
        font-size: 1rem;
        margin-bottom: 1rem;
    }
}

.setcontent_art {
    flex-wrap: wrap;
    gap:1.5rem;
}

.setcontent_art div {
    width: calc((100% - 3rem) / 3);
    gap: 0.5rem;
    align-items: center;
}

.setcontent_art div img {
    border-radius: 25px;

}

.setcontent_art div h4 {
    color: var(--red);
    font-size: 1.5rem;
}
.setcontent_art div p {
    font-size:1rem;
    padding: 0 1rem;
    line-height: 1.3;
}


/* SP */
@media (max-width: 768px) {
    .setcontent_art {
        gap: 0.8rem;
    }
    .setcontent_art div {
        width: calc(50% - 0.4rem);
        gap: 0.3rem;
    }
    .setcontent_art div img {
        border-radius: 15px;
    }
    .setcontent_art div h4 {
        font-size: 1.25rem;
    }
    .setcontent_art div p {
        padding: 0;
    }

}



/* HAIR SET MAKE UP */
.hair_make {
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    margin-bottom: 4rem;
    padding: 2rem 2.5rem 3rem;
    background-image: url(../img/setcontent_bg.png);
    background-size: cover;
}

/* SP */
@media (max-width: 768px) {
    .hair_make {
    margin-bottom: 2rem;
    padding: 1rem 1rem 2rem;
}
}


.hair_make  h3 {
    color: var(--red);
    font-size: 2.625rem;
    align-items: center;
    line-height: 1;
    gap: 0.3rem;
    margin-bottom: 2rem;
}

.hair_make  h3 img {
    width: 61px;
    height: auto;
}

.hair_make  h3 small {
    font-size: 1.25rem;
}

/* SP */
@media (max-width: 768px) {
    .hair_make  h3 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .hair_make  h3 small {
    font-size: 1.25rem;
    }
}

.hair_make p.hair_make_exp {
    width: 90%;
    font-size: 1.25rem;
    margin-bottom: 2rem;
}


/* SP */
@media (max-width: 768px) {
    .hair_make p.hair_make_exp {
        width: 100%;
        font-size: 1rem;
        margin-bottom: 1rem;
    }
}

.hair_make .hair_make_main {
    background: var(--red);
    padding: 2rem;
    border-radius: 1.5625rem;
    gap: 1rem;
}

.hair_make .hair_make_main article {
    overflow: hidden;
    background: #ffffff;
    border-radius: 1.5625rem;
    align-items: center;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25) inset;
    position: relative;
}

/* SP */
@media (max-width: 768px) {
.hair_make .hair_make_main {
    padding: 1rem;
}
.hair_make .hair_make_main article {

}

}


.hair_make .hair_make_main article img {
    width: 380px;
}

/* SP */
@media (max-width: 768px) {
.hair_make .hair_make_main article img {
    width: 100%;
}
}

.hair_make .hair_make_main article div {
    padding: 0 2rem;
}

.hair_make .hair_make_main article div h4 {
    color: var(--red);
    font-size: 2rem;
}

.hair_make .hair_make_main article div span {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 400;
    border-radius: 9999px;
    background: var(--red);
    padding: 0.5rem 1rem;
    width: fit-content;
    margin-bottom: 0.5rem;
}

.hair_make .hair_make_main article div p {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
}

.hair_make .hair_make_main article div strong {
    justify-content: flex-end;
    color: var(--red);
    font-size: 2rem;
    align-items: last baseline;
}

.hair_make .hair_make_main article div strong small {
    font-size: 1.5rem;
}

/* SP */
@media (max-width: 768px) {
    .hair_make .hair_make_main article div {
        padding: 1rem 1rem 1.5rem;
        align-items: center;
        display: flex;
        flex-direction: column;
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25) inset;
    }
    .hair_make .hair_make_main article div p {
        font-size: 1rem;
    }
    .hair_make .hair_make_main article div strong {
        margin-bottom: 1rem;
    }
    .hair_make .hair_make_main article div strong small {
    font-size: 1rem;
}

}
    

.hair_make .hair_make_main article a.goto_ga {
    position: absolute;
    right: 2rem;
    top: 1rem;
    background: #FF6272;
    color: #ffffff;
    gap: 0.7rem;
    border-radius: 9999px;
    width: fit-content;
    padding: 0.5rem 1.5rem;
    font-size: 1.25rem;
    font-weight: 400;
    align-items: center;
}

.hair_make .hair_make_main article a.goto_ga:after {
    content: "";
    display: block;
    background-image: url(../img/icon_goto_ga.png);
    width: 1.99219rem;
    height: 1.99219rem;
}


/* SP */
@media (max-width: 768px) {
.hair_make .hair_make_main article a.goto_ga {
    position: static;
    margin: 0 auto;
}
}


/* Accessories for Kimono & ITEMS */

.acc_for_kimono {
    --acc-inline-pad: 2.5rem;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    margin-bottom: 4rem;
    padding: 2rem 2.5rem 3rem;
    background: #FDE3E5;
    background-image: url(../img/acc_bg_bottom.png), url(../img/acc_bg.png);
    background-repeat: no-repeat;
    background-position: bottom, top;
    background-size:100%, 100%;
}

/* SP */
@media (max-width: 768px) {
    .acc_for_kimono {
    --acc-inline-pad: 1rem;
    margin-bottom: 2rem;
    padding: 1rem 1rem 2rem;
    position: relative;
    background-image: url(../img/acc_bg.png);
    background-repeat: no-repeat;
    background-position: top;
    background-size: 100%;
    
}
.acc_for_kimono:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40rem;
    background-image: url(../img/acc_bg_bottom.png);
    background-size: cover;
    background-position: right;
    z-index: 1;

}
.acc_for_kimono > * {
    position: relative;
    z-index: 2;
}
}


.acc_for_kimono h3 {
    color: var(--red);
    font-size: 2.625rem;
    align-items: center;
    line-height: 1;
    gap: 0.3rem;
    margin-bottom: 2rem;
}

.acc_for_kimono h3 img {
    width: 40px;
    height: auto;
}

.acc_for_kimono h3 small {
    font-size: 1.25rem;
}

/* SP */
@media (max-width: 768px) {
    .acc_for_kimono h3 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .acc_for_kimono h3 small {
    font-size: 1.25rem;
    }
}

.acc_for_kimono p.acc_exp {
    width: 90%;
    font-size: 1.25rem;
    margin-bottom: 2rem;
}


/* SP */
@media (max-width: 768px) {
    .acc_for_kimono p.acc_exp {
        width: 100%;
        font-size: 1rem;
        margin-bottom: 1rem;
    }
}

.acc_for_kimono .acc_price {
    gap: 1.5rem;
    justify-content: center;

}

/* SP */
@media (max-width: 768px) {
.acc_for_kimono .acc_price {
    gap: 1rem;
}
}


.acc_for_kimono .acc_price dl {
    width: 385px;
    overflow: hidden;
    margin-bottom: 0.8rem;
}

.acc_for_kimono .acc_price dl dt {
    background: var(--red);
    color: #ffffff;
    font-size: 2rem;
    padding: 0.5rem;
    font-weight: 400;
}

.acc_for_kimono .acc_price dl dd {
    background: #ffffff;
    padding: 1.5rem 0 1.3rem;
    font-size: 2.625rem;
    font-weight: 700;
}
.acc_for_kimono .acc_price dl dd small {
    font-size: 1.5rem;
}


/* SP */
@media (max-width: 768px) {
    .acc_for_kimono .acc_price dl {
        width: 100%;
    }
    .acc_for_kimono .acc_price dl dt {
        padding: 1.2rem 0 1rem;
    font-size: 1.7rem;
    }
    .acc_for_kimono .acc_price dl dd {

    padding: 1.3rem 0 1rem;
    font-size: 2rem;
}
        
    .acc_for_kimono .acc_price dl dd small {
        font-size: 1rem;
    }
}

.acc_for_kimono small.acc_exp {
    display: block;
    font-size: 1rem;
    margin-bottom: 2.5rem;
}

.acc_for_kimono h3.po {
    justify-content: center;
    gap: 1rem;
    white-space: nowrap;
}
.acc_for_kimono h3.po div {
    width: 100%;
    height: 3px;
    background: var(--red);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.acc_for_kimono h3.po div:before,
.acc_for_kimono h3.po div:after {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: var(--red);
    transform: rotate(45deg);
}


/* SP */
@media (max-width: 768px) {

}


.popular_options {
    gap: 1.5rem;
    justify-content: flex-start;
}

.popular_options img.po_main {
    max-width: 610px;
    width: 60%;
    height: fit-content;
}

.popular_options .po_list {
    gap: 1rem;
    justify-content: center;
    width: auto;
    flex: 0 0 auto;
    min-width: max-content;
}


.popular_options {
    align-items: center;
}

.popular_options img.po_main {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
}

.popular_options .po_item {
    position: relative;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.75rem;
}

.popular_options .po_item::after {
    content: "";
    position: absolute;
    left: 7.5rem;
    top: 29.5%;
    width: 6.3rem;
    height: 0.1875rem;
    background: var(--red);
    transform-origin: left center;
    transform: rotate(-14deg);
}

.popular_options .po_item_lace::after {
    top: 35%;
    transform: rotate(-19deg);
}

.popular_options .po_item_obi::after {
    top: 54%;
    transform: rotate(-36deg);
    width: 7.5rem;
}

.popular_options .po_item img {
    border-radius: 1.5625rem;
    width: 187px;
}

.popular_options .po_item .po_label {
    position: relative;
    color:var(--red);
    font-size: 1.5rem;
    padding-top: 1rem;
    padding-left: 1.25rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.popular_options .po_item .po_label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.65rem;
    width: 0.72rem;
    height: 0.72rem;
    background: var(--red);
    transform: rotate(45deg);
}





/* SP */
@media (max-width: 768px) {

    .popular_options {
        width: 100%;
        align-items: stretch;
        margin-bottom: 1rem;

    }

    .popular_options img.po_main {
        width: 100%;
        flex:none;
        min-width: 100%;
    }

    .popular_options .po_list {
        display: flex;
        width: 100%;
        flex: none;
        min-width: 0;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.6rem;
    }

    .popular_options .po_item {
        flex: 1 1 0;
        min-width: 0;
        width: auto;
        gap: 0rem;
    }

    .popular_options .po_item img {
        width: 100%;
    }

    .popular_options .po_item::after,
    .popular_options .po_item .po_label::before {
        content: none;
    }

    .popular_options .po_item .po_label {
        padding-left: 0;
        padding-top: 0.5rem;
        white-space: normal;
        flex-shrink: 1;
        font-size: 1rem;
        text-align: center;
    }

}


.po_exp {
    display: block;
    width: calc(100% + (var(--acc-inline-pad) * 2));
    margin-left: calc(var(--acc-inline-pad) * -1);
    margin-right: calc(var(--acc-inline-pad) * -1);
    background: #FF4785;
    color: #ffffff;
    padding: 1rem 0;
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 2rem;
}


/* SP */
@media (max-width: 768px) {
    .po_exp {
    font-size: 1.25rem;
    margin-bottom: 1rem;
    }

}

.popular_plus {
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}



.popular_plus div {
    width: 320px;
    gap: 0.5rem;
    align-items: center;
}

/* SP */
@media (max-width: 768px) {
    .popular_plus {
        gap: 1rem;
        justify-content: space-between;
        margin-bottom: 2rem;
    }
    .popular_plus div {
        width: calc(50% - 0.5rem);
    }
}

.popular_plus div img {
    border-radius: 25px;
}

.popular_plus div strong {
    color: var(--red);
    font-size: 2rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.2;
    height: 2em;
}
.popular_plus div strong small {
    font-size: 1.25rem;
    display: block;
    text-align: center;
}

.popular_plus div span {
    font-size: 2.625rem;
    align-items: last baseline;
}
.popular_plus div span small {
    font-size: 1.5rem;
}

/* SP */
@media (max-width: 768px) {

.popular_plus div img {
    border-radius: 15px;
}

.popular_plus div strong {
    color: var(--red);
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.2;
    height: fit-content;
}
.popular_plus div strong small {
    font-size: 0.75rem;
    display: block;
    text-align: center;
}

.popular_plus div span {
    font-size: 1rem;
    align-items: last baseline;
}
.popular_plus div span small {
    font-size: 0.75rem;
}
}


a.goto_shooting {
    margin: 0 auto;
    background: var(--red);
    color: #ffffff;
    gap: 0.7rem;
    border-radius: 9999px;
    width: fit-content;
    padding: 1.2rem 2rem;
    font-size: 1.25rem;
    font-weight: 400;
    align-items: center;
}

a.goto_shooting:after {
    content: "";
    display: block;
    background-image: url(../img/icon_goto_ga.png);
    width: 1.99219rem;
    height: 1.99219rem;
}
/* PC only*/
@media (min-width: 769px) {
    a.goto_shooting.sp {
        display: none;
    }
}

a.booknow.po_link {
    margin-bottom: 4rem;
}

/* SP */
@media (max-width: 768px) {
    a.goto_shooting {
        width: calc(50% - 0.5rem);
        height: fit-content;
        aspect-ratio: 165 / 120;
        justify-content: center;
        align-items: center;
        text-align: center;
        font-size: 1rem;
        padding: 0;
        margin-top: 0.5rem;
    }

    a.goto_shooting.pc {
        display: none;
    }

    a.booknow.po_link {
        margin-bottom: 3rem;
    }



}