@charset "utf-8";

@media (min-width: 1200px) {


    html:has(body.ss-site),
    html:has(body.ss-groupclass) {
        overflow-x: visible !important;
        overflow-y: auto !important;
        height: auto !important;
        max-height: none !important;
    }
    html:has(body.ss-site) body,
    body.ss-site,
    body.ss-groupclass {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }
    body.ss-site #wrapper,
    body.ss-site #container_wr,
    body.ss-site #container,
    body.ss-site #container.ss-page,
    body.ss-site .ss-main {
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    #container{
        margin: 0 auto;
    }

    body.ss-site a,
    body.ss-site button {
        transition: transform 0.22s ease, box-shadow 0.22s ease, opacity 0.22s ease, filter 0.22s ease, color 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
    }
    body.ss-site a img,
    body.ss-site button img {
        transition: transform 0.35s ease;
    }
    body.ss-site #container a:hover,
    body.ss-site #ft a:hover,
    body.ss-site .ss-footer a:hover {
        opacity: 0.72;
    }
    body.ss-site #container a:hover:has(img),
    body.ss-site .b1c2-card:hover,
    body.ss-site .gc-overview-card:hover,
    body.ss-site .class-list-card:hover,
    body.ss-site .b2-card:hover,
    body.ss-site .b2c1-card:hover {
        opacity: 1;
        transform: translateY(-4px);
        box-shadow: 0 16px 32px rgba(80, 70, 55, 0.16);
    }
    body.ss-site #container a:hover img {
        transform: scale(1.04);
    }
    body.ss-site #container [class*="btn"]:hover,
    body.ss-site #container [class*="cta"]:hover,
    body.ss-site #container [class*="download"]:hover,
    body.ss-site #container [class*="-more-all"]:hover,
    body.ss-site #container .c3-exp-down:hover,
    body.ss-site #container .c4-price-more:hover,
    body.ss-site #container .b2c2-cta-mini a:hover,
    body.ss-site .ss-square-btn:hover {
        opacity: 1;
        transform: translateY(-3px);
        filter: brightness(1.14);
        box-shadow: 0 12px 24px rgba(50, 45, 35, 0.2);
    }
    body.ss-site #container .gc-cta:hover,
    body.ss-site #container .gc-faq-q:hover,
    body.ss-site #container summary:hover {
        transform: none;
        filter: none;
        box-shadow: none;
    }
    body.ss-site .ss-logo:hover,
    body.ss-site .ss-nav > a:hover,
    body.ss-site .ss-nav-item > a:hover,
    body.ss-site .ss-nav-sub a:hover {
        opacity: 1;
        transform: none;
        filter: none;
        box-shadow: none;
    }
    body.ss-site .ss-menu-mode:hover {
        background: #f2f2f2 !important;
        border-color: #d5d5d5 !important;
    }
    body.ss-site .ss-menu-mode.is-active:hover {
        background: #323a46 !important;
        border-color: #323a46 !important;
        color: #fff !important;
    }
    body.ss-site .ss-menu-list a:hover,
    body.ss-site .ss-menu-panel a:hover {
        background: #f4f4f4;
        opacity: 1;
    }

    .gc-page.gc-b1,
    .b1c1-page,
    .b1c2-page,
    .d1-page,
    .d2-page,
    .d3-page,
    .d5-page,
    .c3-page,
    .c4-page,
    .b2-page,
    .b2c1-page,
    .b2c1d1-page,
    .b2e1-page,
    .sr-page,
    .b2c2-page,
    .gc-page {
        max-width: none;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
        overflow-x: visible;
    }

    .gc-b1 .gc-overview {
        display: block;
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        box-sizing: border-box;
        padding: 48px max(40px, calc((100vw - 1440px) / 2)) 64px;
        background: none;
    }
    .gc-hero-crumb {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px 6px;
        margin-top: 22px;
        color: #6a6560;
        font-size: 14px;
        letter-spacing: -0.03em;
    }
    .gc-hero-crumb a,
    .gc-hero-crumb span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: inherit;
        text-decoration: none;
    }
    .gc-hero-crumb a:hover {
        color: #2a2a2a;
    }
    .gc-hero-crumb .material-symbols-outlined {
        font-size: 16px;
    }
    .gc-hero-sep {
        color: #b0aaa4;
    }
    .gc-b1 .gc-overview-hero,
    .gc-b1 .gc-overview-grid,
    .gc-b1-faq,
    .gc-b1-reviews,
    .gc-b1-cases {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
    }
    .gc-b1-faq,
    .gc-b1-reviews,
    .gc-b1-cases {
        padding: 56px 0 64px;
    }
    .gc-b1 .gc-overview-hero {
        display: none;
    }
    .gc-b1 .gc-overview-copy {
        display: block;
        width: 100%;
        padding-top: 0;
        text-align: center;
    }
    .gc-overview-copy .gc-overview-en {
        display: block;
        margin: 0 0 12px;
        font-family: "Great Vibes", cursive;
        font-size: 28px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.02em;
        color: #c5bdb8;
    }
    .gc-b1 .gc-overview-hero .gc-hero-crumb {
        justify-content: center;
    }
    .gc-overview-stats {
        position: absolute;
        top: 15%;
        right: 15%;
        width: 148px;
        flex-basis: 148px;
        padding: 20px;
    }
    .gc-overview-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }
    .gc-b1 .gc-overview-copy {
        display: block;
        flex: 1 1 auto;
        padding-top: 0;
    }
    .gc-overview-copy h1 {
        font-size: 48px;
        line-height: 1.28;
        white-space: nowrap;
    }
    .gc-overview-copy h1 .gc-title-mo {
        display: none;
    }
    .gc-overview-copy h1 .gc-title-pc {
        display: inline;
    }
    .gc-overview-copy p {
        font-size: 16px;
        line-height: 1.85;
    }
    .gc-overview-copy p br{
        display: none;
    }
    .gc-b1 .gc-overview-card {
        aspect-ratio: 1 / 1;
    }
    .gc-b1 .gc-overview-card figure {
        flex: 1 1 auto;
        min-height: 0;
        height: auto;
        max-height: none;
        aspect-ratio: auto;
    }
    .gc-b1 .gc-overview-link {
        min-height: 64px;
        padding: 12px 16px;
        gap: 8px;
        font-size: 15px;
    }
    .gc-overview-link > span:nth-child(2) {
        font-size: 15px;
        line-height: 1.4;
    }
    .gc-overview-ico {
        width: 30px;
        flex-basis: 30px;
    }
    .gc-overview-ico svg,
    .gc-overview-ico .material-symbols-outlined {
        width: 22px;
        height: 22px;
        font-size: 22px;
    }
    .gc-overview-link b {
        font-size: 22px;
    }
    .gc-b1-reviews h2,
    .gc-b1-cases h2,
    #gc-cases-title {
        font-size: 28px !important;
        text-align: center;
    }
    .gc-b1-faq-list {
        max-width: 800px;
        margin: 0 auto;
    }
    .gc-b1-faq summary {
        font-size: 18px;
        padding: 20px 22px;
    }
    .gc-b1-faq details p {
        font-size: 14px;
    }
    .gc-b1-review-list cite {
        font-size: 16px;
    }
    .gc-b1-review-list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 18px;
        max-width: 990px;
        margin: 0 auto;
    }
    .gc-b1-case-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
    .gc-b1-case.photos-3 .gc-b1-case-photos {
        display: flex;
        flex-direction: column;
    }
    .gc-b1-case.photos-3 .gc-b1-case-photos img:first-child {
        height: auto !important;
        grid-row: auto;
    }
    .gc-b1-case-photos img:nth-child(2),
    .gc-b1-case-photos img:nth-child(3) {
        display: none;
    }
    .gc-b1-case.photos-2 .gc-b1-case-photos {
        grid-template-columns: 1fr;
    }
    .gc-b1-case.photos-2 .gc-b1-case-photos img {
        height: auto !important;
    }

    .gc-b1-case{
        padding: 20px;
    }

    .gc-b1-case > strong{
        font-size: 22px;
        white-space: nowrap;
    }
    .gc-b1-case > strong br {
        display: none;
    }
    .gc-b1-case-head {
        font-size: 12px;
    }
    .gc-b1-case > em {
        font-size: 14px;
        font-weight: 400;
    }
    .gc-b1-case-sub {
        font-size: 14px;
    }

    .b1c1-hero {
        height: auto;
        min-height: 0;
    }
    .b1c1-page {
        padding-bottom: 110px;
    }
    .b1c1-hero-photo {
        width: 50%;
        margin-top: 40px;
        margin-left: auto;
        margin-right: auto;
        min-height: 46vh;
        height: 46vh;
    }
    .b1c1-hero-copy {
        display: none;
    }
    .b1c1-eyebrow {
        font-size: 36px;
    }
    .b1c1-hero-copy h1 {
        font-size: 36px;
        line-height: 1.35;
    }
    .b1c1-lead {
        font-size: 16px;
        line-height: 1.8;
        white-space: nowrap;
    }
    .b1c1-lead br {
        display: none;
    }
    .b1c1-features {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        transform: none;
        display: flex;
        justify-content: center;
        align-items: stretch;
        flex-wrap: nowrap;
        width: 100%;
        margin: 32px auto 48px;
        padding: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
        grid-template-columns: none;
        gap: 16px;
    }
    .b1c1-features li {
        flex: 0 0 230px;
        width: 230px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 140px;
        padding: 28px 18px 24px;
        border: 0;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(40, 36, 30, 0.08);
    }
    .b1c1-features li:nth-child(odd),
    .b1c1-features li:nth-child(-n+2),
    .b1c1-features li:nth-child(even),
    .b1c1-features li:not(:nth-child(4n)) {
        border: 0;
    }
    .b1c1-feature-txt {
        font-size: 18px;
        text-align: center;
        width: auto;
    }
    .b1c1-intro,
    .b1c1-guide,
    .b1c1-classes,
    .b1c1-instructor {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }
    .b1c1-works {
        max-width: none;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }
    .b1c1-works-marquee,
    .b1c1-logos {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        display: flex;
        justify-content: flex-start;
    }
    .b1c1-logos {
        flex-direction: column;
    }
    .b1c1-works-row,
    .b1c1-logos-row {
        margin-left: 0;
        margin-right: 0;
    }
    .b1c1-works-row {
        animation-duration: 100s;
        gap: 18px;
        padding: 0 18px;
    }
    .b1c1-works-row figure {
        flex-basis: 300px;
    }
    .b1c1-page .b1c1-works-row img {
        height: 200px !important;
        border-radius: 12px;
    }
    .b1c1-works-row figcaption {
        font-size: 16px;
        margin-top: 12px;
    }
    .b1c1-logos {
        gap: 14px;
        margin-top: 36px;
    }
    .b1c1-logos-row {
        gap: 14px;
        padding: 0 18px;
    }
    .b1c1-logos-row span {
        min-width: 168px;
        padding: 22px 24px;
        font-size: 16px;
        border-radius: 12px;
    }
    .b1c1-logos-row.is-right {
        animation-duration: 64s;
    }
    .b1c1-logos-row.is-left {
        animation-duration: 60s;
    }
    .b1c1-intro {
        padding-top: 24px;
        padding-bottom: 40px;
        clear: both;
    }
    .b1c1-intro p {
        font-size: 18px;
    }
    .b1c1-atelier {
        font-size: 20px !important;
    }
    .b1c1-intro h3 {
        margin-top: 100px;
        font-size: 28px;
    }
    .b1c1-program-stack .b1c1-classes {
        order: 1;
        padding-bottom: 70px;
    }
    .b1c1-program-stack > .b1c1-download {
        order: 2;
        width: 100%;
        margin: 0 0 56px;
    }
    .b1c1-classes {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        gap: 24px;
        padding-bottom: 48px;
    }
    .b1c1-dock {
        display: grid;
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 36px;
        align-items: start;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 80px max(40px, calc((100% - 1360px) / 2)) 110px;
        box-sizing: border-box;
        background: #efe6d6;
    }
    .b1c1-sidetabs {
        display: flex;
        flex-direction: column;
        gap: 8px;
        position: sticky;
        top: calc(var(--ss-header-h, 88px) + 24px);
    }
    .b1c1-sidetabs button {
        width: 100%;
        min-height: 48px;
        padding: 12px 16px;
        border: 1px solid #e6e6e6;
        border-radius: 12px;
        background: #fff;
        color: #2a2a2a;
        font-family: inherit;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: -0.04em;
        text-align: left;
        cursor: pointer;
    }
    .b1c1-sidetabs button:hover {
        background: #f3f3f3;
        border-color: #d5d5d5;
    }
    .b1c1-sidetabs button.is-active {
        background: #1d2430;
        border-color: #1d2430;
        color: #fff;
    }
    .b1c1-dock .b1c1-tabpanel {
        display: none;
        width: 100%;
        min-width: 0;
        border-radius: 20px;
    }
    .b1c1-dock .b1c1-tabpanel.is-active {
        display: block;
        padding-top: 60px;
        border-radius: 20px;
    }
    .b1c1-dock h3#gc-program {
        margin-top: 0;
        font-size: 28px;
        text-align: center;
    }
    .b1c1-dock .b1c1-classes {
        grid-template-columns: 1fr 1fr;
    }
    .b1c1-dock .b1c1-guide ul {
        grid-template-columns: 1fr 1fr;
    }
    .b1c1-class-body {
        padding: 16px;
    }
    .b1c1-class-body > strong {
        font-size: 18px;
        min-height: 0;
        line-height: 1.4;
        white-space: nowrap;
        word-break: keep-all;
    }
    .b1c1-class-body > strong br {
        display: none;
    }
    .b1c1-class-body > p {
        font-size: 14px;
        line-height: 1.7;
    }
    .b1c1-guide {
        padding-bottom: 64px;
    }
    .b1c1-guide h2 {
        font-size: 28px;
    }
    .b1c1-guide h3 {
        font-size: 18px;
    }
    .b1c1-guide ul {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        gap: 4px 40px;
        padding: 28px 32px 20px;
    }
    .b1c1-guide li {
        padding: 16px 4px;
    }
    .b1c1-ico svg,
    .b1c1-ico .material-symbols-outlined {
        width: 42px;
        height: 42px;
        font-size: 42px;
    }
    .b1c1-instructor {
        display: grid;
        grid-template-columns: 386px minmax(0, 1fr);
        justify-content: center;
        column-gap: 72px;
        align-items: center;
        width: 100%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding-top: 110px;
        padding-bottom: 110px;
    }
    .b1c1-instructor h2 {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0 0 8px;
        text-align: center;
        color: #2a2a2a;
    }
    .b1c1-instructor .b1c1-works-rule {
        display: flex;
        grid-column: 1 / -1;
    }
    .b1c1-instructor-card {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: 420px minmax(0, 1fr);
        align-items: center;
        justify-content: center;
        column-gap: 0;
    }
    .b1c1-instructor-card figure {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        width: 420px;
        max-width: 420px;
        height: 570px;
        margin: 0;
        aspect-ratio: auto;
        overflow: hidden;
        border-radius: 50% 50% 0 0 / 32% 32% 0 0;
        background: #efe8dc;
    }
    .b1c1-page .b1c1-instructor-card img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: right;
    }
    .b1c1-instructor-copy {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 70%;
        margin: 0 auto;
    }
    .b1c1-instructor-role {
        font-size: 18px;
        color: #5a6748;
    }
    .b1c1-instructor-copy strong {
        font-size: 36px;
        margin-bottom: 18px;
        color: #5a6748;
    }
    .b1c1-instructor-copy dt {
        font-size: 16px;
        margin-bottom: 6px;
        color: #5a6748;
    }
    .b1c1-instructor-copy dd {
        font-size: 16px;
        line-height: 1.7;
        margin-bottom: 16px;
        color: #3a3a3a;
        width: auto;
        margin-left: 0;
        margin-right: 0;
    }
    .b1c1-instructor .b1c1-download {
        width: auto;
        min-width: 228px;
        margin-top: 8px;
        align-self: center;
        font-size: 16px;
        height: 52px;
        border-radius: 10px;
    }
    .b1c1-fleur,
    .b1c1-rule img {
        width: 42px;
        height: 42px;
    }
    .b1c1-class-chip {
        font-size: 12px !important;
    }
    .b1c1-download {
        font-size: 16px;
        border-radius: 10px;
    }
    .b1c1-guide p {
        font-size: 16px;
    }

    .b1c2-page {
        padding: 96px 0;
        background: none;
    }
    .b1c2-head {
        display: none;
    }
    .b1c2-head .b1c2-eyebrow,
    .b1c2-head h1,
    .b1c2-lead {
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .b1c2-eyebrow {
        font-size: 28px;
        color: #c4bbb2;
        padding-top: 0;
    }
    .b1c2-head h1 {
        font-size: 40px;
        line-height: 1.35;
    }
    .b1c2-lead {
        font-size: 16px;
        color: #6a6560;
    }
    .b1c2-hero-crumb {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 6px;
        margin-top: 28px;
        color: #6a6560;
        font-size: 14px;
        letter-spacing: -0.03em;
    }
    .b1c2-hero-crumb a,
    .b1c2-hero-crumb span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: inherit;
        text-decoration: none;
    }
    .b1c2-hero-crumb a:hover {
        color: #2a2a2a;
    }
    .b1c2-hero-crumb .material-symbols-outlined {
        font-size: 16px;
    }
    .b1c2-grid,
    .b1c2-admin {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
    }
    .b1c2-admin {
        padding-left: 40px;
        padding-right: 40px;
    }
    .b1c2-page .b1c2-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 18px;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible;
    }
    .b1c2-card.is-wide,
    .b1c2-card:last-child {
        grid-column: auto;
        aspect-ratio: 1 / 1;
    }
    body.ss-site #container .b1c2-card {
        transition: transform 0.28s ease, box-shadow 0.28s ease;
    }
    body.ss-site #container .b1c2-card:hover {
        z-index: 2;
        opacity: 1;
        transform: translateY(-10px) scale(1.03);
        box-shadow: 0 22px 40px rgba(70, 60, 45, 0.28);
    }
    body.ss-site #container .b1c2-card:hover img {
        transform: scale(1.08);
        filter: brightness(1.06);
    }

    .d1-hero,
    .d1-bridge,
    .d1-values,
    .d1-fit,
    .d1-events,
    .d1-curr,
    .d1-review {
        padding-left: max(48px, calc((100% - 1120px) / 2));
        padding-right: max(48px, calc((100% - 1120px) / 2));
    }
    .d1-hero {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 88px;
        padding-bottom: 88px;
        background: #f3efe6;
    }
    .d1-hero-head {
        display: none;
    }
    .d1-script {
        font-size: 42px;
    }
    .d1-hero h1 {
        width: min(100%, 980px);
        margin: 0 0 110px;
        font-size: 36px;
        line-height: 1.4;
        text-align: center;
    }
    .d1-hero h1 br {
        display: none;
    }
    .d1-checks {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
        gap: 16px;
    }
    .d1-checks li {
        display: flex;
        align-items: center;
        gap: 12px;
        width: calc(100% / 3 - 12px);
        flex: 0 0 calc(100% / 3 - 12px);
        height: 196px;
        border-radius: 20px;
        font-size: 18px;
        padding: 24px 28px;
    }
    .d1-checks li::before {
        position: static;
        top: auto;
        left: auto;
        transform: none;
        flex: 0 0 20px;
    }
    .d1-bridge {
        padding-top: 56px;
        padding-bottom: 110px;
        background: #f3efe6;
    }
    .d1-bridge-kicker {
        font-size: 18px;
        margin-bottom: 80px;
    }
    .d1-bridge-copy {
        font-size: 30px;
        line-height: 1.5;
    }
    .d1-values {
        padding-top: 48px;
        padding-bottom: 56px;
    }
    .d1-brand-line {
        margin-top: 110px;
        font-size: 26px;
    }
    .d1-values ul {
        margin: 0 0 110px;
    }
    .d1-value-ico {
        width: 88px;
        height: 88px;
    }
    .d1-value-ico .material-symbols-outlined {
        width: 44px;
        height: 44px;
        font-size: 44px !important;
        line-height: 1 !important;
    }
    .d1-values li span:last-child {
        font-size: 15px;
        line-height: 1.55;
    }
    .d1-values blockquote {
        font-size: 24px;
        max-width: 22em;
    }
    .b1c1-dock .d1-fit.b1c1-tabpanel.is-active {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        column-gap: 20px;
        row-gap: 28px;
        padding-top: 0;
        padding-bottom: 56px;
    }
    .b1c1-dock .d1-fit-title {
        display: block;
        flex: 0 0 100%;
        width: 100%;
        margin: 0 0 36px;
        font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
        font-size: 28px;
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: -0.04em;
        text-align: center;
        color: #2a2a2a;
    }
    .b1c1-dock .d1-fit-card,
    .b1c1-dock .d1-fit-card.has-photo {
        display: flex;
        flex-direction: column;
        flex: 0 0 calc(50% - 10px);
        width: calc(50% - 10px);
        max-width: calc(50% - 10px);
        grid-column: auto;
        grid-row: auto;
        align-items: center;
        padding: 0 0 24px;
        border: 1px solid #ddd;
        border-radius: 18px;
        box-shadow: 0 8px 22px rgba(40, 36, 30, 0.06);
        background: #fff;
        overflow: hidden;
    }
    .d1-fit-card.has-photo figure,
    .d1-fit-card.has-photo:nth-child(1) figure,
    .d1-fit-card.has-photo:nth-child(2) figure {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        height: auto;
        margin: 0;
        border-radius: 0;
        align-self: stretch;
    }
    .d1-fit-body,
    .d1-fit-card.has-photo:nth-child(1) .d1-fit-body,
    .d1-fit-card.has-photo:nth-child(2) .d1-fit-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        padding: 28px 18px 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }
    .d1-fit-card:nth-child(3),
    .d1-fit-card:nth-child(4),
    .d1-fit-card:nth-child(5) {
        grid-column: auto;
        grid-row: auto;
        justify-content: center;
        padding: 28px 18px 24px;
    }
    .d1-page .d1-fit-card img {
        width: 100%;
        height: 240px !important;
    }
    .d1-fit-ico {
        width: 56px;
        height: 56px;
    }
    .d1-fit h2 {
        font-size: 18px;
    }
    .d1-fit p {
        font-size: 16px;
    }
    .d1-events {
        margin: 0 auto 56px;
        padding-top: 8px;
        padding-bottom: 32px;
    }
    .d1-events h2 {
        font-size: 18px;
        padding: 16px 24px;
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
    }
    .d1-events ul {
        background: #fff;
        border-radius: 20px;
    }
    .d1-event-ico {
        width: 64px;
        height: 64px;
    }
    .d1-events li span:last-child {
        font-size: 16px;
    }
    .d1-curr {
        padding-top: 48px;
        padding-bottom: 64px;
    }
    .d1-curr-head,
    .d1-curr-frame {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
    .d1-curr-kicker {
        font-size: 22px;
    }
    .d1-curr ol {
        display: flex;
        flex-direction: column;
        max-width: 80%;
        margin: 20px auto 0;
        gap: 14px;
    }
    .d1-curr li {
        padding: 22px 28px;
    }
    .d1-curr li strong {
        font-size: 18px;
    }
    .d1-curr li span {
        font-size: 14px;
    }
    .d1-page .d1-curr-ico img {
        width: 98px !important;
        height: 88px !important;
    }
    .d1-curr-ribbon {
        top: -10px;
        width: 220px;
    }
    .d1-curr-bottles {
        max-width: 520px;
        margin-top: 28px;
    }
    .d1-review {
        padding-top: 110px;
        padding-bottom: 80px;
    }
    .d1-review h2 {
        font-size: 28px;
    }
    .d1-review-list {
        width: 90%;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }
    .d1-review-card {
        padding: 30px 16px;
    }
    .d1-review-place {
        font-size: 16px;
    }
    .d1-review-venue br {
        display: none;
    }
    .d1-review-card blockquote,
    .d1-review-body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 20px;
        width: 100%;
        font-size: 16px;
    }
    .d1-review-card blockquote::before,
    .d1-review-card blockquote::after,
    .d1-review-body::before,
    .d1-review-body::after {
        height: 24px;
    }
    .d1-review-photos img,
    .d1-review-card figure img {
        height: 100% !important;
    }
    .d1-review-card blockquote::before,
    .d1-review-body::before {
        margin-bottom: 0;
    }
    .d1-review-card blockquote::after,
    .d1-review-body::after {
        margin-top: 0;
    }
    .d1-review-card h3,
    .d1-review-card.is-cover h3 {
        line-height: 1.55;
    }
    .d1-review-card h3 b {
        margin-top: 2px;
    }
    .d1-review-card.is-fit ul {
        gap: 14px;
        margin: 30px 0;
    }
    .d1-review-card.is-fit li {
        align-items: center;
        justify-content: center;
        padding: 14px 18px;
        line-height: 1.5;
    }
    .d1-review-foot {
        margin-top: 50px;
        line-height: 1.6;
    }
    .d1-review-foot b {
        margin-top: 10px;
        line-height: 1.45;
    }
    .d1-review-contact a {
        font-size: 16px;
    }
    .d2-review {
        padding-top: 24px;
        padding-bottom: 80px;
        padding-left: max(48px, calc((100% - 1120px) / 2));
        padding-right: max(48px, calc((100% - 1120px) / 2));
    }
    .d2-review h2 {
        font-size: 28px;
    }
    .d2-review-list {
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .d2-review-place {
        font-size: 16px;
    }
    .d2-review-brand {
        font-size: 18px;
        margin-bottom: 26px;
    }
    .d2-review-sub {
        font-size: 18px;
    }
    .d2-review-tags {
        font-size: 16px;
    }
    .d2-review-card {
        padding: 30px 16px;
        padding-bottom: 40px;
    }
    .d2-review-card h3 {
        margin: 40px 0;
    }
    .d2-review-card.is-fit ul {
        margin: 22px 0 16px;
    }
    .d2-review-card.is-fit li {
        font-size: 18px;
    }
    .d2-review-card blockquote {
        width: 100%;
        margin: 8px auto 12px;
        font-size: 16px;
    }
    .d2-review-foot {
        font-size: 16px;
    }
    .d2-review-num {
        margin-bottom: 40px;
    }
    .d2-review-headline {
        font-size: 18px;
    }
    .d2-review-note {
        font-size: 16px;
        margin-bottom: 40px;
    }
    .d2-review-points {
        margin-bottom: 30px;
    }
    .d2-review-points .material-symbols-outlined {
        width: 60px;
        height: 60px;
        font-size: 34px;
    }
    .d2-review-points li {
        font-size: 16px;
    }
    .d2-review-labels {
        font-size: 16px;
    }
    .d2-review-chips {
        margin-bottom: 40px;
    }
    .d2-review-chips li {
        font-size: 16px;
    }
    .d2-review-contact {
        margin-bottom: 40px;
    }
    .d2-page .d2-review-photos img,
    .d2-page .d2-review-card figure img {
        height: 100% !important;
    }
    .d1-pc-break {
        display: block;
    }

    .d2-page {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .d2-hero {
        width: 32.2%;
        flex: 0 0 32.2%;
        margin: 0 0 0 15%;
    }
    .d2-page > .d2-hl {
        width: 37.8%;
        flex: 0 0 37.8%;
        box-sizing: border-box;
        margin-right: 15%;
        padding: 48px 32px 40px;
    }
    .d2-page > .d2-reco,
    .d2-page > .d2-cur,
    .d2-page > .d2-review,
    .d2-page > .d2-more,
    .d2-page > .d2-admin,
    .d2-page > .b1c1-dock {
        flex: 0 0 100%;
        width: 100%;
    }
    body.ss-site:has(.d2-page) .d2-hero-photo,
    body.ss-site:has(.d2-page) .d2-hero-photo.aos-init.aos-animate {
        width: 100% !important;
        max-width: none;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body.ss-site:has(.d2-page) .d2-hero-photo img,
    .d2-page .d2-hero-photo img {
        width: 100%;
        height: 800px !important;
        margin: 0;
        object-fit: cover;
        object-position: center -280px;
    }
    .d2-hero-copy {
        padding-top: 64px;
    }
    .d2-hero-copy h1 {
        font-size: 52px;
        line-height: 1.22;
    }
    .d2-lead,
    .d2-sub {
        font-size: 16px;
    }
    .d2-kicker {
        font-size: 16px;
    }
    .d2-tags li {
        background: #fff;
        font-size: 14px;
    }
    .d3-hero h1 {
        font-size: 52px;
    }
    .d3-hero {
        display: grid;
        grid-template-columns: 46fr 54fr;
        width: 70%;
        margin: 0 auto;
        height: auto;
        align-items: stretch;
    }
    .d3-hero-bg {
        position: relative;
        inset: auto;
        grid-column: 1;
        grid-row: 1;
        height: 800px;
    }
    .d3-page .d3-hero-bg img {
        width: 100%;
        height: 800px !important;
        object-fit: cover;
        object-position: center -180px;
    }
    .d3-hero-copy {
        display: contents;
    }
    .d3-hero-intro {
        grid-column: 1;
        grid-row: 1;
        z-index: 1;
        display: inline-block;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 48px 28px;
        text-align: center;
    }
    .d3-hero-aside {
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 48px 32px;
        background: #e8f3fa;
    }
    .d3-modes {
        width: 100%;
        max-width: none;
    }
    .d3-mode-label {
        font-size: 14px;
    }
    .d3-feats {
        padding-top: 28px;
        margin-top: 8px;
    }
    .d3-modes strong {
        font-size: 18px;
    }
    .d3-modes p {
        font-size: 16px;
    }
    .d3-copy {
        margin-top: 40px;
        font-size: 18px;
    }
    .d3-copy b {
        font-size: 18px;
    }
    .d3-feats span:last-child {
        font-size: 16px;
    }
    .d3-lead {
        font-size: 16px;
    }
    .d3-a:not(.d3-b) {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 8px;
        text-align: center;
        border-radius: 20px;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
        overflow: hidden;
    }
    .d3-a-head {
        display: contents;
    }
    .d3-a-copy {
        grid-column: 1 / -1;
        text-align: center;
    }
    .d3-a:not(.d3-b) .d3-a-desc {
        margin: 0 auto 22px;
        font-size: 16px;
    }
    .d3-a-shot,
    .d3-a-wide {
        margin: 0 0 28px;
        border-radius: 12px;
    }
    .d3-a:not(.d3-b) h3,
    .d3-a-steps {
        grid-column: 1 / -1;
    }
    .d3-a,
    .d3-b {
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .d3-a + .d3-ainfo,
    .d3-b + .d3-ainfo {
        margin-top: 0;
        padding-top: 8px;
        background: #fff;
    }
    .d3-b-steps em {
        font-size: 14px;
    }
    .d3-b-steps span:last-child {
        font-size: 16px;
    }
    .d3-binfo li {
        font-size: 16px;
    }
    .d3-ainfo-meta dd {
        font-size: 16px;
    }
    .d3-binfo .d3-bnote p {
        font-size: 14px;
    }
    .d3-b-desc {
        font-size: 16px;
    }
    .d3-cmp-wrap {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .d3-cmp thead th {
        font-size: 16px;
    }
    .d3-cmp tbody th,
    .d3-cmp tbody td {
        font-size: 16px;
    }
    .d3-cmp tbody td strong {
        font-size: 16px;
    }
    .d3-cmp tbody td.is-stack span:not(.d3-cmp-ico):not(.material-symbols-outlined) {
        font-size: 14px;
    }
    .d3-cmp-cell {
        flex-direction: column;
    }
    .d3-cmp-txt {
        font-size: 16px;
        text-align: center;
    }
    .d3-out {
        border-radius: 20px;
    }
    .d3-out h2 {
        margin-bottom: 40px;
        font-size: 24px;
        text-align: center;
    }
    .d3-out-rule {
        justify-content: center;
    }
    .d3-out-result {
        align-items: center;
        gap: 60px;
        margin-bottom: 60px;
    }
    .d3-out-result strong {
        margin-bottom: 40px;
        font-size: 20px;
    }
    .d3-out-result p {
        margin-bottom: 40px;
        font-size: 16px;
    }
    .d3-out-result li {
        font-size: 14px;
    }
    .d3-out-ops dt,
    .d3-out-ops dd {
        font-size: 16px;
    }
    .d3-out-ops div {
        gap: 20px;
    }
    .d3-out-reco {
        display: grid;
        grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
        grid-template-areas:
            "title title"
            "photo cards";
        column-gap: 28px;
        row-gap: 28px;
        align-items: center;
    }
    .d3-out-reco > h2 {
        grid-area: title;
    }
    .d3-out-bloom {
        display: none;
    }
    .d3-out-close {
        grid-area: photo;
        z-index: 1;
        align-self: end;
        justify-self: start;
        max-width: none;
        margin: 0;
        padding: 24px 28px 32px;
    }
    .d3-out-places {
        grid-area: cards;
        margin: 0;
        align-self: center;
    }
    .d3-out-places li {
        background: #fff;
        border-radius: 20px;
        padding: 20px;
        font-size: 14px;
    }
    .d3-out-places strong {
        font-size: 18px;
    }
    .d3-review h2 {
        text-align: center;
    }
    .d3-review-place {
        font-size: 14px;
    }
    .d3-review-photos img,
    .d3-page .d3-review-card figure img {
        height: 100% !important;
    }
    .d3-review-tags {
        font-size: 14px;
    }
    .d3-review-card blockquote,
    .d3-review-body {
        font-size: 16px;
    }
    .d3-review-kicker {
        font-size: 16px;
    }
    .d5-hero-copy h1 {
        font-size: 40px;
    }
    .d2-hl,
    .d2-cur,
    .d3-page > section:not(.d3-hero) {
        padding-left: max(48px, calc((100% - 1120px) / 2));
        padding-right: max(48px, calc((100% - 1120px) / 2));
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .d2-reco {
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
        padding: 64px 40px 72px;
        background: #f4efe6;
    }
    .d2-reco h2 {
        font-size: 40px;
    }
    .d2-reco-lead {
        font-size: 20px;
    }
    .d2-reco-ico {
        width: 108px;
        height: 108px;
    }
    .d2-reco li span:last-child {
        font-size: 18px;
    }
    .d2-hl h2,
    .d2-cur h2,
    .d2-cur h2,
    .d2-more h2,
    .d5-more h2,
    .d5-cur h2 {
        font-size: 26px;
    }
    .d2-cur-kicker {
        font-size: 20px;
    }
    .d2-hl h3 {
        padding-top: 12px;
        font-size: 24px;
    }
    .d2-hl-note {
        font-size: 16px;
    }
    .d2-hl-3 {
        grid-template-columns: 1fr;
        width: 70%;
        margin: 0 auto;
        margin-top: 50px;
        margin-bottom: 80px;
        gap: 40px;
    }
    .d2-hl-3 li {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 18px;
        align-items: center;
        text-align: left;
    }
    .d2-hl-3 li .d2-ico {
        grid-row: 1 / span 2;
        margin: 0;
    }
    .d2-hl-3 li strong,
    .d2-hl-3 li p {
        text-align: left;
    }
    .d2-hl-5 {
        margin-top: 40px;
    }
    .d2-hl-vegan {
        margin-top: 110px;
        padding-bottom: 26px;
    }
    .d2-hl-vegan .d2-ico {
        width: 70px;
        height: 70px;
    }
    .d2-hl-close {
        font-size: 18px;
    }
    .d2-hl-5 li strong {
        min-height: 0;
        white-space: nowrap;
    }
    .d2-hl-5 li strong br {
        display: none;
    }
    .d2-hl li strong {
        font-size: 20px;
    }
    .d2-hl li p,
    .d2-hl-4 li span:last-child {
        font-size: 16px;
    }
    .d2-hl-4 li {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .d2-hl-3 .d2-ico,
    .d2-reco .d2-ico {
        width: 72px;
        height: 72px;
    }
    .d2-cur > ol {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px 48px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
    }
    .d2-cur > ol > li {
        background: #fff;
        border-radius: 20px;
        padding: 20px;
    }
    .d2-cur-num {
        font-size: 18px;
        line-height: 1.2;
    }
    .d2-cur > ol > li strong {
        font-size: 18px;
    }
    .d2-cur > ol > li p {
        font-size: 16px;
    }
    .d2-cur-tags li {
        font-size: 14px;
    }
    .d2-cur-note {
        margin-top: 80px;
        font-size: 18px;
    }
    .gc-intro .gc-inner.gc-inner-narrow {
        display: grid;
        grid-template-columns: minmax(280px, 0.86fr) minmax(0, 1.14fr);
        gap: 12px 56px;
        align-items: center;
        justify-items: start;
        max-width: 1080px;
        text-align: left;
    }
    .gc-intro .gc-hero-photo {
        grid-column: 1;
        grid-row: 1 / span 6;
        width: 100%;
        max-width: none;
        margin: 0;
    }
    .gc-intro .gc-kicker,
    .gc-intro .gc-title,
    .gc-intro .gc-lead,
    .gc-intro .gc-desc,
    .gc-intro .gc-desc-last {
        grid-column: 2;
        justify-self: stretch;
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
    .gc-intro .gc-desc {
        font-size: 16px;
    }
    .gc-intro .gc-kicker {
        margin-bottom: 0;
        font-size: 16px;
    }
    .gc-program .gc-head,
    .gc-event .gc-head:not(.gc-head-follow),
    .gc-diff .gc-head,
    .gc-process .gc-head,
    .gc-guide .gc-head:not(.gc-head-follow),
    .gc-contact .gc-head:not(.gc-head-follow) {
        padding-top: 0;
    }
    .gc-program .gc-tag {
        font-size: 14px;
    }
    .gc-program-card li {
        font-size: 18px;
    }
    .gc-ornament {
        height: 34px;
        background-size: 42px 34px, 56px 1px, 56px 1px;
    }
    .gc-diff-grid {
        max-width: 100%;
        flex-direction: row;
    }
    .gc-step p {
        font-size: 16px;
    }
    .gc-cta p {
        font-size: 16px;
    }
    .gc-guide-card p,
    .gc-guide-card ul {
        font-size: 16px;
    }
    .gc-guide-card h3 {
        font-size: 20px;
    }
    .gc-contact .gc-head {
        max-width: 44em;
    }
    .gc-num {
        display: none;
    }
    .gc-contact .gc-sub {
        font-size: 20px;
        font-weight: 600;
    }
    .gc-contact-item span {
        font-size: 16px;
    }
    .gc-contact-item strong {
        font-size: 20px;
    }
    .gc-review-card blockquote {
        font-size: 18px;
    }
    .gc-review-sub {
        font-size: 16px;
    }
    .gc-review-tags {
        font-size: 16px;
    }
    .gc-review-place {
        font-size: 14px;
    }
    .gc-review-cols ul li {
        font-size: 16px;
    }
    .gc-review-cols strong {
        font-size: 18px;
    }
    .d1-more,
    .d2-more,
    .d3-more,
    .gc-page .gc-more {
        max-width: 1120px;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }
    .d1-more h2 {
        font-size: 26px;
    }
    .d1-more ul,
    .d2-more ul,
    .d3-more ul,
    .d5-more ul,
    .gc-page .gc-more ul {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
        max-width: 1040px;
        margin-left: auto;
        margin-right: auto;
    }
    .d3-page .d3-more img,
    .d5-page .d5-more img {
        height: 180px !important;
        object-fit: cover;
        object-position: center 32%;
    }
    .gc-page .gc-more img {
        height: 100% !important;
    }
    .d1-page .d1-more img {
        display: block;
        width: 100%;
        height: auto !important;
        margin: 0 auto;
        object-fit: cover;
        object-position: center center;
    }
    body.ss-site:has(.d2-page) .d2-page {
        max-width: none;
        width: 100%;
    }
    body.ss-site:has(.d2-page) .d2-more {
        max-width: 1120px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 48px 16px 72px;
        box-sizing: border-box;
        text-align: center;
    }
    body.ss-site:has(.d2-page) .d2-more h2 {
        margin: 0 0 28px;
        font-size: 20px;
        color: #2c2c2c;
    }
    body.ss-site:has(.d2-page) .d2-more ul {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
        max-width: 1040px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    body.ss-site:has(.d2-page) .d2-more img {
        display: block;
        width: 100%;
        height: auto !important;
        margin: 0 auto;
        object-fit: cover;
        object-position: center center;
    }
    body.ss-site:has(.d2-page) .d2-more strong {
        padding: 14px 12px 16px;
        font-size: 15px;
    }
    body.ss-site:has(.d2-page) .d2-more-all {
        margin-top: 28px;
        min-width: 200px;
        height: 48px;
        border-radius: 8px;
        font-size: 15px;
        font-weight: 700;
    }
    .d1-more strong,
    .d2-more strong,
    .d3-more strong,
    .d5-more strong,
    .gc-more strong {
        padding: 14px 12px 16px;
        font-size: 15px;
    }
    .d5-hero-copy {
        padding-top: 80px;
    }
    .d5-page {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
    }
    .d5-hero {
        position: relative;
        display: flex;
        flex-direction: column;
        width: 32.2%;
        flex: 0 0 32.2%;
        margin: 0 0 0 15%;
        min-height: 0;
    }
    .d5-hero-bg {
        position: absolute;
        inset: 0;
        height: auto;
        margin: 0;
    }
    .d5-page > .d5-point {
        width: 37.8%;
        flex: 0 0 37.8%;
        box-sizing: border-box;
        margin-right: 15%;
        padding: 48px 32px 40px;
    }
    body.ss-site:has(.d5-page) .d5-page > .d5-point {
        padding-bottom: 186px;
    }
    .d5-page > .d5-point ol {
        grid-template-columns: 1fr;
        max-width: none;
    }
    .d5-page > .b1c1-dock,
    .d5-page > .d5-admin {
        flex: 0 0 100%;
        width: 100%;
    }
    .d5-hero h1 {
        font-size: 48px;
        margin: 0 0 20px;
    }
    .d5-lead {
        font-size: 18px;
        line-height: 1.7;
        margin-bottom: 28px;
    }
    .d5-bar {
        font-size: 15px;
        padding: 18px 24px;
    }
    body.ss-site:has(.d5-page) .d5-hero-bg img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center 28%;
    }

    .d5-point h2 {
        font-size: 32px;
        margin-bottom: 32px;
    }
    .d5-point-kicker {
        font-size: 14px;
        margin-bottom: 14px;
    }
    .d5-point ol {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px 20px;
        max-width: 880px;
        margin: 0 auto;
        padding-bottom: 0;
    }
    .d5-point li {
        margin: 0;
        padding: 24px 26px;
    }
    .d5-point strong {
        font-size: 18px;
        margin-bottom: 8px;
    }
    .d5-point li p {
        font-size: 15px;
        line-height: 1.6;
    }

    body.ss-site:has(.d5-page) .d5-reco {
        padding-top: 112px;
    }
    .d5-reco-frame {
        max-width: 960px;
        margin: 0 auto;
        padding: 72px 48px 40px;
    }
    .d5-page .d5-reco-ribbon {
        width: 240px;
        left: -8px;
        top: -32px;
    }
    .d5-reco h2 {
        font-size: 26px;
        min-height: 76px;
        margin-bottom: 16px;
    }
    .d5-reco-stars {
        margin-bottom: 20px;
        font-size: 13px;
    }
    .d5-reco-wrap {
        gap: 28px 40px;
        max-width: 860px;
        margin: 8px auto 0;
    }
    body.ss-site:has(.d5-page) .d5-reco li {
        gap: 12px;
        margin-bottom: 28px;
        font-size: 16px;
    }
    .d5-reco .d5-ico {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
    }
    .d5-reco .d5-ico .material-symbols-outlined {
        font-size: 28px;
    }
    .d5-page .d5-reco figure img {
        max-width: 260px;
        margin: 0 auto;
    }

    .d5-cur-head {
        max-width: 980px;
        margin: 0 auto 36px;
        padding-top: 56px;
        padding-bottom: 28px;
    }
    .d5-page .d5-cur-ribbon {
        top: -108px;
        left: 5%;
        width: 30%;
    }
    .d5-cur h2 {
        font-size: 32px;
        margin-bottom: 10px;
    }
    .d5-cur-time {
        font-size: 16px;
    }
    .d5-cur ol {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px 24px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
    }
    .d5-cur li {
        margin-bottom: 0;
        padding: 22px 24px;
    }
    .d5-cur strong {
        font-size: 18px;
        margin-bottom: 6px;
    }
    .d5-cur span {
        font-size: 16px;
    }

    body.ss-site:has(.d5-page) .d5-review h2,
    .d5-review h2 {
        font-size: 28px;
        margin-top: 40px;
        margin-bottom: 32px;
    }
    body.ss-site:has(.d5-page) .d5-review-list,
    .d5-review-list {
        display: flex;
        flex-direction: column;
        gap: 16px;
        max-width: 90%;
        margin: 0 auto;
        align-items: stretch;
    }
    body.ss-site:has(.d5-page) .d5-review-card,
    .d5-review-card {
        height: auto;
        padding: 30px 16px 40px;
    }
    body.ss-site:has(.d5-page) .d5-review-brand,
    .d5-review-brand {
        font-size: 18px;
        margin-bottom: 26px;
    }
    body.ss-site:has(.d5-page) .d5-review-place,
    .d5-review-place {
        font-size: 16px;
    }
    body.ss-site:has(.d5-page) .d5-review-sub,
    .d5-review-sub {
        font-size: 18px;
    }
    body.ss-site:has(.d5-page) .d5-review-tags,
    .d5-review-tags {
        font-size: 16px;
    }
    body.ss-site:has(.d5-page) .d5-review-card h3,
    .d5-review-card h3 {
        margin: 40px 0;
        font-size: 20px;
    }
    body.ss-site:has(.d5-page) .d5-review-card.is-cover h3,
    .d5-review-card.is-cover h3 {
        font-size: clamp(24px, 7vw, 32px);
    }
    body.ss-site:has(.d5-page) .d5-review-card blockquote,
    body.ss-site:has(.d5-page) .d5-review-body,
    .d5-review-card blockquote,
    .d5-review-body {
        width: 100%;
        font-size: 16px;
        line-height: 1.7;
    }
    .d5-review-photos {
        gap: 12px;
        margin-bottom: 16px;
    }
    .d5-review-photos img,
    .d5-page .d5-review-card img,
    .d5-review-photos.is-one img {
        height: 100% !important;
    }

    .d5-more h2 {
        margin-top: 80px;
        margin-bottom: 28px;
    }
    .d5-more ul {
        max-width: 980px;
        margin-left: auto;
        margin-right: auto;
        gap: 20px;
    }

    .c3-intro,
    .c3-inst,
    .c3-certs,
    .c3-exp {
        padding-left: max(48px, calc((100% - 1120px) / 2));
        padding-right: max(48px, calc((100% - 1120px) / 2));
        padding-top: 56px;
        padding-bottom: 56px;
    }
    .c3-intro {
        display: none;
    }
    .c3-kicker {
        font-size: 34px;
        line-height: 1;
        margin-bottom: 16px;
        color: #b7aea6;
        letter-spacing: 0.02em;
    }
    .c3-intro h1,
    #c3-intro-title {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.6;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        letter-spacing: -0.03em;
        text-align: center;
        white-space: nowrap;
        color: #2a2a2a;
    }
    .c3-hero-crumb {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 6px;
        margin-top: 28px;
        color: #6a6560;
        font-size: 14px;
        letter-spacing: -0.03em;
    }
    .c3-hero-crumb a,
    .c3-hero-crumb span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: inherit;
        text-decoration: none;
    }
    .c3-hero-crumb a:hover {
        color: #2a2a2a;
    }
    .c3-hero-crumb .material-symbols-outlined {
        font-size: 16px;
    }
    .c3-hero-sep {
        color: #b0aaa4;
    }
    .c3-m-break {
        display: none;
    }
    .c3-inst {
        display: grid;
        grid-template-columns: 386px max-content;
        justify-content: center;
        column-gap: 72px;
        align-items: center;
    }
    .c3-inst-kicker {
        grid-column: 2;
        grid-row: 1;
        justify-content: center;
        margin: 0 0 16px;
        font-size: 20px;
    }
    .c3-inst-grid {
        display: contents;
    }
    .c3-inst-grid figure {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: center;
        height: 570px;
        aspect-ratio: auto;
        border-radius: 50% 50% 0 0 / 32% 32% 0 0;
    }
    .c3-page .c3-inst-grid img {
        object-position: right;
    }
    .c3-inst-copy {
        grid-column: 2;
        grid-row: 2;
        padding-top: 0;
        text-align: center;
    }
    .c3-inst-role {
        font-size: 18px;
    }
    .c3-inst-copy dt {
        font-size: 16px;
    }
    .c3-inst-copy dd {
        font-size: 16px;
    }
    .c3-inst-foot {
        grid-column: 1 / -1;
        margin-top: 60px;
    }
    .c3-inst-slogan {
        font-size: 24px;
    }
    .c3-inst-sub {
        font-size: 18px;
    }
    .c3-inst-cta {
        font-size: 16px;
    }
    body.ss-site #container .c3-inst-cta:hover {
        background: #73825c;
        color: #fff !important;
        opacity: 1;
        filter: none;
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(90, 103, 72, 0.28);
    }
    .c3-inst-cta span {
        display: none;
    }
    .c3-leaf {
        width: 40px;
        height: 40px;
    }
    .c3-leaf .material-symbols-outlined {
        font-size: 34px;
    }
    .c3-inst-copy h2 {
        font-size: 36px;
    }
    .c3-stage {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 48px;
        padding: 100px max(40px, calc((100% - 1280px) / 2)) 80px;
    }
    .c3-stage > .c3-inst,
    .c3-side .c3-certs,
    .c3-side .c3-exp {
        padding: 0;
    }
    .c3-side {
        width: 100%;
        max-width: 1120px;
    }
    .c3-tabs {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin: 0 0 24px;
        border-bottom: 1px solid #ddd6cc;
    }
    .c3-tabs label {
        min-width: 140px;
        margin: 0 0 -1px;
        padding: 12px 18px;
        border-bottom: 2px solid transparent;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: -0.03em;
        color: #9a948c;
        text-align: center;
        cursor: pointer;
        transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
    }
    #c3tab-certs:not(:checked) ~ .c3-tabs label[for="c3tab-certs"]:hover,
    #c3tab-exp:not(:checked) ~ .c3-tabs label[for="c3tab-exp"]:hover {
        color: #5a6748;
        background: #f4f1ea;
        border-bottom-color: #c9c2b6;
    }
    #c3tab-certs:checked ~ .c3-tabs label[for="c3tab-certs"],
    #c3tab-exp:checked ~ .c3-tabs label[for="c3tab-exp"] {
        border-bottom-color: #5a6748;
        color: #5a6748;
    }
    #c3tab-certs:focus-visible ~ .c3-tabs label[for="c3tab-certs"],
    #c3tab-exp:focus-visible ~ .c3-tabs label[for="c3tab-exp"] {
        outline: 2px solid #5a6748;
        outline-offset: 2px;
    }
    .c3-side .c3-exp {
        display: none;
    }
    #c3tab-exp:checked ~ .c3-exp {
        display: block;
    }
    #c3tab-exp:checked ~ .c3-certs {
        display: none;
    }
    .c3-side .c3-certs ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }
    .c3-certs ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }
    .c3-exp h2 {
        font-size: 24px;
    }
    .c3-exp p {
        font-size: 16px;
    }
    .c3-ornament {
        height: 40px;
        background-size: 64px 50px, 56px 1px, 56px 1px;
    }
    .c3-exp-table-wrap {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        font-size: 16px;
    }
    .c3-exp-down {
        font-size: 16px;
    }
    .c3-exp th,
    .c3-exp td {
        padding: 10px 12px;
        font-size: 16px;
    }

    .c4-page {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 32px 56px;
        align-items: start;
        padding: 56px max(40px, calc((100% - 1120px) / 2)) 96px;
    }
    .c4-head,
    .c4-admin,
    .c4-side,
    .c4-faq,
    .c4-price,
    .c4-ask {
        order: 0;
    }
    .c4-head,
    .c4-admin {
        grid-column: 1 / -1;
    }
    .c4-side {
        display: flex;
        flex-direction: column;
        grid-column: 1;
        grid-row: 2;
        align-self: start;
        min-width: 0;
    }
    .c4-ask {
        margin-top: 0;
        padding-top: 0;
    }
    .c4-faq {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        min-width: 0;
    }
    .c4-head {
        display: none;
    }
    .c4-head h1 {
        font-size: 36px;
    }
    .c4-lead {
        font-size: 16px;
    }
    .c4-eyebrow {
        font-size: 26px;
    }
    .c4-price h2,
    .c4-faq h2 {
        font-size: 26px;
    }
    .c4-ornament {
        height: 40px;
        background-size: 42px 38px, 56px 1px, 56px 1px;
    }
    .c4-price th,
    .c4-price td {
        font-size: 16px;
    }
    .c4-price li {
        font-size: 14px;
    }
    .c4-faq summary {
        font-size: 16px;
        padding: 18px 20px;
    }
    .c4-faq summary span::before {
        transition: transform 0.35s ease;
    }
    .c4-faq details {
        interpolate-size: allow-keywords;
    }
    .c4-faq details::details-content {
        height: 0;
        overflow: clip;
        transition: height 0.4s ease, content-visibility 0.4s ease allow-discrete;
    }
    .c4-faq details[open]::details-content {
        height: auto;
    }
    .c4-faq-a,
    .c4-faq-a p {
        font-size: 16px;
    }
    .c4-prog-text span,
    .c4-prog-text strong {
        font-size: 16px;
    }
    .c4-ask-btn {
        font-size: 16px;
    }
    .c4-price-card {
        display: none;
    }
    .c4-price-clip {
        max-height: none;
        overflow: visible;
    }
    .c4-price-box:not(.is-open)::after {
        display: none;
    }
    .c4-price-more {
        display: none;
    }

    .b2-page {
        padding: 64px max(40px, calc((100% - 1120px) / 2)) 96px;
    }
    .b2-intro {
        margin-bottom: 40px;
    }
    .b2-intro-en {
        font-size: 22px;
    }
    .b2-intro-ko {
        font-size: 18px;
    }
    .b2-intro h1 {
        font-size: 56px;
    }
    .b2-cards {
        flex-direction: row;
        gap: 28px;
    }
    .b2-card {
        flex: 1 1 0;
        min-width: 0;
    }
    .b2-card figure {
        aspect-ratio: 16 / 10;
    }
    .b2-panel {
        width: calc(100% - 40px);
        bottom: 20px;
        padding: 16px 18px;
    }

    .b2c1d1-page,
    .b2e1-page,
    .sr-page {
        padding: 0 160px 96px;
        font-size: 16px;
        line-height: 1.75;
    }
    .sr-page {
        padding-bottom: 0 !important;
    }
    .sr-head > :not(figure) {
        display: none;
    }
    .sr-head figure {
        width: 360px;
        height: 360px;
    }
    .sr-page .sr-head img {
        height: 100% !important;
    }
    .sr-body {
        width: 70%;
        margin: 0 auto;
        text-align: center;
        padding-bottom: 80px;
    }
    .sr-body p {
        font-size: 18px !important;
    }
    .sr-body blockquote p {
        font-size: 18px;
    }
    .b2c1-page {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 80px max(40px, calc((100% - 1440px) / 2)) 96px;
        box-sizing: border-box;
        font-size: 16px;
        line-height: 1.75;
        background: none;
    }
    .b2c2-page {
        padding: 0;
        font-size: 16px;
        line-height: 1.75;
    }
    .b2c2-page :where(p, li, dt, dd, figcaption, cite, span, a, strong, em, b, i, small, mark, button) {
        font-size: max(16px, 1em);
        line-height: 1.7;
    }
    .b2c2-hero {
        display: grid;
        grid-template-columns: 15% minmax(0, 1.05fr) minmax(0, 0.95fr) 15%;
        align-items: center;
        column-gap: 0;
    }
    .b2c2-hero-stage {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        max-width: none;
        margin: 0 24px 0 0;
        height: 800px;
        padding-top: 80px;
        aspect-ratio: auto;
        background-position: center bottom;
        background-size: cover;
    }
    .b2c2-quotes {
        grid-column: 3;
        grid-row: 1;
        width: auto;
        max-width: none;
        margin: 0 0 0 24px;
        padding: 10px 0;
        box-sizing: border-box;
    }
    .b2c2-quotes li {
        max-width: 100%;
        font-size: 26px;
        line-height: 1.7;
        padding: 18px 22px;
    }
    .b2c2-diff > ol > li > p {
        font-size: 18px;
        padding: 10px 18px;
    }
    .b2c2-diff-brand,
    .b2c2-diff-other-label {
        font-size: 22px;
    }
    .b2c2-diff .b2c2-diff-ours strong {
        font-size: 16px;
    }
    .b2c2-diff-other b {
        font-size: 18px;
    }
    .b2c2-diff-other span {
        font-size: 16px;
    }
    .b2c2-diff-ours span,
    .b2c2-diff-other,
    .b2c2-page .b2c2-diff-other p {
        font-size: 16px;
        line-height: 1.7;
    }
    .b2c2-page .b2c2-diff > ol > li {
        position: relative;
        display: block;
        margin: 0 0 36px;
        padding: 8px 0 0;
        background: none;
        overflow: visible;
    }
    .b2c2-page .b2c2-diff > ol > li > p {
        position: relative;
        left: auto;
        top: auto;
        z-index: 1;
        display: inline-block;
        width: auto;
        height: auto;
        min-height: 0;
        margin: 0;
        padding: 7px 14px;
        background: #dce8c8;
        color: #5d6b3f;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.06em;
        line-height: 1.2;
        white-space: nowrap;
        border-radius: 0;
    }
    .b2c2-page .b2c2-diff > ol > li > .b2c2-diff-row,
    .b2c2-page .b2c2-diff > ol > li > .b2c2-diff-vs {
        display: grid;
        grid-template-columns: 0.5fr 1.5fr;
        grid-column: auto;
        grid-row: auto;
        gap: 8px;
        align-items: center;
        align-self: auto;
        height: auto;
        margin: 0;
        background: none;
        border: 0;
    }
    .b2c2-page .b2c2-diff > ol > li > .b2c2-diff-row {
        margin-top: -14px;
        padding: 28px 20px 18px;
        background: #fff;
        border-top: 1px solid #d2cdc4;
    }
    .b2c2-page .b2c2-diff > ol > li > .b2c2-diff-main {
        display: block;
        grid-column: auto;
        grid-row: auto;
        margin: -14px 0 0;
        padding: 28px 20px 18px;
        background: #fff;
        border-top: 1px solid #d2cdc4;
    }
    .b2c2-page .b2c2-diff > ol > li > .b2c2-diff-vs {
        padding: 18px 20px;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }
    .b2c2-page .b2c2-diff-row,
    .b2c2-page .b2c2-diff > ol > li .b2c2-diff-main .b2c2-diff-row {
        display: grid;
        grid-template-columns: 0.5fr 1.5fr;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 0;
        background: none;
        border: 0;
    }
    .b2c2-page .b2c2-diff > ol > li .b2c2-diff-main .b2c2-diff-row {
        padding: 0 0 16px;
    }
    .b2c2-page .b2c2-diff-ours,
    .b2c2-page .b2c2-diff-other {
        grid-column: auto;
    }
    .b2c2-page .b2c2-diff-brand {
        width: auto;
        font-size: 22px;
        line-height: 1.35;
        letter-spacing: 0.08em;
        padding-top: 4px;
    }
    .b2c2-page .b2c2-diff .b2c2-diff-ours strong,
    .b2c2-page .b2c2-diff-other b {
        font-size: 16px;
    }
    .b2c2-page .b2c2-diff-ours span,
    .b2c2-page .b2c2-diff-other span {
        font-size: 16px;
        line-height: 1.7;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert > .b2c2-diff-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-brand {
        width: max-content;
    }
    .b2c2-page .b2c2-certs {
        display: flex;
        flex-direction: row;
        gap: 20px;
        margin-top: 20px;
        width: 100%;
    }
    .b2c2-page .b2c2-certs figure {
        flex: 1;
        min-width: 0;
        max-width: none;
        width: auto;
    }
    .b2c2-page .b2c2-diff-other-label {
        font-size: 18px;
        font-weight: 600;
        letter-spacing: -0.04em;
        color: #555;
        padding-top: 2px;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert {
        display: block;
        margin: 0 0 36px;
        padding: 8px 0 0;
        background: none;
        overflow: visible;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert > p {
        position: relative;
        top: auto;
        left: auto;
        display: inline-block;
        width: auto;
        height: auto;
        margin: 0;
        padding: 7px 14px;
        font-size: 12px;
        letter-spacing: 0.06em;
        line-height: 1.2;
        white-space: nowrap;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert > .b2c2-diff-row,
    .b2c2-page .b2c2-diff > ol > li.is-cert > .b2c2-diff-vs {
        display: grid;
        grid-template-columns: 0.5fr 1.5fr;
        grid-column: auto;
        grid-row: auto;
        gap: 8px;
        align-items: start;
        align-self: auto;
        height: auto;
        margin: 0;
        background: none;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert > .b2c2-diff-row {
        margin-top: -14px;
        padding: 28px 20px 8px;
        border-top: 1px solid #d2cdc4;
        background: #fff;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert > .b2c2-diff-vs {
        padding: 12px 20px 18px;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-brand {
        width: auto;
        padding-top: 8px;
        font-size: 22px;
        letter-spacing: 0.08em;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-other-label {
        padding-top: 2px;
        font-size: 18px;
        font-weight: 600;
        letter-spacing: -0.04em;
        color: #555;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-ours strong,
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-other b {
        font-size: 16px;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-ours span,
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-diff-other span {
        font-size: 16px;
        line-height: 1.7;
    }
    .b2c2-page .b2c2-diff > ol > li.is-cert .b2c2-certs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin: 18px 0 4px;
        width: 100%;
    }
    .b2c2-page .b2c2-stories {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px 16px;
    }
    .b2c2-certs figure {
        max-width: none;
    }
    .b2c2-admin a {
        height: 40px;
        padding: 0 16px;
        font-size: 14px;
    }
    .b2c2-copy {
        margin-left: 0;
        margin-right: 0;
        padding: 72px 160px 80px;
    }
    .b2c2-page .b2c2-copy .b2c2-mark {
        font-size: 24px;
        line-height: 1.65;
    }
    .b2c2-page .b2c2-copy blockquote {
        font-size: 18px;
        line-height: 1.7;
    }
    .b2c2-page .b2c2-copy > p:not(.b2c2-mark) {
        font-size: 20px;
        line-height: 1.8;
    }
    .b2c2-page .b2c2-copy p b {
        font-size: 24px;
    }
    .b2c2-hero .b2c2-pair {
        grid-column: 1 / -1;
        width: 70%;
        margin: 28px auto 0;
        gap: 0;
    }
    .b2c2-kicker {
        font-size: 36px;
    }
    .b2c2-sub {
        font-size: 26px;
    }
    .b2c2-atelier {
        width: 50%;
        margin: 0 auto 110px;
    }
    .b2c2-atelier-stage {
        padding: 80px 0 64px;
    }
    .b2c2-atelier-stage h2 {
        font-size: 32px;
        margin: 0 0 60px;
    }
    .b2c2-atelier-stage p {
        font-size: 15px;
    }
    .b2c2-atelier-bottles {
        max-width: 680px;
    }
    .b2c2-page .b2c2-atelier-bottles figcaption {
        font-size: 22px;
        line-height: 1.75;
        letter-spacing: 0.03em;
    }
    .b2c2-atelier-photos {
        width: 100%;
        margin: 0 auto;
    }
    .b2c2-atelier-note {
        max-width: 100%;
        margin: 32px auto 0;
        padding: 40px 48px 36px;
    }
    .b2c2-atelier-note p {
        font-size: 16px;
    }
    .b2c2-process {
        gap: 20px 18px;
        margin: 0;
    }
    .b2c2-process figcaption {
        font-size: 15px;
        margin-top: 12px;
    }
    .b2c2-diff > ol > li .b2c2-diff-main,
    .b2c2-diff > ol > li.is-process .b2c2-diff-main {
        margin-left: 0;
        margin-right: 0;
        padding: 28px 20px 18px;
    }
    .b2c2-diff > ol > li.is-process .b2c2-diff-ours strong {
        font-size: 16px;
    }
    .b2c2-stories {
        margin: 0;
    }
    .b2c2-compose {
        display: block;
        max-width: none;
        margin: 24px 0 0;
        padding: 16px 160px 28px;
    }
    .b2c2-compose h3 {
        margin: 8px 0 18px;
        font-size: 28px;
    }
    .b2c2-compose-kicker span {
        font-size: 18px;
        padding: 8px 16px;
    }
    .b2c2-compose-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 48px;
        align-items: start;
        width: 60%;
        margin: 0 auto;
    }
    .b2c2-compose-side {
        display: block;
    }
    .b2c2-compose-head,
    .b2c2-compose-stage,
    .b2c2-compose-bases {
        order: 0;
    }
    .b2c2-compose-stage {
        order: 0;
        margin: 0;
    }
    .b2c2-compose-stage img {
        width: 100%;
        height: auto;
        object-fit: contain;
        object-position: center;
    }
    .b2c2-compose-head span {
        font-size: 15px;
        padding: 12px 0;
    }
    .b2c2-compose-bases {
        padding-top: 8px;
        height: auto;
    }
    .b2c2-compose-pair {
        align-items: start;
    }
    .b2c2-compose-pair span {
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: start;
        justify-self: center;
        height: 120px;
        padding-top: 0;
        text-align: center;
        font-size: 50px;
    }
    .b2c2-compose-pair img {
        max-width: 120px;
    }
    .b2c2-compose-pair figcaption {
        font-size: 14px;
    }
    .b2c2-series-intro {
        grid-column: 1 / -1;
        margin-bottom: 0;
        padding: 24px 0 48px;
    }
    .b2c2-series-intro .b2c2-fleur {
        margin-bottom: 40px;
    }
    .b2c2-series-intro .b2c2-fleur img {
        width: 180px;
        max-width: 180px;
    }
    .b2c2-series-intro .b2c2-line {
        margin-bottom: 36px;
        font-size: 24px;
        line-height: 1.4;
        letter-spacing: 0.16em;
    }
    .b2c2-series-intro .b2c2-badge,
    .b2c2-series-head .b2c2-badge,
    .b2c2-label .b2c2-badge {
        margin-bottom: 36px;
        padding: 14px 34px;
        font-size: 18px;
    }
    .b2c2-series-intro .b2c2-cursive,
    .b2c2-series-head .b2c2-cursive {
        font-size: 26px;
        letter-spacing: 0.08em;
    }
    .b2c2-series-head {
        margin: 16px 0 36px;
    }
    .b2c2-pack {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 16px;
        align-items: start;
    }
    .b2c2-pack h2 {
        grid-column: 1 / -1;
    }
    .b2c2-pack .b2c2-pair {
        display: contents;
    }
    .b2c2-page .b2c2-pack figure img {
        width: 100%;
        aspect-ratio: 3 / 2;
        height: auto !important;
        object-fit: cover;
        object-position: center;
    }
    .b2c2-lineup {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px 20px;
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        align-items: start;
        padding-bottom: 110px;
    }
    .b2c2-lineup .b2c2-series-head {
        grid-column: 1 / -1;
        margin: 40px 0 8px;
    }
    .b2c2-scent {
        margin-bottom: 0;
        padding: 28px 28px 32px;
        background: #FDFDFC;
        height: 100%;
    }
    .b2c2-scent-top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "title type"
            "tags type";
        column-gap: 12px;
        row-gap: 6px;
        margin-bottom: 20px;
        align-items: start;
    }
    .b2c2-scent h3 {
        grid-area: title;
        font-size: 22px;
        padding-bottom: 2px;
        align-self: start;
        line-height: 1.15;
        width: max-content;
    }
    .b2c2-scent-top .b2c2-scent-tags {
        grid-area: tags;
        font-size: 15px;
        margin-bottom: 0;
        padding-bottom: 0;
        line-height: 1.3;
        align-self: start;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }
    .b2c2-scent-type {
        grid-area: type;
        align-self: start;
    }
    .b2c2-scent-type > span {
        font-size: 14px;
        margin-bottom: 8px;
    }
    .b2c2-scent .b2c2-scent-type p {
        padding: 10px 16px 9px 18px;
        font-size: 15px;
    }
    .b2c2-scent-body {
        display: flex;
        flex-direction: column;
        gap: 16px;
        align-items: stretch;
    }
    .b2c2-scent blockquote p {
        font-size: 16px;
        line-height: 1.7;
        text-align: center;
    }
    .b2c2-use-case {
        max-width: 720px;
        margin: 0 auto 56px;
        padding: 40px 0 12px;
    }
    .b2c2-use-title {
        margin-bottom: 28px;
        font-size: 28px;
    }
    .b2c2-use-case .b2c2-checks li {
        font-size: 15px;
        padding: 7px 0 7px 24px;
    }
    .b2c2-use-case .b2c2-pair {
        width: 50%;
        gap: 16px;
        margin: 0 auto 80px;
    }
    .b2c2-use-case .b2c2-mark {
        margin-bottom: 40px;
        font-size: 24px;
    }
    .b2c2-reviews {
        display: flex;
        gap: 32px;
        align-items: stretch;
        width: 60%;
        margin: 0 auto;
    }
    .b2c2-stars {
        font-size: 16px;
    }
    .b2c2-review-head cite {
        font-size: 14px;
    }
    .b2c2-use-case .b2c2-reviews li {
        display: flex;
        flex: 1 1 0;
        min-width: 0;
        flex-direction: column-reverse;
        justify-content: flex-end;
        gap: 24px;
        align-items: start;
        padding: 20px;
        margin-bottom: 0;
    }
    .b2c2-use-case .b2c2-reviews li > figure {
        width: 100%;
        margin: 0;
        aspect-ratio: 1 / 1;
    }
    .b2c2-use-case .b2c2-reviews p {
        font-size: 15px;
        line-height: 1.8;
    }
    .b2c2-label-highlight span {
        padding: 14px 22px;
        font-size: 16px;
    }
    .b2c2-label-pair {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 48px 56px;
        align-items: center;
        width: 70%;
        margin: 0 auto;
        margin-bottom: 48px;
    }
    .b2c2-label-hero,
    .b2c2-label-copy {
        margin: 0;
    }
    .b2c2-label-copy {
        background: #fff;
        padding: 20px;
        border-radius: 20px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .b2c2-label-copy .b2c2-note {
        font-size: 16px;
    }
    .b2c2-label-tabs {
        margin-top: 48px;
    }
    .b2c2-label-tabnav {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin: 0 0 36px;
    }
    .b2c2-label-tabnav button {
        margin: 0;
        padding: 12px 18px;
        border: 0;
        border-bottom: 2px solid transparent;
        background: none;
        color: #8a847c;
        font-family: "Noto Sans KR", sans-serif;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.3;
        cursor: pointer;
    }
    .b2c2-label-tabnav button.is-active {
        border-bottom-color: #2a2a2a;
        color: #2a2a2a;
        font-weight: 700;
    }
    .b2c2-label-tabs .b2c2-label-panel {
        display: none;
    }
    .b2c2-label-tabs .b2c2-label-panel.is-active {
        display: block;
    }
    .b2c2-label h3 {
        margin-bottom: 32px;
        font-size: 24px;
    }
    .b2c2-label-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px 24px;
        width: 60%;
        margin: 0 auto 40px;
    }
    .b2c2-label-list li {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin: 0;
        align-items: stretch;
    }
    .b2c2-page .b2c2-label-list figure {
        width: 100%;
        aspect-ratio: 1 / 1;
    }
    .b2c2-page .b2c2-label-list img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }
    .b2c2-label-list strong {
        font-size: 18px;
    }
    .b2c2-label-list p {
        font-size: 14px !important;
    }
    .b2c2-label-list b {
        font-size: 18px;
        margin-top: 16px;
    }
    .b2c2-copy-design {
        width: 60%;
        margin-left: auto;
        margin-right: auto;
    }
    .b2c2-copy-guide span {
        padding: 14px 22px;
        font-size: 15px;
    }
    .b2c2-copy-row {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .b2c2-copy-left {
        padding: 0;
        border: 0;
    }
    .b2c2-sample {
        width: 100%;
        font-size: 15px;
        margin-bottom: 28px;
        padding: 8px 16px;
    }
    .b2c2-fonts-title {
        font-size: 18px;
        padding: 22px 24px;
        margin-bottom: 0;
    }
    .b2c2-fonts {
        padding: 24px 32px 32px;
    }
    .b2c2-page .b2c2-fonts img {
        max-width: 720px;
    }
    .b2c2-mail-note {
        margin: 40px auto 56px;
        max-width: 720px;
    }
    .b2c2-page .b2c2-mail-note p {
        font-size: 16px;
    }
    .b2c2-mail a {
        font-size: 17px;
    }
    .b2c2-place-spec {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: stretch;
        width: 70%;
        margin: 0 auto 56px;
    }
    .b2c2-label-place {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
        width: 70%;
        margin: 0 auto;
        max-width: none;
        padding: 0 40px 0 0;
        border: none;
    }
    .b2c2-label-place h3 {
        margin-bottom: 40px;
    }
    .b2c2-place-pair {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-bottom: 32px;
    }
    .b2c2-label-place .b2c2-place-pair figure {
        width: 300px;
        max-width: 300px;
        overflow: hidden;
        border-radius: 50%;
        background: #fff;
        aspect-ratio: 1 / 1;
    }
    .b2c2-page .b2c2-place-pair img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        border-radius: 0;
    }
    .b2c2-place-pair figure:first-child img {
        transform: scale(1.12);
    }
    .b2c2-place-pair figure:nth-child(2) img {
        transform: scale(1.48);
    }
    .b2c2-place-pair figcaption {
        margin-top: 14px;
        font-size: 15px;
    }
    .b2c2-page .b2c2-place-key {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .b2c2-page .b2c2-label-place .b2c2-note {
        font-size: 15px;
    }
    .b2c2-spec-block {
        width: 70%;
        margin: 60px auto 0;
        max-width: none;
        padding: 28px 24px 28px 40px;
        background: none;
    }
    .b2c2-spec-block h3 {
        margin-bottom: 32px;
    }
    .b2c2-spec-block figure,
    .b2c2-spec-photo {
        max-width: 720px;
        margin-bottom: 0;
    }
    .b2c2-spec-h {
        font-size: 16px;
        gap: 10px;
    }
    .b2c2-spec-h i::before,
    .b2c2-spec-h i::after {
        width: 12px;
    }
    .b2c2-spec-notes {
        width: 100%;
        margin: 48px 0 0;
    }
    .b2c2-spec-notes h3 {
        margin-bottom: 32px;
    }
    .b2c2-spec-notes .b2c2-spec li {
        font-size: 15px;
        padding: 5px 0 5px 14px;
    }
    .b2c2-gift-block {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 56px;
        align-items: center;
        width: 70%;
        max-width: none;
        margin: 16px auto 110px;
    }
    .b2c2-gift-block .b2c2-gift-hero {
        display: contents;
    }
    .b2c2-gift-block .b2c2-gift-kicker,
    .b2c2-gift-block .b2c2-gift-hero h2,
    .b2c2-gift-block .b2c2-gift-sub {
        grid-column: 1 / -1;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
    .b2c2-gift-hero {
        margin: 0;
        max-width: none;
    }
    .b2c2-gift-block figure {
        grid-column: 1;
        grid-row: 4;
        margin: 0;
    }
    .b2c2-gift-block .b2c2-offer-copy {
        grid-column: 2;
        grid-row: 4;
        margin: 0;
        max-width: none;
        text-align: left;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .b2c2-gift-kicker {
        margin-bottom: 80px;
    }
    .b2c2-gift-kicker span {
        padding: 8px 22px 7px;
        font-size: 16px;
    }
    .b2c2-offer .b2c2-gift-hero h2 {
        font-size: 28px;
        margin-bottom: 14px;
    }
    .b2c2-page .b2c2-gift-hero .b2c2-gift-sub {
        font-size: 16px;
        margin-bottom: 32px;
    }
    .b2c2-offer-copy {
        margin: 36px auto 60px;
        max-width: 720px;
    }
    .b2c2-page .b2c2-offer-copy p {
        font-size: 18px;
        margin-bottom: 24px;
        line-height: 1.85;
    }
    .b2c2-page .b2c2-offer-copy .b2c2-note {
        font-size: 14px;
        margin-top: 8px;
    }
    .b2c2-program-intro {
        margin: 16px auto 48px;
        max-width: none;
    }
    .b2c2-offer .b2c2-program-intro h2 {
        font-size: 28px;
        margin-bottom: 14px;
    }
    .b2c2-page .b2c2-program-intro .b2c2-gift-sub {
        font-size: 16px;
        margin-bottom: 24px;
    }
    .b2c2-page .b2c2-program-intro .b2c2-program-lead {
        font-size: 16px;
        margin-bottom: 28px;
    }
    .b2c2-program-intro .b2c2-checks {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 0 56px;
        width: fit-content;
        max-width: 100%;
        margin: 0 auto;
        padding: 18px 48px;
    }
    .b2c2-program-intro .b2c2-checks li {
        font-size: 16px;
        padding: 0 0 0 22px;
        white-space: nowrap;
    }
    .b2c2-program-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 28px 32px;
        align-items: stretch;
        width: 70%;
        margin: 0 auto 24px;
    }
    .b2c2-program {
        display: flex;
        flex-direction: column;
        position: relative;
        margin: 0;
        max-width: none;
        padding: 36px 28px 40px;
        height: 100%;
        box-sizing: border-box;
    }
    .b2c2-offer .b2c2-program h3 {
        min-height: 2.8em;
        margin-bottom: 0;
        font-size: 26px;
        line-height: 1.4;
    }
    .b2c2-program > h3 + .b2c2-note {
        position: absolute;
        top: calc(36px + 26px * 1.4 * 2 + 8px);
        left: 28px;
        right: 28px;
        margin: 0;
        line-height: 1.4;
    }
    .b2c2-program figure {
        margin: 64px 0 32px;
        width: 100%;
        height: 320px;
        aspect-ratio: auto;
        overflow: hidden;
        flex: 0 0 auto;
    }
    .b2c2-page .b2c2-program figure img {
        display: block;
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }
    .b2c2-page .b2c2-program p {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .b2c2-page .b2c2-program .b2c2-note {
        font-size: 15px;
    }
    .b2c2-page .b2c2-offer > .b2c2-note-list {
        width: 70%;
        max-width: none;
        margin: 8px auto 40px;
        padding: 22px 0;
    }
    .b2c2-offer > .b2c2-note-list li {
        font-size: 14px;
        padding: 4px 0 4px 20px;
        white-space: nowrap;
    }
    .b2c2-offer > .b2c2-note-list br {
        display: none;
    }
    .b2c2-trial {
        width: 100vw;
        max-width: 100vw;
        margin: 16px calc(50% - 50vw) 0;
        padding: 80px max(36px, calc((100vw - 720px) / 2)) 8px;
        background: #FFFEFE;
        box-sizing: border-box;
    }
    .b2c2-offer .b2c2-trial h3 {
        margin-bottom: 28px;
        font-size: 26px;
    }
    .b2c2-trial .b2c2-gift-kicker {
        margin-bottom: 80px;
    }
    .b2c2-page .b2c2-gift-kicker {
        margin-bottom: 40px;
    }
    .b2c2-trial .b2c2-badge {
        margin-bottom: 32px;
        padding: 12px 28px;
        font-size: 16px;
    }
    .b2c2-page .b2c2-trial p {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .b2c2-trial .b2c2-kits figure {
        margin: 0 0 20px;
    }
    .b2c2-trial .b2c2-kits {
        gap: 16px 24px;
        margin-top: 60px;
        margin-bottom: 28px;
    }
    .b2c2-trial .b2c2-kits strong {
        font-size: 16px;
    }
    .b2c2-trial .b2c2-kits span {
        font-size: 15px;
    }
    .b2c2-trial .b2c2-kits b {
        font-size: 18px;
        margin-top: 14px;
    }
    .b2c2-page .b2c2-trial .b2c2-note {
        font-size: 14px;
    }
    .b2c2-apply {
        width: 100vw;
        max-width: 100vw;
        margin: 0 calc(50% - 50vw) 0;
        padding: 16px max(36px, calc((100vw - 720px) / 2)) 44px;
        background: #FFFEFE;
        box-sizing: border-box;
    }
    .b2c2-cta-mini {
        margin-bottom: 24px;
    }
    .b2c2-cta-mini a {
        max-width: 360px;
        height: 54px;
        border-radius: 27px;
        font-size: 17px;
    }
    .b2c2-page .b2c2-apply .b2c2-note {
        font-size: 14px;
    }
    .b2c2-tips {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 0;
        row-gap: 32px;
        width: 100vw;
        max-width: 100vw;
        margin: 0 calc(50% - 50vw) 110px;
        padding: 48px max(40px, calc((100vw - 70vw) / 2));
        background: #fff;
        box-sizing: border-box;
    }
    .b2c2-offer .b2c2-tips .b2c2-badge {
        grid-column: 1 / -1;
        margin-bottom: 40px;
        padding: 12px 28px;
        font-size: 14px;
    }
    .b2c2-tip {
        margin-bottom: 0;
        padding: 0 40px;
    }
    .b2c2-tips .b2c2-tip:first-of-type {
        padding-left: 0;
        padding-right: 40px;
        border-right: 1px solid #2a2a2a;
    }
    .b2c2-tips .b2c2-tip:last-of-type {
        padding-left: 40px;
        padding-right: 0;
    }
    .b2c2-offer .b2c2-tip h3 {
        margin-bottom: 28px;
        font-size: 20px;
    }
    .b2c2-tip-body {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .b2c2-page .b2c2-tip-body p {
        font-size: 15px;
        margin-bottom: 14px;
    }
    .b2c2-tip-body li {
        font-size: 14px;
        padding-bottom: 10px;
        padding-left: 14px;
    }
    .b2c2-page .b2c2-tips > .b2c2-note {
        grid-column: 1 / -1;
        font-size: 14px;
    }
    .b2c2-duo {
        margin: 16px auto 0;
        max-width: 720px;
    }
    .b2c2-offer .b2c2-duo .b2c2-badge {
        margin-bottom: 32px;
        padding: 12px 28px;
        font-size: 14px;
    }
    .b2c2-offer .b2c2-duo h2 {
        font-size: 32px;
        margin-bottom: 14px;
    }
    .b2c2-page .b2c2-duo .b2c2-duo-lead {
        font-size: 16px;
        margin-bottom: 28px;
    }
    .b2c2-duo-hero {
        margin: 0;
    }
    .b2c2-price {
        top: 28px;
        left: 32px;
    }
    .b2c2-price-old {
        font-size: 15px;
        margin-bottom: 14px;
        gap: 14px;
    }
    .b2c2-page .b2c2-price-label {
        font-size: 18px;
        margin-bottom: 8px;
    }
    .b2c2-page .b2c2-price-now {
        font-size: 40px;
    }
    .b2c2-page .b2c2-duo .b2c2-note {
        font-size: 14px;
    }
    .b2c2-ship {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
    .b2c2-ship h2 {
        font-size: 28px;
    }
    .b2c2-page .b2c2-ship p.b2c2-ship-lead {
        font-size: 16px;
        margin-bottom: 32px;
    }
    .b2c2-cal {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .b2c2-cal-head li {
        font-size: 13px;
        letter-spacing: 0.06em;
    }
    .b2c2-cal-grid {
        row-gap: 28px;
    }
    .b2c2-cal-grid li {
        font-size: 16px;
        min-height: 56px;
    }
    .b2c2-cal-grid li > span {
        width: 48px;
        height: 48px;
        font-size: 16px;
    }
    .b2c2-cal-grid .is-start span {
        width: 72px;
        height: 72px;
        font-size: 13px;
    }
    .b2c2-cal-grid .is-mark {
        min-height: 76px;
    }
    .b2c2-cal-grid .is-mark b {
        width: 48px;
        height: 48px;
        font-size: 16px;
    }
    .b2c2-cal-grid .is-mark em {
        font-size: 13px;
    }
    .b2c2-cal-grid .is-more {
        min-height: 48px;
        font-size: 20px;
    }
    .b2c2-page .b2c2-ship p.b2c2-note {
        font-size: 15px;
        text-align: center;
    }
    .b2c2-ship-table {
        margin: 0 40px 40px;
    }
    .b2c2-ship-table div {
        grid-template-columns: 180px 1fr;
        font-size: 15px;
        padding: 18px 12px;
        gap: 16px;
    }
    .b2c2-ship-contact {
        gap: 16px;
        margin: 0 40px 24px;
    }
    .b2c2-ship-contact a {
        min-height: 52px;
        padding: 8px 16px;
        font-size: 15px;
    }
    .b2c2-page .b2c2-ship .b2c2-ship-contact + p.b2c2-note {
        margin-left: 40px;
        margin-right: 40px;
        font-size: 14px;
    }
    .b2c1-head {
        display: none;
    }
    .b2c1-copy {
        width: auto;
        padding: 0;
    }
    .b2c1-eyebrow {
        font-size: 28px;
    }
    .b2c1-card {
        max-width: none;
        margin: 0;
        height: 100%;
    }
    .b2c1-page .b2c1-card img {
        height: 100% !important;
    }
    .b2c1-page .b2c1-card-ico {
        flex-basis: 90px;
        width: 90px;
        height: 90px;
    }
    .b2c1-page .b2c1-card-ico img {
        width: 90px !important;
        height: 90px !important;
        object-fit: contain;
    }
    .b2c1-card-panel {
        bottom: 20px;
    }
    .b2c1-card-panel strong {
        font-size: 20px;
    }
    .b2c1-card-panel span {
        font-size: 16px;
    }
    .b2c1-series {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        align-items: stretch;
    }
    .b2c1-rule {
        grid-column: 1 / -1;
        margin-bottom: 8px;
        font-size: 18px;
    }
    .b2c1-soon {
        min-height: 0;
        height: 100%;
        margin: 0;
    }
    .b2c1-page .b2c1-soon img {
        height: 100% !important;
    }
    .b2c1d1-page {
        max-width: 70%;
        margin: 0 auto;
        padding: 36px 48px 96px;
        background: none;
    }
    body.ss-site:has(.b2c1d1-page) #wrapper,
    body.ss-site:has(.b2c1d1-page) #container_wr,
    body.ss-site:has(.b2c1d1-page) #container,
    body.ss-site:has(.b2c1d1-page) #container.ss-page {
        background: #EDEDEC !important;
    }
    .b2c1d1-head {
        display: none;
    }
    .b2c1d1-copy {
        width: auto;
        max-width: none;
        padding: 0;
        position: relative;
        z-index: 1;
    }
    .b2c1d1-eyebrow {
        font-size: 32px;
        margin-bottom: 16px;
    }
    .b2c1d1-series {
        font-size: 16px;
    }
    body.ss-site:has(.b2c1d1-page) .ss-page-hero .b2c1d1-series {
        margin: 14px 0 4px;
    }
    .b2c1d1-en {
        font-size: 18px;
    }
    .b2c1d1-hero {
        display: none;
    }
    .b2c1d1-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: none;
        gap: 20px;
    }
    .b2c1d1-item,
    .b2c1d1-item.is-ready,
    .b2c1d1-item.is-soon {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 0;
        height: 100%;
        padding: 14px 14px 22px;
        border-radius: 22px;
        gap: 16px;
        text-align: center;
        box-shadow: 0 10px 24px rgba(40, 36, 30, 0.06);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .b2c1d1-item.is-ready:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 32px rgba(40, 36, 30, 0.1);
    }
    .b2c1d1-item div {
        text-align: center;
        padding: 0 10px;
    }
    .b2c1d1-item.is-ready figure,
    .b2c1d1-item.is-soon figure {
        flex: none;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        border-radius: 18px;
    }
    .b2c1d1-page .b2c1d1-item.is-ready img,
    .b2c1d1-page .b2c1d1-item.is-soon img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
    }
    .b2c1d1-item strong,
    .b2c1d1-item.is-soon strong {
        flex: none;
        font-size: 20px;
        letter-spacing: -0.04em;
        text-align: center;
    }
    .b2c1d1-item p {
        margin-top: 8px;
        font-size: 15px;
        line-height: 1.75;
        letter-spacing: -0.02em;
        color: #4f4b46;
    }
    .b2c1d1-item b {
        display: none;
    }
    .b2c1d1-page h1 {
        font-size: 48px;
        line-height: 1.28;
    }
    .b2c1-page h1,
    .b2e1-page h1,
    .sr-page h1,
    .b2c2-page h1 {
        font-size: 40px;
        line-height: 1.35;
    }
    .b2c1-page p,
    .b2e1-page p,
    .sr-page p {
        font-size: 15px;
        line-height: 1.8;
    }
    .b2c2-page p {
        font-size: 20px;
        line-height: 1.8;
    }
    .b2c2-page figure {
        max-width: 100%;
    }
    .b2c2-page figcaption {
        font-size: 16px;
    }
    .b2c2-page .b2c2-kicker {
        font-size: 40px;
    }
    .b2c2-page .b2c2-sub {
        font-size: 26px;
    }
    .b2c2-page .b2c2-ornament {
        font-size: 32px;
    }
    .b2c2-page .b2c2-q {
        font-size: 36px;
        letter-spacing: -0.05em;
    }
    .b2c2-diff h3,
    .b2c2-offer h3,
    .b2c2-use h3 {
        font-size: 26px;
    }
    .b2c2-hero h1,
    .b2c2-diff h2,
    .b2c2-pack h2,
    .b2c2-lineup h2,
    .b2c2-label h2,
    .b2c2-offer h2,
    .b2c2-ship h2,
    .b2c2-faq h2,
    .b2c2-use h2,
    .b2c2-notice h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }
    .b2c2-faq {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
    .b2c2-faq .b2c2-badge {
        margin-bottom: 32px;
        padding: 12px 28px;
        font-size: 15px;
    }
    .b2c2-faq h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }
    .b2c2-faq dl {
        display: block;
        width: 70%;
        margin: 0 auto;
    }
    .b2c2-faq-list > div {
        margin-bottom: 36px;
    }
    .b2c2-faq dt {
        font-size: 18px;
        margin-bottom: 14px;
    }
    .b2c2-faq dd {
        font-size: 15px;
        line-height: 1.85;
        padding-left: 24px;
    }
    .b2c2-use {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0;
    }
    .b2c2-use .b2c2-badge {
        margin-bottom: 32px;
        padding: 12px 28px;
        font-size: 14px;
        text-align: center;
    }
    .b2c2-use h2 {
        font-size: 28px;
        margin-bottom: 40px;
    }
    .b2c2-use ol {
        gap: 40px;
        margin-bottom: 48px;
    }
    .b2c2-use ol > li {
        grid-template-columns: 140px 1fr;
        gap: 28px;
    }
    .b2c2-use-ico {
        width: 140px;
    }
    .b2c2-use ol strong {
        font-size: 18px;
        margin-bottom: 12px;
    }
    .b2c2-page .b2c2-use ol p {
        font-size: 15px;
    }
    .b2c2-care {
        gap: 44px;
    }
    .b2c2-page > section.b2c2-care-sec {
        background-color: #F8F8F8;
        padding: 70px 0;
    }
    .b2c2-page > section.b2c2-notice {
        background-color: #FEFEFE;
        padding: 70px 0;
        margin-bottom: 0;
    }
    .b2c2-care > li {
        grid-template-columns: 140px 1fr;
        gap: 28px;
    }
    .b2c2-care strong {
        font-size: 18px;
        margin-bottom: 14px;
    }
    .b2c2-page .b2c2-care p {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .b2c2-notice {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
    .b2c2-notice .b2c2-badge {
        margin-bottom: 32px;
        padding: 12px 28px;
        font-size: 14px;
        text-align: center;
    }
    .b2c2-page .b2c2-notice .b2c2-warn {
        font-size: 16px;
        margin-bottom: 40px;
    }
    .b2c2-notice > ol > li {
        grid-template-columns: 106px 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }
    .b2c2-notice-ico {
        width: 72px;
    }
    .b2c2-notice > ol > li strong {
        font-size: 18px;
        margin-bottom: 16px;
    }
    .b2c2-page .b2c2-notice > ol > li p,
    .b2c2-page .b2c2-notice > ol ul li {
        font-size: 15px;
    }
    .b2c2-page > section:nth-of-type(even) {
        background: none;
    }
    .b2c2-hero,
    .b2c2-copy,
    .b2c2-diff,
    .b2c2-pack,
    .b2c2-lineup,
    .b2c2-use-case,
    .b2c2-offer,
    .b2c2-ship,
    .b2c2-faq {
        margin-bottom: 110px;
    }
    .b2c2-page > section.b2c2-use,
    .b2c2-page > section.b2c2-care-sec,
    .b2c2-page > section.b2c2-notice {
        margin-bottom: 0;
    }
    .b2c2-diff,
    .b2c2-use,
    .b2c2-care-sec,
    .b2c2-notice {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }
    .b2c2-page > section.b2c2-diff,
    .b2c2-page > section.b2c2-use {
        padding: 70px 0;
    }
    .b2c2-page > section.b2c2-diff {
        padding-bottom: 0;
    }
    .b2c2-diff > h2,
    .b2c2-use > h2,
    .b2c2-notice > h2,
    .b2c2-notice > .b2c2-warn {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }
    .b2c2-page .b2c2-badge {
        width: 240px;
    }
    .b2c2-page .b2c2-q,
    .b2c2-diff > .b2c2-q {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }
    .b2c2-page .b2c2-diff ol,
    .b2c2-page .b2c2-use ol,
    .b2c2-page .b2c2-care-sec .b2c2-care,
    .b2c2-page .b2c2-notice ol {
        width: 50%;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 70px;
        margin: 0 auto;
    }
    .b2c2-pack,
    .b2c2-lineup,
    .b2c2-use-case,
    .b2c2-label,
    .b2c2-offer,
    .b2c2-ship,
    .b2c2-faq {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 160px;
        padding-right: 160px;
    }
    .b2c2-page > section.b2c2-ship {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: max(20px, calc((100vw - 60vw) / 2));
        padding-right: max(20px, calc((100vw - 60vw) / 2));
        background-color: #fff;
        box-sizing: border-box;
    }
    .b2c2-page > section.b2c2-lineup {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 20%;
        padding-right: 20%;
        box-sizing: border-box;
    }
    .b2c2-page > section.b2c2-pack {
        width: 50%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
        background: none;
    }
    .b2c2-page > section.b2c2-label {
        padding: 70px 160px;
        margin-bottom: 0;
    }
    .b2c2-page > section.b2c2-offer {
        padding: 70px 160px;
    }
    #ctt.ss-legal {
        max-width: 760px;
    }
    body.ss-site:has(.ss-legal) #container_title {
        padding-top: 48px;
        margin-bottom: 36px;
        font-size: 40px;
        font-weight: 600;
        letter-spacing: -0.05em;
        line-height: 1.3;
    }
    body.ss-site #ctt.ss-legal #ctt_con,
    body.ss-site #ctt.ss-legal #ctt_con p,
    body.ss-site #ctt.ss-legal #ctt_con span,
    body.ss-site #ctt.ss-legal #ctt_con font,
    body.ss-site #ctt.ss-legal #ctt_con b,
    body.ss-site #ctt.ss-legal #ctt_con strong {
        font-family: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif !important;
        font-size: 17px !important;
        font-weight: 400 !important;
        letter-spacing: -0.02em !important;
        line-height: 1.9 !important;
        color: #555 !important;
        background: transparent !important;
    }
    body.ss-site #ctt.ss-legal #ctt_con p.is-sec,
    body.ss-site #ctt.ss-legal #ctt_con p.is-sec span,
    body.ss-site #ctt.ss-legal #ctt_con p.is-sec font {
        font-family: "Noto Serif KR", "Nanum Myeongjo", serif !important;
        font-size: 22px !important;
        font-weight: 600 !important;
        letter-spacing: -0.04em !important;
        line-height: 1.45 !important;
        color: #2c2c2c !important;
    }

    .gc-faq,
    .gc-faq-head {
        max-width: 840px;
    }
    .gc-faq-q {
        font-size: 16px;
        padding: 20px 22px;
    }

    body.ss-index .ss-hero {
        display: flex;
        flex-direction: column;

        column-gap: 48px;
        padding: var(--ss-header-h, 88px) max(40px, calc((100% - 1200px) / 2)) 48px;
        padding: 138px 20%;
    }
    body.ss-index .ss-intro {
        max-width: none;
        margin: 0;
        padding: 0 0 36px;
    }
    body.ss-index .ss-intro-en {
        font-size: 28px;
        margin-bottom: 20px;
    }
    body.ss-index .ss-intro-ko {
        font-size: 18px;
        line-height: 1.7;
        margin-bottom: 20px;
    }
    body.ss-index .ss-intro-brand {
        font-size: 54px;
        line-height: 1.2;
    }
    body.ss-index .ss-hero-grid {
        max-width: none;
        margin: 0;
        padding: 0;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
    body.ss-index .ss-hero-feature figure {
        aspect-ratio: 16 / 11;
        border-radius: 18px;
    }
    body.ss-index .ss-hero-panel {
        width: calc(100% - 32px);
        padding: 16px 18px;
        border-radius: 14px;
        gap: 12px;
        bottom: 18px;
    }
    body.ss-index .ss-hero-panel strong {
        font-size: 20px;
    }
    body.ss-index .ss-hero-panel > div span {
        font-size: 16px;
        white-space: normal;
    }
    body.ss-index .ss-phrase {
        max-width: 840px;
        padding: 80px 24px;
    }
    body.ss-index .ss-phrase-ko {
        font-size: 20px;
        line-height: 1.8;
    }
    body.ss-index .ss-phrase-en {
        font-size: 20px;
        letter-spacing: 0.16em;
    }
    body.ss-index .ss-services {
        max-width: 1440px;
        display: flex;
        padding: 96px 0;
        gap: 20px;
    }
    body.ss-index .ss-class-thumbs,
    body.ss-index .ss-tile-thumb {
        aspect-ratio: 16 / 10;
    }
    body.ss-index .ss-class-card-top strong,
    body.ss-index .ss-tile .ss-class-card-top strong {
        font-size: 22px;
    }
    body.ss-index .ss-class-card-top > div span {
        font-size: 16px;
        line-height: 1.7;
    }
    .ss-phrase-rule img {
        width: 48px;
        height: auto;
        flex-basis: 48px;
    }
    .ss-footer-info {
        font-size: 14px;
    }
    .ss-copy {
        font-size: 16px;
    }

    .ss-class-card-top{
        display: flex;
        flex-direction:column;
    }

    .ss-class-block, 
    .ss-tile{
        width: calc(100% / 4 - 10px);
    }

    .ss-class-card-top > div{
        width: 100%;
        text-align: center;
    }
    .ss-class-ico{
        flex: auto;
    }

    .b1c1-class-banner{
        height: 500px;
    }

    .b1c1-page .gc-b1-price, .b1c1-page .gc-b1-faq, .b1c1-page .gc-b1-reviews, .b1c1-page .gc-b1-cases{
        max-width: 1440px;
        margin: 0 auto;
    }
    .gc-b1-price-table thead th {
        font-size: 16px;
    }
    .gc-b1-price header p,
    .gc-b1-price-table tbody th,
    .gc-b1-price-table tbody td {
        font-size: 16px;
    }
    .gc-b1-price-notes li {
        font-size: 14px;
    }
    .gc-b1-price-table-wrap {
        width: 70%;
        margin: 0 auto;
    }
    .gc-b1-price-notes {
        width: 70%;
        margin: 16px auto 0;
        box-sizing: border-box;
    }

    .b1c1-guide h2, .b1c1-works h2, .b1c1-instructor h2{
        font-size: 28px !important;
    }
    body.ss-site .ss-crumb {
        position: fixed;
        top: 0;
        left: 0;
        right: auto;
        z-index: 92;
        display: none !important;
        align-items: center;
        flex-wrap: nowrap;
        width: calc(50% - 120px);
        max-width: none;
        height: var(--ss-header-h, 88px);
        margin: 0;
        padding-top: 6px;
        padding-bottom: 6px;
        padding-left: 12% !important;
        padding-right: 12% !important;
        min-height: 0;
        background: transparent;
        border-bottom: 0;
        font-size: 14px;
        line-height: 1.3;
        box-sizing: border-box;
        overflow: visible;
        pointer-events: none;
    }
    body.ss-site .ss-crumb a,
    body.ss-site .ss-crumb span {
        white-space: nowrap;
        pointer-events: auto;
    }
    body.ss-site:has(.gc-b1) .ss-crumb {
        max-width: none;
        margin: 0;
        padding-top: 6px;
        padding-bottom: 6px;
        padding-left: 12% !important;
        padding-right: 12% !important;
        background: transparent;
    }
    .ss-page-hero {
        display: block;
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        padding: calc(var(--ss-header-h, 88px) + 48px) 40px 48px;
        text-align: center;
        background:
            linear-gradient(rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.72)),
            url("../img/home-hero-bg.jpg") center / cover no-repeat;
    }
    body.ss-site:has(.gc-b1) .ss-page-hero {
        display: block;
        position: relative;
    }
    body.ss-site:has(.gc-b1) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 28px;
        font-weight: 400;
        font-style: normal;
        line-height: 1.2;
        letter-spacing: 0.02em;
        color: #c5bdb8;
    }
    body.ss-site:has(.ss-resources-page) .ss-page-hero-kicker {
        font-family: "Cormorant Garamond", serif;
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.16em;
        color: #7a756e;
    }
    .ss-page-hero-kicker {
        margin: 0 0 12px;
        font-family: "Great Vibes", cursive;
        font-size: 22px;
        font-style: normal;
        font-weight: 400;
        letter-spacing: 0.04em;
        color: #b7aea6;
    }
    body.ss-site:has(.b1c1-page) .ss-page-hero {
        padding-bottom: 40px;
    }
    body.ss-site:has(.b1c1-page) .ss-page-hero-kicker {
        font-size: 40px;
        letter-spacing: 0.02em;
        color: #c4bbb2;
    }
    body.ss-site:has(.b1c2-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 28px;
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: 0.02em;
        color: #c4bbb2;
    }
    body.ss-site:has(.b2-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 22px;
        font-weight: 400;
        font-style: normal;
        line-height: 1.2;
        letter-spacing: 0.02em;
        color: #c5bdb8;
    }
    body.ss-site:has(.b2c1-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 28px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #cfc8bf;
    }
    body.ss-site:has(.b2c1d1-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 40px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.01em;
        color: #b8b8b8;
    }
    body.ss-site:has(.b2e1-page) .ss-page-hero-kicker {
        font-family: "Cormorant Garamond", serif;
        font-size: 22px;
        font-weight: 500;
        font-style: normal;
        line-height: 1.2;
        letter-spacing: 0.04em;
        color: #b7aea6;
    }
    body.ss-site:has(.b2e1-page) .ss-page-hero-lead {
        margin-top: 10px;
        font-family: "Great Vibes", cursive;
        font-size: 32px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.01em;
        color: #b8b8b8;
    }
    body.ss-site:has(.b2c2-page) .ss-page-hero-kicker {
        font-family: "Cormorant Garamond", serif;
        font-style: italic;
        font-size: 28px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.04em;
        color: #b5b5b5;
    }
    body.ss-site:has(.ss-story-page) .ss-page-hero-kicker {
        font-family: "Cormorant Garamond", serif;
        font-style: normal;
        font-size: 18px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0.32em;
        text-transform: uppercase;
        color: #b7b3ad;
    }
    .ss-story-page .ss-simple-kicker,
    .ss-story-page > h2,
    .ss-story-page .ss-simple-lead {
        display: none;
    }
    .ss-simple-list span {
        font-size: 16px;
    }
    body.ss-site:has(.sr-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 22px;
        font-weight: 400;
        font-style: normal;
        line-height: 1.2;
        letter-spacing: 0.02em;
        color: #d4b8bc;
    }
    body.ss-site:has(.c4-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 28px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #cfc8bf;
    }
    body.ss-site:has(.c4-page) .ss-page-hero-kicker span {
        font-size: 0.78em;
        letter-spacing: 0.04em;
    }
    body.ss-site:has(.c3-page) .ss-page-hero-kicker {
        font-family: "Great Vibes", cursive;
        font-size: 34px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0.02em;
        color: #b7aea6;
    }
    body.ss-site:has(.d1-page) .ss-page-hero-kicker.is-d1,
    body.ss-site:has(.d2-page) .ss-page-hero-kicker.is-d1,
    body.ss-site:has(.d3-page) .ss-page-hero-kicker.is-d1,
    body.ss-site:has(.d5-page) .ss-page-hero-kicker.is-d1,
    body.ss-site:has(.gc-page) .ss-page-hero-kicker.is-d1 {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        margin: 0 0 16px;
        font-family: "Noto Sans KR", sans-serif;
        font-size: 16px;
        font-weight: 400;
        letter-spacing: 0;
        color: inherit;
    }
    body.ss-site:has(.d1-page) .ss-page-hero-kicker.is-d1 .d1-pill {
        font-family: "Noto Sans KR", sans-serif;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.14em;
        background: #5d6b3f;
        color: #fff;
    }
    body.ss-site:has(.d1-page) .ss-page-hero-kicker.is-d1 .d1-script,
    body.ss-site:has(.d2-page) .ss-page-hero-kicker.is-d1 .d1-script,
    body.ss-site:has(.d3-page) .ss-page-hero-kicker.is-d1 .d1-script,
    body.ss-site:has(.d5-page) .ss-page-hero-kicker.is-d1 .d1-script,
    body.ss-site:has(.gc-page) .ss-page-hero-kicker.is-d1 .d1-script {
        margin: 0;
        font-family: "Great Vibes", cursive;
        font-size: 52px;
        font-weight: 400;
        line-height: 1;
        color: #6f7d4e;
    }
    body.ss-site:has(.d5-page) .ss-page-hero-kicker.is-d1 .d1-script {
        color: #c4bbb4;
    }
    .ss-page-hero-title {
        margin: 0;
        font-family: "Noto Serif KR", "Nanum Myeongjo", serif;
        font-size: 36px;
        font-weight: 600;
        line-height: 1.35;
        letter-spacing: -0.04em;
        color: #2a2a2a;
    }
    .ss-page-hero-lead {
        margin: 14px 0 0;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: -0.03em;
        color: #6a6560;
    }
    .ss-page-hero-crumb {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 6px;
        margin-top: 28px;
        color: #6a6560;
        font-size: 14px;
        letter-spacing: -0.03em;
    }
    .ss-page-hero-crumb a,
    .ss-page-hero-crumb span {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: inherit;
        text-decoration: none;
        white-space: nowrap;
    }
    .ss-page-hero-crumb a:hover {
        color: #2a2a2a;
    }
    .ss-page-hero-crumb .material-symbols-outlined {
        font-size: 16px;
    }

    .ss-simple-page {
        padding-top: calc(var(--ss-header-h, 88px) + 64px);
    }

    .ss-footer-inner {
        max-width: 1440px;
    }

    .b2e1-page {
        max-width: 1120px;
        margin: 0 auto;
        padding: 0 48px 80px;
        background: none;
    }
    .b2e1-head {
        width: 100vw;
        max-width: 100vw;
        margin: 0 calc(50% - 50vw);
        padding: 40px calc(max(48px, (100vw - 1024px) / 2) + 8px) 28px;
    }
    .b2e1-badge,
    .b2e1-page .b2e1-eyebrow {
        display: none;
    }
    .b2e1-panel {
        padding: 28px 32px 32px;
    }
    .b2e1-top {
        gap: 20px;
        margin-bottom: 24px;
    }
    .b2e1-page .b2e1-top h1 {
        width: auto;
        margin: 0;
        padding: 10px 18px;
        font-size: 56px;
        line-height: 0.9;
        letter-spacing: 0.04em;
    }
    .b2e1-page p.b2e1-tags {
        margin-bottom: 10px;
        font-size: 16px;
    }
    .b2e1-type {
        padding: 10px 16px 12px;
    }
    .b2e1-type > span {
        font-size: 12px;
    }
    .b2e1-page .b2e1-type p {
        font-size: 15px;
    }
    .b2e1-hero {
        grid-template-columns: 1.35fr 0.65fr;
        gap: 40px;
    }
    .b2e1-page .b2e1-hero img {
        height: 280px !important;
    }
    .b2e1-page .b2e1-hero blockquote p {
        font-size: 22px;
        line-height: 1.65;
    }
    .b2e1-lower {
        margin: 0;
        padding: 48px 8px 56px;
        background: none;
    }
    .b2e1-tale h2 {
        margin-bottom: 24px;
        font-size: 28px;
        line-height: 1.45;
    }
    .b2e1-tale-card {
        grid-template-columns: 1.05fr 0.95fr;
        gap: 40px;
        align-items: center;
    }
    .b2e1-page .b2e1-tale-card img {
        height: 280px !important;
    }
    .b2e1-tale-card h3 {
        font-size: 30px;
        margin-bottom: 14px;
    }
    .b2e1-tale-card h3 span {
        font-size: 20px;
    }
    .b2e1-page .b2e1-tale-card p {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 12px;
    }
    .b2e1-tale-card a {
        height: 40px;
        margin-top: 24px;
        margin-left: 0;
        padding: 0 18px;
        font-size: 20px;
        transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }
    .b2e1-tale-card a:hover {
        background: #d4cdc4;
        border-color: #c4bbb2;
        color: #3a3a3a;
    }
    .b2e1-more {
        margin-top: 110px;
    }
    .b2e1-more h2 {
        margin-bottom: 20px;
        font-size: 28px;
    }
    .b2e1-more ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
    .b2e1-more article {
        min-height: 120px;
        padding: 12px;
        gap: 16px;
    }
    .b2e1-more figure {
        flex-basis: 160px;
        width: 160px;
    }
    .b2e1-more strong {
        font-size: 20px;
    }

    .sr-soon {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 28px 32px;
        align-items: start;
        width: 70%;
        margin: 0 auto;
    }
    .sr-soon article {
        margin: 0;
    }
    .sr-soon figure {
        position: relative;
        aspect-ratio: 3 / 2;
    }
    .sr-page .sr-soon img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }
    .sr-soon h3 {
        margin-bottom: 30px;
        font-size: 18px;
    }
    .sr-soon h3 span {
        font-size: 16px;
    }

    .ss-ask {
        left: auto;
        right: 18px;
        bottom: auto;
        top: 50%;
        transform: translateY(-50%);
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 112px;
        padding: 0;
        overflow: hidden;
        background: #fff;
        border: 0;
        border-radius: 16px;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
    }
    .ss-ask-panel {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 0;
        width: 100%;
    }
    .ss-ask-panel a,
    .ss-ask-panel button,
    .ss-ask-shop .ss-ask-panel a,
    .ss-ask-shop .ss-ask-panel button {
        flex-direction: column;
        gap: 6px;
        min-height: 76px;
        padding: 10px 6px;
        border: 0;
        border-top: 1px solid #ececec;
        border-radius: 0;
        background: #fff;
        color: #111;
        font-size: 14px;
        font-weight: 700;
        box-shadow: none;
        transition: background 0.2s ease, color 0.2s ease;
    }
    .ss-ask-panel a:hover,
    .ss-ask-panel button:hover,
    .ss-ask-top:hover {
        background: #111;
        color: #fff;
    }
    .ss-ask-toggle,
    .ss-ask-shop .ss-ask-buy,
    .ss-ask-shop .ss-ask-toggle {
        order: -1;
        flex-direction: column;
        gap: 6px;
        width: 100%;
        min-width: 0;
        min-height: 76px;
        padding: 12px 8px;
        border: 0;
        border-radius: 0;
        background: #111;
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.35;
        white-space: normal;
        text-align: center;
        box-shadow: none;
        transition: background 0.2s ease, color 0.2s ease;
    }
    .ss-ask-shop .ss-ask-buy:hover {
        background: #fff;
        color: #111;
    }
    .ss-ask-shop .ss-ask-bar {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        order: -1;
        gap: 0;
        width: 100%;
        background: transparent;
    }
    .ss-ask-shop .ss-ask-toggle {
        display: none;
    }
    .ss-ask-pc-break {
        display: block;
    }
    .ss-ask-pc-hide {
        display: none;
    }
    .ss-ask-top {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        width: 100%;
        min-height: 64px;
        padding: 8px 6px 10px;
        border: 0;
        border-top: 1px solid #ececec;
        background: #fff;
        color: #111;
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.04em;
        cursor: pointer;
        transition: background 0.2s ease, color 0.2s ease;
    }
    .ss-ask-top svg {
        width: 18px;
        height: 18px;
    }
    body:has(.ss-ask) {
        padding-bottom: 0;
    }
    nav.ss-crumb {
        display: none !important;
    }
}

