/* Merged custom CSS — extracted from inline <style> tags across the site. */
/* hero */
.sv_hero {
    position: relative;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: min(140px, (100vw * (140 / 1440))) auto 0;
}
@media (max-width: 767px) {
    .sv_hero { width: calc(100vw * (350 / 375)); margin-top: calc(100vw * (70 / 375)); }
}
.sv_hero__en { font-size: min(18px, (100vw * (18 / 1440))); font-weight: 400; display: block; }
@media (max-width: 767px) { .sv_hero__en { font-size: calc(100vw * (12 / 375)); } }
.sv_hero__ja { font-size: min(48px, (100vw * (48 / 1440))); font-weight: 400; display: block; margin-top: 0.2em; }
@media (max-width: 767px) { .sv_hero__ja { font-size: calc(100vw * (30 / 375)); } }
.sv_hero__lead { margin-top: min(28px, (100vw * (28 / 1440))); font-size: min(16px, (100vw * (16 / 1440))); line-height: 1.9; }
@media (max-width: 767px) { .sv_hero__lead { font-size: calc(100vw * (14 / 375)); } }
.sv_hero__points { display: flex; flex-wrap: wrap; gap: min(16px, (100vw * (16 / 1440))); margin-top: min(32px, (100vw * (32 / 1440))); }
@media (max-width: 767px) { .sv_hero__points { gap: calc(100vw * (10 / 375)); } }
.sv_hero__point { border: 1px solid #000; padding: 0.4em 1.2em; font-size: min(14px, (100vw * (14 / 1440))); }
@media (max-width: 767px) { .sv_hero__point { font-size: calc(100vw * (12 / 375)); } }
.sv_hero__image { margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_hero__image { margin-top: calc(100vw * (28 / 375)); } }
.sv_hero__image img { width: 100%; height: auto; display: block; }

/* section */
.sv_section { width: min(1280px, (100vw * (1280 / 1440))); margin: min(120px, (100vw * (120 / 1440))) auto 0; }
@media (max-width: 767px) { .sv_section { width: calc(100vw * (350 / 375)); margin-top: calc(100vw * (70 / 375)); } }
.sv_section__en { font-size: min(16px, (100vw * (16 / 1440))); display: block; }
@media (max-width: 767px) { .sv_section__en { font-size: calc(100vw * (11 / 375)); } }
.sv_section__ja { font-size: min(36px, (100vw * (36 / 1440))); font-weight: 400; display: block; margin-top: 0.2em; }
@media (max-width: 767px) { .sv_section__ja { font-size: calc(100vw * (24 / 375)); } }
.sv_section__text { margin-top: min(28px, (100vw * (28 / 1440))); font-size: min(15px, (100vw * (15 / 1440))); line-height: 1.9; }
@media (max-width: 767px) { .sv_section__text { font-size: calc(100vw * (13 / 375)); } }

/* feature cards */
.sv_cards { display: flex; flex-wrap: wrap; gap: min(24px, (100vw * (24 / 1440))); margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_cards { gap: calc(100vw * (16 / 375)); } }
.sv_card { flex: 1 1 calc(33.333% - min(24px, (100vw * (24 / 1440))) / 3 * 2); border: 1px solid #e5e5e5; padding: min(36px, (100vw * (36 / 1440))); background: #fafafa; }
@media (max-width: 1024px) { .sv_card { flex: 1 1 100%; } }
.sv_card__num { font-size: min(40px, (100vw * (40 / 1440))); font-weight: 300; color: #c9a96a; }
@media (max-width: 767px) { .sv_card__num { font-size: calc(100vw * (32 / 375)); } }
.sv_card__title { font-size: min(22px, (100vw * (22 / 1440))); font-weight: 400; margin-top: 0.3em; }
@media (max-width: 767px) { .sv_card__title { font-size: calc(100vw * (18 / 375)); } }
.sv_card__text { margin-top: 0.8em; font-size: min(14px, (100vw * (14 / 1440))); line-height: 1.9; }
@media (max-width: 767px) { .sv_card__text { font-size: calc(100vw * (13 / 375)); } }

/* plan table */
.sv_plan { display: flex; flex-wrap: wrap; gap: min(24px, (100vw * (24 / 1440))); margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_plan { gap: calc(100vw * (16 / 375)); } }
.sv_plan__item { flex: 1 1 calc(50% - min(24px, (100vw * (24 / 1440))) / 2); border: 1px solid #e5e5e5; }
.sv_plan__head { background: #f3f1ec; padding: min(28px, (100vw * (28 / 1440))); font-size: min(22px, (100vw * (22 / 1440))); font-weight: 400; }
@media (max-width: 767px) { .sv_plan__head { font-size: calc(100vw * (18 / 375)); padding: calc(100vw * (20 / 375)); } }
.sv_plan__body { padding: min(28px, (100vw * (28 / 1440))); }
@media (max-width: 767px) { .sv_plan__body { padding: calc(100vw * (20 / 375)); } }
.sv_plan__row { display: flex; justify-content: space-between; padding: 0.8em 0; border-bottom: 1px solid #eee; font-size: min(14px, (100vw * (14 / 1440))); }
@media (max-width: 767px) { .sv_plan__row { font-size: calc(100vw * (13 / 375)); } }
.sv_plan__row:last-child { border-bottom: none; }
.sv_plan__row dt { color: #888; }
.sv_plan__row dd { margin: 0; font-weight: 600; }

/* case grid */
.sv_case { margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_case { margin-top: calc(100vw * (32 / 375)); } }
.sv_case__block { margin-top: min(56px, (100vw * (56 / 1440))); }
@media (max-width: 767px) { .sv_case__block { margin-top: calc(100vw * (40 / 375)); } }
.sv_case__title { font-size: min(24px, (100vw * (24 / 1440))); font-weight: 400; padding-left: 0.8em; border-left: 3px solid #c9a96a; }
@media (max-width: 767px) { .sv_case__title { font-size: calc(100vw * (19 / 375)); } }
.sv_case__grid { display: flex; flex-wrap: wrap; gap: min(20px, (100vw * (20 / 1440))); margin-top: min(28px, (100vw * (28 / 1440))); }
@media (max-width: 767px) { .sv_case__grid { gap: calc(100vw * (12 / 375)); } }
.sv_case__item { flex: 0 0 calc(25% - min(20px, (100vw * (20 / 1440))) / 4 * 3); border: 1px solid #eee; background: #fff; }
@media (max-width: 1024px) { .sv_case__item { flex: 0 0 calc(50% - min(20px, (100vw * (20 / 768))) / 2); } }
@media (max-width: 767px) { .sv_case__item { flex: 0 0 100%; } }
.sv_case__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; background: #f5f5f5; }
.sv_case__meta { padding: min(18px, (100vw * (18 / 1440))); }
@media (max-width: 767px) { .sv_case__meta { padding: calc(100vw * (14 / 375)); } }
.sv_case__name { font-size: min(15px, (100vw * (15 / 1440))); font-weight: 600; }
@media (max-width: 767px) { .sv_case__name { font-size: calc(100vw * (14 / 375)); } }
.sv_case__spec { display: flex; justify-content: space-between; margin-top: 0.6em; font-size: min(12px, (100vw * (12 / 1440))); color: #666; }
@media (max-width: 767px) { .sv_case__spec { font-size: calc(100vw * (11 / 375)); } }

/* note */
.sv_note { font-size: min(12px, (100vw * (12 / 1440))); color: #999; line-height: 1.8; margin-top: min(24px, (100vw * (24 / 1440))); }
@media (max-width: 767px) { .sv_note { font-size: calc(100vw * (11 / 375)); } }

/* finish list */
.sv_finish { display: flex; flex-wrap: wrap; gap: min(20px, (100vw * (20 / 1440))); margin-top: min(36px, (100vw * (36 / 1440))); }
@media (max-width: 767px) { .sv_finish { gap: calc(100vw * (12 / 375)); } }
.sv_finish__item { flex: 1 1 calc(25% - min(20px, (100vw * (20 / 1440))) / 4 * 3); border-top: 2px solid #c9a96a; padding-top: 1em; }
@media (max-width: 1024px) { .sv_finish__item { flex: 1 1 calc(50% - min(20px, (100vw * (20 / 768))) / 2); } }
.sv_finish__title { font-size: min(16px, (100vw * (16 / 1440))); font-weight: 600; }
@media (max-width: 767px) { .sv_finish__title { font-size: calc(100vw * (14 / 375)); } }
.sv_finish__text { font-size: min(13px, (100vw * (13 / 1440))); line-height: 1.8; margin-top: 0.4em; }
@media (max-width: 767px) { .sv_finish__text { font-size: calc(100vw * (12 / 375)); } }

/* flow */
.sv_flow { display: flex; flex-wrap: wrap; gap: min(12px, (100vw * (12 / 1440))); margin-top: min(36px, (100vw * (36 / 1440))); counter-reset: svflow; }
@media (max-width: 767px) { .sv_flow { gap: calc(100vw * (10 / 375)); } }
.sv_flow__item { flex: 1 1 calc(20% - min(12px, (100vw * (12 / 1440))) / 5 * 4); border: 1px solid #e5e5e5; padding: min(28px, (100vw * (28 / 1440))); position: relative; }
@media (max-width: 1024px) { .sv_flow__item { flex: 1 1 calc(33.333% - min(12px, (100vw * (12 / 768))) / 3 * 2); } }
@media (max-width: 767px) { .sv_flow__item { flex: 1 1 100%; } }
.sv_flow__item::before { counter-increment: svflow; content: counter(svflow); display: block; font-size: min(28px, (100vw * (28 / 1440))); font-weight: 300; color: #c9a96a; }
.sv_flow__title { font-size: min(16px, (100vw * (16 / 1440))); font-weight: 600; margin-top: 0.3em; }
@media (max-width: 767px) { .sv_flow__title { font-size: calc(100vw * (15 / 375)); } }
.sv_flow__text { font-size: min(13px, (100vw * (13 / 1440))); line-height: 1.8; margin-top: 0.4em; }
@media (max-width: 767px) { .sv_flow__text { font-size: calc(100vw * (12 / 375)); } }

/* cta */
.sv_cta { width: min(1280px, (100vw * (1280 / 1440))); margin: min(120px, (100vw * (120 / 1440))) auto min(160px, (100vw * (160 / 1440))); text-align: center; background: #1a1a1a; color: #fff; padding: min(80px, (100vw * (80 / 1440))) 0; }
@media (max-width: 767px) { .sv_cta { width: calc(100vw * (350 / 375)); margin: calc(100vw * (70 / 375)) auto calc(100vw * (80 / 375)); padding: calc(100vw * (50 / 375)) 0; } }
.sv_cta__title { font-size: min(32px, (100vw * (32 / 1440))); font-weight: 400; }
@media (max-width: 767px) { .sv_cta__title { font-size: calc(100vw * (24 / 375)); } }
.sv_cta__btn { display: inline-block; margin-top: min(32px, (100vw * (32 / 1440))); border: 1px solid #fff; color: #fff; padding: 1em 3em; font-size: min(15px, (100vw * (15 / 1440))); }
@media (max-width: 767px) { .sv_cta__btn { font-size: calc(100vw * (14 / 375)); } }

/* faq */
.sv_faq { margin-top: min(120px, (100vw * (120 / 1440))); }
@media (max-width: 767px) { .sv_faq { margin-top: calc(100vw * (70 / 375)); } }
.sv_faq__lead { font-size: min(15px, (100vw * (15 / 1440))); line-height: 1.8; margin-top: min(24px, (100vw * (24 / 1440))); color: #555; }
@media (max-width: 767px) { .sv_faq__lead { font-size: calc(100vw * (13 / 375)); margin-top: calc(100vw * (16 / 375)); } }
.sv_faq__list { margin-top: min(40px, (100vw * (40 / 1440))); border-top: 1px solid #000; }
@media (max-width: 767px) { .sv_faq__list { margin-top: calc(100vw * (24 / 375)); } }
.sv_faq__item { border-bottom: 1px solid #000; }
.sv_faq__summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: min(22px, (100vw * (22 / 1440))) 0; font-size: min(16px, (100vw * (16 / 1440))); line-height: 1.6; }
.sv_faq__summary::-webkit-details-marker { display: none; }
@media (max-width: 767px) { .sv_faq__summary { padding: calc(100vw * (16 / 375)) 0; font-size: calc(100vw * (14 / 375)); } }
.sv_faq__summary::after { content: "+"; display: block; flex: 0 0 auto; margin-left: 1em; font-size: min(22px, (100vw * (22 / 1440))); font-weight: 300; line-height: 1; }
@media (max-width: 767px) { .sv_faq__summary::after { font-size: calc(100vw * (18 / 375)); } }
details[open] > .sv_faq__summary::after { content: "-"; }
.sv_faq__answer { font-size: min(14px, (100vw * (14 / 1440))); line-height: 1.9; color: #555; padding: 0 0 min(22px, (100vw * (22 / 1440))); max-width: 900px; }
@media (max-width: 767px) { .sv_faq__answer { font-size: calc(100vw * (13 / 375)); padding-bottom: calc(100vw * (16 / 375)); } }



/* hero left-text right-image */
.sv_hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(64px, (100vw * (64 / 1440)));
    align-items: center;
}
@media (max-width: 1024px) {
    .sv_hero__inner { grid-template-columns: 1fr; gap: min(40px, (100vw * (40 / 768))); }
}
.sv_hero__body { order: 1; }
.sv_hero__image { margin-top: 0; order: 2; }
@media (max-width: 1024px) {
    .sv_hero__body { order: 2; }
    .sv_hero__image { order: 1; margin-top: 0; }
}
.sv_hero__badges { display: flex; flex-wrap: wrap; gap: min(10px, (100vw * (10 / 1440))); margin-bottom: min(24px, (100vw * (24 / 1440))); }
@media (max-width: 767px) { .sv_hero__badges { gap: calc(100vw * (8 / 375)); margin-bottom: calc(100vw * (16 / 375)); } }
.sv_hero__badge { border: 1px solid #000; border-radius: 999px; padding: 0.35em 1em; font-size: min(13px, (100vw * (13 / 1440))); }
@media (max-width: 767px) { .sv_hero__badge { font-size: calc(100vw * (11 / 375)); } }
.sv_hero__ja { margin-top: 0; }
.sv_hero__lead { margin-top: min(20px, (100vw * (20 / 1440))); }
.sv_hero__points { flex-direction: column; align-items: flex-start; gap: min(10px, (100vw * (10 / 1440))); margin-top: min(28px, (100vw * (28 / 1440))); }
@media (max-width: 767px) { .sv_hero__points { gap: calc(100vw * (8 / 375)); margin-top: calc(100vw * (20 / 375)); } }
.sv_hero__point { border: none; padding: 0; font-size: min(15px, (100vw * (15 / 1440))); display: flex; align-items: center; gap: 0.5em; }
@media (max-width: 767px) { .sv_hero__point { font-size: calc(100vw * (13 / 375)); } }
.sv_hero__point::before { content: "▶"; font-size: 0.7em; }
.sv_hero__image img { width: 100%; height: auto; display: block; }

/* product material tags */
.sv_case__tags { display: flex; flex-wrap: wrap; gap: min(6px, (100vw * (6 / 1440))); margin-top: 0.6em; }
@media (max-width: 767px) { .sv_case__tags { gap: calc(100vw * (5 / 375)); } }
.sv_case__tag { font-size: min(11px, (100vw * (11 / 1440))); color: #8a6d3b; border: 1px solid #c9a96a; border-radius: 999px; padding: 0.2em 0.8em; background: #fbf7ef; line-height: 1.5; white-space: nowrap; }
@media (max-width: 767px) { .sv_case__tag { font-size: calc(100vw * (10 / 375)); } }


    /* case modal */
    .sv_case__item { cursor: pointer; }
    .sv_case__modal {
        transition: all 0.4s;
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 0; right: 0; bottom: 0; left: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100vw; height: 100vh; height: 100dvh;
        background-color: rgba(0,0,0,0.5);
        z-index: 100000;
        padding: 20px;
    }
    .sv_case__modal.open { opacity: 1; visibility: visible; }
    .sv_case__modal__container {
        flex-wrap: wrap;
        max-height: 80vh;
        overflow-y: auto;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        width: min(900px, 80vw);
        max-width: 100%;
        padding: 80px 5vw 100px;
        background: #f4f3ed;
    }
    .sv_case__modal__container figure {
        position: relative;
        display: block;
        width: calc(50% - 10px);
        aspect-ratio: 1/1;
        margin: 0;
        background: #fff;
        overflow: hidden;
    }
    .sv_case__modal__container figure img {
        position: relative;
        display: block;
        width: 100%; height: 100%;
        object-fit: contain;
    }
    .sv_case__modal__close {
        position: absolute;
        bottom: 25px;
        left: 0; right: 0;
        margin: 0 auto;
        width: 50px; height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #fff;
        border-radius: 50%;
        cursor: pointer;
        filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.2));
        font-size: 28px;
        line-height: 1;
        color: #333;
    }
    @media (max-width: 768px) {
        .sv_case__modal__container {
            flex-direction: column;
            width: 90vw;
            height: auto;
            max-height: 80vh;
            padding: 60px 20px 80px;
            gap: 15px;
        }
        .sv_case__modal__container figure {
            width: min(100%, 300px);
        }
        .sv_case__modal__close {
            top: -15px;
            right: -15px;
            left: auto;
            bottom: auto;
            width: 40px; height: 40px;
        }
    }

.acc_categories__wrapper {
    position: relative;
    display: block;
    width: 100%;
    padding: min(100px, (100vw * (100 / 1440))) 0 min(200px, (100vw * (200 / 1440)));
}

@media (max-width: 767px) {
    .acc_categories__wrapper {
        padding: calc(100vw * (50 / 375)) 0 calc(100vw * (100 / 375));
    }
}

.acc_categories__heading {
    position: relative;
    display: block;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: 0 auto;
}

@media (max-width: 767px) {
    .acc_categories__heading {
        width: calc(100vw * (350 / 375));
    }
}

.acc_categories__heading-en {
    position: relative;
    display: block;
    font-size: min(20px, (100vw * (20 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .acc_categories__heading-en {
        font-size: calc(100vw * (12 / 375));
    }
}

.acc_categories__heading-ja {
    position: relative;
    display: block;
    font-size: min(56px, (100vw * (56 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .acc_categories__heading-ja {
        font-size: calc(100vw * (36 / 375));
    }
}

.acc_categories__container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: min(1360px, (100vw * (1360 / 1440)));
    gap: min(4px, (100vw * (4 / 1440)));
    margin: min(80px, (100vw * (80 / 1440))) auto 0;
}

@media (max-width: 1024px) {
    .acc_categories__container {
        width: calc(100vw * (750 / 768));
        gap: min(4px, (100vw * (4 / 768)));
        margin: calc(100vw * (60 / 375)) auto 0;
    }
}

@media (max-width: 767px) {
    .acc_categories__container {
        width: calc(100vw * (350 / 375));
        margin: calc(100vw * (40 / 375)) auto 0;
        gap: calc(100vw * (4 / 375));
    }
}

.acc_categories__item {
    position: relative;
    display: block;
    width: calc(25% - min(4px, (100vw * (4 / 1440))) / 4 * 3);
}

@media (max-width: 1024px) {
    .acc_categories__item {
        width: calc(33.3333333333% - min(4px, (100vw * (4 / 768))) / 3 * 2);
    }
}

@media (max-width: 767px) {
    .acc_categories__item {
        width: calc(50% - (100vw * (4 / 375)) / 2 * 1);
    }
}



.acc_categories__item-image {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #f5f5f5;
}

.acc_categories__item-image img {
    display: block;
    width: 100%;
    height: auto;
}

.acc_categories__item-title {
    position: absolute;
    bottom: min(30px, (100vw * (30 / 1440)));
    left: 0;
    right: 0;
    margin: 0 auto;
    width: min(100% - min(32px, (100vw * (32 / 1440))), min(186px, (100vw * (186 / 1440))));
    border: solid 1px #000;
    text-align: center;
    padding: 0.25em;
    font-size: min(12px, (100vw * (12 / 1440)));
    font-weight: 400;
}

@media (max-width: 1024px) {
    .acc_categories__item-title {
        width: min(100% - min(32px, (100vw * (32 / 768))), min(186px, (100vw * (186 / 768))));
        font-size: calc(100vw * (12 / 768));
    }
}

@media (max-width: 767px) {
    .acc_categories__item-title {
        width: min(100% - min(32px, (100vw * (32 / 375))), min(186px, (100vw * (186 / 375))));
        font-size: calc(100vw * (12 / 375));
    }
}



.acc_categories__item a {
    display: block;
    width: 100%;
    height: 100%;
}

@media (any-hover: hover) {
    .acc_categories__item a .acc_categories__item-image img {
        -webkit-transition: scale 0.3s ease;
        transition: scale 0.3s ease;
    }

    .acc_categories__item a:hover .acc_categories__item-image img {
        scale: 1.1;
    }
}

/* hero */
.sv_hero {
    position: relative;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: min(140px, (100vw * (140 / 1440))) auto 0;
}
@media (max-width: 767px) {
    .sv_hero { width: calc(100vw * (350 / 375)); margin-top: calc(100vw * (70 / 375)); }
}
.sv_hero__en { font-size: min(18px, (100vw * (18 / 1440))); font-weight: 400; display: block; }
@media (max-width: 767px) { .sv_hero__en { font-size: calc(100vw * (12 / 375)); } }
.sv_hero__ja { font-size: min(48px, (100vw * (48 / 1440))); font-weight: 400; display: block; margin-top: 0.2em; }
@media (max-width: 767px) { .sv_hero__ja { font-size: calc(100vw * (30 / 375)); } }
.sv_hero__lead { margin-top: min(28px, (100vw * (28 / 1440))); font-size: min(16px, (100vw * (16 / 1440))); line-height: 1.9; }
@media (max-width: 767px) { .sv_hero__lead { font-size: calc(100vw * (14 / 375)); } }
.sv_hero__points { display: flex; flex-wrap: wrap; gap: min(16px, (100vw * (16 / 1440))); margin-top: min(32px, (100vw * (32 / 1440))); }
@media (max-width: 767px) { .sv_hero__points { gap: calc(100vw * (10 / 375)); } }
.sv_hero__point { border: 1px solid #000; padding: 0.4em 1.2em; font-size: min(14px, (100vw * (14 / 1440))); }
@media (max-width: 767px) { .sv_hero__point { font-size: calc(100vw * (12 / 375)); } }
.sv_hero__image { margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_hero__image { margin-top: calc(100vw * (28 / 375)); } }
.sv_hero__image img { width: 100%; height: auto; display: block; }

/* section */
.sv_section { width: min(1280px, (100vw * (1280 / 1440))); margin: min(120px, (100vw * (120 / 1440))) auto 0; }
@media (max-width: 767px) { .sv_section { width: calc(100vw * (350 / 375)); margin-top: calc(100vw * (70 / 375)); } }
.sv_section__en { font-size: min(16px, (100vw * (16 / 1440))); display: block; }
@media (max-width: 767px) { .sv_section__en { font-size: calc(100vw * (11 / 375)); } }
.sv_section__ja { font-size: min(36px, (100vw * (36 / 1440))); font-weight: 400; display: block; margin-top: 0.2em; }
@media (max-width: 767px) { .sv_section__ja { font-size: calc(100vw * (24 / 375)); } }
.sv_section__text { margin-top: min(28px, (100vw * (28 / 1440))); font-size: min(15px, (100vw * (15 / 1440))); line-height: 1.9; }
@media (max-width: 767px) { .sv_section__text { font-size: calc(100vw * (13 / 375)); } }

/* feature cards */
.sv_cards { display: flex; flex-wrap: wrap; gap: min(24px, (100vw * (24 / 1440))); margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_cards { gap: calc(100vw * (16 / 375)); } }
.sv_card { flex: 1 1 calc(33.333% - min(24px, (100vw * (24 / 1440))) / 3 * 2); border: 1px solid #e5e5e5; padding: min(36px, (100vw * (36 / 1440))); background: #fafafa; }
@media (max-width: 1024px) { .sv_card { flex: 1 1 100%; } }
.sv_card__num { font-size: min(40px, (100vw * (40 / 1440))); font-weight: 300; color: #c9a96a; }
@media (max-width: 767px) { .sv_card__num { font-size: calc(100vw * (32 / 375)); } }
.sv_card__title { font-size: min(22px, (100vw * (22 / 1440))); font-weight: 400; margin-top: 0.3em; }
@media (max-width: 767px) { .sv_card__title { font-size: calc(100vw * (18 / 375)); } }
.sv_card__text { margin-top: 0.8em; font-size: min(14px, (100vw * (14 / 1440))); line-height: 1.9; }
@media (max-width: 767px) { .sv_card__text { font-size: calc(100vw * (13 / 375)); } }

/* plan table */
.sv_plan { display: flex; flex-wrap: wrap; gap: min(24px, (100vw * (24 / 1440))); margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_plan { gap: calc(100vw * (16 / 375)); } }
.sv_plan__item { flex: 1 1 calc(50% - min(24px, (100vw * (24 / 1440))) / 2); border: 1px solid #e5e5e5; }
.sv_plan__head { background: #f3f1ec; padding: min(28px, (100vw * (28 / 1440))); font-size: min(22px, (100vw * (22 / 1440))); font-weight: 400; }
@media (max-width: 767px) { .sv_plan__head { font-size: calc(100vw * (18 / 375)); padding: calc(100vw * (20 / 375)); } }
.sv_plan__body { padding: min(28px, (100vw * (28 / 1440))); }
@media (max-width: 767px) { .sv_plan__body { padding: calc(100vw * (20 / 375)); } }
.sv_plan__row { display: flex; justify-content: space-between; padding: 0.8em 0; border-bottom: 1px solid #eee; font-size: min(14px, (100vw * (14 / 1440))); }
@media (max-width: 767px) { .sv_plan__row { font-size: calc(100vw * (13 / 375)); } }
.sv_plan__row:last-child { border-bottom: none; }
.sv_plan__row dt { color: #888; }
.sv_plan__row dd { margin: 0; font-weight: 600; }

/* case grid */
.sv_case { margin-top: min(48px, (100vw * (48 / 1440))); }
@media (max-width: 767px) { .sv_case { margin-top: calc(100vw * (32 / 375)); } }
.sv_case__block { margin-top: min(56px, (100vw * (56 / 1440))); }
@media (max-width: 767px) { .sv_case__block { margin-top: calc(100vw * (40 / 375)); } }
.sv_case__title { font-size: min(24px, (100vw * (24 / 1440))); font-weight: 400; padding-left: 0.8em; border-left: 3px solid #c9a96a; }
@media (max-width: 767px) { .sv_case__title { font-size: calc(100vw * (19 / 375)); } }
.sv_case__grid { display: flex; flex-wrap: wrap; gap: min(20px, (100vw * (20 / 1440))); margin-top: min(28px, (100vw * (28 / 1440))); }
@media (max-width: 767px) { .sv_case__grid { gap: calc(100vw * (12 / 375)); } }
.sv_case__item { flex: 0 0 calc(25% - min(20px, (100vw * (20 / 1440))) / 4 * 3); border: 1px solid #eee; background: #fff; }
@media (max-width: 1024px) { .sv_case__item { flex: 0 0 calc(50% - min(20px, (100vw * (20 / 768))) / 2); } }
@media (max-width: 767px) { .sv_case__item { flex: 0 0 100%; } }
.sv_case__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; background: #f5f5f5; }
.sv_case__meta { padding: min(18px, (100vw * (18 / 1440))); }
@media (max-width: 767px) { .sv_case__meta { padding: calc(100vw * (14 / 375)); } }
.sv_case__name { font-size: min(15px, (100vw * (15 / 1440))); font-weight: 600; }
@media (max-width: 767px) { .sv_case__name { font-size: calc(100vw * (14 / 375)); } }
.sv_case__spec { display: flex; justify-content: space-between; margin-top: 0.6em; font-size: min(12px, (100vw * (12 / 1440))); color: #666; }
@media (max-width: 767px) { .sv_case__spec { font-size: calc(100vw * (11 / 375)); } }

/* note */
.sv_note { font-size: min(12px, (100vw * (12 / 1440))); color: #999; line-height: 1.8; margin-top: min(24px, (100vw * (24 / 1440))); }
@media (max-width: 767px) { .sv_note { font-size: calc(100vw * (11 / 375)); } }

/* finish list */
.sv_finish { display: flex; flex-wrap: wrap; gap: min(20px, (100vw * (20 / 1440))); margin-top: min(36px, (100vw * (36 / 1440))); }
@media (max-width: 767px) { .sv_finish { gap: calc(100vw * (12 / 375)); } }
.sv_finish__item { flex: 1 1 calc(25% - min(20px, (100vw * (20 / 1440))) / 4 * 3); border-top: 2px solid #c9a96a; padding-top: 1em; }
@media (max-width: 1024px) { .sv_finish__item { flex: 1 1 calc(50% - min(20px, (100vw * (20 / 768))) / 2); } }
.sv_finish__title { font-size: min(16px, (100vw * (16 / 1440))); font-weight: 600; }
@media (max-width: 767px) { .sv_finish__title { font-size: calc(100vw * (14 / 375)); } }
.sv_finish__text { font-size: min(13px, (100vw * (13 / 1440))); line-height: 1.8; margin-top: 0.4em; }
@media (max-width: 767px) { .sv_finish__text { font-size: calc(100vw * (12 / 375)); } }

/* flow */
.sv_flow { display: flex; flex-wrap: wrap; gap: min(12px, (100vw * (12 / 1440))); margin-top: min(36px, (100vw * (36 / 1440))); counter-reset: svflow; }
@media (max-width: 767px) { .sv_flow { gap: calc(100vw * (10 / 375)); } }
.sv_flow__item { flex: 1 1 calc(20% - min(12px, (100vw * (12 / 1440))) / 5 * 4); border: 1px solid #e5e5e5; padding: min(28px, (100vw * (28 / 1440))); position: relative; }
@media (max-width: 1024px) { .sv_flow__item { flex: 1 1 calc(33.333% - min(12px, (100vw * (12 / 768))) / 3 * 2); } }
@media (max-width: 767px) { .sv_flow__item { flex: 1 1 100%; } }
.sv_flow__item::before { counter-increment: svflow; content: counter(svflow); display: block; font-size: min(28px, (100vw * (28 / 1440))); font-weight: 300; color: #c9a96a; }
.sv_flow__title { font-size: min(16px, (100vw * (16 / 1440))); font-weight: 600; margin-top: 0.3em; }
@media (max-width: 767px) { .sv_flow__title { font-size: calc(100vw * (15 / 375)); } }
.sv_flow__text { font-size: min(13px, (100vw * (13 / 1440))); line-height: 1.8; margin-top: 0.4em; }
@media (max-width: 767px) { .sv_flow__text { font-size: calc(100vw * (12 / 375)); } }

/* cta */
.sv_cta { width: min(1280px, (100vw * (1280 / 1440))); margin: min(120px, (100vw * (120 / 1440))) auto min(160px, (100vw * (160 / 1440))); text-align: center; background: #1a1a1a; color: #fff; padding: min(80px, (100vw * (80 / 1440))) 0; }
@media (max-width: 767px) { .sv_cta { width: calc(100vw * (350 / 375)); margin: calc(100vw * (70 / 375)) auto calc(100vw * (80 / 375)); padding: calc(100vw * (50 / 375)) 0; } }
.sv_cta__title { font-size: min(32px, (100vw * (32 / 1440))); font-weight: 400; }
@media (max-width: 767px) { .sv_cta__title { font-size: calc(100vw * (24 / 375)); } }
.sv_cta__btn { display: inline-block; margin-top: min(32px, (100vw * (32 / 1440))); border: 1px solid #fff; color: #fff; padding: 1em 3em; font-size: min(15px, (100vw * (15 / 1440))); }
@media (max-width: 767px) { .sv_cta__btn { font-size: calc(100vw * (14 / 375)); } }

/* faq */
.sv_faq { margin-top: min(120px, (100vw * (120 / 1440))); }
@media (max-width: 767px) { .sv_faq { margin-top: calc(100vw * (70 / 375)); } }
.sv_faq__lead { font-size: min(15px, (100vw * (15 / 1440))); line-height: 1.8; margin-top: min(24px, (100vw * (24 / 1440))); color: #555; }
@media (max-width: 767px) { .sv_faq__lead { font-size: calc(100vw * (13 / 375)); margin-top: calc(100vw * (16 / 375)); } }
.sv_faq__list { margin-top: min(40px, (100vw * (40 / 1440))); border-top: 1px solid #000; }
@media (max-width: 767px) { .sv_faq__list { margin-top: calc(100vw * (24 / 375)); } }
.sv_faq__item { border-bottom: 1px solid #000; }
.sv_faq__summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: min(22px, (100vw * (22 / 1440))) 0; font-size: min(16px, (100vw * (16 / 1440))); line-height: 1.6; }
.sv_faq__summary::-webkit-details-marker { display: none; }
@media (max-width: 767px) { .sv_faq__summary { padding: calc(100vw * (16 / 375)) 0; font-size: calc(100vw * (14 / 375)); } }
.sv_faq__summary::after { content: "+"; display: block; flex: 0 0 auto; margin-left: 1em; font-size: min(22px, (100vw * (22 / 1440))); font-weight: 300; line-height: 1; }
@media (max-width: 767px) { .sv_faq__summary::after { font-size: calc(100vw * (18 / 375)); } }
details[open] > .sv_faq__summary::after { content: "-"; }
.sv_faq__answer { font-size: min(14px, (100vw * (14 / 1440))); line-height: 1.9; color: #555; padding: 0 0 min(22px, (100vw * (22 / 1440))); max-width: 900px; }
@media (max-width: 767px) { .sv_faq__answer { font-size: calc(100vw * (13 / 375)); padding-bottom: calc(100vw * (16 / 375)); } }



/* hero left-text right-image */
.sv_hero__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(64px, (100vw * (64 / 1440)));
    align-items: center;
}
@media (max-width: 1024px) {
    .sv_hero__inner { grid-template-columns: 1fr; gap: min(40px, (100vw * (40 / 768))); }
}
.sv_hero__body { order: 1; }
.sv_hero__image { margin-top: 0; order: 2; }
@media (max-width: 1024px) {
    .sv_hero__body { order: 2; }
    .sv_hero__image { order: 1; margin-top: 0; }
}
.sv_hero__badges { display: flex; flex-wrap: wrap; gap: min(10px, (100vw * (10 / 1440))); margin-bottom: min(24px, (100vw * (24 / 1440))); }
@media (max-width: 767px) { .sv_hero__badges { gap: calc(100vw * (8 / 375)); margin-bottom: calc(100vw * (16 / 375)); } }
.sv_hero__badge { border: 1px solid #000; border-radius: 999px; padding: 0.35em 1em; font-size: min(13px, (100vw * (13 / 1440))); }
@media (max-width: 767px) { .sv_hero__badge { font-size: calc(100vw * (11 / 375)); } }
.sv_hero__ja { margin-top: 0; }
.sv_hero__lead { margin-top: min(20px, (100vw * (20 / 1440))); }
.sv_hero__points { flex-direction: column; align-items: flex-start; gap: min(10px, (100vw * (10 / 1440))); margin-top: min(28px, (100vw * (28 / 1440))); }
@media (max-width: 767px) { .sv_hero__points { gap: calc(100vw * (8 / 375)); margin-top: calc(100vw * (20 / 375)); } }
.sv_hero__point { border: none; padding: 0; font-size: min(15px, (100vw * (15 / 1440))); display: flex; align-items: center; gap: 0.5em; }
@media (max-width: 767px) { .sv_hero__point { font-size: calc(100vw * (13 / 375)); } }
.sv_hero__point::before { content: "▶"; font-size: 0.7em; }
.sv_hero__image img { width: 100%; height: auto; display: block; }

:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */

/*<!-- rtoc -->*/
		.rtoc-mokuji-content {
			background-color: #ffffff;
		}

		.rtoc-mokuji-content.frame1 {
			border: 1px solid #ffffff;
		}

		.rtoc-mokuji-content #rtoc-mokuji-title {
			color: #333333;
		}

		.rtoc-mokuji-content .rtoc-mokuji li>a {
			color: #333333;
		}

		.rtoc-mokuji-content .mokuji_ul.level-1>.rtoc-item::before {
			background-color: #333333 !important;
		}

		.rtoc-mokuji-content .mokuji_ul.level-2>.rtoc-item::before {
			background-color: #bfbfbf !important;
		}

		.rtoc-mokuji-content.frame2::before,
		.rtoc-mokuji-content.frame3,
		.rtoc-mokuji-content.frame4,
		.rtoc-mokuji-content.frame5 {
			border-color: #ffffff !important;
		}

		.rtoc-mokuji-content.frame5::before,
		.rtoc-mokuji-content.frame5::after {
			background-color: #ffffff;
		}

		.widget_block #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		.widget #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		#scrollad #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		#sideBarTracking #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after {
			background-color: #333333 !important;
		}

		.cls-1,
		.cls-2 {
			stroke: #ffffff;
		}

		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::before,
		.rtoc-mokuji-content .mokuji_ol.level-2>.rtoc-item::before,
		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::after,
		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::after {
			color: #bfbfbf;
			background-color: #bfbfbf;
		}

		.rtoc-mokuji-content .rtoc-mokuji.level-1>.rtoc-item::before {
			color: #333333;
		}

		.rtoc-mokuji-content .decimal_ol>.rtoc-item::after {
			background-color: #333333;
		}

		.rtoc-mokuji-content .decimal_ol>.rtoc-item::before {
			color: #333333;
		}

		/*rtoc_return*/
		#rtoc_return a::before {
		}

		#rtoc_return a {
			background-color: #333333 !important;
		}

		/* アクセントポイント */
		.rtoc-mokuji-content .level-1>.rtoc-item #rtocAC.accent-point::after {
			background-color: #333333;
		}

		.rtoc-mokuji-content .level-2>.rtoc-item #rtocAC.accent-point::after {
			background-color: #bfbfbf;
		}
		.rtoc-mokuji-content.frame6,
		.rtoc-mokuji-content.frame7::before,
		.rtoc-mokuji-content.frame8::before {
			border-color: #ffffff;
		}

		.rtoc-mokuji-content.frame6 #rtoc-mokuji-title,
		.rtoc-mokuji-content.frame7 #rtoc-mokuji-title::after {
			background-color: #ffffff;
		}

		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h2_timeline .mokuji_ol.level-1>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h2_timeline .level-1.decimal_ol>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h3_timeline .mokuji_ol.level-2>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h3_timeline .mokuji_ol.level-2>.rtoc-item::after,
		.rtoc-mokuji-content.frame7 #rtoc-mokuji-title span::after {
			background-color: #333333;
		}

		.widget #rtoc-mokuji-wrapper.rtoc-mokuji-content.frame6 #rtoc-mokuji-title {
			color: #333333;
			background-color: #ffffff;
		}

.all_oem_categories__wrapper {
    position: relative;
    display: block;
    width: 100%;
    padding: min(100px, (100vw * (100 / 1440))) 0 min(200px, (100vw * (200 / 1440)));
}

@media (max-width: 767px) {
    .all_oem_categories__wrapper {
        padding: calc(100vw * (50 / 375)) 0 calc(100vw * (100 / 375));
    }
}

.all_oem_categories__heading {
    position: relative;
    display: block;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: 0 auto;
}

@media (max-width: 767px) {
    .all_oem_categories__heading {
        width: calc(100vw * (350 / 375));
    }
}

.all_oem_categories__heading-en {
    position: relative;
    display: block;
    font-size: min(20px, (100vw * (20 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .all_oem_categories__heading-en {
        font-size: calc(100vw * (12 / 375));
    }
}

.all_oem_categories__heading-ja {
    position: relative;
    display: block;
    font-size: min(56px, (100vw * (56 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .all_oem_categories__heading-ja {
        font-size: calc(100vw * (36 / 375));
    }
}

.all_oem_categories__container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: min(1360px, (100vw * (1360 / 1440)));
    gap: min(4px, (100vw * (4 / 1440)));
    margin: min(80px, (100vw * (80 / 1440))) auto 0;
}

@media (max-width: 1024px) {
    .all_oem_categories__container {
        width: calc(100vw * (750 / 768));
        gap: min(4px, (100vw * (4 / 768)));
        margin: calc(100vw * (60 / 375)) auto 0;
    }
}

@media (max-width: 767px) {
    .all_oem_categories__container {
        width: calc(100vw * (350 / 375));
        margin: calc(100vw * (40 / 375)) auto 0;
        gap: calc(100vw * (4 / 375));
    }
}

.all_oem_categories__item {
    position: relative;
    display: block;
    width: calc(25% - min(4px, (100vw * (4 / 1440))) / 4 * 3);
}

@media (max-width: 1024px) {
    .all_oem_categories__item {
        width: calc(33.3333333333% - min(4px, (100vw * (4 / 768))) / 3 * 2);
    }
}

@media (max-width: 767px) {
    .all_oem_categories__item {
        width: calc(50% - (100vw * (4 / 375)) / 2 * 1);
    }
}

.all_oem_categories__item--big {
    width: calc(50% - min(4px, (100vw * (4 / 1440))) / 2 * 1);
}

@media (max-width: 1024px) {
    .all_oem_categories__item--big {
        width: calc(66.6666666667% - min(4px, (100vw * (4 / 768))) / 3 * 2);
    }
}

@media (max-width: 767px) {
    .all_oem_categories__item--big {
        width: 100%;
    }
}

.all_oem_categories__item-image {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.all_oem_categories__item-image img {
    display: block;
    width: 100%;
    height: auto;
}

.all_oem_categories__item-title {
    position: absolute;
    bottom: min(30px, (100vw * (30 / 1440)));
    left: 0;
    right: 0;
    margin: 0 auto;
    width: min(100% - min(32px, (100vw * (32 / 1440))), min(186px, (100vw * (186 / 1440))));
    border: solid 1px #000;
    text-align: center;
    padding: 0.25em;
    font-size: min(12px, (100vw * (12 / 1440)));
    font-weight: 400;
}

@media (max-width: 1024px) {
    .all_oem_categories__item-title {
        width: min(100% - min(32px, (100vw * (32 / 768))), min(186px, (100vw * (186 / 768))));
        font-size: calc(100vw * (12 / 768));
    }
}

@media (max-width: 767px) {
    .all_oem_categories__item-title {
        width: min(100% - min(32px, (100vw * (32 / 375))), min(186px, (100vw * (186 / 375))));
        font-size: calc(100vw * (12 / 375));
    }
}

.all_oem_categories__item--big .all_oem_categories__item-title {
    width: min(100% - min(32px, (100vw * (32 / 1440))), min(453px, (100vw * (453 / 1440))));
    font-size: min(16px, (100vw * (16 / 1440)));
}

@media (max-width: 1024px) {
    .all_oem_categories__item--big .all_oem_categories__item-title {
        width: min(100% - min(32px, (100vw * (32 / 768))), min(453px, (100vw * (453 / 768))));
        font-size: calc(100vw * (12 / 768));
    }
}

@media (max-width: 767px) {
    .all_oem_categories__item--big .all_oem_categories__item-title {
        width: min(100% - min(32px, (100vw * (32 / 375))), min(453px, (100vw * (453 / 375))));
        font-size: calc(100vw * (12 / 375));
    }
}

.all_oem_categories__item a {
    display: block;
    width: 100%;
    height: 100%;
}

@media (any-hover: hover) {
    .all_oem_categories__item a .all_oem_categories__item-image img {
        -webkit-transition: scale 0.3s ease;
        transition: scale 0.3s ease;
    }

    .all_oem_categories__item a:hover .all_oem_categories__item-image img {
        scale: 1.1;
    }
}

/* ===========================================================
single_mv
============================================================ */
.single_mv {
    position: relative;
    display: block;
    width: 100%;
    padding: min(75px, (100vw * (75 / 1440))) 0;
}

@media (max-width: 767px) {
    .single_mv {
        padding: 0 0 calc(100vw * (50 / 375)) 0;
    }
}

.single_mv__container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: 0 auto;
    gap: min(50px, (100vw * (50 / 1440)));
}

@media (max-width: 767px) {
    .single_mv__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        gap: calc(100vw * (30 / 375));
        width: calc(100vw * (350 / 375));
    }
}

.single_mv__image {
    position: relative;
    display: block;
    width: min(600px, (100vw * (600 / 1440)));
}

@media (max-width: 767px) {
    .single_mv__image {
        width: 100%;
        margin: 0 auto;
    }
}

.single_mv__image img {
    position: relative;
    display: block;
    width: 100%;
}

.single_mv__body {
    position: relative;
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

@media (max-width: 767px) {
    .single_mv__body {
        -webkit-box-flex: 1;
        -webkit-flex: auto;
        -ms-flex: auto;
        flex: auto;
        width: 100%;
    }
}

.single_mv__meta {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
    gap: min(10px, (100vw * (10 / 1440)));
    margin: 0 auto min(50px, (100vw * (40 / 1440)));
}

@media (max-width: 767px) {
    .single_mv__meta {
        gap: calc(100vw * (10 / 375));
        margin: 0 auto calc(100vw * (20 / 375));
    }
}

.single_mv__meta li {
    position: relative;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em 1em;
    font-size: min(16px, (100vw * (16 / 1440)));
    font-weight: 400;
    border: solid 1px #000;
    border-radius: 9999px;
    max-width: 100%;
}

@media (max-width: 767px) {
    .single_mv__meta li {
        font-size: calc(100vw * (14 / 375));
        padding: 0.5em 0.75em;
    }
}

.single_mv__title {
    position: relative;
    display: block;
    width: 100%;
    font-size: min(40px, (100vw * (48 / 1440)));
    font-weight: 500;
    color: #000;
    margin: min(40px, (100vw * (40 / 1440))) 0;
}

@media (max-width: 767px) {
    .single_mv__title {
        font-size: calc(100vw * (30 / 375));
        margin: calc(100vw * (20 / 375)) 0;
    }
}

.single_mv__text {
    position: relative;
    display: block;
    width: 100%;
    font-size: min(18px, (100vw * (18 / 1440)));
    font-weight: 400;
    color: #000;
}

@media (max-width: 767px) {
    .single_mv__text {
        font-size: calc(100vw * (14 / 375));
    }
}

.parts_bag_message {
  position: relative;
  display: block;
  width: 100%;
}

.parts_bag_message_contents_wrap {
  position: relative;
  width: min(100%, 1000px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 50px;
  padding: 100px 20px;
}

.parts_bag_message_content {
  width: calc(50% - 25px);
}

.parts_bag_message_content:first-of-type {
  width: calc(40% - 25px);
}

.parts_bag_message_content:last-of-type {
  width: calc(60% - 25px);
}

.parts_bag_message_content.message {
  position: relative;
  display: block;
  order: 1;
  translate: 0 75px;
}

.parts_bag_message_content.message h2 {
  position: relative;
  display: block;
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 50px;
}

.parts_bag_message_content.message h2 span {
  display: block;
  width: 100%;
}

.parts_bag_message_content.message p {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 2;
}

.parts_bag_message_content.message p span {
  display: block;
}

.parts_bag_message_content.image {
  position: relative;
  display: block;
  order: 2;
}

.parts_bag_message_content.image figure {
  display: block;
  width: 100%;
}

.parts_bag_message_content.image figure img {
  display: block;
  width: 100%;
}

@media (max-width: 768px) {
  .parts_bag_message {
    padding: 0;
  }
  .parts_bag_message_contents_wrap {
    gap: 25px;
    padding: 0 0 50px;
  }
  .parts_bag_message_content {
    width: 100%;
  }
  .parts_bag_message_content:first-of-type {
    width: 100%;
  }
  .parts_bag_message_content:last-of-type {
    width: 100%;
  }
  .parts_bag_message_content.message {
    padding: 0 20px;
  }
  .parts_bag_message_content.message h2 {
    margin-bottom: 25px;
    font-size: 20px;
  }
  .parts_bag_message_content.message {
    order: 2;
    translate: 0 0;
  }
  .parts_bag_message_content.image {
    order: 1;
  }
}
#ViewIn.parts_bag_message .parts_bag_message_contents_wrap .parts_bag_message_content {
  opacity: 0;
  visibility: hidden;
  translate: 0 50px;
  transition: all 1s;
}
#ViewIn.parts_bag_message .parts_bag_message_contents_wrap .parts_bag_message_content.image {
  transition-delay: 0.5s;
}
#ViewIn.parts_bag_message .parts_bag_message_contents_wrap .parts_bag_message_content.message {
  transition-delay: 0s;
}
@media (max-width: 768px) {
  #ViewIn.parts_bag_message .parts_bag_message_contents_wrap .parts_bag_message_content.image {
    transition-delay: 0s;
  }
  #ViewIn.parts_bag_message .parts_bag_message_contents_wrap .parts_bag_message_content.message {
    transition-delay: 0.5s;
  }
}
#ViewIn.parts_bag_message.show .parts_bag_message_contents_wrap .parts_bag_message_content {
  opacity: 1;
  visibility: visible;
  translate: 0;
}

.parts_bag_market_price {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 10px;
}

.parts_bag_market_price_wrap {
  position: relative;
  width: min(100%, 1000px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 50px;
  padding: 100px 20px;
}

.parts_bag_market_price_content {
  width: calc(50% - 12.5px);
}
.parts_bag_market_price_content:first-of-type {
  width: calc(60% - 25px);
}
.parts_bag_market_price_content:last-of-type {
  width: calc(40% - 25px);
}
.parts_bag_market_price_content.message {
  position: relative;
  display: block;
  order: 2;
}
.parts_bag_market_price_content.message h2 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 50px;
}
.parts_bag_market_price_content.message h2 span {
  display: block;
}
.parts_bag_market_price_content.message p {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 2;
}
.parts_bag_market_price_content.table {
  position: relative;
  display: block;
  order: 1;
}
.parts_bag_market_price_content.table table {
  display: block;
  width: 100%;
}
.parts_bag_market_price_content.table table thead,
.parts_bag_market_price_content.table table tbody {
  display: block;
  width: 100%;
}
.parts_bag_market_price_content.table table thead tr,
.parts_bag_market_price_content.table table tbody tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border-bottom: solid 1px #333;
  line-height: 1;
}
.parts_bag_market_price_content.table table thead tr > th, .parts_bag_market_price_content.table table thead tr > td,
.parts_bag_market_price_content.table table tbody tr > th,
.parts_bag_market_price_content.table table tbody tr > td {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.3333333333%;
  height: 3em;
}
.parts_bag_market_price_content.table table tbody tr th {
  justify-content: flex-start;
}
.parts_bag_market_price_content.table p {
  display: block;
  font-size: 12px;
  padding: 0.5em 1em;
}

@media (max-width: 768px) {
  .parts_bag_market_price {
    padding: 0;
  }
  .parts_bag_market_price_wrap {
    padding: 50px 20px;
    gap: 25px;
  }
  .parts_bag_market_price_content {
    width: 100%;
  }
  .parts_bag_market_price_content:first-of-type, .parts_bag_market_price_content:last-of-type {
    width: 100%;
  }
  .parts_bag_market_price_content.message {
    order: 1;
  }
  .parts_bag_market_price_content.message h2 {
    margin-bottom: 25px;
    font-size: 20px;
  }
  .parts_bag_market_price_content.table {
    order: 2;
    font-size: 12px;
  }
  .parts_bag_market_price_content.table p {
    font-size: 10px;
  }
}
#ViewIn.parts_bag_market_price .parts_bag_market_price_wrap .parts_bag_market_price_content {
  opacity: 0;
  visibility: hidden;
  translate: 0 20px;
  transition: all 1s ease-out;
}
#ViewIn.parts_bag_market_price .parts_bag_market_price_wrap .parts_bag_market_price_content.table {
  transition-delay: 0s;
}
#ViewIn.parts_bag_market_price .parts_bag_market_price_wrap .parts_bag_market_price_content.message {
  transition-delay: 0.5s;
}
@media (max-width: 768px) {
  #ViewIn.parts_bag_market_price .parts_bag_market_price_wrap .parts_bag_market_price_content.table {
    transition-delay: 0.5s;
  }
  #ViewIn.parts_bag_market_price .parts_bag_market_price_wrap .parts_bag_market_price_content.message {
    transition-delay: 0s;
  }
}
#ViewIn.parts_bag_market_price.show .parts_bag_market_price_wrap .parts_bag_market_price_content {
  opacity: 1;
  visibility: visible;
  translate: 0;
}

.parts_bag_reference {
  position: relative;
  display: block;
  width: 100%;
}
.parts_bag_reference .parts_bag_reference_wrap {
  position: relative;
  display: block;
  width: min(100%, 1280px);
  padding: 100px 20px 0;
  margin: 0 auto;
}
.parts_bag_reference .parts_bag_reference_wrap .parts_bag_reference_body {
  position: relative;
  display: block;
  width: 100%;
}

.parts_bag_reference_title {
  position: relative;
  display: block;
  margin-bottom: 100px;
}
.parts_bag_reference_title h2 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: left;
  font-size: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
  font-weight: 700;
}
.parts_bag_reference_title h2 span {
  position: relative;
  display: block;
}
.parts_bag_reference_title p {
  position: relative;
  display: block;
  width: min(100%, 480px);
  margin: 0 auto;
  font-size: 14px;
  text-align: center;
}

@media (max-width: 768px) {
  .parts_bag_reference .parts_bag_reference_wrap {
    padding: 50px 20px 0;
  }
  .parts_bag_reference_title {
    margin-bottom: 50px;
  }
  .parts_bag_reference_title h2 {
    justify-content: flex-start;
    font-size: 20px;
  }
  .parts_bag_reference_title h2 span {
    width: 100%;
  }
  .parts_bag_reference_title p {
    text-align: left;
  }
}

.parts_bag_reference_title h2#ViewIn,
.parts_bag_reference_title p#ViewIn,
.parts_bag_reference_item_desc#ViewIn {
    transition: all 1s;
    translate: 0 50px;
    opacity: 0;
    visibility: hidden;
}
.parts_bag_reference_title h2#ViewIn.show,
.parts_bag_reference_title p#ViewIn.show,
.parts_bag_reference_item_desc#ViewIn.show {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
}

.parts_bag_reference_item_cards_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 150px;
  width: min(100%, 1000px);
  margin: 0 auto;
}
.parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card {
  position: relative;
  display: block;
  width: calc(33.3333333333% - 6.6666666667px);
}
.parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 10px 0 5px;
    border: solid 1px #333;
    line-height: 1.5;
}
.parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.en {
  position: relative;
  display: block;
  width: 100%;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-align: center;
}
.parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.ja {
  position: relative;
  display: block;
  width: 100%;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-align: center;
  font-weight: 600;
}
.parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.bottom_arrow {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 auto;
}
.parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.bottom_arrow svg {
  position: relative;
  display: block;
  width: 20px;
  height: 20px;
}

@media (max-width: 768px) {
  .parts_bag_reference_item_cards_wrap {
    padding-bottom: 100px;
  }
  .parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card {
    width: calc(50% - 5px);
  }
  .parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.en {
    font-size: 10px;
  }
  .parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.ja {
    font-size: 12px;
  }
  .parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.bottom_arrow {
    width: 14px;
    height: 14px;
  }
  .parts_bag_reference_item_cards_wrap .parts_bag_reference_item_card a span.bottom_arrow svg {
    position: relative;
    display: block;
    width: 14px;
    height: 14px;
  }
}

.parts_bag_reference_item_card#ViewIn {
    transition: all 1s;
    translate: 0 50px;
    opacity: 0;
    visibility: hidden;
}
.parts_bag_reference_item_card#ViewIn.show {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
}

.parts_bag_reference_item {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 150px;
}

.parts_bag_reference_item_title {
  position: relative;
  display: block;
  padding: 0;
  margin-bottom: 50px;
  line-height: 1;
}
.parts_bag_reference_item_title p {
  position: relative;
  display: block;
  text-align: left;
  font-size: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.parts_bag_reference_item_title p span {
  position: relative;
  display: block;
}
.parts_bag_reference_item_title h3 {
  position: relative;
  display: block;
}

.parts_bag_reference_item_desc {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 50px;
}
.parts_bag_reference_item_desc span {
  position: relative;
  display: block;
  width: 100%;
}

.parts_bag_reference_item_info_card_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card {
  position: relative;
  display: block;
  width: calc(25% - 15px);
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .thumb {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  cursor: pointer;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .thumb figure {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .thumb figure img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .thumb span.reference_item_info_zoom_icon {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: 20px;
  height: 20px;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .thumb span.reference_item_info_zoom_icon svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: #333;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal {
  transition: all 0.4s;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 100000;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal.modal_open {
  opacity: 1;
  visibility: visible;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: min(1000px, 80vw);
  padding: 100px 5vw;
  background: #f4f3ed;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container figure {
  position: relative;
  display: block;
  width: 100%;
  width: calc(50% - 10px);
  aspect-ratio: 1/1;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container figure img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container .reference_item_info_modal_close_btn {
  position: absolute;
  bottom: 25px;
  width: 50px;
  height: 50px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.2));
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container .reference_item_info_modal_close_btn span.reference_item_info_modal_close_btn_bar {
  position: absolute;
  display: block;
  width: 25px;
  height: 1px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #333;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container .reference_item_info_modal_close_btn span.reference_item_info_modal_close_btn_bar:first-of-type {
  rotate: 45deg;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container .reference_item_info_modal_close_btn span.reference_item_info_modal_close_btn_bar:last-of-type {
  rotate: -45deg;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data {
  position: relative;
  display: block;
  width: 100%;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table {
  position: relative;
  display: block;
  width: 100%;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody {
  position: relative;
  display: block;
  width: 100%;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody tr {
  position: relative;
  display: flex;
  border-bottom: solid 1px #333;
  font-size: 12px;
  line-height: 1;
  padding: 1em 0;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody tr:last-of-type {
  border: none;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody tr th,
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody tr td {
  position: relative;
  display: block;
  width: 50%;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody tr th {
  text-align: left;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .item_data table tbody tr td {
  text-align: right;
}

@media (max-width: 768px) {
  .parts_bag_reference_item {
    margin-bottom: 100px;
  }
  .parts_bag_reference_item_info_card_wrap {
    gap: 50px 10px;
  }
  .parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card {
    width: calc(50% - 5px);
  }
  .parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container {
    flex-direction: column;
    width: 80vw;
    height: 80vh;
  }
  .parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container figure {
    width: min(100%, 300px);
  }
  .parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card .modal .modal_container .reference_item_info_modal_close_btn {
    top: -25px;
    right: -25px;
    left: auto;
  }
}


.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card#ViewIn {
    transition: all 1s;
    top: 50px;
    opacity: 0;
    visibility: hidden;
}
.parts_bag_reference_item_info_card_wrap .parts_bag_reference_item_info_card#ViewIn.show {
    top: 0;
    opacity: 1;
    visibility: visible;
}

.parts_bag_material {
  position: relative;
  display: block;
  width: 100%;
}

.parts_bag_material_wrap {
  position: relative;
  width: min(100%, 1000px);
  margin: 0 auto;
  padding: 100px 20px;
}

.parts_bag_material_title {
  position: relative;
  display: block;
  margin-bottom: 100px;
}
.parts_bag_material_title h2 {
  position: relative;
  display: block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
.parts_bag_material_title p {
  display: block;
  width: 100%;
}
@media (max-width: 768px) {
  .parts_bag_material_title h2 {
    font-size: 20px;
  }
  .parts_bag_material_title {
    margin-bottom: 50px;
  }
}

.parts_bag_material_main {
  position: relative;
  display: block;
  width: 100%;
  border: solid 1px #333;
}
.parts_bag_material_main .parts_bag_material_items_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  padding: 50px;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item {
  position: relative;
  width: 50%;
  padding-top: 50px;
  padding-right: 150px;
  border-bottom: solid 1px #333;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item:first-of-type, .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item:nth-of-type(2) {
  padding-top: 0;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item:last-of-type, .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item:nth-last-of-type(2) {
  border-bottom: none;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_info {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 0 50px 1em;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_info:before {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 1em;
  height: 1em;
  content: "・";
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_info h3 {
  font-size: 14px;
  padding-bottom: 1em;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_info .desc {
  font-size: 12px;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_image {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 150px;
  height: 100px;
  padding: 0 25px;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_image figure {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: solid 1px #333;
}
.parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_image figure img {
  display: block;
  width: 100px;
  height: 100px;
  object-fit: cover;
}

@media (max-width: 900px) {
  .parts_bag_material_wrap {
    padding: 50px 20px;
  }
  .parts_bag_material_main .parts_bag_material_items_wrap {
    padding: 20px;
  }
  .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item {
    width: 100%;
    font-size: 14px;
    padding-top: 25px;
    padding-right: 125px;
  }
  .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item:nth-of-type(2) {
    padding-top: 25px;
  }
  .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item:nth-last-of-type(2) {
    border-bottom: solid 1px #333;
  }
  .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_info {
    padding-bottom: 25px;
  }
  .parts_bag_material_main .parts_bag_material_items_wrap .parts_bag_material_item .parts_bag_material_item_image {
    padding: 0 0 0 25px;
    width: 125px;
  }
}
#ViewIn.parts_bag_material_title, #ViewIn.parts_bag_material_main {
  transition: all 1s;
  opacity: 0;
  visibility: hidden;
  translate: 0 50px;
}
#ViewIn.show.parts_bag_material_title, #ViewIn.show.parts_bag_material_main {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
}

.parts_bag_original_package {
  position: relative;
  display: block;
  width: 100%;
  padding: calc(100px + 4em) 0 100px;
}
.parts_bag_original_package .parts_bag_original_package_wrap {
  position: relative;
  display: block;
  width: min(100%, 900px);
  margin: 0 auto;
  line-height: 1;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title {
    position: absolute;
    top: 0;
    right: 1em;
    display: block;
    width: min(calc(100% - 2em), calc(400px));
    margin: 0 auto;
    padding: 3em 0;
    background-color: #fefefc;
    border: solid 1px #333;
    text-align: center;
    letter-spacing: 0.1em;
    translate: 0 -4em;
    z-index: 2;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title p.en {
  position: relative;
  display: block;
  font-size: 22px;
  letter-spacing: 0.2em;
  margin-bottom: 0.5em;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title h2 {
  position: relative;
  display: block;
  font-size: 14px;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  z-index: 1;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_image {
  position: relative;
  left: 0;
  display: block;
  width: min(100%, 500px);
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_image figure {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_image figure img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_message {
  position: relative;
  display: block;
  width: calc(100% - min(100%, 500px));
  padding: 7em 2em 0 2em;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_message p {
  font-size: 14px;
  line-height: 2;
  text-align: justify;
}

@media (max-width: 1000px) {
  .parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_message {
    padding: 1em 1em;
    width: min(100%, 600px);
  }
}
@media (max-width: 600px) {
  .parts_bag_original_package {
    padding: 50px 0;
  }
  .parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title {
    left: 0;
    right: 0;
    padding: 7.6923076923vw 0;
    translate: 0 76.9230769231vw;
  }
  .parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title p.en {
    font-size: 20px;
  }
  .parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title h2 {
    position: relative;
    display: block;
    font-size: 18px;
  }
  .parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_message {
    padding: calc(20.5128205128vw + 1em) 1em 0;
    width: min(100%, 600px);
  }
}

.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_image#ViewIn,
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_message#ViewIn {
    transition: all 1s;
    translate: 0 50px;
    opacity: 0;
    visibility: hidden;
}
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_image#ViewIn.show,
.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_body .original_package_message#ViewIn.show {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
}

.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title#ViewIn {
    transition: all 1s;
    opacity: 0;
    visibility: hidden;
}

.parts_bag_original_package .parts_bag_original_package_wrap .parts_bag_original_package_title#ViewIn.show {
    opacity: 1;
    visibility: visible;
}

.parts_bag_flow {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 0 100px;
  background: #f8f7f4;
}
.parts_bag_flow .parts_bag_flow_wrap {
  position: relative;
  display: block;
  width: min(100%, 1280px);
  margin: 0 auto;
}

.parts_bag_flow_title {
  position: relative;
  display: block;
  padding: 100px 20px;
}
.parts_bag_flow_title h2 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: left;
  font-size: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.parts_bag_flow_title h2 span {
  position: relative;
  display: block;
}
.parts_bag_flow_title p {
  position: relative;
  display: block;
  width: min(100%, 600px);
  margin: 0 auto;
  text-align: center;
}

.parts_bag_flow_body {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.parts_bag_flow_body .flow_text_container,
.parts_bag_flow_body .flow_images_container {
  position: relative;
  width: 50%;
}
.parts_bag_flow_body .flow_text_container {
  position: relative;
  display: block;
  order: 1;
}
.parts_bag_flow_body .flow_text_container .flow_text {
  display: block;
  position: absolute;
  width: 100%;
  height: max-content;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding: 0 50px;
}
.parts_bag_flow_body .flow_text_container .flow_text h3 {
  position: relative;
  padding-left: 48px;
  margin-bottom: 1em;
  font-size: 20px;
  line-height: 1;
}
.parts_bag_flow_body .flow_text_container .flow_text h3:before {
  content: attr(data-num);
  position: absolute;
  left: 0;
  font-size: 1.5em;
  translate: 0 -0.25em;
  display: block;
  font-weight: 700;
}
.parts_bag_flow_body .flow_text_container .flow_text h3 span {
  display: block;
  width: 100%;
  margin-bottom: 0.5em;
  letter-spacing: 0.1em;
}
.parts_bag_flow_body .flow_text_container .flow_text h3 span.en {
  font-weight: 700;
}
.parts_bag_flow_body .flow_text_container .flow_text h3 span.ja {
  font-size: 16px;
}
.parts_bag_flow_body .flow_text_container .flow_text p.desc {
  position: relative;
  display: block;
  width: 100%;
  padding-left: 48px;
  text-align: justify;
}
.parts_bag_flow_body .flow_images_container {
  display: block;
  order: 2;
}
.parts_bag_flow_body .flow_images_container .flow_images {
  position: relative;
  display: block;
  padding: 0 30px 30px;
  width: 100%;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-wrapper {
  width: 100%;
  aspect-ratio: 3/2;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-wrapper .swiper-slide {
  width: 100%;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-pagination {
  position: absolute;
  bottom: 0;
  height: 30px;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #333;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-button-prev {
  position: absolute;
  left: 0;
  width: 30px;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-button-prev::after {
  font-size: 20px;
  color: #333;
  font-weight: 700;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-button-next {
  position: absolute;
  right: 0;
  width: 30px;
}
.parts_bag_flow_body .flow_images_container .flow_images .swiper-button-next::after {
  font-size: 20px;
  color: #333;
  font-weight: 700;
}

@media (max-width: 768px) {
  .parts_bag_flow {
    padding: 0 0 50px;
  }
  .parts_bag_flow_title {
    padding: 50px 20px;
  }
  .parts_bag_flow_title h2 {
    justify-content: flex-start;
    font-size: 20px;
  }
  .parts_bag_flow_title h2 span {
    width: 100%;
  }
  .parts_bag_flow_body .flow_text_container,
  .parts_bag_flow_body .flow_images_container {
    position: relative;
    width: 100%;
  }
  .parts_bag_flow_body .flow_text_container {
    order: 2;
  }
  .parts_bag_flow_body .flow_text_container .flow_text {
    position: relative;
    top: unset;
    right: unset;
    bottom: unset;
    left: unset;
    margin: auto;
    padding: 0 30px;
  }
  .parts_bag_flow_body .flow_text_container .flow_text h3 {
    font-size: 18px;
  }
  .parts_bag_flow_body .flow_text_container .flow_text h3 span.ja {
    font-size: 14px;
  }
  .parts_bag_flow_body .flow_text_container .flow_text p.desc {
    padding: 0;
  }
  .parts_bag_flow_body .flow_images_container {
    order: 1;
    margin-bottom: 25px;
  }
}

.parts_bag_flow_title#ViewIn,
.parts_bag_flow_body#ViewIn {
    transition: all 1s;
    translate: 0 50px;
    opacity: 0;
    visibility: hidden;
}
.parts_bag_flow_title#ViewIn.show,
.parts_bag_flow_body#ViewIn.show {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
}

.parts_bag_faq {
  position: relative;
  display: block;
  width: 100%;
}
.parts_bag_faq .parts_bag_faq_wrap {
  position: relative;
  display: block;
  width: min(100%, 860px);
  margin: 0 auto;
  padding: 100px 20px;
}

.parts_bag_faq_title {
  position: relative;
  display: block;
  padding: 0 0 50px;
}
.parts_bag_faq_title h2 {
  position: relative;
  display: block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
.parts_bag_faq_title h3 {
  display: block;
  width: 100%;
  font-size: 14px;
}

.parts_bag_faq_body {
  position: relative;
  display: block;
  width: 100%;
  padding-left: 4em;
}
.parts_bag_faq_body .parts_bag_faq_item {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 50px;
  line-height: 1.5em;
  text-align: justify;
}
.parts_bag_faq_body .parts_bag_faq_item:last-of-type {
  margin-bottom: 0;
}
.parts_bag_faq_body .parts_bag_faq_item h4 {
  position: relative;
  display: block;
  width: 100%;
  padding-left: 5em;
  margin-bottom: 1em;
}
.parts_bag_faq_body .parts_bag_faq_item h4:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4em;
  height: 1px;
  margin: calc(0.75em - 1px) 0;
  background: #333;
}
.parts_bag_faq_body .parts_bag_faq_item p.answer {
  position: relative;
  display: block;
  width: 100%;
}
.parts_bag_faq_body .parts_bag_faq_item p.answer span {
  display: block;
  width: 100%;
}

@media (max-width: 768px) {
  .parts_bag_faq .parts_bag_faq_wrap {
    padding: 50px 20px;
  }
  .parts_bag_faq_body {
    padding-left: 1em;
  }
  .parts_bag_faq_body .parts_bag_faq_item h4 {
    padding-left: 3em;
  }
  .parts_bag_faq_body .parts_bag_faq_item h4:before {
    width: 2em;
  }
}

.parts_bag_faq_title#ViewIn,
.parts_bag_faq_body .parts_bag_faq_item#ViewIn {
    transition: all 1s;
    translate: 0 50px;
    opacity: 0;
    visibility: hidden;
}
.parts_bag_faq_title#ViewIn.show,
.parts_bag_faq_body .parts_bag_faq_item#ViewIn.show {
    translate: 0 0;
    opacity: 1;
    visibility: visible;
}

/* ===========================================================
single_oem_category
============================================================ */
.single_oem_category {
    position: relative;
    display: block;
    width: 100%;
    padding: min(80px, (100vw * (80 / 1440))) 0 min(80px, (100vw * (80 / 1440)));
}

@media (max-width: 767px) {
    .single_oem_category {
        padding: calc(100vw * (40 / 375)) 0 calc(100vw * (40 / 375));
    }
}

.single_oem_category__heading {
    position: relative;
    display: block;
    width: min(1280px, (100vw * (1280 / 1440)));
    font-size: min(28px, (100vw * (28 / 1440)));
    color: #000;
    margin: 0 auto min(30px, (100vw * (30 / 1440)));
}

@media (max-width: 767px) {
    .single_oem_category__heading {
        font-size: calc(100vw * (20 / 375));
    }
}

.single_oem_category__text-container {
    position: relative;
    display: block;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: min(30px, (100vw * (30 / 1440))) auto min(50px, (100vw * (50 / 1440)));
    font-size: min(16px, (100vw * (16 / 1440)));
    font-weight: 400;
    color: #000;
}

@media (max-width: 767px) {
    .single_oem_category__text-container {
        width: calc(100vw * (350 / 375));
        margin: calc(100vw * (20 / 375)) auto calc(100vw * (40 / 375));
        font-size: calc(100vw * (14 / 375));
    }
}

.single_oem_category__text-container a {
    color: #000;
    text-decoration: underline;
}

.single_oem_category__list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    width: 100%;
    gap: 5px;
}

@media (max-width: 1024px) {
    .single_oem_category__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .single_oem_category__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

.single_oem_category__item {
    position: relative;
    display: block;
    height: auto;
    aspect-ratio: 286/427;
    overflow: hidden;
}

.single_oem_category__item-link {
    display: block;
    width: 100%;
    height: 100%;
}

.single_oem_category__item-image {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
}

.single_oem_category__item-image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.single_oem_category__item-heading {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding: min(10px, (100vw * (10 / 1440)));
}

@media (max-width: 1024px) {
    .single_oem_category__item-heading {
        padding: calc(100vw * (10 / 768));
    }
}

@media (max-width: 767px) {
    .single_oem_category__item-heading {
        padding: calc(100vw * (10 / 375));
    }
}

.single_oem_category__item-heading h3 {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: block;
    width: 100%;
    font-size: min(14px, (100vw * (14 / 1440)));
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #000;
    margin: auto 0;
}

@media (max-width: 1024px) {
    .single_oem_category__item-heading h3 {
        font-size: calc(100vw * (14 / 768));
    }
}

@media (max-width: 767px) {
    .single_oem_category__item-heading h3 {
        font-size: calc(100vw * (12 / 375));
    }
}

.single_oem_category__item-heading-arrow {
    position: relative;
    width: min(40px, (100vw * (40 / 1440)));
    height: min(40px, (100vw * (40 / 1440)));
    background-image: url('data:image/svg+xml;utf8,<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="20" fill="white"/><path d="M21.3483 25L20.5827 24.2443L23.7346 21.0923H15.5713V19.9986H23.7346L20.5827 16.8565L21.3483 16.0909L25.8028 20.5455L21.3483 25Z" fill="black"/></svg>');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (max-width: 1024px) {
    .single_oem_category__item-heading-arrow {
        width: calc(100vw * (40 / 768));
        height: calc(100vw * (40 / 768));
    }
}

@media (max-width: 767px) {
    .single_oem_category__item-heading-arrow {
        width: calc(100vw * (30 / 375));
        height: calc(100vw * (30 / 375));
    }
}

@media (any-hover: hover) {
    .single_oem_category__item-link:hover .single_oem_category__item-image {
        scale: 1.1;
    }
}

.contact-form__input--error,
.contact-form__select--error {
  border-color: #e53e3e !important;
}

/*<!-- rtoc -->*/
		.rtoc-mokuji-content {
			background-color: #ffffff;
		}

		.rtoc-mokuji-content.frame1 {
			border: 1px solid #ffffff;
		}

		.rtoc-mokuji-content #rtoc-mokuji-title {
			color: #333333;
		}

		.rtoc-mokuji-content .rtoc-mokuji li>a {
			color: #333333;
		}

		.rtoc-mokuji-content .mokuji_ul.level-1>.rtoc-item::before {
			background-color: #333333 !important;
		}

		.rtoc-mokuji-content .mokuji_ul.level-2>.rtoc-item::before {
			background-color: #bfbfbf !important;
		}

		.rtoc-mokuji-content.frame2::before,
		.rtoc-mokuji-content.frame3,
		.rtoc-mokuji-content.frame4,
		.rtoc-mokuji-content.frame5 {
			border-color: #ffffff !important;
		}

		.rtoc-mokuji-content.frame5::before,
		.rtoc-mokuji-content.frame5::after {
			background-color: #ffffff;
		}

		.widget_block #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		.widget #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		#scrollad #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		#sideBarTracking #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after {
			background-color: #333333 !important;
		}

		.cls-1,
		.cls-2 {
			stroke: #ffffff;
		}

		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::before,
		.rtoc-mokuji-content .mokuji_ol.level-2>.rtoc-item::before,
		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::after,
		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::after {
			color: #bfbfbf;
			background-color: #bfbfbf;
		}

		.rtoc-mokuji-content .rtoc-mokuji.level-1>.rtoc-item::before {
			color: #333333;
		}

		.rtoc-mokuji-content .decimal_ol>.rtoc-item::after {
			background-color: #333333;
		}

		.rtoc-mokuji-content .decimal_ol>.rtoc-item::before {
			color: #333333;
		}

		/*rtoc_return*/
		#rtoc_return a::before {
			background-image: url(../../../../../../../wp-content/plugins/rich-table-of-content/include/../img/rtoc_return.png);
		}

		#rtoc_return a {
			background-color: #333333 !important;
		}

		/* アクセントポイント */
		.rtoc-mokuji-content .level-1>.rtoc-item #rtocAC.accent-point::after {
			background-color: #333333;
		}

		.rtoc-mokuji-content .level-2>.rtoc-item #rtocAC.accent-point::after {
			background-color: #bfbfbf;
		}
		.rtoc-mokuji-content.frame6,
		.rtoc-mokuji-content.frame7::before,
		.rtoc-mokuji-content.frame8::before {
			border-color: #ffffff;
		}

		.rtoc-mokuji-content.frame6 #rtoc-mokuji-title,
		.rtoc-mokuji-content.frame7 #rtoc-mokuji-title::after {
			background-color: #ffffff;
		}

		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h2_timeline .mokuji_ol.level-1>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h2_timeline .level-1.decimal_ol>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h3_timeline .mokuji_ol.level-2>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h3_timeline .mokuji_ol.level-2>.rtoc-item::after,
		.rtoc-mokuji-content.frame7 #rtoc-mokuji-title span::after {
			background-color: #333333;
		}

		.widget #rtoc-mokuji-wrapper.rtoc-mokuji-content.frame6 #rtoc-mokuji-title {
			color: #333333;
			background-color: #ffffff;
		}

.company__wrapper {
    position: relative;
    display: block;
    width: 100%;
    padding: min(100px, (100vw * (100 / 1440))) 0 min(200px, (100vw * (200 / 1440)));
}

@media (max-width: 767px) {
    .company__wrapper {
        padding: calc(100vw * (50 / 375)) 0 calc(100vw * (100 / 375));
    }
}

.company__heading {
    position: relative;
    display: block;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: 0 auto;
}

@media (max-width: 767px) {
    .company__heading {
        width: calc(100vw * (350 / 375));
    }
}

.company__heading-en {
    position: relative;
    display: block;
    font-size: min(16px, (100vw * (16 / 1440)));
    letter-spacing: 0.15em;
}

@media (max-width: 767px) {
    .company__heading-en {
        font-size: calc(100vw * (30 / 375));
        letter-spacing: 0.15em;
    }
}

.company__heading-ja {
    position: relative;
    display: block;
    font-size: min(32px, (100vw * (32 / 1440)));
}

@media (max-width: 767px) {
    .company__heading-ja {
        font-size: calc(100vw * (20 / 375));
    }
}

.company__container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: min(1440px, (100vw * (1440 / 1440)));
    gap: min(80px, (100vw * (80 / 1440)));
    margin: min(80px, (100vw * (80 / 1440))) auto 0;
}

@media (max-width: 767px) {
    .company__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: calc(100vw * (40 / 375));
        margin: calc(100vw * (40 / 375)) auto 0;
    }
}

.company__image {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    display: block;
}

@media (max-width: 767px) {
    .company__image {
        -webkit-box-flex: 1;
        -webkit-flex: auto;
        -ms-flex: auto;
        flex: auto;
        width: calc(100vw * (350 / 375));
        margin: 0 auto;
    }
}

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

.company__content {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    display: block;
    padding: 0 min(40px, (100vw * (40 / 1440)));
}

@media (max-width: 767px) {
    .company__content {
        padding: 0 calc(100vw * (20 / 375));
    }
}

.company__table {
    display: table;
    width: 100%;
    border-collapse: collapse;
}

.company__table tbody {
    width: 100%;
}

.company__table tbody tr {
    width: 100%;
    border-bottom: solid 1px #000;
}

.company__table tbody tr:first-child {
    border-top: solid 1px #000;
}

.company__table tbody tr th,
.company__table tbody tr td {
    display: table-cell;
    font-size: min(16px, (100vw * (16 / 1440)));
    padding: 1lh;
}

@media (max-width: 767px) {

    .company__table tbody tr th,
    .company__table tbody tr td {
        font-size: calc(100vw * (14 / 375));
        padding: 1lh 0.5em;
    }
}

.company__table tbody tr th {
    white-space: nowrap;
}

.greetins__wrapper {
    position: relative;
    display: block;
    width: 100%;
    padding: min(100px, (100vw * (100 / 1440))) 0 min(200px, (100vw * (200 / 1440)));
}

@media (max-width: 767px) {
    .greetins__wrapper {
        padding: calc(100vw * (50 / 375)) 0 calc(100vw * (100 / 375));
    }
}

.greetins__heading {
    position: relative;
    display: block;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: 0 auto;
}

@media (max-width: 767px) {
    .greetins__heading {
        width: calc(100vw * (350 / 375));
    }
}

.greetins__heading-title {
    position: relative;
    display: block;
    font-size: min(20px, (100vw * (20 / 1440)));
}

@media (max-width: 767px) {
    .greetins__heading-title {
        font-size: calc(100vw * (12 / 375));
    }
}

.greetins__heading-message {
    position: relative;
    display: block;
    font-size: min(38px, (100vw * (38 / 1440)));
}

@media (max-width: 767px) {
    .greetins__heading-message {
        font-size: calc(100vw * (22 / 375));
    }
}

.greetins__container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: min(1440px, (100vw * (1440 / 1440)));
    gap: min(80px, (100vw * (80 / 1440)));
    margin: min(80px, (100vw * (80 / 1440))) auto 0;
}

@media (max-width: 767px) {
    .greetins__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: calc(100vw * (40 / 375));
        margin: calc(100vw * (40 / 375)) auto 0;
    }
}

.greetins__container--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

@media (max-width: 767px) {
    .greetins__container--reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.greetins__image {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    display: block;
}

@media (max-width: 767px) {
    .greetins__image {
        -webkit-box-flex: 1;
        -webkit-flex: auto;
        -ms-flex: auto;
        flex: auto;
        width: calc(100vw * (350 / 375));
        margin: 0 auto;
    }
}

.greetins__image img {
    display: block;
    width: 100%;
    height: auto;
}

.greetins__content {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    display: block;
    padding: 0 min(40px, (100vw * (40 / 1440)));
    font-size: min(16px, (100vw * (16 / 1440)));
}

@media (max-width: 767px) {
    .greetins__content {
        padding: 0 calc(100vw * (20 / 375));
        font-size: calc(100vw * (14 / 375));
    }
}

.greetins__content-name {
    display: block;
}

.greetins__content-name-en {
    display: block;
    font-size: min(20px, (100vw * (20 / 1440)));
    color: #000;
    letter-spacing: 0.3em;
}

@media (max-width: 767px) {
    .greetins__content-name-en {
        font-size: calc(100vw * (16 / 375));
    }
}

.greetins__content-name-ja {
    display: block;
    font-size: min(36px, (100vw * (36 / 1440)));
    color: #000;
    margin: 0.25em 0;
    letter-spacing: 0.2em;
}

@media (max-width: 767px) {
    .greetins__content-name-ja {
        font-size: calc(100vw * (24 / 375));
    }
}

.greetins__content-name-position {
    display: block;
    font-size: min(16px, (100vw * (16 / 1440)));
    color: #000;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .greetins__content-name-position {
        font-size: calc(100vw * (14 / 375));
    }
}

.ha_hero {
            position: relative;
            display: block;
            width: 100%;
            padding: min(120px, (100vw * (120 / 1440))) 0 min(80px, (100vw * (80 / 1440)));
            background: linear-gradient(180deg, #ffffff 0%, #faf9f6 100%);
        }
        @media (max-width: 767px) {
            .ha_hero { padding: calc(100vw * (80 / 375)) 0 calc(100vw * (50 / 375)); }
        }
        .ha_hero__inner {
            position: relative;
            display: block;
            width: min(1280px, (100vw * (1280 / 1440)));
            margin: 0 auto;
            padding: 0 20px;
            text-align: center;
        }
        .ha_hero__en {
            position: relative;
            display: block;
            font-size: min(18px, (100vw * (18 / 1440)));
            letter-spacing: 0.25em;
            color: #888;
            margin-bottom: 1em;
        }
        @media (max-width: 767px) {
            .ha_hero__en { font-size: calc(100vw * (12 / 375)); letter-spacing: 0.2em; }
        }
        .ha_hero__ja {
            position: relative;
            display: block;
            font-size: min(64px, (100vw * (64 / 1440)));
            font-weight: 500;
            letter-spacing: 0.15em;
            color: #000;
            margin-bottom: min(30px, (100vw * (30 / 1440)));
        }
        @media (max-width: 767px) {
            .ha_hero__ja { font-size: calc(100vw * (36 / 375)); }
        }
        .ha_hero__lead {
            position: relative;
            display: block;
            font-size: min(18px, (100vw * (18 / 1440)));
            color: #333;
            letter-spacing: 0.1em;
        }
        @media (max-width: 767px) {
            .ha_hero__lead { font-size: calc(100vw * (14 / 375)); }
        }

        .ha_flow {
            position: relative;
            display: block;
            width: 100%;
            padding: min(50px, (100vw * (50 / 1440))) 0 min(40px, (100vw * (40 / 1440)));
            background-image: url("../../../../../../../assets/remote/wp-content/uploads/A_wide_cinematic_photo_of_a_mo_2026-08-14T12-37-36.png");
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
            color: #fff;
        }
        .ha_flow::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,.55);
            z-index: 0;
        }
        .ha_flow__inner {
            position: relative;
            z-index: 1;
            display: block;
            width: min(1200px, (100vw * (1200 / 1440)));
            margin: 0 auto;
            padding: 0 20px;
        }
        .ha_flow__header {
            position: relative;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: start;
            margin-bottom: min(30px, (100vw * (30 / 1440)));
        }
        .ha_flow__title {
            position: relative;
            text-align: left;
        }
        .ha_flow__title-sub {
            display: block;
            font-size: min(26px, (100vw * (26 / 1440)));
            font-weight: 500;
            letter-spacing: 0.1em;
            margin-bottom: 0.45em;
            color: #fff;
        }
        .ha_flow__title-main {
            display: block;
            font-size: min(90px, (100vw * (90 / 1440)));
            font-weight: 700;
            letter-spacing: 0.02em;
            line-height: 1;
            color: #fff;
        }
        .ha_flow__intro {
            position: relative;
            justify-self: end;
            max-width: 600px;
            text-align: left;
        }
        .ha_flow__intro p {
            position: relative;
            display: block;
            font-size: min(15px, (100vw * (15 / 1440)));
            line-height: 2;
            letter-spacing: 0.04em;
            color: rgba(255,255,255,.9);
        }
        .ha_flow__figure {
            position: relative;
            display: block;
            width: 100%;
        }
        .ha_flow__figure img {
            position: relative;
            display: block;
            width: 100%;
            height: auto;
        }
        @media (max-width: 1024px) {
            .ha_flow__header { grid-template-columns: 1fr; gap: 28px; }
            .ha_flow__title-main { font-size: min(64px, (100vw * (64 / 1440))); }
            .ha_flow__intro { justify-self: start; max-width: 100%; }
        }
        @media (max-width: 767px) {
            .ha_flow { padding: calc(100vw * (30 / 375)) 0 calc(100vw * (20 / 375)); }
            .ha_flow__header { margin-bottom: calc(100vw * (20 / 375)); }
            .ha_flow__title-sub { font-size: calc(100vw * (18 / 375)); }
            .ha_flow__title-main { font-size: calc(100vw * (44 / 375)); }
            .ha_flow__intro p { font-size: calc(100vw * (13 / 375)); line-height: 1.9; }
        }

        .ha_categories {
            position: relative;
            display: block;
            width: 100%;
            padding: min(50px, (100vw * (50 / 1440))) 0 min(40px, (100vw * (40 / 1440)));
            background-color: #fff;
            counter-reset: haCat;
        }
        @media (max-width: 767px) {
            .ha_categories { padding: calc(100vw * (60 / 375)) 0 calc(100vw * (40 / 375)); }
        }
        .ha_category {
            position: relative;
            display: block;
            width: min(1280px, (100vw * (1280 / 1440)));
            margin: 0 auto;
            padding: 0 20px min(100px, (100vw * (100 / 1440)));
            counter-increment: haCat;
        }
        @media (max-width: 767px) {
            .ha_category { padding: 0 calc(100vw * (12 / 375)) calc(100vw * (60 / 375)); }
        }
        /* 交错浅灰面板：生活家電 */
        .ha_category--alt {
            position: relative;
            background: transparent;
        }
        .ha_category--alt::before {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 100vw;
            background-color: #f6f5f2;
            z-index: 0;
        }
        .ha_category--alt > * {
            position: relative;
            z-index: 1;
        }
        .ha_category__header {
            position: relative;
            display: block;
            margin-bottom: min(40px, (100vw * (40 / 1440)));
            padding-bottom: min(24px, (100vw * (24 / 1440)));
            border-bottom: 1px solid #e0e0e0;
        }
        .ha_category__header::after {
            content: "0" counter(haCat);
            position: absolute;
            top: min(-20px, (100vw * (-20 / 1440)));
            right: 0;
            font-family: "Noto Sans JP", sans-serif;
            font-size: min(64px, (100vw * (64 / 1440)));
            font-weight: 700;
            letter-spacing: 0.02em;
            line-height: 1;
            color: #e7e4de;
            pointer-events: none;
        }
        @media (max-width: 767px) {
            .ha_category__header::after {
                font-size: calc(100vw * (42 / 375));
                top: calc(100vw * (-12 / 375));
            }
        }
        @media (max-width: 767px) {
            .ha_category__header { margin-bottom: calc(100vw * (24 / 375)); padding-bottom: calc(100vw * (16 / 375)); }
        }
        .ha_category__en {
            position: relative;
            display: block;
            font-size: min(13px, (100vw * (13 / 1440)));
            letter-spacing: 0.2em;
            color: #888;
            margin-bottom: 0.5em;
        }
        @media (max-width: 767px) {
            .ha_category__en { font-size: calc(100vw * (11 / 375)); }
        }
        .ha_category__ja {
            position: relative;
            display: block;
            font-size: min(36px, (100vw * (36 / 1440)));
            font-weight: 500;
            letter-spacing: 0.1em;
            color: #1a1a1a;
            margin-bottom: min(16px, (100vw * (16 / 1440)));
        }
        @media (max-width: 767px) {
            .ha_category__ja { font-size: calc(100vw * (26 / 375)); margin-bottom: calc(100vw * (10 / 375)); }
        }
        .ha_category__lead {
            position: relative;
            display: block;
            font-size: min(15px, (100vw * (15 / 1440)));
            line-height: 1.8;
            color: #555;
        }
        @media (max-width: 767px) {
            .ha_category__lead { font-size: calc(100vw * (13 / 375)); }
        }
        .ha_category__icons {
            position: relative;
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: min(12px, (100vw * (12 / 1440)));
            margin-bottom: min(60px, (100vw * (60 / 1440)));
        }
        @media (max-width: 1200px) {
            .ha_category__icons { grid-template-columns: repeat(5, 1fr); }
        }
        @media (max-width: 767px) {
            .ha_category__icons { grid-template-columns: repeat(3, 1fr); gap: calc(100vw * (8 / 375)); margin-bottom: calc(100vw * (36 / 375)); }
        }
        .ha_category__icon {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            gap: 10px;
            padding: min(16px, (100vw * (16 / 1440))) min(8px, (100vw * (8 / 1440)));
            border: 1px solid #e5e5e5;
            border-radius: 4px;
            background-color: #fff;
            box-shadow: 0 1px 2px rgba(0,0,0,0.04);
            transition: all 0.25s ease;
        }
        @media (any-hover: hover) {
            .ha_category__icon:hover { background-color: #f5f5f5; border-color: #ccc; }
        }
        .ha_category__icon-svg {
            width: min(40px, (100vw * (40 / 1440)));
            height: min(40px, (100vw * (40 / 1440)));
            color: #333;
        }
        @media (max-width: 767px) {
            .ha_category__icon-svg { width: calc(100vw * (32 / 375)); height: calc(100vw * (32 / 375)); }
        }
        .ha_category__icon-svg use { stroke: currentColor; }
        .ha_category__icon span:last-child {
            font-size: min(12px, (100vw * (12 / 1440)));
            color: #333;
            text-align: center;
            line-height: 1.35;
        }
        @media (max-width: 767px) {
            .ha_category__icon span:last-child { font-size: calc(100vw * (11 / 375)); }
        }
        .ha_category__subtitle {
            position: relative;
            display: block;
            font-size: min(18px, (100vw * (18 / 1440)));
            font-weight: 700;
            letter-spacing: 0.05em;
            color: #1a1a1a;
            margin-bottom: min(20px, (100vw * (20 / 1440)));
        }
        @media (max-width: 767px) {
            .ha_category__subtitle { font-size: calc(100vw * (15 / 375)); margin-bottom: calc(100vw * (14 / 375)); }
        }
        .ha_category__grid {
            position: relative;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: min(16px, (100vw * (16 / 1440)));
        }
        @media (max-width: 1024px) {
            .ha_category__grid { grid-template-columns: repeat(3, 1fr); }
        }
        @media (max-width: 767px) {
            .ha_category__grid { grid-template-columns: repeat(2, 1fr); gap: calc(100vw * (10 / 375)); }
        }
        .ha_category__item {
            position: relative;
            display: block;
            width: 100%;
            background-color: #fff;
            border: 1px solid #ececec;
            border-radius: 10px;
            padding: 10px 10px 14px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
        }
        @media (any-hover: hover) {
            .ha_category__item:hover {
                transform: translateY(-4px);
                box-shadow: 0 14px 30px rgba(0,0,0,0.12);
                border-color: #dcdcdc;
            }
        }
        .ha_category__item figure {
            position: relative;
            display: block;
            width: 100%;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            background-color: #f3f2ef;
            border-radius: 6px;
        }
        .ha_category__item figure img {
            position: relative;
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: scale 0.4s ease;
        }
        @media (any-hover: hover) {
            .ha_category__item:hover figure img { scale: 1.06; }
        }
        .ha_category__name {
            position: relative;
            display: block;
            margin-top: min(10px, (100vw * (10 / 1440)));
            font-size: min(13px, (100vw * (13 / 1440)));
            color: #333;
            letter-spacing: 0.05em;
            text-align: center;
        }
        @media (max-width: 767px) {
            .ha_category__name { font-size: calc(100vw * (11 / 375)); margin-top: calc(100vw * (6 / 375)); }
        }

        .ha_contact {
            position: relative;
            display: block;
            width: 100%;
            padding: min(80px, (100vw * (80 / 1440))) 20px;
            background-color: #efece6;
            text-align: center;
        }
        @media (max-width: 767px) {
            .ha_contact { padding: calc(100vw * (60 / 375)) 20px; }
        }
        .ha_contact__text {
            position: relative;
            display: block;
            font-size: min(18px, (100vw * (18 / 1440)));
            color: #333;
            margin-bottom: min(30px, (100vw * (30 / 1440)));
            letter-spacing: 0.05em;
        }
        @media (max-width: 767px) {
            .ha_contact__text { font-size: calc(100vw * (14 / 375)); margin-bottom: calc(100vw * (20 / 375)); }
        }
        .ha_contact__btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 260px;
            padding: 1em 2em;
            font-size: min(15px, (100vw * (15 / 1440)));
            letter-spacing: 0.15em;
            color: #000;
            background-color: #fff;
            border: solid 1px #000;
            transition: all 0.3s ease;
        }
        @media (max-width: 767px) {
            .ha_contact__btn { font-size: calc(100vw * (14 / 375)); min-width: 220px; }
        }
        @media (any-hover: hover) {
            .ha_contact__btn:hover { background-color: #000; color: #fff; }
        }
    
/* product detail modal */
.ha_product_modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(4px);
}
.ha_product_modal.is-open { display: flex; }
.ha_product_modal__dialog {
    position: relative;
    display: block;
    width: min(1000px, calc(100% - 40px));
    max-height: calc(100vh - 40px);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.25);
    overflow: hidden;
    animation: haProductModalIn .25s ease;
}
@keyframes haProductModalIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.ha_product_modal__close {
    position: absolute;
    top: min(16px, (100vw * (16 / 1440)));
    right: min(16px, (100vw * (16 / 1440)));
    z-index: 10;
    width: min(44px, (100vw * (44 / 1440)));
    height: min(44px, (100vw * (44 / 1440)));
    min-width: 36px;
    min-height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    border: 1px solid #e5e5e5;
    cursor: pointer;
    transition: background .2s;
}
.ha_product_modal__close:hover { background: #f3f2ef; }
.ha_product_modal__close svg {
    width: min(20px, (100vw * (20 / 1440)));
    height: min(20px, (100vw * (20 / 1440)));
    min-width: 16px;
    min-height: 16px;
}
.ha_product_modal__body {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 0;
    max-height: calc(100vh - 40px);
}
@media (max-width: 767px) {
    .ha_product_modal__body { grid-template-columns: 1fr; max-height: calc(100vh - 40px); overflow-y: auto; }
}
.ha_product_modal__gallery {
    display: flex;
    flex-direction: column;
    gap: min(12px, (100vw * (12 / 1440)));
    padding: min(40px, (100vw * (40 / 1440)));
    background: #f6f6f4;
}
@media (max-width: 767px) {
    .ha_product_modal__gallery { padding: calc(100vw * (24 / 375)); gap: calc(100vw * (10 / 375)); }
}
.ha_product_modal__main_img {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e8e8e8;
}
.ha_product_modal__main_img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.ha_product_modal__thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: min(10px, (100vw * (10 / 1440)));
}
@media (max-width: 767px) {
    .ha_product_modal__thumbs { gap: calc(100vw * (8 / 375)); }
}
.ha_product_modal__thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color .2s;
}
.ha_product_modal__thumb:hover,
.ha_product_modal__thumb.is-active { border-color: #111; }
.ha_product_modal__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
.ha_product_modal__info {
    padding: min(40px, (100vw * (40 / 1440)));
    overflow-y: auto;
}
@media (max-width: 767px) {
    .ha_product_modal__info { padding: calc(100vw * (20 / 375)); }
}
.ha_product_modal__cat {
    display: inline-block;
    font-size: min(12px, (100vw * (12 / 1440)));
    letter-spacing: 0.1em;
    color: #888;
    margin-bottom: min(12px, (100vw * (12 / 1440)));
}
@media (max-width: 767px) { .ha_product_modal__cat { font-size: calc(100vw * (11 / 375)); margin-bottom: calc(100vw * (8 / 375)); } }
.ha_product_modal__name {
    font-size: min(28px, (100vw * (28 / 1440)));
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    line-height: 1.3;
    margin-bottom: min(24px, (100vw * (24 / 1440)));
}
@media (max-width: 767px) { .ha_product_modal__name { font-size: calc(100vw * (20 / 375)); margin-bottom: calc(100vw * (16 / 375)); } }
.ha_product_modal__section {
    margin-bottom: min(28px, (100vw * (28 / 1440)));
}
@media (max-width: 767px) { .ha_product_modal__section { margin-bottom: calc(100vw * (20 / 375)); } }
.ha_product_modal__section_title {
    font-size: min(15px, (100vw * (15 / 1440)));
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #1a1a1a;
    padding-bottom: min(8px, (100vw * (8 / 1440)));
    border-bottom: 2px solid #1a1a1a;
    margin-bottom: min(14px, (100vw * (14 / 1440)));
}
@media (max-width: 767px) { .ha_product_modal__section_title { font-size: calc(100vw * (14 / 375)); margin-bottom: calc(100vw * (10 / 375)); padding-bottom: calc(100vw * (6 / 375)); } }
.ha_product_modal__features {
    list-style: none;
    padding: 0;
    margin: 0;
}
.ha_product_modal__features li {
    position: relative;
    padding-left: 1.2em;
    font-size: min(14px, (100vw * (14 / 1440)));
    line-height: 1.8;
    color: #444;
    margin-bottom: 0.6em;
}
@media (max-width: 767px) { .ha_product_modal__features li { font-size: calc(100vw * (13 / 375)); } }
.ha_product_modal__features li::before {
    content: "・";
    position: absolute;
    left: 0;
    color: #111;
    font-weight: 700;
}
.ha_product_modal__specs {
    width: 100%;
    border-collapse: collapse;
    font-size: min(13px, (100vw * (13 / 1440)));
}
@media (max-width: 767px) { .ha_product_modal__specs { font-size: calc(100vw * (12 / 375)); } }
.ha_product_modal__specs th,
.ha_product_modal__specs td {
    padding: min(12px, (100vw * (12 / 1440))) 0;
    border-bottom: 1px solid #e5e5e5;
    text-align: left;
    vertical-align: top;
    line-height: 1.5;
}
.ha_product_modal__specs th {
    width: 35%;
    font-weight: 500;
    color: #666;
    padding-right: 1em;
}
.ha_product_modal__specs td { color: #1a1a1a; }
@media (max-width: 767px) {
    .ha_product_modal__specs th { width: 40%; padding-right: 0.5em; }
}
.ha_product_modal__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 1em 2em;
    font-size: min(14px, (100vw * (14 / 1440)));
    letter-spacing: 0.1em;
    color: #fff;
    background: #1a1a1a;
    border-radius: 4px;
    text-decoration: none;
    transition: opacity .2s;
}
.ha_product_modal__cta:hover { opacity: 0.8; }
@media (max-width: 767px) { .ha_product_modal__cta { min-width: 100%; font-size: calc(100vw * (13 / 375)); } }
.ha_category__item { cursor: pointer; }

/*<!-- rtoc -->*/
		.rtoc-mokuji-content {
			background-color: #ffffff;
		}

		.rtoc-mokuji-content.frame1 {
			border: 1px solid #ffffff;
		}

		.rtoc-mokuji-content #rtoc-mokuji-title {
			color: #333333;
		}

		.rtoc-mokuji-content .rtoc-mokuji li>a {
			color: #333333;
		}

		.rtoc-mokuji-content .mokuji_ul.level-1>.rtoc-item::before {
			background-color: #333333 !important;
		}

		.rtoc-mokuji-content .mokuji_ul.level-2>.rtoc-item::before {
			background-color: #bfbfbf !important;
		}

		.rtoc-mokuji-content.frame2::before,
		.rtoc-mokuji-content.frame3,
		.rtoc-mokuji-content.frame4,
		.rtoc-mokuji-content.frame5 {
			border-color: #ffffff !important;
		}

		.rtoc-mokuji-content.frame5::before,
		.rtoc-mokuji-content.frame5::after {
			background-color: #ffffff;
		}

		.widget_block #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		.widget #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		#scrollad #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after,
		#sideBarTracking #rtoc-mokuji-widget-wrapper .rtoc-mokuji.level-1 .rtoc-item.rtoc-current:after {
			background-color: #333333 !important;
		}

		.cls-1,
		.cls-2 {
			stroke: #ffffff;
		}

		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::before,
		.rtoc-mokuji-content .mokuji_ol.level-2>.rtoc-item::before,
		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::after,
		.rtoc-mokuji-content .decimal_ol.level-2>.rtoc-item::after {
			color: #bfbfbf;
			background-color: #bfbfbf;
		}

		.rtoc-mokuji-content .rtoc-mokuji.level-1>.rtoc-item::before {
			color: #333333;
		}

		.rtoc-mokuji-content .decimal_ol>.rtoc-item::after {
			background-color: #333333;
		}

		.rtoc-mokuji-content .decimal_ol>.rtoc-item::before {
			color: #333333;
		}

		/*rtoc_return*/
		#rtoc_return a::before {
			background-image: url(../../../../../../../assets/remote/wp-content/plugins/rich-table-of-content/include/../img/rtoc_return.png);
		}

		#rtoc_return a {
			background-color: #333333 !important;
		}

		/* アクセントポイント */
		.rtoc-mokuji-content .level-1>.rtoc-item #rtocAC.accent-point::after {
			background-color: #333333;
		}

		.rtoc-mokuji-content .level-2>.rtoc-item #rtocAC.accent-point::after {
			background-color: #bfbfbf;
		}
		.rtoc-mokuji-content.frame6,
		.rtoc-mokuji-content.frame7::before,
		.rtoc-mokuji-content.frame8::before {
			border-color: #ffffff;
		}

		.rtoc-mokuji-content.frame6 #rtoc-mokuji-title,
		.rtoc-mokuji-content.frame7 #rtoc-mokuji-title::after {
			background-color: #ffffff;
		}

		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h2_timeline .mokuji_ol.level-1>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h2_timeline .level-1.decimal_ol>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h3_timeline .mokuji_ol.level-2>.rtoc-item::after,
		#rtoc-mokuji-wrapper.rtoc-mokuji-content.rtoc_h3_timeline .mokuji_ol.level-2>.rtoc-item::after,
		.rtoc-mokuji-content.frame7 #rtoc-mokuji-title span::after {
			background-color: #333333;
		}

		.widget #rtoc-mokuji-wrapper.rtoc-mokuji-content.frame6 #rtoc-mokuji-title {
			color: #333333;
			background-color: #ffffff;
		}

/* ===========================================================
header
============================================================ */
.top_header {
    z-index: 100;
    position: absolute;
    top: 0;
    left: auto;
    right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 300px;
    height: calc((100vw - 300px) * 3 / 4);
    max-height: 100vh;
    max-height: 100svh;
    background-color: #fff;
}

@media (max-width: 1024px) {
    .top_header {
        width: 100%;
        height: 80px;
    }
}

.top_header a {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    opacity: 1;
}

.top_header a:hover {
    opacity: 0.5;
}

.top_header .logo_wrap {
    display: block;
    width: 200px;
    margin: 0 auto 50px;
}

@media (max-width: 1024px) {
    .top_header .logo_wrap {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 150px;
        height: -webkit-max-content;
        height: -moz-max-content;
        height: max-content;
        z-index: 1000;
    }
}

.top_header .logo_wrap .logo {
    display: block;
    width: 100%;
    height: auto;
}

.top_header .logo_wrap .logo img {
    display: block;
    width: 100%;
    height: auto;
}

.top_header_menu {
    display: block;
}

@media (max-width: 1024px) {
    .top_header_menu {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        padding-bottom: 80px;
    }
}

.top_header_menu nav {
    margin: auto;
}

.top_header_menu nav ul {
    display: block;
    list-style: none;
    margin-bottom: 3em;
}

.top_header_menu nav ul li {
    display: block;
    list-style: none;
}

.top_header_menu nav ul li a {
    display: block;
    letter-spacing: 0.15em;
    font-size: 0.98em;
}

.top_menu_wrap {
    font-size: 1.25em;
    letter-spacing: 0.2em;
    text-align: center;
    line-height: 1;
}

@media (max-width: 1024px) {
    .top_menu_wrap {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100vh;
        height: 100svh;
        background-color: #fff;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        opacity: 0;
        visibility: hidden;
        z-index: 100;
        padding-top: 80px;
    }
}

.top_menu_wrap.active {
    opacity: 1;
    visibility: visible;
}

.top_menu_wrap a {
    display: inline-block;
    width: auto;
    margin: 1em auto;
}

.top_menu_contact_link a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 190px;
    height: 40px;
    background: #000;
    color: #fff;
    font-size: 12px;
    /* font-weight: 600; */
}

.header_menu_btn {
    display: none;
    position: fixed;
    top: 10px;
    right: 10px;
    bottom: auto;
    left: auto;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 1000;
    -webkit-transition: all 1s;
    transition: all 1s;
}

@media (max-width: 1024px) {
    .header_menu_btn {
        display: block;
    }
}

.header_menu_btn .header_menu_btn_bar {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 60px;
    height: 60px;
}

.header_menu_btn .header_menu_btn_bar_top {
    display: block;
    width: 40px;
    height: 1px;
    background-color: #333;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    translate: 0 -5px;
}

.header_menu_btn .header_menu_btn_bar_bottom {
    display: block;
    width: 40px;
    height: 1px;
    background-color: #333;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    translate: 0 5px;
}

.header_menu_btn .header_menu_btn_bar.active .header_menu_btn_bar_top {
    translate: 0 0;
    rotate: 25deg;
}

.header_menu_btn .header_menu_btn_bar.active .header_menu_btn_bar_bottom {
    translate: 0 0;
    rotate: -25deg;
}

@media (max-width: 1024px) {
    main {
        padding-top: 80px;
    }
}

/* ===========================================================
top_mv
============================================================ */
.top_mv {
  /* position: fixed; */
  /* top: 0; */
  /* left: 0; */
  display: block;
  width: calc(100vw - 300px);
  aspect-ratio: 4/3;
  background: #fff;
  overflow: hidden;
  z-index: -1;
  max-height: 100vh;
  max-height: 100svh;
}
@media (max-width: 1024px) {
  .top_mv {
    position: relative;
    width: 100%;
    overflow: hidden;
    max-height: 100vh;
    max-height: 100svh;
    aspect-ratio: unset;
  }
}
.top_mv .mv_swiper {
  width: 100%;
  height: 100%;
}
.top_mv .mv_swiper .swiper-wrapper {
  width: 100%;
  height: 100%;
}
.top_mv .mv_swiper .swiper-wrapper .swiper-slide {
  width: 100%;
  height: 100%;
}
.top_mv .mv_swiper .swiper-wrapper .swiper-slide picture {
  width: 100%;
  height: 100%;
}
.top_mv .mv_swiper .swiper-wrapper .swiper-slide picture img {
  display: block;
  -webkit-transition: translate 7s linear;
  transition: translate 7s linear;
  position: relative;
  width: 105%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  max-width: 105%;
  height: 100%;
}
@media (max-width: 1024px) {
  .top_mv .mv_swiper .swiper-wrapper .swiper-slide picture img {
    width: 110%;
    max-width: 110%;
  }
}
.top_mv .swiper-slide-next img {
  translate: 0 0;
}
.top_mv .swiper-slide-active img,
.top_mv .swiper-slide-prev img {
  translate: -5% 0;
}
@media (max-width: 1024px) {
  .top_mv .swiper-slide-active img,
  .top_mv .swiper-slide-prev img {
    translate: -10% 0;
  }
}
.top_mv .swiper-pagination {
  position: absolute;
  top: auto;
  right: 0;
  left: auto;
  bottom: 0;
  width: auto;
  height: 30px;
  margin: 0 10px;
}
@media (max-width: 1024px) {
  .top_mv .swiper-pagination {
    /* position: relative; */
    position: absolute;
    width: 100%;
    margin: 0 auto;
  }
}
.top_mv .swiper-pagination-bullet-active {
  background: #333;
}

/* ===========================================================
top_about
============================================================ */
.top_about_container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    /* 変更したい背景画像のURL(アップロードしたものが望ましい)と比率を 【横/縦】で変更してください */
    background-image: url("../../../../../../../assets/remote/wp-content/uploads/top_about_bg_202601.webp");
    aspect-ratio: 1728/804;
    padding: 0 10px;
    color: #ffffff;
    font-size: min(16px, (100vw * (16 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .top_about_container {
        /* SP */
        /* // 変更したい背景画像のURL(アップロードしたものが望ましい)と比率を 【横/縦】で変更してください */
        background-image: url("../../../../../../../assets/remote/wp-content/uploads/top_about_bg_202601.webp");
        aspect-ratio: 9/16;
        font-size: calc(100vw * (14 / 375));
    }
}

.top_about_container .top_about_title {
    display: block;
    font-size: 2em;
    letter-spacing: 0.1em;
    margin: 0 auto 25px;
    text-align: center;
}

.top_about_container .top_about_text {
    display: block;
    text-align: center;
    margin: 0 auto;
    line-height: 2.56;
    font-size: 1em;
    letter-spacing: 2.5px;
    width: 700px;
}

.top_about_container .top_about_text span {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top_about_container .top_about_more_btn {
    position: relative;
    font-size: 1.2em;
    letter-spacing: 0.1em;
    padding: 0.25em 0;
    color: #fff;
    border-bottom: solid 1px #fff;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    margin-top: 50px;
}

.top_about_container .top_about_more_btn:hover {
    color: #fff;
    scale: 1 1;
}

@media (max-width: 767px) {
    .top_about_container .top_about_text {
        font-size: calc(100vw * (12 / 375));
        width: auto;
        letter-spacing: 0em;
    }
}

/* ===========================================================
top_news
============================================================ */
.top_news {
    position: relative;
    display: block;
    width: 100%;
    padding: min(80px, (100vw * (80 / 1440))) 0 min(80px, (100vw * (80 / 1440)));
}

@media (max-width: 767px) {
    .top_news {
        padding: calc(100vw * (40 / 375)) 0 calc(100vw * (40 / 375));
    }
}

.top_news__container {
    position: relative;
    display: block;
    width: min(1110px, (100vw * (1110 / 1440)));
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .top_news__container {
        width: calc(100vw * (700 / 768));
    }
}

@media (max-width: 767px) {
    .top_news__container {
        width: calc(100vw * (337.5 / 375));
    }
}

.top_news__heading {
    position: relative;
    display: block;
    width: 100%;
    font-size: min(36px, (100vw * (36 / 1440)));
    color: #000;
    letter-spacing: 0.15em;
}

@media (max-width: 1024px) {
    .top_news__heading {
        font-size: calc(100vw * (36 / 768));
    }
}

@media (max-width: 767px) {
    .top_news__heading {
        font-size: calc(100vw * (32 / 375));
    }
}

.top_news .news-list {
    position: relative;
    display: block;
    width: min(1110px, (100vw * (1110 / 1440)));
    margin: min(40px, (100vw * (40 / 1440))) auto 0;
}

@media (max-width: 1024px) {
    .top_news .news-list {
        width: calc(100vw * (700 / 768));
        margin-top: calc(100vw * (30 / 768));
    }
}

@media (max-width: 767px) {
    .top_news .news-list {
        width: calc(100vw * (337.5 / 375));
        margin-top: calc(100vw * (20 / 375));
    }
}

.top_news .news-list__item {
    position: relative;
    display: block;
    width: 100%;
    border-bottom: solid 1px #ccc;
}

.top_news .news-list__item:first-child {
    border-top: solid 1px #ccc;
}

.top_news .news-list__item-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 1em;
    width: 100%;
    padding: 1em 0;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

@media (max-width: 767px) {
    .top_news .news-list__item-link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

.top_news .news-list__item-link:hover {
    background-color: #f5f5f5;
}

.top_news .news-list__item-date {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: block;
    font-size: min(14px, (100vw * (14 / 1440)));
    color: #333;
}

@media (max-width: 1024px) {
    .top_news .news-list__item-date {
        font-size: calc(100vw * (12 / 768));
    }
}

@media (max-width: 767px) {
    .top_news .news-list__item-date {
        font-size: calc(100vw * (12 / 375));
    }
}

.top_news .news-list__item-title {
    -webkit-box-flex: 3;
    -webkit-flex: 3;
    -ms-flex: 3;
    flex: 3;
    display: block;
    font-size: min(14px, (100vw * (14 / 1440)));
    color: #333;
}

@media (max-width: 1024px) {
    .top_news .news-list__item-title {
        font-size: calc(100vw * (12 / 768));
    }
}

@media (max-width: 767px) {
    .top_news .news-list__item-title {
        font-size: calc(100vw * (12 / 375));
    }
}

.top_news__all {
    position: relative;
    display: block;
    margin-top: 1em;
}

.top_news__all a {
    display: inline-block;
    font-size: min(14px, (100vw * (14 / 1440)));
    letter-spacing: 0.15em;
    color: #000;
}

@media (max-width: 1024px) {
    .top_news__all a {
        font-size: calc(100vw * (12 / 768));
    }
}

@media (max-width: 767px) {
    .top_news__all a {
        font-size: calc(100vw * (12 / 375));
    }
}

@media (any-hover: hover) {
    .top_news__all a:hover {
        text-decoration: underline;
    }
}

/* ===========================================================
top_oem
============================================================ */
.top_oem {
    position: relative;
    display: block;
    width: 100%;
    padding: min(80px, (100vw * (80 / 1440))) 0 min(80px, (100vw * (80 / 1440)));
}

@media (max-width: 767px) {
    .top_oem {
        padding: calc(100vw * (40 / 375)) 0 calc(100vw * (40 / 375));
    }
}

.top_oem__heading {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    font-size: min(36px, (100vw * (36 / 1440)));
    color: #000;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .top_oem__heading {
        font-size: calc(100vw * (36 / 375));
    }
}

.top_oem__text-container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: min(1280px, (100vw * (1280 / 1440)));
    margin: min(30px, (100vw * (30 / 1440))) auto;
    font-size: min(16px, (100vw * (16 / 1440)));
    color: #000;
}

@media (max-width: 767px) {
    .top_oem__text-container {
        width: calc(100vw * (350 / 375));
        margin: calc(100vw * (20 / 375)) auto;
        font-size: calc(100vw * (14 / 375));
    }
}

    .top_oem__rows {
        position: relative;
        display: block;
        width: min(1280px, (100vw * (1280 / 1440)));
        margin: min(44px, (100vw * (44 / 1440))) auto 0;
    }

    @media (max-width: 767px) {
        .top_oem__rows {
            width: calc(100vw * (350 / 375));
            margin: calc(100vw * (24 / 375)) auto 0;
        }
    }

    .top_oem__row {
        position: relative;
        display: block;
        width: 100%;
        margin-bottom: min(36px, (100vw * (36 / 1440)));
    }

    .top_oem__row:last-child {
        margin-bottom: 0;
    }

    .top_oem__row-head {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        margin-bottom: min(14px, (100vw * (14 / 1440)));
        padding-bottom: min(10px, (100vw * (10 / 1440)));
        border-bottom: solid 1px #e2e0db;
        color: #000;
    }

    .top_oem__row-index {
        font-size: min(13px, (100vw * (13 / 1440)));
        color: #b9b6af;
        letter-spacing: 0.1em;
        margin-right: min(12px, (100vw * (12 / 1440)));
    }

    .top_oem__row-title {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
        font-size: min(21px, (100vw * (21 / 1440)));
        color: #000;
        letter-spacing: 0.08em;
    }

    .top_oem__row-arrow {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: min(24px, (100vw * (24 / 1440)));
        padding-left: min(8px, (100vw * (8 / 1440)));
        font-size: min(13px, (100vw * (13 / 1440)));
        font-weight: 500;
        color: #000;
        letter-spacing: 0.05em;
        line-height: 1;
        white-space: nowrap;
    }
    @media (max-width: 767px) {
        .top_oem__row-arrow {
            font-size: min(11px, (100vw * (11 / 375)));
        }
    }

    .top_oem__grid {
        position: relative;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        width: 100%;
        gap: min(16px, (100vw * (16 / 1440)));
    }

    @media (max-width: 1024px) {
        .top_oem__grid {
            grid-template-columns: repeat(3, 1fr);
            gap: 14px;
        }
    }

    @media (max-width: 767px) {
        .top_oem__grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }
    }

    .top_oem__cell {
        position: relative;
        display: block;
    }

    .top_oem__cell > a {
        display: block;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        background-color: #f3f1ec;
    }

    .top_oem__cell-title {
        margin-top: 10px;
        font-size: 14px;
        letter-spacing: 0.02em;
        text-align: center;
        color: #333;
    }

    .top_oem__cell img {
        display: block;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -webkit-transition: scale 0.4s;
        transition: scale 0.4s;
    }

    @media (any-hover: hover) {
        .top_oem__cell:hover img {
            scale: 1.08;
        }
    }
}

/* ===========================================================
top_brand_development
============================================================ */
.top_brand_development {
  position: relative;
  display: block;
  width: 100%;
  padding: min(80px, (100vw * (80 / 1440))) 0 min(80px, (100vw * (80 / 1440)));
}

@media (max-width: 767px) {
  .top_brand_development {
    padding: calc(100vw * (40 / 375)) 0 calc(100vw * (40 / 375));
  }
}

.top_brand_development__heading {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  font-size: min(36px, (100vw * (36 / 1440)));
  color: #000;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .top_brand_development__heading {
    font-size: calc(100vw * (36 / 375));
  }
}

.top_brand_development__text-container {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: min(1280px, (100vw * (1280 / 1440)));
  margin: min(30px, (100vw * (30 / 1440))) auto;
  font-size: min(16px, (100vw * (16 / 1440)));
  font-weight: 400;
  color: #000;
}

@media (max-width: 767px) {
  .top_brand_development__text-container {
    width: calc(100vw * (350 / 375));
    margin: calc(100vw * (20 / 375)) auto;
    font-size: calc(100vw * (14 / 375));
  }
}

.top_brand_development__content {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: min(1280px, (100vw * (1280 / 1440)));
  margin: min(30px, (100vw * (30 / 1440))) auto;
  gap: min(120px, (100vw * (120 / 1440)));
}

@media (max-width: 767px) {
  .top_brand_development__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(100vw * (350 / 375));
    margin: calc(100vw * (20 / 375)) auto;
    gap: calc(100vw * (20 / 375));
  }
}

.top_brand_development__content+.top_brand_development__content {
  margin-top: min(80px, (100vw * (80 / 1440)));
}

@media (max-width: 767px) {
  .top_brand_development__content+.top_brand_development__content {
    margin-top: calc(100vw * (60 / 375));
  }
}

.top_brand_development__content--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .top_brand_development__content--reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.top_brand_development__content-image {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
}

@media (max-width: 767px) {
  .top_brand_development__content-image {
    aspect-ratio: auto;
  }
}

.top_brand_development__content-image img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  margin: auto;
}

.top_brand_development__content-container {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.top_brand_development__content-heading {
  position: relative;
  display: block;
  width: 100%;
}

.top_brand_development__content-heading p {
  position: relative;
  display: block;
  width: 100%;
  font-size: min(16px, (100vw * (16 / 1440)));
  color: #000;
  margin-bottom: min(10px, (100vw * (10 / 1440)));
}

@media (max-width: 767px) {
  .top_brand_development__content-heading p {
    font-size: calc(100vw * (14 / 375));
    margin-bottom: calc(100vw * (10 / 375));
  }
}

.top_brand_development__content-heading h3 {
  position: relative;
  display: block;
  width: 100%;
  font-size: min(32px, (100vw * (32 / 1440)));
  color: #000;
}

@media (max-width: 767px) {
  .top_brand_development__content-heading h3 {
    font-size: calc(100vw * (22 / 375));
  }
}

.top_brand_development__content-text {
  position: relative;
  display: block;
  width: 100%;
  font-size: min(16px, (100vw * (16 / 1440)));
  font-weight: 400;
  color: #000;
  margin: min(30px, (100vw * (30 / 1440))) 0;
}

@media (max-width: 767px) {
  .top_brand_development__content-text {
    font-size: calc(100vw * (14 / 375));
    margin: calc(100vw * (20 / 375)) 0;
  }
}

.top_brand_development__content-link {
  position: relative;
  display: block;
  width: min(100%, 400px);
  margin: min(30px, (100vw * (30 / 1440))) 0 0;
}

@media (max-width: 767px) {
  .top_brand_development__content-link {
    margin: calc(100vw * (20 / 375)) auto 0;
  }
}

.top_brand_development__content-link a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1em;
  font-size: min(16px, (100vw * (16 / 1440)));
  font-weight: 400;
  background-color: #fff;
  color: #000;
  border: solid 1px #000;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

@media (max-width: 767px) {
  .top_brand_development__content-link a {
    font-size: calc(100vw * (14 / 375));
  }
}

@media (any-hover: hover) {
  .top_brand_development__content-link a:hover {
    background-color: #000;
    color: #fff;
  }
}

.footer__main{grid-template-columns:1fr 2fr 1fr 1fr !important;}

a.blue-link {
  color: #0066cc !important;
  text-decoration: underline;
}

.order_guide__wrapper {
    position: relative;
    display: block;
    width: 100%;
    padding: min(100px, (100vw * (100 / 1440))) 0 min(200px, (100vw * (200 / 1440)));
}

@media (max-width: 767px) {
    .order_guide__wrapper {
        padding: calc(100vw * (50 / 375)) 0 calc(100vw * (100 / 375));
    }
}

.order_guide__heading {
    position: relative;
    display: block;
    width: min(900px, (100vw * (900 / 1440)));
    margin: 0 auto;
}

@media (max-width: 767px) {
    .order_guide__heading {
        width: calc(100vw * (350 / 375));
    }
}

.order_guide__heading-en {
    position: relative;
    display: block;
    font-size: min(48px, (100vw * (48 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .order_guide__heading-en {
        font-size: calc(100vw * (30 / 375));
    }
}

.order_guide__heading-ja {
    position: relative;
    display: block;
    font-size: min(32px, (100vw * (32 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .order_guide__heading-ja {
        font-size: calc(100vw * (20 / 375));
    }
}

.order_guide__container {
    position: relative;
    display: block;
    width: min(900px, (100vw * (900 / 1440)));
    margin: min(50px, (100vw * (50 / 1440))) auto 0;
}

@media (max-width: 767px) {
    .order_guide__container {
        width: calc(100vw * (350 / 375));
        margin: calc(100vw * (40 / 375)) auto 0;
    }
}

.order_guide__content {
    position: relative;
    display: block;
    width: 100%;
}

.order_guide__content h2 {
    display: block;
    font-size: min(20px, (100vw * (20 / 1440)));
    font-weight: 500;
    color: #000;
    margin: 2em 0 0.5em;
}

@media (max-width: 767px) {
    .order_guide__content h2 {
        font-size: calc(100vw * (16 / 375));
    }
}

.order_guide__content p {
    display: block;
    font-size: min(16px, (100vw * (16 / 1440)));
    line-height: 1.5;
    color: #333;
}

@media (max-width: 767px) {
    .order_guide__content p {
        font-size: calc(100vw * (14 / 375));
    }
}

.privacy-policy__wrapper {
    position: relative;
    display: block;
    width: 100%;
    padding: min(100px, (100vw * (100 / 1440))) 0 min(200px, (100vw * (200 / 1440)));
}

@media (max-width: 767px) {
    .privacy-policy__wrapper {
        padding: calc(100vw * (50 / 375)) 0 calc(100vw * (100 / 375));
    }
}

.privacy-policy__heading {
    position: relative;
    display: block;
    width: min(900px, (100vw * (900 / 1440)));
    margin: 0 auto;
}

@media (max-width: 767px) {
    .privacy-policy__heading {
        width: calc(100vw * (350 / 375));
    }
}

.privacy-policy__heading-en {
    position: relative;
    display: block;
    font-size: min(48px, (100vw * (48 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .privacy-policy__heading-en {
        font-size: calc(100vw * (30 / 375));
    }
}

.privacy-policy__heading-ja {
    position: relative;
    display: block;
    font-size: min(32px, (100vw * (32 / 1440)));
    font-weight: 400;
}

@media (max-width: 767px) {
    .privacy-policy__heading-ja {
        font-size: calc(100vw * (20 / 375));
    }
}

.privacy-policy__container {
    position: relative;
    display: block;
    width: min(900px, (100vw * (900 / 1440)));
    margin: min(50px, (100vw * (50 / 1440))) auto 0;
}

@media (max-width: 767px) {
    .privacy-policy__container {
        width: calc(100vw * (350 / 375));
        margin: calc(100vw * (40 / 375)) auto 0;
    }
}

.privacy-policy__content {
    position: relative;
    display: block;
    width: 100%;
}

.privacy-policy__content h2 {
    display: block;
    font-size: min(20px, (100vw * (20 / 1440)));
    font-weight: 500;
    color: #000;
    margin: 2em 0 0.5em;
}

@media (max-width: 767px) {
    .privacy-policy__content h2 {
        font-size: calc(100vw * (16 / 375));
    }
}

.privacy-policy__content p {
    display: block;
    font-size: min(16px, (100vw * (16 / 1440)));
    line-height: 1.5;
    color: #333;
}

@media (max-width: 767px) {
    .privacy-policy__content p {
        font-size: calc(100vw * (14 / 375));
    }
}

.parts_bag_reference_empty {
  position: relative;
  display: block;
  width: 100%;
  padding: 24px 0;
  font-size: 14px;
  line-height: 1.8;
  color: #777;
}

/* ===== bag page: subcategory images section (added 2026-09-16) ===== */
.parts_bag_subcat_images {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 150px;
}
.parts_bag_subcat_images_title {
  position: relative;
  display: block;
  width: min(1280px, (100vw * (1280 / 1440)));
  margin: 0 auto 50px;
}
.parts_bag_subcat_images_title h2 {
  position: relative;
  display: block;
  font-size: min(36px, (100vw * (36 / 1440)));
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
.parts_bag_subcat_images_title p {
  position: relative;
  display: block;
  font-size: min(15px, (100vw * (15 / 1440)));
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .parts_bag_subcat_images {
    margin-bottom: calc(100vw * (70 / 375));
  }
  .parts_bag_subcat_images_title {
    width: calc(100vw * (350 / 375));
    margin: 0 auto calc(100vw * (25 / 375));
  }
  .parts_bag_subcat_images_title h2 {
    font-size: calc(100vw * (20 / 375));
  }
  .parts_bag_subcat_images_title p {
    font-size: calc(100vw * (12 / 375));
    margin-top: calc(100vw * (10 / 375));
  }
}
