/* =========================================================
   LEONARDO PRICE PAGE
   PRICE PAGE COMPLETE CSS
========================================================= */


/* =========================================================
   RESET / BASE
========================================================= */

html {
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;

    background: #080808;
    color: #f5f2ec;

    font-family:
        "Noto Serif JP",
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
}


/* =========================================================
   PRICE PAGE VARIABLES
========================================================= */

:root {
    --price-black: #080808;
    --price-black-soft: #0d0d0d;

    --price-gold: #b9964f;
    --price-gold-light: #d2b66d;

    --price-white: #f5f2ec;
    --price-gray: #aaa49a;

    --price-line: rgba(185, 150, 79, 0.55);

    --price-content-width: 1180px;
    --price-side: 28px;
}


/* =========================================================
   HEADER
========================================================= */

.header {
    background: #080808;
    z-index: 1000;
}

.header-inner {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding-left: 28px;
    padding-right: 28px;
}

.header-logo img {
    max-width: 210px;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 38px;
}

.header-btn {
    color: var(--price-gold-light);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px;
    letter-spacing: 0.03em;
}


/* =========================================================
   PRICE INTRO
========================================================= */

.price-intro {
    width: 100%;
    margin: 0;
    padding: 150px 24px 70px;

    background: #090909;

    text-align: center;

    overflow: hidden;
}

.price-intro__inner {
    display: block;

    width: 100%;
    max-width: 1100px;

    margin: 0 auto;
    padding: 0;
}

.price-intro__en {
    display: block;
    margin-bottom: 18px;
    color: #c6a15b;
    font-family: "Times New Roman", "Yu Mincho", serif;
    font-size: 32px;
    letter-spacing: 0.42em;
    line-height: 1.5;
}

.price-intro__title {
    display: block;

    margin: 0;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: clamp(46px, 5vw, 72px);
    font-weight: 400;

    letter-spacing: 0.12em;
    line-height: 1.35;
}

.price-intro__lead {
    display: block;

    margin: 30px auto 0;

    color: rgba(245, 242, 236, 0.78);

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 14px;
    font-weight: 400;

    letter-spacing: 0.06em;
    line-height: 2.2;
}


/* =========================================================
   PRICE MENU
   IMPORTANT:
   HEADING IS ABOVE NAV
   NAV IS CENTERED BELOW HEADING
========================================================= */

.price-menu {
    display: block !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px 20px !important;

    background: #090909;

    color: #f5f2ec;

    overflow: hidden;
}

.price-menu__inner {
    display: block !important;

    width: 100% !important;
    max-width: 1180px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}


/* =========================================================
   MENU HEADING
   MENU
   メニューから選ぶ

   ★ NAVの上
   ★ 左右分割しない
========================================================= */

.price-menu__heading {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 auto 34px !important;
    padding: 0 !important;

    text-align: center !important;

    float: none !important;
}

.price-menu__heading-en {
    display: block;
    margin-bottom: 10px;
    color: #c6a15b;
    font-family: "Times New Roman", "Yu Mincho", serif;
    font-size: 17px;
    letter-spacing: 0.38em;
    line-height: 1.5;
}

.price-menu__heading-title {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 26px;
    font-weight: 400;

    letter-spacing: 0.10em;
    line-height: 1.5;

    text-align: center;
}


/* =========================================================
   ANCHOR MENU
   PC = 2 COLUMNS
========================================================= */

.price-menu__nav {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    width: 100% !important;
    max-width: 1080px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    border-top: 1px solid var(--price-line);
    border-left: 1px solid var(--price-line);

    float: none !important;

    box-sizing: border-box;
}


/* =========================================================
   MENU ITEM
========================================================= */

.price-menu__item {
    display: grid !important;

    grid-template-columns:
        58px
        minmax(0, 1fr)
        34px !important;

    align-items: center;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 112px;

    margin: 0 !important;
    padding: 22px 25px !important;

    border-right: 1px solid var(--price-line);
    border-bottom: 1px solid var(--price-line);

    background: transparent;

    color: #f5f2ec;

    text-decoration: none;

    float: none !important;

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}


/* =========================================================
   NUMBER
========================================================= */

.price-menu__number {
    display: flex !important;

    align-items: center;
    justify-content: flex-start;

    width: 100%;

    height: 42px;

    padding: 0 16px 0 0;

    border-right: 1px solid rgba(198, 161, 91, 0.7);

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 14px;
    font-weight: 400;

    letter-spacing: 0.08em;
}


/* =========================================================
   NAME
========================================================= */

.price-menu__name {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 18px !important;
}

.price-menu__name strong {
    display: block;

    margin: 0;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 19px;
    font-weight: 400;

    letter-spacing: 0.04em;
    line-height: 1.45;

    white-space: normal;
}

.price-menu__name small {
    display: block;

    margin: 6px 0 0;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 9px;
    font-weight: 400;

    letter-spacing: 0.17em;
    line-height: 1.4;
}


/* =========================================================
   ARROW
========================================================= */

.price-menu__arrow {
    display: flex !important;

    align-items: center;
    justify-content: flex-end;

    width: 100%;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 21px;
    font-weight: 400;

    transition:
        transform 0.3s ease;
}


/* =========================================================
   HOVER
========================================================= */

.price-menu__item:hover {
    background: rgba(198, 161, 91, 0.06);
}

.price-menu__item:hover .price-menu__arrow {
    transform: translateX(5px);
}


/* =========================================================
   PRICE SECTIONS
========================================================= */

.price-section {
    position: relative;

    width: 100%;
    margin: 0;
    padding: 0;

    background: #080808;

    overflow: hidden;
}

.price-section__inner {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
    padding: 100px 28px;

    box-sizing: border-box;
}


/* =========================================================
   SECTION HERO
========================================================= */

.price-section__hero {
    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);

    align-items: stretch;

    width: 100%;

    margin: 0 0 55px;

    border-top: 1px solid var(--price-line);

    overflow: hidden;
}

.price-section__heading {
    display: flex;

    flex-direction: column;
    justify-content: center;

    min-width: 0;

    padding: 55px 45px 55px 0;
}

.price-section__number {
    display: block;

    margin: 0 0 7px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 46px;
    line-height: 1;
    letter-spacing: 0.05em;
}

.price-section__label {
    display: block;

    margin: 0 0 22px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 11px;
    letter-spacing: 0.18em;
    line-height: 1.4;
}

.price-section__title {
    margin: 0;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: clamp(32px, 4vw, 48px);
    font-weight: 400;

    letter-spacing: 0.08em;
    line-height: 1.4;
}

.price-section__lead {
    margin: 22px 0 0;

    color: rgba(245, 242, 236, 0.78);

    font-size: 14px;
    line-height: 2;

    letter-spacing: 0.05em;
}

.price-section__image {
    position: relative;

    width: 100%;
    min-height: 420px;

    overflow: hidden;
}

.price-section__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   PRICE GROUPS
========================================================= */

.price-group,
.facial-group,
.body-group,
.wax-group {
    width: 100%;

    margin: 0 0 55px;
}

.price-group__heading,
.facial-group__heading,
.body-group__heading,
.wax-group__heading {
    margin: 0 0 20px;
}

.price-group__heading span,
.facial-group__heading span,
.body-group__heading span,
.wax-group__heading span {
    display: block;

    margin-bottom: 7px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 10px;
    letter-spacing: 0.20em;
}

.price-group__heading h3,
.facial-group__heading h3,
.body-group__heading h3,
.wax-group__heading h3 {
    margin: 0;

    color: #f5f2ec;

    font-size: 24px;
    font-weight: 400;

    letter-spacing: 0.08em;
}

.facial-group__heading p,
.body-group__heading p {
    max-width: 700px;

    margin: 12px 0 0;

    color: var(--price-gray);

    font-size: 13px;
    line-height: 1.9;
}


/* =========================================================
   PRICE LISTS
========================================================= */

.menu-price-list,
.simple-price-list,
.wax-price-list,
.time-price-list {
    width: 100%;

    border-top: 1px solid var(--price-line);
}

.menu-price-list > div,
.simple-price-list > div,
.wax-price-list > div,
.time-price-item {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    min-height: 78px;

    padding: 18px 22px;

    border-bottom: 1px solid var(--price-line);

    background: rgba(255,255,255,0.01);
}

.menu-price-list span,
.simple-price-list span,
.wax-price-list span,
.time-price-item span {
    color: #f5f2ec;

    font-size: 14px;
    line-height: 1.7;
}

.menu-price-list small {
    display: block;

    margin-top: 3px;

    color: var(--price-gray);

    font-size: 10px;
}

.menu-price-list strong,
.simple-price-list strong,
.wax-price-list strong,
.time-price-item strong {
    flex: 0 0 auto;

    color: #d2b66d;

    font-family:
        "Times New Roman",
        "Yu Mincho",
        serif;

    font-size: 21px;
    font-weight: 400;

    white-space: nowrap;
}


/* =========================================================
   PRICE CARDS
========================================================= */

.price-cards {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 12px;
}

.price-card {
    min-width: 0;

    padding: 28px 24px;

    border: 1px solid var(--price-line);

    background: #0b0b0b;
}

.price-card__en {
    display: block;

    margin-bottom: 8px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 9px;
    letter-spacing: 0.16em;
}

.price-card h3 {
    margin: 0;

    color: #f5f2ec;

    font-size: 18px;
    font-weight: 400;
}

.price-card__time {
    margin: 7px 0 0;

    color: var(--price-gray);

    font-size: 12px;
}

.price-card__detail {
    min-height: 48px;

    margin: 20px 0;

    color: var(--price-gray);

    font-size: 12px;
    line-height: 1.8;
}

.price-card__prices strong {
    display: block;

    margin-top: 5px;

    color: #d2b66d;

    font-family:
        "Times New Roman",
        serif;

    font-size: 26px;
    font-weight: 400;
}


/* =========================================================
   ELECTROLYSIS TICKET
========================================================= */

.electrolysis-ticket {
    padding: 32px;

    border: 1px solid var(--price-line);

    background: #0b0b0b;
}

.electrolysis-ticket > span {
    display: block;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 11px;
    letter-spacing: 0.18em;
}

.electrolysis-ticket h3 {
    margin: 10px 0;

    font-size: 22px;
    font-weight: 400;
}

.electrolysis-ticket > strong {
    display: block;

    color: #d2b66d;

    font-family:
        "Times New Roman",
        serif;

    font-size: 34px;
    font-weight: 400;
}

.electrolysis-ticket p {
    margin: 14px 0 0;

    color: var(--price-gray);

    font-size: 12px;
    line-height: 1.8;
}


/* =========================================================
   INK MAKE
========================================================= */

.ink-price {
    display: grid;

    grid-template-columns:
        1fr 1.4fr;

    gap: 12px;

    margin-bottom: 25px;
}

.ink-price__main,
.ink-price__after {
    padding: 30px;

    border: 1px solid var(--price-line);

    background: #0b0b0b;
}

.ink-price span {
    display: block;

    margin-bottom: 8px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 10px;
    letter-spacing: 0.18em;
}

.ink-price h3 {
    margin: 0 0 12px;

    font-size: 20px;
    font-weight: 400;
}

.ink-price strong {
    color: #d2b66d;

    font-family:
        "Times New Roman",
        serif;

    font-size: 30px;
    font-weight: 400;
}

.ink-price small {
    display: block;

    margin-top: 4px;

    color: var(--price-gray);
}

.ink-price__after p {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin: 0;

    padding: 14px 0;

    border-bottom: 1px solid rgba(185,150,79,0.25);

    color: var(--price-gray);
}

.ink-price__after p:last-child {
    border-bottom: 0;
}


/* =========================================================
   NOTES
========================================================= */

.price-note,
.ink-note {
    color: var(--price-gray);

    font-size: 11px;
    line-height: 1.9;
}

.ink-note {
    padding: 22px;

    border: 1px solid rgba(185,150,79,0.25);
}


/* =========================================================
   COMING SOON
========================================================= */

.price-coming {
    padding: 100px 20px;

    text-align: center;

    border-top: 1px solid var(--price-line);
    border-bottom: 1px solid var(--price-line);
}

.price-coming__number {
    display: block;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 44px;
}

.price-coming__label {
    display: block;

    margin: 8px 0 25px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 10px;
    letter-spacing: 0.2em;
}

.price-coming h2 {
    margin: 0;

    font-size: 30px;
    font-weight: 400;
}

.price-coming p {
    margin: 18px 0 0;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    letter-spacing: 0.2em;
}


/* =========================================================
   MOBILE
   ★ SMARTPHONE FIRST
========================================================= */

@media (max-width: 768px) {

    /* -----------------------------------------
       HEADER
    ----------------------------------------- */

    .header-inner {
        padding-left: 16px;
        padding-right: 16px;
    }

    .header-logo img {
        max-width: 145px;
    }

    .header-right {
        gap: 16px;
    }

    .header-btn {
        font-size: 10px;
    }


    /* -----------------------------------------
       INTRO
    ----------------------------------------- */

    .price-intro {
        padding:
            95px
            18px
            45px;
    }

    .price-intro__en {
        margin-bottom: 9px;

        font-size: 9px;
        letter-spacing: 0.28em;
    }

    .price-intro__title {
        font-size: 38px;
        letter-spacing: 0.08em;
    }

    .price-intro__lead {
        margin-top: 18px;

        font-size: 11px;
        line-height: 2;

        letter-spacing: 0.03em;
    }


    /* -----------------------------------------
       MENU
    ----------------------------------------- */

    .price-menu {
        padding:
            0
            18px
            5px !important;
    }

    .price-menu__inner {
        width: 100% !important;
        max-width: none !important;
    }

    .price-menu__heading {
        margin:
            0
            0
            22px !important;

        text-align: center !important;
    }

    .price-menu__heading-en {
        margin-bottom: 4px !important;

        font-size: 9px;
        letter-spacing: 0.28em;
    }

    .price-menu__heading-title {
        font-size: 18px;
        letter-spacing: 0.06em;
    }


    /* -----------------------------------------
       MOBILE ANCHOR
       1 COLUMN
    ----------------------------------------- */

    .price-menu__nav {
        display: grid !important;

        grid-template-columns:
            1fr !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 auto !important;
    }

    .price-menu__item {
        grid-template-columns:
            44px
            minmax(0, 1fr)
            28px !important;

        min-height: 74px;

        padding:
            14px
            13px !important;
    }

    .price-menu__number {
        height: 30px;

        padding-right: 11px;

        font-size: 11px;
    }

    .price-menu__name {
        padding:
            0
            12px !important;
    }

    .price-menu__name strong {
        font-size: 15px;
        letter-spacing: 0.02em;
    }

    .price-menu__name small {
        margin-top: 4px;

        font-size: 7px;
        letter-spacing: 0.12em;
    }

    .price-menu__arrow {
        font-size: 17px;
    }


    /* -----------------------------------------
       PRICE SECTION
    ----------------------------------------- */

    .price-section__inner {
        padding:
            65px
            18px;
    }

    .price-section__hero {
        display: flex;

        flex-direction: column;

        margin-bottom: 40px;
    }

    .price-section__heading {
        order: 1;

        padding:
            35px
            0
            30px;
    }

    .price-section__image {
        order: 2;

        min-height: 260px;
    }

    .price-section__number {
        font-size: 38px;
    }

    .price-section__label {
        margin-bottom: 14px;

        font-size: 9px;
    }

    .price-section__title {
        font-size: 32px;
    }

    .price-section__lead {
        margin-top: 16px;

        font-size: 12px;
        line-height: 1.9;
    }


    /* -----------------------------------------
       GROUP
    ----------------------------------------- */

    .price-group,
    .facial-group,
    .body-group,
    .wax-group {
        margin-bottom: 40px;
    }

    .price-group__heading h3,
    .facial-group__heading h3,
    .body-group__heading h3,
    .wax-group__heading h3 {
        font-size: 20px;
    }


    /* -----------------------------------------
       CARDS
    ----------------------------------------- */

    .price-cards {
        grid-template-columns: 1fr;
    }

    .price-card {
        padding: 23px 20px;
    }


    /* -----------------------------------------
       PRICE LIST
    ----------------------------------------- */

    .menu-price-list > div,
    .simple-price-list > div,
    .wax-price-list > div,
    .time-price-item {
        align-items: flex-start;

        min-height: 70px;

        padding:
            16px
            14px;
    }

    .menu-price-list span,
    .simple-price-list span,
    .wax-price-list span,
    .time-price-item span {
        font-size: 12px;
    }

    .menu-price-list strong,
    .simple-price-list strong,
    .wax-price-list strong,
    .time-price-item strong {
        font-size: 18px;
    }


    /* -----------------------------------------
       ELECTROLYSIS
    ----------------------------------------- */

    .electrolysis-ticket {
        padding: 24px 20px;
    }

    .electrolysis-ticket > strong {
        font-size: 28px;
    }


    /* -----------------------------------------
       INK
    ----------------------------------------- */

    .ink-price {
        grid-template-columns: 1fr;
    }

    .ink-price__main,
    .ink-price__after {
        padding: 24px 20px;
    }

    .ink-price__after p {
        align-items: flex-start;
        flex-direction: column;

        gap: 4px;
    }


    /* -----------------------------------------
       COMING SOON
    ----------------------------------------- */

    .price-coming {
        padding: 70px 15px;
    }

    .price-coming h2 {
        font-size: 25px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .price-intro {
        padding-left: 14px;
        padding-right: 14px;
    }

    .price-intro__title {
        font-size: 34px;
    }

    .price-menu {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .price-menu__item {
        grid-template-columns:
            41px
            minmax(0, 1fr)
            25px !important;

        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .price-menu__name {
        padding-left: 10px !important;
        padding-right: 8px !important;
    }

    .price-menu__name strong {
        font-size: 14px;
    }

    .price-section__inner {
        padding-left: 14px;
        padding-right: 14px;
    }

}

/* =========================================================
   01｜LIGHT HAIR REMOVAL
   NEW LAYOUT
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.price-section--light {
    width: 100%;
    padding: 40px 24px 140px;
    background: #090909;
    color: #f5f2ec;
    box-sizing: border-box;
}

.price-section--light .price-section__inner {
    width: min(100%, 1100px);
    margin: 0 auto;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.price-section--light .price-section__header {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 70px;
    align-items: end;

    margin-bottom: 90px;
}


.price-section--light .price-section__heading {
    padding-bottom: 20px;
}


.price-section--light .price-section__number {
    display: block;

    margin-bottom: 12px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1;
}


.price-section--light .price-section__label {
    display: block;

    margin-bottom: 36px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.22em;
    line-height: 1.5;
}


.price-section--light .price-section__title {
    margin: 0 0 28px;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.4;
}


.price-section--light .price-section__lead {
    margin: 0;

    color: rgba(245, 242, 236, 0.78);

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0.05em;
}


/* =========================================================
   IMAGE
========================================================= */

.price-section--light .price-section__image {
    width: 100%;
    overflow: hidden;
}


.price-section--light .price-section__image img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: cover;
}


/* =========================================================
   COMMON GROUP
========================================================= */

.price-section--light .price-group {
    margin-top: 0;
}


.price-section--light .price-group__heading {
    margin-bottom: 30px;
}


.price-section--light .price-group__heading > span {
    display: block;

    margin-bottom: 8px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 12px;
    letter-spacing: 0.28em;
    line-height: 1.5;
}


.price-section--light .price-group__heading h3 {
    margin: 0;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 30px;
    font-weight: 400;
    letter-spacing: 0.08em;
    line-height: 1.5;
}


.price-section--light .price-group__heading p {
    margin: 12px 0 0;

    color: rgba(245, 242, 236, 0.68);

    font-size: 13px;
    line-height: 2;
}


/* =========================================================
   TRIAL
========================================================= */

.price-section--light .price-group--trial {
    padding-top: 10px;
    margin-bottom: 100px;
}


.price-section--light .price-trial-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    border-top: 1px solid rgba(198, 161, 91, 0.55);
    border-left: 1px solid rgba(198, 161, 91, 0.55);
}


.price-section--light .price-trial-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    min-height: 125px;
    padding: 28px 34px;

    border-right: 1px solid rgba(198, 161, 91, 0.55);
    border-bottom: 1px solid rgba(198, 161, 91, 0.55);

    box-sizing: border-box;
}


.price-section--light .price-trial-item__name {
    min-width: 0;
}


.price-section--light .price-trial-item__name > span {
    display: block;

    margin-bottom: 9px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 10px;
    letter-spacing: 0.18em;
}


.price-section--light .price-trial-item__name strong {
    display: block;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.5;
}


.price-section--light .price-trial-item__name small {
    display: block;

    margin-top: 7px;

    color: rgba(245, 242, 236, 0.58);

    font-size: 11px;
    line-height: 1.6;
}


.price-section--light .price-trial-item__price {
    flex-shrink: 0;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 27px;
    font-weight: 400;
    letter-spacing: 0.03em;
    white-space: nowrap;
}


.price-section--light .price-trial-item__price span {
    margin-left: 2px;
    font-size: 15px;
}


/* 全身だけ少し強調 */

.price-section--light .price-trial-item--featured {
    background: rgba(198, 161, 91, 0.055);
}


.price-section--light .price-trial-item--featured
.price-trial-item__price {
    color: #d2b66d;
}


/* =========================================================
   AFTER TRIAL
   2つの選択肢を明確に分離
========================================================= */

.price-section--light .price-after-trial {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    border-top: 1px solid rgba(198, 161, 91, 0.55);
    border-left: 1px solid rgba(198, 161, 91, 0.55);

    margin-bottom: 0;
}


.price-section--light .price-after-trial__block {
    min-height: 390px;
    padding: 45px 42px;

    border-right: 1px solid rgba(198, 161, 91, 0.55);
    border-bottom: 1px solid rgba(198, 161, 91, 0.55);

    box-sizing: border-box;
}


.price-section--light .price-after-trial__en {
    display: block;

    margin-bottom: 14px;

    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 11px;
    letter-spacing: 0.24em;
    line-height: 1.5;
}


.price-section--light .price-after-trial__block h3 {
    margin: 0 0 25px;

    color: #f5f2ec;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 27px;
    font-weight: 400;
    letter-spacing: 0.06em;
    line-height: 1.55;
}


.price-section--light .price-after-trial__lead {
    margin: 0;

    color: rgba(245, 242, 236, 0.82);

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 14px;
    line-height: 2.1;
    letter-spacing: 0.03em;
}


/* =========================================================
   CUSTOM ORDER NOTES
========================================================= */

.price-section--light .price-after-trial__notes {
    margin: 28px 0 0;
    padding: 20px 0 0;

    border-top: 1px solid rgba(198, 161, 91, 0.3);

    list-style: none;
}


.price-section--light .price-after-trial__notes li {
    position: relative;

    margin-bottom: 13px;
    padding-left: 17px;

    color: rgba(245, 242, 236, 0.72);

    font-size: 12px;
    line-height: 1.8;
}


.price-section--light .price-after-trial__notes li::before {
    content: "※";

    position: absolute;
    left: 0;
    top: 0;

    color: #c6a15b;
}


/* =========================================================
   SIMULATOR AREA
========================================================= */

.price-section--light .price-after-trial__simulator {
    margin-top: 28px;
    padding-top: 20px;

    border-top: 1px solid rgba(198, 161, 91, 0.3);
}


.price-section--light .price-after-trial__simulator p {
    margin: 0 0 9px;

    color: rgba(245, 242, 236, 0.62);

    font-size: 11px;
    line-height: 1.8;
}



/* =========================================================
   PRICE SIMULATOR BUTTON
========================================================= */

.price-button {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 76px;

    margin-top: 28px;
    padding: 0 20px;

    box-sizing: border-box;

    border: 1px solid #c6a15b;

    background: rgba(198, 161, 91, 0.06);

    color: #d2b66d;
    text-decoration: none;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 20px;
    font-weight: 400;

    letter-spacing: 0.12em;
    line-height: 1;

    text-align: center;

    white-space: nowrap;

    transition:
        background-color 0.3s ease,
        box-shadow 0.3s ease;
}


/* キラッ */

.price-button::after {
    content: "";

    position: absolute;
    top: -30%;
    left: -70%;

    width: 35%;
    height: 160%;

    background:
        linear-gradient(
            105deg,
            transparent 0%,
            transparent 40%,
            rgba(255,255,255,0.08) 45%,
            rgba(255,239,185,0.5) 50%,
            rgba(255,255,255,0.08) 55%,
            transparent 60%
        );

    transform: skewX(-20deg);

    animation: price-button-shine 4s ease-in-out infinite;

    pointer-events: none;
}


@keyframes price-button-shine {

    0% {
        left: -70%;
    }

    45%,
    100% {
        left: 140%;
    }

}


.price-button:hover {
    background: rgba(198, 161, 91, 0.12);

    box-shadow:
        0 0 24px rgba(198, 161, 91, 0.14);
}
/* =========================================================
   LIGHT HAIR REMOVAL
   AFTER TRIAL — MOBILE
========================================================= */

@media (max-width: 768px) {

    .price-section--light .price-after-trial {
        grid-template-columns: 1fr;
    }

    .price-section--light .price-after-trial__block {
        min-height: auto;
        padding: 35px 24px;
    }

}
/* =========================================================
   LIGHT HAIR REMOVAL
   TRIAL MENU — MOBILE
========================================================= */

@media (max-width: 768px) {

    .price-section--light .price-trial-list {
        grid-template-columns: 1fr;
    }

    .price-section--light .price-trial-item {
        grid-template-columns: 1fr auto;
        align-items: center;
    }

    .price-section--light .price-trial-item__name {
        min-width: 0;
    }

    .price-section--light .price-trial-item__name strong {
        white-space: normal;
    }

}
/* =========================================================
   美容電気脱毛｜プライスカード SPコンパクト化
   ========================================================= */

@media (max-width: 767px) {

  .price-section--electrolysis .price-trial__card {
    padding: 24px 24px 26px;
    min-height: auto;
  }

  .price-section--electrolysis .price-trial__card h3 {
    margin-bottom: 8px;
  }

  .price-section--electrolysis .price-trial__card .price-trial__time {
    margin-bottom: 18px;
  }

  .price-section--electrolysis .price-trial__card .price-trial__description {
    margin-bottom: 24px;
  }

  .price-section--electrolysis .price-trial__card .price-trial__price {
    margin-top: 0;
  }

  .price-section--electrolysis .price-trial__card + .price-trial__card {
    margin-top: 16px;
  }

}
/* ========================================
   ELECTROLYSIS PRICE CARD｜SP
   料金を右側にまとめてコンパクト化
======================================== */

@media (max-width: 767px) {

    .price-section--electrolysis .price-card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "top    price"
            "detail price";

        align-items: center;

        min-height: 0;
        padding: 28px 24px;
    }

    .price-section--electrolysis .price-card__top {
        grid-area: top;
    }

    .price-section--electrolysis .price-card__detail {
        grid-area: detail;

        margin: 18px 0 0;
        padding: 0;
    }

    .price-section--electrolysis .price-card__prices {
        grid-area: price;

        margin: 0;
        padding: 0 0 0 24px;

        text-align: right;
        white-space: nowrap;
    }

    .price-section--electrolysis .price-card__prices > div {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
    }

    .price-section--electrolysis .price-card__prices span {
        font-size: 16px;
    }

    .price-section--electrolysis .price-card__prices strong {
        font-size: 28px;
        line-height: 1.1;
    }

}
/* ========================================
   GLOBAL MENU CLOSE BUTTON
======================================== */

.global-menu-close {
    position: absolute;
    top: 32px;
    right: 32px;

    width: 42px;
    height: 42px;

    padding: 0;
    border: 0;
    background: transparent;

    cursor: pointer;

    z-index: 10;
}

.global-menu-close span {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 30px;
    height: 2px;

    background: #d4b06a;

    transform-origin: center;
}

.global-menu-close span:first-child {
    transform: translate(-50%, -50%) rotate(45deg);
}

.global-menu-close span:last-child {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.global-menu-close:hover span {
    background: #fff;
}


/* ========================================
   MOBILE
======================================== */

@media screen and (max-width: 768px) {

    .global-menu-close {
        top: 20px;
        right: 20px;

        width: 42px;
        height: 42px;
    }

}
/* ========================================
   FOOTER
======================================== */

.footer {
  position: relative;
  width: 100%;
  margin-top: 120px;
  padding: 80px 5% 30px;
  background: #090909;
  color: #f5f2ec;
  border-top: 1px solid rgba(198, 161, 91, 0.5);
  box-sizing: border-box;
  overflow: hidden;
}

.footer-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 8%;
  max-width: 1400px;
  margin: 0 auto;
}

/* Logo */

.footer-brand {
  display: flex;
  align-items: flex-start;
  gap: 30px;
}

.footer-brand-line {
  width: 2px;
  height: 160px;
  background: #c6a15b;
  flex-shrink: 0;
}

.footer-logo {
  display: block;
}

.footer-logo img {
  display: block;
  width: 250px;
  height: auto;
}

/* Navigation */

.footer-nav ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 60px;
  row-gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #f5f2ec;
  text-decoration: none;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 18px;
  transition: opacity 0.3s ease;
}

.footer-nav a:hover {
  opacity: 0.65;
}

.footer-arrow {
  color: #c6a15b;
  font-size: 20px;
}

/* Watermark */

.footer-watermark {
  position: absolute;
  left: 0;
  bottom: -80px;
  z-index: 1;
  font-family: Georgia, serif;
  font-size: clamp(120px, 20vw, 300px);
  font-style: italic;
  line-height: 1;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}

/* Bottom */

.footer-bottom {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 70px;
  padding-top: 25px;
  border-top: 1px solid rgba(198, 161, 91, 0.5);
}

.footer-privacy {
  color: #c6a15b;
  text-decoration: none;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 15px;
}

.footer-privacy span {
  margin-left: 15px;
}

.footer-bottom p {
  margin: 0;
  color: #c6a15b;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 15px;
}


/* ========================================
   FOOTER — SP
======================================== */

@media (max-width: 768px) {

  .footer {
    margin-top: 80px;
    padding: 50px 30px 25px;
  }

  .footer-inner {
    display: block;
  }

  .footer-brand {
    gap: 20px;
    margin-bottom: 50px;
  }

  .footer-brand-line {
    height: 90px;
  }

  .footer-logo img {
    width: 200px;
  }

  .footer-nav ul {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 25px;
    row-gap: 28px;
  }

  .footer-nav a {
    font-size: 16px;
  }

  .footer-arrow {
    font-size: 18px;
  }

  .footer-bottom {
    display: block;
    margin-top: 55px;
  }

  .footer-bottom p {
    margin-top: 25px;
  }

  .footer-watermark {
    bottom: -30px;
    font-size: 130px;
  }
}
/* =========================================================
   脱毛実績リンク
   ========================================================= */

.price-results-link {
    width: 100%;
    max-width: 1100px;
    margin: 70px auto 0;
    padding: 0 0 20px;
    text-align: right;
}

.price-results-link a {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    color: #f5f2ec;
    text-decoration: none;

    transition:
        color 0.3s ease,
        opacity 0.3s ease;
}

.price-results-link__en {
    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 11px;
    letter-spacing: 0.18em;
}

.price-results-link__text {
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;

    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.price-results-link__arrow {
    color: #c6a15b;

    font-family:
        "Times New Roman",
        serif;

    font-size: 18px;

    transition:
        transform 0.3s ease;
}

.price-results-link a:hover {
    color: #d2b66d;
}

.price-results-link a:hover .price-results-link__arrow {
    transform: translateX(5px);
}


/* =========================================================
   脱毛実績リンク｜MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .price-results-link {
        margin-top: 45px;
        padding-bottom: 10px;
        text-align: center;
    }

    .price-results-link a {
        gap: 9px;
    }

    .price-results-link__en {
        font-size: 9px;
        letter-spacing: 0.14em;
    }

    .price-results-link__text {
        font-size: 12px;
        letter-spacing: 0.03em;
    }

    .price-results-link__arrow {
        font-size: 16px;
    }

}