@charset "utf-8";

/* ============================================================
   Desktop composition layer

   The phone layout in page.css remains the source of truth below 768px.
   This file only recomposes that same content for wider screens: one
   shared content edge, compact section rhythm, and grids that use the
   available width instead of enlarging the mobile stack.
   ============================================================ */

@media screen and (min-width: 768px) {
    :root {
        --desktop-content: 1140px;
        --desktop-reading: 860px;
        --desktop-gutter: clamp(24px, 3vw, 40px);
        --desktop-section: clamp(48px, 4vw, 64px);
        --desktop-gap: clamp(18px, 2vw, 28px);
        --desktop-card: clamp(16px, 1.6vw, 22px);
        --desktop-edge: max(var(--desktop-gutter), calc((100% - var(--desktop-content)) / 2));
        --desktop-shell: calc(var(--desktop-content) + var(--desktop-gutter) * 2);
        --desktop-reading-shell: calc(var(--desktop-reading) + var(--desktop-gutter) * 2);
    }

    /* ---------- one content system ---------- */
    .inner {
        width: 100%;
        max-width: var(--desktop-shell);
        padding-inline: var(--desktop-gutter);
        margin-inline: auto;
        box-sizing: border-box;
    }

    #contents {
        max-width: none;
        border-inline: 0;
    }

    .header_inner {
        width: 100%;
        max-width: calc(var(--desktop-content) + var(--desktop-gutter) * 2);
        padding-inline: var(--desktop-gutter);
        margin-inline: auto;
    }

    .hd_logo img {
        width: 168px;
        margin-right: 16px;
    }

    .hd_link li {
        margin-right: 22px;
    }

    .hd_link li:last-child {
        margin-right: 0;
    }

    .hd_link li a img {
        height: 28px;
    }

    .hd_link li a span {
        font-size: 14px;
    }

    /* ---------- shared headings and vertical rhythm ---------- */
    .product_tit {
        padding: 28px 24px 34px;
        font-size: clamp(30px, 2.7vw, 38px);
        box-sizing: border-box;
    }

    .product_tit::before {
        bottom: 17px;
    }

    .hdm {
        margin-bottom: 24px;
    }

    .links,
    .some,
    .product_list,
    .about,
    .company {
        padding-block: var(--desktop-section);
    }

    .product,
    .reason,
    .change,
    .voice,
    .faq {
        padding-block: 0;
    }

    /* ========================================================
       Hero — the same assets, arranged as a compact information band
       ======================================================== */
    .mv {
        display: grid;
        grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: clamp(24px, 3vw, 44px);
        align-items: end;
        padding: 28px var(--desktop-edge) 24px;
        background: url("../images/top/bg_mv.png") repeat top center;
        background-size: 750px auto;
        box-sizing: border-box;
    }

    .mv_top {
        display: contents;
    }

    .mv_img {
        position: static;
        grid-column: 1;
        grid-row: 1 / span 2;
        align-self: end;
        margin: 0;
    }

    .mv_img img {
        display: block;
        width: 100%;
        max-width: 260px;
        margin: 0;
    }

    .mv_top .box {
        grid-column: 2;
        grid-row: 1;
        display: grid;
        grid-template-columns: minmax(180px, 0.8fr) minmax(260px, 1.2fr);
        column-gap: var(--desktop-gap);
        align-items: center;
        width: auto;
        position: static;
    }

    .mv_table {
        grid-column: 1 / -1;
        width: 100%;
        padding: 0;
    }

    .mv_table table td p {
        line-height: 28px;
        font-size: 14px;
    }

    .mv_tit {
        grid-column: 1;
        margin: 16px 0 0;
        font-size: 34px;
        text-align: left;
    }

    .mv_tit span {
        font-size: 19px;
    }

    .mv_list {
        grid-column: 2;
        margin-top: 16px;
    }

    .mv_list ul {
        justify-content: center;
        gap: 20px;
    }

    .mv_list li {
        width: min(132px, 45%);
    }

    .mv_main {
        grid-column: 2;
        grid-row: 2;
        display: grid;
        grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: var(--desktop-gap);
        align-items: center;
        padding: 14px 0 0;
    }

    .mv_main_tit {
        grid-column: 1;
        grid-row: 1;
        font-size: 19px;
    }

    .mv_main_tit span {
        font-size: 38px;
    }

    .mv_main_txt {
        grid-column: 1;
        grid-row: 2;
        font-size: 15px;
    }

    .mv_main_txt span {
        font-size: 27px;
    }

    .mv_main ul {
        grid-column: 2;
        grid-row: 1;
        gap: 10px;
    }

    .mv_main li {
        width: auto;
        flex: 1 1 0;
    }

    .mv_main li .listbox {
        padding: 8px 4px 6px;
    }

    .mv_main li .listtit {
        font-size: 17px;
    }

    .mv_main li .listprice {
        font-size: 14px;
    }

    .mv_main li .listprice span {
        font-size: 40px;
    }

    .mv_main_bottom {
        grid-column: 2;
        grid-row: 2;
        margin-top: 7px;
        font-size: 15px;
        background-size: 230px auto;
    }

    /* ========================================================
       Consultation CTA — split intro and two compact action rows
       ======================================================== */
    .links {
        padding-inline: var(--desktop-edge);
        background: var(--ground-tint);
        box-sizing: border-box;
    }

    .links_top {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        min-height: 330px;
        background: #fff;
        overflow: hidden;
    }

    .links_top .box {
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 30px clamp(24px, 3vw, 42px);
    }

    .links_top_tit {
        justify-content: flex-start;
    }

    .links_top_tit img {
        flex: 0 0 auto;
        width: 94px;
    }

    .links_top_tit span {
        margin-left: 12px;
        font-size: 18px;
    }

    .links_top_tit b {
        margin-top: 5px;
        font-size: clamp(46px, 4vw, 58px);
        white-space: nowrap;
    }

    .links_top_txt {
        margin: 18px 0 0;
        font-size: 16px;
        line-height: 1.65;
        text-align: left;
    }

    .links_top_img {
        height: 100%;
        min-height: 330px;
        overflow: hidden;
    }

    .links_top_img img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    .links_des {
        padding: 16px;
    }

    .links_des > ul {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
        padding: 28px;
    }

    .links_des > ul > li,
    .links_des > ul > li + li {
        min-width: 0;
        margin: 0;
    }

    .links_des > ul > li:nth-child(1) {
        grid-column: 1 / span 2;
    }

    .links_des > ul > li:nth-child(2) {
        grid-column: 3 / span 2;
    }

    .links_des > ul > li:nth-child(3) {
        grid-column: 1 / span 2;
    }

    .links_des > ul > li:nth-child(4) {
        grid-column: 3 / span 2;
    }

    .links_des .estimateBox {
        justify-content: center;
        min-height: 142px;
        height: 100%;
        padding: 28px 18px 14px;
        margin: 0;
        box-sizing: border-box;
    }

    .links_des .estimateBox .tit {
        min-height: 38px;
        height: auto;
        padding: 6px 16px;
        margin: -45px auto 0;
        font-size: 17px;
        text-align: center;
    }

    .links_des .estimateBox .tit .num {
        font-size: 34px;
    }

    .links_des .estimateBox dl {
        width: 100%;
        margin-top: 12px;
        justify-content: center;
    }

    .links_des .estimateBox dl dt {
        width: 78px;
        margin-right: 14px;
        font-size: 15px;
    }

    .links_des .estimateBox dl dt .icon_phone {
        margin-bottom: 2px;
    }

    .links_des .estimateBox dl dt .icon_phone img {
        width: 26px;
    }

    .links_des .estimateBox dl dd {
        flex: 0 1 auto;
    }

    .links_des .estimateBox dl dd .txt01 {
        font-size: 17px;
    }

    .links_des .estimateBox dl dd .txt01 .fsBig {
        font-size: 27px;
    }

    .links_des .estimateBox dl dd .txt02 {
        font-size: 13px;
    }

    .links_des .li_flex {
        height: 100%;
        align-items: stretch;
        gap: 12px;
    }

    .links_des .li_flex a {
        width: auto;
        flex: 1 1 0;
    }

    .links_des .li_flex img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .links_des .listbox,
    .links_des .last04 .listbox {
        height: 96px;
        padding-inline: 18px;
    }

    /* ---------- three-item prompt ---------- */
    .some {
        padding-bottom: 118px;
    }

    .some .inner {
        max-width: var(--desktop-shell);
    }

    .some ul {
        gap: var(--desktop-gap);
    }

    .some li {
        width: auto;
        flex: 1 1 0;
    }

    .some li .listbox {
        min-height: 150px;
        padding: 26px 16px 18px;
        box-sizing: border-box;
    }

    /* ========================================================
       Market section — graph and evidence side by side
       ======================================================== */
    .some_box {
        padding: 64px 0 52px;
        background-size: cover;
        background-position: center top;
    }

    .some_box .inner {
        display: grid;
        grid-template-columns: minmax(300px, 0.9fr) minmax(380px, 1.1fr);
        grid-template-areas:
            "title title"
            "chance chance"
            "chart details";
        column-gap: clamp(34px, 4vw, 58px);
        row-gap: 12px;
        max-width: var(--desktop-shell);
        text-align: center;
    }

    .some_box_pos {
        left: 50%;
        width: min(620px, 62vw);
        transform: translateX(-50%);
    }

    .some_box_tit01 {
        grid-area: title;
        font-size: 29px;
    }

    .some_box_tit02 {
        grid-area: chance;
        margin: 2px 0 10px;
        font-size: 52px;
    }

    .some_box_img {
        grid-area: chart;
        align-self: center;
    }

    .some_box_img img {
        display: block;
        width: min(100%, 430px);
        height: auto;
        margin-inline: auto;
    }

    .some_des {
        grid-area: details;
        align-self: center;
        margin: 0;
        padding: 24px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 12px;
        background: rgba(8, 3, 31, 0.42);
        box-sizing: border-box;
    }

    .some_des_tit {
        font-size: 27px;
    }

    .some_des_txt {
        margin: 14px 0 12px;
        font-size: 17px;
    }

    .some_des_img img,
    .some_num_txt img {
        width: 100%;
        height: auto;
    }

    .some_des_txt02 {
        margin: 12px 0;
        font-size: 25px;
    }

    .some_num_txt02 {
        font-size: 24px;
        background-size: min(100%, 396px) auto;
    }

    /* ========================================================
       Product categories — six across, not enlarged mobile rows
       ======================================================== */
    .product_list {
        background: var(--ground-tint);
    }

    .product_list .inner,
    .product_box .inner,
    .about .inner {
        max-width: var(--desktop-shell);
    }

    .product_list .hdm {
        margin: 12px 0 24px;
    }

    .product_list .list01 ul {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 16px;
    }

    .product_list .list01 li {
        width: auto;
        margin: 0;
    }

    .product_list .list01 li .listbox {
        height: 100%;
        padding-bottom: 10px;
    }

    .product_list .list01 li .listimg img {
        width: 100%;
        height: auto;
    }

    .product_list .list02 ul {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 16px;
        margin-top: 24px;
    }

    .product_list .list02 li {
        width: auto;
        margin: 0;
        text-align: center;
    }

    .product_list .list02 .listimg img {
        width: min(100%, 165px);
        height: auto;
    }

    .product_list_txt {
        margin-top: 26px;
        font-size: 16px;
        line-height: 1.8;
    }

    /* ---------- purchase examples ---------- */
    .product_box {
        padding: 42px 0 46px;
    }

    .product_box .inner {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--desktop-gap);
        align-items: stretch;
    }

    .product_box .inner > .com_tit,
    .product_box .inner > .fs14 {
        grid-column: 1 / -1;
    }

    .product_box .com_tit {
        margin-bottom: 0;
    }

    .product_box dl,
    .product_box dl + dl {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: var(--desktop-card);
        margin: 0;
    }

    .product_box dt,
    .product_box dd {
        width: 100%;
    }

    .product_box dt img {
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .product_box dd {
        flex: 1 1 auto;
        padding: 14px 0 0;
    }

    .product_box dd .dd_tit {
        margin-top: 10px;
        font-size: 14px;
    }

    .product_box dd .dd_txt {
        font-size: 15px;
    }

    .product_box dd .dd_price {
        margin-top: 3px;
        font-size: 20px;
    }

    .product_box dd .dd_price span {
        font-size: clamp(30px, 3vw, 38px);
    }

    /* ========================================================
       Reasons — compact editorial cards in a 2 x 2 grid
       ======================================================== */
    .reason {
        margin-top: 0;
    }

    .reason .com_tit {
        top: -18px;
    }

    .reason_box {
        padding: 46px 0;
        background-size: 750px auto;
    }

    .reason_box .inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--desktop-gap);
        padding-inline: var(--desktop-gutter);
    }

    .reason_cont,
    .reason_cont + .reason_cont {
        display: grid;
        grid-template-columns: minmax(150px, 0.42fr) minmax(0, 0.58fr);
        gap: 18px;
        align-items: start;
        margin: 0;
        padding: 18px;
        border: 1px solid #e2dfc7;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.82);
        box-sizing: border-box;
    }

    .reason_img {
        height: 100%;
        min-height: 250px;
        border-bottom-width: 4px;
        overflow: hidden;
    }

    .reason_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .reason_des {
        margin-top: 0;
    }

    .reason_des .des_img {
        width: 52px;
        flex: 0 0 52px;
    }

    .reason_des .des {
        width: calc(100% - 52px);
        padding-left: 12px;
    }

    .reason_des .des_tit {
        font-size: 18px;
    }

    .reason_des .des_txt,
    .reason_des .des li {
        font-size: 14px;
        line-height: 1.75;
    }

    .reason_txt {
        grid-column: 1 / -1;
        margin-top: 0;
        font-size: 14px;
    }

    /* ========================================================
       Purchase methods — parallel service cards on full desktop
       ======================================================== */
    .change_box {
        padding: 48px 0;
        background: #fff;
    }

    .change_box > .inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--desktop-gap);
        align-items: start;
        padding-inline: var(--desktop-gutter);
    }

    .change_in {
        min-width: 0;
        padding: 12px;
        border: 1px solid #d7dbea;
        border-radius: 12px;
        box-shadow: 0 14px 32px rgba(16, 1, 105, 0.08);
    }

    .change_top > p:first-child {
        height: 176px;
        overflow: hidden;
        border-radius: 7px 7px 0 0;
    }

    .change_top > p:first-child img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .change_top .pos02,
    .change_in .change_top01 .pos02 {
        top: -22px;
        width: 112px;
    }

    .change_cont {
        padding: 32px 20px 22px;
    }

    .change_cont_tit {
        margin-bottom: 14px;
        font-size: 36px;
    }

    .change_cont_tit span {
        margin-right: 9px;
        font-size: 23px;
    }

    .change_cont_img img {
        display: block;
        width: 100%;
        aspect-ratio: 3 / 2;
        object-fit: cover;
        border-radius: 8px;
    }

    .change_cont .des_tit {
        margin-top: 16px;
        font-size: 20px;
    }

    .change_cont .des_txt,
    .change_case_txt {
        font-size: 15px;
        line-height: 1.8;
        word-break: normal;
    }

    .change_list {
        margin-top: 20px;
    }

    .change_list_tit {
        font-size: 17px;
        line-height: 40px;
    }

    .change_list_box {
        display: block;
        padding: 12px;
    }

    .change_list_box .list01,
    .change_list_box .list02 {
        margin: 0;
    }

    .change_list_box .list02 + .list02,
    .change_list_box .list01 + .list02 {
        margin-top: 10px;
    }

    .change_list_box .list01 li {
        padding: 18px 4px 11px;
        box-sizing: border-box;
    }

    .change_list_box .list01 li img {
        height: 34px;
    }

    .change_list_box .list01 li span,
    .change_list_box .list02 dt,
    .change_list_box .list02 dd {
        font-size: 14px;
    }

    .change_list_box .list02 dd {
        line-height: 38px;
    }

    .change_list_box .list03 li dd .ffNum {
        font-size: 27px;
    }

    .changes_map {
        margin-top: 16px;
    }

    .changes_map dd iframe {
        height: 240px;
        border-radius: 0 0 8px 8px;
    }

    .change_cont_pos {
        top: -46px;
        width: 72%;
        margin: 0 auto -46px;
    }

    .change_cont_pos img {
        width: 100%;
        height: auto;
    }

    .change_case {
        margin-top: 18px;
    }

    .change_case_tit {
        font-size: 21px;
        line-height: 46px;
    }

    .change_case_tit01 {
        margin: 20px 0 12px;
        font-size: 21px;
        background-size: min(100%, 320px) auto;
    }

    .change_case_tit01 span {
        font-size: 29px;
    }

    .changes_link {
        padding: 12px 12px 16px;
    }

    .changes_link_tit {
        padding-bottom: 10px;
        font-size: 17px;
    }

    .changes_link ul {
        padding: 12px;
    }

    .change .estimateBox {
        padding: 14px 12px;
        margin-top: 0;
    }

    .change .estimateBox dl dt {
        width: 62px;
        margin-right: 10px;
        font-size: 13px;
    }

    .change .estimateBox dl dt .icon_phone img {
        width: 22px;
    }

    .change .estimateBox dl dd .txt01 {
        font-size: 15px;
    }

    .change .estimateBox dl dd .txt01 .fsBig {
        font-size: 23px;
    }

    .change .estimateBox dl dd .txt02 {
        font-size: 12px;
    }

    /* ---------- promise section ---------- */
    .about {
        background: var(--ground-tint);
    }

    .about > .inner {
        display: grid;
        grid-template-columns: minmax(300px, 0.72fr) minmax(460px, 1.28fr);
        column-gap: var(--desktop-gap);
        align-items: end;
    }

    .about .hdm {
        grid-column: 1 / -1;
    }

    .about_flex {
        margin-top: 0;
    }

    .about_flex_txt {
        margin-right: 16px;
        padding-bottom: 18px;
        font-size: 19px;
        line-height: 1.65;
    }

    .about_flex_img {
        width: 138px;
    }

    .about_box {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 12px;
    }

    .about_box dl,
    .about_box dl + dl {
        min-height: 112px;
        height: auto;
        margin: 0;
        padding: 14px;
    }

    .about_box dt {
        width: 54px;
        height: 54px;
        flex: 0 0 54px;
        font-size: 21px;
    }

    .about_box dd {
        width: auto;
        padding-left: 10px;
        font-size: 14px;
    }

    /* ---------- testimonials ---------- */
    .voice {
        padding-bottom: 48px;
    }

    .voice_box {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--desktop-gap);
        width: calc(100% - var(--desktop-gutter) * 2);
        max-width: var(--desktop-content);
        padding: 20px;
        margin: 48px auto 0;
    }

    .voice_box dl,
    .voice_box dl + dl {
        height: 100%;
        padding: 22px 18px 26px;
        margin: 0;
        box-sizing: border-box;
    }

    .voice_box dt .img {
        width: 68px;
        flex: 0 0 68px;
    }

    .voice_box dt .txt {
        width: auto;
        padding-left: 10px;
        font-size: 17px;
    }

    .voice_box dd {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.75;
    }

    /* ---------- FAQ and store information ---------- */
    .faq {
        padding-bottom: 48px;
        background: var(--ground-tint);
    }

    .faq_box {
        width: calc(100% - var(--desktop-gutter) * 2);
        max-width: var(--desktop-reading);
        padding: 12px;
        margin: 48px auto 0;
    }

    .faq_box dt {
        padding-block: 17px;
        font-size: 17px;
    }

    .faq_box dd {
        font-size: 15px;
    }

    .company_box {
        display: block;
        width: calc(100% - var(--desktop-gutter) * 2);
        max-width: var(--desktop-reading);
        margin-inline: auto;
    }

    .company_box dl,
    .company_box dl + dl {
        display: flex;
        width: 100%;
        margin-top: 1px;
    }

    .company_box dl:first-child {
        margin-top: 0;
    }

    .company_box dt {
        width: 180px;
        flex: 0 0 180px;
    }

    .company_box dd {
        width: auto;
        flex: 1 1 auto;
    }

    /* ---------- secondary pages and footer ---------- */
    .stores_box_tit {
        background-size: 214px auto;
    }

    .contact_box,
    .privacy_box {
        max-width: var(--desktop-reading);
        margin-inline: auto;
    }

    .thanks_page,
    .privacy_page {
        min-height: calc(100vh - var(--header-h));
    }

    #footer {
        padding-inline: var(--desktop-edge);
        background-size: 750px auto;
        box-sizing: border-box;
    }
}

/* Tablet keeps the desktop shell but avoids narrow multi-column cards. */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .mv {
        grid-template-columns: 220px minmax(0, 1fr);
        column-gap: 24px;
    }

    .mv_img img {
        max-width: 220px;
    }

    .mv_top .box {
        grid-template-columns: minmax(150px, 0.8fr) minmax(220px, 1.2fr);
    }

    .mv_tit {
        font-size: 29px;
    }

    .mv_list li {
        width: min(108px, 46%);
    }

    .mv_main {
        grid-template-columns: 170px minmax(0, 1fr);
    }

    .mv_main_tit span {
        font-size: 31px;
    }

    .mv_main li .listtit {
        font-size: 14px;
    }

    .mv_main li .listprice span {
        font-size: 32px;
    }

    .links_top {
        min-height: 290px;
    }

    .links_top_img {
        min-height: 290px;
    }

    .links_top_tit {
        align-items: flex-start;
    }

    .links_top_tit img {
        width: 72px;
    }

    .links_top_tit span {
        font-size: 15px;
    }

    .links_top_tit b {
        font-size: 39px;
    }

    .links_top_txt {
        font-size: 14px;
    }

    .links_des > ul {
        padding: 24px;
        gap: 16px;
    }

    .links_des .estimateBox dl dd .txt01 .fsBig {
        font-size: 22px;
    }

    .some_box .inner {
        grid-template-columns: minmax(270px, 0.9fr) minmax(330px, 1.1fr);
        column-gap: 28px;
    }

    .some_des {
        padding: 18px;
    }

    .product_list .list01 ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .product_list .list02 ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .product_box .inner {
        gap: 16px;
    }

    .reason_box .inner {
        grid-template-columns: 1fr;
    }

    .reason_cont,
    .reason_cont + .reason_cont {
        grid-template-columns: minmax(220px, 0.38fr) minmax(0, 0.62fr);
    }

    .change_box > .inner {
        grid-template-columns: 1fr;
        max-width: var(--desktop-reading-shell);
    }

    .change_top > p:first-child {
        height: 220px;
    }

    .about > .inner {
        grid-template-columns: minmax(240px, 0.68fr) minmax(420px, 1.32fr);
    }

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

    .about_box dl,
    .about_box dl + dl {
        min-height: 82px;
    }

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

    .voice_box dl:last-child {
        grid-column: 1 / -1;
    }
}

@media screen and (min-width: 1280px) {
    .links_top {
        min-height: 350px;
    }

    .links_top_img {
        min-height: 350px;
    }
}
