#state_bad_purchase {
    h2 {
        line-height: 1.2;
        font-weight: bold;
    }

    h4 {
        font-weight: 700;
        margin-top: 5%;
    }

    .theme_color_text {
        text-align: center;
        font-weight: 500;
        margin: 2% 0;
    }

    /* head */
    .head_wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 5%;
        align-items: center;
    }

    .head_block {
        width: 100%;
    }

    .head_block img {
        width: 60%;
        margin: auto;
        margin-bottom: 5%;
        display: block;
    }

    .head_text {
        font-size: clamp(23px, 2.3vw, 30px);
        font-weight: 500;
        letter-spacing: -0.97px;
        margin: auto;
        margin-bottom: 3%;
        text-align: center;
    }

    .top_text_center {
        display: block;
        font-weight: bold;
        margin: auto;
        text-align: center;
        background: linear-gradient(transparent 60%, #ffff00 60%);
        width: 65%;
    }

    .dots {
        background-image: radial-gradient(
            circle at center,
            #e60012 20%,
            transparent 20%
        );
        background-position: top left;
        background-repeat: repeat-x;
        background-size: 0.95em 0.3em;
        padding-top: 0.2em;
    }

    .head_read_text {
        text-align: center;
        font-size: 1.3vw;
        padding: 0 2%;
        font-weight: 700;
        text-align: center;
    }

    .purchase-title {
        background-color: #e60012;
        color: #fff;
        margin: 0;
        padding: 6px;
        font-size: 2vw;
        text-align: center;
        border-radius: 19px 19px 0 0;
    }

    .head_img {
        width: 35%;
    }

    .head_img img {
        width: 100%;
    }

    /* top */
    .top_wrapper {
        background-color: #f2f2f2;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-radius: 25px;
        padding: 5%;
        padding-bottom: 1%;
        position: relative;
        margin-top: 10%;
        margin-bottom: 3%;
    }

    @media (min-width: 767px) {
        .top_wrapper {
            gap: 4%;
            justify-content: flex-start;
        }
    }

    .top_text_img {
        position: absolute;
        width: 15%;
        top: -1%;
        left: 50%;
        transform: translateX(-50%);
    }

    .top_block {
        width: 30%;
        text-align: center;
        margin-bottom: 3%;
    }

    .top_img_block {
        position: relative;
    }

    .top_img_block .ok_img {
        position: absolute;
        width: 25%;
        right: -5%;
        top: -5%;
    }

    .brand_img_type_01 {
        width: 100%;
        border-radius: 16px;
        border: 2px solid #e60012;
        background-color: #fff;
    }

    .top_block p {
        font-size: clamp(0.58em, 0.95vw, 0.8em);
        font-weight: 500;
        text-align: left;
        margin-top: 5%;
    }

    /* arrow */
    .arrow_wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: 50%;
        margin: auto;
        margin-bottom: 3%;
        position: relative;
    }

    .arrow_text {
        top: 40%;
        color: #ffffff;
        text-align: center;
        position: absolute;
        font-size: clamp(12px, 2.7vw, 32px);
    }

    .arrow_wrapper img {
        width: 90%;
        position: relative;
        margin-top: 35%;
    }

    .intermediate_text {
        text-align: center;
        font-size: 3.6vw;
        margin-bottom: 5%;
        font-weight: bold;
    }

    /* bottom */
    .bottom_wrapper {
        text-align: center;
        border-radius: 24px;
        gap: 5%;
        display: block;
        border: 3px solid #e60012;
        position: relative;
        margin-top: 15%;
    }

    .bottom_img_wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 80%;
        margin: auto;
        justify-items: center;
    }

    .bottom_img_wrapper img {
        width: 80%;
    }

    .bottom_block {
        width: 47.5%;
        border-radius: 10px;
        overflow: hidden;
        margin-bottom: 5%;
    }

    .bottom_block h3 {
        text-align: center;
        padding: 2%;
        font-size: clamp(0.9em, 1.5vw, 1em);
        font-weight: 500;
    }

    .bottom_block_content {
        padding: 5%;
        text-align: center;
    }

    .brand_img_type_02 {
        border-radius: 16px;
        object-fit: cover;
        width: -webkit-fill-available;
    }

    .state_bad_items {
        display: flex;
        gap: 2%;
        border: 1px solid #000000;
        margin-bottom: 3%;
        padding: 2% 5%;
        font-size: clamp(0.8em, 1.1vw, 1.5em);
        font-weight: 500;
        border-radius: 10px;
        align-items: center;
    }

    .state_bad_items img {
        width: 10%;
    }

    .state_bad_items p {
        font-size: 1vw;
    }

    .description_text {
        font-size: clamp(0.7em, 1.1vw, 1.5em);
        text-align: justify;
    }

    /* 吹き出し本体のスタイル */
    .speech-bubble {
        position: relative;
        display: inline-block;
        background-color: #e60012;
        padding: 10px 20px;
        border-radius: 50px;
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        line-height: 1.4;
        text-align: center;
    }

    /* 吹き出しの下の三角形（しっぽ） */
    .speech-bubble::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-width: 10px 5px 0 5px;
        border-style: solid;
        border-color: #e60012 transparent transparent transparent;
    }

    .text-white {
        color: #ffffff;
    }

    .text-yellow {
        color: #ffff00;
    }

    .top_text_img {
        position: absolute;
        width: max-content;
        top: -4%;
        left: 50%;
        transform: translateX(-50%);
    }

    @media (max-width: 767px) {
        .top_text_img {
            position: absolute;
            width: max-content;
            top: -3%;
            left: 50%;
            transform: translateX(-50%);
            margin-top: 3%;
        }

        .speech-bubble {
            display: inline-block;
            background-color: #e60012;
            padding: 7px 14px;
            border-radius: 50px;
            color: #fff;
            font-weight: bold;
            line-height: 1.4;
            text-align: center;
            font-size: var(--font-l);
        }
    }

    @media screen and (min-width: 600px) and (max-width: 768px) {
        .top_text_img {
            position: absolute;
            width: max-content;
            top: -7%;
            left: 50%;
            transform: translateX(-50%);
        }
    }
}

@media (max-width: 767px) {
    #state_bad_purchase {
        h4 {
            font-size: 4vw;
            font-weight: 700;
        }

        /* head */
        .head_block {
            width: 100%;
        }

        .head_block img {
            width: 100%;
        }

        .head_img {
            width: 60%;
        }

        .head_read_text {
            text-align: center;
            font-size: 4vw;
            padding: 0 2%;
            font-weight: 700;
            text-align: center;
        }

        .purchase-title {
            background-color: #e60012;
            color: #fff;
            margin: 0;
            padding: 6px;
            font-size: 4vw;
            text-align: center;
            border-radius: 19px 19px 0 0;
        }

        .head_text {
            font-size: 5vw;
        }

        /* top */
        .top_wrapper {
            padding: 10% 2% 5%;
            border-radius: 25px;
            width: 90%;
            margin: auto;
            margin-top: 10%;
        }

        .top_block {
            width: 46%;
        }

        .top_block p {
            font-size: 3.5vw;
            font-weight: 500;
        }

        /* arrow */
        .arrow_text {
            line-height: 1.2;
            padding-top: 6%;
            position: absolute;
            top: 44.3%;
            text-align: center;
            font-weight: bold;
        }

        .arrow_text.scar {
            top: 10.25%;
            left: 3.5%;
        }

        .arrow_text.dirty {
            top: 20.3%;
            left: 38.2%;
        }

        .arrow_text.old {
            top: 20.3%;
            left: 71%;
        }

        .arrow_wrapper {
            width: 100%;
            top: -1em;
        }

        .arrow_text p {
            font-size: 4.6vw;
        }

        .arrow_text span {
            font-size: 6vw;
        }

        /* bottom */
        .bottom_wrapper {
            display: block;
        }

        .bottom_wrapper h4 {
            font-weight: 700;
        }

        .bottom_block {
            width: 100%;
        }

        .brand_img_type_02 {
            /* width: 82vw; */
            height: 44vw;
        }

        .state_bad_items p {
            font-size: 3vw;
        }

        .bottom_summary_text {
            font-size: 3.8vw !important;
        }

        .bug_eye {
            position: absolute;
            left: 3%;
            top: -6% !important;
            width: 18%;
        }

        .middle_cta_section {
            margin: 2rem 1em;
        }
    }
}

#state_bad_purchase {
    /* スライダー全体のコンテナ */
    .purchase-example-container {
        border: 3px solid #e60012;
        border-radius: 24px;
        padding: 0;
        max-width: 90%;
        margin: 2em auto;
        font-family: sans-serif;
    }

    .purchase-slider-wrapper {
        padding: 20px;
        background-color: #fff;
        border-radius: 24px;
    }

    .slider-for {
        margin-bottom: 10px;
        position: relative;
    }

    .slider-for img {
        width: 55%;
        margin: auto;
        border-radius: 24px;
    }

    .slider-nav .slick-slide {
        padding: 0 5px;
        cursor: pointer;
    }

    .slider-nav img {
        width: 100%;
        border: 3px solid transparent;
    }

    .slider-nav .slick-current img {
        border-color: #e60012;
    }

    .slick-prev,
    .slick-next {
        z-index: 10;
        width: 30px;
        height: 30px;
    }

    .slick-prev {
        left: 20px;
    }

    .slick-next {
        right: 20px;
    }

    .slick-prev:before,
    .slick-next:before {
        font-size: 30px;
        color: #e60012;
        opacity: 0.8;
    }

    .static-nav {
        display: flex;
        justify-content: space-between;
        gap: 8px;
    }

    .static-thumb {
        cursor: pointer;
        flex-basis: 25%;
    }

    .static-thumb img {
        width: 100%;
        border: 3px solid transparent;
        box-sizing: border-box;
        display: block;
        border-radius: 12px;
    }

    /* 現在選択中のサムネイルをハイライト */
    .static-thumb.active-thumb img {
        border-color: #e60012;
    }

    /* 説明文エリア */
    .purchase-info {
        margin-top: 3%;
        font-size: 3vw;
        line-height: 1.6;
        font-weight: bold;
    }

    .purchase-info p {
        margin: 0;
    }

    /* Slick矢印ボタンのデフォルトスタイルをリセット */
    .slick-arrow {
        background: transparent;
        border: none;
        padding: 0;
    }

    /* デフォルトの文字矢印「<」「>」を非表示にする */
    .slick-arrow::before {
        display: none;
    }

    /* 矢印画像のサイズを指定 */
    .slick-arrow img {
        width: 30px !important;
        /* ← お好みのサイズに調整してください */
        height: auto;
        display: block;
    }

    /* 「次へ」の矢印画像を水平に反転させる */
    .slick-prev img {
        transform: scaleX(-1);
    }

    .custom-checklist {
        margin-left: 10%;
        margin-top: 5%;
    }

    /* ulタグのデフォルトスタイルをリセット */
    .custom-checklist ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* 各リスト項目 */
    .custom-checklist li {
        display: flex;
        align-items: center;
    }

    .custom-checklist li:last-child {
        margin-bottom: 0;
    }

    /* チェックマーク画像のスタイル */
    .custom-checklist li img {
        width: 30px;
        height: 30px;
        margin-right: 10px;
    }

    /* テキストのスタイル */
    .custom-checklist li span {
        font-size: 3.5vw;
        font-weight: 700;
    }

    .bottom_summary_text {
        font-weight: 700;
        font-size: clamp(10px, 1.37vw, 17px);
        width: 80%;
        margin: auto;
        margin-bottom: 5%;
        margin-top: 5%;
    }

    .bottom_header_wrapper {
        background-color: #e60012;
        color: #fff;
        width: 61%;
        padding: 1%;
        margin: auto;
        font-size: 4.5vw;
        font-weight: bold;
        border-radius: 24px;
        margin-top: -4%;
        margin-bottom: 5%;
        position: relative;
    }

    .bug_eye {
        position: absolute;
        left: 3%;
        top: -6%;
        width: 18%;
    }

    @media (min-width: 768px) {
        .purchase-title {
            font-size: 1.3vw;
        }

        .purchase-example-container {
            max-width: 90%;
        }

        .purchase-slider-wrapper {
            display: flex;
            gap: 20px;
            padding: 1%;
        }

        .purchase-slider-wrapper .slider-for {
            width: 45%;
            margin-bottom: 0;
        }

        .purchase-slider-wrapper .purchase-details {
            width: 45%;
            display: flex;
            flex-direction: column;
            margin-top: 4%;
        }

        .purchase-details .purchase-info {
            margin-top: 0;
            margin-bottom: 15px;
            font-size: clamp(11px, 1.4vw, 19px) !important;
        }

        /* サムネイルのコンテナ */
        .purchase-details .static-nav {
            justify-content: flex-start;
            flex-wrap: wrap;
            width: 110%;
        }

        /* 右カラム内のサムネイル */
        .purchase-details .static-thumb {
            flex-basis: auto;
            width: calc(25% - 6px);
        }

        .static-nav {
            display: flex;
            justify-content: space-between;
            gap: 0% !important;
        }

        .arrow_text {
            font-weight: bold;
        }

        .arrow_text.scar {
            top: 23%;
            left: 10%;
        }

        .arrow_text.dirty {
            top: 37%;
            left: 10%;
        }

        .arrow_text.old {
            top: 37%;
            left: 10%;
        }

        .intermediate_text {
            font-size: clamp(12px, 1.15vw, 16px);
        }

        .bottom_header_wrapper {
            background-color: #e60012;
            color: #fff;
            width: 40%;
            padding: 1%;
            margin: auto;
            font-size: clamp(13px, 1.5vw, 24px);
            font-weight: bold;
            border-radius: 24px;
            margin-top: -4%;
            margin-bottom: 5%;
            position: relative;
        }

        .bug_eye {
            position: absolute;
            left: 3%;
            top: -10%;
            width: 18%;
        }

        .bottom_wrapper h4 {
            margin-bottom: 5%;
            font-weight: 700;
        }

        .custom-checklist li span {
            font-size: 1.3vw;
            font-weight: bold;
        }

        .custom-checklist ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }

        /* 各リスト項目の幅を約半分に設定 */
        .custom-checklist li {
            width: 48%;
        }

        .slider-for img {
            width: 80%;

            margin: auto;
            margin-left: 10%;
            margin-top: 3%;
            margin-bottom: 3%;
        }

        .slick-next {
            right: -2%;
        }

        .slick-prev {
            left: -2%;
        }

        .top_block {
            width: 22%;
            text-align: center;
            margin-bottom: 3%;
        }

        .arrow_wrapper img {
            margin-top: 0%;
        }
    }

    @media (max-width: 1185px) {
        .bug_eye {
            position: absolute;
            left: 3%;
            top: -12%;
            width: 18%;
        }
    }

    .circle_wrapper {
        position: relative;
    }
}
</style>
<style>
    /* バナー全体のコンテナ */
    .reason-banner {
    max-width: 714px;
    /* PCでの最大幅を指定 */
    margin: 0 auto;
    border: 1px solid #e60012;
    border-radius: 24px;
    overflow: hidden;
    background-color: #fff;
}

/* ヘッダー部分 */
.banner-header {
    background-color: #e60012;
    /* メインの赤色 */
    color: white;
    padding: 15px;
    text-align: left;
}

.banner-header h2 {
    margin: 0;
    font-size: 1.5em;
    font-weight: bold;
}

/* 各項目 */
.feature-item {
    margin-bottom: -15px;
    padding: 0px 6%;
}

.feature-item:last-child {
    margin-bottom: 30px;
}

.feature-item img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
}

.feature-title {
    text-align: left;
    font-size: 1.1em;
    font-weight: bold;
    color: #000;
    margin-top: 2%;
}

/* タイトル内の強調テキスト */
.feature-title .highlight {
    color: #e60012;
}

.feature-description {
    font-size: 0.9em;
    line-height: 1.4;
    font-weight: 500;
    color: #000;
    margin: 0;
}
</style>
<style>
    /* カード全体のコンテナ */
    .purity-card {
    max-width: 714px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 8px;
}

/* メインタイトル */
.main-title {
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    color: #000;

    margin-top: 1rem;
    margin-bottom: 1rem;
}

.main-title span {
    color: #e60012;
}

/* 各情報セクション */
.info-section {
    margin-bottom: 30px;
}

.info-section:last-child {
    margin-bottom: 0;
}

.info-section img {
    height: auto;
    display: block;
    margin: 0 auto 15px;
    border-radius: 8px;
    width: 100%;
}

/* セクションのサブタイトル */
.section-subtitle {
    font-size: 1.25em;
    /* 20px */
    font-weight: bold;
    color: #e60012;
    /* ゴールド系の色 */
    margin-bottom: 15px;
    line-height: 1.5;
}

/* セクションの本文 */
.section-text {
    font-size: 1em;
    color: #000;
    margin: 0;
}

/* スマートフォン向けの調整 */
@media (max-width: 640px) {
    .main-title {
        font-size: 1.3em;
    }

    .section-subtitle {
        font-size: 1em;
    }

    .section-text {
        font-size: 0.95em;
    }
}
</style > <style > #bad_button {
    margin: 0;

    h3 {
        font-size: 1.4rem;
        text-align: left;
        color: #ffffff;
        margin-bottom: 0;
        padding: 1%;
    }

    .fshoplist-target--item {
        margin: 0;
        padding: 2%;
        background-color: #fcf1db;
    }

    .fshoplist-target--ttl {
        padding-right: 20px;
        padding-left: 5%;
        background: #e60012;
        border-radius: 24px;
    }

    .fshoplist-target--ttl::before,
    .fshoplist-target--ttl::after {
        right: 4.3vw;
    }

    .fshoplist-target__list {
        padding: 0;
        cursor: pointer;
        background: #e60012;
        border-radius: 24px;
    }

    @media (min-width: 900px) {
        .fshoplist-target--ttl::before,
        .fshoplist-target--ttl::after {
            right: 4.6%;
        }
    }

    @media (max-width: 767px) {
        h3 {
            font-size: 1em;
        }
    }

    @media (max-width: 450px) {
        h3 {
            font-size: 0.8em;
        }

        .fshoplist-target--item {
            font-size: 0.7em;
        }
    }
}

#bad_button .fshoplist-target__list {
    padding: 0;
    cursor: pointer;
    background: none;
    border-radius: 24px;
}

#bad_button .fshoplist-target--ttl::before,
#bad_button .fshoplist-target--ttl::after {
    background: #fff;
}
</style>
<style>
    /* 修正後のCSS */
    #precious-metal-accordion {
    margin: 20px auto 0 auto;
    max-width: 712px;
}

#precious-metal-accordion h3 {
    font-size: 1.4rem;
    text-align: left;
    color: #ffffff;
    margin-bottom: 0;
    padding: 15px 20px;
    line-height: 1.4;
    font-weight: 500;
}

#precious-metal-accordion .accordion-content {
    margin: 0;
    background-color: #fcf1db;
    color: #545454;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
}

#precious-metal-accordion .accordion-inner {
    padding: 20px;
}

#precious-metal-accordion .accordion-header {
    background: #e60012;
    border-radius: 12px;
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 20px;
}

/* アコーディオンが開いている時に、ヘッダーの下側の角丸をなくす */
#precious-metal-accordion .accordion-header.is-open {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/* プラス記号のアイコン */
#precious-metal-accordion .accordion-header::before,
#precious-metal-accordion .accordion-header::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    width: 18px;
    height: 2px;
    background: #fff;
    transition: transform 0.3s ease;
}

#precious-metal-accordion .accordion-header::before {
    transform: translateY(-50%);
}

#precious-metal-accordion .accordion-header::after {
    transform: translateY(-50%) rotate(90deg);
}

/* is-open クラスが付与された時のアイコンの向き */
#precious-metal-accordion .accordion-header.is-open::after {
    transform: translateY(-50%) rotate(0deg);
}

/* メディアクエリ */
@media (max-width: 767px) {
    #precious-metal-accordion h3 {
        font-size: 1em;
        padding: 12px 15px;
    }

    #precious-metal-accordion .accordion-header::before,
    #precious-metal-accordion .accordion-header::after {
        right: 15px;
        width: 15px;
    }
}

@media (max-width: 450px) {
    #precious-metal-accordion h3 {
        font-size: 1em;
        padding: 10px 12px;
    }

    #precious-metal-accordion .accordion-content {
        font-size: 1em;
    }
}
