/* 2026-10-07 16:32:00 [GPT-6] セッションターン数：[4] */
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
/* 2026-10-07 16:25:00 [GPT-6] セッションターン数：[4] */

      :root {
        --amber: #fbbe01;
        --amber-soft: #ffe58b;
        --amber-pale: #fff4c7;
        --coral: #e96843;
        --coral-dark: #b84429;
        --teal: #2f7f78;
        --teal-pale: #dcefeb;
        --ink: #34241d;
        --ink-soft: #6f5c51;
        --ivory: #fff9ea;
        --paper: #fffdf8;
        --mint: #e8f2e8;
        --line: rgba(52, 36, 29, 0.16);
        --shadow: 0 28px 80px rgba(78, 47, 24, 0.14);
        --font: "Zen Kaku Gothic New", "BIZ UDPGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
      }

      *,
      *::before,
      *::after {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
        scroll-padding-top: 96px;
      }

      body {
        margin: 0;
        overflow-x: hidden;
        background: var(--ivory);
        color: var(--ink);
        font-family: var(--font);
        font-size: 16px;
        font-weight: 500;
        line-height: 1.85;
        letter-spacing: 0.025em;
      }

      body::before {
        position: fixed;
        inset: 0;
        z-index: -1;
        background-image: radial-gradient(rgba(52, 36, 29, 0.045) 0.7px, transparent 0.7px);
        background-size: 7px 7px;
        content: "";
        pointer-events: none;
      }

      a {
        color: inherit;
      }

      img {
        display: block;
        max-width: 100%;
      }

      button,
      input,
      select,
      textarea {
        font: inherit;
      }

      button,
      a {
        -webkit-tap-highlight-color: transparent;
      }

      :focus-visible {
        outline: 4px solid var(--teal);
        outline-offset: 4px;
      }

      .skip-link {
        position: fixed;
        top: 8px;
        left: 8px;
        z-index: 1000;
        padding: 10px 16px;
        transform: translateY(-160%);
        border-radius: 8px;
        background: var(--ink);
        color: white;
        font-weight: 800;
      }

      .skip-link:focus {
        transform: translateY(0);
      }

      .site-header {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 50;
        padding: 22px 0;
      }

      .header-inner,
      .wrap {
        width: min(1180px, calc(100% - 48px));
        margin-inline: auto;
      }

      .header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
      }

      .brand {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        padding: 7px 12px 8px;
        border-radius: 14px;
        background: rgba(255, 253, 248, 0.9);
        box-shadow: 0 8px 28px rgba(78, 47, 24, 0.08);
      }

      .brand img {
        width: 148px;
        height: auto;
      }

      .site-nav {
        display: flex;
        align-items: center;
        gap: 28px;
        padding: 6px 7px 6px 22px;
        border: 1px solid rgba(52, 36, 29, 0.1);
        border-radius: 999px;
        background: rgba(255, 253, 248, 0.84);
        box-shadow: 0 12px 40px rgba(78, 47, 24, 0.08);
        backdrop-filter: blur(12px);
      }

      .site-nav a:not(.nav-cta) {
        text-decoration: none;
        font-size: 0.88rem;
        font-weight: 800;
      }

      .site-nav a:not(.nav-cta):hover {
        color: var(--teal);
      }

      .nav-cta,
      .button {
        display: inline-flex;
        min-height: 48px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: 0;
        border-radius: 999px;
        background: var(--ink);
        color: white;
        cursor: pointer;
        font-weight: 900;
        line-height: 1.3;
        text-decoration: none;
        transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
      }

      .nav-cta {
        padding: 12px 20px;
        font-size: 0.86rem;
      }

      .button {
        padding: 16px 25px;
        box-shadow: 0 13px 28px rgba(52, 36, 29, 0.2);
      }

      .button:hover,
      .nav-cta:hover {
        transform: translateY(-2px);
        background: #1f1713;
        box-shadow: 0 17px 34px rgba(52, 36, 29, 0.24);
      }

      .button-secondary {
        border: 2px solid var(--ink);
        background: transparent;
        color: var(--ink);
        box-shadow: none;
      }

      .button-secondary:hover {
        background: var(--paper);
      }

      .menu-button {
        display: none;
        width: 48px;
        height: 48px;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 50%;
        background: var(--ink);
        color: white;
        cursor: pointer;
        font-size: 0;
      }

      .menu-button::before,
      .menu-button::after {
        position: absolute;
        width: 21px;
        height: 2px;
        background: currentColor;
        content: "";
        transition: transform 180ms ease;
      }

      .menu-button::before {
        transform: translateY(-4px);
      }

      .menu-button::after {
        transform: translateY(4px);
      }

      .hero {
        position: relative;
        display: grid;
        min-height: 820px;
        align-items: center;
        padding: 148px 0 92px;
        overflow: hidden;
      }

      .hero::before {
        position: absolute;
        top: -22%;
        right: -11%;
        width: min(64vw, 910px);
        aspect-ratio: 1;
        border-radius: 42% 58% 67% 33% / 45% 35% 65% 55%;
        background: var(--amber);
        content: "";
        transform: rotate(-8deg);
      }

      .hero::after {
        position: absolute;
        bottom: 8%;
        left: -5%;
        width: 180px;
        aspect-ratio: 1;
        border: 42px solid var(--teal-pale);
        border-radius: 50%;
        content: "";
        opacity: 0.8;
      }

      .hero-grid {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
        align-items: center;
        gap: 54px;
      }

      .service-name {
        display: flex;
        align-items: center;
        gap: 11px;
        margin: 0 0 26px;
        color: var(--teal);
        font-size: 0.93rem;
        font-weight: 900;
      }

      .service-name::before {
        width: 34px;
        height: 3px;
        border-radius: 99px;
        background: var(--teal);
        content: "";
      }

      h1,
      h2,
      h3,
      p {
        margin-top: 0;
      }

      h1 {
        max-width: 9.6em;
        margin-bottom: 26px;
        font-size: clamp(3.1rem, 6vw, 5.65rem);
        font-weight: 900;
        letter-spacing: -0.055em;
        line-height: 1.11;
      }

      .hero-lead {
        max-width: 34em;
        margin-bottom: 32px;
        color: var(--ink-soft);
        font-size: clamp(1rem, 1.5vw, 1.12rem);
        line-height: 1.95;
      }

      .hero-actions {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 13px;
      }

      .hero-note {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 24px 0 0;
        color: var(--ink-soft);
        font-size: 0.84rem;
        font-weight: 700;
      }

      .hero-note::before {
        width: 10px;
        height: 10px;
        flex: 0 0 auto;
        border-radius: 50%;
        background: var(--coral);
        box-shadow: 0 0 0 5px rgba(233, 104, 67, 0.13);
        content: "";
      }

      .hero-art {
        position: relative;
        transform: translateY(18px);
        opacity: 0;
      }

      .is-ready .hero-art {
        animation: hero-in 780ms 140ms cubic-bezier(0.2, 0.75, 0.25, 1) forwards;
      }

      .hero-image-frame {
        position: relative;
        overflow: hidden;
        aspect-ratio: 1.08;
        border: 11px solid var(--paper);
        border-radius: 44% 56% 37% 63% / 43% 37% 63% 57%;
        box-shadow: var(--shadow);
      }

      .hero-image-frame img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 59% center;
      }

      .eye-orbit {
        position: absolute;
        top: -24px;
        right: 13%;
        width: 98px;
        aspect-ratio: 1;
        border-radius: 50%;
        background: var(--paper);
        box-shadow: 0 14px 40px rgba(52, 36, 29, 0.16);
      }

      .eye-orbit::after {
        position: absolute;
        inset: 35px;
        border-radius: 50%;
        background: var(--ink);
        content: "";
      }

      .work-slip {
        position: absolute;
        bottom: -22px;
        left: -22px;
        width: min(290px, 60%);
        padding: 18px 20px;
        border: 1px solid rgba(52, 36, 29, 0.12);
        border-radius: 19px;
        background: rgba(255, 253, 248, 0.94);
        box-shadow: 0 16px 45px rgba(52, 36, 29, 0.15);
        backdrop-filter: blur(12px);
      }

      .work-slip strong {
        display: block;
        margin-bottom: 8px;
        font-size: 0.92rem;
      }

      .work-slip span {
        display: block;
        position: relative;
        padding-left: 24px;
        color: var(--ink-soft);
        font-size: 0.77rem;
        font-weight: 700;
      }

      .work-slip span::before {
        position: absolute;
        top: 0.65em;
        left: 2px;
        width: 10px;
        height: 6px;
        border-bottom: 2px solid var(--teal);
        border-left: 2px solid var(--teal);
        content: "";
        transform: rotate(-45deg);
      }

      /* K.HASHIMOTO: 中間幅でも仕事一覧の横スクロールを帯の中に収める。 */
      .work-tape {
        overflow-x: auto;
        position: relative;
        z-index: 3;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        background: var(--ink);
        color: white;
      }

      .work-tape-inner {
        display: grid;
        grid-template-columns: repeat(6, minmax(150px, 1fr));
        width: min(1320px, 100%);
        margin-inline: auto;
      }

      .work-tape span {
        display: flex;
        min-height: 96px;
        align-items: center;
        justify-content: center;
        border-right: 1px solid rgba(255, 255, 255, 0.14);
        font-size: 0.92rem;
        font-weight: 800;
        text-align: center;
      }

      .work-tape span:first-child {
        border-left: 1px solid rgba(255, 255, 255, 0.14);
      }

      section {
        padding: 120px 0;
      }

      .section-kicker {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 20px;
        color: var(--teal);
        font-size: 0.92rem;
        font-weight: 900;
      }

      .section-kicker::after {
        width: 52px;
        height: 2px;
        background: currentColor;
        content: "";
      }

      .section-title {
        max-width: 11em;
        margin-bottom: 28px;
        font-size: clamp(2.25rem, 4.2vw, 4.2rem);
        font-weight: 900;
        letter-spacing: -0.045em;
        line-height: 1.22;
      }

      .section-lead {
        max-width: 39em;
        color: var(--ink-soft);
        font-size: 1.05rem;
      }

      .fit-grid {
        display: grid;
        grid-template-columns: 0.85fr 1.15fr;
        gap: 84px;
      }

      .fit-copy {
        align-self: start;
      }

      .fit-list {
        margin: 0;
        padding: 0;
        list-style: none;
      }

      .fit-list li {
        position: relative;
        padding: 24px 24px 24px 72px;
        border-bottom: 1px solid var(--line);
        font-size: clamp(1.02rem, 1.6vw, 1.25rem);
        font-weight: 800;
        line-height: 1.6;
      }

      .fit-list li:first-child {
        border-top: 1px solid var(--line);
      }

      .fit-list li::before {
        position: absolute;
        top: 22px;
        left: 14px;
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        border-radius: 50%;
        background: var(--amber);
        color: var(--ink);
        content: "✓";
        font-weight: 900;
      }

      .jobs {
        background: var(--paper);
      }

      .jobs-head {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: end;
        gap: 64px;
        margin-bottom: 70px;
      }

      .jobs-head .section-title {
        margin-bottom: 0;
      }

      .job-stories {
        border-top: 2px solid var(--ink);
      }

      .job-story {
        display: grid;
        grid-template-columns: minmax(150px, 0.42fr) 1fr 1.15fr;
        align-items: center;
        gap: 46px;
        min-height: 185px;
        padding: 34px 12px;
        border-bottom: 1px solid var(--line);
      }

      .job-verb {
        color: var(--coral-dark);
        font-size: clamp(2.2rem, 4vw, 3.7rem);
        font-weight: 900;
        letter-spacing: -0.05em;
      }

      .job-types {
        font-size: 1.08rem;
        font-weight: 900;
        line-height: 1.7;
      }

      .job-story p {
        margin-bottom: 0;
        color: var(--ink-soft);
      }

      .wage-note {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        margin-top: 44px;
        padding: 24px 30px;
        border-radius: 22px 8px 22px 8px;
        background: var(--amber-pale);
      }

      .wage-note strong {
        font-size: 1.15rem;
      }

      .wage-note span {
        color: var(--ink-soft);
        font-size: 0.88rem;
      }

      .support {
        position: relative;
        overflow: hidden;
        background: var(--amber);
      }

      .support::before,
      .support::after {
        position: absolute;
        border: 1px solid rgba(52, 36, 29, 0.2);
        border-radius: 50%;
        content: "";
      }

      .support::before {
        top: -300px;
        right: -140px;
        width: 700px;
        height: 700px;
      }

      .support::after {
        bottom: -340px;
        left: -180px;
        width: 650px;
        height: 650px;
      }

      .support .section-kicker {
        color: var(--ink);
      }

      .support-head {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: 1fr 0.8fr;
        gap: 72px;
        margin-bottom: 64px;
      }

      .support-head p {
        align-self: end;
        margin-bottom: 16px;
        font-weight: 700;
      }

      .support-stage {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-areas:
          "s1 core s2"
          "s3 core s4"
          "s5 core s6";
        grid-template-columns: 1fr minmax(260px, 0.8fr) 1fr;
        gap: 14px 28px;
        align-items: stretch;
      }

      .support-core {
        grid-area: core;
        display: grid;
        min-height: 350px;
        place-content: center;
        padding: 42px;
        border: 2px solid var(--ink);
        border-radius: 50%;
        background: var(--paper);
        text-align: center;
      }

      .support-core small {
        font-weight: 800;
      }

      .support-core strong {
        display: block;
        font-size: 2.05rem;
        font-weight: 900;
        line-height: 1.35;
      }

      .support-item {
        align-self: center;
        padding: 22px 24px;
        border-top: 2px solid var(--ink);
      }

      .support-item:nth-of-type(1) { grid-area: s1; }
      .support-item:nth-of-type(2) { grid-area: s2; }
      .support-item:nth-of-type(3) { grid-area: s3; }
      .support-item:nth-of-type(4) { grid-area: s4; }
      .support-item:nth-of-type(5) { grid-area: s5; }
      .support-item:nth-of-type(6) { grid-area: s6; }

      .support-item h3 {
        margin-bottom: 7px;
        font-size: 1.15rem;
        font-weight: 900;
      }

      .support-item p {
        margin-bottom: 0;
        font-size: 0.88rem;
        line-height: 1.7;
      }

      .day-grid {
        display: grid;
        grid-template-columns: 0.72fr 1.28fr;
        gap: 86px;
      }

      .schedule {
        position: relative;
        margin: 0;
        padding: 0;
        list-style: none;
      }

      .schedule::before {
        position: absolute;
        top: 22px;
        bottom: 22px;
        left: 88px;
        width: 3px;
        background: var(--amber);
        content: "";
      }

      .schedule li {
        display: grid;
        grid-template-columns: 72px 1fr;
        gap: 44px;
        min-height: 90px;
      }

      /* 2026-10-05 11:19:51 K.HASHIMOTO セッションターン数：[3] 確定した時刻と姉妹事業所の実績を既存の表示へ収める。 */
      .schedule .schedule-time {
        padding-top: 5px;
        color: var(--ink);
        font-weight: 900;
        line-height: 1.55;
      }

      .employment-note {
        margin: 44px 0 0;
        padding-top: 24px;
        border-top: 1px solid var(--line);
      }

      .employment-note strong {
        display: block;
        margin-bottom: 8px;
        font-size: 1.15rem;
      }

      .schedule time {
        padding-top: 5px;
        font-size: 0.88rem;
        font-weight: 900;
      }

      .schedule div {
        position: relative;
        padding: 0 0 28px;
      }

      .schedule div::before {
        position: absolute;
        top: 10px;
        left: -34px;
        width: 15px;
        height: 15px;
        border: 4px solid var(--ivory);
        border-radius: 50%;
        background: var(--teal);
        box-shadow: 0 0 0 2px var(--teal);
        content: "";
      }

      .schedule strong {
        display: block;
        margin-bottom: 3px;
        font-size: 1.05rem;
      }

      .schedule span {
        color: var(--ink-soft);
        font-size: 0.88rem;
      }

      .process {
        background: var(--teal);
        color: white;
      }

      .process .section-kicker {
        color: var(--amber-soft);
      }

      .process .section-title {
        max-width: 12em;
      }

      .steps {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        margin-top: 62px;
        border-top: 1px solid rgba(255, 255, 255, 0.35);
      }

      .step {
        position: relative;
        min-height: 265px;
        padding: 30px 25px 26px;
        border-right: 1px solid rgba(255, 255, 255, 0.25);
      }

      .step:first-child {
        border-left: 1px solid rgba(255, 255, 255, 0.25);
      }

      .step-num {
        display: grid;
        width: 46px;
        height: 46px;
        margin-bottom: 36px;
        place-items: center;
        border-radius: 50%;
        background: var(--amber);
        color: var(--ink);
        font-size: 1.08rem;
        font-weight: 900;
      }

      .step h3 {
        margin-bottom: 10px;
        font-size: 1.08rem;
      }

      .step p {
        margin-bottom: 0;
        color: rgba(255, 255, 255, 0.82);
        font-size: 0.85rem;
        line-height: 1.75;
      }

      .office-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 74px;
        align-items: center;
      }

      /* K.HASHIMOTO: 支給案内図を縦横比を保って全体表示する。 */
      .map-panel {
        margin: 0;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 24px 8px 24px 8px;
        background: var(--paper);
      }

      .map-panel img {
        width: 100%;
        height: auto;
      }

      .map-panel figcaption {
        padding: 12px 18px;
        border-top: 1px solid var(--line);
        font-size: 0.85rem;
        font-weight: 700;
      }

      .office-facts {
        margin: 34px 0;
        padding: 0;
        list-style: none;
      }

      .office-facts li {
        display: grid;
        grid-template-columns: 7em 1fr;
        gap: 20px;
        padding: 15px 0;
        border-bottom: 1px solid var(--line);
      }

      .office-facts strong {
        color: var(--teal);
        font-size: 0.88rem;
      }

      .pending {
        color: var(--ink-soft);
      }

      .faq {
        background: var(--paper);
      }

      .faq-grid {
        display: grid;
        grid-template-columns: 0.66fr 1.34fr;
        gap: 90px;
      }

      .faq-list {
        border-top: 2px solid var(--ink);
      }

      details {
        border-bottom: 1px solid var(--line);
      }

      summary {
        position: relative;
        padding: 25px 58px 25px 4px;
        cursor: pointer;
        font-weight: 900;
        list-style: none;
      }

      summary::-webkit-details-marker {
        display: none;
      }

      summary::after {
        position: absolute;
        top: 50%;
        right: 8px;
        display: grid;
        width: 36px;
        height: 36px;
        place-items: center;
        transform: translateY(-50%);
        border-radius: 50%;
        background: var(--amber);
        content: "+";
        font-size: 1.25rem;
      }

      details[open] summary::after {
        content: "−";
      }

      details p {
        max-width: 46em;
        padding: 0 58px 24px 4px;
        color: var(--ink-soft);
        font-size: 0.94rem;
      }

      .contact {
        position: relative;
        background: var(--amber);
      }

      .contact::before {
        position: absolute;
        top: 75px;
        left: 6vw;
        color: rgba(52, 36, 29, 0.08);
        content: "●";
        font-size: min(19rem, 88vw);
        line-height: 1;
      }

      .contact-grid {
        position: relative;
        display: grid;
        grid-template-columns: 0.72fr 1.28fr;
        gap: 72px;
        align-items: start;
      }

      .contact-copy {
        position: sticky;
        top: 100px;
      }

      .contact-copy .section-kicker {
        color: var(--ink);
      }

      .contact-copy .section-title {
        max-width: 8em;
      }

      .contact-card {
        padding: 48px;
        border-radius: 32px 8px 32px 8px;
        background: var(--paper);
        box-shadow: var(--shadow);
      }

      /* 2026-10-05 12:00:33 K.HASHIMOTO セッションターン数：[13] 問い合わせの利用目的を表示する。 */
      .form-note {
        margin-bottom: 30px;
        padding: 14px 17px;
        border-left: 5px solid var(--coral);
        background: #fff1ec;
        color: #743621;
        font-size: 0.84rem;
        font-weight: 800;
      }

      .form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

      .field-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 23px;
      }

      .field {
        margin-bottom: 24px;
      }

      .field-full {
        grid-column: 1 / -1;
      }

      .field label,
      .field legend {
        display: block;
        margin-bottom: 8px;
        font-size: 0.9rem;
        font-weight: 900;
      }

      .required {
        margin-left: 6px;
        color: var(--coral-dark);
        font-size: 0.75rem;
      }

      .field input,
      .field select,
      .field textarea {
        width: 100%;
        min-height: 52px;
        padding: 13px 15px;
        border: 1.5px solid rgba(52, 36, 29, 0.28);
        border-radius: 10px;
        background: white;
        color: var(--ink);
      }

      .field textarea {
        min-height: 150px;
        resize: vertical;
      }

      .field input:focus,
      .field select:focus,
      .field textarea:focus {
        border-color: var(--teal);
        outline: 3px solid rgba(47, 127, 120, 0.18);
      }

      fieldset {
        margin: 0;
        padding: 0;
        border: 0;
      }

      .choice-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
      }

      .choice {
        position: relative;
      }

      .choice input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
      }

      .choice span {
        display: inline-flex;
        min-height: 46px;
        align-items: center;
        padding: 9px 15px;
        border: 1.5px solid rgba(52, 36, 29, 0.25);
        border-radius: 999px;
        background: white;
        cursor: pointer;
        font-size: 0.85rem;
        font-weight: 800;
      }

      .choice input:checked + span {
        border-color: var(--teal);
        background: var(--teal-pale);
      }

      .choice input:focus-visible + span {
        outline: 4px solid var(--teal);
        outline-offset: 3px;
      }

      .consent {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        margin: 8px 0 25px;
        font-size: 0.84rem;
        line-height: 1.7;
      }

      .consent input {
        width: 20px;
        height: 20px;
        flex: 0 0 auto;
        margin-top: 4px;
        accent-color: var(--teal);
      }

      .form-message {
        display: none;
        margin: 20px 0 0;
        padding: 15px 17px;
        border: 1px solid var(--teal);
        border-radius: 10px;
        background: var(--teal-pale);
        color: #174d48;
        font-weight: 800;
      }

      .form-message.is-visible {
        display: block;
      }

      .site-footer {
        padding: 64px 0 110px;
        background: var(--ink);
        color: white;
      }

      .footer-grid {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 50px;
        align-items: end;
      }

      .footer-logo {
        width: 176px;
        height: auto;
        margin-bottom: 20px;
        padding: 9px 14px;
        border-radius: 13px;
        background: white;
      }

      .footer-org {
        margin: 0;
        color: rgba(255, 255, 255, 0.7);
        font-size: 0.8rem;
      }

      .footer-links {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 12px 24px;
        font-size: 0.79rem;
      }

      .footer-links a:hover {
        color: var(--amber);
      }

      .mobile-cta {
        display: none;
      }

      @keyframes hero-in {
        to {
          transform: translateY(0);
          opacity: 1;
        }
      }

      @media (max-width: 1040px) {
        .site-nav {
          gap: 17px;
        }

        .site-nav a:not(.nav-cta) {
          display: none;
        }

        .hero {
          min-height: 760px;
        }

        .hero-grid {
          grid-template-columns: minmax(0, 0.95fr) minmax(400px, 1.05fr);
          gap: 30px;
        }

        .fit-grid,
        .day-grid,
        .faq-grid,
        .contact-grid {
          gap: 54px;
        }

        .support-stage {
          grid-template-columns: 1fr minmax(220px, 0.7fr) 1fr;
        }

        .steps {
          grid-template-columns: repeat(3, 1fr);
        }

        .step:nth-child(4) {
          border-left: 1px solid rgba(255, 255, 255, 0.25);
        }
      }

      @media (max-width: 760px) {
        html {
          scroll-padding-top: 76px;
        }

        body {
          font-size: 15px;
        }

        .header-inner,
        .wrap {
          width: min(100% - 34px, 600px);
        }

        .site-header {
          padding: 15px 0;
        }

        .brand img {
          width: 116px;
        }

        .site-nav {
          position: fixed;
          top: 74px;
          right: 16px;
          left: 16px;
          display: none;
          align-items: stretch;
          padding: 18px;
          border-radius: 18px;
          background: var(--paper);
        }

        .site-nav.is-open {
          display: grid;
        }

        .site-nav a:not(.nav-cta) {
          display: block;
          padding: 10px 8px;
        }

        .menu-button {
          position: relative;
          display: inline-flex;
        }

        .menu-button[aria-expanded="true"]::before {
          transform: rotate(45deg);
        }

        .menu-button[aria-expanded="true"]::after {
          transform: rotate(-45deg);
        }

        .hero {
          min-height: auto;
          padding: 120px 0 76px;
        }

        .hero::before {
          top: 42%;
          right: -52%;
          width: 108vw;
        }

        .hero::after {
          display: none;
        }

        .hero-grid {
          grid-template-columns: 1fr;
          gap: 50px;
        }

        h1 {
          font-size: clamp(2.45rem, 10.5vw, 3.35rem);
        }

        .hero-lead {
          font-size: 1rem;
        }

        .hero-actions {
          align-items: stretch;
          flex-direction: column;
        }

        .hero-actions .button {
          width: 100%;
        }

        .hero-art {
          width: 95%;
          margin-left: auto;
        }

        .hero-image-frame {
          border-width: 7px;
        }

        .eye-orbit {
          top: -20px;
          right: 3%;
          width: 75px;
        }

        .eye-orbit::after {
          inset: 27px;
        }

        .work-slip {
          bottom: -34px;
          left: -6%;
          width: 72%;
        }

        .work-tape {
          overflow-x: auto;
        }

        .work-tape-inner {
          width: max-content;
        }

        .work-tape span {
          width: 150px;
          min-height: 78px;
        }

        section {
          padding: 86px 0;
        }

        .section-title {
          font-size: clamp(2.15rem, 11vw, 3.25rem);
        }

        .fit-grid,
        .jobs-head,
        .support-head,
        .day-grid,
        .office-grid,
        .faq-grid,
        .contact-grid,
        .footer-grid {
          grid-template-columns: 1fr;
          gap: 42px;
        }

        .fit-list li {
          padding: 19px 8px 19px 57px;
        }

        .fit-list li::before {
          top: 17px;
          left: 5px;
        }

        .jobs-head {
          margin-bottom: 42px;
        }

        .job-story {
          grid-template-columns: 1fr;
          gap: 10px;
          padding: 30px 6px;
        }

        .job-verb {
          font-size: 2.65rem;
        }

        .wage-note {
          align-items: flex-start;
          flex-direction: column;
          padding: 22px;
        }

        .support-stage {
          display: flex;
          flex-direction: column;
          gap: 0;
        }

        .support-core {
          order: -1;
          min-height: auto;
          margin-bottom: 28px;
          padding: 42px 22px;
          border-radius: 120px;
        }

        .support-item {
          width: 100%;
          padding-inline: 7px;
        }

        .steps {
          grid-template-columns: 1fr;
        }

        .step {
          display: grid;
          min-height: auto;
          grid-template-columns: 54px 1fr;
          column-gap: 15px;
          padding: 23px 8px;
          border-right: 0;
          border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        }

        .step:first-child,
        .step:nth-child(4) {
          border-left: 0;
        }

        .step-num {
          grid-row: 1 / 3;
          margin-bottom: 0;
        }

        .step h3 {
          align-self: end;
          margin-bottom: 3px;
        }

        .office-facts li {
          grid-template-columns: 1fr;
          gap: 2px;
        }

        .contact-copy {
          position: static;
        }

        .contact-card {
          padding: 27px 20px;
        }

        .field-grid {
          grid-template-columns: 1fr;
          gap: 0;
        }

        .footer-links {
          justify-content: flex-start;
        }

        .mobile-cta {
          position: fixed;
          right: 12px;
          bottom: 12px;
          left: 12px;
          z-index: 100;
          display: flex;
          min-height: 54px;
          align-items: center;
          justify-content: center;
          border-radius: 999px;
          background: var(--ink);
          color: white;
          box-shadow: 0 13px 35px rgba(52, 36, 29, 0.35);
          font-weight: 900;
          text-decoration: none;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        html {
          scroll-behavior: auto;
        }

        *,
        *::before,
        *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.01ms !important;
        }

        .hero-art {
          transform: none;
          opacity: 1;
        }
      }

      /* K.HASHIMOTO: 開設案内と確定済みの連絡先を既存の配色で表示。 */
      .opening-note {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 16px;
        margin: 0 0 24px;
        color: var(--ink);
        font-size: 0.85rem;
        font-weight: 800;
      }

      .opening-note strong {
        padding: 5px 13px;
        background: var(--amber);
        color: var(--ink);
        font-size: 1rem;
        letter-spacing: 0.02em;
      }

      .contact-details {
        display: grid;
        gap: 12px;
        margin-top: 30px;
        padding-top: 22px;
        border-top: 1px solid var(--line);
      }

      .contact-details a {
        display: block;
        min-height: 44px;
        padding: 6px 0;
        color: var(--ink);
        text-decoration: none;
      }

      .contact-details a:hover strong {
        text-decoration: underline;
        text-underline-offset: 4px;
      }

      .contact-details span {
        display: block;
        font-size: 0.85rem;
      }

      .contact-phone strong {
        display: block;
        font-size: clamp(1.65rem, 2.6vw, 2.15rem);
        line-height: 1.4;
        letter-spacing: 0.025em;
      }

      .contact-mail strong {
        font-size: 0.95rem;
        overflow-wrap: anywhere;
      }

      .office-facts span,
      .footer-org {
        overflow-wrap: anywhere;
      }

      .course-note {
        margin: 28px 0 0;
        padding-top: 22px;
        border-top: 1px solid var(--line);
        font-size: 0.9rem;
      }

      .course-note strong {
        display: block;
        margin-bottom: 6px;
        color: var(--teal);
      }

      /* 2026-09-25 20:26:15 K.HASHIMOTO セッションターン数：[3] 写真で仕事内容と過ごし方を示す。 */
      .photo-gallery {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
        margin: 32px 0 42px;
      }

      .photo-gallery--single {
        grid-template-columns: minmax(0, 1fr);
        max-width: 720px;
        margin-top: 0;
        margin-right: auto;
        margin-left: auto;
      }

      .photo-card {
        margin: 0;
        overflow: hidden;
        border-radius: 22px;
        background: white;
        box-shadow: 0 14px 36px rgba(52, 36, 29, 0.11);
      }

      .photo-card img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
      }

      .photo-card figcaption {
        padding: 12px 18px 16px;
        color: var(--ink);
        font-size: 0.9rem;
        font-weight: 800;
        line-height: 1.6;
      }

      .photo-disclaimer {
        grid-column: 1 / -1;
        margin: 0;
        padding-top: 18px;
        border-top: 1px solid rgba(255, 255, 255, 0.35);
        color: rgba(255, 255, 255, 0.85);
        font-size: 0.88rem;
      }

      @media (max-width: 700px) {
        .photo-gallery {
          grid-template-columns: minmax(0, 1fr);
          gap: 18px;
        }
      }
    
      /* 2026-10-03 16:47:00 K.HASHIMOTO セッションターン数：[2] 意味単位の折り返しと、場面ごとの写真を表示する。 */
      body { line-break: strict; }
      .phrase { display: inline-block; white-space: nowrap; }
      h1, h2, h3, .job-verb, .work-row-label { word-break: normal; overflow-wrap: normal; text-wrap: balance; }
      @supports (word-break: auto-phrase) {
        p, li, figcaption, summary, .hero-lead, .job-types, .work-row strong { word-break: auto-phrase; }
      }
      .hero-copy { min-width: 0; container-type: inline-size; }
      h1 { max-width: none; font-size: clamp(1.75rem, 10.8cqi, 4.1rem); line-height: 1.27; }
      .headline-line { display: block; }
      .section-title { max-width: 16em; font-size: clamp(1.75rem, 3.4vw, 3.2rem); line-height: 1.45; }
      .section-kicker, .section-label, .service-name { flex-wrap: wrap; }
      .section-kicker::after, .section-label::before, .service-name::before { flex-shrink: 0; }
      .activity-photo, .job-story > img, .work-row > img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
      .photo-gallery--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .photo-card figcaption { font-size: 1rem; line-height: 1.7; }
      .photo-card figcaption strong { display: block; margin-bottom: 2px; font-size: 1.2rem; }
      .visit-photo { margin: 0 0 40px; }
      .visit-photo img { aspect-ratio: 16 / 9; }
      .photo-card--environment { margin-top: 32px; }
      .step h3, .route-step h3 { font-size: 1.05rem; line-height: 1.7; }
      @media (max-width: 1020px) and (min-width: 761px) {
        .fit-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; }
      }
      @media (max-width: 760px) {
        h1 { font-size: clamp(1.75rem, 10.8cqi, 3.6rem); }
        .section-title { font-size: clamp(1.7rem, 6.4vw, 2.6rem); }
        .photo-gallery--three { grid-template-columns: minmax(0, 1fr); }
        .photo-card figcaption { padding: 14px 18px 18px; }
        .visit-photo { margin-bottom: 30px; }
      }

      /* 2026-10-03 16:47:00 K.HASHIMOTO セッションターン数：[2] 仕事の3分類に作業写真を直接組み合わせる。 */
      .job-stories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; border-top: 0; }
      .job-story { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--ivory); }
      .job-verb { margin: 20px 22px 10px; font-size: clamp(1.8rem, 2.8vw, 2.6rem); line-height: 1.4; }
      .job-types { padding: 0 22px 16px; }
      .job-story p { padding: 0 22px 26px; font-size: 0.93rem; }
      .support .photo-gallery { position: relative; z-index: 2; }
      /* 2026-10-03 17:11:21 K.HASHIMOTO セッションターン数：[4] 見学写真を本文・手順と同じ幅に揃える。 */
      .process .visit-photo { width: 100%; max-width: none; }
      .process .visit-photo figcaption { color: var(--ink); }
      /* 2026-10-03 17:04:00 K.HASHIMOTO セッションターン数：[3] 写真列の左右余白を本文と同じ中央寄せにする。 */
      .day-scenes { margin-top: 44px; margin-inline: auto; }
      @media (max-width: 1020px) and (min-width: 761px) {
        .job-stories { gap: 16px; }
        .job-verb { margin-inline: 16px; }
        .job-types, .job-story p { padding-inline: 16px; }
        .support-stage { grid-template-columns: minmax(0, 1fr) minmax(180px, 0.7fr) minmax(0, 1fr); gap: 14px; }
        .support-core { padding: 26px 16px; }
        .support-core strong { font-size: 1.5rem; }
      }
      @media (max-width: 760px) {
        .job-stories { grid-template-columns: minmax(0, 1fr); gap: 26px; }
        .job-verb { font-size: 2.1rem; }
      }
    

/* 2026-10-05 12:34:11 K.HASHIMOTO セッションターン数：[3] 統合フォームの選択肢とタブレット幅のフッターを整える。 */
.knit-lp-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:25px}
.knit-lp-fields>fieldset,.knit-lp-fields>label:has(textarea){grid-column:1/-1}
.knit-lp-fields>fieldset{border:0!important;padding:0!important;margin:0!important;min-width:0}
.knit-lp-fields legend{font-weight:900!important;font-size:.9rem!important}
.knit-lp-fields input:not([type=checkbox]):not([type=radio]),.knit-lp-fields select,.knit-lp-fields textarea{width:100%;min-height:52px;padding:13px 15px!important;border:1.5px solid rgba(52,36,29,.28)!important;border-radius:10px!important;background:white;color:var(--ink)}
.knit-lp-fields textarea{min-height:150px}
.knit-lp-fields input[type=checkbox],.knit-lp-fields input[type=radio]{accent-color:var(--teal)}
.knit-lp-fields input:focus,.knit-lp-fields select:focus,.knit-lp-fields textarea:focus{outline:3px solid rgba(47,127,120,.16);outline-offset:2px}
.knit-lp-fields div:has(>label>input[type=radio]){flex-direction:row!important;flex-wrap:wrap;gap:10px!important}
.knit-lp-fields label:has(>input[type=radio]){position:relative;min-height:46px;padding:9px 15px;border:1.5px solid rgba(52,36,29,.25);border-radius:999px;background:white;font-size:.85rem!important;font-weight:800!important;cursor:pointer}
.knit-lp-fields label>input[type=radio]{position:absolute;width:1px;height:1px;opacity:0}
.knit-lp-fields label:has(>input[type=radio]:checked){border-color:var(--teal);background:var(--teal-pale)}
.knit-lp-fields label:has(>input[type=radio]:focus-visible){outline:4px solid var(--teal);outline-offset:3px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr;gap:28px}.footer-links{justify-content:flex-start}}
@media(max-width:640px){.knit-lp-fields{grid-template-columns:1fr}}

/* 2026-10-07 16:10:29 [GPT-6] セッションターン数：[4] */
:root{--amber:#fbbe01;--amber-soft:#ffe58b;--amber-pale:#fff4c7;--coral:#e96843;--coral-dark:#b84429;--teal:#2f7f78;--ink:#34241d;--ink-soft:#6f5c51;--ivory:#fff9ea;--paper:#fffdf8;--line:rgba(52,36,29,.16);--font:"Zen Kaku Gothic New","BIZ UDPGothic","Yu Gothic",sans-serif}
.site-header{position:sticky;top:0;z-index:50;padding:0;background:var(--paper);border-bottom:3px solid var(--amber)}
.header-top{display:flex;align-items:center;gap:22px;padding-block:15px}
.header-top .brand{padding:0;background:none;box-shadow:none;border-radius:0}
.header-top .brand img{width:160px;height:auto}
.brand-context{font-size:13px;line-height:1.6;margin:0;color:var(--ink-soft);font-weight:700}
.brand-context span{font-size:15px;color:var(--ink)}
.header-phone{margin-left:auto;font-size:22px;text-decoration:none;font-weight:900;line-height:1.4;white-space:nowrap}
.header-phone small{display:block;font-size:12px;text-align:right;font-weight:500;color:var(--ink-soft)}
.header-contact{padding:12px 23px;min-height:0;font-size:15px;border-radius:9px}
.site-nav{display:flex;justify-content:space-between;gap:3px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
.site-nav a{flex:0 0 auto;padding:12px 16px 14px;min-height:48px;text-decoration:none;font-size:15px;color:var(--ink);border-bottom:4px solid transparent;font-weight:700}
.site-nav a[aria-current="page"]{background:var(--amber-pale);border-color:var(--teal);color:#174d48}
.site-nav a:hover{background:var(--amber-pale)}
html{scroll-padding-top:155px}
.hero{padding-top:75px}
.subpage{padding-block:28px 90px;min-height:70vh}
.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink-soft);padding-block:4px 25px;flex-wrap:wrap;line-height:1.7}
.breadcrumbs a{text-underline-offset:4px}
.page-heading{padding-block:14px 36px}
.page-heading h1,.blog-intro h1,.article-heading h1{font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1.5;margin:0;letter-spacing:.015em;overflow-wrap:anywhere}
.page-heading:after{content:"";display:block;background:var(--amber);width:78px;height:7px;margin-top:24px;border-radius:4px}
.page-content{font-size:17px;line-height:1.95}
.page-content h2,.prose h2{font-size:clamp(25px,3vw,34px);font-weight:900;line-height:1.55;margin:0 0 20px}
.page-content h3,.prose h3{font-size:22px;line-height:1.65;margin:26px 0 12px}
.page-content p{margin:0 0 20px}
.page-content>section{padding:46px 0;margin:0;border-bottom:1px solid var(--line)}
.page-content>section:first-child{padding-top:0}
.page-content>section:last-child{border:0}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.content-grid.reverse .content-copy{order:2}
.content-grid.reverse .content-photo{order:1}
.content-copy p,.prose p{max-width:42em}
.content-photo{margin:0}
.content-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:20px 20px 5px 20px}
.content-photo figcaption,.blog-intro-image figcaption{font-size:12px;color:var(--ink-soft);margin-top:9px;line-height:1.6}
.feature-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0}
.feature-gallery .content-photo img{border-radius:14px;aspect-ratio:4/3}
.work-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 35px;margin:24px 0;padding:0;list-style:none}
.work-list li{border-bottom:1px solid var(--line);padding:18px 0}
.work-list strong{display:block;color:var(--teal);font-size:20px;margin-bottom:6px}
.note-box{padding:26px 30px;margin:30px 0;border-left:5px solid var(--teal);background:#dcefeb;border-radius:0 14px 14px 0}
.note-box p:last-child{margin-bottom:0}
.representative-message{padding:30px 36px;background:var(--amber-pale);border-radius:20px;font-size:18px;line-height:2}
.support-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;list-style:none;padding:0;margin:30px 0}
.support-list li{padding:24px 0;border-bottom:1px solid var(--line)}
.support-list h3{margin:0 0 10px;color:var(--teal)}
.flow-list{counter-reset:flow;list-style:none;padding:0;margin:30px 0}
.flow-list li{counter-increment:flow;position:relative;padding:20px 0 20px 70px;border-bottom:1px solid var(--line)}
.flow-list li:before{content:counter(flow);position:absolute;left:0;top:22px;font-size:20px;font-weight:900;width:44px;height:44px;border-radius:50%;background:var(--amber);text-align:center;line-height:44px}
.flow-list strong{display:block;font-size:21px;line-height:1.6}
.office-table{width:100%;border-collapse:collapse;margin:25px 0;font-size:16px}
.office-table th,.office-table td{text-align:left;padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:top}
.office-table th{width:28%;background:var(--amber-pale);font-weight:700}
.office-table td{background:var(--paper)}
.map-content img{aspect-ratio:auto;object-fit:contain;border:1px solid var(--line);background:white}
.text-link{display:inline-block;font-weight:800;color:#245f59;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;padding-block:7px}
.page-content .button{margin-top:12px}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.latest-posts{background:var(--paper)}
.blog-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-block:25px 55px}
.blog-intro .section-lead{margin-top:24px}
.blog-intro-image{margin:0}
.blog-intro-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:22px 22px 6px 22px}
.blog-tools{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-bottom:35px;border-top:1px solid var(--line);padding-top:26px}
.category-tabs{display:flex;gap:8px;flex-wrap:wrap}
.category-tabs a,.post-categories a{padding:8px 16px;border:1px solid var(--line);border-radius:50px;font-size:14px;font-weight:700;text-decoration:none;background:var(--paper);display:inline-block}
.category-tabs a[aria-current="page"],.category-tabs a:hover{background:var(--amber);border-color:var(--amber)}
.search-form{display:flex;max-width:360px;width:100%;gap:8px}
.search-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:white;padding:10px 12px}
.search-form button{border:0;border-radius:8px;padding:10px 18px;background:var(--teal);color:white;white-space:nowrap;font-weight:800;cursor:pointer}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.blog-card{border-bottom:2px solid var(--line);padding-bottom:24px;min-width:0}
.blog-card-image{display:block;overflow:hidden;border-radius:15px}
.blog-card-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.blog-card-body{padding-top:17px}
.blog-card h2{font-size:22px;line-height:1.65;margin:10px 0 12px;overflow-wrap:anywhere}
.blog-card h2 a{text-decoration:none}
.blog-card h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.blog-card p{font-size:15px;color:var(--ink-soft);line-height:1.85}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--ink-soft);font-size:13px}
.post-categories{display:flex;flex-wrap:wrap;gap:6px}
.post-categories a{font-size:12px;padding:3px 12px;border:0;background:var(--amber-pale)}
.empty-state{grid-column:1/-1;border:1px dashed var(--line);padding:48px 35px;text-align:center;border-radius:16px;background:var(--paper)}
.empty-state h2{font-size:25px;margin:0 0 12px}
.empty-state.compact{padding:25px}
.pagination{padding-block:28px}
.pagination .nav-links{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.page-numbers{padding:8px 16px;border:1px solid var(--line);border-radius:8px;text-decoration:none}
.page-numbers.current{background:var(--amber)}
.single-post-content{max-width:880px}
.article-heading{margin-bottom:35px}
.article-heading h1{font-size:clamp(28px,4vw,42px);margin:20px 0}
.article-image{width:100%;height:auto;border-radius:18px;margin-bottom:35px}
.prose{font-size:18px;line-height:2;overflow-wrap:anywhere}
.prose img{height:auto;max-width:100%}
.prose h2{margin-top:50px}
.article-back{margin-block:25px}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.contact-offline{padding:30px;background:var(--paper);border:1px solid var(--line);border-radius:16px}
.form-panel{max-width:760px;padding:32px;background:var(--paper);border-radius:18px;margin:30px auto}
.form-panel table{width:100%;border-collapse:collapse;margin-bottom:30px}
.form-panel th,.form-panel td{padding:15px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.form-panel th{width:30%}
.form-error{padding:20px;background:#fff1ec;border-left:4px solid var(--coral-dark)}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto;white-space:normal}
body:has(#wpadminbar) .site-header{top:32px}
@media(max-width:1024px){.site-nav a{font-size:14px;padding-inline:13px}.content-grid{gap:32px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-intro{gap:35px}.brand-context{display:none}}
@media(max-width:767px){html{scroll-padding-top:122px}.wrap,.header-inner{width:calc(100% - 36px)}.header-top{gap:12px;padding-block:12px}.header-top .brand img{width:116px}.header-phone{display:none}.header-contact{margin-left:auto;font-size:12px;padding:9px 12px}.site-nav{width:100%;padding-inline:18px;justify-content:flex-start}.site-nav a{padding:11px 14px;font-size:13px;min-height:43px}.hero{padding-top:38px}.content-grid,.blog-intro{grid-template-columns:1fr;gap:26px}.content-grid.reverse .content-copy,.content-grid.reverse .content-photo{order:initial}.subpage{padding-block:22px 55px}.page-heading{padding-bottom:28px}.page-content{font-size:16px}.page-content>section{padding-block:34px}.feature-gallery{grid-template-columns:1fr;gap:25px}.work-list,.support-list{grid-template-columns:1fr;gap:0}.representative-message{padding:25px}.note-box{padding:22px}.office-table th,.office-table td{padding:13px 12px;font-size:14px}.office-table th{width:31%}.blog-intro{padding-block:5px 32px}.blog-intro-image img{max-height:280px}.blog-tools{gap:18px}.blog-grid{grid-template-columns:1fr}.section-heading-row{align-items:flex-start;flex-direction:column;gap:15px}.form-panel{padding:20px}.prose{font-size:16px}.footer-grid{grid-template-columns:1fr}.footer-links{align-items:flex-start}.footer-org{overflow-wrap:anywhere}.contact-mail strong{font-size:clamp(14px,4.5vw,21px)}body:has(#wpadminbar) .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* JavaScriptを使わないKnitプレビューでも主画像を表示する。 */
.hero-art{opacity:1;transform:none}

/* 2026-10-15 16:58:00 [GPT-6] セッションターン数：[6] */
/* 独立サイトの横スクロールナビをヘッダー内に収める。 */
.site-header .site-nav{position:static;inset:auto}
