@media (max-width: 1024px) {
    .page-hero {
        padding-top: 145px;
    }

    .article-layout,
    .feature-row,
    .message-layout,
    .split-lead,
    .access-block,
    .strength-feature,
    .plating-guide > .content-wrap,
    .new-product-hero {
        grid-template-columns: 1fr;
    }

    .article-layout > .contact-card {
        position: static;
    }

    .feature-row:nth-child(even) img,
    .strength-feature.is-reverse .strength-feature-image {
        order: 0;
    }

    .contact-layout {
        grid-template-columns: 1fr;
    }

    .role-grid,
    .number-grid,
    .flow-grid,
    .team-flow-line {
        grid-template-columns: repeat(2, 1fr);
    }

    .strength-feature-image {
        min-height: 390px;
    }

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

    .plating-guide-visual img {
        min-height: 420px;
        border-radius: 100px 20px;
    }

    .new-product-detail-grid {
        grid-template-columns: 1fr 1fr;
    }

    .recruit-collage {
        grid-template-columns: 1fr 1fr;
    }

    .recruit-collage > div {
        grid-column: 1 / -1;
    }

    .recruit-role-list article {
        grid-template-columns: 1fr 1fr;
    }

    .product-category-showcase .content-wrap {
        grid-template-columns: 1fr;
    }

    .product-category-panel {
        grid-template-columns: 38% 62%;
    }

    .new-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .new-product-grid .new-product-feature:first-child {
        grid-template-columns: 1fr 1fr;
    }

    .strengths-intro-layout {
        grid-template-columns: 1fr 1fr;
    }

    .strengths-intro-visual {
        min-height: 410px;
        grid-column: 1 / -1;
    }

    .strength-feature-stage {
        background-attachment: scroll;
    }

    .strength-feature-stage .strength-feature,
    .strength-feature-stage .strength-feature.is-reverse {
        grid-template-columns: 1fr;
    }

    .strength-feature-stage .strength-feature.is-reverse .strength-feature-image {
        order: 0;
    }

    .flow-grid {
        gap: 28px;
    }

    .flow-step:nth-child(2)::after {
        display: none;
    }

    .plating-guide-heading {
        grid-template-columns: 1fr;
    }

    .plating-guide-heading p {
        grid-column: 1;
        grid-row: auto;
    }

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

    .strengths-intro-layout,
    .company-profile-layout,
    .recruit-collage {
        grid-template-columns: 1fr;
    }

    .product-category-panel {
        height: 320px;
    }

    .product-category-overlay {
        opacity: 1;
        transform: none;
        background:linear-gradient(180deg,rgba(15,22,54,.18),rgba(28,34,76,.94));
    }

    .product-category-overlay .card-label,
    .product-category-overlay ul {
        display: none;
    }

    .product-category-overlay {
        justify-content:flex-end;
        pointer-events:none;
    }

    .product-category-overlay .button-component {
        align-self:flex-end;
        pointer-events:auto;
    }

    .new-product-archive-grid {
        grid-template-columns: 1fr;
    }

    .recruit-collage-images {
        min-height: 500px;
    }

    .selection-flow-layout {
        grid-template-columns: 90px minmax(0,1fr);
        gap:30px;
    }

    .selection-flow .team-flow-line {
        grid-template-columns:repeat(2,1fr);
        gap:36px;
    }

    .selection-flow-step:nth-child(2)::after {
        display:none;
    }
}

@media (max-width: 767px) {
    .content-wrap {
        width: min(calc(100% - 32px), var(--max));
    }

    .card-grid,
    .recruit-link-grid,
    .role-grid,
    .number-grid,
    .flow-grid,
    .case-grid,
    .new-product-detail-grid,
    .team-flow-line,
    .new-product-grid {
        grid-template-columns: 1fr;
    }

    .info-row {
        grid-template-columns: auto 1fr;
    }

    .info-row h2,
    .info-row p {
        grid-column: 1 / -1;
    }

    .feature-row img,
    .message-layout img {
        height: 270px;
    }

    .company-table > div,
    .timeline > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .section-heading {
        grid-template-columns: 1fr;
    }

    .content-card img {
        height: 220px;
    }

    .strength-feature {
        min-height: 0;
    }

    .strength-feature-image,
    .product-category-image,
    .new-product-feature-image {
        min-height: 230px;
    }

    .strength-feature-copy,
    .product-category-copy,
    .new-product-feature-copy {
        padding: 24px 20px;
    }

    .product-category-copy ul {
        grid-template-columns: 1fr;
    }

    .flow-grid article,
    .team-flow-line article {
        border-right: 0 !important;
    }

    .plating-guide-visual img {
        min-height: 300px;
        border-radius: 70px 16px;
    }

    .plating-points article {
        grid-template-columns: 1fr;
    }

    .access-block {
        padding: 22px;
    }

    .new-product-main-image {
        min-height: 300px;
    }

    .recruit-collage,
    .recruit-role-list article,
    .product-category-panel,
    .new-product-grid .new-product-feature:first-child {
        grid-template-columns: 1fr;
    }

    .recruit-collage > img,
    .recruit-collage > img:nth-child(2) {
        height: 300px;
    }

    .recruit-role-list article:nth-child(even) img {
        order: 0;
    }

    .recruit-role-list img {
        height: 280px;
    }

    .news-featured-image img {
        height: 250px;
    }

    .strengths-intro-layout {
        grid-template-columns: 1fr;
    }

    .strengths-intro-copy h2 {
        max-width: none;
    }

    .strengths-intro-visual {
        min-height: 330px;
    }

    .strength-feature-stage {
        background-attachment: scroll;
    }

    .strength-feature-stage .strength-feature,
    .strength-feature-stage .strength-feature.is-reverse {
        width: min(calc(100% - 32px), 1080px);
        grid-template-columns: 1fr;
    }

    .strength-feature-stage .strength-feature.is-reverse .strength-feature-image {
        order: 0;
    }

    .flow-grid {
        gap: 28px;
    }

    .flow-step {
        min-height: 500px;
    }

    .flow-step:not(:last-child)::after {
        top: auto;
        right: calc(50% - 17px);
        bottom: -27px;
        transform: rotate(90deg);
    }

    .case-grid article:nth-child(2) {
        margin-top: 0;
    }

    .plating-guide-heading {
        grid-template-columns: 1fr;
    }

    .plating-guide-heading p {
        grid-column: 1;
        grid-row: auto;
    }

    .plating-tab-list,
    .plating-tab-panel {
        grid-template-columns: 1fr;
    }

    .plating-tab-list button {
        border-right: 0;
        border-bottom: 1px solid rgba(30,42,94,.12);
        text-align: left;
    }

    .plating-tab-panel {
        min-height: 0;
    }

    .plating-tab-panel img {
        min-height: 250px;
        height: 250px;
    }

    .plating-consultation-cta {
        padding: 22px;
        align-items: stretch;
        flex-direction: column;
    }

    .new-products-compact-grid {
        grid-template-columns: 1fr;
    }

    .recruit-link-grid .recruit-link-banner,
    .recruit-link-banner-overlay {
        min-height: 290px;
    }

    .recruit-link-banner-overlay {
        width: 100%;
        padding: 30px 24px;
    }

    .consultation-cases .case-grid,
    .new-product-archive-grid {
        grid-template-columns:1fr;
    }

    .consultation-toggle {
        min-height:150px;
        padding:24px 22px;
    }

    .flow-grid {
        padding-top:15px;
    }

    .flow-step:hover,
    .flow-step:focus-within {
        transform:none;
    }

    .product-category-panel {
        height:290px;
    }

    .plating-consultation-cta {
        padding:30px 22px 24px;
    }

    .new-product-archive-card {
        grid-template-columns:1fr;
    }

    .new-product-archive-image {
        height:210px;
    }

    .company-profile-layout {
        margin-top:55px;
    }

    .recruit-collage-images {
        min-height:360px;
    }

    .recruit-collage-images img:first-child {
        width:86%;
        height:72%;
    }

    .recruit-collage-images img:last-child {
        width:62%;
        height:50%;
    }

    .selection-flow-layout {
        grid-template-columns:1fr;
    }

    .selection-flow-label {
        padding-bottom:20px;
        border-right:0;
        border-bottom:1px solid #d8d5ce;
        flex-direction:row;
        gap:18px;
    }

    .selection-flow-label span,
    .selection-flow-label strong {
        margin:0;
        writing-mode:horizontal-tb;
    }

    .selection-flow .team-flow-line {
        grid-template-columns:1fr;
    }

    .selection-flow-step:not(:last-child)::after {
        top:auto;
        right:calc(50% - 10px);
        bottom:-32px;
        content:"↓";
    }

    .selection-flow-step>span {
        width:180px;
    }

    .recruit-link-banner-overlay {
        gap: 18px;
        flex-direction: row;
    }

    .recruit-link-banner-text strong {
        font-size: 1.7rem;
    }

    .recruit-link-banner-text em {
        font-size: .86rem;
    }

    .recruit-link-banner-overlay b {
        flex-basis: 46px;
        width: 46px;
        height: 46px;
    }

    .lower-main .page-eyebrow {
        margin-bottom: -14px;
        font-size: clamp(2rem, 12vw, 3.8rem);
        white-space: normal;
    }

    .page-hero .page-eyebrow {
        margin-bottom: -18px;
    }

    .product-category-overlay {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 42%;
        border-top: 1px solid rgba(255,255,255,.25);
        border-left: 0;
        box-shadow: none;
    }

    .plating-process-tabs {
        box-shadow: 10px 12px 0 rgba(8,13,36,.22);
    }

    .plating-tab-list button {
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .plating-tab-panel img {
        border-right: 0;
        border-bottom: 1px solid #d4d6e2;
    }

    .lower-main .card-label,
    .lower-main .section-heading > span {
        margin-bottom: -12px;
        font-size: clamp(1.9rem, 10vw, 3.5rem);
        white-space: normal;
    }

    .content-card .card-label,
    .new-product-feature .card-label,
    .product-category-overlay .card-label,
    .new-product-detail-grid .card-label {
        margin-bottom: -5px;
        font-size: 1.45rem;
    }

    .company-block > .page-eyebrow + h2,
    .company-block > h2 {
        margin-bottom: 26px;
    }

    .company-history-narrow {
        margin-top: 70px;
    }

    .section-title {
        margin-bottom: 34px;
    }

    .section-title__en {
        margin-bottom: -12px;
        font-size: clamp(2rem, 12vw, 3.8rem);
        white-space: nowrap;
    }

    .section-title--left .section-title__en,
    .section-title--compact .section-title__en {
        margin-bottom: -12px;
    }

    .section-title__en--long,
    .section-title--compact .section-title__en--long {
        font-size: clamp(1.35rem, 6.3vw, 2.7rem);
        letter-spacing: -0.025em;
    }

    .archive-card-grid,
    .staff-archive-grid {
        grid-template-columns: 1fr;
    }

    .section-title,
    .section-title--center,
    .section-title--left,
    .section-title--compact,
    .company-block > .section-title,
    .company-history-narrow > .section-title,
    .company-access-panel .section-title,
    .message-layout .section-title {
        margin-bottom: 34px;
    }

    .section-title__en,
    .section-title--center .section-title__en,
    .section-title--left .section-title__en,
    .section-title--compact .section-title__en {
        margin-bottom: -12px;
    }
}

@media (max-width: 1100px) {
    .product-category-panel {
        height: 360px;
    }

    .new-product-detail-page .new-product-hero {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
        gap: 34px;
    }
}

@media (max-width: 767px) {
    .product-category-panel {
        height: 320px;
    }

    .new-product-detail-page .new-product-hero {
        grid-template-columns: 1fr;
    }

    .new-product-image-frame {
        aspect-ratio: 4 / 3;
        border-radius: 18px;
    }

    .new-product-summary {
        padding-top: 0;
    }

    .new-product-detail-category {
        margin-bottom: 22px;
    }

    .product-detail-image {
        padding: 14px;
    }

    .recruit-collage-images {
        min-height: 0;
        aspect-ratio: 1.12 / 1;
    }

    .recruit-collage-images img:first-child {
        width: 84%;
        height: auto;
    }

    .recruit-collage-images img:last-child {
        width: 62%;
        height: auto;
    }

    .recruit-role-list .recruit-role-image img {
        min-height: 0;
        aspect-ratio: 3 / 2;
    }

    .recruit-role-list article:nth-child(even) .recruit-role-image {
        order: 0;
    }

    .staff-detail-image {
        padding: 12px;
    }
}

@media (max-width: 1024px) {
    .requirements-switch-layout {
        grid-template-columns: 1fr;
    }

    .requirements-role-banner {
        min-height: 360px;
        aspect-ratio: 4 / 3;
    }

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

@media (max-width: 767px) {
    .requirements-switch-tabs {
        gap: 8px;
    }

    .requirements-switch-tab {
        min-width: 0;
        padding: 12px 36px 12px 10px;
    }

    .requirements-switch-control {
        margin-top: -10px;
        align-items: flex-start;
        flex-direction: column;
    }

    .requirements-staff-banner-grid {
        grid-template-columns: 1fr;
    }

    .requirements-staff-banner,
    .requirements-role-banner {
        border-radius: 0;
    }

    .requirements-staff-banner {
        min-height: 230px;
    }

    .requirements-role-banner {
        min-height: 230px;
        aspect-ratio: 4 / 3;
    }

    .requirements-banner-list {
        grid-template-columns: 1fr;
    }

    .requirements-staff-banner__body {
        right: 18px;
        bottom: 18px;
        left: 18px;
    }
}

/* 2026-06-23 lower-page responsive finishing */
@media (max-width: 1024px) {
    html,
    body {
        overflow-x: hidden;
    }

    .lower-main,
    .content-section,
    .page-hero,
    .staff-profile-page,
    .contact-section {
        overflow-x: hidden;
    }

    .content-wrap,
    .staff-profile-content .content-wrap,
    .contact-result-card {
        width: min(calc(100% - 40px), var(--max));
    }

    .contact-intro,
    .contact-layout,
    .staff-character-layout,
    .staff-profile-hero__layout,
    .staff-block-content > .staff-editor-profile,
    .staff-block-content > .staff-editor-interview__inner,
    .product-detail-page .article-layout,
    .new-product-detail-page .new-product-hero,
    .new-product-detail-grid,
    .product-category-showcase .content-wrap,
    .plating-tab-panel,
    .company-profile-layout {
        grid-template-columns: 1fr;
    }

    .contact-guide,
    .staff-character-visual {
        position: relative;
        top: auto;
    }

    .staff-profile-page,
    .staff-profile-content,
    .strength-feature-stage {
        background-attachment: scroll;
    }

    .staff-character-visual {
        min-height: 520px;
        height: auto;
    }

    .staff-character-gallery .staff-editor-gallery,
    .staff-photo-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .archive-card-grid,
    .staff-archive-grid,
    .new-product-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-detail-image img,
    .new-product-image-frame img,
    .staff-character-visual img,
    .staff-work-slider img {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .content-section {
        padding-top: clamp(52px, 14vw, 78px);
        padding-bottom: clamp(52px, 14vw, 78px);
    }

    .page-hero {
        padding-top: 124px;
        padding-bottom: 52px;
    }

    .content-wrap,
    .staff-profile-content .content-wrap,
    .contact-result-card {
        width: min(calc(100% - 32px), var(--max));
    }

    .section-title__en,
    .section-title--center .section-title__en,
    .section-title--left .section-title__en,
    .section-title--compact .section-title__en {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .contact-intro .section-title {
        margin-bottom: 14px;
    }

    .contact-guide,
    .form-panel,
    .contact-result-card {
        padding: 24px 20px;
        border-radius: 18px;
    }

    .contact-info-card,
    .contact-confirm-list > div,
    .staff-character-layout,
    .staff-character-gallery .staff-editor-gallery,
    .staff-photo-gallery,
    .archive-card-grid,
    .staff-archive-grid,
    .new-product-archive-grid,
    .product-detail-page .article-layout,
    .new-product-detail-grid,
    .company-profile-layout,
    .plating-tab-panel {
        grid-template-columns: 1fr;
    }

    .contact-step-list {
        grid-template-columns: 1fr;
    }

    .contact-confirm-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-confirm-actions button {
        width: 100%;
    }

    .staff-character-visual {
        min-height: 0;
        aspect-ratio: 4 / 5;
        border-radius: 18px 18px 58px 18px;
    }

    .staff-profile-hero__image,
    .staff-character-visual .staff-profile-hero__image {
        position: absolute;
        height: 100%;
        object-fit: cover;
    }

    .staff-character-info,
    .staff-character-questions .staff-editor-interview__inner,
    .staff-character-questions .staff-interview-section__inner {
        padding-right: 0;
        padding-left: 0;
    }

    .staff-work-slider {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .product-detail-image,
    .new-product-image-frame {
        aspect-ratio: 4 / 3;
    }

    .product-detail-image img,
    .new-product-image-frame img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .company-table,
    .timeline,
    .contact-form-grid {
        min-width: 0;
    }
}
