*, *::before, *::after {
            box-sizing: border-box;
        }

        html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            min-height: 100%;
            background: var(--site-background);
        }

        body {
            color: var(--text);
            font-family: var(--font-main);
            font-size: 1.0625rem;
            line-height: 1.9;
            letter-spacing: 0.03em;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        body.menu-open {
            overflow: hidden;
        }

        body.lightbox-open {
            overflow: hidden;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: opacity 0.3s ease, color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
        }

        a:hover {
            opacity: 0.75;
        }

        img {
            display: block;
            max-width: 100%;
            height: auto;
            border: 0;
        }

        button,
        input,
        textarea,
        select {
            font: inherit;
        }

        button {
            cursor: pointer;
        }

        ul,
        ol {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        h1,
        h2,
        h3,
        h4,
        p,
        figure {
            margin: 0;
        }

        .shell {
            width: min(calc(100% - 48px), var(--container));
            margin: 0 auto;
        }

        .shell--narrow {
            width: min(calc(100% - 48px), var(--narrow));
            margin: 0 auto;
        }

        .font-ja {
            font-family: var(--font-main);
        }

        .font-en {
            font-family: var(--font-eng);
        }

        .u-hidden {
            display: none !important;
        }

        .fade-up {
            opacity: 0;
            transform: translateY(24px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }

        .fade-up.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .eyebrow {
            font-family: var(--font-eng);
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 0.28em;
            text-transform: uppercase;
            color: var(--sub);
        }

        .section-title,
        .page-title {
            font-family: var(--font-eng);
            letter-spacing: 0.08em;
            text-transform: uppercase;
            line-height: 1.05;
        }

        .section-title {
            font-size: clamp(2rem, 5vw, 3.6rem);
            font-weight: 700;
        }

        .page-title {
            font-size: clamp(2.2rem, 5vw, 4.2rem);
            font-weight: 500;
        }

        .section-copy,
        .page-copy {
            max-width: 580px;
            color: var(--sub);
        }

        .line-button,
        .section-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            min-height: 48px;
            padding: 0 28px;
            border: 1px solid var(--accent);
            background: transparent;
            color: var(--accent);
            font-family: var(--font-eng);
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .line-button:hover,
        .section-link:hover {
            background: var(--accent);
            color: var(--site-background);
            opacity: 1;
        }

        .line-button::after,
        .section-link::after {
            content: "";
            width: 8px;
            height: 8px;
            border-top: 1px solid currentColor;
            border-right: 1px solid currentColor;
            transform: rotate(45deg);
        }

        #i18 {
            position: absolute;
            top: calc(var(--information-banner-height, 0px) + 14px);
            left: 16px;
            z-index: 1400;
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        #i18 .lang,
        #i18 .currency {
            position: relative;
        }

        #i18 select {
            appearance: none;
            min-width: 120px;
            padding: 8px 36px 8px 14px;
            border: 1px solid rgba(17, 17, 17, 0.12);
            background: rgba(255, 255, 255, 0.92);
            color: var(--text);
            border-radius: 999px;
            font-size: 11px;
            line-height: 1.4;
        }

        #i18 .lang::after,
        #i18 .currency::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 14px;
            width: 7px;
            height: 7px;
            border-right: 1px solid currentColor;
            border-bottom: 1px solid currentColor;
            transform: translateY(-65%) rotate(45deg);
            pointer-events: none;
        }

        #baseMenu {
            position: absolute;
            top: calc(var(--information-banner-height, 0px) + 28px);
            right: 52px;
            z-index: 1400;
        }

        #baseMenu > ul {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 0;
            border: 0;
            background: transparent;
            border-radius: 0;
            backdrop-filter: none;
        }

        #baseMenu > ul > li {
            margin: 0;
        }

        #baseMenu > ul > li a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            border-radius: 0;
            transform: translateY(1px);
        }

        #baseMenu > ul > li img,
        #baseMenu > ul > li svg,
        #baseMenu > ul > li object,
        #baseMenu > ul > li i {
            width: 14px !important;
            height: 14px !important;
            max-width: 14px !important;
            max-height: 14px !important;
            font-size: 14px !important;
        }

        #baseMenu > ul > li.base img,
        #baseMenu > ul > li.base svg,
        #baseMenu > ul > li.base object,
        #baseMenu > ul > li.base i {
            width: 14px !important;
            height: 14px !important;
            max-width: 14px !important;
            max-height: 14px !important;
            font-size: 14px !important;
        }

        #baseMenu > ul > li.cart a {
            background: var(--cart-icon-bg) !important;
            border-radius: 50% !important;
            width: 40px;
            height: 40px;
        }

        .informationBanner {
            background: var(--information-banner-background-color) !important;
            color: var(--information-banner-text-color) !important;
            border-bottom: 1px solid var(--information-banner-border-color) !important;
        }

        .informationBanner > * {
            background: var(--information-banner-background-color) !important;
            border-color: var(--information-banner-border-color) !important;
        }

        .informationBanner a,
        .informationBanner button,
        .informationBanner p,
        .informationBanner span,
        .informationBanner div,
        .informationBanner li {
            color: var(--information-banner-text-color) !important;
            border-color: var(--information-banner-border-color) !important;
        }

        .site-header {
            position: relative;
            z-index: 1300;
            min-height: var(--header-height);
            border-bottom: 1px solid transparent;
            background: var(--header-bg, #ffffff);
        }

        .site-header.is-scrolled {
            border-color: var(--line);
        }

        .header-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            min-height: var(--header-height);
        }

        .brand-logo {
            position: relative;
            z-index: 2;
            display: inline-flex;
            align-items: center;
            max-width: 220px;
            color: initial;
            font-family: var(--font-eng);
            font-size: 1.05rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .brand-logo img {
            width: auto;
            max-height: 34px;
        }

        .menu-toggle {
            position: relative;
            z-index: 2;
            display: none;
            width: 40px;
            height: 40px;
            padding: 0;
            border: 0;
            background: transparent;
        }

        .menu-toggle span {
            position: absolute;
            left: 8px;
            width: 24px;
            height: 1px;
            background: var(--accent);
            transition: transform 0.3s ease, opacity 0.3s ease, top 0.3s ease, bottom 0.3s ease;
        }

        .menu-toggle span:nth-child(1) {
            top: 13px;
        }

        .menu-toggle span:nth-child(2) {
            top: 19px;
        }

        .menu-toggle span:nth-child(3) {
            bottom: 13px;
        }

        .menu-toggle.is-active span:nth-child(1) {
            top: 19px;
            transform: rotate(45deg);
        }

        .menu-toggle.is-active span:nth-child(2) {
            opacity: 0;
        }

        .menu-toggle.is-active span:nth-child(3) {
            bottom: 20px;
            transform: rotate(-45deg);
        }

        .header-nav-wrap {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 28px;
            flex: 1;
            padding-right: 44px;
        }

        .header-nav {
            display: flex;
            align-items: center;
        }

        .nav-list {
            display: flex;
            align-items: center;
            gap: 18px;
        }

        .nav-list a,
        .category-menu__trigger {
            border: 0;
            padding: 0;
            background: transparent;
            color: var(--text);
            font-family: var(--font-eng);
            font-size: 1.08rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            white-space: nowrap;
        }

        .gallery-search {
            display: flex;
            align-items: center;
            gap: 10px;
            min-width: 0;
            padding: 0 14px;
            border: 1px solid var(--line);
            background: #ffffff;
            height: 48px;
        }

        .gallery-search input {
            width: 100%;
            border: 0;
            background: transparent;
            color: var(--text);
            font-size: 0.95rem;
            outline: none;
        }

        .gallery-search input::placeholder {
            color: #9a9a95;
        }

        .gallery-search input,
        .gallery-search input::placeholder {
            color: var(--gallery-search-color);
            opacity: 1;
        }

        .gallery-search button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
            padding: 0;
            border: 0;
            background: transparent;
        }

        .search-icon {
            position: relative;
            display: inline-block;
            width: 13px;
            height: 13px;
            border: 1px solid currentColor;
            border-radius: 50%;
        }

        .search-icon::after {
            content: "";
            position: absolute;
            right: -4px;
            bottom: -3px;
            width: 5px;
            height: 1px;
            background: currentColor;
            transform: rotate(45deg);
            transform-origin: right center;
        }

        .category-menu {
            position: relative;
        }

        .category-menu__trigger {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            position: relative;
            transition: color 0.3s ease;
        }

        .category-menu__trigger::after {
            content: "";
            width: 6px;
            height: 6px;
            margin-top: -2px;
            border-right: 1px solid currentColor;
            border-bottom: 1px solid currentColor;
            transform: rotate(45deg);
            transition: transform 0.3s ease, margin-top 0.3s ease;
        }

        .category-menu__panel {
            position: absolute;
            top: 100%;
            left: 0;
            width: min(420px, calc(100vw - 48px));
            max-height: min(72vh, 760px);
            overflow: auto;
            padding: 28px 32px 30px;
            border: 1px solid rgba(17, 17, 17, 0.14);
            background: #ffffff;
            box-shadow: 0 20px 48px rgba(17, 17, 17, 0.12);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(10px);
            transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
        }

        .category-menu.is-open .category-menu__panel {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            pointer-events: auto;
        }

        .category-menu.is-open .category-menu__trigger::after {
            margin-top: 2px;
            transform: rotate(225deg);
        }

        .category-menu__list {
            display: flex;
            flex-direction: column;
            gap: 24px;
        }

        .category-menu__list > li + li {
            margin-top: 0;
            padding-top: 0;
            border-top: 0;
        }

        .category-menu__list > li {
            padding: 0;
            border: 0;
            background: transparent;
        }

        .category-menu__primary {
            display: block;
            width: 100%;
            font-family: var(--font-main);
            font-size: 1.08rem;
            font-weight: 600;
            letter-spacing: 0.08em;
            line-height: 1.6;
            text-transform: none;
        }

        .category-menu__primary::after {
            display: none;
        }

        .category-menu__primary:hover {
            opacity: 0.72;
        }

        .category-menu__primary:hover::after {
            transform: none;
        }

        .category-menu__secondary {
            margin-top: 14px;
            display: grid;
            gap: 12px;
            padding-left: 24px;
            border-left: 1px solid rgba(17, 17, 17, 0.14);
        }

        .category-menu__secondary a,
        .category-inline__secondary a,
        .child-category-list a {
            display: inline-flex;
            align-items: center;
            min-height: 32px;
            padding: 0 13px;
            border: 1px solid rgba(17, 17, 17, 0.08);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.78);
            color: var(--sub);
            font-size: 0.78rem;
            font-weight: 500;
            letter-spacing: 0.04em;
        }

        .category-menu__secondary a {
            display: block;
            min-height: 0;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            color: var(--text);
            font-family: var(--font-main);
            font-size: 0.98rem;
            font-weight: 500;
            letter-spacing: 0.08em;
            line-height: 1.7;
        }

        .category-inline__secondary a:hover,
        .child-category-list a:hover,
        .category-menu__secondary a:hover {
            border-color: var(--accent);
            background: var(--accent);
            color: var(--site-background);
            opacity: 1;
        }

        .category-menu__secondary a:hover {
            border-color: transparent;
            background: transparent;
            color: var(--text);
            opacity: 0.72;
        }

        @media (hover: hover) and (pointer: fine) and (min-width: 1101px) {
            .category-menu.is-open .category-menu__panel {
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transform: translateY(10px);
            }

            .category-menu.is-open .category-menu__trigger::after {
                margin-top: -2px;
                transform: rotate(45deg);
            }

            .category-menu:hover .category-menu__panel,
            .category-menu:focus-within .category-menu__panel {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
                transform: translateY(0);
            }

            .category-menu:hover .category-menu__trigger::after,
            .category-menu:focus-within .category-menu__trigger::after {
                margin-top: 2px;
                transform: rotate(225deg);
            }
        }

        .site-main {
            display: block;
        }

        .home-section,
        .page-shell {
            padding: var(--section-space) 0;
        }

        .home-section + .home-section,
        #homeNews + #homeFeatures,
        .feature-band + .home-section,
        .page-shell + .page-shell {
            position: relative;
        }

        .home-section + .home-section::before,
        #homeNews + #homeFeatures::before,
        .feature-band + .home-section::before,
        .page-shell + .page-shell::before {
            content: "";
            position: absolute;
            top: calc(var(--section-space) * -0.5);
            left: 50%;
            width: min(calc(100% - 96px), var(--container));
            height: 1px;
            background: linear-gradient(90deg, var(--accent) 0 78px, var(--line) 78px 100%);
            transform: translateX(-50%);
        }

        #homePickup + #main-gallery::before {
            background: #ffffff;
        }

        .section-head,
        .page-intro {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 24px 48px;
            margin-bottom: 36px;
        }

        .hero {
            display: grid;
            align-items: center;
            min-height: calc(60svh - var(--header-height) - var(--information-banner-height, 0px));
            padding: clamp(40px, 5vw, 72px) 0 clamp(28px, 4vw, 48px);
            position: relative;
        }

        .hero::after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 60%;
            height: 100%;
            background: linear-gradient(to right, var(--site-background) 50%, transparent 100%);
            z-index: 1;
            pointer-events: none;
        }

        .hero-layout {
            display: grid;
            grid-template-columns: minmax(220px, 0.44fr) minmax(0, 1.56fr);
            gap: 0;
            align-items: end;
        }

        .hero--without-media .hero-layout {
            grid-template-columns: 1fr;
        }

        .hero-layout > * {
            min-width: 0;
        }

        .hero-slider {
            position: relative;
            min-height: 0;
            overflow: visible;
            width: min(calc(100% - clamp(12px, 2vw, 28px)), 840px);
            max-width: 840px;
            justify-self: end;
        }

        .hero--without-media .hero-slider {
            display: none;
        }


        .hero-slide {
            position: absolute;
            inset: 0;
            min-height: 0;
            opacity: 0;
            visibility: hidden;
            transition: opacity 1.8s ease-in-out, visibility 1.8s ease-in-out;
        }

        .hero-slide:first-child,
        .hero-slide.is-active {
            position: relative;
            inset: auto;
            opacity: 1;
            visibility: visible;
        }

        .hero-slider.is-ready .hero-slide:first-child:not(.is-active) {
            position: absolute;
            inset: 0;
            opacity: 0;
            visibility: hidden;
        }

        .hero-slide__content {
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-self: end;
            width: fit-content;
            margin-right: -88px;
            padding: 0 0 54px;
            position: relative;
            z-index: 6;
        }

        .hero--without-media .hero-slide__content {
            margin-right: 0;
        }

        .hero-slide__label {
            display: inline-flex;
            margin-bottom: 24px;
            color: var(--hero-subcatch);
            font-family: var(--font-eng);
            font-size: 0.82rem;
            font-weight: 500;
            letter-spacing: 0.28em;
            text-transform: uppercase;
        }

        .hero-slide__heading {
            max-width: none;
            margin-bottom: 24px;
            color: var(--hero-maincatch);
            font-family: var(--font-eng);
            font-size: clamp(2.6rem, 4vw, 4rem);
            font-weight: 700;
            line-height: 0.96;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            width: max-content;
            max-width: none;
            white-space: nowrap;
        }

        .hero-slide__heading-line {
            display: block;
        }

        .hero-slide__description {
            max-width: 100%;
            margin-bottom: 30px;
            color: var(--hero-body);
            font-size: 1.0625rem;
            line-height: 1.95;
            overflow-wrap: break-word;
            word-break: break-word;
        }

        .hero-slide__media {
            position: relative;
            overflow: hidden;
            min-height: 0;
            border: 0;
            border-radius: 4px;
            background: var(--bg-soft);
            aspect-ratio: 16 / 9;
            box-shadow: var(--shadow-soft);
            z-index: 1;
            transform: translate(clamp(52px, 4.2vw, 84px), -28px);
        }

        .hero-slide__media::after {
            content: "";
            position: absolute;
            inset: 0;
            border-radius: inherit;
            pointer-events: none;
            box-shadow:
                inset 0 0 0 1px rgba(255, 255, 255, 0.72),
                inset 0 0 0 12px rgba(255, 255, 255, 0.12);
        }

        .hero-slide__media img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hero .line-button {
            align-self: flex-start;
            justify-content: space-between;
            min-width: 230px;
            border-color: var(--hero-button-text);
            color: var(--hero-button-text);
            font-size: 0.98rem;
            letter-spacing: 0.18em;
        }

        .hero-slide__actions {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 14px;
        }

        .hero .line-button:hover {
            background: var(--hero-button-text);
            color: var(--site-background);
            border-color: var(--hero-button-text);
        }

        .mailmagazine-section {
            padding: clamp(32px, 5vw, 72px) 0 0;
            background: var(--mailmagazine-background-color);
        }

        body:not(#shopTopPage) .mailmagazine-section {
            padding-top: 0;
        }

        .mailmagazine-panel {
            display: grid;
            justify-items: center;
            gap: 18px;
            padding: clamp(36px, 5vw, 72px) clamp(24px, 5vw, 56px);
            text-align: center;
        }

        .mailmagazine-section__title {
            color: var(--mailmagazine-heading-color);
            font-family: var(--font-eng);
            font-size: clamp(2rem, 4vw, 3.2rem);
            font-weight: 700;
            letter-spacing: 0.14em;
            line-height: 1;
            text-transform: uppercase;
        }

        .mailmagazine-section__copy {
            max-width: 720px;
            color: var(--mailmagazine-subtext-color);
            font-size: 1.0625rem;
            line-height: 1.9;
        }

        .mailmagazine-panel .mailMagazineSubscribe_form,
        .mailmagazine-panel .x_mailMagazineSubscribe_form {
            width: min(100%, 720px);
            margin: 10px auto 0;
        }

        .mailmagazine-panel .mailMagazineSubscribe_field,
        .mailmagazine-panel .x_mailMagazineSubscribe_field {
            position: relative;
            width: 100%;
        }

        .mailmagazine-panel .mailMagazineSubscribe_input,
        .mailmagazine-panel .x_mailMagazineSubscribe_input {
            width: 100%;
            min-height: 60px;
            padding: 0 84px 0 22px;
            border: 1px solid var(--mailmagazine-accent-color);
            border-radius: 999px;
            background: var(--mailmagazine-background-color);
            color: var(--text);
        }

        .mailmagazine-panel .mailMagazineSubscribe_input::placeholder,
        .mailmagazine-panel .x_mailMagazineSubscribe_input::placeholder {
            color: #9a9a95;
        }

        .mailmagazine-panel .mailMagazineSubscribe_submit,
        .mailmagazine-panel .x_mailMagazineSubscribe_submit {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            top: 50%;
            right: 8px;
            width: 44px;
            min-width: 44px;
            min-height: 44px;
            height: 44px;
            padding: 0;
            border: 1px solid var(--mailmagazine-accent-color);
            border-radius: 999px;
            background: transparent;
            color: var(--mailmagazine-accent-color);
            font-size: 0;
            letter-spacing: 0;
            transform: translateY(-50%);
        }

        .mailmagazine-panel .mailMagazineSubscribe_submit::before,
        .mailmagazine-panel .x_mailMagazineSubscribe_submit::before {
            content: "↗";
            font-family: var(--font-eng);
            font-size: 1rem;
            font-weight: 700;
            line-height: 1;
        }

        .mailmagazine-panel .mailMagazineSubscribe_submit:hover,
        .mailmagazine-panel .x_mailMagazineSubscribe_submit:hover {
            background: var(--mailmagazine-accent-color);
            color: var(--mailmagazine-background-color);
            opacity: 1;
        }

        .mailmagazine-panel .mailMagazineSubscribe_confirm,
        .mailmagazine-panel .x_mailMagazineSubscribe_confirm {
            margin-top: 12px;
            color: var(--mailmagazine-heading-color);
            font-size: 0.84rem;
            line-height: 1.8;
            text-align: left;
        }

        .mailmagazine-panel p:last-child {
            margin-bottom: 0;
        }

        .mailmagazine-panel > * {
            width: 100%;
        }

        .feature-band {
            padding: 0 0 clamp(48px, 6vw, 72px);
        }

        .feature-band__header {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 24px;
            margin-bottom: 24px;
        }

        .feature-band__header-copy {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 10px;
            grid-column: 3 / 5;
            justify-self: end;
            width: min(100%, 480px);
            text-align: right;
        }

        #homeFeatures .eyebrow {
            color: var(--features-section-title-color);
        }

        #homeFeatures .section-title {
            color: var(--features-catchcopy-color);
        }

        .feature-band__track {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
            background: #ffffff;
        }

        .feature-band__item {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 28px 48px;
            min-height: 0;
            padding: 40px 0;
            border-bottom: 1px solid var(--line);
            background: transparent;
        }

        .feature-band__item:last-child {
            border-bottom: 0;
        }

        .feature-band__number {
            order: 2;
            align-self: center;
            color: var(--features-number-color);
            font-family: var(--font-eng);
            font-size: clamp(4.8rem, 9vw, 7.8rem);
            font-weight: 600;
            line-height: 0.9;
            letter-spacing: -0.08em;
            text-transform: uppercase;
        }

        .feature-band__content {
            order: 1;
            display: flex;
            flex-direction: column;
            gap: 18px;
            min-width: 0;
        }

        .feature-band__title {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 14px 18px;
            font-size: clamp(1.75rem, 2.6vw, 2.55rem);
            font-weight: 700;
            letter-spacing: 0.02em;
            line-height: 1.45;
        }

        .feature-band__title-main {
            color: var(--accent);
        }

        .feature-band__title-sub {
            color: rgba(17, 17, 17, 0.55);
            font-family: var(--font-eng);
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .feature-band__text {
            max-width: 980px;
            color: var(--text);
            font-size: 0.98rem;
            line-height: 2;
        }

        .feature-band__item--1 .feature-band__title-main {
            color: var(--features-item-1-title-color);
        }

        .feature-band__item--1 .feature-band__title-sub {
            color: var(--features-item-1-sub-color);
        }

        .feature-band__item--1 .feature-band__text {
            color: var(--features-item-1-body-color);
        }

        .feature-band__item--2 .feature-band__title-main {
            color: var(--features-item-2-title-color);
        }

        .feature-band__item--2 .feature-band__title-sub {
            color: var(--features-item-2-sub-color);
        }

        .feature-band__item--2 .feature-band__text {
            color: var(--features-item-2-body-color);
        }

        .feature-band__item--3 .feature-band__title-main {
            color: var(--features-item-3-title-color);
        }

        .feature-band__item--3 .feature-band__title-sub {
            color: var(--features-item-3-sub-color);
        }

        .feature-band__item--3 .feature-band__text {
            color: var(--features-item-3-body-color);
        }

        .feature-band--stacked {
            padding-bottom: 32px;
        }

        .feature-band--stacked .feature-band__header {
            margin-bottom: 20px;
        }

        .feature-band--stacked .feature-band__header-copy {
            width: 100%;
            text-align: left;
            align-items: flex-start;
            justify-self: stretch;
            grid-column: auto;
        }

        .feature-band--stacked .feature-band__track {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
            border-top: 1px solid var(--line);
            background: transparent;
        }

        .feature-band--stacked .feature-band__item {
            display: grid;
            grid-template-columns: 1fr;
            min-width: 0;
            min-height: 0;
            padding: 20px 0 26px;
            border: 0;
            border-bottom: 1px solid var(--line);
            background: transparent;
            overflow: visible;
        }

        .feature-band--stacked .feature-band__content {
            gap: 12px;
            min-width: 0;
        }

        .feature-band--stacked .feature-band__number {
            position: static;
            order: 0;
            justify-self: start;
            margin: 0 0 10px;
            color: var(--features-number-color);
            font-size: clamp(3.6rem, 15vw, 4.8rem);
            line-height: 0.9;
            letter-spacing: -0.06em;
        }

        .feature-band--stacked .feature-band__title {
            display: block;
            font-size: 0.9rem;
            line-height: 1.45;
        }

        .feature-band--stacked .feature-band__title-main {
            display: block;
            font-size: clamp(1.02rem, 4.8vw, 1.35rem);
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .feature-band--stacked .feature-band__title-sub {
            display: block;
            margin-top: 6px;
            font-size: 0.52rem;
            line-height: 1.4;
            letter-spacing: 0.12em;
        }

        .feature-band--stacked .feature-band__text {
            font-size: 0.82rem;
            line-height: 1.95;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .hero-controls {
            position: absolute;
            right: 0;
            bottom: 0;
            display: flex;
            align-items: center;
            gap: 0;
            z-index: 2;
        }

        .hero-pagination {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 0 4px;
        }

        .hero-pagination button {
            width: 34px;
            height: 3px;
            padding: 0;
            border: 0;
            background: rgba(17, 17, 17, 0.18);
        }

        .hero-pagination button.is-active {
            background: var(--accent);
        }

        #homeNews {
            background: var(--news-section-background-color);
        }

        #homeNews .eyebrow {
            color: var(--news-section-title-color);
        }

        #homeNews .section-title {
            color: var(--news-section-heading-color);
        }

        #homeNews .section-link {
            border-color: var(--news-section-link-color);
            background: var(--news-section-button-background-color);
            color: var(--news-section-link-color);
        }

        #homeNews .section-link:hover {
            border-color: var(--news-section-button-hover-color);
            background: var(--news-section-button-hover-color);
            color: #ffffff;
        }

        .news-item {
            display: grid;
            grid-template-columns: 140px minmax(0, 1fr);
            gap: 24px;
            align-items: center;
            padding: 22px 0;
        }

        .news-date {
            color: var(--news-item-date-color);
            font-family: var(--font-eng);
            font-size: 0.85rem;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .news-title {
            display: inline-block;
            color: var(--news-item-title-color);
            font-size: 1.0625rem;
            line-height: 1.8;
        }

        .news-title:hover {
            opacity: 0.7;
        }

        .pickup-section {
            overflow: visible;
            background: var(--pickup-background-color);
        }

        .pickup-feature {
            position: relative;
        }

        .pickup-feature__card {
            display: grid;
            grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.78fr);
            align-items: center;
            gap: 48px 72px;
        }

        .pickup-section--without-media .pickup-feature__card {
            grid-template-columns: 1fr;
            gap: 0;
        }

        .pickup-feature__stage {
            position: relative;
            min-height: 560px;
            padding: 36px;
            background: #f3f3f1;
            border: 1px solid var(--accent);
        }

        .pickup-feature__stage::before {
            content: "Pickup";
            position: absolute;
            top: 18px;
            left: 18px;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 108px;
            min-height: 42px;
            padding: 0 18px;
            background: var(--pickup-label-background-color);
            color: var(--pickup-label-text-color);
            font-family: var(--font-eng);
            font-size: 0.92rem;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .pickup-feature__media {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 488px;
            height: 100%;
        }

        .pickup-feature__visual {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
            border: 0;
            background: transparent;
        }

        .pickup-feature__visual img {
            width: auto;
            max-width: min(100%, 520px);
            max-height: 488px;
            height: auto;
            object-fit: contain;
        }

        .pickup-feature__info {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 22px;
            padding: 20px 0;
        }

        .pickup-feature__title {
            color: var(--pickup-title-color);
            font-size: clamp(1.5rem, 2vw, 2rem);
            font-weight: 400;
            line-height: 1.65;
            letter-spacing: 0.1em;
        }

        .pickup-feature__price {
            color: var(--pickup-price-color);
            font-size: 1.08rem;
            letter-spacing: 0.08em;
        }

        .pickup-feature__title:empty,
        .pickup-feature__price:empty,
        .pickup-feature__description:empty,
        .pickup-feature__button:empty {
            display: none;
        }

        .pickup-feature__description {
            max-width: 500px;
            color: var(--pickup-description-color);
            font-size: 1.0625rem;
            line-height: 2.1;
        }

        .pickup-feature__button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 14px;
            min-width: min(100%, 320px);
            min-height: 72px;
            padding: 0 34px;
            border: 1px solid var(--pickup-button-background-color);
            background:
                linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.2) 46%, transparent 56%) 160% 0 / 220% 100% no-repeat,
                var(--pickup-button-background-color);
            color: var(--pickup-button-text-color);
            font-size: 0.96rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            box-shadow: 0 0 0 rgba(17, 17, 17, 0);
            transition:
                transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                background-position 0.65s cubic-bezier(0.22, 1, 0.36, 1),
                background-color 0.35s ease,
                border-color 0.35s ease,
                color 0.35s ease;
        }

        .pickup-feature__button::after {
            content: "";
            width: 8px;
            height: 8px;
            margin-top: -1px;
            border-top: 1px solid currentColor;
            border-right: 1px solid currentColor;
            opacity: 0.56;
            transform: translateX(0) rotate(45deg);
            transition:
                transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.35s ease;
        }

        .pickup-feature__button:focus-visible {
            outline: none;
            transform: translateY(-4px);
            box-shadow:
                0 0 0 4px rgba(255, 255, 255, 0.16),
                0 18px 34px rgba(0, 0, 0, 0.28);
            background-position: -12% 0, 0 0;
        }

        @media (hover: hover) and (pointer: fine) {
            .pickup-feature__button:hover {
                color: var(--pickup-button-text-color);
                border-color: var(--pickup-button-background-color);
                opacity: 1;
                transform: translateY(-4px);
                box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
                background-position: -12% 0, 0 0;
            }

            .pickup-feature__button:hover::after {
                opacity: 1;
                transform: translateX(6px) rotate(45deg);
            }
        }

        .gallery-section__tools {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 18px;
            margin-bottom: 36px;
        }

        .gallery-section__tools:empty {
            display: none;
            margin-bottom: 0;
        }

        .tool-panel {
            display: flex;
            flex-direction: column;
            gap: 16px;
            padding: 24px;
            border: 1px solid var(--line);
            background: #ffffff;
        }

        .gallery-section__head {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;
            margin-bottom: 24px;
            text-align: center;
        }

        #main-gallery .eyebrow {
            color: var(--gallery-section-title-color);
        }

        #main-gallery .section-title {
            color: var(--gallery-section-heading-color);
        }

        .gallery-section__head .section-title {
            font-size: clamp(2.6rem, 6vw, 4.6rem);
        }

        .recommend-section {
            background: var(--recommend-section-background-color);
            color: var(--recommend-section-text-color);
        }

        #homeRecommend .eyebrow {
            color: var(--recommend-section-text-color);
            opacity: 0.72;
        }

        #homeRecommend .section-title {
            color: var(--recommend-section-text-color);
        }

        #homeRecommend .item-card__media {
            aspect-ratio: 1 / 1;
        }

        #homeRecommend .item-card__title,
        #homeRecommend .item-card__pricing,
        #homeRecommend .item-card__price--strike,
        #homeRecommend .item-card__status {
            color: var(--recommend-section-text-color);
        }

        #homeRecommend .item-card__price--strike {
            opacity: 0.55;
        }

        .gallery-section .gallery-section__tools {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 18px;
            margin-bottom: 48px;
        }

        .gallery-section .tool-panel--search {
            width: min(100%, 760px);
            padding: 0;
            border: 0;
            background: transparent;
            align-items: center;
            gap: 16px;
        }

        .gallery-section .tool-panel--search .gallery-search {
            width: 100%;
            height: 68px;
            padding: 0 24px;
        }

        .gallery-section .tool-panel--search .gallery-search input {
            font-size: 1.05rem;
            text-align: center;
            letter-spacing: 0.08em;
        }

        .gallery-section .tool-panel--search .gallery-search button {
            width: 24px;
            height: 24px;
        }

        .category-inline__list > li + li {
            margin-top: 18px;
            padding-top: 18px;
            border-top: 1px solid rgba(17, 17, 17, 0.08);
        }

        .category-inline__primary {
            font-family: var(--font-eng);
            font-size: 0.94rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .category-inline__secondary {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 10px;
        }

        .item-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 36px 28px;
        }

        .item-grid[hidden] {
            display: none !important;
        }

        .item-card {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        .item-card--append-fade {
            opacity: 0;
            transform: translateY(18px);
            transition: opacity 0.55s ease, transform 0.55s ease;
        }

        .item-card--append-fade.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        .item-card__media {
            position: relative;
            overflow: hidden;
            border: 1px solid var(--line);
            background: var(--bg-soft);
            aspect-ratio: 4 / 5;
        }

        #galleryGrid .item-card__media {
            aspect-ratio: 1 / 1;
        }

        .item-card__media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.7s ease;
        }

        .item-card:hover .item-card__media img {
            transform: scale(1.03);
        }

        .item-card__body {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .item-card__title {
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.7;
        }

        #galleryGrid .item-card__title {
            color: var(--gallery-item-title-color);
        }

        .item-card__pricing {
            display: flex;
            align-items: baseline;
            flex-wrap: wrap;
            gap: 8px 14px;
            color: var(--text);
            line-height: 1.5;
        }

        #galleryGrid .item-card__pricing {
            color: var(--gallery-item-price-color);
        }

        .item-card__price {
            font-family: var(--font-eng);
            font-size: 1rem;
            letter-spacing: 0.04em;
        }

        .item-card__price--strike {
            color: #8b8b86;
            font-size: 0.88rem;
            text-decoration: line-through;
        }

        #galleryGrid .item-card__price--strike {
            color: var(--gallery-item-price-color);
            opacity: 0.55;
        }

        .item-card__status {
            color: var(--sub);
            font-family: var(--font-eng);
            font-size: 0.78rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
        }

        @media (prefers-reduced-motion: reduce) {
            .item-card--append-fade,
            .item-card--append-fade.is-visible {
                opacity: 1;
                transform: none;
                transition: none;
            }
        }

        .soldout_cover {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(17, 17, 17, 0.54);
        }

        .soldout_cover p {
            color: #ffffff;
            font-family: var(--font-eng);
            font-size: 1rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
        }

        .loading {
            display: none;
            margin-top: 28px;
            text-align: center;
            color: var(--sub);
            font-family: var(--font-eng);
            font-size: 0.82rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .loading span {
            display: block;
            width: 54px;
            height: 1px;
            margin: 0 auto 12px;
            background: var(--accent);
        }

        .empty-state {
            padding: 36px 0 0;
            color: var(--sub);
            text-align: center;
        }

        .page-intro {
            align-items: flex-end;
        }

        .page-intro__meta {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .page-breadcrumb {
            color: var(--sub);
            font-size: 0.9rem;
        }

        .page-breadcrumb a {
            color: var(--sub);
        }

        .child-category-list {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .page-shell--category {
            padding-top: clamp(56px, 7vw, 96px);
        }

        .page-shell--category .shell {
            width: min(calc(100% - 64px), 1180px);
        }

        .page-intro--category {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 14px;
            margin-bottom: clamp(56px, 8vw, 104px);
        }

        .page-breadcrumb--category,
        .page-breadcrumb--category a {
            color: var(--sub);
        }

        .page-breadcrumb--category {
            font-family: var(--font-eng);
            font-size: 0.72rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
        }

        .page-title--category {
            font-family: var(--font-main);
            font-size: clamp(2.6rem, 5vw, 4.3rem);
            font-weight: 500;
            line-height: 1.18;
            letter-spacing: 0.04em;
            text-transform: none;
        }

        .child-category-list--category {
            gap: 12px 18px;
            margin-top: 2px;
        }

        .page-shell--category .child-category-list a {
            min-height: 0;
            padding: 0;
            border: 0;
            background: transparent;
            color: var(--sub);
            font-size: 0.92rem;
            letter-spacing: 0.04em;
        }

        .page-shell--category .child-category-list a:hover {
            background: transparent;
            color: var(--text);
        }

        .page-shell--category .item-grid {
            gap: clamp(56px, 7vw, 88px) clamp(36px, 4vw, 64px);
        }

        .page-shell--category .item-card {
            gap: 18px;
        }

        .page-shell--category .item-card__media {
            border: 0;
            background: #f6f5f1;
            aspect-ratio: 1 / 1;
        }

        .page-shell--category .item-card__body {
            gap: 8px;
        }

        .page-shell--category .item-card__title {
            font-size: 1rem;
            font-weight: 500;
            line-height: 1.6;
            letter-spacing: 0.04em;
        }

        .page-shell--category .item-card__pricing {
            gap: 6px 12px;
        }

        .page-shell--category .item-card__price {
            font-size: 1.02rem;
        }

        .page-shell--category .loading {
            margin-top: 56px;
        }

        .page-intro--search .gallery-search {
            width: min(100%, 420px);
            height: 54px;
            padding: 0 18px;
        }

        .page-intro--search .gallery-search input {
            font-size: 0.92rem;
            letter-spacing: 0.04em;
        }

        .page-app-intro {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 32px;
            padding-bottom: 24px;
            border-bottom: 1px solid var(--line);
        }

        .page-app-intro[hidden] {
            display: none !important;
        }

        .page-app-intro__subtitle {
            color: var(--sub);
            font-family: var(--font-eng);
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .page-app-intro__title {
            color: var(--text);
            font-size: clamp(2rem, 4.5vw, 3.2rem);
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: 0.06em;
            text-transform: none;
        }

        .page-app-intro--section {
            align-items: center;
            gap: 10px;
            margin-bottom: clamp(28px, 4vw, 40px);
            padding: 0;
            border-bottom: 0;
            text-align: center;
        }

        .page-app-intro--section .page-app-intro__title {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .page-app-intro--section .page-app-intro__title::after {
            content: "";
            width: min(100%, 620px);
            height: 1px;
            margin-top: 22px;
            background: linear-gradient(90deg, var(--accent) 0 78px, var(--line) 78px 100%);
        }

        .page-app-intro--blog {
            align-items: center;
            gap: 10px;
            margin-bottom: clamp(28px, 4vw, 40px);
            padding: 0;
            border-bottom: 0;
            text-align: center;
        }

        .page-app-intro--blog .page-app-intro__subtitle {
            font-size: 0.95rem;
            letter-spacing: 0.14em;
        }

        .page-app-intro--blog .page-app-intro__title {
            display: flex;
            flex-direction: column;
            align-items: center;
            font-size: 2rem;
            font-weight: 700;
            line-height: 1.2;
        }

        .page-app-intro--blog .page-app-intro__title::after {
            content: "";
            width: min(100%, 620px);
            height: 1px;
            margin-top: 22px;
            background: linear-gradient(90deg, var(--accent) 0 78px, var(--line) 78px 100%);
        }

        .about-shell {
            display: flex;
            flex-direction: column;
            gap: 32px;
        }

        .about-shell .page-title {
            color: var(--about-page-title-color);
            white-space: nowrap;
            letter-spacing: 0.06em;
        }

        .about-grid {
            display: block;
        }

        .about-copy {
            width: min(100%, 1080px);
            margin: 0 auto;
            padding: clamp(36px, 5vw, 64px);
            border: 1px solid var(--line);
            background: var(--about-page-background-color);
            color: var(--about-page-body-color);
            font-size: 1.03rem;
            line-height: 2;
        }

        .about-page-section {
            margin-top: clamp(56px, 7vw, 80px);
        }

        .page-content-shell--about > .page-app-intro .page-app-intro__title {
            font-size: 2rem;
        }

        .page-content-shell--about .about-page-section .page-app-intro__title {
            font-size: 1.5rem;
        }

        .page-content-shell--about.page-content-shell--about-center .main,
        .page-content-shell--about.page-content-shell--about-center .about-page-section__body,
        .page-content-shell--about.page-content-shell--about-center .about-faq__item {
            text-align: center;
        }

        .about-page-section__body {
            color: var(--about-page-body-color);
            font-size: 1.0625rem;
            line-height: 2;
            white-space: pre-line;
        }

        .about-faq {
            display: grid;
        }

        .about-faq__item {
            padding: 24px 0;
            border-top: 1px solid var(--line);
        }

        .about-faq__item:last-child {
            border-bottom: 1px solid var(--line);
        }

        .about-faq__question {
            margin: 0;
            color: var(--about-page-title-color);
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.8;
            white-space: pre-line;
        }

        .about-faq__answer {
            margin: 12px 0 0;
            color: var(--about-page-body-color);
            font-size: 1.0625rem;
            line-height: 2;
            white-space: pre-line;
        }

        .about-faq__prefix--q {
            color: #2563eb;
        }

        .about-faq__prefix--a {
            color: #dc2626;
        }

        .footer-social {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            align-items: center;
        }

        .footer-social a {
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            gap: 8px;
            min-height: 0;
            padding: 0;
            border: 0;
            color: var(--footer-menu-color);
            font-size: 0.84rem;
        }

        .footer-social__icon-link {
            justify-content: center !important;
            width: 18px;
            min-width: 18px;
            min-height: 18px;
            padding: 0;
            gap: 0;
        }

        .footer-social__icon-link svg {
            width: 18px;
            height: 18px;
            fill: currentColor;
            display: block;
        }

        .footer-social a:hover,
        .footer-social a:focus-visible {
            color: var(--footer-menu-color);
            opacity: 0.72;
        }

        .about-copy p,
        .about-copy li,
        .about-copy dd,
        .about-copy dt {
            line-height: 2;
        }

        .page-shell--content {
            background: var(--bg-soft);
        }

        .page-shell--content.page-shell--app-layout {
            padding: clamp(40px, 6vw, 64px) 0 clamp(40px, 6vw, 56px);
            background: var(--site-background);
        }

        .page-shell--content.page-shell--contact-layout {
            padding: clamp(40px, 6vw, 64px) 0 clamp(40px, 6vw, 56px);
            background: transparent;
        }

        .page-content-shell {
            padding: clamp(28px, 4vw, 48px);
            border: 1px solid var(--line);
            background: #ffffff;
        }

        .page-content-shell--app {
            padding: clamp(28px, 4vw, 48px) 0 0;
            border: 0;
            background: transparent;
        }

        .page-app-contents[hidden] {
            display: none !important;
        }

        #appPageContentsBody {
            overflow-x: hidden;
            max-width: 100%;
        }

        #appPageContentsBody > * {
            max-width: 100% !important;
            box-sizing: border-box;
        }

        .page-content-shell--app-blog {
            display: flex;
            flex-direction: column;
            gap: clamp(28px, 4vw, 40px);
        }

        .page-content-shell--app-default {
            display: flex;
            flex-direction: column;
            gap: clamp(40px, 6vw, 64px);
        }

        .page-content-shell--app-default .page-app-contents > :first-child,
        .page-content-shell--app-default .page-app-contents .main {
            width: 100%;
            max-width: none;
        }

        .page-content-shell--app-default .page-app-contents > h1:first-child,
        .page-content-shell--app-default .page-app-contents > h2:first-child,
        .page-content-shell--app-default .page-app-contents > .main > h1:first-child,
        .page-content-shell--app-default .page-app-contents > .main > h2:first-child {
            margin: 0 0 10px;
            color: var(--text);
            font-size: clamp(2rem, 4.5vw, 3.2rem);
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: 0.06em;
        }

        .page-content-shell--app-default .page-app-contents > h1:first-child + p,
        .page-content-shell--app-default .page-app-contents > h2:first-child + p,
        .page-content-shell--app-default .page-app-contents > .main > h1:first-child + p,
        .page-content-shell--app-default .page-app-contents > .main > h2:first-child + p {
            margin: 0 0 28px;
            color: var(--sub);
            font-family: var(--font-eng);
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }

        .page-content-shell--app-membership .page-app-contents > h1:first-child,
        .page-content-shell--app-membership .page-app-contents > h2:first-child,
        .page-content-shell--app-membership .page-app-contents > .main > h1:first-child,
        .page-content-shell--app-membership .page-app-contents > .main > h2:first-child,
        .page-content-shell--app-membership .app-page-lead-title {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 0 0 18px;
            padding-bottom: 26px;
            font-size: clamp(2.6rem, 5.4vw, 4rem) !important;
            text-align: center;
        }

        .page-content-shell--app-membership .page-app-contents .p-membership__title,
        .page-content-shell--app-membership .page-app-contents .p-membership__title.c-title {
            font-size: clamp(2.6rem, 5.4vw, 4rem) !important;
        }

        .page-content-shell--app-membership .page-app-contents > h1:first-child::after,
        .page-content-shell--app-membership .page-app-contents > h2:first-child::after,
        .page-content-shell--app-membership .page-app-contents > .main > h1:first-child::after,
        .page-content-shell--app-membership .page-app-contents > .main > h2:first-child::after,
        .page-content-shell--app-membership .app-page-lead-title::after {
            content: "";
            width: min(100%, 620px);
            height: 1px;
            margin-top: 22px;
            background: linear-gradient(90deg, var(--accent) 0 78px, var(--line) 78px 100%);
        }

        .page-content-shell--app-membership .page-app-contents > h1:first-child + p,
        .page-content-shell--app-membership .page-app-contents > h2:first-child + p,
        .page-content-shell--app-membership .page-app-contents > .main > h1:first-child + p,
        .page-content-shell--app-membership .page-app-contents > .main > h2:first-child + p,
        .page-content-shell--app-membership .app-page-lead-subtitle {
            text-align: center;
        }

        .page-content-shell--app-membership-mypage .page-app-contents dl dd {
            margin-left: 0;
            margin-inline-start: 0;
        }

        #appPageContentsBody .communityMain {
            max-width: 100%;
            box-sizing: border-box;
        }

        .page-content-shell--app-community #appPageContentsBody .communityMain .communityTitle {
            display: flex;
            flex-direction: column;
            align-items: center;
            margin: 0 0 18px;
            padding-bottom: 26px;
            color: var(--text);
            font-size: clamp(2rem, 4.5vw, 3.2rem);
            font-weight: 700;
            line-height: 1.25;
            letter-spacing: 0.06em;
            text-align: center;
        }

        .page-content-shell--app-community #appPageContentsBody .communityMain .communityTitle::after {
            content: "";
            width: min(100%, 620px);
            height: 1px;
            margin-top: 22px;
            background: linear-gradient(90deg, var(--accent) 0 78px, var(--line) 78px 100%);
        }

        @media (max-width: 960px) {
            #appPageContentsBody .communityMain {
                width: 100%;
                padding: 32px 0 0;
            }

            #appPageContentsBody .communityMain .communityContent {
                flex-direction: column;
                gap: 20px;
                padding: 20px 18px;
            }

            #appPageContentsBody .communityMain .communityOverview,
            #appPageContentsBody .communityMain .communityNav,
            #appPageContentsBody .communityMain #limitedItem,
            #appPageContentsBody .communityMain #limitedUrl,
            #appPageContentsBody .communityMain .payid {
                width: 100%;
                max-width: 100%;
            }

            #appPageContentsBody .communityMain .communityNav {
                margin-left: 0;
            }

            #appPageContentsBody .communityMain .communityItems {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 28px 16px;
            }

            #appPageContentsBody .communityMain .communityItems .communityItem,
            #appPageContentsBody .communityMain .communityItems .communityItem:first-child,
            #appPageContentsBody .communityMain .communityItems .communityItem:nth-child(3n + 1) {
                width: 100%;
                margin-left: 0;
            }

            #appPageContentsBody .communityMain .communityItems .communityItem .communityImageContainer,
            #appPageContentsBody .communityMain .communityItems .communityItem .communityItemTitle {
                width: 100%;
            }

            #appPageContentsBody .communityMain .communityItems .communityItem .communityImageContainer {
                height: auto;
                aspect-ratio: 1 / 1;
            }

            #appPageContentsBody .communityMain .communityItems .communityItem .communityItemTitle {
                max-height: none;
            }

            #appPageContentsBody .communityMain #productsLimitedUrl {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 16px;
            }

            #appPageContentsBody .communityMain #productsLimitedUrl .urlBox,
            #appPageContentsBody .communityMain #productsLimitedUrl .urlBox:nth-child(2n) {
                width: 100%;
                margin: 0;
            }

            #appPageContentsBody .communityMain .openLeaveModal {
                margin-right: 0;
                margin-left: 0;
            }
        }

        @media (max-width: 640px) {
            #appPageContentsBody .communityMain .communityItems,
            #appPageContentsBody .communityMain #productsLimitedUrl {
                grid-template-columns: 1fr;
            }
        }

        .page-content-shell .main,
        .page-content-shell #privacy,
        .page-content-shell #law,
        .page-content-shell .inquirySection {
            width: 100%;
            max-width: none;
            margin: 0;
            padding: 0;
            background: transparent;
            border: 0;
            font-family: var(--font-main);
            color: var(--text);
        }

        .page-content-shell h1,
        .page-content-shell h2,
        .page-content-shell h3 {
            color: var(--text);
            line-height: 1.4;
        }

        .page-content-shell p,
        .page-content-shell li,
        .page-content-shell dd,
        .page-content-shell dt {
            color: var(--text);
            font-size: 1.0625rem;
            line-height: 1.9;
        }

        .page-content-shell .inquirySection form {
            max-width: 760px;
            margin-top: 32px;
        }

        .page-content-shell .inquirySection dl dt {
            margin-bottom: 8px;
            font-weight: 700;
        }

        .page-content-shell .inquirySection dl dd {
            margin-bottom: 18px;
        }

        .page-content-shell .inquirySection dl dd input,
        .page-content-shell .inquirySection dl dd textarea {
            width: 100%;
            padding: 12px 14px;
            border: 1px solid var(--line);
            background: #ffffff;
            outline: none;
        }

        .page-content-shell .inquirySection .control-panel input#buttonLeave,
        .page-content-shell #inquiryCompleteSection a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: auto;
            min-width: 220px;
            min-height: 48px;
            padding: 0 28px;
            border: 1px solid var(--accent);
            background: var(--accent);
            color: #ffffff;
            font-family: var(--font-eng);
            font-size: 0.82rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .page-content-shell .inquirySection .control-panel input#buttonLeave:hover,
        .page-content-shell #inquiryCompleteSection a:hover {
            background: transparent;
            color: var(--accent);
            opacity: 1;
        }

        .page-content-shell--contact {
            width: min(calc(100% - 64px), 1080px);
            padding: 0;
            border: 0;
            background: transparent;
        }

        .page-content-shell--contact .inquirySection,
        .page-content-shell--contact #inquiryCompleteSection {
            width: 100%;
            max-width: none;
            margin: 0;
        }

        .page-content-shell--contact .contact-page__layout {
            display: flex;
            flex-direction: column;
            gap: 0;
            align-items: stretch;
        }

        .page-content-shell--contact .contact-page__intro {
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 0 clamp(32px, 5vw, 56px);
            padding: 0;
            text-align: center;
        }

        .page-content-shell--contact .contact-page__intro > * {
            margin: 0;
        }

        .page-content-shell--contact .contact-page__form,
        .page-content-shell--contact #inquiryCompleteSection {
            width: min(100%, 880px);
            margin: 0 auto;
            padding: 0;
            border: 0;
            background: transparent;
            box-shadow: none;
        }

        .page-content-shell--contact .contact-page__form > *:first-child,
        .page-content-shell--contact #inquiryCompleteSection > *:first-child {
            margin-top: 0;
        }

        .page-content-shell--contact .contact-page__form form {
            max-width: none;
            margin: 0;
        }

        .page-content-shell--contact .contact-page__intro h1,
        .page-content-shell--contact .contact-page__intro h2,
        .page-content-shell--contact .contact-page__intro h3 {
            margin: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            font-family: var(--font-main);
            font-size: 2rem;
            line-height: 1.24;
            letter-spacing: 0.08em;
            font-weight: 700;
            text-transform: none;
            writing-mode: horizontal-tb;
            text-orientation: mixed;
            transform: none;
        }

        .page-content-shell--contact .contact-page__intro h1::after,
        .page-content-shell--contact .contact-page__intro h2::after,
        .page-content-shell--contact .contact-page__intro h3::after {
            content: "";
            width: min(100%, 620px);
            height: 1px;
            margin-top: 22px;
            background: linear-gradient(90deg, var(--accent) 0 78px, var(--line) 78px 100%);
        }

        .page-content-shell--contact .contact-page__intro p {
            color: var(--sub);
            font-size: 1.0625rem;
            line-height: 1.9;
        }

        .page-content-shell--contact .contact-page__form > p:first-child {
            margin-top: 0;
            margin-bottom: 28px;
            color: var(--text);
            font-size: 1.0625rem;
            line-height: 1.9;
        }

        .page-content-shell--contact .contact-page__form dl {
            display: grid;
            gap: 0;
            margin: 0;
        }

        .page-content-shell--contact .contact-page__form dl dt {
            margin: 0 0 6px;
            color: var(--text);
            font-size: 0.98rem;
            line-height: 1.7;
            font-weight: 700;
        }

        .page-content-shell--contact .contact-page__form dl dd {
            margin: 0 0 20px;
        }

        .page-content-shell--contact .contact-page__form dl dd:last-child {
            margin-bottom: 0;
        }

        .page-content-shell--contact .contact-page__form dl dd input,
        .page-content-shell--contact .contact-page__form dl dd textarea,
        .page-content-shell--contact .contact-page__form dl dd select {
            width: 100% !important;
            min-height: 58px;
            padding: 0 18px;
            border: 2px solid var(--accent);
            background: #ffffff;
            transition: border-color 0.2s ease;
        }

        .page-content-shell--contact .contact-page__form dl dd textarea {
            min-height: 194px;
            padding: 18px;
            resize: vertical;
        }

        .page-content-shell--contact .contact-page__form dl dd input:focus,
        .page-content-shell--contact .contact-page__form dl dd textarea:focus,
        .page-content-shell--contact .contact-page__form dl dd select:focus {
            border-color: var(--accent);
            background: #ffffff;
            box-shadow: none;
        }

        .page-content-shell--contact .contact-page__form .control-panel {
            display: flex;
            justify-content: center;
            margin-top: 42px;
        }

        .page-content-shell--contact .contact-page__form .control-panel input#buttonLeave,
        .page-content-shell--contact #inquiryCompleteSection a {
            width: auto;
            min-width: 180px;
            max-width: none;
            min-height: 58px;
            padding: 0 38px;
            border: 1px solid var(--accent);
            border-radius: 999px;
            background: #ffffff;
            color: var(--accent);
            font-family: var(--font-main);
            font-size: 0.96rem;
            letter-spacing: 0.06em;
            text-transform: none;
            text-align: center;
            cursor: pointer;
            box-shadow: none;
        }

        .page-content-shell--contact .contact-page__form .control-panel input#buttonLeave:hover,
        .page-content-shell--contact #inquiryCompleteSection a:hover {
            background: var(--accent);
            color: #ffffff;
            opacity: 1;
        }

        .page-content-shell--contact #inquiryCompleteSection {
            width: min(100%, 880px);
            padding: 0;
        }

        .page-content-shell--contact #inquiryCompleteSection p {
            margin-top: 0;
        }

        .page-shell--item {
            padding-top: clamp(48px, 6vw, 84px);
            overflow: visible;
        }

        .item-shell {
            width: min(calc(100% - 48px), var(--container));
            margin: 0 auto;
            overflow: visible;
        }

        .item-layout {
            display: grid;
            grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.82fr);
            gap: clamp(36px, 6vw, 84px);
            align-items: start;
            position: relative;
            z-index: 20;
        }

        .item-gallery-panel {
            position: static;
        }

        .item-gallery-shell {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        #slideImg {
            position: relative;
            margin: 0;
            padding: 0;
        }

        #slideImg::before {
            content: "";
            display: block;
            padding-top: 100%;
        }

        #slideImg li,
        #slideImgPager li {
            list-style: none;
        }

        #slideImg > li {
            position: absolute;
            inset: 0;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.35s ease, visibility 0.35s ease;
        }

        #slideImg > li.is-active {
            opacity: 1;
            visibility: visible;
        }

        #slideImg .imgBox {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
            border: 1px solid var(--line);
            background: var(--bg-soft);
        }

        #slideImg .imgBox > a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
        }

        #slideImg .imgBox img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        #slideImgPager {
            display: flex;
            gap: 12px;
            overflow-x: auto;
            overflow-y: hidden;
            padding: 0 0 2px;
            scrollbar-width: none;
        }

        #slideImgPager::-webkit-scrollbar {
            display: none;
        }

        #slideImgPager li {
            flex: 0 0 108px;
        }

        #slideImgPager .smallImgBox {
            overflow: hidden;
            border: 1px solid var(--line);
            background: var(--bg-soft);
            aspect-ratio: 1 / 1;
        }

        #slideImgPager .smallImgBox img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        #slideImgPager a {
            display: block;
        }

        #slideImgPager a.is-active .smallImgBox {
            border-color: var(--accent);
        }

        .item-summary {
            display: flex;
            flex-direction: column;
            gap: 26px;
            position: sticky;
            top: calc(var(--information-banner-height, 0px) + var(--header-height) + 24px);
            color: var(--item-detail-text-color);
        }

        .item-summary__label {
            color: var(--sub);
            font-family: var(--font-eng);
            font-size: 0.82rem;
            letter-spacing: 0.26em;
            text-transform: uppercase;
        }

        .item-summary__title {
            color: var(--item-detail-text-color);
            font-size: clamp(1.7rem, 3.6vw, 2.7rem);
            line-height: 1.28;
            letter-spacing: 0.04em;
        }

        .item-price-panel,
        .item-description-panel {
            padding: 32px;
            border: 1px solid var(--item-detail-border-color);
            background: var(--item-detail-background-color);
            color: var(--item-detail-text-color);
        }

        .item-price-panel .price,
        .item-price-panel .price__row {
            display: flex;
            align-items: baseline;
            flex-wrap: wrap;
            gap: 8px 14px;
        }

        .item-price-panel .price__row + .price__row {
            margin-top: 10px;
        }

        .item-price-panel .price__label,
        .item-price-panel .price__tax,
        .item-price-panel .price__discountRate {
            color: var(--sub);
            font-size: 0.84rem;
        }

        .item-price-panel .price__value {
            color: var(--item-detail-text-color);
            font-family: var(--font-eng);
            font-size: clamp(1.4rem, 2.5vw, 2rem);
            letter-spacing: 0.03em;
        }

        .item-price-panel .price__value--proper {
            color: #8b8b86;
            font-size: 1rem;
            text-decoration: line-through;
        }

        .item-price-panel .price__value--discount {
            color: var(--accent);
        }

        .item-price-panel .soldout,
        .item-price-panel .comingSoon {
            display: inline-flex;
            margin-top: 18px;
            font-family: var(--font-eng);
            font-size: 0.86rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .item-price-panel .soldout {
            color: var(--sold-out-text-color);
        }

        .item-price-panel .comingSoon {
            color: var(--sub);
        }

        .purchase-panel {
            display: flex;
            flex-direction: column;
            gap: 18px;
            margin-top: 26px;
        }

        .purchase-panel > * {
            width: 100%;
            min-width: 0;
        }

        .purchase-panel form,
        .purchase-panel .purchaseButton {
            width: 100%;
        }

        .purchase-panel [class*="select"],
        .purchase-panel [class*="Select"],
        .purchase-panel [class*="variation"],
        .purchase-panel [class*="Variation"],
        .purchase-panel [class*="bootstrap"],
        .purchase-panel [id*="select"],
        .purchase-panel [id*="Select"] {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
        }

        .purchase-panel select,
        .purchase-panel input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]) {
            width: 100% !important;
            max-width: 100% !important;
            min-height: 48px;
            padding: 0 14px;
            border: 1px solid var(--item-selector-border-color);
            background: var(--item-selector-background-color);
            color: var(--item-selector-text-color);
            outline: none;
        }

        .purchase-panel .bootstrap-select > .dropdown-toggle,
        .purchase-panel .bootstrap-select > .btn,
        .purchase-panel .bootstrap-select .btn.dropdown-toggle {
            border: 1px solid var(--item-selector-border-color);
            background: var(--item-selector-background-color);
            color: var(--item-selector-text-color);
            box-shadow: none;
        }

        .purchase-panel select:focus,
        .purchase-panel input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]):focus,
        .purchase-panel .bootstrap-select > .dropdown-toggle:hover,
        .purchase-panel .bootstrap-select > .dropdown-toggle:focus,
        .purchase-panel .bootstrap-select > .btn:hover,
        .purchase-panel .bootstrap-select > .btn:focus,
        .purchase-panel .bootstrap-select .btn.dropdown-toggle:hover,
        .purchase-panel .bootstrap-select .btn.dropdown-toggle:focus {
            border-color: var(--item-selector-border-color);
            background: var(--item-selector-background-color);
            color: var(--item-selector-text-color);
            box-shadow: none;
        }

        .purchase-panel .bootstrap-select .dropdown-menu,
        .purchase-panel .dropdown-menu {
            border-color: var(--item-selector-border-color);
            background: var(--item-selector-background-color);
        }

        .purchase-panel .bootstrap-select .dropdown-menu > li > a,
        .purchase-panel .dropdown-menu > li > a {
            color: var(--item-selector-text-color);
        }

        .purchase-panel .bootstrap-select .caret {
            border-top-color: var(--item-selector-text-color);
        }

        .purchase-panel .purchaseButton__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            min-height: 54px;
            padding: 0 20px;
            border: 1px solid var(--add-to-cart-button-background-color);
            background: var(--add-to-cart-button-background-color);
            color: var(--add-to-cart-button-text-color);
            font-family: var(--font-eng);
            font-size: 0.88rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .purchase-panel .purchaseButton__btn:hover {
            background: transparent;
            color: var(--add-to-cart-button-background-color);
            opacity: 1;
        }

        .item-attention {
            color: var(--item-attention-text-color);
            font-size: 1.0625rem;
        }

        .item-attention a {
            color: var(--item-attention-text-color);
        }

        .purchase-panel .twitter,
        .purchase-panel .facebook,
        .purchase-panel .fb-share-button,
        .purchase-panel .fb_iframe_widget,
        .purchase-panel .twitter-share-button,
        .purchase-panel iframe[id^="twitter-widget-"],
        .purchase-panel iframe[src*="platform.twitter.com"],
        .purchase-panel iframe[src*="facebook.com"],
        .purchase-panel [href*="pinterest.com/pin/create/button"],
        .purchase-panel [class*="pinterest"],
        .purchase-panel [data-pin-href],
        .purchase-panel [data-pin-do] {
            display: none !important;
        }

        .item-share-buttons {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
            width: 100%;
            padding-top: 12px;
            border-top: 1px solid var(--item-detail-border-color);
        }

        .item-share-buttons__label {
            color: var(--sub);
            font-family: var(--font-eng);
            font-size: 0.78rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }

        .item-share-buttons__list {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            width: 100%;
        }

        .item-share-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            width: 48px;
            height: 48px;
            border-radius: 999px;
            color: #ffffff;
            transition: transform 0.25s ease, opacity 0.25s ease;
        }

        .item-share-button svg {
            width: 22px;
            height: 22px;
            display: block;
        }

        .item-share-button:hover {
            opacity: 1;
            transform: translateY(-1px);
        }

        .item-share-button--x {
            background: #111111;
        }

        .item-share-button--instagram {
            background: linear-gradient(135deg, #f58529 0%, #feda77 18%, #dd2a7b 52%, #8134af 76%, #515bd4 100%);
        }

        .report-button {
            padding-top: 10px;
        }

        .item-description-panel {
            margin-top: 28px;
            position: relative;
            z-index: 1;
        }

        .item-description-panel__title {
            margin-bottom: 20px;
            font-family: var(--font-eng);
            font-size: 0.92rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--sub);
        }

        .item-description-panel .richtext {
            color: var(--item-detail-text-color);
            font-size: 1.0625rem;
            overflow-wrap: anywhere;
            word-break: break-word;
        }

        .mobile-lightbox {
            position: fixed;
            inset: 0;
            z-index: 100020;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 18px 14px;
            background: rgba(17, 17, 17, 0.88);
        }

        .mobile-lightbox.is-open {
            display: flex;
        }

        .mobile-lightbox__inner {
            position: relative;
            width: min(100%, 1180px);
            min-height: calc(100vh - 36px);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 76px;
        }

        .mobile-lightbox__image-wrap {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            max-height: calc(100vh - 96px);
        }

        .mobile-lightbox__image {
            display: block;
            width: auto;
            max-width: 100%;
            height: auto;
            max-height: calc(100vh - 96px);
            object-fit: contain;
        }

        .mobile-lightbox__button {
            position: absolute;
            z-index: 2;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 46px;
            height: 46px;
            padding: 0;
            border: 1px solid rgba(255, 255, 255, 0.22);
            background: rgba(17, 17, 17, 0.28);
            color: #ffffff;
            backdrop-filter: blur(8px);
        }

        .mobile-lightbox__button[hidden] {
            display: none !important;
        }

        .mobile-lightbox__button--close {
            top: 8px;
            right: 8px;
        }

        .mobile-lightbox__button--prev,
        .mobile-lightbox__button--next {
            top: 50%;
            transform: translateY(-50%);
        }

        .mobile-lightbox__button--prev {
            left: 0;
        }

        .mobile-lightbox__button--next {
            right: 0;
        }

        .mobile-lightbox__button::before,
        .mobile-lightbox__button::after {
            content: "";
            position: absolute;
            width: 10px;
            height: 10px;
        }

        .mobile-lightbox__button--close::before,
        .mobile-lightbox__button--close::after {
            width: 18px;
            height: 1px;
            background: currentColor;
        }

        .mobile-lightbox__button--close::before {
            transform: rotate(45deg);
        }

        .mobile-lightbox__button--close::after {
            transform: rotate(-45deg);
        }

        .mobile-lightbox__button--prev::before,
        .mobile-lightbox__button--next::before {
            border-top: 1px solid currentColor;
            border-right: 1px solid currentColor;
        }

        .mobile-lightbox__button--prev::before {
            transform: rotate(-135deg);
            margin-left: 4px;
        }

        .mobile-lightbox__button--next::before {
            transform: rotate(45deg);
            margin-right: 4px;
        }

        .purchaseButtonModal__wrapper {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 24px;
            background: rgba(17, 17, 17, 0.44);
            z-index: 99995;
        }

        .purchaseButtonModal__container {
            position: relative;
            width: min(100%, 560px);
            max-height: min(calc(100vh - 48px), 760px);
            overflow: auto;
            padding: 34px 32px 30px;
            border: 1px solid var(--line);
            background: #ffffff;
            color: var(--text);
            box-shadow: 0 24px 60px rgba(17, 17, 17, 0.22);
        }

        .purchaseButtonModal__submit,
        .purchaseButtonModal__result {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .purchaseButtonModal__title {
            margin: 0;
            padding-right: 36px;
            color: var(--text);
            font-family: var(--font-main);
            font-size: clamp(1.3rem, 2vw, 1.6rem);
            line-height: 1.35;
            letter-spacing: 0.04em;
        }

        .purchaseButtonModal__inner {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .purchaseButtonModal__text,
        .purchaseButtonModal__label,
        .purchaseButtonModal__resultText,
        .purchaseButtonModal__ageVerificationWarningText,
        .purchaseButtonModal__informationText {
            margin: 0;
        }

        .purchaseButtonModal__text {
            color: var(--sub);
            font-size: 0.95rem;
            line-height: 1.8;
        }

        .purchaseButtonModal__label {
            color: var(--text);
            font-size: 0.88rem;
            line-height: 1.6;
            letter-spacing: 0.04em;
        }

        .purchaseButtonModal__input,
        .purchaseButtonModal__input[type="text"],
        .purchaseButtonModal__input[type="number"] {
            width: 100%;
            min-height: 56px;
            padding: 0 18px;
            border: 1px solid var(--accent);
            border-radius: 0;
            background: #ffffff;
            color: var(--text);
            font-family: var(--font-main);
            font-size: 1rem;
            line-height: 1.5;
            box-shadow: none;
            appearance: none;
        }

        .purchaseButtonModal__input:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.08);
        }

        .purchaseButtonModal__inputArea {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }

        .purchaseButtonModal__inputAreaLabel {
            color: var(--text);
            font-size: 0.95rem;
            line-height: 1.6;
            white-space: nowrap;
        }

        .ageVerificationModal__input {
            width: 128px;
            min-width: 128px;
            text-align: center;
        }

        .purchaseButtonModal__error {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin: 0;
            color: #b42318;
            font-size: 0.84rem;
            line-height: 1.7;
        }

        .purchaseButtonModal__errorIcon {
            width: 15px;
            height: 15px;
            margin-top: 2px;
            object-fit: contain;
        }

        .purchaseButtonModal__information {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding: 14px 16px;
            border: 1px solid var(--line);
            background: var(--bg-soft);
        }

        .purchaseButtonModal__information .si-information {
            flex: 0 0 auto;
            color: var(--accent);
            font-size: 1rem;
            line-height: 1;
        }

        .purchaseButtonModal__informationText {
            color: var(--sub);
            font-size: 0.84rem;
            line-height: 1.7;
        }

        .purchaseButtonModal__resultText {
            color: var(--text);
            font-size: 1rem;
            line-height: 1.7;
            font-weight: 600;
        }

        .ageVerificationModal__footer .cot-itemOrder-ageVerification-footer {
            display: flex;
            flex-direction: column;
            gap: 14px;
        }

        .purchaseButtonModal__ageVerificationWarningText,
        .ageVerificationModal__warningText {
            color: var(--sub);
            font-size: 0.82rem;
            line-height: 1.7;
        }

        .purchaseButtonModal__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 54px;
            padding: 0 28px;
            border: 1px solid var(--accent);
            border-radius: 999px;
            background: var(--accent);
            color: #ffffff;
            font-family: var(--font-main);
            font-size: 0.92rem;
            line-height: 1;
            letter-spacing: 0.06em;
            text-align: center;
            cursor: pointer;
            transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
        }

        .purchaseButtonModal__btn:hover {
            opacity: 0.88;
        }

        .purchaseButtonModal__btn--close {
            background: #ffffff;
            color: var(--accent);
        }

        .purchaseButtonModal__btn[disabled] {
            opacity: 0.38;
            cursor: not-allowed;
        }

        .purchaseButtonModal__closeIcon {
            position: absolute;
            top: 14px;
            right: 14px;
            width: 32px;
            height: 32px;
            padding: 0;
            border: 0;
            background: transparent;
            cursor: pointer;
        }

        .purchaseButtonModal__closeIcon::before,
        .purchaseButtonModal__closeIcon::after {
            content: "";
            position: absolute;
            top: 15px;
            left: 7px;
            width: 18px;
            height: 1px;
            background: var(--text);
        }

        .purchaseButtonModal__closeIcon::before {
            transform: rotate(45deg);
        }

        .purchaseButtonModal__closeIcon::after {
            transform: rotate(-45deg);
        }

        #cboxOverlay {
            position: fixed !important;
            inset: 0;
            background: rgba(17, 17, 17, 0.32) !important;
            z-index: 99980 !important;
        }

        #colorbox {
            position: fixed !important;
            top: 50% !important;
            left: 50% !important;
            transform: translate(-50%, -50%) !important;
            margin: 0 !important;
            z-index: 99990 !important;
            max-width: calc(100vw - 32px) !important;
        }

        #colorbox #cboxContent {
            background: #ffffff;
            box-shadow: 0 24px 60px rgba(17, 17, 17, 0.18);
        }

        #colorbox #cboxLoadedContent {
            max-height: calc(100vh - 80px) !important;
            overflow: auto !important;
        }

        #colorbox #cboxWrapper,
        #colorbox #cboxContent {
            max-width: calc(100vw - 32px) !important;
            max-height: calc(100vh - 32px) !important;
        }

        #colorbox.itemCb {
            width: min(calc(100vw - 32px), 960px) !important;
        }

        #colorbox.itemCb #cboxContent {
            background: transparent;
            box-shadow: none;
        }

        #colorbox.itemCb #cboxLoadedContent {
            display: flex !important;
            align-items: center;
            justify-content: center;
            overflow: hidden !important;
            background: transparent;
        }

        #colorbox.itemCb #cboxPhoto,
        #colorbox.itemCb #cboxLoadedContent img {
            display: block;
            width: auto !important;
            max-width: 100% !important;
            height: auto !important;
            max-height: calc(100vh - 120px) !important;
            margin: 0 auto !important;
            object-fit: contain;
        }

        .richtext,
        .richtext * {
            max-width: 100%;
        }

        .richtext p,
        .richtext li,
        .richtext dd,
        .richtext dt {
            margin-bottom: 1em;
        }

        .richtext img {
            height: auto;
        }

        #appsItemDetailCustom {
            margin-top: 20px;
        }

        #appsItemDetailCustom #appsItemDetailCustomTag {
            max-width: 100%;
        }

        .site-footer {
            padding: clamp(52px, 7vw, 88px) 0 32px;
            border-top: 1px solid var(--line);
            background: var(--footer-bg);
            color: var(--footer-text);
        }

        .footer-upper {
            display: grid;
            align-items: start;
            grid-template-columns: minmax(0, 1fr) minmax(320px, 460px) minmax(140px, 220px);
            gap: 36px 48px;
            padding-bottom: 36px;
            border-bottom: 1px solid var(--line);
        }

        .footer-brand {
            display: flex;
            flex-direction: column;
            gap: 18px;
        }

        .footer-brand__copy {
            max-width: 420px;
            color: var(--footer-text);
            opacity: 0.72;
            font-size: 0.92rem;
            line-height: 1.9;
        }

        .footer-logo {
            display: inline-flex;
            align-items: center;
            max-width: 220px;
            color: var(--footer-text);
            font-family: var(--font-eng);
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .footer-logo img {
            width: auto;
            max-height: 34px;
        }

        .footer-nav-area {
            width: min(100%, 460px);
        }

        .footer-heading {
            margin-bottom: 14px;
            font-family: var(--font-eng);
            font-size: 0.82rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--footer-text);
            opacity: 0.72;
        }

        .footer-heading--nav,
        .footer-heading--social {
            color: var(--footer-heading-color);
            opacity: 1;
        }

        .footer-nav {
            column-count: 2;
            column-gap: 32px;
            margin: 0;
            padding: 0;
        }

        .footer-nav li {
            margin: 0 0 10px;
            list-style: none;
            break-inside: avoid;
        }

        .footer-nav li + li {
            margin-top: 0;
        }

        .footer-nav a {
            display: inline-flex;
            max-width: 100%;
            color: var(--footer-menu-color);
            line-height: 1.45;
        }

        .footer-lower {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding-top: 22px;
            color: var(--footer-text);
            font-size: 0.82rem;
        }

        .footer-lower__utility {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            flex: 1;
        }

        .footer-base-menu {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 0;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .footer-base-menu > li {
            margin: 0;
            list-style: none;
        }

        .footer-base-menu > li a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
            color: var(--footer-text);
        }

        .footer-base-menu > li img,
        .footer-base-menu > li svg,
        .footer-base-menu > li object,
        .footer-base-menu > li i {
            width: 16px !important;
            height: 16px !important;
            max-width: 16px !important;
            max-height: 16px !important;
            font-size: 16px !important;
        }

        #baseMenu > ul > li:not(.base) a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            background: var(--text);
            border-radius: 50%;
            color: #ffffff;
            transform: none;
        }

        #baseMenu > ul > li:not(.base) img,
        #baseMenu > ul > li:not(.base) svg,
        #baseMenu > ul > li:not(.base) object,
        #baseMenu > ul > li:not(.base) i {
            width: 16px !important;
            height: 16px !important;
            max-width: 16px !important;
            max-height: 16px !important;
            filter: brightness(0) invert(1) !important;
            font-size: 18px !important;
        }

        .mCSB_scrollTools {
            opacity: 1 !important;
        }

        .bx-wrapper {
            margin: 0;
            box-shadow: none;
            border: 0;
            background: transparent;
        }

        .appsItemLabelTag,
        .item-label-tag {
            z-index: 2;
            background: var(--item-label-background-color) !important;
            color: var(--item-label-text-color) !important;
            border: 1px solid var(--item-label-border-color) !important;
        }

        .appsItemLabelTag > *,
        .item-label-tag > * {
            background: var(--item-label-background-color) !important;
            border-color: var(--item-label-border-color) !important;
        }

        .appsItemLabelTag *,
        .item-label-tag * {
            color: inherit !important;
            border-color: var(--item-label-border-color) !important;
        }

        @media (max-width: 1100px) {
            #baseMenu {
                right: 32px;
            }

            .header-inner {
                gap: 18px;
            }

            .brand-logo {
                max-width: 184px;
            }

            .header-nav-wrap {
                min-width: 0;
                gap: 16px;
                padding-right: 92px;
            }

            .header-nav {
                min-width: 0;
            }

            .nav-list {
                gap: 12px;
            }

            .nav-list a,
            .category-menu__trigger {
                font-size: 0.94rem;
                letter-spacing: 0.08em;
            }

            .item-layout {
                grid-template-columns: 1fr;
            }

            .item-gallery-panel,
            .item-summary {
                position: static;
            }

            .pickup-feature__card {
                grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
                gap: 36px 42px;
            }

            .pickup-feature__stage {
                min-height: 500px;
                padding: 28px;
            }

            .pickup-feature__media {
                min-height: 420px;
            }

        }

        @media (max-width: 900px) {
            .home-section + .home-section::before,
            #homeNews + #homeFeatures::before,
            .feature-band + .home-section::before,
            .page-shell + .page-shell::before {
                width: calc(100% - 48px);
                background: linear-gradient(90deg, var(--accent) 0 56px, var(--line) 56px 100%);
            }

            .section-head,
            .page-intro,
            .footer-upper {
                grid-template-columns: 1fr;
            }

            .section-head,
            .page-intro {
                display: grid;
            }

            .gallery-section__tools,
            .about-grid,
            .footer-upper {
                grid-template-columns: 1fr;
            }

            .footer-nav-area {
                width: min(100%, 560px);
            }

            .item-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .page-intro--category {
                margin-bottom: 56px;
            }

            .page-shell--category .item-grid {
                gap: 42px 24px;
            }

            .hero-layout {
                grid-template-columns: 1fr;
                gap: 28px;
                min-height: 0;
                align-items: start;
            }

            .hero-slide {
                min-height: 0;
            }

            .hero-slider {
                min-height: 0;
                width: 100%;
                max-width: none;
                justify-self: stretch;
            }

            .hero-slide__heading {
                max-width: 100%;
                width: auto;
                white-space: normal;
                overflow-wrap: anywhere;
            }

            .hero-slide__content {
                width: 100%;
                max-width: 100%;
                min-width: 0;
                margin-right: 0;
                padding: 24px 0 0;
            }

            .hero-slide__description {
                max-width: 100%;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            .hero-slide__media {
                width: 100%;
                min-width: 0;
                min-height: 0;
                transform: none;
            }

            .hero-controls {
                right: 20px;
                bottom: 20px;
            }

            #slideImgPager li {
                flex-basis: 96px;
            }

            .feature-band__track {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .pickup-feature__card {
                grid-template-columns: 1fr;
                gap: 24px;
            }

            .pickup-feature__stage {
                min-height: 0;
                padding: 24px;
            }

            .pickup-feature__media {
                min-height: 360px;
            }

            .pickup-feature__visual img {
                max-height: 360px;
            }

            .pickup-feature__info {
                gap: 18px;
                padding: 0;
            }

            .gallery-section .tool-panel--search {
                width: min(100%, 680px);
            }

            .page-content-shell--contact {
                width: min(calc(100% - 40px), 900px);
                padding: 0;
            }

            .page-content-shell--contact .contact-page__layout {
                gap: 0;
            }

            .page-content-shell--contact .contact-page__intro h1,
            .page-content-shell--contact .contact-page__intro h2,
            .page-content-shell--contact .contact-page__intro h3 {
                font-size: clamp(2rem, 6vw, 2.6rem);
                margin-bottom: 0;
                line-height: 1.2;
                letter-spacing: 0.04em;
                writing-mode: horizontal-tb;
                text-orientation: mixed;
            }

            .page-content-shell--contact .contact-page__intro h1::after,
            .page-content-shell--contact .contact-page__intro h2::after,
            .page-content-shell--contact .contact-page__intro h3::after {
                margin-top: 18px;
                background: linear-gradient(90deg, var(--accent) 0 56px, var(--line) 56px 100%);
            }

            .page-content-shell--contact .contact-page__form,
            .page-content-shell--contact #inquiryCompleteSection {
                width: min(100%, 760px);
                padding: 0;
            }
        }

        @media (max-width: 768px) {
            :root {
                --header-height: 74px;
            }

            .site-header {
                overflow: visible;
                background: #ffffff;
                backdrop-filter: none;
            }

            .shell,
            .shell--narrow,
            .item-shell {
                width: min(calc(100% - 32px), var(--container));
            }

            .page-content-shell--contact {
                width: min(calc(100% - 32px), var(--container));
                padding: 0;
            }

            .page-content-shell--app {
                padding-top: 0;
            }

            .page-content-shell--app-community {
                width: 100%;
            }

            .page-content-shell--app-community #appPageContentsBody .communityMain .communityTitle {
                padding-bottom: 22px;
            }

            .page-content-shell--app-community #appPageContentsBody .communityMain .communityTitle::after {
                margin-top: 18px;
                background: linear-gradient(90deg, var(--accent) 0 56px, var(--line) 56px 100%);
            }

            .page-content-shell--contact .contact-page__intro h1,
            .page-content-shell--contact .contact-page__intro h2,
            .page-content-shell--contact .contact-page__intro h3 {
                font-size: clamp(1.7rem, 8vw, 2.2rem);
                margin-bottom: 0;
                letter-spacing: 0.06em;
            }

            .page-content-shell--contact .contact-page__intro p {
                font-size: 0.88rem;
                line-height: 1.9;
            }

            .page-content-shell--contact .contact-page__form,
            .page-content-shell--contact #inquiryCompleteSection {
                width: 100%;
                padding: 0;
            }

            .page-content-shell--contact .contact-page__form dl dt {
                font-size: 0.88rem;
                margin-bottom: 6px;
            }

            .page-content-shell--contact .contact-page__form dl dd {
                margin-bottom: 18px;
            }

            .page-content-shell--contact .contact-page__form dl dd input,
            .page-content-shell--contact .contact-page__form dl dd textarea,
            .page-content-shell--contact .contact-page__form dl dd select {
                min-height: 54px;
                font-size: 16px;
            }

            .page-content-shell--contact .contact-page__form dl dd textarea {
                min-height: 184px;
            }

            .page-content-shell--contact .contact-page__form .control-panel input#buttonLeave,
            .page-content-shell--contact #inquiryCompleteSection a {
                min-width: 172px;
                min-height: 54px;
            }

            .page-app-intro--blog {
                align-items: center;
                gap: 8px;
                margin-bottom: 36px;
                padding-top: 0;
                text-align: center;
            }

            .page-app-intro--section {
                align-items: center;
                gap: 8px;
                margin-bottom: 36px;
                padding-top: 0;
                text-align: center;
            }

            .page-content-shell--app-blog {
                gap: 28px;
            }

            .page-content-shell--app-default {
                gap: 32px;
            }

            .page-app-intro--blog .page-app-intro__title {
                font-size: 2rem;
            }

            .page-app-intro--blog .page-app-intro__title::after {
                margin-top: 18px;
                background: linear-gradient(90deg, var(--accent) 0 56px, var(--line) 56px 100%);
            }

            .page-app-intro--section .page-app-intro__title::after {
                margin-top: 18px;
                background: linear-gradient(90deg, var(--accent) 0 56px, var(--line) 56px 100%);
            }

            .page-app-intro--blog .page-app-intro__subtitle {
                font-size: 0.84rem;
                letter-spacing: 0.1em;
            }

            .page-content-shell--app-default .page-app-contents > h1:first-child,
            .page-content-shell--app-default .page-app-contents > h2:first-child,
            .page-content-shell--app-default .page-app-contents > .main > h1:first-child,
            .page-content-shell--app-default .page-app-contents > .main > h2:first-child {
                font-size: clamp(1.9rem, 9vw, 2.5rem);
            }

            .page-content-shell--app-default .page-app-contents > h1:first-child + p,
            .page-content-shell--app-default .page-app-contents > h2:first-child + p,
            .page-content-shell--app-default .page-app-contents > .main > h1:first-child + p,
            .page-content-shell--app-default .page-app-contents > .main > h2:first-child + p {
                font-size: 0.84rem;
                letter-spacing: 0.1em;
            }

            .page-content-shell--app-membership .page-app-contents > h1:first-child,
            .page-content-shell--app-membership .page-app-contents > h2:first-child,
            .page-content-shell--app-membership .page-app-contents > .main > h1:first-child,
            .page-content-shell--app-membership .page-app-contents > .main > h2:first-child,
            .page-content-shell--app-membership .app-page-lead-title {
                font-size: clamp(2rem, 4.5vw, 3.2rem) !important;
                padding-bottom: 22px;
            }

            .page-content-shell--app-membership .page-app-contents .p-membership__title,
            .page-content-shell--app-membership .page-app-contents .p-membership__title.c-title {
                font-size: clamp(2rem, 4.5vw, 3.2rem) !important;
            }

            .page-content-shell--app-membership .page-app-contents > h1:first-child::after,
            .page-content-shell--app-membership .page-app-contents > h2:first-child::after,
            .page-content-shell--app-membership .page-app-contents > .main > h1:first-child::after,
            .page-content-shell--app-membership .page-app-contents > .main > h2:first-child::after,
            .page-content-shell--app-membership .app-page-lead-title::after {
                margin-top: 18px;
                background: linear-gradient(90deg, var(--accent) 0 56px, var(--line) 56px 100%);
            }

            .feature-band {
                padding-bottom: 32px;
            }

            .feature-band__header {
                margin-bottom: 20px;
            }

            .feature-band__track {
                grid-template-columns: 1fr;
                gap: 0;
                border-top: 1px solid var(--line);
                background: transparent;
            }

            .feature-band__item {
                min-height: 0;
                padding: 20px 0 26px;
                border: 0;
                border-bottom: 1px solid var(--line);
                background: transparent;
                overflow: visible;
            }

            .feature-band__content {
                gap: 12px;
            }

            .feature-band__number {
                position: static;
                justify-self: start;
                margin: 0 0 10px;
                color: var(--features-number-color);
                font-size: clamp(3.6rem, 15vw, 4.8rem);
                line-height: 0.9;
            }

            .feature-band__title {
                font-size: 0.9rem;
                line-height: 1.45;
            }

            .feature-band__title-main {
                font-size: clamp(1.02rem, 4.8vw, 1.35rem);
            }

            .feature-band__title-sub {
                margin-top: 6px;
                font-size: 0.52rem;
                letter-spacing: 0.12em;
            }

            .feature-band__text {
                font-size: 0.82rem;
                line-height: 1.95;
            }

            #i18 {
                left: 12px;
                right: 12px;
                gap: 6px;
            }

            #i18 select {
                min-width: 104px;
                padding: 7px 30px 7px 12px;
                font-size: 10px;
            }

            #baseMenu {
                top: calc(var(--information-banner-height, 0px) + (var(--header-height) / 2));
                right: 28px;
                transform: translateY(-50%);
            }

            #baseMenu > ul > li:not(.base) a {
                transform: none;
            }

            .header-inner {
                gap: 16px;
                position: relative;
            }

            .brand-logo {
                max-width: 156px;
                font-size: 0.9rem;
                letter-spacing: 0.1em;
            }

            .brand-logo img {
                max-height: 28px;
            }

            .menu-toggle {
                display: inline-flex;
            }

            .header-nav-wrap {
                position: absolute;
                top: calc(100% + 1px);
                left: -16px;
                right: -16px;
                bottom: auto;
                display: flex;
                flex-direction: column;
                align-items: stretch;
                justify-content: flex-start;
                gap: 0;
                height: calc(100dvh - var(--information-banner-height, 0px) - var(--header-height) - 1px);
                min-height: calc(100dvh - var(--information-banner-height, 0px) - var(--header-height) - 1px);
                max-height: calc(100dvh - var(--information-banner-height, 0px) - var(--header-height) - 1px);
                padding: 0;
                z-index: 1450;
                border-top: 1px solid var(--line);
                background: transparent;
                box-shadow: none;
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
                transition: opacity 0.25s ease, visibility 0.25s ease, background-color 0.25s ease;
                overflow: hidden;
            }

            .header-nav-wrap.is-open {
                background: rgba(17, 17, 17, 0.28);
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
            }

            .header-nav {
                display: block;
                width: min(80vw, 420px);
                height: 100%;
                margin-left: auto;
                padding: 14px 24px 30px;
                border-left: 1px solid var(--line);
                background: #ffffff;
                box-shadow: 0 24px 48px rgba(17, 17, 17, 0.08);
                overflow-y: auto;
                transform: translateX(18px);
                transition: transform 0.25s ease;
                -webkit-overflow-scrolling: touch;
            }

            .header-nav-wrap.is-open .header-nav {
                transform: translateX(0);
            }

            .nav-list {
                flex-direction: column;
                align-items: flex-start;
                gap: 16px;
            }

            .nav-list a,
            .category-menu__trigger {
                font-size: 0.94rem;
                font-weight: 600;
                letter-spacing: 0.14em;
            }

            .category-menu,
            .category-menu__panel {
                width: 100%;
            }

            .category-menu__panel {
                position: static;
                min-width: 0;
                width: 100%;
                max-height: none;
                margin-top: 12px;
                padding: 0;
                border: 0;
                box-shadow: none;
                opacity: 1;
                visibility: visible;
                transform: none;
                display: block;
            }

            .category-menu.is-open .category-menu__panel {
                display: block;
            }

            .category-menu__trigger {
                display: block;
                width: 100%;
                padding: 0;
                font-family: var(--font-eng);
                font-size: 0.94rem;
                letter-spacing: 0.14em;
                text-align: left;
                text-transform: uppercase;
            }

            .category-menu__trigger::after {
                display: none;
            }

            .category-menu__trigger::before {
                display: none;
            }

            .category-menu__list {
                gap: 18px;
            }

            .category-menu__primary {
                font-size: 0.92rem;
                line-height: 1.7;
            }

            .category-menu__secondary {
                margin-top: 10px;
                margin-left: 0;
                gap: 10px;
                padding-left: 14px;
            }

            .category-menu__secondary a {
                font-size: 0.82rem;
                line-height: 1.7;
            }

            .hero {
                display: block;
                min-height: auto;
                padding-top: 40px;
            }

            .hero::after {
                display: none;
            }

            .hero-slider {
                min-height: 0;
            }

            .hero-slide__label {
                font-size: 0.88rem;
                margin-bottom: 16px;
            }

            .hero-slide__heading {
                font-size: clamp(2.2rem, 10vw, 3.4rem);
                margin-bottom: 18px;
                line-height: 1;
                width: auto;
                max-width: 100%;
                white-space: normal;
                overflow-wrap: anywhere;
            }

            .hero-slide__description {
                max-width: 100%;
                margin-bottom: 28px;
                font-size: 1.0625rem;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            .hero-slide__content {
                width: 100%;
                max-width: 100%;
                margin-right: 0;
                padding-top: 12px;
                min-width: 0;
            }

            .hero-slide__media {
                min-height: 260px;
                transform: none;
                min-width: 0;
            }

            .hero-slide__media--image {
                min-height: 0;
            }

            .hero-slide__media--image img {
                position: relative;
                inset: auto;
                width: 100%;
                height: auto;
                object-fit: contain;
            }

            .hero .line-button {
                font-size: 0.96rem;
                padding-right: 52px;
            }

            .mailmagazine-section {
                padding-top: 28px;
            }

            body:not(#shopTopPage) .mailmagazine-section {
                padding-top: 0;
            }

            .mailmagazine-panel {
                padding: 28px 18px;
                gap: 14px;
            }

            .mailmagazine-panel .mailMagazineSubscribe_input,
            .mailmagazine-panel .x_mailMagazineSubscribe_input {
                min-height: 56px;
                padding-right: 74px;
            }

            .mailmagazine-panel .mailMagazineSubscribe_submit,
            .mailmagazine-panel .x_mailMagazineSubscribe_submit {
                right: 6px;
                width: 40px;
                min-width: 40px;
                min-height: 40px;
                height: 40px;
            }

            .feature-band {
                padding-bottom: 48px;
            }

            .feature-band__header {
                display: grid;
                grid-template-columns: 1fr;
                margin-bottom: 18px;
            }

            .feature-band__header-copy {
                grid-column: auto;
                justify-self: stretch;
                width: 100%;
                text-align: left;
                align-items: flex-start;
            }

            .feature-band__track {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 14px;
                border: 0;
                background: transparent;
            }

            .feature-band__track::-webkit-scrollbar {
                display: none;
            }

            .feature-band__item {
                position: relative;
                grid-template-columns: 1fr;
                align-items: start;
                gap: 12px;
                min-width: 0;
                min-height: 220px;
                padding: 64px 14px 18px;
                border: 1px solid var(--line);
                background: #ffffff;
                overflow: hidden;
            }

            .feature-band__content {
                gap: 10px;
                min-width: 0;
            }

            .feature-band__number {
                position: absolute;
                top: 12px;
                right: 12px;
                order: 0;
                justify-self: auto;
                margin: 0;
                font-size: clamp(2.4rem, 10vw, 3.3rem);
                line-height: 0.88;
            }

            .feature-band__title {
                display: block;
                gap: 0;
                font-size: 0.94rem;
                line-height: 1.45;
                letter-spacing: 0.02em;
            }

            .feature-band__title-main {
                display: block;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            .feature-band__title-sub {
                display: block;
                margin-top: 4px;
                font-size: 0.56rem;
                line-height: 1.4;
                letter-spacing: 0.1em;
            }

            .feature-band__text {
                font-size: 0.8rem;
                line-height: 1.72;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            .pickup-feature__stage {
                padding: 16px;
            }

            .pickup-feature__stage::before {
                min-width: 94px;
                min-height: 38px;
                padding: 0 16px;
                font-size: 0.84rem;
            }

            .pickup-feature__media {
                min-height: 240px;
            }

            .pickup-feature__visual img {
                max-width: min(100%, 240px);
                max-height: 240px;
            }

            .pickup-feature__title {
                font-size: 1.3rem;
                line-height: 1.55;
            }

            .pickup-feature__description {
                font-size: 1.0625rem;
                line-height: 1.95;
            }

            .pickup-feature__button {
                width: 100%;
                min-width: 0;
                min-height: 60px;
            }

            .gallery-section__head .section-title {
                font-size: clamp(1.65rem, 8.6vw, 2.6rem);
            }

            .gallery-section .tool-panel--search .gallery-search {
                height: 58px;
                padding: 0 18px;
            }

            .gallery-section .tool-panel--search .gallery-search input {
                font-size: 0.98rem;
            }

            .section-title,
            .page-title {
                letter-spacing: 0.04em;
                font-size: clamp(1.65rem, 8.6vw, 2.6rem);
                white-space: nowrap;
            }

            .news-item {
                grid-template-columns: 1fr;
                gap: 12px;
            }

            .news-date {
                grid-column: auto;
            }

            .item-grid {
                grid-template-columns: 1fr;
            }

            #main-gallery .item-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 28px 18px;
            }

            .page-shell--category .shell {
                width: min(calc(100% - 32px), var(--container));
            }

            .page-intro--category {
                gap: 10px;
                margin-bottom: 40px;
            }

            .page-title--category {
                font-size: clamp(2.1rem, 10vw, 3rem);
            }

            .page-shell--category .item-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 34px 18px;
            }

            .page-shell--category .item-card {
                gap: 12px;
            }

            .page-shell--category .item-card__body {
                gap: 4px;
            }

            .page-shell--category .item-card__title {
                font-size: 0.94rem;
                line-height: 1.5;
            }

            .page-shell--category .item-card__price {
                font-size: 0.92rem;
            }

            #main-gallery .item-card {
                gap: 12px;
            }

            #main-gallery .item-card__body {
                gap: 4px;
            }

            #main-gallery .item-card__title {
                font-size: 0.96rem;
                line-height: 1.55;
            }

            #main-gallery .item-card__price {
                font-size: 0.94rem;
            }

            #slideImgPager {
                gap: 10px;
                padding-bottom: 2px;
            }

            #slideImgPager li {
                flex: 0 0 72px;
            }

            .item-price-panel,
            .item-description-panel,
            .about-copy,
            .page-content-shell {
                padding: 24px;
            }

            .page-shell--item {
                padding-top: 28px;
            }

            .item-layout {
                gap: 22px;
            }

            .item-gallery-shell {
                gap: 12px;
            }

            .item-summary {
                gap: 18px;
            }

            .item-summary__title {
                font-size: clamp(1.45rem, 7vw, 1.85rem);
                line-height: 1.42;
                overflow-wrap: anywhere;
            }

            .item-price-panel .price__value {
                font-size: clamp(1.22rem, 6vw, 1.6rem);
            }

            .item-price-panel .price__value--proper {
                font-size: 0.92rem;
            }

            .purchase-panel {
                gap: 14px;
                margin-top: 20px;
            }

            .purchase-panel .purchaseButton__btn {
                min-height: 50px;
                font-size: 0.8rem;
                letter-spacing: 0.14em;
            }

            .item-share-buttons__list {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .item-share-button {
                width: 100%;
                min-width: 0;
                padding: 0 10px;
                font-size: 0.76rem;
                letter-spacing: 0.12em;
            }

            .item-description-panel {
                margin-top: 22px;
            }

            .item-description-panel .richtext,
            .item-description-panel .richtext p,
            .item-description-panel .richtext li,
            .item-description-panel .richtext dd,
            .item-description-panel .richtext dt {
                font-size: 0.93rem;
                line-height: 1.95;
            }

            .about-shell .page-title {
                font-size: clamp(1.45rem, 8.2vw, 2.2rem);
                letter-spacing: 0.04em;
            }

            .footer-lower {
                flex-direction: column;
                align-items: flex-start;
            }
        }

        @media (max-width: 480px) {
            .footer-nav {
                column-count: 1;
            }

            .brand-logo {
                max-width: 138px;
                font-size: 0.82rem;
                letter-spacing: 0.08em;
            }

            .brand-logo img {
                max-height: 24px;
            }

            #baseMenu {
                right: 56px;
            }

            .hero-slide__heading {
                font-size: clamp(1.7rem, 10vw, 2.2rem);
                width: auto;
                max-width: 100%;
                white-space: normal;
            }

            .hero-slide__description {
                font-size: 1.0625rem;
                line-height: 1.85;
                max-width: 100%;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            #homeRecommend .section-title {
                width: 100%;
                max-width: none;
                margin-inline: auto;
                text-align: center;
                white-space: nowrap;
            }

            .hero-slide__media {
                min-height: 220px;
            }

            .hero-slide__media--image {
                min-height: 0;
            }

            .purchaseButtonModal__wrapper {
                padding: 16px;
            }

            .purchaseButtonModal__container {
                width: 100%;
                max-height: calc(100vh - 32px);
                padding: 28px 20px 22px;
            }

            .purchaseButtonModal__title {
                font-size: 1.16rem;
            }

            .purchaseButtonModal__inputArea {
                flex-wrap: wrap;
                justify-content: flex-start;
            }

            .ageVerificationModal__input {
                width: 100%;
                min-width: 0;
                max-width: 140px;
            }

            .purchaseButtonModal__btn {
                width: 100%;
            }

            .feature-band__item {
                flex-basis: 88vw;
                min-width: 88vw;
            }

            #colorbox.itemCb {
                width: calc(100vw - 24px) !important;
            }

            #colorbox.itemCb #cboxLoadedContent {
                max-height: calc(100vh - 72px) !important;
            }

            #colorbox.itemCb #cboxPhoto,
            #colorbox.itemCb #cboxLoadedContent img {
                max-height: calc(100vh - 104px) !important;
            }

            .mobile-lightbox {
                padding: 12px;
            }

            .mobile-lightbox__inner {
                min-height: calc(100vh - 24px);
            }

            .mobile-lightbox__image-wrap,
            .mobile-lightbox__image {
                max-height: calc(100vh - 72px);
            }

            .mobile-lightbox__button {
                width: 42px;
                height: 42px;
            }
        }

        @media (max-width: 900px) {
            #homeFeatures.feature-band {
                padding-bottom: 32px;
            }

            #homeFeatures .feature-band__header {
                margin-bottom: 20px;
            }

            #homeFeatures .feature-band__track {
                display: grid;
                grid-template-columns: 1fr;
                gap: 0;
                background: transparent;
            }

            #homeFeatures .feature-band__item {
                display: grid;
                grid-template-columns: 1fr;
                min-width: 0;
                min-height: 0;
                padding: 20px 0 26px;
                border: 0;
                border-bottom: 1px solid var(--line);
                background: transparent;
                overflow: visible;
            }

            #homeFeatures .feature-band__item:last-child {
                border-bottom: 0;
            }

            #homeFeatures .feature-band__content {
                gap: 12px;
                min-width: 0;
            }

            #homeFeatures .feature-band__number {
                position: static;
                order: 0;
                justify-self: start;
                margin: 0 0 10px;
                color: var(--features-number-color);
                font-size: clamp(3.6rem, 15vw, 4.8rem);
                line-height: 0.9;
                letter-spacing: -0.06em;
            }

            #homeFeatures .feature-band__title {
                display: block;
                font-size: 0.9rem;
                line-height: 1.45;
            }

            #homeFeatures .feature-band__title-main {
                display: block;
                font-size: clamp(1.02rem, 4.8vw, 1.35rem);
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            #homeFeatures .feature-band__title-sub {
                display: block;
                margin-top: 6px;
                font-size: 0.52rem;
                line-height: 1.4;
                letter-spacing: 0.12em;
            }

            #homeFeatures .feature-band__text {
                font-size: 0.82rem;
                line-height: 1.95;
                overflow-wrap: anywhere;
                word-break: break-word;
            }
        }

            @media (max-width: 768px) {
                body#shopDetailPage .page-shell--item {
                    padding-top: 18px !important;
                }

                body#shopDetailPage .item-shell {
                    width: calc(100% - 16px) !important;
                    max-width: none !important;
                }

                body#shopDetailPage .item-layout {
                    display: block !important;
                }

                body#shopDetailPage .item-gallery-panel,
                body#shopDetailPage .item-summary,
                body#shopDetailPage .item-description-panel {
                    width: 100% !important;
                    max-width: none !important;
                }

                body#shopDetailPage #slideImg {
                    width: 100% !important;
                    max-width: none !important;
                }

                body#shopDetailPage #slideImg::before {
                    content: "" !important;
                    display: block !important;
                    padding-top: 100% !important;
                }

                body#shopDetailPage #slideImg > li {
                    position: absolute !important;
                    inset: 0 !important;
                }

                body#shopDetailPage #slideImg .imgBox,
                body#shopDetailPage #slideImg .imgBox > a {
                    height: 100% !important;
                }

                body#shopDetailPage #slideImg .imgBox img {
                    object-fit: contain !important;
                }

                body#shopDetailPage #slideImgPager {
                    gap: 8px !important;
                    margin-top: 10px !important;
                }

                body#shopDetailPage #slideImgPager li {
                    flex: 0 0 52px !important;
                }

                body#shopDetailPage .item-summary {
                    position: static !important;
                    margin-top: 18px !important;
                    gap: 14px !important;
                    padding: 16px !important;
                    border: 1px solid var(--item-detail-border-color) !important;
                    background: var(--item-detail-background-color) !important;
                    color: var(--item-detail-text-color) !important;
                }

                body#shopDetailPage .item-summary__label {
                    font-size: 0.72rem !important;
                    letter-spacing: 0.18em !important;
                }

                body#shopDetailPage .item-summary__title {
                    font-size: clamp(1.2rem, 6.4vw, 1.55rem) !important;
                    line-height: 1.35 !important;
                    letter-spacing: 0.02em !important;
                    word-break: break-word !important;
                }

                body#shopDetailPage .item-price-panel,
                body#shopDetailPage .item-description-panel {
                    padding: 16px !important;
                }

                body#shopDetailPage .item-price-panel {
                    padding: 0 !important;
                    border: 0 !important;
                    background: transparent !important;
                }

                body#shopDetailPage .item-price-panel .price__value {
                    font-size: 1.08rem !important;
                }

                body#shopDetailPage .item-price-panel .price__value--proper {
                    font-size: 0.84rem !important;
                }

                body#shopDetailPage .item-attention,
                body#shopDetailPage .item-price-panel .price__label,
                body#shopDetailPage .item-price-panel .price__tax,
                body#shopDetailPage .item-price-panel .price__discountRate,
                body#shopDetailPage .item-price-panel .soldout,
                body#shopDetailPage .item-price-panel .comingSoon {
                    font-size: 0.72rem !important;
                    line-height: 1.75 !important;
                }

                body#shopDetailPage .purchase-panel {
                    gap: 12px !important;
                    margin-top: 16px !important;
                }

                body#shopDetailPage .purchase-panel > *,
                body#shopDetailPage .purchase-panel form,
                body#shopDetailPage .purchase-panel .purchaseButton,
                body#shopDetailPage .purchase-panel .bootstrap-select,
                body#shopDetailPage .purchase-panel .selectWrap,
                body#shopDetailPage .purchase-panel .variation-wrapper,
                body#shopDetailPage .purchase-panel .control-group {
                    width: 100% !important;
                    max-width: 100% !important;
                    min-width: 0 !important;
                    float: none !important;
                }

                body#shopDetailPage .purchase-panel select,
                body#shopDetailPage .purchase-panel input:not([type="submit"]):not([type="button"]):not([type="radio"]):not([type="checkbox"]),
                body#shopDetailPage .purchase-panel .bootstrap-select > .dropdown-toggle,
                body#shopDetailPage .purchase-panel .bootstrap-select > .btn,
                body#shopDetailPage .purchase-panel .bootstrap-select .btn.dropdown-toggle,
                body#shopDetailPage .purchase-panel .purchaseButton__btn {
                    width: 100% !important;
                    max-width: 100% !important;
                    min-height: 44px !important;
                    padding-left: 12px !important;
                    padding-right: 12px !important;
                    font-size: 0.74rem !important;
                    letter-spacing: 0.1em !important;
                }

                body#shopDetailPage .item-share-buttons {
                    padding-top: 10px !important;
                }

                body#shopDetailPage .item-share-buttons__list {
                    display: grid !important;
                    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                    gap: 8px !important;
                }

                body#shopDetailPage .item-share-button {
                    width: 100% !important;
                    min-width: 0 !important;
                    min-height: 36px !important;
                    padding: 0 8px !important;
                    font-size: 0.7rem !important;
                    letter-spacing: 0.08em !important;
                }

                body#shopDetailPage .report-button {
                    padding-top: 4px !important;
                }

                body#shopDetailPage .item-description-panel {
                    margin-top: 18px !important;
                }

                body#shopDetailPage .item-price-panel.is-mobile-bundle {
                    display: flex !important;
                    flex-direction: column !important;
                }

                body#shopDetailPage .item-price-panel.is-mobile-bundle .item-description-panel {
                    margin-top: 14px !important;
                    padding: 14px 0 0 !important;
                    border: 0 !important;
                    border-top: 1px solid var(--line) !important;
                    background: transparent !important;
                }

                body#shopDetailPage .item-price-panel.is-mobile-bundle .item-description-panel__title {
                    margin-bottom: 10px !important;
                }

                body#shopDetailPage .item-price-panel.is-mobile-bundle .purchase-panel {
                    margin-top: 14px !important;
                    padding-top: 14px !important;
                    border-top: 1px solid var(--line) !important;
                }

                body#shopDetailPage .item-description-panel__title {
                    margin-bottom: 14px !important;
                    font-size: 0.76rem !important;
                    letter-spacing: 0.16em !important;
                }

                body#shopDetailPage .item-description-panel .richtext,
                body#shopDetailPage .item-description-panel .richtext p,
                body#shopDetailPage .item-description-panel .richtext li,
                body#shopDetailPage .item-description-panel .richtext dd,
                body#shopDetailPage .item-description-panel .richtext dt {
                    font-size: 1.0625rem !important;
                    line-height: 1.85 !important;
                }
            }

            @media (max-width: 420px) {
                body#shopDetailPage .item-shell {
                    width: calc(100% - 12px) !important;
                }

                body#shopDetailPage #slideImgPager li {
                    flex: 0 0 46px !important;
                }

                body#shopDetailPage .item-summary__title {
                    font-size: 1.1rem !important;
                }

                body#shopDetailPage .item-description-panel .richtext,
                body#shopDetailPage .item-description-panel .richtext p,
                body#shopDetailPage .item-description-panel .richtext li,
                body#shopDetailPage .item-description-panel .richtext dd,
                body#shopDetailPage .item-description-panel .richtext dt {
                    font-size: 0.8rem !important;
                }
            }
