/*
Theme Name: amiee cotton Liner 001 Styles
Description:
Note: base.css, variables.css は先に読み込まれている前提
*/

/* ===================================================================
 * FVセクション
 * =================================================================== */

.c-lp-fv {
    position: relative;
    overflow: hidden;
    height: min(100dvh, 766px);
}

.c-lp-fv__content {
    position: relative;
    width: 100%;
    height: min(100dvh, 766px);
}

/* ロゴ */
.c-lp-fv__logo {
    position: absolute;
    top: var(--space-md);
    left: var(--space-md);
    width: 80px;
    z-index: 3;
}

.c-lp-fv__logo img {
    width: 100%;
    height: auto;
    display: block;
}

/* メイン画像 */
.c-lp-fv__main {
    width: 100%;
    position: relative;
    height: min(100dvh, 766px);
}

.c-lp-fv__main img {
    display: block;
    width: 100%;
}

.c-lp-fv__label {
    position: absolute;
    top: 0;
    right: 8px;
    width: 120px;
    z-index: 2;
}

.c-lp-fv__label img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-fv__title {
    position: absolute;
    bottom: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    z-index: 3;
}

.c-lp-fv__title img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-fv__appel {
    position: absolute;
    bottom: 2%;
    right: var(--space-xs);
    width: 64%;
    z-index: 2;
}

.c-lp-fv__appel img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-fv__item {
    position: absolute;
    bottom: 10%;
    left: var(--space-xs);
    width: 44%;
    z-index: 3;
}

.c-lp-fv__item img {
    width: 100%;
    height: auto;
    display: block;
}

/* CTA - メイン画像の下に配置 */
.c-lp-fv__cta {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: var(--space-md) var(--space-lg);
    background: var(--color-amiee-pink);
}

.c-lp-fv__cta::before {
    content: "";
    position: absolute;
    top: -60px;
    left: 0;
    width: 100%;
    height: 60px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440 60" preserveAspectRatio="none"><path d="M0,60 L0,0 Q220,80 440,0 L440,60 Z" fill="%23FFCDCD"/></svg>');
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100% 100%;
    z-index: 0;
}

.c-lp-fv__cta>* {
    position: relative;
    z-index: 4;
}

/* iPhone SE対応（375x667px + SafariブラウザUI考慮） */
@media screen and (max-width: 375px) and (max-height: 700px) {

    .c-lp-fv {
        height: min(100dvh, 580px);
    }

    .c-lp-fv__content {
        height: min(100dvh, 580px);
    }

    .c-lp-fv__main {
        height: min(100dvh, 580px);
    }

    .c-lp-fv__main img {
        position: relative;
        top: -4%;
    }

    .c-lp-fv__title {
        bottom: 26%;
        width: 80%;
    }

    .c-lp-fv__item {
        bottom: 10%;
        left: 8%;
        width: 38%;
    }

    .c-lp-fv__appel {
        bottom: 0.5%;
        right: 4%;
        width: 56%;
    }

    .c-lp-fv__cta {
        padding: var(--space-md);
    }

    .c-lp-fv__cta::before {
        top: -40px;
        height: 40px;
    }

    .c-lp-fv__cta button,
    .c-lp-fv__cta .c-button {
        padding: var(--space-sm) var(--space-md);
        font-size: var(--font-size-lg);
    }

    .c-lp-fv__cta .c-button__icon {
        width: var(--space-2xl);
        height: var(--space-2xl);
    }

    .c-lp-fv__cta .c-button__arrow {
        width: var(--space-2xl);
        height: var(--space-2xl);
    }

    .c-button--lg .c-button__arrow::before {
        width: var(--space-sm);
        height: var(--space-sm);
    }
}

/* ===================================================================
 * アミー セクション
 * =================================================================== */

.c-lp-whats {
    background: var(--color-white);

}

.c-lp-whats__image {
    width: 80%;
    margin: 0 auto;
}

.c-lp-whats__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-whats__badge {
    display: inline-block;
    margin: 0 auto;
    margin-top: var(--space-xl);
    margin-bottom: var(--space-md);
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-amiee-pink);
    border-radius: var(--border-radius-full);
    line-height: 1;
}

.c-lp-whats__badge span {
    font-size: var(--font-size-base);
    color: var(--color-white);
    line-height: 1;
}

.c-lp-whats__description {}

.c-lp-whats__description p {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    margin: 0;
}

/* ===================================================================
 * PATENTED セクション - 特許技術
 * =================================================================== */

.c-lp-patented {
    background: var(--color-amiee-pink-lighter);
}

.c-lp-patented__lead {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    line-height: var(--line-height-normal);
    margin-bottom: var(--space-md);
}

.c-lp-patented__text {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--space-xl);
}

.c-lp-patented__image {
    width: 100%;
}

.c-lp-patented__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-size {
    padding-bottom: var(--space-lg);
}

.c-size h3 {
    margin-top: 0;
}

.c-size-grid {
    display: grid;
    grid-template-columns: minmax(100px, 1.2fr) repeat(3, 1fr);
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-radius: var(--border-radius-base);
    background: var(--color-white);
}

.c-size-grid::-webkit-scrollbar {
    display: none;
}

.c-size-grid__row {
    display: contents;
}

/* ==========================================================================
   Cells
   ========================================================================== */

.c-size-grid__head,
.c-size-grid__label,
.c-size-grid__data {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: baseline;
    gap: 2px;
    padding: var(--space-sm);
    line-height: var(--line-height-tight);
    background: var(--color-white);
    box-sizing: border-box;
    border-bottom: 1px solid var(--color-line-gray);
}

.c-size-grid__head {
    background: var(--color-bg-gray);
    color: var(--color-black);
    font-size: var(--font-size-xs);
    border-bottom: 1px solid var(--color-line-gray);
    align-items: center;
}

.c-size-grid__head:first-child {
    position: sticky;
    left: 0;
    z-index: 10;
    align-items: flex-start;
    padding-left: var(--space-md);
    border-right: 1px solid var(--color-line-gray);
}

.c-size-grid__label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: sticky;
    left: 0;
    z-index: 10;
    border-right: 1px solid var(--color-line-gray);
    border-bottom: 1px solid var(--color-line-gray);
    align-items: flex-start;
    padding-left: var(--space-md);
}

.c-size-grid__data {
    align-items: center;
    color: var(--color-black);
}

.c-size-grid__sub-label {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    color: var(--color-text-gray);
    font-weight: normal;
}

.c-size-grid__label:last-child,
.c-size-grid__label--long {
    background-color: var(--color-amiee-green-lighter);
    color: var(--color-amiee-green-darker);
    border-left: 4px solid var(--color-amiee-green);
}

.c-size-grid__label--regular {
    background-color: var(--color-amiee-pink-lighter);
    color: var(--color-amiee-pink-darker);
    border-left: 4px solid var(--color-amiee-pink);
}

.c-size-grid__label--thong {
    background-color: var(--color-amiee-yellow-lighter);
    color: var(--color-amiee-yellow-darker);
    border-left: 4px solid var(--color-amiee-yellow-darker);
    border-bottom: none;
}

/* Tバック行（最後の行）のデータセルもボーダーボトム無し */
.c-size-grid__row:last-child .c-size-grid__data {
    border-bottom: none;
}

.c-size-note {
    font-size: var(--font-size-sm);
    margin-top: var(--space-md);
    padding: 0 var(--space-md);
    color: var(--color-text-gray);
}


.c-lp-patented__description {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    padding: var(--space-md);
    background: var(--color-white);
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-pink);
}

.c-lp-patented__description p {
    margin: 0 0 var(--space-md);
}

.c-lp-patented__description p:last-child {
    margin-bottom: 0;
}

/* ===================================================================
 * 品質試験 セクション
 * =================================================================== */

.c-lp-test {}

.c-lp-test__content {
    margin-top: var(--space-2xl);
}

.c-lp-test__image {
    width: 100%;
}

.c-lp-test__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===================================================================
 * メディア掲載 セクション -
 * =================================================================== */

.c-lp-media {
    background: var(--color-amiee-pink-lighter);
}

.c-lp-media__content {
    margin-top: var(--space-2xl);
}

.c-lp-media__feature {}

.c-lp-media__magazine-name {
    font-size: var(--font-size-3xl);
    color: var(--color-black);
    font-style: italic;
}

.c-lp-media__magazine-info {
    font-size: var(--font-size-sm);
    color: var(--color-black);
}

.c-lp-media__feature-text {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xl);
}

.c-lp-media__image {
    width: 100%;
}

.c-lp-media__image img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.c-lp-media__logos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xs);
    align-items: center;
}

.c-lp-media__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
}

.c-lp-media__logo img {
    width: auto;
    max-width: 100%;
    max-height: 60px;
    height: auto;
    display: block;
    filter: grayscale(100%);
    transition: all var(--transition-base);
}

/* ===================================================================
 * ドクター推奨 セクション
 * =================================================================== */

.c-lp-doctor {}

.c-doctor-profile {
    display: flex;
    gap: var(--space-lg);
    margin-top: var(--space-2xl);
}

.c-doctor-profile__image {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: var(--border-radius-base);
    border-top-left-radius: var(--border-radius-2xl);
    border-bottom-right-radius: var(--border-radius-2xl);
    overflow: hidden;
}

.c-doctor-profile__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.c-doctor-profile__info {
    flex: 1;
}

.c-doctor-profile__name {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    margin-bottom: var(--space-sm);
}

.c-doctor-profile__bio {
    font-size: var(--font-size-sm);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
}

.c-doctor-profile__bio p {
    margin-bottom: var(--space-xs);
}

.c-doctor-profile__bio p:last-child {
    margin-bottom: 0;
}

.c-doctor-comment {}

.c-doctor-comment__heading {
    font-size: var(--font-size-xl);
    color: var(--color-black);
    margin-bottom: var(--space-xs);
}

.c-doctor-comment__text {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
}

/* ===================================================================
 * ボイス セクション
 * =================================================================== */

.c-lp-voice {
    background: var(--color-amiee-pink-lighter);
}

.c-lp-voice .l-container {
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
}

.c-voice-slider {
    margin-top: var(--space-2xl);
    position: relative;
    overflow: visible;
}

.c-voice-slider::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    bottom: 0;
    width: 40px;
    height: 110%;
    transform: translate(-10%, -50%);
    background: linear-gradient(to right, var(--color-amiee-pink-lighter) 0%, var(--color-amiee-pink-lighter) 80%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}

.c-voice-slider .slick-slide {}

.c-voice-slider .slick-list {
    overflow: visible;
}

.c-voice-slider .slick-track {
    display: flex;
    gap: var(--space-md);
}

.c-voice-card {
    padding: var(--space-lg);
    outline: none;
}

.c-voice-card__header {
    display: flex;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
    align-items: center;
}

.c-voice-card__image {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    border: 1px solid var(--color-black);
    border-radius: var(--border-radius-full);
    overflow: hidden;
}

.c-voice-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.c-voice-card__header-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.c-voice-card__title {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    margin: 0;
    line-height: var(--line-height-tight);
}

.c-voice-card__rating {
    display: flex;
    gap: var(--space-xs);
}

.c-voice-card__star {
    width: 20px;
    height: 20px;
}

.c-voice-card__text {
    font-size: var(--font-size-sm);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--space-md);
}

.c-voice-card__profile {
    font-size: var(--font-size-xs);
    color: var(--color-black);
    margin: 0;
}

/* ===================================================================
 * スタンダード セクション
 * =================================================================== */

.c-lp-standard {
    background: var(--color-white);
    overflow: hidden;
    /* For background illustrations */
}

.c-standard-list {
    margin-top: var(--space-2xl);
    display: flex;
    flex-direction: column;
    gap: 64px;
    /* Large gap between items */
}

.c-standard-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.c-standard-item__bg {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.c-standard-item__bg img {
    width: 100%;
    height: auto;
}

.c-standard-item__bg--01 {
    top: -20px;
    right: -40px;
    width: 120px;
}

.c-standard-item__bg--02 {
    top: -30px;
    left: -40px;
    width: 140px;
}

.c-standard-item__bg--03 {
    bottom: -40px;
    right: -50px;
    width: 160px;
}

.c-standard-item__label {
    background: var(--color-amiee-pink);
    color: var(--color-white);
    font-size: var(--font-size-lg);
    padding: var(--space-sm) var(--space-xl);
    border-radius: var(--border-radius-full);
    margin-bottom: var(--space-lg);
    z-index: 1;
    position: relative;
}

.c-standard-item__image {
    width: 80%;
    margin: 0 auto;
    margin-bottom: var(--space-lg);
    position: relative;
    z-index: 1;
}

.c-standard-item__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-standard-item__image-wrapper {
    position: relative;
    width: 100%;
    max-width: 320px;
    margin-bottom: var(--space-lg);
    z-index: 1;
}

.c-standard-item:last-child .c-standard-item__image {
    position: absolute;
    top: -11%;
    left: 1%;
    width: 60%;
    z-index: 1;
}

.c-standard-item__image-sub {
    top: 25%;
    right: -45%;
    width: 65%;
    z-index: -1;
}

.c-standard-item__image-sub img {
    width: 80%;
    height: auto;
    display: block;
    background: var(--color-amiee-pink-lighter);
}

.c-standard-item__text {
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    color: var(--color-black);
    max-width: 400px;
    margin: 0 auto;
    z-index: 1;
    position: relative;
}

.c-standard-note {
    margin-top: var(--space-xl);
    text-align: left;
    color: var(--color-black);
    opacity: 0.8;
}

/* ===================================================================
 * プレゼント セクション
 * =================================================================== */

.c-lp-present {
    background: var(--color-amiee-green-lighter);
}

.c-lp-present__content {
    margin-top: var(--space-2xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-3xl);
}

.c-lp-present__item {
    width: 100%;
    position: relative;
    padding: var(--space-md);
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-green);
}

.c-lp-present__image {
    position: absolute;
    top: -16%;
    left: -4%;
    width: 35%;
}

.c-lp-present__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-present__text {}

/* 横2列レイアウト（画像とテキスト部分） */
.c-lp-present__item--row {
    display: flex;
    gap: var(--space-md);
    align-items: center;
    flex-direction: row;
    justify-content: flex-end;
    margin-bottom: var(--space-md);

}

.c-lp-present__item--row .c-lp-present__text {}

.c-lp-present__text-top {
    display: flex;
    flex-direction: row;
    gap: var(--space-sm);
    align-items: center;
    margin-bottom: var(--space-md);
}

.c-lp-present__heading {
    font-size: var(--font-size-md);
    color: var(--color-black);
    margin-top: 0;
    margin-bottom: var(--space-sm);
}

.c-lp-present__badge {
    display: inline-block;
    padding: var(--space-sm) var(--space-md);
    background: linear-gradient(90deg, var(--color-amiee-pink-darker) 0%, var(--color-amiee-pink) 100%);
    color: var(--color-white);
    font-size: var(--font-size-base);
    border-radius: var(--border-radius-full);
}

.c-lp-present__description {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-relaxed);
    margin-bottom: 0;
}

.c-lp-present__note {
    font-size: var(--font-size-xs);
    color: var(--color-black);
    margin-top: var(--space-sm);
    margin-bottom: 0;
}

/* ===================================================================
 * CTA セクション
 * =================================================================== */

.c-lp-cta {
    padding: var(--space-2xl) 0;
}

.c-lp-cta__content {
    text-align: center;
}

.c-lp-cta__message {
    position: relative;
    font-size: var(--font-size-base);
    color: var(--color-black);
    margin-bottom: var(--space-sm);
    line-height: var(--line-height-relaxed);
}

.c-lp-cta__message::before {
    transform: rotate(60deg);
}

.c-lp-cta__message::after {
    transform: rotate(-60deg);
}

.c-lp-cta__message::before,
.c-lp-cta__message::after {
    position: relative;
    content: '';
    top: -4px;
    display: inline-block;
    width: var(--space-md);
    height: var(--border-width-base);
    background: var(--color-black);
    border-radius: var(--border-radius-full);
}

.c-lp-cta__button {
    text-align: center;
}

/* ===================================================================
 * レコメンド セクション
 * =================================================================== */

.c-lp-recommend {
    background: var(--color-amiee-pink-lighter);
}

.c-recommend-list {
    margin-top: var(--space-2xl);
    padding: 0 var(--space-md);
    list-style: none;
}

.c-recommend-list__item {
    position: relative;
    padding: var(--space-lg) 0 var(--space-lg) 48px;
    border-bottom: 1px solid var(--color-line-gray);
}

.c-recommend-list__item::marker {
    display: none;
}

.c-recommend-list__item:last-child {
    border-bottom: none;
}

.c-recommend-list__item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: var(--border-radius-full);
    border: 1px solid var(--color-amiee-pink);
}

.c-recommend-list__item::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 47%;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 16px;
    border-right: 3px solid var(--color-amiee-pink);
    border-bottom: 3px solid var(--color-amiee-pink);
}

.c-recommend-list__text {
    flex: 1;
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-normal);
}

/* ===================================================================
 * 比較 セクション
 * =================================================================== */

.c-lp-choice {}

.c-lp-choice .l-container {
    padding-right: 0;
}

/* 比較グリッド */
.c-comparison-grid {
    position: relative;
    display: grid;
    grid-template-columns: 100px 200px 140px 140px;
    width: 100%;
    margin: 0 auto;
    padding: var(--space-lg) 0 var(--space-3xl);
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.c-comparison-grid::-webkit-scrollbar {
    display: none;
}

/* 行 */
.c-comparison-grid__row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: subgrid;
    min-width: 560px;
}

.c-comparison-grid__row:last-child {
    box-shadow: var(--shadow-sm);
}

/* ラベル列 */
.c-comparison-grid__label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-md) var(--space-xs);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-tight);
    background: var(--color-white);
    border: 1px solid var(--color-line-gray);
    border-right: none;
    border-top: none;
}

.c-comparison-grid__row:first-child .c-comparison-grid__label {
    border-top: 1px solid var(--color-line-gray);
}

/* セル */
.c-comparison-grid__cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-md) var(--space-sm);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-relaxed);
    background: var(--color-white);
    border: 1px solid var(--color-line-gray);
    border-left: none;
    border-top: none;
}

.c-comparison-grid__row:first-child .c-comparison-grid__cell {
    border-top: 1px solid var(--color-line-gray);
}

.c-comparison-grid__row:first-child .c-comparison-grid__cell--amiee {
    border-top-color: var(--color-amiee-pink-dark);
}

/* amieeセル（フィーチャー） */
.c-comparison-grid__cell--amiee {
    background: var(--color-amiee-pink-lighter);
    border-color: var(--color-amiee-pink-dark);
    border-left: 1px solid var(--color-amiee-pink-dark);
    color: var(--color-amiee-red);
    box-shadow: var(--shadow-pink);
    z-index: 10;
    position: relative;
}

/* ヘッダー行 */
.c-comparison-grid__row--header .c-comparison-grid__label {
    height: 80px;
    font-size: var(--font-size-base);
    background: var(--color-bg-gray);
    border-top-left-radius: var(--border-radius-base);
}

.c-comparison-grid__row--header .c-comparison-grid__cell {
    height: 80px;
    font-size: var(--font-size-base);
}

.c-comparison-grid__row--header .c-comparison-grid__cell:last-child {
    border-top-right-radius: var(--border-radius-base);
}

/* ヘッダーのamieeセル */
.c-comparison-grid__row--header .c-comparison-grid__cell--amiee {
    height: 104px;
    padding: var(--space-lg) var(--space-md) var(--space-md);
    margin-top: calc(-1 * var(--space-lg));
    margin-bottom: -40px;
    border-top-left-radius: var(--border-radius-lg);
    border-top-right-radius: var(--border-radius-lg);
}

.c-comparison-grid__brand {
    font-size: var(--font-size-xl);
    margin-bottom: var(--space-2xs);
}

.c-comparison-grid__subtitle {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-tight);
}

/* 最終行 */
.c-comparison-grid__row:last-child .c-comparison-grid__label {
    border-bottom-left-radius: var(--border-radius-base);
}

.c-comparison-grid__row:last-child .c-comparison-grid__cell:last-child {
    border-bottom-right-radius: var(--border-radius-base);
}

.c-comparison-grid__row:last-child .c-comparison-grid__cell--amiee {
    margin-bottom: calc(-0.95 * var(--space-lg));
    border-bottom-left-radius: var(--border-radius-lg);
    border-bottom-right-radius: var(--border-radius-lg);
}

/* ===================================================================
 * DETAIL セクション - こだわり詳細
 * （HTML順序: 13番目 / 現在CSS順序: 14番目）⚠️ 順序要修正
 * =================================================================== */

.c-lp-detail {
    background: var(--color-amiee-yellow-lighter);
}

/* ===================================================================
 * Feature Card Component (Shared by Detail & Natural)
 * =================================================================== */

.c-feature-card-list {
    margin-top: var(--space-2xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

.c-feature-card {
    width: 100%;
    margin: 0 auto;
    box-shadow: var(--shadow-yellow);
}

.c-feature-card__image {
    width: 100%;
    border-top-left-radius: var(--border-radius-2xl);
    border-top-right-radius: var(--border-radius-base);
    overflow: hidden;
}

.c-feature-card__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-feature-card__content {
    background: var(--color-white);
    padding: var(--space-lg);
    border-bottom-left-radius: var(--border-radius-base);
    border-bottom-right-radius: var(--border-radius-2xl);
}

.c-feature-card__label {
    color: var(--color-amiee-pink-dark);
    font-size: var(--font-size-md);
    margin-bottom: var(--space-sm);
    letter-spacing: var(--letter-spacing-wide);
}

.c-feature-card__label--black {
    color: var(--color-black);
}

.c-feature-card__title {
    color: var(--color-amiee-pink-dark);
    font-size: var(--font-size-lg);
    margin: 0 0 var(--space-md);
    line-height: var(--line-height-snug);
}

.c-feature-card__text {
    color: var(--color-black);
}

/* ===================================================================
 * レビュー セクション
 * =================================================================== */

.c-lp-reviews {
    background: var(--color-white);
}

.c-lp-reviews__content {
    margin-top: var(--space-2xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-3xl);
}

.c-lp-reviews__item {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.c-lp-reviews__question {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    line-height: var(--line-height-normal);
    margin: 0;
}

.c-lp-reviews__q-mark {
    display: inline-block;
    font-size: var(--font-size-2xl);
}

.c-lp-reviews__chart-wrapper {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
}

.c-lp-reviews__image-item {
    flex-shrink: 0;
    width: 50%;
}

.c-lp-reviews__image-item img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-reviews__legend {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.c-lp-reviews__legend-item {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.c-lp-reviews__legend-color {
    width: 12px;
    height: 12px;
    border-radius: var(--border-radius-full);
    flex-shrink: 0;
}

.c-lp-reviews__legend-color--01 {
    background: var(--color-amiee-pink-darker);
}

.c-lp-reviews__legend-item:has(.c-lp-reviews__legend-color--01) .c-lp-reviews__legend-text {
    color: var(--color-amiee-pink-darker);
}

.c-lp-reviews__legend-color--02 {
    background: var(--color-amiee-pink-dark);
}

.c-lp-reviews__legend-item:has(.c-lp-reviews__legend-color--02) .c-lp-reviews__legend-text {
    color: var(--color-amiee-pink);
}

.c-lp-reviews__legend-color--03 {
    background: var(--color-amiee-pink);
}

.c-lp-reviews__legend-color--04 {
    background: var(--color-gray-light);
}


.c-lp-reviews__legend-text {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

.c-lp-reviews__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    justify-content: flex-start;
    flex-direction: row;
}

.c-lp-reviews__tag {
    display: inline-block;
    padding: var(--space-sm);
    background: var(--color-amiee-pink-lighter);
    border: 1px solid var(--color-amiee-pink);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-sm);
    color: var(--color-black);
    white-space: nowrap;
}

.c-lp-reviews__result {
    margin-top: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.c-lp-reviews__result-title {
    font-size: var(--font-size-xl);
    color: var(--color-black);
    line-height: var(--line-height-normal);
    margin: 0;
}

.c-lp-reviews__result-title span {
    color: var(--color-amiee-pink-darker);
}

.c-lp-reviews__brand-logo {
    display: inline-block;
    height: 1.2em;
    width: auto;
    vertical-align: baseline;
    margin-right: 0.2em;
}

.c-lp-reviews__result-image {
    width: 100%;
}

.c-lp-reviews__result-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===================================================================
 * インフルエンサー セクション
 * =================================================================== */

.c-lp-sns {
    background: var(--color-amiee-pink-lighter);
}

.c-lp-sns .l-container {
    padding-left: 0;
    padding-right: 0;
    overflow: hidden;
}

.c-lp-sns .c-section-heading {
    margin-bottom: calc(var(--space-4xl) + var(--space-2xl));
}

.c-sns-slider {
    margin-top: var(--space-2xl);
    position: relative;
    overflow: visible;
}

.c-sns-slider::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    bottom: 0;
    width: 40px;
    height: 110%;
    transform: translate(-10%, -50%);
    background: linear-gradient(to right, var(--color-amiee-pink-lighter) 0%, var(--color-amiee-pink-lighter) 80%, transparent 100%);
    z-index: 2;
    pointer-events: none;
}

.c-sns-slider .slick-slide {
    width: 420px !important;
}

.c-sns-slider .slick-list {
    overflow: visible;
}

.c-sns-slider .slick-track {
    display: flex;
    gap: var(--space-md);
}

.c-sns-card {
    position: relative;
    background: var(--color-white);
    border-radius: var(--border-radius-base);
    padding: var(--space-3xl) 0 var(--space-xl);
    outline: none;
    box-shadow: var(--shadow-pink);
}

.c-sns-card__photo {
    width: 100%;
    position: relative;
    overflow: visible;
}

.c-sns-card__photo img {
    width: 100%;
    height: auto;
    display: block;
}

.c-sns-card__comment {
    position: absolute;
    top: -90px;
    width: 80%;
    padding: 0;
    z-index: 1;
    opacity: 1;
    transition: opacity 0.3s ease;
    margin-left: var(--space-lg);
}

.slick-initialized .c-sns-card:not(.slick-center) .c-sns-card__comment {
    opacity: 0;
}

.c-sns-card__comment img {
    width: 100%;
    object-fit: contain;
    object-position: left top;
    display: block;
}

.c-sns-card__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-md);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
}

.c-sns-card__actions-left {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.c-sns-card__actions-right {
    display: flex;
}

.c-sns-card__action {
    display: flex;
    align-items: center;
    justify-content: center;
}

.c-sns-card__action svg {
    width: 24px;
    height: 24px;
    display: block;
}

/* ===================================================================
 * 特徴 セクション
 * =================================================================== */

.c-lp-features {
    background: var(--color-white);
}

.c-lp-features .c-section-heading__subtitle {
    /* Dark gray for FEATURES */
}

.c-lp-features .c-section-heading__title {
    /* Dark gray for title */
}

.c-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xl) var(--space-md);
    margin-top: var(--space-2xl);
}

.c-features-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.c-features-item__icon {
    width: 80px;
    height: 80px;
    margin-bottom: var(--space-md);
    display: flex;
    align-items: center;
    justify-content: center;
}

.c-features-item__icon img {
    width: 100%;
    height: auto;
    max-height: 100%;
}

.c-features-item__text {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-normal);
}

/* ===================================================================
 * 使い方 セクション
 * =================================================================== */

.c-lp-use {
    background: var(--color-amiee-pink-lighter);
}

.c-lp-use__description {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-2xl);
}

.c-lp-use__description p {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
}

.c-lp-use__steps {
    display: flex;
    gap: var(--space-md);
    justify-content: center;
    margin-bottom: var(--space-lg);
}

.c-lp-use__step {
    flex: 1;
    max-width: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.c-lp-use__step-number {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
}

.c-lp-use__step-number-text {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--space-xl);
    height: var(--space-xl);
    border-radius: var(--border-radius-full);
    background: var(--color-amiee-pink);
    color: var(--color-white);
    font-size: var(--font-size-lg);
    line-height: 1;
}

.c-lp-use__step-label {
    font-size: var(--font-size-base);
    color: var(--color-black);
}

.c-lp-use__step-image {
    width: 100%;
    border-radius: var(--border-radius-base);
    overflow: hidden;
}

.c-lp-use__step-image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-use__points {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-bottom: var(--space-3xl);
}

.c-lp-use__point {
    position: relative;
    padding-left: calc(var(--space-sm) + 8px);
}

.c-lp-use__point::before {
    content: '●';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--color-amiee-pink);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
}

.c-lp-use__point-text {
    font-size: var(--font-size-sm);
    color: var(--color-black);
    line-height: var(--line-height-normal);
    margin: 0;
}

.c-lp-use__cases {
    display: flex;
    flex-direction: column;
    gap: var(--space-3xl);
}

.c-lp-use__case {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.c-lp-use__case-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.c-lp-use__case-number {
    font-size: var(--font-size-base);
    color: var(--color-black);
    letter-spacing: var(--letter-spacing-wide);
}

.c-lp-use__case-title {
    font-size: var(--font-size-lg);
    color: var(--color-black);
    line-height: var(--line-height-tight);
    margin: 0;
}

.c-lp-use__case-image-wrapper {
    position: relative;
    width: 100%;
}

.c-lp-use__case-image {
    width: 80%;
    margin: 0 auto;
    position: relative;
}

.c-lp-use__case-image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-use__case-image-sub {
    position: absolute;
    bottom: 2%;
    right: 4%;
    width: 25%;
    z-index: 1;
}

.c-lp-use__case:nth-child(2) .c-lp-use__case-image-sub {
    right: auto;
    left: 4%;
}

.c-lp-use__case-image-sub img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-use__case-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.c-lp-use__case-tag {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    background: var(--color-white);
    border: 1px solid var(--color-amiee-pink);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-sm);
    color: var(--color-black);
    white-space: nowrap;
}

.c-lp-use__case-content {
    background: var(--color-white);
    padding: var(--space-md);
    border-radius: var(--border-radius-base);
    box-shadow: var(--shadow-pink);
}

.c-lp-use__case-text {
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    margin: 0;
}

/* ===================================================================
 * 天然素材 セクション
 * =================================================================== */

.c-lp-natural {}

/* ===================================================================
 * SCENE セクション - 利用シーン
 * =================================================================== */

.c-lp-scene {
    background-color: var(--color-white);
}

.c-scene-list {
    margin-top: var(--space-2xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.c-scene-item {
    position: relative;
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
}

.c-scene-item__badge {
    position: absolute;
    top: 11%;
    right: 4%;
    max-width: 80px;
}

.c-scene-item__badge img {
    width: 100%;
    height: auto;
    display: block;
}

/* シーンでの画像幅調整 */
.c-scene-item .c-product-item__image {
    width: 40%;
}

/* シーンでの商品名サイズ調整 */
.c-scene-item .c-product-item__name {
    font-size: var(--font-size-2xl);
}

/* シーンでのカラー表示の余白調整 */
.c-scene-item .c-product-item__colors {
    margin-top: var(--space-xs);
}

.c-scene-item__content {
    text-align: left;
}

.c-scene-item__title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-amiee-red);
    margin: 0 0 var(--space-sm);
}

/* シーンでのボタン余白調整 */
.c-scene-item .c-product-item__buttons {
    margin-top: var(--space-md);
}

/* ===================================================================
 * カート セクション - お試し購入・定期購入
 * =================================================================== */

.c-lp-cart .c-section-heading {
    margin-bottom: var(--space-lg);
}

.c-lp-cart.c-lp-cart--subscription {
    background: var(--color-amiee-pink-lighter);
}

.c-lp-cart__item {
    position: relative;
    margin: 0 auto;
    padding: 0;
}

.c-lp-cart__discount-badge {
    position: absolute;
    top: -6%;
    left: -5%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 64px;
    height: 64px;
    background: var(--color-amiee-pink-darker);
    border-radius: var(--border-radius-full);
    z-index: 2;
}

.c-lp-cart__discount-percent {
    font-size: var(--font-size-2xl);
    color: var(--color-white);
    line-height: 1;
}

.c-lp-cart__discount-label {
    font-size: var(--font-size-base);
    color: var(--color-white);
    line-height: 1;
}

.c-lp-cart__badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
    justify-content: center;
}

.c-lp-cart__badge {
    display: inline-block;
    background: var(--color-black);
    border-radius: var(--border-radius-full);
    color: var(--color-white);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    line-height: 1;
    text-align: center;
}

.c-lp-cart__content {
    position: relative;
    display: flex;
    flex-direction: row;
    gap: var(--space-sm);
    align-items: flex-end;
    padding: var(--space-md);
    margin-bottom: var(--space-xl);
}

.c-lp-cart__image {
    flex: 0 0 35%;
    max-width: 35%;
}

.c-lp-cart__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-lp-cart__info {
    flex: 1;
}

.c-lp-cart__product-name {
    font-size: var(--font-size-xl);
    line-height: 1;
    margin-top: 0;
    margin-bottom: var(--space-xs);
}

.c-lp-cart__product-quantity {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-xs);
}

.c-lp-cart__product-price {
    display: flex;
    align-items: baseline;
    gap: var(--space-xs);
    margin-bottom: var(--space-sm);
}

.c-lp-cart__price-amount {
    font-size: var(--font-size-2xl);
    line-height: 1;
}

.c-lp-cart__price-unit {
    font-size: var(--font-size-base);
    line-height: 1;
}

.c-lp-cart__price-tax {}

.c-lp-cart__product-description {
    font-size: var(--font-size-sm);
    margin: 0;
}

.c-lp-cart .c-product-item__buttons {
    margin-bottom: var(--space-lg);
}

/* カートでのカラー表示の余白調整 */
.c-lp-cart .c-product-item__colors {
    margin-bottom: var(--space-xs);
}

.c-lp-cart__form {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.c-lp-cart__form-group {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.c-lp-cart__label {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.c-lp-cart__label-required {
    font-size: var(--font-size-xs);
    color: var(--color-white);
    background: var(--color-black);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--border-radius-base);
}

.c-lp-cart__select {
    width: 100%;
    padding: var(--space-md);
    background: var(--color-white);
    border-radius: var(--border-radius-base);
    cursor: pointer;
    transition: border-color 0.2s ease;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--space-md) center;
    padding-right: calc(var(--space-md) + 24px);
}

.c-lp-cart__select:hover,
.c-lp-cart__select:focus {
    outline: none;
    border-color: var(--color-amiee-pink-dark);
    box-shadow: var(--shadow-pink);
}

button {
    border: none;
}

/* ===================================================================
 * FAQセクション - よくあるご質問
 * =================================================================== */

.c-lp-faq {
    background: var(--color-amiee-green-lighter);
}

.c-faq-list {}

.c-faq-item {
    border-radius: var(--border-radius-base);
    overflow: hidden;
    transition: background var(--transition-base), box-shadow var(--transition-base);
    margin-bottom: var(--space-md);
}

.c-faq-item[open] {
    background: var(--color-white);
    box-shadow: var(--shadow-green);
}

.c-faq-item:last-child {
    margin-bottom: 0;
}

.c-faq-item__question {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-xl) var(--space-md) var(--space-md);
    cursor: pointer;
    list-style: none;
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-normal);
    transition: background var(--transition-base);
}

.c-faq-item__question:hover {
    background: rgba(255, 255, 255, 0.5);
}

.c-faq-item__question::marker {
    display: none;
}

.c-faq-item__question::-webkit-details-marker {
    display: none;
}

/* プラス/マイナスアイコンの円背景 */
.c-faq-item__question::after {
    content: "";
    position: absolute;
    right: var(--space-md);
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border-radius: var(--border-radius-full);
    transition: transform var(--transition-base);
}

/* 横線（常に表示） */
.c-faq-item__question::before {
    content: "";
    position: absolute;
    right: calc(var(--space-md) + 4px);
    top: 47%;
    transform: translateY(-50%);
    width: 16px;
    height: 1px;
    background: var(--color-black);
    z-index: 2;
}

/* 縦線（プラスの縦棒） */
.c-faq-item__text::after {
    content: "";
    position: absolute;
    right: calc(var(--space-md) + -20px);
    top: 41%;
    transform: translateY(-50%);
    width: 1px;
    height: 16px;
    background: var(--color-black);
    z-index: 2;
    transition: transform var(--transition-base), opacity var(--transition-base);
}

/* 開いた状態：縦線を回転して消す */
.c-faq-item[open] .c-faq-item__text::after {
    transform: translateY(-50%) rotate(90deg);
    opacity: 0;
}

.c-faq-item__label {
    flex-shrink: 0;
    font-size: var(--font-size-lg);
    color: var(--color-black);
}

.c-faq-item__text {
    flex: 1;
    position: relative;
}

/* 回答部分 */
.c-faq-item__answer {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: 0 var(--space-md) var(--space-md) var(--space-md);
    font-size: var(--font-size-base);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    animation: faqFadeIn var(--transition-base) ease-out;
}

@keyframes faqFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.c-faq-item__answer p {
    flex: 1;
    margin: 0;
}

/* ===================================================================
 * フッター - 運営会社
 * =================================================================== */

.c-company__image {
    width: 100%;
    margin-bottom: var(--space-xl);
    border-radius: var(--border-radius-base);
    overflow: hidden;
}

.c-company__image img {
    width: 100%;
    height: auto;
    display: block;
}

.c-company__name {
    font-size: var(--font-size-md);
    margin-bottom: var(--space-md);
}

.c-company__address {
    font-style: normal;
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
}

.c-company__address p {
    margin: 0;
}

.c-footer__copyright {
    color: var(--color-white);

    padding: var(--space-md) 0;
    background: var(--color-black);
}

.c-footer__copyright p {
    font-size: var(--font-size-xs);
    margin: 0;
}

/* ===================================================================
 * カートタブコンポーネント
 * =================================================================== */

.c-cart-tabs {
    background: var(--color-amiee-pink-lighter);
}

.c-cart-tabs__nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: var(--color-line-gray);
    border-radius: var(--border-radius-base);
    overflow: hidden;
    margin-bottom: var(--space-xl);
    box-shadow: var(--shadow-pink);
}

.c-cart-tabs__button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    padding: var(--space-md) var(--space-sm);
    background: var(--color-white);
    border: none;
    cursor: pointer;
    transition: all var(--transition-base);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-gray);
}

.c-cart-tabs__button:hover {
    background: var(--color-amiee-pink-light);
}

.c-cart-tabs__button.is-active {
    background: var(--color-amiee-pink-light);
    color: var(--color-black);
    font-weight: var(--font-weight-bold);
}

/* 商品別タブカラー */
[data-product-panel="long"] .c-cart-tabs__button:hover {
    background: var(--color-amiee-green-light);
}

[data-product-panel="long"] .c-cart-tabs__button.is-active {
    background: var(--color-amiee-green-light);
}

[data-product-panel="regular"] .c-cart-tabs__button:hover {
    background: var(--color-amiee-pink-light);
}

[data-product-panel="regular"] .c-cart-tabs__button.is-active {
    background: var(--color-amiee-pink-light);
}

[data-product-panel="thong"] .c-cart-tabs__button:hover {
    background: var(--color-amiee-yellow-light);
}

[data-product-panel="thong"] .c-cart-tabs__button.is-active {
    background: var(--color-amiee-yellow-light);
}

.c-cart-tabs__button-label {
    font-size: var(--font-size-xs);
    opacity: 0.7;
}

.c-cart-tabs__button.is-active .c-cart-tabs__button-label {
    opacity: 1;
}

.c-cart-tabs__color-group {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.c-cart-tabs__color-indicator {
    width: 16px;
    height: 16px;
    border-radius: var(--border-radius-full);
    display: inline-block;
    flex-shrink: 0;
}

.c-cart-tabs__color-indicator--natural {
    background: var(--color-amiee-natural);
    border: 1px solid var(--color-line-gray);
}

.c-cart-tabs__color-indicator--black {
    background: var(--color-amiee-black);
    border: 1px solid var(--color-amiee-black);
}

.c-cart-tabs__panels {
    position: relative;
}

.c-cart-tabs__panel {
    display: none;
}

.c-cart-tabs__panel.is-active {
    display: block;
}

/* 商品タブ（ロング/レギュラー/Tバック） */
.c-cart-tabs__product-nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
}

.c-cart-tabs__product-button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: var(--space-md) var(--space-sm);
    background: var(--color-white);
    border: 1px solid var(--color-line-gray);
    border-radius: var(--border-radius-base);
    cursor: pointer;
    transition: all var(--transition-base);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
}

.c-cart-tabs__discount {
    position: absolute;
    top: calc(50% - 22px);
    left: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 44px;
    height: 44px;
    background: var(--color-amiee-pink-darker);
    border-radius: var(--border-radius-full);
    z-index: 2;
}

.c-cart-tabs__discount-percent {
    font-size: var(--font-size-md);
    color: var(--color-white);
    line-height: 1;
}

.c-cart-tabs__discount-label {
    font-size: var(--font-size-xs);
    color: var(--color-white);
    line-height: 1;
}

.c-cart-tabs__discount-label {
    font-size: var(--font-size-xs);
    color: var(--color-white);
    line-height: 1;
}


.c-cart-tabs__badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    background: var(--color-amiee-green-darker);
    color: var(--color-white);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    padding: 2px 12px;
    border-radius: var(--border-radius-full);
    white-space: nowrap;
    z-index: 1;
}

.c-cart-tabs__product-button:hover {
    border-color: var(--color-amiee-pink);
    background: var(--color-amiee-pink-lighter);
}

.c-cart-tabs__product-button.is-active {
    border-color: var(--color-amiee-pink-darker);
    background: var(--color-amiee-pink-lighter);
    color: var(--color-black);
    font-weight: var(--font-weight-bold);
}

/* 商品別ボーダー色 */
.c-cart-tabs__product-button[data-product="long"]:hover {
    border-color: var(--color-amiee-green);
    background: var(--color-amiee-green-lighter);
}

.c-cart-tabs__product-button[data-product="long"].is-active {
    border-color: var(--color-amiee-green-darker);
    background: var(--color-amiee-green-lighter);
}

.c-cart-tabs__product-button[data-product="regular"]:hover {
    border-color: var(--color-amiee-pink);
    background: var(--color-amiee-pink-lighter);
}

.c-cart-tabs__product-button[data-product="regular"].is-active {
    border-color: var(--color-amiee-pink-darker);
    background: var(--color-amiee-pink-lighter);
}

.c-cart-tabs__product-button[data-product="thong"]:hover {
    border-color: var(--color-amiee-yellow);
    background: var(--color-amiee-yellow-lighter);
}

.c-cart-tabs__product-button[data-product="thong"].is-active {
    border-color: var(--color-amiee-yellow-darker);
    background: var(--color-amiee-yellow-lighter);
}

.c-cart-tabs__product-name {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
}

.c-cart-tabs__product-size {
    font-size: var(--font-size-xs);
    color: var(--color-text-gray);
}

/* 商品グループパネル */
.c-cart-tabs__product-panel {
    display: none;
}

.c-cart-tabs__product-panel.is-active {
    display: block;
}

/* ===================================================================
 19. サイドバー
 ===================================================================*/
.c-lp-sidebar {
    display: none;
}

@media screen and (min-width: 1024px) {
    .c-lp-sidebar {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: var(--space-xl);
        left: var(--space-xl);
        width: 300px;
        padding: var(--space-md);
        background: var(--color-white);
        z-index: var(--z-index-sticky);
        border-radius: var(--border-radius-base);
        box-shadow: var(--shadow-pink);
    }

    .c-lp-sidebar__logo {
        width: 120px;
        margin: 0 auto;
    }

    .c-lp-sidebar__nav {
        flex: 1 1 auto;
        margin-top: var(--space-md);
        padding-top: var(--space-md);
        border-top: 1px solid var(--color-line-gray);
    }

    .c-lp-nav-list {
        gap: var(--space-md);
        padding: 0;
        margin: 0;
    }

    .c-lp-nav-item {
        list-style-type: none;
    }

    .c-lp-nav-link {
        position: relative;
        display: inline-block;
        font-size: var(--font-size-base);
        font-weight: var(--font-weight-bold);
        width: 100%;
        padding: var(--space-sm) 0 var(--space-sm) var(--space-md);
        text-decoration: none;
        transition: color var(--transition-base);
        cursor: pointer;
    }

    .c-lp-nav-link::after {
        content: "";
        display: block;
        width: 0;
        height: 1px;
        background: var(--color-amiee-pink);
        transition: width var(--transition-base);
        margin-top: var(--space-xs);
    }

    .c-lp-nav-link:hover,
    .c-lp-nav-link:focus {
        color: var(--color-amiee-pink-dark);
    }

    .c-lp-nav-link:hover::after,
    .c-lp-nav-link:focus::after {
        width: 100%;
    }

    .c-lp-sidebar__cta {
        margin-top: var(--space-md);
    }
}

/* ===================================================================
 * カート - 数量セレクトカラー
 * =================================================================== */
.c-lp-cart__quantity-label {
    color: var(--color-black);
}

.c-lp-cart__quantity-select {
    border-color: var(--color-amiee-pink-dark);
}

.c-lp-cart__quantity-select:focus {
    border-color: var(--color-amiee-pink-darker);
}

.c-lp-cart__quantity-select:hover {
    border-color: var(--color-amiee-pink-darker);
}

/* ===================================================================
 * カート - 送料無料表示カラー（ボタン内）
 * =================================================================== */
.c-lp-cart__shipping-info {
    color: var(--color-amiee-red);
    background: var(--color-white);
    border-color: var(--color-amiee-red);
}

.c-lp-cart__shipping-info .js-remaining-amount {
    color: var(--color-amiee-red);
}

.c-lp-cart__shipping-info.is-free {
    color: var(--color-amiee-red);
}

/* インライン数量セレクト カラー */
.c-lp-cart__quantity-inline {
    border-color: var(--color-amiee-pink);
}
