                                       /* =========================
                                       STEP 展示事例ポータル 改修CSS v2
                                       角丸を外し、検索導線をよりスマートに調整
                                       ========================= */
            
                                    body {
                                        background: #fff;
                                    }
            
                                    .case-portal-main {
                                        background: #fff;
                                    }
            
                                    #projectresult.case-portal {
                                        background: #fff;
                                    }
            
                                    .case-portal-main {
                                        background: #fff;
                                        color: #1f1f1f;
                                        font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
                                    }
            
                                    #projectresult.case-portal,
                                    #projectresult.case-portal * {
                                        box-sizing: border-box;
                                    }
            
                                    #projectresult.case-portal {
                                        width: min(1280px, calc(100% - 40px));
                                        margin: 0 auto 88px;
                                        font-family: "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
                                        color: #222;
                                    }
            
                                    #projectresult.case-portal a {
                                        color: inherit;
                                        text-decoration: none;
                                    }
            
                                    #projectresult.case-portal img {
                                        max-width: 100%;
                                        height: auto;
                                        vertical-align: bottom;
                                    }
            
                                    .case-portal__hero {
                                        position: relative;
                                        display: grid;
                                        grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
                                        gap: clamp(26px, 4vw, 52px);
                                        align-items: center;
                                        min-height: 380px;
                                        margin: 18px 0 34px;
                                        padding: clamp(26px, 3.5vw, 40px);
                                        overflow: hidden;
                                        background: #fff;
                                        border: 1px solid #ddd7cd;
                                        box-shadow: none;
                                    }
            
                                    .case-portal__hero::before {
                                        content: "";
                                        position: absolute;
                                        top: 0;
                                        left: 0;
                                        width: 88px;
                                        height: 1px;
                                        background: #fff;
                                        opacity: .9;
                                    }
            
                                    .case-portal__eyebrow {
                                        display: inline-flex;
                                        align-items: center;
                                        gap: 10px;
                                        margin: 0 0 14px;
                                        font-size: 11px;
                                        letter-spacing: .22em;
                                        text-transform: uppercase;
                                        color: #8a6d31;
                                        font-weight: 700;
                                    }
            
                                    .case-portal__eyebrow::before {
                                        content: "";
                                        display: block;
                                        width: 30px;
                                        height: 1px;
                                        background: #8a6d31;
                                    }
            
                                    .case-portal__title {
                                        margin: 0 0 18px !important;
                                        padding: 0 !important;
                                        border: 0 !important;
                                        background: none !important;
                                        font-size: clamp(28px, 3.2vw, 38px) !important;
                                        line-height: 1.28 !important;
                                        letter-spacing: .01em;
                                        font-weight: 700;
                                        color: #171717 !important;
                                        text-align: left !important;
                                    }
            
                                    .case-portal__title::before,
                                    .case-portal__title::after {
                                        content: none !important;
                                        display: none !important;
                                    }
            
                                    .case-portal__lead {
                                        margin: 0;
                                        max-width: 38em;
                                        font-size: 15px;
                                        line-height: 1.95;
                                        color: #424242;
                                    }
            
                                    .case-portal__stats {
                                        display: flex;
                                        flex-wrap: wrap;
                                        gap: 0;
                                        margin: 22px 0 0;
                                        padding: 0;
                                        list-style: none;
                                        border-top: 1px solid #ddd7cd;
                                        border-bottom: 1px solid #ddd7cd;
                                    }
            
                                    .case-portal__stats li {
                                        min-width: 122px;
                                        padding: 12px 18px 12px 0;
                                        margin-right: 22px;
                                        background: transparent;
                                        border: 0;
                                    }
            
                                    .case-portal__stats strong {
                                        display: block;
                                        font-size: 20px;
                                        line-height: 1.1;
                                        color: #171717;
                                    }
            
                                    .case-portal__stats span {
                                        display: block;
                                        margin-top: 5px;
                                        font-size: 11px;
                                        letter-spacing: .06em;
                                        color: #666;
                                    }
            
                                    .case-portal__visual {
                                        position: relative;
                                        min-height: 300px;
                                    }
            
                                    .case-portal__visual::before {
                                        content: "";
                                        position: absolute;
                                        inset: 0 0 24px 96px;
                                        background: #f7f7f7;
                                    }
            
                                    .case-portal__visual-main,
                                    .case-portal__visual-sub {
                                        overflow: hidden;
                                        background: #ddd;
                                        box-shadow: 0 10px 24px rgba(0,0,0,.08);
                                    }
            
                                    .case-portal__visual-main {
                                        position: absolute;
                                        top: 0;
                                        right: 0;
                                        width: 78%;
                                        height: 250px;
                                        z-index: 2;
                                    }
            
                                    .case-portal__visual-sub {
                                        position: absolute;
                                        left: 0;
                                        bottom: 0;
                                        width: 42%;
                                        aspect-ratio: 4 / 3;
                                        border: 5px solid #fff;
                                        z-index: 3;
                                    }
            
                                    .case-portal__visual-main img,
                                    .case-portal__visual-sub img {
                                        width: 100%;
                                        height: 100%;
                                        object-fit: cover;
                                    }
            
                                    .case-section {
                                        margin: 56px 0;
                                    }
            
                                    .case-section__head {
                                        display: grid;
                                        grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
                                        gap: 22px 36px;
                                        align-items: start;
                                        margin-bottom: 24px;
                                    }
            
                                    .case-section__label {
                                        display: block;
                                        margin: 0 0 10px;
                                        color: #8a6d31;
                                        font-size: 12px;
                                        font-weight: 800;
                                        letter-spacing: .16em;
                                        text-transform: uppercase;
                                    }
            
                                    .case-section__title {
                                        margin: 0;
                                        font-size: clamp(18px, 2.2vw, 24px);
                                        line-height: 1.45;
                                        letter-spacing: .03em;
                                    }
            
                                    .case-section__text {
                                        margin: 0;
                                        max-width: 440px;
                                        color: #555;
                                        line-height: 1.9;
                                        font-size: 14px;
                                    }
            
                                    .case-filter-panel {
                                        display: grid;
                                        grid-template-columns: 1fr 1fr;
                                        gap: 18px 28px;
                                        align-items: start;
                                    }
            
                                    .case-filter-box {
                                        padding: 18px 0 0;
                                        background: transparent;
                                        border: 0;
                                        border-top: 1px solid #ddd7cd;
                                        box-shadow: none;
                                    }
            
                                    .case-filter-box h3 {
                                        position: relative;
                                        margin: 0 0 14px;
                                        padding-left: 12px;
                                        font-size: 17px;
                                        letter-spacing: .02em;
                                        line-height: 1.4;
                                    }
            
                                    .case-filter-box h3::before {
                                        content: "";
                                        position: absolute;
                                        left: 0;
                                        top: 0.25em;
                                        width: 3px;
                                        height: 1.2em;
                                        background: #b8933f;
                                    }
            
                                    .case-filter-grid {
                                        display: flex;
                                        flex-wrap: wrap;
                                        gap: 10px 12px;
                                    }
            
                                    .case-filter {
                                        position: relative;
                                        appearance: none;
                                        display: inline-flex;
                                        align-items: center;
                                        justify-content: flex-start;
                                        gap: 8px;
                                        width: auto;
                                        min-height: 38px;
                                        padding: 8px 12px;
                                        border: 1px solid #cfc8bc;
                                        background: #fff;
                                        color: #2a2a2a;
                                        font: inherit;
                                        font-weight: 500;
                                        text-align: left;
                                        white-space: nowrap;
                                        cursor: pointer;
                                        transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
                                    }
            
                                    .case-filter::before,
                                    .case-filter::after {
                                        display: none;
                                    }
            
                                    .case-filter span {
                                        flex: 0 1 auto;
                                        font-size: 13px;
                                        line-height: 1.35;
                                    }
            
                                    .case-filter em {
                                        flex: 0 0 auto;
                                        min-width: auto;
                                        margin-left: 2px;
                                        background: transparent;
                                        color: #8f7a47;
                                        font-size: 11px;
                                        font-style: normal;
                                        font-weight: 700;
                                        text-align: right;
                                    }
            
                                    .case-filter:hover,
                                    .case-filter.is-active {
                                        transform: none;
                                        border-color: #b8933f;
                                        box-shadow: none;
                                        background: #f7f7f7;
                                        color: #1f1f1f;
                                    }
            
                                    .case-filter:hover em,
                                    .case-filter.is-active em {
                                        color: #8a6d31;
                                    }
            
                                    .case-filter:focus-visible {
                                        outline: 1px solid #8a6d31;
                                        outline-offset: 2px;
                                    }
            
            
                                    .case-pickup__grid {
                                        display: grid;
                                        grid-template-columns: repeat(4, minmax(0, 1fr));
                                        gap: 18px;
                                    }
            
                                    .case-pickup__item {
                                        display: block;
                                        overflow: hidden;
                                        background: #fff;
                                        border: 1px solid #d8d5cf;
                                        box-shadow: none;
                                        transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
                                    }
            
                                    .case-pickup__item:hover {
                                        transform: translateY(-4px);
                                        border-color: #b8933f;
                                        box-shadow: 0 18px 34px rgba(0,0,0,.08);
                                    }
            
                                    .case-pickup__item img {
                                        width: 100%;
                                        aspect-ratio: 4 / 3;
                                        object-fit: cover;
                                    }
            
                                    .case-pickup__body {
                                        padding: 16px 16px 18px;
                                    }
            
                                    .case-pickup__body h3 {
                                        margin: 10px 0 0;
                                        font-size: 14px;
                                        line-height: 1.6;
                                    }
            
                                    .case-toolbar {
                                        position: sticky;
                                        top: 0;
                                        z-index: 5;
                                        display: grid;
                                        grid-template-columns: minmax(220px, 1fr) auto auto;
                                        gap: 12px;
                                        align-items: center;
                                        margin: 0 0 24px;
                                        padding: 12px;
                                        background: rgba(255,255,255,.94);
                                        border: 1px solid #d8d5cf;
                                        box-shadow: 0 10px 26px rgba(0,0,0,.05);
                                        backdrop-filter: blur(10px);
                                    }
            
                                    .case-search {
                                        width: 100%;
                                        min-height: 48px;
                                        padding: 12px 16px;
                                        border: 1px solid rgba(0,0,0,.14);
                                        background: #fff;
                                        font: inherit;
                                    }
            
                                    .case-result-count {
                                        white-space: nowrap;
                                        color: #555;
                                        font-size: 14px;
                                    }
            
                                    .case-reset {
                                        appearance: none;
                                        min-height: 42px;
                                        padding: 10px 18px;
                                        border: 1px solid #222;
                                        background: #222;
                                        color: #fff;
                                        font: inherit;
                                        font-weight: 700;
                                        cursor: pointer;
                                    }
            
                                    .case-archive__nav {
                                        display: block;
                                    }
            
                                    #projectresult.case-portal .case-archive__list {
                                        display: grid !important;
                                        grid-template-columns: repeat(3, minmax(0, 1fr));
                                        gap: 20px;
                                        margin: 0 !important;
                                        padding: 0 !important;
                                        list-style: none !important;
                                    }
            
                                    #projectresult.case-portal .case-card {
                                        display: block !important;
                                        width: auto !important;
                                        margin: 0 !important;
                                        padding: 0 !important;
                                        overflow: hidden;
                                        background: #fff;
                                        border: 1px solid #d8d5cf;
                                        box-shadow: none;
                                        transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
                                    }
            
                                    #projectresult.case-portal .case-card:hover {
                                        transform: translateY(-4px);
                                        border-color: #b8933f;
                                        box-shadow: 0 18px 34px rgba(0,0,0,.09);
                                    }
            
                                    #projectresult.case-portal .case-card[hidden] {
                                        display: none !important;
                                    }
            
                                    .case-card a {
                                        display: block;
                                        height: 100%;
                                        background: #fff;
                                    }
            
                                    .case-card__image {
                                        position: relative;
                                        overflow: hidden;
                                        background: #ddd;
                                    }
            
                                    #projectresult.case-portal .case-card__image img {
                                        width: 100% !important;
                                        height: auto !important;
                                        aspect-ratio: 4 / 3;
                                        object-fit: cover;
                                        transition: transform .4s ease;
                                    }
            
                                    #projectresult.case-portal .case-card:hover .case-card__image img {
                                        transform: scale(1.035);
                                    }
            
                                    .case-card__body {
                                        padding: 14px 14px 16px;
                                    }
            
                                    .case-card__tags {
                                        display: flex;
                                        flex-wrap: wrap;
                                        gap: 5px;
                                    }
            
                                    .case-card__tags span {
                                        display: inline-flex;
                                        align-items: center;
                                        min-height: 24px;
                                        padding: 3px 7px;
                                        background: #f8f8f8;
                                        color: #6d5628;
                                        font-size: 10px;
                                        font-weight: 700;
                                        line-height: 1.2;
                                    }
            
                                    .case-meta {
                                        margin-top: 10px;
                                        color: #777;
                                        font-size: 12px;
                                        letter-spacing: .08em;
                                    }
            
                                    .case-meta time {
                                        position: relative;
                                        display: inline-block;
                                        padding-left: 14px;
                                    }
            
                                    .case-meta time::before {
                                        content: "";
                                        position: absolute;
                                        left: 0;
                                        top: 50%;
                                        width: 8px;
                                        height: 1px;
                                        background: #b8933f;
                                    }
            
                                    .case-card__title {
                                        margin: 10px 0 0 !important;
                                        padding: 0 !important;
                                        border: 0 !important;
                                        background: none !important;
                                        color: #252525 !important;
                                        font-size: 14px !important;
                                        line-height: 1.6 !important;
                                        letter-spacing: .02em;
                                        font-weight: 700;
                                    }
            
                                    .case-no-result {
                                        display: none;
                                        margin: 24px 0 0;
                                        padding: 28px;
                                        background: #fff;
                                        border: 1px dashed rgba(0,0,0,.24);
                                        color: #555;
                                        text-align: center;
                                    }
            
                                    .case-no-result.is-show {
                                        display: block;
                                    }
            
                                    .case-contact-band {
                                        margin: 60px 0 0;
                                        padding: clamp(28px, 5vw, 52px);
                                        background: #1f1f1f;
                                        color: #fff;
                                        text-align: center;
                                    }
            
                                    .case-contact-band h2 {
                                        margin: 0 0 14px;
                                        font-size: clamp(22px, 3vw, 34px);
                                        letter-spacing: .06em;
                                    }
            
                                    .case-contact-band p {
                                        margin: 0 auto 24px;
                                        max-width: 760px;
                                        line-height: 1.9;
                                        color: rgba(255,255,255,.82);
                                    }
            
                                    .case-contact-band__links {
                                        display: flex;
                                        flex-wrap: wrap;
                                        gap: 12px;
                                        justify-content: center;
                                    }
            
                                    .case-contact-band__links a {
                                        display: inline-flex;
                                        align-items: center;
                                        justify-content: center;
                                        min-width: 220px;
                                        min-height: 52px;
                                        padding: 12px 22px;
                                        background: #fff;
                                        color: #1f1f1f !important;
                                        font-weight: 800;
                                    }
            
                                    .case-contact-band__links a:nth-child(2) {
                                        background: transparent;
                                        color: #fff !important;
                                        border: 1px solid rgba(255,255,255,.5);
                                    }
            
                                    @media (max-width: 980px) {
                                        #projectresult.case-portal {
                                            width: min(100% - 28px, 760px);
                                        }
            
                                        .case-portal__hero,
                                        .case-filter-panel,
                                        .case-section__head {
                                            grid-template-columns: 1fr;
                                        }
            
                                        .case-portal__visual {
                                            min-height: 360px;
                                        }
            
                                        .case-pickup__grid,
                                        #projectresult.case-portal .case-archive__list {
                                            grid-template-columns: repeat(2, minmax(0, 1fr));
                                        }
            
                                        .case-toolbar {
                                            position: sticky;
                                            top: 0;
                                            z-index: 20;
                                            grid-template-columns: 1fr;
                                        }
            
                                        .case-result-count {
                                            white-space: normal;
                                        }
                                    }
            
                                    @media (max-width: 640px) {
                                        #projectresult.case-portal {
                                            width: calc(100% - 20px);
                                            margin-bottom: 52px;
                                        }
            
                                        .case-portal__hero {
                                            min-height: auto;
                                            margin-top: 14px;
                                            padding: 24px 16px;
                                        }
            
                                        .case-portal__lead {
                                            font-size: 14px;
                                            line-height: 1.9;
                                        }
            
                                        .case-portal__stats li {
                                            min-width: auto;
                                            width: auto;
                                            padding: 10px 14px 10px 0;
                                            margin-right: 16px;
                                        }
            
                                        .case-portal__visual {
                                            min-height: 220px;
                                        }
            
                                        .case-portal__visual::before {
                                            inset: 0 0 18px 56px;
                                        }
            
                                        .case-portal__visual-main {
                                            width: 78%;
                                            height: 180px;
                                        }
            
                                        .case-portal__visual-sub {
                                            width: 44%;
                                            border-width: 4px;
                                        }
            
                                        .case-section__text {
                                            margin-top: 8px;
                                            font-size: 13px;
                                        }
            
                                        .case-filter-panel {
                                            grid-template-columns: 1fr;
                                            gap: 14px;
                                        }
            
                                        .case-filter-box {
                                            padding-top: 14px;
                                        }
            
                                        .case-filter-grid {
                                            gap: 8px 10px;
                                        }
            
                                        .case-filter {
                                            min-height: 34px;
                                            padding: 7px 10px;
                                        }
            
                                        .case-filter span {
                                            font-size: 12px;
                                        }
            
                                        .case-pickup__grid,
                                        #projectresult.case-portal .case-archive__list {
                                            grid-template-columns: repeat(2, minmax(0, 1fr));
                                            gap: 12px;
                                        }
            
                                        .case-card__body,
                                        .case-pickup__body {
                                            padding: 12px;
                                        }
            
                                        .case-card__tags span {
                                            font-size: 10px;
                                            padding: 3px 6px;
                                        }
            
                                        .case-card__title,
                                        .case-pickup__body h3 {
                                            font-size: 13px !important;
                                            line-height: 1.55 !important;
                                        }
                                    }
            
                                    @media (max-width: 360px) {
                                        .case-pickup__grid,
                                        #projectresult.case-portal .case-archive__list {
                                            grid-template-columns: 1fr;
                                        }
                                    }
                                    /* =========================
                                      Radius OFF（角丸完全なし）
                                    ========================= */
                                    .card, .btn, .pill, .hero-badge,
                                    .kmw-main, .kmw-thumb,
                                    .price, .spec-table, .note, .kmw-contactCard{
                                      border-radius:0 !important;
                                    }
            
                                    #breadcrumbs{
                                      display: block !important;
                                      width: 100%;
                                      max-width: 1200px;
                                      margin: 0 auto 18px;
                                      padding: 18px 20px 0;
                                      box-sizing: border-box;
                                      font-size: 13px;
                                    }
            
                                    #breadcrumbs ol{
                                      display: flex !important;
                                      flex-wrap: wrap;
                                      gap: 8px;
                                      margin: 0;
                                      padding: 0;
                                      list-style: none;
                                    }
            
                                    #breadcrumbs li{
                                      display: flex !important;
                                      align-items: center;
                                      gap: 8px;
                                      color: #666;
                                    }
            
                                    #breadcrumbs li:not(:last-child)::after{
                                      content: ">";
                                      color: #999;
                                      font-size: 11px;
                                    }
            
                                    #breadcrumbs a{
                                      color: #666;
                                      text-decoration: none;
                                    }
            
                                    #breadcrumbs a:hover{
                                      color: #222;
                                    }
                                    .case-guide-links {
                                        margin-top: 56px;
                                    }
            
                                    .case-guide-links__grid {
                                        display: grid;
                                        grid-template-columns: repeat(4, minmax(0, 1fr));
                                        gap: 12px;
                                    }
            
                                    .case-guide-link {
                                        display: block;
                                        padding: 16px 18px;
                                        background: #fff;
                                        border: 1px solid #d8d5cf;
                                        transition: border-color .2s ease, background .2s ease;
                                    }
            
                                    .case-guide-link:hover {
                                        border-color: #b8933f;
                                        background: #f8f8f8;
                                    }
            
                                    .case-guide-link span {
                                        display: block;
                                        color: #222;
                                        font-size: 14px;
                                        font-weight: 700;
                                        line-height: 1.5;
                                    }
            
                                    .case-guide-link em {
                                        display: block;
                                        margin-top: 6px;
                                        color: #777;
                                        font-size: 11px;
                                        font-style: normal;
                                        line-height: 1.5;
                                    }
            
                                    @media (max-width: 980px) {
                                        .case-guide-links__grid {
                                            grid-template-columns: repeat(2, minmax(0, 1fr));
                                        }
                                    }
            
                                    @media (max-width: 480px) {
                                        .case-guide-links__grid {
                                            grid-template-columns: 1fr;
                                        }
                                    }

                                    /* =========================
                                       共通ヘッダー・トップナビ復旧
                                       検索ボックスは下部固定せず、一覧上部で追従
                                    ========================= */

                                    :root {
                                        --caseToolbarTop: 74px;
                                    }

                                    body {
                                        padding-bottom: 0 !important;
                                    }

                                    .case-portal-main,
                                    #projectresult.case-portal,
                                    #case-list-area,
                                    .case-archive,
                                    .case-archive__nav {
                                        overflow: visible !important;
                                    }

                                    .case-toolbar {
                                        position: -webkit-sticky !important;
                                        position: sticky !important;
                                        top: var(--caseToolbarTop) !important;
                                        left: auto !important;
                                        right: auto !important;
                                        bottom: auto !important;
                                        transform: none !important;
                                        width: auto !important;
                                        z-index: 900 !important;
                                        align-self: start;
                                    }

                                    .case-back-to-top {
                                        position: fixed;
                                        right: 24px;
                                        bottom: 24px;
                                        z-index: 10000;
                                        display: flex;
                                        align-items: center;
                                        justify-content: center;
                                        width: 46px;
                                        height: 46px;
                                        background: #1f1f1f;
                                        color: #fff !important;
                                        border: 1px solid rgba(255,255,255,.35);
                                        font-size: 18px;
                                        line-height: 1;
                                        text-decoration: none;
                                        opacity: 0;
                                        visibility: hidden;
                                        transform: translateY(10px);
                                        transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background .2s ease;
                                    }

                                    .case-back-to-top.is-visible {
                                        opacity: 1;
                                        visibility: visible;
                                        transform: translateY(0);
                                    }

                                    .case-back-to-top:hover {
                                        background: #b8933f;
                                    }

                                    /* STEP共通ヘッダー・黒帯ナビ・スマホメニューを必ず前面へ */
                                    header,
                                    #header,
                                    .header,
                                    .l-header,
                                    .global-nav,
                                    #global-nav,
                                    #gnav,
                                    #globalNavi,
                                    .gnav,
                                    .nav,
                                    .drawer,
                                    .drawer-menu,
                                    .hamburger,
                                    .menu-trigger {
                                        z-index: 10000 !important;
                                    }

                                    @media (max-width: 980px) {
                                        :root {
                                            --caseToolbarTop: 70px;
                                        }

                                        .case-toolbar {
                                            grid-template-columns: minmax(0, 1fr) auto !important;
                                            gap: 8px 10px !important;
                                            padding: 8px 10px !important;
                                            margin: 0 0 18px !important;
                                            background: rgba(255,255,255,.96);
                                            z-index: 900 !important;
                                        }

                                        .case-search {
                                            grid-column: 1 / -1;
                                            min-height: 38px !important;
                                            padding: 8px 12px !important;
                                            font-size: 13px !important;
                                        }

                                        .case-result-count {
                                            align-self: center;
                                            font-size: 12px !important;
                                            line-height: 1.4;
                                        }

                                        .case-reset {
                                            min-height: 34px !important;
                                            padding: 7px 14px !important;
                                            font-size: 12px !important;
                                            line-height: 1.2;
                                            white-space: nowrap;
                                        }
                                    }

                                    @media (max-width: 640px) {
                                        :root {
                                            --caseToolbarTop: 72px;
                                        }

                                        .case-back-to-top {
                                            right: 14px;
                                            bottom: 14px;
                                            width: 42px;
                                            height: 42px;
                                            font-size: 16px;
                                        }
                                    }

                                    @media (max-width: 360px) {
                                        .case-toolbar {
                                            grid-template-columns: 1fr !important;
                                        }

                                        .case-reset {
                                            width: 100%;
                                        }
                                    }


                                    /* =========================
                                       タグ順フィルター 1〜19指定順表示
                                    ========================= */
                                    .case-filter-panel {
                                        grid-template-columns: 1fr;
                                    }
            
                                    .case-filter-panel .case-filter-box {
                                        width: 100%;
                                    }
/* =========================
                                       スマホ用カテゴリタグ開閉
                                       19カテゴリを初期表示では折りたたむ
                                    ========================= */
                                    .case-filter-toggle {
                                        display: none;
                                    }

                                    @media (max-width: 640px) {
                                        .case-filter-box {
                                            padding-top: 12px;
                                        }

                                        .case-filter-box h3 {
                                            margin-bottom: 10px;
                                            font-size: 15px;
                                        }

                                        .case-filter-toggle {
                                            appearance: none;
                                            display: flex;
                                            width: 100%;
                                            align-items: center;
                                            justify-content: space-between;
                                            gap: 10px;
                                            min-height: 42px;
                                            padding: 9px 12px;
                                            border: 1px solid #cfc8bc;
                                            background: #fff;
                                            color: #222;
                                            font: inherit;
                                            font-size: 13px;
                                            font-weight: 700;
                                            cursor: pointer;
                                            text-align: left;
                                        }

                                        .case-filter-toggle::after {
                                            content: "＋";
                                            flex: 0 0 auto;
                                            color: #8a6d31;
                                            font-weight: 800;
                                        }

                                        .case-filter-box.is-open .case-filter-toggle::after {
                                            content: "－";
                                        }

                                        .case-filter-toggle em {
                                            flex: 1 1 auto;
                                            color: #777;
                                            font-size: 11px;
                                            font-style: normal;
                                            font-weight: 500;
                                            text-align: right;
                                            line-height: 1.4;
                                        }

                                        .case-filter-box .case-filter-grid {
                                            display: none;
                                            margin-top: 10px;
                                            padding: 10px;
                                            background: #fafafa;
                                            border: 1px solid #e2ded6;
                                            max-height: 46vh;
                                            overflow-y: auto;
                                            -webkit-overflow-scrolling: touch;
                                        }

                                        .case-filter-box.is-open .case-filter-grid {
                                            display: flex;
                                        }

                                        .case-filter-box .case-filter {
                                            min-height: 32px;
                                            padding: 6px 9px;
                                        }

                                        .case-filter-box .case-filter span {
                                            font-size: 11px;
                                        }

                                        .case-filter-box .case-filter em {
                                            font-size: 10px;
                                        }
                                    }

									.case-random-media__grid {
										display: grid;
										grid-template-columns: 1fr 1fr;
										gap: 24px;
									}

									.case-random-media__box {
										border-top: 1px solid #ddd7cd;
										padding-top: 18px;
									}

									.case-random-media__box h3 {
										margin: 0 0 14px;
										font-size: 17px;
									}

									.case-blog-random-grid,
									.case-instagram-grid {
										display: grid;
										grid-template-columns: repeat(2, minmax(0, 1fr));
										gap: 14px;
									}

									.case-blog-random-item,
									.case-instagram-grid a {
										display: block;
										border: 1px solid #d8d5cf;
										background: #fff;
										color: inherit;
										text-decoration: none;
									}

									.case-blog-random-item img,
									.case-instagram-grid img {
										width: 100%;
										aspect-ratio: 4 / 3;
										object-fit: cover;
									}

									.case-blog-random-item__body,
									.case-instagram-grid span {
										display: block;
										padding: 12px;
									}

									.case-blog-random-item time {
										display: block;
										margin-bottom: 6px;
										color: #777;
										font-size: 12px;
									}

									.case-blog-random-item h4 {
										margin: 0;
										font-size: 13px;
										line-height: 1.6;
									}

									@media (max-width: 780px) {
										.case-random-media__grid {
											grid-template-columns: 1fr;
										}
									}
