/* レスポンシブ */

@media (max-width: 960px) {
  /* ── 制度改正のお知らせ（成年後見・任意後見・法定後見の3ページ共通） ── */
  .c-system-notice {
    margin-top: 44px;
    margin-bottom: 52px;
    padding: 18px;
    border-radius: 10px;
  }

  .c-system-notice__title {
    font-size: 16px;
  }

  .c-system-notice__text {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
    text-wrap: wrap; /* justify とセット */
  }

  .c-system-notice__text .u-phrase {
    display: inline;
    white-space: nowrap;
  }
  .p-sub_pc_on {
    display: none !important;
  }

  table .p-sub_pc_on {
    display: none !important;
  }

  .p-sub_sp_on {
    display: block !important;
    z-index: 1 !important;
  }

  table .p-sub_sp_on {
    display: table-cell !important;
  }

  h1, h2, h3, section, [id] {
    scroll-margin-top: 84px;
  }

  .l-inner {
    width: 100%;
    max-width: calc(100% - 32px);
  }

  .c-table tr{
    display: block;
  }

  .c-table tr th,
  .c-table tr td {
    display: block;
  }

  .c-pagination-inner{
    max-width: 140px;
  }

  .p-sub_head {
    font-size: 23px !important;
    margin-bottom: 25px !important;
  }

  /* サブページ---company */
  .p-compan_greeting{
    margin-bottom: 4rem;
  }

  .p-company_greeting-name{
    font-size: 23px;
  }

  .p-company_greeting-name-title{
    font-size: 18px;
  }

  .p-company-header {
    padding: 40px 24px 56px !important;
  }

  .p-company-header__en {
    font-size: 28px !important;
  }

  .p-company-hero {
    height: 640px !important;
  }

  .p-company-hero__card {
    width: calc(100% - 40px) !important;
    padding: 28px 20px !important;
  }

  .p-company-hero__card-title {
    font-size: 20px !important;
  }

  .p-company-hero__card-body {
    font-size: 13px !important;
    line-height: 2 !important;
  }

  .p-company-hero__card-name {
    font-size: 15px !important;
  }

  .p-company-section {
    padding: 56px 0 !important;
  }

  .p-company-section__en {
    font-size: 24px !important;
  }

  .p-company-section__body {
    padding: 0 20px !important;
  }

  .p-company-table__th,
  .p-company-table__td {
    padding: 16px 14px !important;
    font-size: 14px !important;
  }

  .p-company-table__th {
    width: 36% !important;
  }

  .p-company-map iframe {
    height: 300px !important;
  }


  .c-btn-circle_text {
      font-size: 16px;
  }

  .c-btn-circle a {
      gap: 1rem;
      padding: 1rem 2rem;
  }

  /* ── 汎用固定ページ ── */
  .p-page {
    padding-top: 50px;
  }

  .p-page__body p {
    font-size: 16px;
    line-height: 28px;
  }

  .p-page__body p + p {
    margin-top: 20px;
  }

  /* ── お問い合わせ完了 ── */
  .p-contact-complete {
    padding-top: 50px;
  }

  /* 「お問い合わせが完了しました。」が375pxで1行に収まる大きさ */
  .p-contact-complete__title {
    font-size: 20px;
    line-height: 32px;
  }

  .p-contact-complete__body {
    margin-top: 24px;
    text-align: left;
  }

  .p-contact-complete__body p {
    font-size: 16px;
    line-height: 28px;
  }

  .p-contact-complete__body p + p {
    margin-top: 20px;
  }

  .p-contact-complete__btn {
    width: 100%;
    max-width: 221px;
    height: 50px;
    margin-top: 32px;
  }

  .p-contact-complete__btn span {
    left: 20px;
  }

  /* カテゴリナビ */
  .c-category-box-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .c-category-box {
    text-align: center;
    white-space: normal;
    word-break: keep-all;
  }

  .p-property-single_gallery {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }
  .p-property-single_section_title {
    font-size: 18px;
    padding-bottom: 12px;
    margin-bottom: 12px;
  }

  .p-property-single_section_text {
    font-size: 14px;
  }

  .p-property_list{
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .p-sub_column_main_contents,
  .p-sub_column_side_contents {
    width: 100%;
  }

  .p-sub_column_list a {
    grid-template-columns: 100px 1fr;
    gap: 16px;
    padding: 4vw;
  }

  .p-sub_column_list_body{
    width: 80%;
  }

  .p-sub_column_inner {
    flex-direction: column;
    padding: 40px 0 80px;
    gap: 40px;
  }

  .p-property_btn-wrap .c-btn{
    width: 320px;
  }

  /* ── サブヘッダー ── */
  .l-subheader {
    height: auto;
  }

  .l-subheader__inner {
    gap: 8px;
    padding: 24px 16px;
  }

  .l-subheader__img {
    width: 66px;
    height: auto;
  }

  /* タイトルが長いページでも折り返せるようにする */
  .l-subheader__body {
    min-width: 0;
  }

  .l-subheader__label {
    height: auto;
    font-size: 13px;
    line-height: 1.6;
  }

  .l-subheader__title {
    font-size: 18px;
    line-height: 1.5;
  }

  .c-breadcrumb {
    padding-top: 16px;
  }

  .c-section-title {
    gap: 10px;
    font-size: 22px;
    /* 長い見出しの文節折り返しは HTML 側の cosmos_phrases()（.u-phrase）で行う（auto-phrase は Chrome 系のみ） */
  }

  /* SPの見出しは行の長さをそろえる balance をやめる（短く細かい改行になるため）。
     pretty は Chrome 系だけ（common.css の body と同じ理由。Safari は wrap） */
  h1, h2, h3 {
    text-wrap: wrap;
  }

  @supports (word-break: auto-phrase) {
    h1, h2, h3 {
      text-wrap: pretty;
    }
  }

  /* 行政書士ページの見出しは文節で区切らず自然に折り返す */
  .p-shigyou-lead .c-section-title {
    word-break: normal;
  }

  /* SPの本文は右端をそろえて読みやすくする（中央ぞろえのものは含めない）
     ⚠ 両端ぞろえ（justify）の文章は必ず text-wrap: wrap とセットにする。
     body の text-wrap: pretty は iPhone の Safari では「最終行を長くするために前の行から文字を持っていく」ため、
     前の行が数文字ぶん短くなり、その不足分を justify が字間に配って文字間隔がスカスカになる。
     wrap（先頭から詰める）なら不足は最大1〜2文字ぶんなので目立たない */
  .p-top-about__text,
  .p-aboutsystem-about__text p,
  .p-aboutsystem-flow__card-text p,
  .p-aboutsystem-flow__top-text,
  .p-aboutsystem-can__text,
  .p-aboutus-about__body p,
  .p-aboutus-character__body p,
  .p-aboutus-org__block-area,
  .p-activity-summary__lead,
  .p-activity-summary__list li,
  .p-activity-report__lead,
  .p-houtei-about__text,
  .p-houtei-detail__table p,
  .p-houtei-detail__list li,
  .p-nini-about__text,
  .p-gohonnin-worry__text p,
  .p-gohonnin-worry__list li,
  .p-hukushi-worry__text p,
  .p-hukushi-worry__list li,
  .p-shigyou-lead__text p,
  .p-muryousoudan-intro__text p,
  .p-faq__a-inner p,
  .p-sanjokaiin-intro__text p,
  .p-sanjokaiin-table__lead,
  .p-sanjokaiin-table__ol li,
  .p-sanjokaiin-table__ul li,
  .p-privacy__lead,
  .p-privacy__text p {
    text-align: justify;
    text-wrap: wrap;
  }

  /* 福祉関係者ページの見出し：「日々の支援で、一人で抱え込んでいる／お悩みはありませんか？」の2行に収める */
  .p-hukushi-worry .c-section-title {
    font-size: 18px;
  }

  /* ご本人・ご家族ページの見出し：「…まずは／私たちにお話ししてみませんか？」の2行に収める */
  .p-gohonnin-worry .c-section-title {
    font-size: 20px;
  }

  .c-section-title__icon {
    width: 26px;
    height: 25px;
    /* 1行目の文字の高さ(1.2em=26.4px)に対して上下中央に置く */
    margin-top: 1px;
  }

  :root { --inner-pad: 24px; }

  .c-instagram-list {
    gap: 10px;
    margin-bottom: 32px;
  }

  .p-business__section {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 60px var(--inner-pad);
  }

  .p-business__flow__step {
    padding: 140px 24px 24px;
  }

  .p-business__flow__step-badge {
    left: 50%;
    top: 24px;
    transform: translateX(-50%);
  }

  .p-business__flow__step-num {
    left: 50%;
    top: 115px;
    transform: translateX(-50%);
  }

  .p-business__flow__step-title {
    text-align: center;
    margin-top: 16px;
  }

  .p-business__flow__step-body {
    text-align: left;
  }

  .p-business__property {
    padding: 60px 0;
  }



  .c-property-list {
    gap: 20px;
  }

  .c-property-list__item {
    width: min(280px, 78vw);
  }

  .p-single-column_post_wrapper {
      padding: 3rem 2rem;
  }

  /* ══════════════════════════════════════
     コスモス トップページ SP
     ══════════════════════════════════════ */

  /* ── 共通コンポーネント ── */
  .c-label-en {
    height: auto;
    font-size: 18px;
    line-height: 32px;
  }

  .c-heading {
    height: auto;
    font-size: 24px;
    line-height: 36px;
  }

  .c-more {
    font-size: 16px;
    line-height: 32px;
  }

  /* SPは1行目に日付＋カテゴリー、2行目にタイトル（長いカテゴリー名がバッジからはみ出さないように） */
  /* 2列目を 1fr にする。max-content 同士だと、2列にまたがるタイトルの幅が
     日付の列まで押し広げ、タイトルが長い行ほどバッジが右へずれる */
  .c-postlist__link {
    grid-template-columns: max-content 1fr;
    justify-content: start;
    column-gap: 8px;
    row-gap: 4px;
    height: auto;
    padding: 10px 0;
  }

  .c-postlist__title {
    grid-column: 1 / -1;
  }

  .c-postlist__date,
  .c-postlist__title {
    font-size: 14px;
  }

  /* ── ヘッダー ── */
  .l-header {
    position: sticky;
    top: 0;
    padding: 16px 0;
  }

  .admin-bar .l-header {
    top: 46px;
  }

  /* SPカンプ未支給のため、上段は従来どおりロゴのみ全幅で表示する */
  .l-header__top {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .l-header__tel {
    display: none;
  }

  .l-header__logo {
    gap: 4px;
    padding: 0 56px 0 12px;
  }

  .l-header__logo img {
    width: 100%;
    max-width: 200px;
    height: auto;
  }

  .l-header__branch {
    top: 4px;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
  }

  .l-header__nav {
    display: none;
  }

  .l-header__hamburger {
    display: flex;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
  }

  /* ── KV ── */
  /* SPカンプ（375px）に合わせて配置し直す。位置は375×520基準の% */
  .p-top-kv {
    margin-top: 0;
  }

  .p-top-kv__stage {
    aspect-ratio: 375 / 520;
  }

  .p-top-kv__bg {
    top: 0.769%;
  }

  /* アーチは SVG 側で左右対称にしてある。食い出しを左右均等にして頂点を中央に置く */
  .p-top-kv__arc {
    top: -0.096%;
    left: -2.175%;
    width: 104.35%;
  }

  .p-top-kv__logo {
    top: 13.365%;
    left: 11.2%;
    width: 78.667%;
  }

  /* コピーは画像からテキストになったぶん、SPも vw（SPカンプ 375px 基準の比率）で指定する。
     px 固定だと 320px など狭い端末で 1行に収まらずはみ出す。
     例：31.2px ÷ 375px = 8.32vw */
  .p-top-kv__copy {
    top: 26.827%;
    left: 3%;
    width: 94%;
  }
  .p-top-kv__lead,
  .p-top-kv__title {
    font-size: 7.3vw;
    -webkit-text-stroke-width: 1.12vw;
  }

  .p-top-kv__sm {
    font-size: 5.62vw;
  }

  .p-top-kv__title {
    margin-top: 1.12vw;
  }

  .p-top-kv__subcopy {
    margin-top: 2.81vw;
    font-size: 3.65vw;
    -webkit-text-stroke-width: 0.7vw;
  }
  .p-top-kv__sapota {
    top: 53.75%;
    left: 13.067%;
    width: 28.36%;
  }

  /* 文字サイズはSPカンプ 375px 基準の vw（10px ÷ 375px = 2.667vw）。ボタン（top 86%）に当たらない高さに置く */
  .p-top-kv__credit {
    top: 70.5%;
    left: 43.5%;
    font-size: 2.667vw;
    line-height: 1.27;
    -webkit-text-stroke-width: 0.55vw;
  }

  .p-top-kv__credit-mark {
    font-size: 2.4vw;
  }

  .p-top-kv__btn {
    top: 86.058%;
    left: 53.867%;
    width: 168px;
    height: 36px;
    border-radius: 18px;
    font-size: 15px;
  }

  /* ── FOR YOU ── */
  .p-top-foryou {
    padding: 40px 0;
  }

  /* カードの左右に余白をとる（はみ出すさぽ太が画面内に収まるよう30pxずつ） */
  .p-top-foryou .l-inner {
    max-width: calc(100% - 60px);
  }

  /* 見出しを1行に収める（13文字×字間0.12em が画面幅-60pxに収まるサイズ・最大22px） */
  .p-top-foryou__title {
    font-size: min(22px, calc((100vw - 60px) / 14.6));
    white-space: nowrap;
  }

  .p-top-foryou__sapota {
    width: 80px;
    height: auto;
  }

  .p-top-foryou__list {
    flex-direction: column;
    gap: 24px;
    margin-top: 32px;
  }

  .p-top-foryou__card {
    width: 100%;
    min-height: 0;
    padding: 24px 16px;
    text-align: center;
  }

  .p-top-foryou__icon {
    margin-inline: auto;
  }

  .p-top-foryou__card-title {
    font-size: min(22px, calc((100vw - 92px) / 11.6));
    line-height: 34px;
  }

  /* SPは文字を優先して16pxにし、PC用の改行指定は外して文節で折り返す */
  .p-top-foryou__card-text {
    font-size: 16px;
    letter-spacing: 0.06em;
  }

  .p-top-foryou__br {
    display: none;
  }

  .p-top-foryou__card .c-more {
    margin-inline: auto;
  }

  /* さぽ太はカードに対してPCと同じ位置に、0.8倍で表示 */
  .p-top-foryou__sapota--side {
    right: -28px;
    bottom: 8px;
    width: 85px;
    height: 102px;
  }

  .p-top-foryou__sapota--peek {
    top: -12px;
    right: -6px;
    width: 82px;
    height: 115px;
  }

  /* ── ABOUT US ── */
  .p-top-about {
    padding: 50px 0 60px;
  }

  .p-top-about__sapota {
    width: 80px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-about__intro {
    flex-direction: column;
    gap: 24px;
    margin-top: 32px;
  }

  .p-top-about__img {
    width: 100%;
    height: auto;
  }

  /* 「コスモス成年後見サポートセンター」（16文字）が1行に収まる大きさ */
  .p-top-about__title {
    font-size: 19px;
    line-height: 30px;
    letter-spacing: 0.08em;
  }

  .p-top-about__text {
    width: 100%;
  }

  .p-top-about__movie {
    height: auto;
    aspect-ratio: 16 / 9;
    margin-top: 40px;
  }

  .p-top-about__sapota--side {
    display: none;
  }

  .p-top-about__gallery {
    margin-top: 40px;
  }

  .p-top-about__gallery-track {
    animation-name: p-top-marquee-sp;
  }

  .p-top-about__gallery-track img {
    width: 200px;
    height: 128px;
  }

  @keyframes p-top-marquee-sp {
    from { transform: translateX(0); }
    to   { transform: translateX(-2000px); }
  }

  /* ── ABOUT THE SYSTEM ── */
  .p-top-system {
    padding: 50px 0 60px;
  }

  .p-top-system__sapota {
    width: 80px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-system__title {
    margin-top: 24px;
  }

  .p-top-system__lead {
    margin-top: 16px;
    font-size: 16px;
    line-height: 28px;
  }

  /* SPカンプ：2項目の文字は出さず、さぽ太を各カード上部に置く */
  .p-top-system__flow {
    display: none;
  }

  .p-top-system__list {
    flex-direction: column;
    gap: 53px;
    margin-top: 32px;
  }

  .p-top-system__card {
    display: block;
    width: 320px;
    max-width: 100%;
    min-height: 0;
    margin-inline: auto;
    /* 下の余白は、上のさぽ太までの余白（35〜38px）と同じくらいにする。
       左右は 24px → 18px：チェック項目の「〜方」が14〜15文字なら1行に収まる幅（文字 253px）にして、
       2行目が短く右に余白が空く項目を減らす */
    padding: 0 18px 36px;
  }

  .p-top-system__card-sapota {
    position: relative;
    display: block;
    margin-inline: auto;
    overflow: hidden;
  }

  .p-top-system__card-sapota img {
    position: absolute;
    max-width: none;
  }

  .p-top-system__card-sapota--idea {
    width: 94px;
    height: 70px;
    margin-top: 35px;
  }

  .p-top-system__card-sapota--idea img {
    top: -35.71px;
    left: -6.3px;
    width: 106.6px;
    height: 163.78px;
  }

  .p-top-system__card-sapota--point {
    width: 80px;
    height: 67px;
    margin-top: 38px;
  }

  .p-top-system__card-sapota--point img {
    top: -8.13px;
    left: -7.18px;
    width: 96.96px;
    height: 137.78px;
  }

  .p-top-system__pill {
    width: 214px;
    max-width: 100%;
    height: 32px;
    font-size: 16px;
  }

  .p-top-system__card-title {
    margin-top: 4px;
    font-size: 20px;
  }

  .p-top-system__card-text {
    max-width: 244px;
    margin: 10px auto 0;
    font-size: 15px;
    line-height: 20px;
    text-align: center;
  }

  .p-top-system__check {
    margin-top: 28px;
  }

  .p-top-system__check li {
    gap: 10px;
  }

  .p-top-system__check li + li {
    margin-top: 14px;
  }

  .p-top-system__check img {
    width: 21px;
    height: 19.5px;
    margin-top: 0;
    margin-left: -2px;
  }

  .p-top-system__check-text {
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.05em; /* 0.1em → 0.05em：15文字（障がいのある子をお持ちの親御様 など）を1行（253px）に収める */
  }

  .p-top-system__check .p-top-system__check-lead {
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.05em; /* 項目と同じ字間 */
    white-space: normal; /* SPは自然に折り返す */
  }

  /* 「くわしく見る」の上の余白は、カード下の余白（36px）と同じにする */
  .p-top-system__card .c-more {
    margin-top: 36px;
  }

  /* ── CTA 帯 ── */
  .p-top-cta__inner {
    flex-direction: column;
    gap: 12px;
    height: auto;
    padding: 32px 20px;
  }

  .p-top-cta__sapota {
    width: 72px;
    height: 74px;
  }

  .p-top-cta__body {
    width: auto;
    text-align: center;
  }

  .p-top-cta__title {
    font-size: 22px;
  }

  .p-top-cta__btn {
    width: 100%;
    max-width: 384px;
    height: 64px;
    margin-left: 0;
    font-size: 18px;
  }

  /* ── COSMOS NOW ── */
  .p-top-news {
    margin-top: 0;
    padding: 40px 0 60px;
    /* 花が画像の端にあり cover だと中央だけ切り出されて花が消えるため、上下に切り出した画像を置き、間を地の色で埋める */
    background:
      url(../img/common/bg_news_sp_top.png) center top / 100% auto no-repeat,
      url(../img/common/bg_news_sp_bottom.png) center bottom / 100% auto no-repeat
      var(--color-bg-news);
  }

  .p-top-news__sapota {
    width: 80px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-news__cols {
    flex-direction: column;
    gap: 40px;
    margin-top: 32px;
  }

  .p-top-news__col {
    width: 100%;
  }

  .p-top-news__head-title {
    margin-left: 10px;
    font-size: 20px;
  }

  /* 「コスモスおおさかだより」はSPで2行になる。「コスモスおおさ／かだより」と折れないよう HTML 側で
     cosmos_phrases()（.u-phrase）で「コスモスおおさか／だより」に区切っている */

  .p-top-news__dayori .p-top-news__head-title {
    line-height: 30px;
  }
  .p-top-news__dayori .p-top-news__head-title {
    padding-right: 10px;
    letter-spacing: 0.06em;
  }

  .p-top-news__dayori .c-more {
    flex: 0 0 auto;
    width: auto;
    max-width: 120px; /* 「バックナンバー」7文字ぶん（16px × 1.06em × 7 ≒ 119px） */
    line-height: 24px;
    letter-spacing: 0.06em;
    text-align: right;
  }

  .p-top-news__list .c-postlist__item + .c-postlist__item {
    margin-top: 0;
  }

  /* NEWS・実例は から PC・SP とも3件取得になったので、
     ここで4件目を隠す必要は無くなった（指定を残すと件数を増やすとき戻し忘れる） */

  /* コラムは横3件（4件目は出さない） */
  .p-top-news__column {
    margin-top: 40px;
  }

  .p-top-news__column-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 16px;
  }

  .p-top-news__column-item:nth-child(n+4) {
    display: none;
  }

  .p-top-news__column-thumb {
    border-radius: 6px;
  }

  .p-top-news__column-meta {
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
  }

  /* SPのカテゴリーバッジは小さめに揃える。
     コラムだけ指定していたので NEWS・実例（.c-postlist）も同じサイズにする */
  .p-top-news__column-meta .c-badge,
  .c-postlist__link .c-badge {
    min-width: 0;
    height: 20px;
    padding: 0 8px;
    font-size: 10px;
  }

  /* バッジの列は max-content だが、タイトルが2列にまたがるため長いタイトルに引っ張られて伸びる。
     内容ぶんの幅で止める */
  .c-postlist__link .c-badge {
    justify-self: start;
  }

  .p-top-news__column-date {
    font-size: 12px;
  }

  .p-top-news__column-title {
    margin-top: 6px;
    font-size: 13px;
    line-height: 20px;
  }

  .p-top-news__dayori {
    margin-top: 40px;
  }

  .p-top-news__dayori-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  /* だよりも横3件（4件目以降は出さない） */
  .p-top-news__dayori-item:nth-child(n+4) {
    display: none;
  }

  .p-top-news__dayori-item img {
    height: 160px;
  }

  .p-top-news__dayori-img--none {
    height: 160px;
  }

  .p-top-news__dayori-no {
    font-size: 14px;
    line-height: 32px;
  }

  /* ── SUPPORT US ── */
  .p-top-support {
    padding-top: 60px;
  }

  .p-top-support__sapota {
    width: 80px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .p-top-support__list {
    flex-direction: column;
    gap: 24px;
    margin-top: 32px;
  }

  .p-top-support__card {
    width: 100%;
    min-height: 0;
    padding: 24px;
  }

  .p-top-support__card-title {
    font-size: 20px;
  }

  .p-top-support__card-text {
    width: 100%;
    font-size: 14px;
  }

  /* ── お問い合わせ ── */
  .l-contact {
    padding: 60px 0 32px;
  }

  .l-contact__box {
    width: 100%;
    min-height: 0;
    padding: 24px 20px;
  }

  .l-contact__catch {
    font-size: 16px;
    line-height: 26px;
  }

  .l-contact__sapota {
    display: none;
  }

  .l-contact__body {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    padding-left: 0;
  }

  /* 受付時間を1行に収める（枠の幅いっぱいを使う） */
  .l-contact__tel {
    width: 100%;
  }

  .l-contact__btn {
    width: 100%;
    max-width: 273px;
    padding-left: 24px;
  }

  /* ── バナー ── */
  .l-bnr {
    padding-bottom: 48px;
  }

  .l-bnr__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .l-bnr__item--cream img {
    width: 100%;
    height: auto;
    max-height: 65px;
  }

  /* ── フッター ── */
  .l-footer {
    padding: 40px 0 16px;
  }

  .l-footer__sapota {
    display: none;
  }

  .l-footer__body {
    flex-direction: column;
    gap: 32px;
    padding-top: 0;
  }

  .l-footer__left {
    width: 100%;
    padding-left: 0;
  }

  .l-footer__logo img {
    width: 100%;
    max-width: 240px;
    height: auto;
  }

  .l-footer__branch {
    top: 4px;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
  }

  .l-footer__nav {
    flex-wrap: wrap;
    gap: 24px;
    padding-top: 0;
  }

  .l-footer__nav-col:nth-child(1),
  .l-footer__nav-col:nth-child(2) {
    width: auto;
  }

  .l-footer__bottom {
    margin-top: 32px;
  }

  .l-footer__pagetop {
    position: static;
    justify-content: flex-end;
    gap: 12px;
    margin: 24px 0 0;
    padding-right: 16px;
  }
}
@media (max-width: 960px) {

  /* ── aboutus：支部長挨拶 ── */
  .p-aboutus-greeting {
    padding-top: 50px;
  }

  .p-aboutus-greeting__body {
    margin-top: 28px;
    padding: 0 20px;
  }

  .p-aboutus-greeting__body p {
    font-size: 16px;
    line-height: 28px;
    text-align: justify; /* 右端をそろえて読みやすくする */
    text-wrap: wrap; /* justify とセット（上の注意書き参照） */
  }

  .p-aboutus-greeting__body p + p {
    margin-top: 24px;
  }

  /* SPは段落内の改行（PC用）を外し、文章を自然に流す（3つの問いかけの改行は残す） */
  .p-aboutus-greeting__br {
    display: none;
  }

  /* SPは回り込ませず、本文の上に中央で置く */
  .p-aboutus-greeting__figure {
    float: none;
    width: 100%;
    max-width: 270px;
    margin: 0 auto 24px;
  }

  .p-aboutus-greeting__caption {
    font-size: 14px;
    line-height: 22px;
  }

  /* 役職〜名前を1行に収めるため、文字を小さめにして折り返さない */
  .p-aboutus-greeting p.p-aboutus-greeting__name {
    margin-top: 28px;
    font-size: 20px;
    line-height: 1.6;
    white-space: nowrap;
  }

  .p-aboutus-greeting__name-role {
    margin-right: 8px;
    font-size: 15px;
  }

  .p-aboutus-greeting__name-note {
    font-size: 12px;
  }

  .p-aboutus-greeting__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 270 / 345;
  }

  /* ── aboutus：組織概要 ── */
  .p-aboutus-org {
    padding-top: 60px;
  }

  .p-aboutus-org__card {
    margin-top: 28px;
    padding: 24px 16px;
  }

  /* SPは「会員数などのカード → 日本地図」の順に並べる */
  .p-aboutus-org__japan {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
  }

  .p-aboutus-org__japan-map {
    width: 100%;
    height: auto;
  }

  /* Figmaのカードを幅に合わせて縮小。さぽ太はカードの中に配置する */
  .p-aboutus-org__stats {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    max-width: 363px;
    height: auto;
    margin: 0 auto 20px;
    padding: 21px 14px 25px 100px;
  }

  .p-aboutus-org__stats-sapota {
    top: 12px;
    left: 15px;
    width: 81px;
    height: 117px;
  }

  .p-aboutus-org__stats-date {
    font-size: 20px;
    line-height: 27px;
  }

  .p-aboutus-org__stats-list {
    grid-template-columns: 81px auto;
    gap: 11px 15px;
    margin-top: 10px;
  }

  .p-aboutus-org__stats-label {
    width: 81px;
    height: 24px;
    font-size: 14px;
  }

  .p-aboutus-org__stats-value {
    font-size: 20px;
    line-height: 27px;
  }

  .p-aboutus-org__osaka {
    flex-direction: column;
    align-items: center;
    margin-top: 32px;
    padding-left: 0;
  }

  .p-aboutus-org__osaka-map {
    width: 100%;
    max-width: 501px;
    margin-top: 0;
  }

  .p-aboutus-org__osaka-map img {
    width: 100%;
    height: auto;
  }

  /* 地図が縮むぶん、位置は％・文字サイズは縮小して表示する */
  .p-aboutus-org__osaka-label {
    font-size: 11px;
    line-height: 1.4;
  }

  .p-aboutus-org__osaka-label--north {
    top: 22.9%;
    left: 56.5%;
  }

  .p-aboutus-org__osaka-label--middle {
    top: 46%;
    left: 57.9%;
  }

  .p-aboutus-org__osaka-label--south {
    top: 70.2%;
    left: 50.1%;
  }

  .p-aboutus-org__blocks {
    width: 100%;
    margin-top: 24px;
  }

  .p-aboutus-org__block-head {
    padding: 12px 0;
    font-size: 16px;
  }

  .p-aboutus-org__block-area {
    padding: 16px;
    font-size: 14px;
    line-height: 24px;
  }

  /* ── aboutus：大阪府支部（組織図） ── */
  .p-aboutus-branch {
    padding-top: 60px;
  }

  .p-aboutus-branch__card {
    margin-top: 28px;
    padding: 35px 12px 41px;
  }

  .p-aboutus-branch__sapota {
    top: 160px;
    right: 2px;
    left: auto;
    width: 68px;
    height: 91px;
  }

  /* 組織図の統計カードは SP では組織図の上に積む（org__stats が relative になるのでそのまま流れる） */
  .p-aboutus-org__stats--branch {
    top: auto;
    left: auto;
    margin-bottom: 28px;
    padding-left: 92px;
  }

  .p-aboutus-org__stats--branch .p-aboutus-org__stats-sapota {
    left: 10px;
  }

  .p-aboutus-org__stats--branch .p-aboutus-org__stats-list {
    grid-template-columns: 76px auto;
    gap: 11px 12px;
  }

  .p-aboutus-org__stats--branch .p-aboutus-org__stats-label {
    width: 76px;
  }

  /* 文字サイズは組織概要の会員数カードと同じ 20px のまま。字間だけ詰めて1行に収める */
  .p-aboutus-org__stats--branch .p-aboutus-org__stats-value {
    letter-spacing: 0.06em;
    white-space: nowrap;
  }

  .p-aboutus-branch__chart {
    width: 100%;
  }

  .p-aboutus-branch__box {
    height: 72px;
    font-size: 24px;
    line-height: 32px;
  }

  .p-aboutus-branch__box--head {
    width: 100%;
    max-width: 172px;
  }

  .p-aboutus-branch__box--head + .p-aboutus-branch__box--head {
    margin-top: 33px;
  }

  .p-aboutus-branch__box--head + .p-aboutus-branch__box--head::before {
    height: 33px;
  }

  /* SPは各部を枠線で囲んだ2列グリッドにする */
  .p-aboutus-branch__depts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 14px;
    row-gap: 10px;
    margin-top: 49px;
    padding: 23px 18px;
    border: 1px solid var(--color-border-gray);
    border-radius: 10px;
  }

  .p-aboutus-branch__depts::before {
    /* 副支部長の枠線の外側から、部署を囲む枠線の外側まで */
    top: -50px;
    height: 49px;
  }

  /* SPは2列グリッドのため横線と枝線は出さない */
  .p-aboutus-branch__depts::after,
  .p-aboutus-branch__box--dept::before {
    display: none;
  }

  .p-aboutus-branch__box--dept {
    width: 100%;
  }

  .p-aboutus-branch__box--dept:last-child {
    font-size: 23px;
    line-height: 28px;
    text-wrap: wrap; /* 「相談会・／情報推進部」の2行で固定（iPhone で「情報／推進部」と3行に割れて枠からはみ出した） */
  }

  /* ── aboutus：コスモスおおさかについて ── */
  .p-aboutus-about {
    margin-top: 60px;
    padding: 50px 0 60px;
  }

  .p-aboutus-about__body {
    margin-top: 24px;
  }

  .p-aboutus-about__body p {
    font-size: 16px;
    line-height: 28px;
  }

  .p-aboutus-about__heading {
    margin-top: 32px;
    padding-bottom: 6px;
    font-size: 20px;
  }

  .p-aboutus-about__heading + .p-aboutus-about__body {
    margin-top: 14px;
  }

  .p-aboutus-about__btn {
    width: 100%;
    max-width: 265px;
    height: 52px;
    margin-top: 40px;
  }

  /* ── aboutus：公式キャラクター ── */
  .p-aboutus-character {
    padding: 50px 0 60px;
    background-size: cover;
  }

  .p-aboutus-character__sapota {
    position: static;
    display: block;
    width: 110px;
    height: auto;
    margin: 16px auto 0;
  }

  .p-aboutus-character__catch {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
  }

  .p-aboutus-character__name {
    font-size: 26px;
  }

  .p-aboutus-character__body {
    margin-top: 28px;
  }

  .p-aboutus-character__body p {
    font-size: 16px;
    line-height: 28px;
  }

  .p-aboutus-character__body p + p {
    margin-top: 28px;
  }

  /* ── aboutus：アクセス ── */
  .p-aboutus-access {
    padding: 60px 0;
  }

  .p-aboutus-access__map {
    height: 240px;
    margin-top: 28px;
  }

  /* TEL と FAX は2行にするため「 / 」を消す */
  .p-aboutus-access__sep {
    display: none;
  }

  .p-aboutus-access__address {
    margin-top: 24px;
    font-size: 16px;
    line-height: 28px;
  }

  .p-aboutus-access__address-name {
    font-size: 17px;
  }

  .p-aboutus-access__photos {
    flex-direction: column;
    gap: 16px;
    margin-top: 28px;
  }

  .p-aboutus-access__photos img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
}

@media (max-width: 960px) {

  /* ── activity：活動概要 ── */
  .p-activity-summary {
    padding-top: 50px;
  }

  .p-activity-summary__body {
    flex-direction: column;
    gap: 24px;
    margin-top: 28px;
  }

  .p-activity-summary__text {
    width: 100%;
  }

  .p-activity-summary__lead {
    font-size: 16px;
    line-height: 28px;
  }

  .p-activity-summary__list {
    margin-top: 20px;
  }

  .p-activity-summary__list li {
    padding-left: 26px;
    font-size: 16px;
    line-height: 28px;
  }

  .p-activity-summary__list li::before {
    top: 8px;
    width: 14px;
    height: 14px;
  }

  .p-activity-summary__list li + li {
    margin-top: 14px;
  }

  .p-activity-summary__img {
    width: 100%;
    height: auto;
    aspect-ratio: 421 / 271;
  }

  /* ── activity：活動報告 ── */
  .p-activity-report {
    padding: 60px 0;
  }

  .p-activity-report__lead {
    margin-top: 28px;
    font-size: 16px;
    line-height: 28px;
  }

  /* 表は縮めず横スクロールで見せる */
  .p-activity-report__scroll {
    margin-top: 28px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .p-activity-report__table {
    width: 760px;
    font-size: 14px;
    line-height: 26px;
  }

  .p-activity-report__table thead th {
    padding: 12px 0 12px 16px;
  }

  /* SPは行高を内容に合わせる（PCの212px固定を解除） */
  .p-activity-report__table tbody th,
  .p-activity-report__table tbody td {
    height: auto;
    padding: 14px 16px;
  }

  .p-activity-report__th--year,
  .p-activity-report__year {
    width: 110px;
    padding-left: 12px;
  }

  .p-activity-report__subtitle {
    margin-top: 44px;
    padding-bottom: 6px;
    font-size: 20px;
  }

  .p-activity-report__subtitle + .p-activity-report__scroll {
    margin-top: 20px;
  }

  /* 「最近の活動」の表は SP では出さない（p-sub_pc_on）。代わりに .p-activity-log のアコーディオンを表示する */
}

@media (max-width: 960px) {

  /* ── aboutsystem：制度について ── */
  .p-aboutsystem-about {
    padding-top: 50px;
  }

  .p-aboutsystem-about__body {
    flex-direction: column;
    gap: 24px;
    margin-top: 28px;
  }

  .p-aboutsystem-about__text {
    width: 100%;
  }

  .p-aboutsystem-about__text p {
    font-size: 16px;
    line-height: 28px;
  }

  .p-aboutsystem-about__text--gap {
    margin-top: 28px;
  }

  .p-aboutsystem-about__img {
    width: 100%;
    max-width: 406px;
    height: auto;
    margin: 0 auto;
  }

  /* ── aboutsystem：できること ── */
  .p-aboutsystem-can {
    margin-top: 60px;
    padding: 50px 0 60px;
  }

  .p-aboutsystem-can__list {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-top: 28px;
  }

  .p-aboutsystem-can__item {
    width: 100%;
    max-width: 352px;
    min-height: 0;
    padding: 24px 0 28px;
  }

  .p-aboutsystem-can__title {
    width: calc(100% - 32px);
    font-size: 15px;
  }

  .p-aboutsystem-can__text {
    width: calc(100% - 48px);
    margin-top: 18px;
    font-size: 16px;
    line-height: 26px;
  }

  /* ── aboutsystem：しくみ ── */
  .p-aboutsystem-flow {
    padding: 60px 0 20px;
  }

  .p-aboutsystem-flow__chart {
    margin-top: 28px;
    padding: 24px 16px;
  }

  .p-aboutsystem-flow__top {
    width: 100%;
    height: auto;
    min-height: 91px;
    padding: 16px 16px 18px 100px;
  }

  .p-aboutsystem-flow__top-sapota {
    top: 16px;
    left: 16px;
    width: 74px;
    height: 59px;
  }

  .p-aboutsystem-flow__top-deco {
    display: none;
  }

  .p-aboutsystem-flow__top-title {
    position: static;
    font-size: 20px;
    white-space: nowrap;
  }

  .p-aboutsystem-flow__top-text {
    position: static;
    width: auto;
    margin-top: 6px;
    font-size: 15px;
    line-height: 24px;
  }

  .p-aboutsystem-flow__cols {
    flex-direction: column;
    gap: 20px;
    margin-top: 40px;
  }

  .p-aboutsystem-flow__card {
    width: 100%;
    min-height: 0;
    padding: 36px 0 24px;
  }

  .p-aboutsystem-flow__card::before {
    height: 40px;
  }

  /* 縦並びでは2枚目の上の線を出さない */
  .p-aboutsystem-flow__card--sub::before {
    display: none;
  }

  .p-aboutsystem-flow__card-head {
    width: auto;
    margin-right: 40px;
    margin-left: 73px;
  }

  .p-aboutsystem-flow__card-title {
    width: auto;
    margin-left: 30px;
    font-size: 20px;
    text-align: left;
    white-space: nowrap;
  }

  .p-aboutsystem-flow__card-text {
    width: calc(100% - 32px);
    margin-top: 20px;
    margin-bottom: 0;
  }

  .p-aboutsystem-flow__card-text p {
    font-size: 16px;
    line-height: 26px;
  }

  .p-aboutsystem-flow__btn {
    width: 160px;
    height: 40px;
    margin-top: 20px;
    font-size: 14px;
  }

  .p-aboutsystem-flow__types {
    justify-content: center;
    gap: 10px;
    margin: 40px 0 0;
    padding-left: 0;
  }

  .p-aboutsystem-flow__type {
    width: auto;
    flex: 1;
    max-width: 132px;
    height: 56px;
    font-size: 18px;
  }

  .p-aboutsystem-flow__type::before {
    height: 40px;
  }
}

@media (max-width: 960px) {

  /* ── nini：制度について ── */
  .p-nini-about {
    padding-top: 50px;
  }

  .p-nini-about__body {
    flex-direction: column;
    gap: 20px;
    margin-top: 28px;
  }

  .p-nini-about__text {
    width: 100%;
    font-size: 16px;
    line-height: 28px;
  }

  .p-nini-about__img {
    width: 100%;
    max-width: 428px;
    height: auto;
    margin: 0 auto;
  }

  /* ── nini：対象の詳細 ── */
  .p-nini-target {
    padding-top: 60px;
  }

  .p-nini-target__card {
    min-height: 0;
    margin-top: 28px;
    padding: 28px 16px;
  }

  /* SPでは重なるため非表示 */
  .p-nini-target__sapota {
    display: none;
  }

  /* 2列表はSPで縦積みにする */
  .p-nini-target__table,
  .p-nini-target__table tbody,
  .p-nini-target__table tr,
  .p-nini-target__table th,
  .p-nini-target__table td {
    display: block;
    width: 100%;
  }

  .p-nini-target__table {
    margin-left: 0;
    font-size: 16px;
    line-height: 24px;
  }

  .p-nini-target__table th {
    padding: 12px 16px;
    line-height: 24px;
  }

  .p-nini-target__table td {
    padding: 16px;
  }

  .p-nini-target__table tr:last-child th,
  .p-nini-target__table tr:last-child td {
    height: auto;
  }

  .p-nini-target__table th,
  .p-nini-target__table td {
    border-right: .5px solid var(--color-border-gray);
  }

  .p-nini-target__table tr:first-child td,
  .p-nini-target__table tr:last-child th {
    border-radius: 0;
  }

  .p-nini-target__table tr:last-child th {
    border-bottom: 0;
  }

  .p-nini-target__table tr:first-child th {
    border-radius: 15px 15px 0 0;
  }

  .p-nini-target__table tr:last-child td {
    border-radius: 0 0 15px 15px;
  }

  .p-nini-target__label {
    width: calc(100% - 34px);
    margin: 32px 0 0 34px;
    padding-left: 30px;
    font-size: 16px;
  }

  .p-nini-target__label-sapota {
    top: 0;
    left: -30px;
    width: 55px;
    height: 47px;
  }

  .p-nini-target__list {
    margin-top: 24px;
    padding-left: 0;
  }

  .p-nini-target__list li {
    gap: 10px;
  }

  .p-nini-target__list li + li {
    margin-top: 14px;
  }

  .p-nini-target__list img {
    width: 18px;
    height: 18px;
    margin-top: 3px;
  }

  .p-nini-target__list span {
    font-size: 16px;
    line-height: 26px;
  }

  /* ── nini：手続きの流れ ── */
  .p-nini-flow {
    padding: 60px 0;
  }

  .p-nini-flow__list {
    width: 100%;
    margin-top: 28px;
  }

  .p-nini-flow__list > li + li {
    margin-top: 40px;
  }

  .p-nini-flow__list > li + li::before {
    bottom: calc(100% + 10px);
  }

  .p-nini-flow__step {
    padding: 18px 20px 20px 48px;
  }

  .p-nini-flow__step-title {
    font-size: 19px;
  }

  .p-nini-flow__step-num {
    top: 1px;
    left: -34px;
    width: 28px;
    height: 28px;
    font-size: 14px;
  }

  .p-nini-flow__step-body {
    margin-left: -22px !important; /* 箇条書きは番号の列まで左に寄せ、左右の余白のバランスをとる（common.css の ul !important に勝たせる） */
  }

  .p-nini-flow__step-body li {
    font-size: 16px;
    line-height: 26px;
    text-align: justify; /* 右端をそろえて読みやすくする */
    text-wrap: wrap; /* justify とセット（上の注意書き参照） */
  }

  .p-nini-flow__notice {
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    margin-top: 24px;
    padding: 20px 16px;
  }

  .p-nini-flow__notice img {
    width: 64px;
    height: auto;
  }

  .p-nini-flow__notice p {
    font-size: 18px;
    text-align: center;
  }

  .p-nini-flow__notice + .p-nini-flow__step {
    margin-top: 40px;
  }
}

@media (max-width: 960px) {

  /* ── houtei：制度について ── */
  .p-houtei-about {
    padding-top: 50px;
  }

  .p-houtei-about__body {
    flex-direction: column;
    gap: 20px;
    margin-top: 28px;
  }

  .p-houtei-about__text {
    width: 100%;
    font-size: 16px;
    line-height: 28px;
  }

  .p-houtei-about__img {
    /* 余白の少ない画像なので、他ページと絵の見た目サイズを揃えるため縮める */
    width: 88%;
    max-width: 379px;
    height: auto;
    margin: 0 auto;
  }

  /* ── houtei：3つの種類 ── */
  .p-houtei-type {
    margin-top: 60px;
    padding: 50px 0 60px;
  }

  .p-houtei-type__list {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-top: 28px;
  }

  .p-houtei-type__item {
    width: 100%;
    max-width: 352px;
    min-height: 0;
    padding-bottom: 28px;
  }

  .p-houtei-type__item--main .p-houtei-type__img,
  .p-houtei-type__item--sub .p-houtei-type__img,
  .p-houtei-type__item--yellow .p-houtei-type__img {
    margin-top: 28px;
  }

  .p-houtei-type__item--main .p-houtei-type__name {
    margin-top: 24px;
  }

  .p-houtei-type__item--sub .p-houtei-type__name,
  .p-houtei-type__item--yellow .p-houtei-type__name {
    margin-top: 24px;
  }

  .p-houtei-type__name {
    font-size: 22px;
  }

  .p-houtei-type__text {
    width: fit-content;
    max-width: calc(100% - 48px);
    font-size: 16px;
    line-height: 26px;
  }

  .p-houtei-type__btn {
    width: 160px;
    height: 40px;
    margin-top: 20px;
    font-size: 14px;
  }

  /* ── houtei：詳細 ── */
  .p-houtei-detail {
    padding-top: 60px;
  }

  .p-houtei-detail__block {
    min-height: 0;
    margin-top: 28px;
    padding: 68px 16px 28px;
  }

  .p-houtei-detail__block + .p-houtei-detail__block {
    margin-top: 40px;
  }

  .p-houtei-detail__tab {
    width: 130px;
    height: 52px;
    font-size: 20px;
  }

  /* 2列表はSPで縦積みにする */
  .p-houtei-detail__table,
  .p-houtei-detail__table tbody,
  .p-houtei-detail__table tr,
  .p-houtei-detail__table th,
  .p-houtei-detail__table td {
    display: block;
    width: 100%;
  }

  .p-houtei-detail__table {
    margin-left: 0;
    font-size: 16px;
    line-height: 24px;
  }

  .p-houtei-detail__table th {
    padding: 12px 16px;
    line-height: 24px;
  }

  .p-houtei-detail__table td,
  .p-houtei-detail__block--yellow .p-houtei-detail__table td {
    padding: 16px;
  }

  .p-houtei-detail__table tr:first-child th,
  .p-houtei-detail__table tr:first-child td,
  .p-houtei-detail__table tr:last-child th,
  .p-houtei-detail__table tr:last-child td {
    height: auto;
  }

  .p-houtei-detail__table th,
  .p-houtei-detail__table td {
    border-right: .5px solid var(--color-border-gray);
  }

  .p-houtei-detail__table tr:first-child td,
  .p-houtei-detail__table tr:last-child th {
    border-radius: 0;
  }

  .p-houtei-detail__table tr:last-child th {
    border-bottom: 0;
  }

  .p-houtei-detail__table tr:first-child th {
    border-radius: 15px 15px 0 0;
  }

  .p-houtei-detail__table tr:last-child td {
    border-radius: 0 0 15px 15px;
  }

  .p-houtei-detail__label {
    width: calc(100% - 34px);
    margin: 32px 0 0 34px;
    padding-left: 30px;
    font-size: 16px;
  }

  .p-houtei-detail__label-sapota {
    top: 0;
    left: -30px;
    width: 55px;
    height: 47px;
  }

  .p-houtei-detail__list {
    margin-top: 24px;
    padding-left: 0;
  }

  .p-houtei-detail__list li {
    gap: 10px;
  }

  .p-houtei-detail__list li + li {
    margin-top: 14px;
  }

  .p-houtei-detail__list img {
    width: 18px;
    height: 18px;
    margin-top: 3px;
  }

  .p-houtei-detail__list span {
    font-size: 16px;
    line-height: 26px;
  }

  /* ── houtei：手続きの流れ ── */
  .p-houtei-flow {
    padding: 60px 0;
  }

  .p-houtei-flow__list {
    width: 100%;
    margin-top: 28px;
  }

  .p-houtei-flow__list > li + li {
    margin-top: 40px;
  }

  .p-houtei-flow__list > li + li::before {
    bottom: calc(100% + 10px);
  }

  .p-houtei-flow__step {
    padding: 18px 20px 20px 48px;
  }

  .p-houtei-flow__step--notice {
    margin-top: 24px;
  }

  .p-houtei-flow__step-title {
    font-size: 19px;
  }

  .p-houtei-flow__step-num {
    top: 1px;
    left: -34px;
    width: 28px;
    height: 28px;
    font-size: 14px;
  }

  .p-houtei-flow__step-body li {
    font-size: 16px;
    line-height: 26px;
  }

  /* 手続きの流れ・注意事項の文章は右端をそろえて読みやすくする */
  .p-houtei-flow li {
    text-align: justify;
    text-wrap: wrap; /* justify とセット（上の注意書き参照） */
  }

  /* 箇条書きは番号の列まで左に寄せ、左右の余白のバランスをとる（「・」が左端から約26px） */
  .p-houtei-flow__step-body {
    margin-left: -22px !important; /* common.css の ul { margin-left !important } に勝たせる */
  }

  .p-houtei-flow__step-body li + li {
    margin-top: 6px;
  }
}

@media (max-width: 960px) {

  /* ── muryousoudan：開催のご案内 ── */
  .p-muryousoudan-intro {
    padding-top: 50px;
  }

  .p-muryousoudan-intro__body {
    flex-direction: column;
    gap: 20px;
    margin-top: 28px;
  }

  .p-muryousoudan-intro__text {
    width: 100%;
  }

  .p-muryousoudan-intro__text p {
    font-size: 16px;
    line-height: 28px;
  }

  .p-muryousoudan-intro__img {
    width: 100%;
    max-width: 352px;
    height: auto;
    margin: 0 auto;
  }

  /* ── muryousoudan：ギャラリー ── */
  .p-muryousoudan-gallery {
    margin-top: 40px;
  }

  .p-muryousoudan-gallery__track img {
    height: 141px;
  }

  /* ── muryousoudan：予約フォーム ── */
  .p-muryousoudan-reserve {
    padding: 50px 0 60px;
  }

  /* SPはさぽ太を本文の上に置き、本文は中央ぞろえ（Figma準拠） */
  .p-muryousoudan-reserve__lead {
    margin-top: 28px;
    padding-right: 0;
  }

  .p-muryousoudan-reserve__sapota {
    position: static;
    display: block;
    width: 80px;
    height: auto;
    margin: 0 auto;
  }

  .p-muryousoudan-reserve__lead p {
    margin-top: 22px;
    font-size: 24px;
    line-height: 37px;
    text-align: center;
  }

  .p-muryousoudan-reserve__cards {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-top: 32px;
  }

  .p-muryousoudan-reserve__card {
    width: 100%;
    max-width: 446px;
    min-height: 0;
    padding: 24px 0 28px;
  }

  .p-muryousoudan-reserve__label {
    width: calc(100% - 48px);
    max-width: 308px;
    height: 48px;
    gap: 12px;
    font-size: 19px;
  }

  .p-muryousoudan-reserve__tel {
    margin-top: 22px;
    font-size: 36px;
  }

  .p-muryousoudan-reserve__hours {
    margin-top: 18px;
    font-size: 15px;
  }

  .p-muryousoudan-reserve__note {
    margin-top: 26px;
    font-size: 18px;
    line-height: 28px;
  }

  .p-muryousoudan-reserve__btn {
    width: 190px;
    height: 40px;
    margin-top: 26px;
    font-size: 14px;
  }
}

@media (max-width: 960px) {

  /* ── gohonnin：お困りごと ── */
  .p-gohonnin-worry {
    padding: 50px 0 60px;
  }

  .p-gohonnin-worry__card {
    min-height: 0;
    margin-top: 28px;
    padding: 24px 16px;
  }

  /* SPでは重なるため非表示 */
  .p-gohonnin-worry__sapota {
    display: none;
  }

  .p-gohonnin-worry__list {
    padding-left: 0;
  }

  .p-gohonnin-worry__list li {
    gap: 10px;
  }

  .p-gohonnin-worry__list li + li {
    margin-top: 16px;
  }

  .p-gohonnin-worry__note {
    margin-top: 2px;
    font-size: 13px;
    line-height: 20px;
  }

  .p-gohonnin-worry__list img {
    width: 22px;
    height: 22px;
    margin-top: 3px;
  }

  .p-gohonnin-worry__list span {
    font-size: 16px;
    line-height: 28px;
  }

  .p-gohonnin-worry__text {
    margin-top: 40px;
  }

  .p-gohonnin-worry__text p {
    font-size: 16px;
    line-height: 30px;
  }

  .p-gohonnin-worry__text p + p {
    margin-top: 30px;
  }

  /* ── gohonnin：CTA帯 ── */
  .p-gohonnin-cta {
    padding-bottom: 60px;
  }

  .p-gohonnin-cta__inner {
    flex-direction: column;
    gap: 8px;
    width: 100%;
    height: auto;
    padding: 18px 20px 18px;
    border-radius: 25px;
    text-align: center;
  }

  .p-gohonnin-cta__sapota {
    width: 72px;
    height: 74px;
  }

  .p-gohonnin-cta__body {
    margin-right: 0;
  }

  .p-gohonnin-cta__lead {
    font-size: 14px;
  }

  .p-gohonnin-cta__title {
    font-size: 22px;
  }

  .p-gohonnin-cta__btn {
    width: 100%;
    max-width: 221px;
    height: 50px;
    margin-top: 8px;
  }
}

@media (max-width: 960px) {

  /* ── hukushi：福祉の現場でのお悩み ── */
  .p-hukushi-worry {
    padding: 50px 0 50px;
  }

  .p-hukushi-worry__card {
    min-height: 0;
    margin-top: 28px;
    padding: 24px 16px;
  }

  /* SPは縦並び・中央ぞろえ */
  .p-gohonnin-worry__example,
  .p-hukushi-worry__example {
    display: block;
    width: 100%;
    max-width: none;
    margin: 24px 0 0;
    padding-top: 20px;
    text-align: center;
  }

  .p-gohonnin-worry__example-title,
  .p-hukushi-worry__example-title {
    font-size: 17px;
  }

  .p-gohonnin-worry__example-text,
  .p-hukushi-worry__example-text {
    margin-top: 6px;
    font-size: 14px;
    line-height: 22px;
  }

  .p-gohonnin-worry__btn,
  .p-hukushi-worry__btn {
    width: 180px;
    height: 40px;
    margin: 16px auto 0; /* PC用の margin-bottom も打ち消す */
    font-size: 15px;
  }

  /* SPでは重なるため非表示 */
  .p-hukushi-worry__sapota {
    display: none;
  }

  .p-hukushi-worry__list {
    padding-left: 0;
  }

  .p-hukushi-worry__list li {
    gap: 10px;
  }

  .p-hukushi-worry__list li + li {
    margin-top: 16px;
  }

  .p-hukushi-worry__list img {
    width: 22px;
    height: 22px;
    margin-top: 3px;
  }

  .p-hukushi-worry__list span {
    font-size: 16px;
    line-height: 28px;
  }

  .p-hukushi-worry__text {
    margin-top: 40px;
  }

  .p-hukushi-worry__text p {
    font-size: 16px;
    line-height: 30px;
  }

  .p-hukushi-worry__text p + p {
    margin-top: 30px;
  }

  /* ── hukushi：CTA帯 ── */
  .p-hukushi-cta {
    padding-bottom: 60px;
  }

  .p-hukushi-cta__inner {
    flex-direction: column;
    gap: 8px;
    width: 100%;
    height: auto;
    padding: 18px 20px 18px;
    border-radius: 25px;
    text-align: center;
  }

  .p-hukushi-cta__sapota {
    width: 72px;
    height: 74px;
  }

  .p-hukushi-cta__body {
    margin-right: 0;
  }

  .p-hukushi-cta__lead {
    font-size: 14px;
  }

  .p-hukushi-cta__title {
    font-size: 22px;
  }

  .p-hukushi-cta__btn {
    width: 100%;
    max-width: 221px;
    height: 50px;
    margin-top: 8px;
  }
}

@media (max-width: 960px) {

  /* ── shigyou：専門職との連携 ── */
  .p-shigyou-lead {
    padding: 50px 0 50px;
  }

  .p-shigyou-lead__body {
    flex-direction: column;
    gap: 20px;
    margin-top: 24px;
  }

  .p-shigyou-lead__text {
    width: 100%;
  }

  .p-shigyou-lead__img {
    width: 88%;
    max-width: 377px;
    height: auto;
    margin: 0 auto;
  }

  .p-shigyou-lead__text p {
    font-size: 16px;
    line-height: 30px;
  }

  /* ── shigyou：CTA帯 ── */
  .p-shigyou-cta {
    padding-bottom: 60px;
  }

  .p-shigyou-cta__inner {
    flex-direction: column;
    gap: 8px;
    width: 100%;
    height: auto;
    padding: 18px 20px 18px;
    border-radius: 25px;
    text-align: center;
  }

  .p-shigyou-cta__sapota {
    width: 72px;
    height: 74px;
  }

  .p-shigyou-cta__body {
    margin-right: 0;
  }

  .p-shigyou-cta__lead {
    font-size: 14px;
  }

  .p-shigyou-cta__title {
    font-size: 22px;
  }

  .p-shigyou-cta__btn {
    width: 100%;
    max-width: 221px;
    height: 50px;
    margin-top: 8px;
  }
}

@media (max-width: 960px) {

  /* ── sanjokaiin：リード文＋イラスト ── */
  .p-sanjokaiin {
    padding: 50px 0 60px;
  }

  .p-sanjokaiin-intro {
    margin-top: 24px;
  }

  .p-sanjokaiin-intro__text {
    width: 100%;
  }

  .p-sanjokaiin-intro__text p {
    font-size: 16px;
    line-height: 30px;
  }

  .p-sanjokaiin-intro__img {
    position: static;
    display: block;
    width: 100%;
    max-width: 428px;
    height: auto;
    margin: 24px auto 0;
  }

  /* ── sanjokaiin：募集要項テーブル ── */
  .p-sanjokaiin-table {
    width: 100%;
    margin-top: 40px;
  }

  .p-sanjokaiin-table__body {
    font-size: 15px;
    line-height: 26px;
    letter-spacing: 0.04em;
  }

  .p-sanjokaiin-table__body th,
  .p-sanjokaiin-table__body td {
    display: block;
    width: 100%;
  }

  .p-sanjokaiin-table__body th {
    padding: 12px 16px;
  }

  .p-sanjokaiin-table__body td {
    padding: 16px;
  }

  .p-sanjokaiin-table__body tr:nth-child(1) th,
  .p-sanjokaiin-table__body tr:nth-child(1) td,
  .p-sanjokaiin-table__body tr:nth-child(2) th,
  .p-sanjokaiin-table__body tr:nth-child(2) td,
  .p-sanjokaiin-table__body tr:nth-child(3) th,
  .p-sanjokaiin-table__body tr:nth-child(3) td {
    height: auto;
  }

  .p-sanjokaiin-table__body th,
  .p-sanjokaiin-table__body td {
    border-right: .5px solid var(--color-border-gray);
  }

  .p-sanjokaiin-table__body tr:first-child td,
  .p-sanjokaiin-table__body tr:last-child th {
    border-radius: 0;
  }

  .p-sanjokaiin-table__body tr:last-child th {
    border-bottom: 0;
  }

  .p-sanjokaiin-table__body tr:first-child th {
    border-radius: 15px 15px 0 0;
  }

  .p-sanjokaiin-table__body tr:last-child td {
    border-radius: 0 0 15px 15px;
  }

  .p-sanjokaiin-table__btn {
    width: 100%;
    max-width: 255px;
    margin-top: 20px;
  }

  /* SPでは重なるため非表示 */
  .p-sanjokaiin-table__sapota {
    display: none;
  }
}

@media (max-width: 960px) {

  /* ── privacy-policy ── */
  .p-privacy {
    padding: 50px 0 60px;
  }

  .p-privacy__lead {
    width: 100%;
    margin-bottom: 36px;
    font-size: 16px;
    line-height: 28px;
  }

  .p-privacy__block {
    width: 100%;
  }

  .p-privacy__block + .p-privacy__block {
    margin-top: 32px;
  }

  .p-privacy__heading {
    font-size: 18px;
    line-height: 28px;
  }

  .p-privacy__heading::before {
    top: 7px;
    height: 15px;
  }

  .p-privacy__text {
    width: 100%;
    font-size: 15px;
    line-height: 26px;
  }

  .p-privacy__item {
    padding-left: 16px;
  }
}

@media (max-width: 960px) {

  /* ── faq ── */
  .p-faq {
    padding: 50px 0 60px;
  }

  .p-faq__list {
    width: 100%;
  }

  .p-faq__item + .p-faq__item {
    margin-top: 16px;
  }

  .p-faq__q {
    gap: 12px;
    min-height: 0;
    padding: 16px;
  }

  .p-faq__mark {
    width: 28px;
    height: 28px;
    font-size: 18px;
  }

  .p-faq__q-text {
    font-size: 16px;
    line-height: 1.6;
  }

  .p-faq__icon {
    width: 14px;
    height: 14px;
  }

  .p-faq__icon::before,
  .p-faq__icon::after {
    width: 14px;
  }

  .p-faq__a-inner {
    margin: 0 16px;
    padding: 16px 0;
    font-size: 15px;
    line-height: 26px;
  }

  .p-faq__a-inner p + p {
    margin-top: 12px;
  }
}

@media (max-width: 960px) {

  /* ── contact：リード＋カード ── */
  .p-contact {
    padding: 50px 0 0;
  }

  .p-contact-lead__text {
    font-size: 17px;
    line-height: 30px;
  }

  /* SPでは重なるため非表示 */
  .p-contact-lead__sapota {
    display: none;
  }

  .p-contact-cards {
    width: 100%;
    margin-top: 32px;
  }

  .p-contact-card {
    min-height: 0;
    padding: 20px 0 28px;
  }

  .p-contact-card__pill {
    gap: 10px;
    width: auto;
    max-width: calc(100% - 32px);
    height: 44px;
    padding: 0 16px;
    font-size: 17px;
  }

  .p-contact-card__icon {
    width: 26px;
    height: 26px;
  }

  .p-contact-card__icon img {
    width: 16px;
    height: 16px;
  }

  .p-contact-card__tel {
    margin-top: 18px;
    font-size: 34px;
  }

  .p-contact-card__hours {
    margin-top: 10px;
    font-size: 14px;
  }

  /* ── contact：フォーム ── */
  .p-contact-form-sec {
    padding: 50px 0 60px;
  }

  .p-contact-form-sec__note {
    margin-top: 28px;
    font-size: 15px;
    line-height: 26px;
  }

  .p-contact-form {
    margin-top: 28px;
  }

  .p-contact-form__card {
    padding: 24px 16px;
  }

  .p-contact-form__row {
    display: block;
  }

  .p-contact-form__row + .p-contact-form__row {
    margin-top: 20px;
  }

  .p-contact-form__label {
    gap: 12px;
    width: 100%;
    min-height: 0;
    margin-bottom: 8px;
    font-size: 16px;
  }

  .p-contact-form__badge {
    width: 42px;
    height: 26px;
    font-size: 13px;
  }

  .p-contact-form__field input,
  .p-contact-form__field textarea {
    height: 48px;
    padding: 0 14px;
    font-size: 16px;
  }

  .p-contact-form__field textarea {
    height: 200px;
    padding: 12px 14px;
    line-height: 28px;
  }

  .p-contact-form__foot {
    margin-top: 40px;
  }

  .p-contact-form__agree-lead,
  .p-contact-form__agree,
  .p-contact-form__recaptcha {
    font-size: 13px;
    line-height: 22px;
  }

  .p-contact-form__agree,
  .p-contact-form__agree label {
    gap: 10px;
  }

  .p-contact-form__submit,
  .p-contact-form__submit-wrap {
    margin-top: 32px;
  }
}

@media (max-width: 960px) {

  /* ── column：一覧 ── */
  .p-column {
    padding: 50px 0 60px;
  }

  .p-column__inner {
    flex-direction: column;
    gap: 40px;
  }

  .p-column__main,
  .p-column__side {
    width: 100%;
    padding-top: 0;
  }

  .p-column-card {
    min-height: 0;
  }

  .p-column-card + .p-column-card {
    margin-top: 16px;
  }

  .p-column-card__link {
    padding: 14px 16px 16px;
  }

  .p-column-card__meta {
    height: auto;
  }

  .p-column-card__date {
    font-size: 14px;
  }

  .p-column-card__title {
    margin-top: 8px;
    font-size: 16px;
    line-height: 26px;
  }

  /* サムネイル付きカードは縦並び */
  .p-column-card--thumb .p-column-card__link {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }

  .p-column-card__thumb {
    width: 100%;
  }

  .p-column-card--thumb .p-column-card__title {
    margin-top: 8px;
    padding-bottom: 8px;
    font-size: 16px;
  }

  .p-column-card__excerpt {
    margin-top: 8px;
    font-size: 14px;
    line-height: 22px;
  }

  .p-column__empty {
    font-size: 14px;
    line-height: 24px;
  }

  .p-column-side {
    padding: 20px 16px 24px;
  }

  .p-column-side--archive {
    margin-top: 16px;
    padding: 20px 16px 24px;
  }

  .p-column-side__title {
    font-size: 18px;
  }

  .c-pager {
    margin-top: 32px;
    gap: 6px;
  }

  .c-pager .page-numbers {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 960px) {

  /* ── single-column：コラム詳細 ── */
  .p-column--single {
    padding: 50px 0 60px;
  }

  .p-single-column {
    padding: 20px 16px 24px;
  }

  .p-single-column__date {
    font-size: 14px;
  }

  .p-single-column__title {
    margin-top: 8px;
    font-size: 18px;
    line-height: 26px;
  }

  .p-single-column__body {
    margin-top: 12px;
    padding-top: 16px;
    font-size: 16px;
    line-height: 26px;
  }

  .p-single-column__body p + p {
    margin-top: 24px;
  }

  .p-single-column__body .p-single-column__thumb {
    margin: 4px 0 20px;
    border-radius: 8px;
  }

  /* ── 記事本文（SP） ── */
  .p-single-column__body h2 {
    margin-top: 40px;
    font-size: 19px;
  }

  .p-single-column__body h3 {
    margin-top: 28px;
    padding-left: 12px;
    font-size: 17px;
  }

  .p-single-column__body h4 {
    margin-top: 22px;
    font-size: 16px;
  }

  /* 表は縮めず横スクロールで見せる（セルを潰すと読めなくなるため） */
  .p-single-column__body table {
    font-size: 14px;
  }

  /* 表の下の余白は SP の段落間（24px）に合わせる */
  .p-single-column__body .wp-block-table {
    margin-bottom: 24px;
  }

  .p-single-column__body th,
  .p-single-column__body td {
    padding: 10px 12px;
  }

  .p-single-column__body th {
    width: 34%;
  }

  /* 見出し行のある表（支援の内容・役割分担）：PC の「1列目 24%」が SP にも効き、
     項目名が3文字ごとに折れていた。2列の表は 36%、3列の表は 26% に */
  .p-single-column__body thead th:first-child {
    width: 36%;
  }

  .p-single-column__body thead tr:has(> :nth-child(3)) th:first-child {
    width: 26%;
  }

  .p-single-column__body .c-post-lead,
  .p-single-column__body .c-post-note,
  .p-single-column__body .c-post-check > li {
    font-size: 15px;
  }

  .p-single-column__body .c-post-note {
    padding: 18px 18px;
  }

  .p-single-column__body .c-post-label {
    margin-top: 36px;
    font-size: 14px;
  }

  .p-single-column__body .c-post-point {
    margin-top: 24px;
    padding: 8px 14px;
    font-size: 16px;
  }

  /* ── 実例の記事パーツ（SP） ── */
  .p-single-column__body .c-post-subtitle {
    font-size: 17px;
  }

  .p-single-column__body .c-post-box,
  .p-single-column__body .is-style-cosmos-box {
    margin-top: 22px;
    padding: 18px 16px;
  }

  .p-single-column__body .c-post-point--num {
    gap: 10px;
    margin-top: 24px;
    padding: 0 0 10px;
    font-size: 16px;
  }

  .p-single-column__body .c-post-point--num::before {
    width: 28px;
    height: 28px;
    font-size: 15px;
  }

  /* さぽ太くんは横に置くと文字が狭くなるため、SPでは本文の下に回す */
  .p-single-column__body .c-post-message {
    min-height: 0;
    margin-top: 22px;
    padding: 20px 16px 96px;
    border-radius: 10px;
    font-size: 15px;
  }

  .p-single-column__body .c-post-message::after {
    right: 16px;
    width: 64px;
    height: 92px;
  }

  .p-single-column__back {
    width: 100%;
    max-width: 221px;
    height: 50px;
    margin-top: 32px;
  }

  .p-single-column__back span {
    left: 20px;
  }

  .p-letter {
    padding: 50px 0 60px;
  }

  .p-letter__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 16px;
    margin-top: 28px;
  }

  .p-letter__img {
    height: 160px;
  }

  .p-letter__no {
    font-size: 14px;
    line-height: 32px;
  }

  .p-single-letter__title {
    margin-top: 24px;
    font-size: 18px;
  }
}


@media (max-width: 960px) {

  /* ── フッター前お問い合わせまでの余白（トップ以外の最後のセクション） ── */
  .p-aboutsystem-flow,
  .p-houtei-flow,
  .p-nini-flow,
  .p-aboutus-access,
  .p-activity-report,
  .p-contact-form-sec,
  .p-faq,
  .p-gohonnin-cta,
  .p-hukushi-cta,
  .p-shigyou-cta,
  .p-muryousoudan-reserve,
  .p-privacy,
  .p-column,
  .p-column--single,
  .p-letter,
  .p-contact-complete,
  .p-recruit,
  .p-404,
  .p-index,
  .p-sanjokaiin {
    padding-bottom: 20px;
  }

  .p-privacy {
    padding-bottom: 18px;
  }
}

@media (max-width: 960px) {

  /* ── 404 ── */
  .p-404 {
    padding-top: 50px;
  }

  .p-404__title {
    font-size: 24px;
    line-height: 36px;
  }

  .p-404__text {
    margin-top: 24px;
    font-size: 16px;
    line-height: 28px;
  }

  /* 記事詳細の「一覧へ戻る」と同じSP指定 */
  .p-404__btn {
    width: 100%;
    max-width: 221px;
    height: 50px;
    margin-top: 32px;
  }

  .p-404__btn span {
    left: 20px;
  }
}

/* ───────────────────────────────
   375px未満の小さい端末むけの調整
─────────────────────────────── */
@media (max-width: 374px) {

  /* トップ コスモスおおさかだより：見出しとリンクが横に並びきらないので、リンクを見出しの下の行に右寄せで */
  .p-top-news__dayori .p-top-news__head {
    flex-wrap: wrap;
  }

  .p-top-news__dayori .c-more {
    width: 100%;
    max-width: none;
    margin-top: 4px;
  }

  /* お問い合わせ帯の受付時間：320px幅でも1行に収める */
  .l-contact__tel-hours {
    font-size: 13px;
    letter-spacing: 0.04em;
  }

  /* トップ ABOUT US の見出し：320px幅でも「コスモス成年後見サポートセンター」を1行に */
  .p-top-about__title {
    font-size: 16px;
    line-height: 26px;
  }

  /* トップ 賛助会員カード：幅が足りないので指定の改行をやめて自然に折り返す */
  .p-top-support__br {
    display: none;
  }

  /* aboutus：支部長挨拶の署名（320px幅でも1行に収まるよう、さらに小さくして本文の余白まで使う） */
  .p-aboutus-greeting p.p-aboutus-greeting__name {
    margin-inline: -20px;
  }

  .p-aboutus-greeting__name-role {
    font-size: 13px;
  }

  .p-aboutus-greeting__name-note {
    font-size: 11px;
  }

  /* aboutus：組織概要の会員数カード（幅が足りず折り返すため一段小さくする） */
  .p-aboutus-org__stats {
    padding: 17px 12px 20px 82px;
  }

  .p-aboutus-org__stats-sapota {
    top: 10px;
    left: 12px;
    width: 66px;
    height: 95px;
  }

  .p-aboutus-org__stats-date {
    font-size: 16px;
    line-height: 22px;
  }

  .p-aboutus-org__stats-list {
    grid-template-columns: 66px auto;
    gap: 9px 12px;
    margin-top: 8px;
  }

  .p-aboutus-org__stats-label {
    width: 66px;
    height: 20px;
    font-size: 12px;
  }

  .p-aboutus-org__stats-value {
    font-size: 16px;
    line-height: 22px;
  }

  /* お問い合わせ完了：見出しを1行に収める */
  .p-contact-complete__title {
    font-size: 18px;
    line-height: 30px;
  }
}

/* 600px以下は管理バーが追従しないため、ヘッダーを最上部に付ける */
@media (max-width: 600px) {
  .admin-bar .l-header {
    top: 0;
  }

}
