@media screen and (max-width: 1024px) and (min-width: 769px) {
    .hq__graph {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }

    .hq__graph--left,
    .hq__graph--right {
        width: 100%;
        max-width: 100%;
    }

    .hq__graph--left {
        flex: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .license-table {
        margin: 0 auto;
    }

    .hq__graph--right canvas,
    .hq__graph--right img,
    .hq__graph--right svg {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }
}

@media screen and (max-width: 1024px) {
    .footer-col.footer-col--cta {
        text-align: center;
    }
}

@media screen and (max-width: 768px) and (min-width: 431px) {

    /* =====================
       共通
    ===================== */
    html,
    body {
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    /* =====================
       ヘッダー
    ===================== */
    .site-header,
    .site-header__inner {
        position: relative;
    }

    .site-header__inner {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        column-gap: 12px;
        padding: 12px 16px;
    }

    h1.site-logo,
    p.site-logo {
        padding: 0;
        padding-top: 6px;
    }

    .site-logo img {
        display: block;
        width: auto;
        height: clamp(42px, 7vw, 56px);
    }

    #a11yTools.btn__wrapper {
        position: static;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin: 0 auto;
    }

    #a11yTools .btn.btn--change,
    #a11yTools .btn.btn--contact {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        height: 46px;
        padding: 0 14px;
        white-space: nowrap;
    }

    .hamburger {
        width: 46px;
        height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .hamburger__bar {
        width: 34px;
        height: 2px;
        margin: 4px 0;
    }

    #a11yPanel {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        width: auto;
        z-index: 10001;
    }

    .a11y-panel__inner {
        width: 100%;
        margin: 0;
        padding: 18px 16px 16px;
        background: #ffffff;
        border-radius: 0;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    }

    .a11y-panel__inner[role="group"] {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .a11y-item {
        min-height: 120px;
        padding: 16px 12px;
        font-size: 15px;
        line-height: 1.5;
    }

    .a11y-item__text {
        font-size: 15px;
    }

    /* =====================
       トップページ
    ===================== */
    section.hero {
        position: relative;
        min-height: 88vh;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: -40px;
        overflow: hidden;
    }

    .hero__media {
        position: absolute;
        inset: 0;
        background-position: center bottom 40px;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .hero__inner {
        position: relative;
        z-index: 2;
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        transform: translateY(-120px);
    }

    .hero__catch {
        margin: 0;
        font-size: 36px;
        line-height: 1.4;
        letter-spacing: 0.02em;
        text-align: center;
    }

    .hero__en {
        margin: 24px 0 0;
        font-size: 26px;
        line-height: 1.45;
        letter-spacing: 0.03em;
        text-align: center;
    }

    .hero__brand {
        margin: 22px auto 0;
        padding: 12px 28px 14px;
        font-size: 22px;
        line-height: 1.2;
        letter-spacing: 0.08em;
        border-radius: 999px;
    }

    section.top__content {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-top: -40px;
        overflow: hidden;
    }

    .top__content--introduction,
    .top__content--introduction .wrapper,
    section.top__content--topics .wrapper,
    section.top__content--contact .wrapper {
        width: 100%;
        max-width: 100%;
        padding: 0 28px;
    }

    .office-cards {
        display: grid;
        grid-template-columns: 1fr;
        gap: 36px;
        padding: 28px 0;
    }

    .office-card,
    .office-card__inner,
    .office-card img {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .office-card img {
        display: block;
        height: auto;
    }

    .delegate__img--name img {
        max-width: 180px;
    }

    .section-title {
        margin-bottom: 36px;
        text-align: center;
    }

    .section-title__inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .section-title .section-title__en,
    section.top__content .section-title__en {
        font-size: 20px;
        line-height: 1.2;
        text-align: center;
        margin-bottom: -4px;
    }

    .section-title .section-title__jp,
    section.top__content--introduction .section-title .section-title__jp {
        font-size: 34px;
        line-height: 1.2;
        display: flex;
        align-items: center;
        justify-content: center;
        letter-spacing: 0.02em;
        gap: 10px;
    }

    .section-title .section-title__jp::before,
    .section-title .section-title__jp::after,
    section.top__content--introduction .section-title .section-title__jp::before,
    section.top__content--introduction .section-title .section-title__jp::after {
        content: "";
        position: static !important;
        display: block;
        width: 62px;
        height: 3px;
        background: #0f6f86;
    }

    .section-title .section-title__jp::before,
    section.top__content--introduction .section-title .section-title__jp::before {
        transform: rotate(60deg);
    }

    .section-title .section-title__jp::after,
    section.top__content--introduction .section-title .section-title__jp::after {
        transform: rotate(-60deg);
    }

    .top-recruit {
        margin-top: -40px;
        padding: 0 24px 40px;
    }

    .top-recruit__inner {
        display: block;
    }

    .top-recruit .section-title {
        margin-bottom: 20px;
        text-align: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .top-recruit .top-recruit__more {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 10px;
        margin: 20px 0 0;
        grid-column: auto;
        justify-self: auto;
    }

    .top-recruit .top-recruit__more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 220px;
        padding: 14px 22px;
        font-size: 16px;
        line-height: 1.4;
        text-align: center;
        white-space: nowrap;
    }

    .top-recruit-slider .splide__track {
        overflow: visible;
    }

    .top-recruit-slider .splide__slide {
        display: flex;
        justify-content: center;
    }

    .top-recruit-slider .recruit-archive-card {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }

    .news-tabs,
    [data-office-tabs] .news-tabs {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
        width: 100%;
        margin-top: 24px;
    }

    .news-tab,
    [data-office-tabs] .news-tab {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        padding: 10px 12px;
        font-size: 15px;
        line-height: 1.3;
        text-align: center;
        white-space: normal;
        word-break: keep-all;
    }

    /* =====================
       page-id-664
    ===================== */
    body.page-id-664 section.section-block {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    body.page-id-664 section.section-block.first {
        margin-top: 0;
    }

    body.page-id-664 .section-title_en {
        font-size: 16px;
        line-height: 1.4;
        letter-spacing: 0.04em;
    }

    body.page-id-664 .section-title__jp {
        font-size: 32px;
        line-height: 1.2;
        gap: 8px;
    }

    body.page-id-664 h3.guidelines {
        font-size: 20px;
        line-height: 1.6;
        margin-top: 24px;
    }

    body.page-id-664 .section-block p {
        font-size: 17px;
        line-height: 1.8;
    }

    body.page-id-664 .company__profile--inner {
        padding: 32px 24px;
        border-radius: 24px;
        gap: 18px;
        text-align: left;
    }

    body.page-id-664 .company__profile--inner p {
        font-size: 17px;
        line-height: 1.9;
        margin: 0 0 18px;
    }

    body.page-id-664 .company__profile--inner p.date {
        text-align: right;
    }

    body.page-id-664 .company__profile--inner .delegate {
        display: flex;
        flex-flow: row;
        gap: 20px;
        align-items: flex-end;
    }

    body.page-id-664 .company__profile--inner .delegate__block {
        display: flex;
        flex-direction: column;
        white-space: nowrap;
    }
    body.page-id-664 .support-section__body {
        padding: 22px 22px 24px;
    }

    body.page-id-664 .support-section__body > div {
        padding: 20px 18px;
        border-radius: 16px;
        margin-bottom: 18px;
    }

    body.page-id-664 .support-section__body strong {
        font-size: 18px;
        margin-bottom: 10px;
    }

    body.page-id-664 .support-section__body li,
    body.page-id-664 .support-section__body p {
        font-size: 15px;
        line-height: 1.8;
    }

    body.page-id-664 .section-block.section-block--info {
        margin-top: -20px;
    }

    body.page-id-664 .section-block--info .office__name {
        width: 130px;
    }

    .office-hero__inner {
        min-height: 400px;
    }

    /* =====================
       アコーディオン
    ===================== */
    .accordion-title,
    .office-other-accordion__title {
        padding: 16px 64px 16px 16px;
        font-size: 18px;
        line-height: 1.5;
    }

    .accordion-title::after,
    .office-other-accordion__title::after {
        right: 16px;
        width: 32px;
        height: 32px;
        font-size: 30px;
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        display: inline-flex;
        align-items: flex-end;
        justify-content: center;
        width: 32px;
        height: 32px;
        font-size: 30px;
        font-weight: 400;
        line-height: 1;
        margin-right: 0;
    }

    .accordion-content,
    .office-other-accordion__content {
        padding: 0 20px 24px;
    }

    /* =====================
       HQ / 本社ページ
    ===================== */
    .hq {
        padding: 28px 0 40px;
    }

    .hq__graph {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
    }

    .hq__graph--left,
    .hq__graph--right {
        width: 100%;
        max-width: 100%;
    }

    .hq__graph--left {
        flex: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .license-table {
        margin: 0 auto;
    }

    .hq__graph--right canvas,
    .hq__graph--right img,
    .hq__graph--right svg {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .hq__graph--left {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .hq-access {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        display: flex;
        flex-direction: column;
    }

    .license-table {
        width: max-content;
        min-width: 100%;
        font-size: 13px;
        border-collapse: collapse;
    }

    .license-table th,
    .license-table td {
        padding: 8px 10px;
        white-space: nowrap;
    }

    .hq-timeline {
        --time-col: 74px;
        --gap: 16px;
        --line-x: calc(var(--time-col) + (var(--gap) / 2));
        --line-top: 100px;
        --line-bottom: 18px;
    }

    .hq-timeline__item,
    .hq-timeline__item--subhead {
        grid-template-columns: var(--time-col) 1fr;
        column-gap: var(--gap);
    }

    .hq-timeline__item {
        padding: 12px 0;
    }

    .hq-timeline__item--subhead {
        font-size: 17px;
        padding: 0 0 12px;
    }

    .hq-timeline__time {
        width: var(--time-col);
        min-width: var(--time-col);
    }

    .hq-timeline__desc {
        padding-left: 20px;
        line-height: 1.8;
        min-width: 0;
    }

    .hq-timeline__item:not(.hq-timeline__item--head):not(.hq-timeline__item--subhead)::after {
        left: var(--line-x);
        top: 0;
        margin-top: 24px;
        transform: translate(-50%, -50%);
    }

    .hq-timeline__note,
    .hq-page-section__content {
        height: auto;
        max-height: none;
        overflow: visible;
    }

    .hq-timeline__note {
        margin-top: -10px;
    }

    .hq-table,
    .hq-table tbody,
    .hq-table tr,
    .hq-table td,
    .hq-table th {
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .hq-table td:nth-child(1),
    .hq-table th:nth-child(1),
    .hq-table td:only-child,
    .hq-table th:only-child {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* =========================
       画像グリッド（2列）
    ========================= */
    td.job_img {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    /* =========================
       各画像ブロック
    ========================= */
    td.job_img .entry-image {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    /* =========================
       画像
    ========================= */
    td.job_img .entry-image img {
        display: block;
        width: 100%;
        height: 180px;
        object-fit: cover;
        margin: 0 auto 8px;
        border-radius: 12px;
    }

    /* =========================
       キャプション
    ========================= */
    td.job_img .entry-image figcaption {
        margin: 0 0 20px;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 600;
    }

    /* =====================
       page-hero 共通
    ===================== */
    body.page-id-19 .page-recruit-hero,
    body.page-id-666 .page-hero,
    body.single-recruit_job .page-hero,
    body.page-id-3 .page-hero {
        padding: 0 20px;
        background-position: center center;
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 260px;
        height: 260px;
    }

    .page-hero__inner {
        width: 100%;
        text-align: center;
    }

    body.page-id-19 .page-hero__title,
    body.page-id-666 .page-hero__title,
    body.single-recruit_job .page-hero__title,
    body.page-id-3 .page-hero__title {
        font-size: 42px;
        line-height: 1.4;
        letter-spacing: 0.12em;
        text-align: center;
    }

    /* =====================
       採用一覧ページ
    ===================== */
    body.page-id-19 .recruit-archive-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .recruit-archive-list {
        padding: 24px;
        margin-top: 24px;
    }

    .recruit-archive-card {
        border-radius: 16px;
        overflow: hidden;
    }

    .recruit-archive-card__image img {
        width: 100%;
        height: auto;
    }

    .recruit-archive-card__body {
        padding: 14px 14px 16px;
    }

    .recruit-archive-card__title {
        font-size: 17px;
        line-height: 1.45;
        margin-bottom: 8px;
        font-weight: 700;
    }

    .recruit-archive-card__meta {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-bottom: 10px;
    }

    .recruit-archive-card__office {
        font-size: 13px;
        padding: 10px 14px;
        border-radius: 999px;
        line-height: 1.2;
    }

    .recruit-archive-card__status {
        font-size: 12px;
        line-height: 1.3;
        padding: 8px 12px;
        border-radius: 999px;
        white-space: nowrap;
    }

    .recruit-archive-card__pr-list {
        margin-top: 8px;
    }

    .recruit-archive-card__pr-list li {
        font-size: 13px;
        line-height: 1.7;
        margin-bottom: 4px;
    }

    /* =====================
       採用詳細ページ
    ===================== */
    .recruit-hero__title {
        font-size: 28px;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 14px;
    }

    .recruit-hero__title rt {
        font-size: 11px;
    }

    .recruit-hero__lead {
        font-size: 14px;
        line-height: 1.9;
        margin-top: 14px;
        margin-bottom: 18px;
    }

    .recruit-nav a {
        font-size: 15px;
        padding: 10px 14px;
        border-radius: 999px;
    }

    .recruit__sign {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }

    .recruit__sign > div,
    .recruit__sign > .recruit__sign--yes,
    .recruit__sign > .recruit__sign--no {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        width: 200px;
        max-width: none;
        padding: 10px 12px;
        font-size: 12px;
        line-height: 1.3;
        border-radius: 999px;
        white-space: nowrap;
    }

    /* =====================
       フォーム
    ===================== */
    .cf7-contact-custom {
        width: 100%;
        max-width: 100%;
        margin-top: 32px;
        padding: 0 24px;
        box-sizing: border-box;
    }

    .cf7-contact-custom__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 28px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .cf7-row {
        display: block;
        width: 100%;
        margin-bottom: 24px;
    }

    .cf7-row__label {
        max-width: 260px;
        text-align: left;
        margin-top: 16px;
        margin-bottom: -10px;
    }

    .cf7-row__label p,
    .cf7-row__label label,
    .cf7-row__label span {
        font-size: 18px;
        line-height: 1.5;
    }

    .cf7-row__label p {
        display: inline-block;
        line-height: 1.5;
        letter-spacing: 0.02em;
        border: 0.5px solid #157595;
        padding: 10px 12px;
        background: #edebe1;
        border-radius: 10px;
    }

    .cf7-row__label rt {
        font-size: 10px;
        line-height: 1.2;
    }

    .cf7-row__label .required {
        display: inline-block;
        margin-left: 6px;
        font-size: 22px;
        font-weight: 700;
        line-height: 1;
        color: #e53935;
        vertical-align: middle;
    }

    .cf7-contact-custom input[type="text"],
    .cf7-contact-custom input[type="email"],
    .cf7-contact-custom input[type="tel"],
    .cf7-contact-custom input[type="url"],
    .cf7-contact-custom select,
    .cf7-contact-custom textarea {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        font-size: 16px;
        line-height: 1.5;
        padding: 14px 16px;
        box-sizing: border-box;
    }

    .cf7-contact-custom textarea {
        min-height: 180px;
    }

    .cf7-contact-custom .wpcf7-radio,
    .cf7-contact-custom .wpcf7-checkbox {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 18px;
        overflow: visible;
    }

    .cf7-contact-custom .wpcf7-list-item {
        display: flex;
        flex: 0 0 auto;
        white-space: nowrap;
        margin: 0;
    }

    .cf7-contact-custom .wpcf7-list-item label {
        display: flex;
        align-items: center;
        gap: 6px;
        width: 100%;
        font-size: 16px;
        line-height: 1.4;
    }

    .wpcf7-list-item-label {
        padding-left: 0.5em;
    }

    body.single .site-main figure img {
        max-width: 100%;
        margin: 30px auto;
    }

    figure.wp-block-video {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    figure.wp-block-video video {
        width: 100%;
        height: auto;
        display: block;
    }    

        /* =====================
       フッター
    ===================== */
    .footer-col--cta {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    footer.site__footer .container p {
        margin: 0;
        padding: 0;
        text-align: center;
    }

    footer.site__footer .container .sankyu_logo {
        margin: 0 auto -20px;
        text-align: center;
        flex-flow: column;
    }

    footer.site__footer .container .sankyu_logo img {
        max-width: 100%;
        margin: 10px auto;
    }

    footer.site__footer .container .sankyu_logo h2 {
        margin-top: 10px;
        margin-bottom: 40px;
        font-size: 24px;
        text-align: center;
    }

    section.footer_form {
        padding-left: 24px;
        padding-right: 24px;
        margin-top: 44px;
    }

    section.footer_form .section-title {
        padding: 0;
        background: #fff;
    }
}

@media screen and (min-width: 431px) {
    .sp_only {
        display: none;
    }

}

@media screen and (max-width: 430px) {
    .site-header__inner {
        display: grid;
        grid-template-columns: clamp(90px, 24vw, 110px) 1fr clamp(28px, 8vw, 34px);
        align-items: center;
        gap: 6px;
        padding: 8px 10px;
    }

    .site-logo {
        min-width: 0;
    }

    .site-logo img {
        display: block;
        width: auto;
        height: clamp(34px, 9vw, 46px);
    }

    #a11yTools.btn__wrapper {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
        min-width: 0;
        margin: 0;
    }

    #a11yTools .btn.btn--change,
    #a11yTools .btn.btn--contact {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        height: 40px;
        padding: 0 10px;
        font-size: 0;
        line-height: 1;
        white-space: nowrap;
        overflow: hidden;
    }

    #a11yTools .btn.btn--change {
        flex: 1 1 auto;
        max-width: 116px;
    }

    #a11yTools .btn.btn--contact {
        flex: 0 0 auto;
        max-width: 82px;
    }

    .hamburger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: clamp(28px, 8vw, 34px);
        height: clamp(22px, 7vw, 28px);
        padding: 0;
        margin: 0;
    }

    .hamburger__bar {
        display: block;
        width: 100%;
        height: 2px;
        margin: 3px 0;
    }

    .site-header__inner {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        column-gap: 8px;
        padding: 10px 12px;
    }

    h1.site-logo, p.site-logo {
        padding: 0;
        padding-top: 10px;
    }

    .site-logo {
        min-width: 0;
    }

    .site-logo img {
        display: block;
        width: auto;
        height: clamp(36px, 9.5vw, 48px);
    }


    /* ===== ボタン ===== */
    #a11yTools.btn__wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 0 auto;
    }

    #a11yTools .btn.btn--change,
    #a11yTools .btn.btn--contact {
        flex: 0 0 100px !important;  /* ← flexで固定 */
        width: 100px !important;
        max-width: 100px !important;
        min-width: 100px !important;

        height: 44px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

    /* テキスト */
    #a11yOpen .btn__text,
    #a11yTools .btn--contact .btn__text {
        font-size: 0;
    }

    #a11yOpen .btn__text::after {
        content: "文字/色";
        font-size: 16px;
        font-weight: 700;
    }

    #a11yTools .btn--contact .btn__text::after {
        content: "問合せ";
        font-size: 16px;
        font-weight: 700;
    }

    /* ===== ハンバーガー ===== */
    .hamburger {
        width: 44px;   /* ← 横幅アップ */
        height: 44px;  /* ← タップ領域確保 */
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: -4px;
    }

    .hamburger__bar {
        width: 40px;
        height: 2px;
        /*margin: 4px 0;*/
    }

    .site-header,
    .site-header__inner {
        position: relative;
    }

    #a11yTools.btn__wrapper {
        position: static;
    }

    #a11yPanel {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        width: auto;
        transform: none;
        z-index: 10001;
    }

    .a11y-panel__inner {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 16px 12px 14px;
        background: #ffffff;
        border-radius: 0;
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
    }

    .a11y-panel__head {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 10px;
    }

    .a11y-panel__inner[role="group"] {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .a11y-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        min-height: 120px;
        padding: 14px 10px;
        box-sizing: border-box;

        border: 1px solid #1b6e86;
        border-radius: 10px;
        background: #f8fbfc;

        text-align: center;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.5;
    }

    .a11y-item__icon {
        margin-bottom: 8px;
    }
    .a11y-item__text {
        font-size: 14px;
    }

    section.hero {
        position: relative;
        height: 100vh;
        min-height: 100vh;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: -80px;
        overflow: hidden;
    }

    .hero__media {
        position: absolute;
        inset: 0;
        z-index: 0;
        overflow: hidden;
        background-position: center bottom 80px;	
        background-position: center bottom 180px;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .hero__inner {
        position: relative;
        z-index: 2;
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        transform: translateY(-310px);
    }

    .hero__catch {
        margin: 0;
        font-size: 27px;
        line-height: 1.42;
        letter-spacing: 0.02em;
        text-align: center;
    }

    .hero__en {
        margin: 20px 0 0;
        font-size: 21px;
        line-height: 1.45;
        letter-spacing: 0.03em;
        text-align: center;
    }

    .hero__brand {
        position: static;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        align-self: center;
        width: fit-content;
        max-width: 100%;
        margin: 18px auto 0;
        padding: 10px 24px 12px;
        font-size: 19px;
        line-height: 1.2;
        letter-spacing: 0.08em;
        text-align: center;
        border-radius: 999px;
        box-sizing: border-box;
        left: auto;
        right: auto;
        transform: none;
        background: rgba(255,255,255,0.75);
        backdrop-filter: blur(6px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.15); 
    }
    .hero::after {
        content: "";
        position: absolute;
        bottom: 20px;
        left: 50%;
        width: 14px;
        height: 14px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: translateX(-50%) rotate(45deg);
        opacity: 0.8;
    }

    section.top__content {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        margin-top: -80px;	
        margin-top: -180px;
        box-sizing: border-box;
        overflow: hidden;
    }

    .top__content--introduction,
    .top__content--introduction .wrapper {
        width: 100%;
        max-width: 100%;
        padding: 0 20px;
    }
    .top__content--introduction .wrapper,
    .office-card,
    .office-card__inner,
    .office-card img {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .office-cards {
        width: 100vw;
        margin: 0 calc(50% - 50vw);
	    max-width: none;
        flex-direction: column;
        gap: 30px;
        padding: 22px 10px;
    }	
	.office-card {
		max-width: 430px;
		margin: auto;
	}
	.office-card__inner {
		padding: 12px;
	}
    .office-card img {
        display: block;
        height: auto;
    }

    .delegate__img--name img {
        max-width: 150px;
    }

    .section-title {
        margin-bottom: 32px;
        text-align: center;
    }
    .section-block.last.section-title {
        padding: 20px 16px;
    }
    .section-title__inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }

    section.top__content--introduction .section-title .section-title__en {
        font-size: 18px;
        line-height: 1;
        text-align: center;
        margin-bottom: -8px;
    }

    section.top__content--introduction .section-title .section-title__jp {
        font-size: 28px;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        letter-spacing: 0.02em;
        position: relative;
    }

    section.top__content--introduction .section-title .section-title__jp::before,
    section.top__content--introduction .section-title .section-title__jp::after {
        content: "";
        display: block;
        width: 60px;
        height: 3px;
        background: #0f6f86;
    }
    section.top__content--introduction .section-title .section-title__jp::before {
        transform: rotate(60deg);
    }
    section.top__content--introduction .section-title .section-title__jp::after {
        transform: rotate(-60deg);
    }
    section.top__content .section-title__en,
    .section-title .section-title__en {
        font-size: 18px;
        line-height: 1;
        text-align: center;
        margin-bottom: -8px;
    }

    .section-title .section-title__jp {
        font-size: 28px;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        letter-spacing: 0.02em;
        gap: 6px;
        position: relative;
    }

    .section-title .section-title__jp::before,
    .section-title .section-title__jp::after {
        content: "";
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;      
        display: block;
        width: 50px;
        height: 3px;
        background: #0f6f86;
    }
    .section-title .section-title__jp::before {
        transform: rotate(60deg);
    }
    .section-title .section-title__jp::after {
        transform: rotate(-60deg);
    }
    .top-recruit {
        margin-top: -80px;
        padding: 0 0 30px;
    }
    .top-recruit .section-title {
        margin-bottom: 0;
    }
    .top-recruit .section-title__inner {
        justify-self: center;
        position: relative;
        display: flex;
        left: auto;
        right: auto;
        transform: none;
        margin: 0;
    }
    .top-recruit .section-title .section-title__en {
        margin-bottom: -4px;
    }
    .top-recruit .top-recruit__more {
        justify-self: center;
        margin-top: 20px;
        margin-right: 0;
    }

    .top-recruit-slider .splide__track {
        overflow: visible;
    }

    .top-recruit-slider .splide__slide {
        display: flex;
        justify-content: center;
    }

    .top-recruit-slider .recruit-archive-card {
        width: 100%;
        max-width: none;
        margin: 0 auto;
    }

    .news-tabs,
    [data-office-tabs] .news-tabs {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: 100%;
        margin-top: 24px;
    }

    .news-tab,
    [data-office-tabs] .news-tab {
        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: none !important;

        min-height: 52px;
        padding: 12px 10px;
        box-sizing: border-box;

        font-size: 16px;
        line-height: 1.3;
        text-align: center;
        white-space: normal;
        word-break: keep-all;
    }

    body.page-id-664 .page-hero__title {
        letter-spacing: 4px;
    }

    body.page-id-664 section.section-block {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    body.page-id-664 section.section-block.first {
        margin-top: 0 !important;
    }

    body.page-id-664 section.section-block .section-title {
        margin-bottom: 0 !important;
    }

    body.page-id-664 .section-title_en {
        font-size: 14px;
        line-height: 1.4;
        letter-spacing: 0.04em;
    }

    body.page-id-664 .section-title__jp {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: 0.02em;
        gap: 6px;
    }

    body.page-id-664 h3.guidelines {
        font-size: 18px;
        line-height: 1.6;
        letter-spacing: 0.02em;
        margin-top: 20px;
        margin-bottom: 0;
    }

    body.page-id-664 .section-block p {
        font-size: 18px;
        line-height: 1.7;
        letter-spacing: 0.01em;
    }

    body.page-id-664 .company__profile--inner {
        padding: 28px 18px;
        border-radius: 24px;
        gap: 14px;
    }

    body.page-id-664 .company__profile--inner p {
        font-size: 16px;
        line-height: 1.9;
        text-align: left;
        letter-spacing: 0.02em;
        margin: 0 0 18px;
    }

    body.page-id-664 .company__profile--inner p.last {
        margin-bottom: 0;
    }
    body.page-id-664 .company__profile--inner p.date {
        text-align: right;
        margin: 0;
    }
    body.page-id-664 .company__profile--inner .delegate {
        display: flex;
        gap: 0;
        flex-flow: column;
    }
    /* ▼ カード全体 */
    body.page-id-664 .support-section__body > div {
        padding: 18px 16px;
        border-radius: 16px;
        margin-bottom: 16px;
    }

    body.page-id-664 .support-section__body > div:last-child {
        margin-bottom: 0;
    }

    /* ▼ 見出し（会社・家族など） */
    body.page-id-664 .support-section__body strong {
        font-size: 16px;
        display: block;
        margin-bottom: 10px;
    }

    /* ▼ リストテキスト */
    body.page-id-664 .support-section__body li,
    body.page-id-664 .support-section__body p {
        font-size: 14px;
        line-height: 1.8;
    }   
    body.page-id-664 .support-section__body {
        padding: 18px 18px 20px;
    }
    body.page-id-664 .support-section__body .support-card {
        padding: 10px 10px 6px;
    }
    body.page-id-664 .section-block.section-block--info {
        margin-top: -50px;
    }
    body.page-id-664 .section-block--info .section-inner .section-wrapper {
        border: 1px solid #e5e5e5;
        border-radius: 20px;
        padding: 20px 20px 10px;
    }
    body.page-id-664 .section-block--info .info-table tr:first-child th,
    body.page-id-664 .section-block--info .info-table tr:first-child td {
        border-top: none;
    }

    /* 開閉タイトル */
    .accordion-title,
    .office-other-accordion__title {
        position: relative;
		display: inline-flex;
		align-items: flex-end;
        width: 100%;
        padding: 24px 64px 24px 24px;
        padding: 12px 60px 12px 12px;
        font-size: 20px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5;
        cursor: pointer;
        list-style: none;
    }
	html.is-ruby-on .accordion-title,
	html.is-ruby-on .office-other-accordion__title {
		line-height: 1;
	}
	
    .accordion-title ruby,
    .office-other-accordion__title ruby {
        margin-left: -0.6em;
    }

    .accordion-title::-webkit-details-marker,
    .office-other-accordion__title::-webkit-details-marker {
        display: none;
    }

    .accordion-title::after,
    .office-other-accordion__title::after {
        content: "+";
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        font-size: 30px;
        font-weight: 400;
        line-height: 1;
        margin-right: 0;
    }

    .accordion-item[open] > .accordion-title::after,
    .office-other-accordion__item[open] > .office-other-accordion__title::after {
        content: "−";
    }

    .accordion-content,
    .office-other-accordion__content {
        padding: 0 24px 24px;
    }   

    .hq {
        padding: 22px 0px 34px;
    }
    .hq__graph--left {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .license-table {
        width: max-content;
        min-width: 100%;
        font-size: 12px;
        border-collapse: collapse;
    }

    .license-table th,
    .license-table td {
        padding: 6px 8px;
        white-space: nowrap;
    }

    .hq-timeline {
        --time-col: 62px;
        --gap: 14px;
        --line-x: calc(var(--time-col) + (var(--gap) / 2));
        --line-top: 92px;
        --line-bottom: 16px;
    }

    .hq-timeline::before {
        top: var(--line-top);
        bottom: var(--line-bottom);
    }

    .hq-timeline__item,
    .hq-timeline__item--subhead {
        grid-template-columns: var(--time-col) 1fr;
        column-gap: var(--gap);
    }

    .hq-timeline__item {
        padding: 10px 0;
    }

    .hq-timeline__item--subhead {
        font-size: 16px;
        padding: 0 0 10px;
    }

    .hq-timeline__time {
        width: var(--time-col);
        min-width: var(--time-col);
    }

    .hq-timeline__desc {
        padding-left: 18px;
        min-width: 0;
        line-height: 1.7;
        overflow-wrap: anywhere;
    }

    .hq-timeline__item:not(.hq-timeline__item--head):not(.hq-timeline__item--subhead)::after {
        left: var(--line-x);
        top: 0;
        margin-top: 22px;
        transform: translate(-50%, -50%);
    }

    .hq-timeline__note,
    .accordion-content,
    .hq-page-section__content {
        height: auto;
        max-height: none;
        overflow: visible;
    }
    .hq-timeline__note {
        margin-top: -25px;
    }

    .accordion-content,
    .office-other-accordion__content,
    .hq-page-section__content,
    .hq-page-section__content.job,
    .hq-page-section__content.job .job-structured {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .hq-table,
    .hq-table tbody,
    .hq-table tr,
    .hq-table td,
    .hq-table th {
        display: block;
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .hq-table td:nth-child(1),
    .hq-table th:nth-child(1),
    .hq-table td:only-child,
    .hq-table th:only-child {
        width: 100% !important;
        max-width: 100% !important;
    }

    .job-structured p,
    .job-structured strong,
    .job-structured b,
    .job-structured span {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    td.job_img .entry-image img {
        display: block;
        width: 100%;
        max-width: 240px;
        height: auto;
        margin: 0 auto 6px;
    }

    td.job_img .entry-image figcaption {
        margin: 0 0 20px;
        font-size: 14px;
        line-height: 1.4;
        text-align: center;
        font-weight: 600;
    }

    /* ヒーロー */
    body.page-id-19 .page-recruit-hero,
    body.page-id-666 .page-hero,
    body.page-template-page-recruit .page-hero,
    body.single-recruit_job .page-hero,
    body.page-id-3 .page-hero,
    body.page-id-684 .page-hero {
        padding: 0 16px;
        background-position: center center;
        background-size: cover;
        display: flex;
        align-items: center;   /* ←上下中央 */
        justify-content: center; /* ←左右中央 */
        min-height: 220px;
        height: 220px;        
    }
    .page-hero__inner {
        width: 100%;
        text-align: center;
    }
    body.page-id-19 .page-hero__title,
    body.page-id-666 .page-hero__title,
    body.page-template-page-recruit .page-hero__title,
    body.single-recruit_job .page-hero__title,
    body.page-id-3 .page-hero__title,
    body.page-id-684 .page-hero__title {
        font-size: 34px;
        line-height: 1.4;
        letter-spacing: 0.12em;
        text-align: center;
    }

    /* 一覧ラップ */
    body.page-id-19 .recruit-archive-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .recruit-archive-list {
        padding: 20px;
        margin-top: 20px;
    }
    .recruit-archive-card__link {
        border-radius: 0;
    }
    /* カード全体 */
    .recruit-archive-card {
        border-radius: 12px;
        overflow: hidden;
    }

    /* 画像 */
    .recruit-archive-card__image img {
        width: 100%;
        height: auto;
    }

    /* 本文 */
    .recruit-archive-card__body {
        padding: 10px 10px 12px;
    }

    /* タイトル */
    .recruit-archive-card__title {
        font-size: 15px;
        line-height: 1.4;
        margin-bottom: 6px;
        font-weight: 700;
    }

    /* バッジ（営業所） */
    .recruit-archive-card__meta {
        margin-bottom: 8px;
    }


    /* 事業所ボタン */
    .recruit-archive-card__office {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        font-size: 12px;
        padding: 12px 12px;
        border-radius: 999px;

        min-height: unset;
        line-height: 1.2;
    }

    /* ステータスボタン（共通） */
    .recruit-archive-card__status {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        font-size: 11px;
        font-weight: 600;
        line-height: 1.3;

        padding: 6px 10px;
        border-radius: 999px;

        min-height: unset;
        white-space: nowrap;
    }

    p.recruit-archive-card__status * {
        font-size: 13px;
    }

    /* 募集中（緑） */
    .recruit-archive-card__status--open {
        background: #e8f6ee;
        border: 1px solid #1f7a4c;
        color: #1f7a4c;
    }
    /* 募集なし（ピンク） */
    .recruit-archive-card__status--closed {
        background: #ffe6ec;
        border: 1px solid #f07a9a;
        color: #f07a9a;
    }

    /* 2つ並びのバランス */
    .recruit-archive-card__meta {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
    }

    /* PRリスト */
    .recruit-archive-card__pr-list {
        margin-top: 6px;
    }

    .recruit-archive-card__pr-list li {
        font-size: 12px;
        line-height: 1.6;
        margin-bottom: 4px;
    }

    /* =====================
       タイトル
    ===================== */
    .recruit-hero__title {
        font-size: 22px;
        font-weight: 700;
        line-height: 1.4;
        margin-bottom: 12px;
    }

    /* ルビ */
    .recruit-hero__title rt {
        font-size: 10px;
    }

    /* =====================
       ステータスボタン
    ===================== */
    .recruit-sign {
        font-size: 13px;
        padding: 10px 16px;
        border-radius: 999px;
        line-height: 1.3;
    }

    /* 非募集 */
    .recruit-sign.is-disabled {
        font-size: 12px;
        padding: 10px 16px;
        opacity: 0.7;
    }

    /* =====================
       説明文
    ===================== */
    .recruit-hero__lead {
        font-size: 13px;
        line-height: 1.8;
        margin-top: 12px;
        margin-bottom: 16px;
    }

    /* =====================
       ナビボタン
    ===================== */
    .recruit-nav a {
        font-size: 16px;
        padding: 8px 12px;
        border-radius: 999px;
    }

    .recruit__sign {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .recruit__sign > div,
    .recruit__sign > .recruit__sign--yes,
    .recruit__sign > .recruit__sign--no {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        flex: 1 1 0;
        min-width: 0;
        width: auto;
        max-width: none;

        padding: 10px 8px;
        font-size: 11px;
        line-height: 1.3;
        border-radius: 999px;
        white-space: nowrap;
    }

    html,
    body {
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    section.top__content--topics .wrapper,
    section.top__content--contact .wrapper {
        padding: 0 20px 0;
    }


    .top-recruit .section-title {
        display: block;
    }
    .news-tabs {
        display: block;
    }
    footer.site__footer .container .sankyu_logo {
        display: block;
    }
    .top-recruit .top-recruit__more {

    }
    .footer-cta {
        max-width: 60%;
        min-height: 40px;
        font-size: 18px;
    }
    section.footer_form {
        padding-left: 20px;
        padding-right: 20px;
        margin-top: 40px;
    }    
    section.footer_form .section-title {
        padding: 0;
        background: #fff;
    }

    .cf7-contact-custom {
        width: 100%;
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    .cf7-contact-custom__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 24px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .cf7-contact-custom__left,
    .cf7-contact-custom__right {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .cf7-row {
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }

    .cf7-row:last-child {
        margin-bottom: 0;
    }

    .cf7-row__label {
        margin-bottom: 10px;
    }

    .cf7-row__label p,
    .cf7-row__label label,
    .cf7-row__label span {
        font-size: 18px;
        line-height: 1.5;
    }

    .cf7-contact-custom input[type="text"],
    .cf7-contact-custom input[type="email"],
    .cf7-contact-custom input[type="tel"],
    .cf7-contact-custom input[type="url"],
    .cf7-contact-custom select,
    .cf7-contact-custom textarea {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        font-size: 16px;
        line-height: 1.5;
        padding: 12px 14px;
        box-sizing: border-box;
    }

    .cf7-contact-custom textarea {
        min-height: 160px;
    }

    .cf7-contact-custom .wpcf7-list-item {
        display: inline-flex;
        align-items: center;
        margin: 0 18px 12px 0;
    }

    .cf7-contact-custom .wpcf7-list-item label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 16px;
        line-height: 1.4;
    }

    .cf7-contact-custom input[type="radio"],
    .cf7-contact-custom input[type="checkbox"] {
        margin: 0;
    }

    .cf7-contact-custom .required {
        font-size: 16px;
    }

    .cf7-contact-custom {
        margin-top: 30px;
        padding-left: 20px;
        padding-right: 20px;        
    }
    .cf7-contact-custom .wpcf7-radio,
    .cf7-contact-custom .wpcf7-checkbox {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 16px;
        overflow: visible;
        -webkit-overflow-scrolling: touch;
    }

    .cf7-contact-custom .wpcf7-list-item {
        display: flex;
        flex: 0 0 auto;
        white-space: nowrap;
        margin: 0;
    }

    .cf7-contact-custom .wpcf7-list-item label {
        display: flex;
        align-items: center;
        gap: 6px;
        width: 100%;
    }
    .cf7-contact-custom .wpcf7-list-item {
        margin: 0;
    }
    .cf7-row__label {
        max-width: 200px;
        flex: 0;
        text-align: left;
        margin-top: 16px;
        margin-bottom: -16px;
    }
    .wpcf7-list-item-label {
        padding-left: .5em;
    }

    .cf7-row__label p {
        line-height: 1.5;
        letter-spacing: 0.02em;
        display: inline-block;
        border: .5px solid #157595;
        padding: 10px;
        background: #ffffeb;
        background: #EDEBE1;
        border-radius: 10px;
    }

    .cf7-row__label ruby {
        ruby-align: center;
    }

    .cf7-row__label rt {
        font-size: 10px;
        line-height: 1.2;
    }

    .cf7-row__label .required {
        display: inline-block;
        margin-left: 6px;
        font-size: 24px;
        font-weight: 700;
        line-height: 1;
        color: #e53935;
        vertical-align: middle;
    }

    body.single .site-main figure img {
        max-width: 100%;
        margin: 30px auto;
    }

    figure.wp-block-video {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    figure.wp-block-video video {
        width: 100%;
        height: auto;
        display: block;
    }  

    .footer-col--cta {
        width: 100%;
        display: flex;
        justify-content: center;
    }
	footer.site__footer .container {
		margin: auto;
		max-width: 1440px;
		padding: 38px 10px 9px;
	}
    footer.site__footer .container p {
        margin: 0;
        padding: 0;
        text-align: center;
    }
    footer.site__footer .container .sankyu_logo {
        margin: 0 auto -20px;
    }
    footer.site__footer .container .sankyu_logo img {
        max-width: 100%;
        margin-right: 0;
    }
    footer.site__footer .container .sankyu_logo h2 {
        margin-top: 10px;
        margin-bottom: 40px;
        font-size: 16px;
        text-align: center;
    }
}

@media screen and (max-width: 430px) {
    .back-to-top-wrap.is-hidden-on-footer {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .2s ease, visibility .2s ease;
    }
	.post-card__body {
		min-height: 220px;
	}	
	html.is-ruby-on .post-card__body {
		min-height: 250px;
	}
	body.page-id-664 .section-block {
		padding: 20px 0;
	}
	body.page-id-664 .support-section__body > div {
		padding: 18px 0;
	}
	body.page-id-664 .support-section__body {
        padding: 18px 2px 20px;
    }
	body.page-id-664 .support-section {
		max-width: 1100px;
		background: var(--card-bg);
		border: none;
		box-shadow: none;
		overflow: hidden;
		margin: 0 auto 56px;
	}
		.section-block--benefits .section-inner {
		padding: 0;
	}
    .section-block--benefits .benefits-grid {
        grid-template-columns: 1fr;
        justify-content: center;
    }
    .section-block--benefits .benefits-card {
        width: 100%;
        max-width: calc(100% - 10px);
        margin: 0 auto;
    }
	body.page-id-664 .section-block--info .section-inner .section-wrapper {
		padding: 20px 5px;
	}
	section.footer_form {
        padding-left: 10px;
        padding-right: 10px;
        margin-top: -30px;
    }
    .hq__graph {
        display: block;
    }

    .hq__graph--left,
    .hq__graph--right {
        width: 100%;
        max-width: 100%;
    }

    .hq__graph--left {
        overflow: hidden;
    }

    .hq-table-scroll {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 8px;
    }

    .hq-table-scroll::after {
        content: "← 横にスクロールできます →";
        display: block;
        margin-top: 8px;
        font-size: 12px;
        line-height: 1.4;
        text-align: center;
        color: #666;
    }

    .license-table {
        min-width: 640px;
        width: max-content;
        border-collapse: collapse;
    }	
	.hq-map {
		padding: 8px;
	}
	.hq-access__info, 
	.hq-access__routes,
	.hq-pr {
		padding: 0;
	}
	.hq-page-section,
	.recruit-card,
	.flow-card {
		padding: 0;
	}
	.recruit-hero__lead {
		font-size: 15px !important;
	}
	.recruit-dl {
		padding: 10px;
	}
	.flow-card__title {
		padding: 10px;
	}
	.accordion-content,
	.office-other-accordion__content {
		padding: 0 0 16px;
	}
	.hq-page-section__content {
		padding: 6px;
	}
	td.job_img .entry-image img {
		max-width: 100%;
	}
	
    .recruit__sign > div {
		max-width: 100%;
        min-width: 100%;
        width: 100%;		
		font-size: 16px;
	}	
	.recruit__sign {
		display: flex;
		justify-content: center;
		gap: 16px;
		flex-wrap: wrap;
		margin-top: 24px;
	}

	.recruit__sign__item {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 220px;
		min-height: 44px;
		padding: 10px 24px;
		border-radius: 999px;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.4;
		border: 3px solid transparent;
		text-align: center;

		white-space: normal;
		word-break: keep-all;
		overflow-wrap: break-word;
	}

	.recruit__sign__item ruby {
		display: inline;
	}

	.recruit__sign__item rt {
		white-space: nowrap;
	}	
	.site-logo__description {
        font-size: 9px;
    }
	.global-nav {
		width: 100%;
	}
	.nav-overlay,
	.global-nav.is-open {
        margin-top: 90px;
    }
	.news-meta {
		font-size: 13px;
		gap: 6px;

	}
	.news-category {
		min-width: 90px;
		padding: 6px;
	}	
	.news-office {
		width: 100px;
		padding: 6px 10px;
	}	
	.top__content--topics.top-recruit {
		margin-top: -20px;
	}
	body.page-id-672 p.honsha_only {
		font-size: 10px !important;
	}	
    body.page-id-672 .license-table th,
	body.page-id-672 .license-table td {
        padding: 6px 0 !important;
    }	
}


@media screen and (max-width: 375px) {
    footer.site__footer .container p {
        font-size: 15px !important;
    }
}