@charset "UTF-8";
/* ==============================
   style.css — 共通（ヘッダー/ドロワー/フッター）＋共通部品＋TOPページ
   国際医療福祉専門学校 七尾校
   ============================== */
/* 見出し（英語ラベル＋日本語＋緑下線） */
.c-heading{margin-bottom:48px}
.c-heading__en{
  display:block;font-size:14px;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--green);margin-bottom:8px;
}
.c-heading__ja{font-size:clamp(25px,3.4vw,35px);font-weight:800}
.c-heading__bar{display:block;width:64px;height:4px;background:var(--orange);border-radius:2px;margin-top:18px}
.c-heading--center{text-align:center}
.c-heading--center .c-heading__bar{margin-left:auto;margin-right:auto}

/* ボタン */
.c-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:.9em 2.2em;border-radius:999px;font-weight:700;font-size:16px;
  background:var(--green);color:#fff;border:2px solid var(--green);
  transition:.25s;cursor:pointer;
}
.c-btn:hover{background:var(--green-dark);border-color:var(--green-dark)}
.c-btn--orange{background:var(--orange);border-color:var(--orange)}
.c-btn--orange:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
.c-btn--ghost{background:transparent;color:var(--green);border-color:var(--green)}
.c-btn--ghost:hover{background:var(--green);color:#fff}

/* LINEボタン：LINE公式の緑（フッターのLINEアイコンと同じ色）＋吹き出しマーク。本文にSVGを書かずに済むようCSSで付ける */
.c-btn--line::before{content:"";width:1.4em;height:1.4em;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314'/%3E%3C/svg%3E") no-repeat center/contain}
/* オープンキャンパスボタン：カレンダーマーク */
.c-btn--oc::before{content:"";width:1.4em;height:1.4em;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='10 7 42 48'%3E%3Cpath d='M14.5069 54.25C13.3177 54.25 12.3248 53.8517 11.5283 53.0552C10.7318 52.2587 10.3335 51.2658 10.3335 50.0766V17.09C10.3335 15.9009 10.7318 14.908 11.5283 14.1115C12.3248 13.3149 13.3177 12.9167 14.5069 12.9167H19.0768V7.1539H21.859V12.9167H40.3402V7.1539H42.9235V12.9167H47.4935C48.6826 12.9167 49.6755 13.3149 50.472 14.1115C51.2686 14.908 51.6668 15.9009 51.6668 17.09V50.0766C51.6668 51.2658 51.2686 52.2587 50.472 53.0552C49.6755 53.8517 48.6826 54.25 47.4935 54.25H14.5069ZM14.5069 51.6667H47.4935C47.8913 51.6667 48.2558 51.5011 48.5868 51.17C48.9179 50.8389 49.0835 50.4745 49.0835 50.0766V27.4234H12.9168V50.0766C12.9168 50.4745 13.0824 50.8389 13.4135 51.17C13.7446 51.5011 14.109 51.6667 14.5069 51.6667ZM12.9168 24.8394H49.0835V17.09C49.0835 16.6922 48.9179 16.3277 48.5868 15.9966C48.2558 15.6656 47.8913 15.5 47.4935 15.5H14.5069C14.109 15.5 13.7446 15.6656 13.4135 15.9966C13.0824 16.3277 12.9168 16.6922 12.9168 17.09V24.8394ZM31.0002 36.5639C30.4671 36.5639 30.0026 36.366 29.6065 35.9703C29.2108 35.5747 29.0129 35.1101 29.0129 34.5766C29.0129 34.0436 29.2108 33.5792 29.6065 33.1836C30.0026 32.7879 30.4671 32.59 31.0002 32.59C31.5332 32.59 31.9978 32.7879 32.3939 33.1836C32.7896 33.5792 32.9874 34.0436 32.9874 34.5766C32.9874 35.1101 32.7896 35.5747 32.3939 35.9703C31.9978 36.366 31.5332 36.5639 31.0002 36.5639ZM19.2731 35.9703C18.8774 35.5747 18.6796 35.1101 18.6796 34.5766C18.6796 34.0436 18.8774 33.5792 19.2731 33.1836C19.6692 32.7879 20.1338 32.59 20.6668 32.59C21.1999 32.59 21.6644 32.7879 22.0605 33.1836C22.4562 33.5792 22.6541 34.0436 22.6541 34.5766C22.6541 35.1101 22.4562 35.5747 22.0605 35.9703C21.6644 36.366 21.1999 36.5639 20.6668 36.5639C20.1338 36.5639 19.6692 36.366 19.2731 35.9703ZM41.3335 36.5639C40.8005 36.5639 40.3359 36.366 39.9398 35.9703C39.5441 35.5747 39.3463 35.1101 39.3463 34.5766C39.3463 34.0436 39.5441 33.5792 39.9398 33.1836C40.3359 32.7879 40.8005 32.59 41.3335 32.59C41.8665 32.59 42.3311 32.7879 42.7272 33.1836C43.1229 33.5792 43.3207 34.0436 43.3207 34.5766C43.3207 35.1101 43.1229 35.5747 42.7272 35.9703C42.3311 36.366 41.8665 36.5639 41.3335 36.5639ZM31.0002 46.5C30.4671 46.5 30.0026 46.3022 29.6065 45.9065C29.2108 45.5108 29.0129 45.0462 29.0129 44.5128C29.0129 43.9797 29.2108 43.5152 29.6065 43.1191C30.0026 42.7234 30.4671 42.5255 31.0002 42.5255C31.5332 42.5255 31.9978 42.7234 32.3939 43.1191C32.7896 43.5152 32.9874 43.9797 32.9874 44.5128C32.9874 45.0462 32.7896 45.5108 32.3939 45.9065C31.9978 46.3022 31.5332 46.5 31.0002 46.5ZM19.2731 45.9065C18.8774 45.5108 18.6796 45.0462 18.6796 44.5128C18.6796 43.9797 18.8774 43.5152 19.2731 43.1191C19.6692 42.7234 20.1338 42.5255 20.6668 42.5255C21.1999 42.5255 21.6644 42.7234 22.0605 43.1191C22.4562 43.5152 22.6541 43.9797 22.6541 44.5128C22.6541 45.0462 22.4562 45.5108 22.0605 45.9065C21.6644 46.3022 21.1999 46.5 20.6668 46.5C20.1338 46.5 19.6692 46.3022 19.2731 45.9065ZM41.3335 46.5C40.8005 46.5 40.3359 46.3022 39.9398 45.9065C39.5441 45.5108 39.3463 45.0462 39.3463 44.5128C39.3463 43.9797 39.5441 43.5152 39.9398 43.1191C40.3359 42.7234 40.8005 42.5255 41.3335 42.5255C41.8665 42.5255 42.3311 42.7234 42.7272 43.1191C43.1229 43.5152 43.3207 43.9797 43.3207 44.5128C43.3207 45.0462 43.1229 45.5108 42.7272 45.9065C42.3311 46.3022 41.8665 46.5 41.3335 46.5Z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='10 7 42 48'%3E%3Cpath d='M14.5069 54.25C13.3177 54.25 12.3248 53.8517 11.5283 53.0552C10.7318 52.2587 10.3335 51.2658 10.3335 50.0766V17.09C10.3335 15.9009 10.7318 14.908 11.5283 14.1115C12.3248 13.3149 13.3177 12.9167 14.5069 12.9167H19.0768V7.1539H21.859V12.9167H40.3402V7.1539H42.9235V12.9167H47.4935C48.6826 12.9167 49.6755 13.3149 50.472 14.1115C51.2686 14.908 51.6668 15.9009 51.6668 17.09V50.0766C51.6668 51.2658 51.2686 52.2587 50.472 53.0552C49.6755 53.8517 48.6826 54.25 47.4935 54.25H14.5069ZM14.5069 51.6667H47.4935C47.8913 51.6667 48.2558 51.5011 48.5868 51.17C48.9179 50.8389 49.0835 50.4745 49.0835 50.0766V27.4234H12.9168V50.0766C12.9168 50.4745 13.0824 50.8389 13.4135 51.17C13.7446 51.5011 14.109 51.6667 14.5069 51.6667ZM12.9168 24.8394H49.0835V17.09C49.0835 16.6922 48.9179 16.3277 48.5868 15.9966C48.2558 15.6656 47.8913 15.5 47.4935 15.5H14.5069C14.109 15.5 13.7446 15.6656 13.4135 15.9966C13.0824 16.3277 12.9168 16.6922 12.9168 17.09V24.8394ZM31.0002 36.5639C30.4671 36.5639 30.0026 36.366 29.6065 35.9703C29.2108 35.5747 29.0129 35.1101 29.0129 34.5766C29.0129 34.0436 29.2108 33.5792 29.6065 33.1836C30.0026 32.7879 30.4671 32.59 31.0002 32.59C31.5332 32.59 31.9978 32.7879 32.3939 33.1836C32.7896 33.5792 32.9874 34.0436 32.9874 34.5766C32.9874 35.1101 32.7896 35.5747 32.3939 35.9703C31.9978 36.366 31.5332 36.5639 31.0002 36.5639ZM19.2731 35.9703C18.8774 35.5747 18.6796 35.1101 18.6796 34.5766C18.6796 34.0436 18.8774 33.5792 19.2731 33.1836C19.6692 32.7879 20.1338 32.59 20.6668 32.59C21.1999 32.59 21.6644 32.7879 22.0605 33.1836C22.4562 33.5792 22.6541 34.0436 22.6541 34.5766C22.6541 35.1101 22.4562 35.5747 22.0605 35.9703C21.6644 36.366 21.1999 36.5639 20.6668 36.5639C20.1338 36.5639 19.6692 36.366 19.2731 35.9703ZM41.3335 36.5639C40.8005 36.5639 40.3359 36.366 39.9398 35.9703C39.5441 35.5747 39.3463 35.1101 39.3463 34.5766C39.3463 34.0436 39.5441 33.5792 39.9398 33.1836C40.3359 32.7879 40.8005 32.59 41.3335 32.59C41.8665 32.59 42.3311 32.7879 42.7272 33.1836C43.1229 33.5792 43.3207 34.0436 43.3207 34.5766C43.3207 35.1101 43.1229 35.5747 42.7272 35.9703C42.3311 36.366 41.8665 36.5639 41.3335 36.5639ZM31.0002 46.5C30.4671 46.5 30.0026 46.3022 29.6065 45.9065C29.2108 45.5108 29.0129 45.0462 29.0129 44.5128C29.0129 43.9797 29.2108 43.5152 29.6065 43.1191C30.0026 42.7234 30.4671 42.5255 31.0002 42.5255C31.5332 42.5255 31.9978 42.7234 32.3939 43.1191C32.7896 43.5152 32.9874 43.9797 32.9874 44.5128C32.9874 45.0462 32.7896 45.5108 32.3939 45.9065C31.9978 46.3022 31.5332 46.5 31.0002 46.5ZM19.2731 45.9065C18.8774 45.5108 18.6796 45.0462 18.6796 44.5128C18.6796 43.9797 18.8774 43.5152 19.2731 43.1191C19.6692 42.7234 20.1338 42.5255 20.6668 42.5255C21.1999 42.5255 21.6644 42.7234 22.0605 43.1191C22.4562 43.5152 22.6541 43.9797 22.6541 44.5128C22.6541 45.0462 22.4562 45.5108 22.0605 45.9065C21.6644 46.3022 21.1999 46.5 20.6668 46.5C20.1338 46.5 19.6692 46.3022 19.2731 45.9065ZM41.3335 46.5C40.8005 46.5 40.3359 46.3022 39.9398 45.9065C39.5441 45.5108 39.3463 45.0462 39.3463 44.5128C39.3463 43.9797 39.5441 43.5152 39.9398 43.1191C40.3359 42.7234 40.8005 42.5255 41.3335 42.5255C41.8665 42.5255 42.3311 42.7234 42.7272 43.1191C43.1229 43.5152 43.3207 43.9797 43.3207 44.5128C43.3207 45.0462 43.1229 45.5108 42.7272 45.9065C42.3311 46.3022 41.8665 46.5 41.3335 46.5Z'/%3E%3C/svg%3E") no-repeat center/contain}

/* 写真プレースホルダー */
.c-ph{
  position:relative;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;
  background:linear-gradient(135deg,#8fc4ae,#4e9a80 55%,#2e7c96);
  overflow:hidden;
}
.c-ph span{position:relative;z-index:1;text-align:center;padding:0 10px;text-shadow:0 1px 6px rgba(0,0,0,.35)}
img.c-ph{object-fit:cover}
/* 透過ロゴ系の実画像用：白地に全体を収める（例：Topicsカードのアイキャッチ） */
img.c-ph--contain{background:#fff;object-fit:contain}
.c-ph--warm{background:linear-gradient(135deg,#f3c98b,#e59a55 55%,#c96f2e)}
.c-ph--cool{background:linear-gradient(135deg,#9ec9e8,#5b9cc8 55%,#2b6f9c)}
/* 学科カラー: 理学療法=#89d38b/#c7e284, 救急救命=#6fb4e0/#8ad5dc */
.c-ph--pt{background:linear-gradient(135deg,var(--dept-pt1),var(--dept-pt2))}
.c-ph--pt-b{background:linear-gradient(135deg,var(--dept-pt2),var(--dept-pt1))}
.c-ph--ems{background:linear-gradient(135deg,var(--dept-ems1),var(--dept-ems2))}
.c-ph--ems-b{background:linear-gradient(135deg,var(--dept-ems2),var(--dept-ems1))}

/* ==============================
   ヘッダー
   ============================== */
/* ヘッダー：白ロゴプレート＋透過2段（ユーティリティ行／グローバルナビ）＋固定ハンバーガー */
.l-header{
  position:absolute;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:flex-start;gap:24px;
  pointer-events:none;
}
.l-header__plate{
  pointer-events:auto;display:flex;align-items:center;gap:14px;
  background:#fff;padding:22px 38px 20px 28px;
  border-radius:0 0 24px 0;box-shadow:0 8px 28px rgba(28,43,40,.14);
}
.l-header__mark{width:46px;height:46px;flex:none}
.l-header__name{font-size:19px;font-weight:800;line-height:1.35;color:var(--ink)}
.l-header__name small{display:block;font-size:10px;font-weight:700;color:var(--teal);letter-spacing:.16em;margin-top:3px}
.l-header__right{
  pointer-events:auto;flex:1;min-width:0;
  display:flex;flex-direction:column;align-items:flex-end;gap:clamp(8px,0.2vw,16px);
  padding:20px 96px 0 0;color:#fff;
}
.l-header__util{column-gap:16px;row-gap:8px;}
.l-header__aud{column-gap:10px;row-gap:6px;}
/* 1025pxまでの幅でナビの余白を詰める */
@media (min-width:1025px) and (max-width:1300px){
  .l-header__tel{font-size:17px}
  .l-header__util a.c-btn{padding:.55em 1em;font-size:11.5px}
  .l-header__aud{display:none}
}
.l-header__util{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.l-header__org{font-size:11px;font-weight:600;letter-spacing:.08em;opacity:.92;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.l-header__util a.c-btn{
  background:#fff;color:var(--green-dark);font-size:12px;font-weight:700;
  padding:.65em 1.3em;border-radius:4px;transition:.2s;box-shadow:0 2px 10px rgba(0,0,0,.15);border: 0;
}
.l-header__util a.c-btn:hover{background:var(--mist)}
.l-header__util a.c-btn--oc{background:var(--orange);color:#fff}
.l-header__util a.c-btn--oc:hover{background:var(--orange-deep)}
.l-header__util a.c-btn:not(.c-btn--oc):hover{background:var(--teal);color:#fff;box-shadow:0 4px 14px rgba(35,130,182,.35);}
/* ヘッダーの資料請求ボタン。ホバーだけ緑にする */
.l-header__util a.c-btn.c-btn--doc:hover{background:color-mix(in srgb,var(--green) 20%,#fff);color:var(--green-dark);box-shadow:0 2px 10px rgba(0,0,0,.15)}
/* ヘッダーのお問い合わせボタン（青）。ホバーは上の行の --teal がそのまま効く */
.l-header__util a.c-btn--contact{background:var(--brand-blue);color:#fff}
/* tel */
.l-header__tel{
  font-size:20px;font-weight:800;letter-spacing:.04em;
  text-shadow:0 1px 8px rgba(0,0,0,.45);font-variant-numeric:tabular-nums;
}
.l-header__tel small{font-size:13px;margin-right:.3em}
/* 対象者別ボタン（在学生・卒業生・保護者） */
.l-header__aud{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.l-header__aud a{
  font-size:11.5px;font-weight:700;color:var(--green-dark);
  background:#fff;border-radius:999px;
  padding:.45em 1.15em;transition:.2s;box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.l-header__aud a:hover{background:var(--green);color:#fff}
.l-header__nav{display:flex;column-gap:clamp(16px,2vw,26px);row-gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items: baseline;}
.l-header__nav a{
  font-size:13px;font-weight:700;letter-spacing:.04em;
  text-shadow:0 1px 8px rgba(0,0,0,.5);position:relative;padding-bottom:5px;
}
.l-header__nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:#fff;border-radius:1px;transform:scaleX(0);transform-origin:left;transition:.25s;
}
.l-header__nav a:hover::after{transform:scaleX(1)}
/* 学科紹介メガメニュー（PCナビ） */
.l-header__navitem{position:relative}
.l-mega{
  position:absolute;top:100%;right:-24px;padding-top:14px;width:560px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s;z-index:120;
}
.l-header__navitem:hover .l-mega,.l-header__navitem:focus-within .l-mega{opacity:1;visibility:visible;transform:none}
.l-mega__inner{background:#fff;border-radius:14px;box-shadow:var(--shadow);padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.l-mega__inner a{text-shadow:none;padding-bottom:0}
.l-mega__inner a::after{content:none}
.l-mega__card{display:block;border-radius:10px;overflow:hidden;background:var(--mist);transition:.2s}
.l-mega__card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.l-mega__card img{width:100%;height:110px;object-fit:cover;display:block;object-position:50% 32%;} /* 上下が切れる比率のため少し上寄せ（横の値は効かない） */
.l-mega__card--sitemap img{height:240px} 
.l-mega__card span{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;padding:10px 14px;color:var(--ink);text-shadow: 0 2px 12px rgba(20, 60, 25, .45);}
.l-mega__card span i{font-style:normal;color:var(--green);font-weight:800}
/* 学科カードの帯（学科カラー） */
.l-mega__card--pt span{color:#fff;background:linear-gradient(to right,var(--dept-pt1),var(--dept-pt2))}
.l-mega__card--ems span{color:#fff;background:linear-gradient(to right,var(--dept-ems1),var(--dept-ems2))}
.l-mega__card--pt span i,.l-mega__card--ems span i{color:#fff}
.l-mega__foot{grid-column:1/-1;display:flex;gap:10px}
.l-mega__foot a{flex:1;text-align:center;font-size:12.5px;font-weight:700;color:var(--green-dark);background:var(--mist);border-radius:999px;padding:.6em 1em;transition:.2s}
.l-mega__foot a:hover{background:var(--green);color:#fff}
.l-mega--links{width:300px}
.l-mega--links .l-mega__inner{grid-template-columns:1fr}
.l-mega__list{display:grid;gap:8px}
.l-mega__list a{display:flex;justify-content:space-between;align-items:center;background:var(--mist);border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700;color:var(--ink);transition:.2s}
.l-mega__list a:hover{background:var(--green);color:#fff}
.l-mega__list a i{font-style:normal;color:var(--green);font-weight:800}
.l-mega__list a:hover i{color:#fff}
/* 子ページ用。字下げ＋左線で親子を見せる */
.l-mega__list--sub{margin-left:14px;padding-left:12px;border-left:2px solid var(--line)}
.l-mega__list--sub a{background:#fff;border:1px solid var(--line);padding:9px 14px;font-weight:600}
.l-mega__list--sub a:hover{border-color:var(--green)}
@media (max-width:1024px){.l-mega{display:none}}

.l-header__menu{
  position:fixed;top:18px;right:20px;z-index:210;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  background:#fff;border:none;border-radius:14px;
  width:58px;height:58px;cursor:pointer;box-shadow:var(--shadow);
}
.l-header__menu span{display:block;width:26px;height:3px;border-radius:2px;background:var(--teal);transition:.35s cubic-bezier(.2,.7,.3,1)}
.l-header__menu:hover span{background:var(--green)}
/* 開いたら3本線が×にモーフィング */
.l-header__menu.is-open span:nth-child(1){transform:translateY(9.5px) rotate(45deg)}
.l-header__menu.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.l-header__menu.is-open span:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)}

/* SPヘッダーのInstagramアイコン（ハンバーガー左） */
.l-header__ig{
  position:fixed;top:8px;right:66px;z-index:110;
  display:none;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:10px;background:#fff;
  box-shadow:var(--shadow);transition:.2s;
}
.l-header__ig:hover{transform:translateY(-2px)}

/* SP下部固定バー */
.l-spbar{
  position:fixed;left:0;right:0;bottom:-1px;z-index:96;
  display:none;grid-template-columns:1fr 1fr 1.25fr;
}
.l-spbar a{
  display:flex;align-items:center;justify-content:center;gap:.4em;
  padding:15px 6px;font-size:12.5px;font-weight:700;color:#fff;line-height:1.2;
}
.l-spbar__tel{background:var(--green-dark)}
.l-spbar__doc{background:var(--green)}
.l-spbar__oc{background:var(--orange)}

/* ドロワー（サークル展開のフルスクリーンメニュー） */
.l-drawer{
  position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none;
}
.l-drawer.is-open{visibility:visible;pointer-events:auto}
/* 残り30%は黒幕（クリックで閉じる） */
.l-drawer__bg{position:absolute;inset:0;background:rgba(15,30,25,.45);opacity:0;transition:opacity .5s}
.l-drawer.is-open .l-drawer__bg{opacity:1}
/* ハンバーガー位置から円形に広がるリビール（右70%幅パネル内） */
.l-drawer__panel{
  position:absolute;top:0;right:0;bottom:0;width:70%;overflow-y:auto;color:#fff;
  background:var(--brand-grad-deep);
  clip-path:circle(0px at calc(100% - 49px) 47px);
  transition:clip-path .65s cubic-bezier(.7,0,.25,1),visibility 0s .65s;
  padding:110px max(5vw,28px) 56px;
}
.l-drawer.is-open .l-drawer__panel{clip-path:circle(160% at calc(100% - 49px) 47px);transition:clip-path .65s cubic-bezier(.7,0,.25,1)}
/* 背景装飾 */
.l-drawer__deco{position:absolute;pointer-events:none;opacity:.25}
.l-drawer__deco--dots{
  right:6%;top:14%;width:180px;height:180px;
  background:radial-gradient(rgba(255,255,255,.9) 2px,transparent 2.6px);background-size:18px 18px;
}
.l-drawer__deco--circle{
  left:-90px;bottom:-70px;width:300px;height:300px;border-radius:50%;
  background:repeating-linear-gradient(45deg,rgba(255,255,255,.5) 0 3px,transparent 3px 11px);
}
/* メニュー項目：時間差でふわっとせり上がる */
.l-drawer__nav{max-width:560px;margin:0 auto}
.l-drawer__nav a{
  display:flex;align-items:baseline;gap:18px;position:relative;
  padding:17px 6px;border-bottom:1px solid rgba(255,255,255,.28);
  font-weight:800;font-size:clamp(20px,2.4vw,25px);color:#fff;
  opacity:0;transform:translateY(30px);
  transition:opacity .5s,transform .5s cubic-bezier(.2,.7,.3,1),padding .25s;
}
.l-drawer__nav a small{
  font-size:11px;letter-spacing:.22em;color:#cdeedd;
  text-transform:uppercase;font-weight:700;min-width:112px;
}
.l-drawer__nav a::after{content:"→";margin-left:auto;font-size:18px;opacity:0;transform:translateX(-12px);transition:.25s}
.l-drawer__nav a:hover{padding-left:18px}
.l-drawer__nav a:hover::after{opacity:1;transform:none}
/* ドロワー内サブリンク（PCメガメニュー相当の下層・アンカー項目をチップで併設） */
.l-drawer__nav .l-drawer__subnav{display:flex;flex-wrap:wrap;gap:8px;padding:12px 6px 16px;border-bottom:1px solid rgba(255,255,255,.28)}
.l-drawer__nav .l-drawer__subnav a{
  display:inline-block;position:static;opacity:1;transform:none;
  padding:.4em 1.05em;border-bottom:0;border-radius:999px;
  background:rgba(255,255,255,.16);font-size:12.5px;font-weight:700;color:#fff;letter-spacing:.02em;
}
.l-drawer__nav .l-drawer__subnav a::after{content:none}
.l-drawer__nav .l-drawer__subnav a:hover{padding-left:1.05em;background:rgba(255,255,255,.3)}
.l-drawer.is-open .l-drawer__nav a{opacity:1;transform:none}
.l-drawer.is-open .l-drawer__nav a:nth-child(1){transition-delay:.26s}
.l-drawer.is-open .l-drawer__nav a:nth-child(2){transition-delay:.32s}
.l-drawer.is-open .l-drawer__nav a:nth-child(3){transition-delay:.38s}
.l-drawer.is-open .l-drawer__nav a:nth-child(4){transition-delay:.44s}
.l-drawer.is-open .l-drawer__nav a:nth-child(5){transition-delay:.50s}
.l-drawer.is-open .l-drawer__nav a:nth-child(6){transition-delay:.56s}
.l-drawer.is-open .l-drawer__nav a:nth-child(7){transition-delay:.62s}
.l-drawer.is-open .l-drawer__nav a:nth-child(8){transition-delay:.68s}
/* 対象者別ボタン（ドロワー内） */
.l-drawer__aud{
  max-width:560px;margin:26px auto 0;display:flex;gap:10px;flex-wrap:wrap;
  opacity:0;transform:translateY(24px);
  transition:opacity .5s .66s,transform .5s .66s cubic-bezier(.2,.7,.3,1);
}
.l-drawer.is-open .l-drawer__aud{opacity:1;transform:none}
.l-drawer__aud a{
  font-size:12.5px;font-weight:700;color:var(--green-dark);
  background:#fff;border-radius:999px;
  padding:.5em 1.2em;transition:.2s;
}
.l-drawer__aud a:hover{background:var(--orange);color:#fff}
/* CTA・連絡先も最後にふわっと */
.l-drawer__sub{
  max-width:560px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;
  opacity:0;transform:translateY(24px);transition:opacity .5s .7s,transform .5s .7s cubic-bezier(.2,.7,.3,1);
}
.l-drawer.is-open .l-drawer__sub{opacity:1;transform:none}
.l-drawer__sub .c-btn--ghost{color:#fff;border-color:#fff}
.l-drawer__sub .c-btn--ghost:hover{background:#fff;color:var(--green-dark)}
.l-drawer__meta{
  max-width:560px;margin:26px auto 0;display:flex;flex-wrap:wrap;gap:10px;
  justify-content:space-between;align-items:center;font-size:13.5px;font-weight:700;
  opacity:0;transition:opacity .5s .8s;
}
.l-drawer.is-open .l-drawer__meta{opacity:1}
/* 800px以下：英字ラベルを日本語の上に積み、CTAボタンは縦並びにする（横並びだとボタン内で文字が折り返す） */
@media (max-width:800px){
  .l-drawer__nav a{flex-wrap:wrap;row-gap:2px;padding:13px 6px}
  .l-drawer__nav a small{flex-basis:100%;min-width:0}
  .l-drawer__sub{grid-template-columns:1fr}
}

/* ==============================
   緑帯（MVから連続／Latest News）
   ============================== */
.p-topics__news{
  position:relative;display:block;
  background:linear-gradient(100deg,#4aabdb,#6fc6bb);
  color:#fff;padding:22px 76px 24px 28px;
  border-radius:0 16px 0 0;transition:.25s;
}

/* ==============================
   Features 共通
   ============================== */
.c-feat-num{
  font-size:13px;font-weight:800;letter-spacing:.24em;color:var(--orange);
  text-transform:uppercase;display:block;margin-bottom:10px;
}

/* Featuresセクションタイトル（番号＋英字大＋日本語） */
.c-ftitle{display:flex;flex-direction:column;gap:8px}
.c-ftitle .c-num{font-size:13px;font-weight:800;letter-spacing:.24em;color:var(--orange);text-transform:uppercase}
.c-ftitle .p-en{font-size:clamp(34px,4vw,52px);font-weight:900;line-height:1;color:var(--ink)}
.c-ftitle .p-jp{font-size:14px;font-weight:700;color:var(--green)}
.c-ftitle--center{align-items:center;text-align:center}

/* ==============================
   バナースライダー（左＝選択中を大きく／右＝小サムネ一覧）
   ============================== */
.p-banner{padding:64px 0 0}

/* Features 01 資格・就職（見出し左の緑バー＋緑パネルに白フレームコラージュを右寄せ） */
.p-f1{position:relative;padding:64px 0;overflow:clip}


/* Features 02 七尾の魅力（緑帯：左＝角丸写真／右＝テキスト） */
.p-nanao{padding:0 0 72px;overflow:clip;}
.peekC{position:relative;overflow:hidden;border-radius:clamp(16px,2vw,28px);z-index:5;}
.peekC-track{display:flex;gap:14px;transition:transform .7s cubic-bezier(.5,.05,.2,1)}
.peekC-slide{position:relative;flex:0 0 58%;aspect-ratio:3/4;border-radius:clamp(14px,1.6vw,24px);overflow:hidden;transition:opacity .5s}
.peekC-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.peekC-slide:not(.is-active){opacity:.45}
.peekC-slide:not(.is-active) .cap{opacity:0}
/* キャプション（写真テーマの白ピル） */
.cap{position:absolute;left:12px;bottom:12px;z-index:3;background:rgba(255,255,255,.92);color:var(--ink);font-size:12px;font-weight:700;border-radius:999px;padding:5px 14px;line-height:1.5;max-width:calc(100% - 24px)}

/* ==============================
   オープンキャンパス
   ============================== */
.p-oc{background:linear-gradient(135deg,#fff6ea,#ffeeda)}

/* ==============================
   対象者別リンク（テキストリンク）
   ============================== */
.p-links{padding:76px 0}

/* ==============================
   CTA帯
   ============================== */
.p-cta{
  background:var(--brand-grad-deep);
  color:#fff;text-align:center;padding:80px 24px;
}

/* ==============================
   フッター
   ============================== */
.l-footer{background:var(--ink);color:#e6efec;padding:70px 0 0}
.l-footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
.l-footer__logo{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.l-footer__logo .l-header__mark{width:38px;height:38px;filter:brightness(0) invert(1)}
.l-footer__logo strong{font-size:16px;font-weight:800;line-height:1.4}
.l-footer address{font-style:normal;font-size:13px;line-height:2;color:#b9c9c3}
.l-footer h4{font-size:13px;font-weight:800;letter-spacing:.14em;color:#fff;margin:0 0 14px;text-transform:uppercase}
.l-footer__col a{display:block;width:fit-content;font-size:13px;color:#b9c9c3;padding:5px 0;transition:.2s}
.l-footer__col a:hover{color:#fff}
.l-footer__sns{display:flex;gap:12px;margin-top:14px}
.l-footer__sns a{
  width:38px;height:38px;border-radius:50%;border:1px solid #4a5c56;
  display:flex;align-items:center;justify-content:center;font-size:15px;
}
.l-footer__sns a:hover{background:var(--green)}
.l-footer__sns a:hover svg{fill:#fff}
.l-footer__bottom{
  margin-top:56px;border-top:1px solid #35443f;padding:20px 0;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
}
.l-footer__bottom small{font-size:12px;color:#8fa39c}
.l-footer__note{font-size:12px;color:#8fa39c}
.l-footer__note a{text-underline-offset:3px}
.l-footer__note a:hover{text-decoration:underline}

/* 別ウィンドウで開く外部リンク */
.c-exlink__icon{display:inline-block;vertical-align:-1px;margin-left:4px;flex-shrink:0}

/* ページトップ */
.c-pagetop{
  position:fixed;right:26px;bottom:26px;z-index:80;width:48px;height:48px;
  border-radius:50%;border:none;background:var(--green);color:#fff;font-size:18px;
  cursor:pointer;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:.3s;
}
.c-pagetop.is-show{opacity:1;visibility:visible}

/* スクロールリビール */
.js-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s}
.js-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .js-reveal{opacity:1;transform:none;transition:none}
  .l-drawer__panel{transition:none;clip-path:none}
  .l-drawer__nav a,.l-drawer__aud,.l-drawer__sub,.l-drawer__meta{transition:none;opacity:1;transform:none}
}

/* ==============================
   右端固定のSNSボタン（全ページ共通・PC/SPとも追従）
   重なり順: ページトップ(80) < ここ(85) < SP固定バー(96) < ヘッダー(100) < ドロワー(200)
   ============================== */
.c-sns-fix{
  position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:100;
  display:flex;flex-direction:column;gap:6px;
}
.c-sns-fix a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:64px;padding:24px 6px;
  background:#fff;border-radius:12px 0 0 12px;
  box-shadow:0 4px 16px rgba(28,43,40,.18);
  font-size:9px;font-weight:800;letter-spacing:.04em;color:var(--ink-soft);
  transition:.2s;
}
.c-sns-fix a:hover{transform:translateX(8px);box-shadow:0 6px 20px rgba(28,43,40,.24)}
.c-sns-fix svg{width:26px;height:26px;display:block}
@media (max-width:768px){
  /* 画面の縦中央に配置（下部固定バーから離す） */
  .c-sns-fix{top:40%;bottom:auto;transform:translateY(-50%);gap:5px}
  .c-sns-fix a{width:46px;padding:15px 5px;gap:5px;font-size:8px;border-radius:10px 0 0 10px}
  .c-sns-fix svg{width:21px;height:21px}
}
@media (prefers-reduced-motion: reduce){
  .c-sns-fix a{transition:none}
  .c-sns-fix a:hover{transform:none}
}

/* ==============================
   共通部品
   ============================== */
/* テキストリンク「〜で詳しく →」（学科詳細・入試情報で使用） */
.c-more{margin-top:10px;font-size:12.5px;font-weight:700}
.c-more a{color:var(--green)}

/* KV写真枠（角丸＋影・中央寄せ。入試情報・学科紹介で使用） */
.c-kv{max-width:900px;margin:0 auto 34px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.c-kv img{display:block;width:100%}

/* 中央寄せボタン行（学校案内・入試情報で使用） */
.c-btnrow{text-align:center;margin-top:26px}
/* 左揃え：見出し直下でテキストカラムの続きとして置く場合 */
.c-btnrow--left{text-align:left;margin-top:40px}

/* 本文テキストブロック（h3小見出し＋本文＋リスト。図書室・健康管理で使用） */
.c-prose{max-width:860px}
.c-prose h3{font-size:17.5px;font-weight:800;margin:48px 0 10px;display:flex;align-items:center;gap:9px}
.c-prose h3::before{content:"";width:7px;height:1.1em;border-radius:4px;background:linear-gradient(180deg,var(--brand-mid),var(--brand-lime));flex:none}
.c-prose h3:first-child{margin-top:0}
.c-prose p{font-size:15.5px;line-height:2;color:var(--ink-soft);margin:0 0 10px}
.c-prose ul{list-style:disc;margin:6px 0 0;padding-left:1.35em}
.c-prose ul li{font-size:15.5px;line-height:1.95;color:var(--ink-soft);margin:0}
@media (max-width: 640px){
  .c-prose h3{font-size:16px;margin:28px 0 8px}
  .c-prose p,.c-prose ul li{font-size:14.5px;line-height:1.95}
}
/* Q&Aアコーディオン（Q&A／オープンキャンパスで使用） */
.c-qa{display:grid;gap:12px;max-width:900px;margin:0 auto}
.c-qa__item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.c-qa__item summary{
  display:flex;align-items:center;gap:14px;position:relative;
  padding:15px 48px 15px 16px;cursor:pointer;list-style:none;
  font-size:16px;font-weight:700;line-height:1.6;
}
.c-qa__item summary::-webkit-details-marker{display:none}
.c-qa__item summary::after{content:"＋";position:absolute;right:18px;color:var(--green);font-weight:800}
.c-qa__item[open] summary::after{content:"−"}
.c-qa__item summary:hover{background:var(--mist)}
.c-qa__q,.c-qa__abadge{
  flex:none;width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:15px;
}
.c-qa__q{background:var(--green)}
.c-qa__abadge{background:var(--orange)}
.c-qa__a{display:flex;align-items:flex-start;gap:14px;padding:14px 16px 16px;background:var(--mist)}
.c-qa__a p{font-size:15px;line-height:1.9;color:var(--ink-soft);margin:0;padding-top:3px}
@media (max-width: 640px){
  .c-qa__item summary{font-size:14.5px;padding:13px 40px 13px 12px;gap:10px}
  .c-qa__item summary::after{right:14px}
  .c-qa__q,.c-qa__abadge{width:26px;height:26px;font-size:13.5px}
  .c-qa__a{padding:12px 12px 14px;gap:10px}
  .c-qa__a p{font-size:14px}
}

/* ==============================
   TOP：ロゴマーク掲載枠
   中身は学校案内ページと同じ p-symbol 部品を使う
   ============================== */


.p-guide{position:relative;overflow:clip;padding: clamp(64px, 7vw, 88px) 0;}

/* ==============================
   TOP：Campus Life（学生生活）— 白地。左に写真2列（左＝上へ／右＝下へ）、右にテキスト。
   写真はゆっくり流し、上下は徐々に消えるようマスクをかける。
   動きを減らす設定の環境では停止する
   ============================== */
.p-campus{position:relative;overflow:clip;padding:clamp(56px,7vw,88px) 0}

/* ==============================
   下層ページ共通（lower）
   ============================== */
/* ページタイトル帯（緑グラデ＋装飾。透過ヘッダーの下地を兼ねる） */
.c-lhead{
  position:relative;overflow:hidden;overflow:clip;color:#fff;
  /* ヘッダーの白ナビが右上に重なるため、題字帯は濃色のグラデを使用 */
  background:var(--brand-grad-deep);
  padding:clamp(150px,17vw,200px) 0 clamp(38px,5vw,54px);
}
.c-lhead__deco-circle{
  position:absolute;right:-120px;top:-140px;width:420px;height:420px;border-radius:50%;
  border:2px solid rgba(255,255,255,.25);pointer-events:none;
}
.c-lhead__deco-dots{
  position:absolute;left:24px;bottom:18px;width:150px;height:70px;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.85) 1.5px,transparent 1.6px);
  background-size:14px 14px;
}
.c-lhead__en{display:block;font-size:clamp(36px,5.2vw,54px);font-weight:800;letter-spacing:.05em;line-height:1.05}
.c-lhead__ja{display:block;margin-top:10px;font-size:clamp(14px,1.6vw,17px);font-weight:700;letter-spacing:.14em;color:#eaf6ec}
/* 題字帯をh1以外（お知らせ記事＝記事タイトルがh1のためpに降格）で使う場合の揃え */
.c-lhead__title{margin:0;line-height:1.35}
/* パンくず */
.c-bc{border-bottom:1px solid var(--line);background:#fff}
.c-bc ol{list-style:none;margin:0;display:flex;flex-wrap:wrap;gap:.6em;padding:12px 0;font-size:13px;color:var(--ink-soft)}
.c-bc li:not(:last-child)::after{content:"›";margin-left:.6em;color:var(--line)}
.c-bc a{color:var(--green);font-weight:700}
.c-bc a:hover{text-decoration:underline}
/* リード文 */
.c-lower-lead{text-align:center;font-size:16.5px;line-height:2.1}
.c-lower-lead strong{color:var(--green-dark)}
/* テキスト＋写真の2カラム（--rev で左右反転） */
.c-lower-media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.c-lower-media__ph{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.c-lower-media__ph::before{content:"";display:block;}
.c-lower-media__ph .c-ph{position:absolute;top:0;left:0;width:100%;height:100%}
.c-lower-media--rev .c-lower-media__ph{order:-1}
.c-lower-media h3{font-size:clamp(19px,2.2vw,24px);font-weight:800;margin-bottom:14px}
.c-lower-media p{font-size:15.5px;color:var(--ink-soft)}
/* チェックリスト */
.c-list-check{margin-top:18px;display:grid;gap:8px}
.c-list-check li{position:relative;padding-left:26px;font-weight:600}
.c-list-check li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
/* 汎用2カラム */
.c-cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,32px)}
@media (max-width:640px){.c-cols2{grid-template-columns:1fr}}
/* 3カラムカード */
.c-lower-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.c-lower-cards--4{grid-template-columns:repeat(4,1fr)}
/* スクールバス運行ルート図（access / seikatsu 共通） */
.c-bus-route{max-width:960px;margin:14px auto 0}
.c-bus-route img{display:block;width:100%;height:auto}
.c-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.c-card__ph{position:relative}
.c-card__ph::before{content:"";display:block;padding-top:62%}
.c-card__ph .c-ph{position:absolute;top:0;left:0;width:100%;height:100%}
.c-card__body{padding:20px 22px 24px}
.c-card__body h3{font-size:17.5px;font-weight:800;margin-bottom:8px}
.c-card__body p{font-size:14.5px;color:var(--ink-soft)}
/* 概要テーブル */
.c-lower-table{width:100%;border-collapse:collapse;background:#fff}
.c-lower-table th,.c-lower-table td{border:1px solid var(--line);padding:14px 18px;font-size:15px;text-align:left;vertical-align:top}
.c-lower-table th{background:var(--mist);width:220px;font-weight:700;color:var(--green-dark);white-space:nowrap}
/* 注記 */
.c-note{margin-top:12px;font-size:13px !important;color:var(--ink-soft)}
/* 下層CTA帯 */
.c-lower-cta{background:var(--brand-grad-deep);color:#fff;text-align:center;padding:64px 0}
.c-lower-cta h2{font-size:clamp(20px,2.6vw,27px);font-weight:800}
.c-lower-cta p{margin-top:10px;font-size:13.5px;color:#eaf6ec}
.c-lower-cta__btns{margin-top:28px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.c-lower-cta .c-btn--white{background:#fff;color:var(--green-dark);border-color:#fff}
.c-lower-cta .c-btn--white:hover{background:#c5dfd0}
/* 下層用小見出し・チップリスト（h3=グラデ縦チップ／h4=太下ボーダー） */
.c-h3{font-size:19px;font-weight:800;margin:40px 0 14px;display:flex;align-items:center;gap:10px;font-feature-settings: "palt";}
.c-h3::before{content:"";width:8px;height:1.1em;border-radius:4px;background:linear-gradient(180deg,var(--brand-mid),var(--brand-lime));flex:none}
.c-h4{font-size:16px;font-weight:800;color:var(--ink);margin:24px 0 10px;display:inline-block;padding-bottom:4px;border-bottom:4px solid var(--brand-mid)}
.c-taglist{display:flex;flex-wrap:wrap;gap:8px}
.c-taglist span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:0.5rem 1rem;font-size:14px;font-weight:600}
/* 汎用右揃え */
.c-lower-table .c-num {text-align: right;font-variant-numeric: tabular-nums;}
/* 丸数字リスト */
.c-list-num{counter-reset:cnum}
.c-list-num>li{counter-increment:cnum}
.c-list-num>li::before{content:counter(cnum)!important;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--green-dark);color:#fff;font-size:11px;font-weight:800;line-height:1;margin-top: 4px;}
.c-list-check.c-list-num { gap: 10px; }
.c-list-check.c-list-num li {padding-left: 38px;}
/* 本文中の文字リンク（a に c-link を付ける） */
.c-link{color:var(--green-dark);text-decoration:underline;text-underline-offset:.2em}
.c-link:hover{text-decoration:none}
/* 外部リンクのアイコン（フッターの c-exlink__icon と同じ形）。本文にSVGを書かずに済むようCSSで付ける。余白ごとアイコンの箱に入れて下線がかからないようにしている */
.c-link--ex::after{content:"";display:inline-block;width:18px;height:14px;vertical-align:-1px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat right center/14px 14px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat right center/14px 14px}

/* ==============================
   学校案内
   ============================== */
/* 学校長挨拶（本文カード＋正方形写真の重ね） */
/* 見出しの下に本文カードを潜り込ませる。#greeting 専用 */
.c-heading--tuck{margin-bottom:-48px}
@media (max-width:820px){
  .c-heading--tuck{margin-bottom:32px}
}
/* 教育理念の掲げ文（#policy。c-prose内のためセレクタで打ち勝つ） */
.c-prose p.p-policy-creed{font-size:clamp(19px,2.3vw,25px);font-weight:800;line-height:1.6;color:var(--green-dark);letter-spacing:.04em;margin:2px 0 8px}
.c-acc { counter-reset: acc; gap: 14px; padding: 24px 0 0; display: grid; }
.c-acc__item { counter-increment: acc; border: 1px solid var(--c-line); background: #fff; border-radius: 12px; overflow: hidden; }
.c-acc__item > summary { cursor: pointer; color: var(--c-ink); align-items: center; gap: 18px; padding: 22px 26px; font-size: 18px; font-weight: 800; line-height: 1.5; list-style: none; display: flex; }
.c-acc__item > summary::-webkit-details-marker { display: none; }
.c-acc__item > summary::marker { content: ""; }
.c-acc__item > summary:hover { background: #f7fbf9; }
.c-acc__item > summary:focus-visible { outline: 2px solid var(--c-green-l); outline-offset: -2px; }
.c-acc__item > summary:before { content: counter(acc, decimal-leading-zero); background: var(--c-green-l); color: #fff; letter-spacing: .02em; border-radius: 50%; flex: none; justify-content: center; align-items: center; width: 30px; height: 30px; font-size: 12px; font-weight: 800; line-height: 1; display: flex; }
.c-acc__item > summary:after { content: "＋"; color: var(--c-green-l); flex: none; margin-left: auto; font-size: 16px; font-weight: 800; line-height: 1; }
.c-acc__item[open] > summary:after { content: "−"; }
.c-acc__item > summary > span { flex: 1; min-width: 0; }
.c-acc__item > summary > span[data-en]:before { content: attr(data-en); letter-spacing: .2em; color: var(--c-green-l); margin-bottom: 2px; font-size: 11px; font-weight: 700; display: block; }
.c-acc__item > summary small { color: var(--c-body); font-size: 13px; font-weight: 700; }
.c-acc__body { border-top: 1px solid #eaf1ee; padding: 24px 26px 28px; }
.c-acc__body p { color: var(--c-body); text-wrap: pretty; margin: 0; font-size: 15px; line-height: 1.95; }
.c-acc__body p + p { margin-top: 14px; }
.c-acc__body ul { gap: 8px; margin: 16px 0 0; padding-left: 1.2em; list-style: outside; display: grid; }
.c-acc__body li { color: var(--c-body); font-size: 15px; line-height: 1.95; }
.c-acc__body h4 { color: var(--c-ink); border-bottom: 3px solid #6fc6bb; margin: 24px 0 10px; padding-bottom: 5px; font-size: 15.5px; font-weight: 800; line-height: 1.6; display: inline-block; }
.c-acc__body > h4:first-child,
.c-acc__body h4 + p { margin-top: 0; }
@media (max-width: 768px) {
  .c-acc { padding: 16px; }
  .c-acc__item > summary { gap: 12px; padding: 18px; font-size: 16px; }
  .c-acc__body { padding: 20px 18px 24px; }
}
/* 学校案内ローカルメニュー（アンカー） */
.c-lnav{background:#fff;border-bottom:1px solid var(--line)}
.c-lnav ul{list-style:none;margin:0;padding:14px 0;display:flex;flex-wrap:wrap;gap:8px 10px}
.c-lnav a{display:inline-block;padding:.5em 1.15em;border-radius:999px;background:var(--mist);color:var(--green-dark);font-size:14px;font-weight:700;transition:.2s}
.c-lnav a:hover{background:var(--green);color:#fff}
.l-section[id]{scroll-margin-top:24px}
/* 情報公開の書類リンクリスト */
.c-doclist{display:grid;gap:10px;max-width:760px}
.c-doclist a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 18px;font-size:15px;font-weight:600;transition:.2s}
.c-doclist a::before{content:"📄"}
.c-doclist a::after{content:"→";margin-left:auto;color:var(--green)}
.c-doclist a:hover{border-color:var(--green);box-shadow:var(--shadow)}

/* ==============================
   入試情報
   ============================== */
.c-scroll-x{overflow-x:auto}
.c-scroll-x .c-lower-table{min-width:700px}
.c-lower-table thead th{width:auto;text-align:left}

/* ==============================
   AO・推薦・ネット出願（ao / suisen / internet）
   ============================== */
/* ステップカード（番号付き） */
.c-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
/* 3カラム */
.c-steps__3steps{grid-template-columns:repeat(3,1fr);}
.c-steps .c-card__body{padding:24px 20px;text-align:center}
.c-steps .c-num{display:flex;width:44px;height:44px;margin:0 auto 12px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;align-items:center;justify-content:center;font-size:15px}
.c-steps h3{font-size:15.5px;margin-bottom:8px}
.c-steps p{font-size:12.5px;color:var(--ink-soft)}
@media (max-width: 640px){
  .c-steps{grid-template-columns:1fr 1fr;gap:12px}
}
/* =========================================================
   入試ページ共通（AO・推薦・一般・社会人）
   ========================================================= */

/* --- 出願書類テーブル（必須マークの列を固定幅・中央寄せ） --- */
.c-doctable th.c-doctable__mark, .c-doctable td.c-doctable__mark { width: 64px; text-align: center; white-space: nowrap; }
.c-doctable thead th { background: var(--mist); color: var(--green-dark); font-weight: 700; white-space: nowrap; }
/* 必須（✔）・該当者のみ（△）のマーク */
.c-doctable__req,.c-doctable__opt { display: inline-block; width: 1em; height: 1em; overflow: hidden; vertical-align: -.15em; font-size: 20px; line-height: 1; color: transparent; background: var(--orange-deep); -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; }
.c-doctable__req { --mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E"); }
.c-doctable__opt { --mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M12 4.5 20.5 19.5h-17z'/%3E%3C/svg%3E"); }
/* 表の下の注記（✔＝必須書類／△＝該当者のみ）でも同じマークを使う。大きさは注記の文字に合わせる */
.c-note .c-doctable__req,.c-note .c-doctable__opt { font-size: 1.2em; }

/* --- 中央寄せテーブル（日程表・選抜方法など） --- */
.c-table--center thead th { background: var(--mist); color: var(--green-dark); width: auto; text-align: center; white-space: nowrap; }
.c-table--center tbody td { text-align: center; }

/* ==============================
   学科紹介
   ============================== */
.c-badge{display:inline-block;background:var(--green);color:#fff;font-size:12px;font-weight:700;border-radius:4px;padding:.28em .9em;margin-bottom:12px;letter-spacing:.06em}
@media (max-width: 640px){
  .c-lower-media .p-gakka-cta{display:none}
  .c-lower-media .p-gakka-cta--sp{display:block;margin-top:18px}
}

/* ==============================
   学生生活
   ============================== */
#events .c-card__ph::before{padding-top:70%}

/* ==============================
   交通アクセス
   ============================== */

@media (max-width: 640px){
  .c-lnav ul{padding:12px 0;gap:6px 8px}
  .c-lnav a{font-size:12.5px;padding:.45em .95em}
  .c-lhead{margin-top:56px;padding:52px 0 30px}
  .c-lhead__deco-circle{width:260px;height:260px;right:-90px;top:-110px}
  .c-lower-media{grid-template-columns:1fr;gap:22px}
  .c-lower-media--rev .c-lower-media__ph{order:0}
  .c-lower-cards{grid-template-columns:1fr;gap:16px}
  .c-lower-table th{width:110px;white-space:normal}
  .c-lower-table th,.c-lower-table td{padding:11px 12px;font-size:14px}
  .c-lower-cta{padding:52px 0 56px}
}

/* ==============================
   情報公開・プライバシーポリシー（koukai / privacy）
   ============================== */
/* 情報公開・プライバシーポリシー（koukai / privacy） */
.c-doclist--sub{margin-top:12px}
.c-doclist a[target="_blank"]::before{content:"🔗"}

/* ==============================
   学科詳細（理学療法学科／救急救命学科）
   ============================== */
.c-dept-duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.c-dept-duo+.c-h3{margin-top:44px}
.c-dept-topic{max-width:860px;margin:0 auto}
.c-dept-lic{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:760px;margin:0 auto}
.c-dept-lic span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55em 1.3em;font-size:14px;font-weight:600}
/* 救急救命士になるには：本校ポイント（囲み） */
.c-dept-point{max-width:760px;margin:36px auto 0;background:var(--mist);border-radius:var(--radius);padding:26px 30px;text-align:center}
.c-dept-point h3{font-size:19px;font-weight:800;color:var(--green-dark);margin-bottom:8px}
.c-dept-point p{font-size:14.5px;color:var(--ink-soft)}
/* 時間割例：プレースホルダ */
.c-dept-tt{max-width:900px;margin:0 auto}
/* 在校生・卒業生の声：動画サムネイル（中央の再生ボタン＋MOVIEタグ＋シークバー風の帯） */
.c-dept-movie{box-shadow:inset 0 -80px 60px -40px rgba(80,35,5,.38)}
.c-dept-movie::before{content:"";position:absolute;left:50%;top:50%;z-index:2;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22'%3E%3Cpath d='M1 1.7v18.6a1 1 0 0 0 1.5.9l16-9.3a1 1 0 0 0 0-1.8l-16-9.3A1 1 0 0 0 1 1.7z' fill='%23e07514'/%3E%3C/svg%3E") no-repeat 57% 50%/22px;box-shadow:0 0 0 10px rgba(255,255,255,.28),0 8px 24px rgba(90,40,0,.25)}
.c-dept-movie .c-dept-movie__tag{position:absolute;left:16px;top:16px;padding:.45em .75em .45em .95em;border-radius:999px;background:rgba(255,255,255,.94);color:var(--orange-deep);font-size:11px;font-weight:800;letter-spacing:.2em;line-height:1;text-shadow:none}
.c-dept-movie .c-dept-movie__bar{position:absolute;left:18px;right:18px;bottom:14px;display:flex;align-items:center;gap:12px;padding:0;font-size:11px;letter-spacing:.14em}
.c-dept-movie__bar::before{content:"";flex:1;height:3px;border-radius:2px;background:linear-gradient(90deg,#fff 0 14%,rgba(255,255,255,.45) 14%)}
/* サムネイル画像を入れて YouTube へリンクするとき（a.c-dept-movie > img） */
a.c-dept-movie{display:block}
.c-dept-movie > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* リンクのときだけホバーで写真を少し拡大、再生ボタンもふくらませる */
a.c-dept-movie > img{transition:transform .4s}
a.c-dept-movie::before{transition:transform .3s}
a.c-dept-movie:hover > img{transform:scale(1.04)}
a.c-dept-movie:hover::before{transform:scale(1.1)}
/* 救急救命学科用の青（c-ph--cool の濃い青 #2b6f9c）。再生ボタンの三角と MOVIE タグの文字色だけ変える */
.c-dept-movie--cool::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 22'%3E%3Cpath d='M1 1.7v18.6a1 1 0 0 0 1.5.9l16-9.3a1 1 0 0 0 0-1.8l-16-9.3A1 1 0 0 0 1 1.7z' fill='%232b6f9c'/%3E%3C/svg%3E");box-shadow:0 0 0 10px rgba(255,255,255,.28),0 8px 24px rgba(20,60,100,.25)}
.c-dept-movie--cool .c-dept-movie__tag{color:#2b6f9c}
/* 就職実績：就職率の大数字 */
.c-dept-rate{text-align:center;margin-bottom:30px}
.c-dept-rate .c-label{font-size:15px;font-weight:800;color:var(--green-dark)}
.c-dept-rate .c-num{font-weight:900;line-height:1.1;color:var(--green-dark);font-variant-numeric:tabular-nums}
.c-dept-rate .c-num b{font-size:clamp(56px,8vw,88px)}
.c-dept-rate .c-num span{font-size:26px;font-weight:900;margin-left:6px}
/* 在校生の声：「Coming Soon...」表示 */
.c-dept-soon span{font-size:clamp(18px,2.1vw,23px);letter-spacing:.14em}
@media (max-width: 640px){
  .c-dept-duo{grid-template-columns:1fr;gap:14px}
  .c-dept-duo+.c-h3{margin-top:36px}
  .c-dept-lic span{font-size:12.5px;padding:.5em 1.1em}
  .c-dept-point{margin-top:28px;padding:20px 18px}
  .c-dept-movie::before{width:56px;height:56px;margin:-28px 0 0 -28px;background-size:18px}
.c-h3{align-items:flex-start}
  .c-h3::before{margin-top:.125em}
  .c-card__body h3 br{display:none}
}/* ==============================
   お知らせ
   ============================== */
/* 題字帯：写真背景（白文字の可読性用に緑のオーバーレイ） */
.c-lhead--photo{background:linear-gradient(rgba(18,64,52,.52),rgba(18,64,52,.52)),url("../images/lower/lhead_news.jpg?v=1") center/cover}
.c-pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:36px}
.c-pagination a,.c-pagination .is-current{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:14px;font-weight:700;padding:0 12px}
.c-pagination a{background:#fff;border:1px solid var(--line);transition:.2s}
.c-pagination a:hover{border-color:var(--green);color:var(--green-dark)}
.c-pagination .is-current{background:var(--green);color:#fff}

/* ==============================
   c-doclist のファイル形式バッジ
   （koukaiの🔗ルール〈a[target=_blank]〉より後ろに置いて優先させる）
   ============================== */
.c-doclist a.is-pdf::before{content:"PDF";font-size:10.5px;font-weight:800;color:#fff;letter-spacing:.04em;padding:.3em .55em;border-radius:6px;background:#d64541}
.c-doclist a.is-xls::before{content:"XLS";font-size:10.5px;font-weight:800;color:#fff;letter-spacing:.04em;padding:.3em .55em;border-radius:6px;background:#1e7145}

/* ==============================
   SP：パンくず＋下層アンカーメニューを2段セットで画面上部に固定
   ハンバーガー・IGボタンはパンくず行の右余白に重なり、チップ帯はくぐらない
   （各ページ重複ブロックより後ろに置いて確実に上書きする）
   ============================== */
@media (max-width: 640px){
  .c-bc{position:sticky;top:0;z-index:51}
  .c-bc .l-container{padding-right:124px} /* 右上の固定ボタンとテキストの重なり回避 */
  .c-bc ol{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .c-bc ol::-webkit-scrollbar{display:none}
  .c-bc li{flex:none}
  /* スマホは「ホーム」を出さず、最後の項目（現在ページ）は残り幅で「…」省略。右の固定ボタン分（124px）を引いた幅に収めるため */
  .c-bc li:first-child{display:none}
  .c-bc li:last-child{flex:1 1 auto;min-width:4em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .c-lnav{position:sticky;top:47px;z-index:50}
  .c-lnav ul{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .c-lnav ul::-webkit-scrollbar{display:none}
  .c-lnav li{flex:none}
  .l-section[id]{scroll-margin-top:112px}
}

/* ==== 補助クラス ====
   style属性と同じ優先度にするため、意図的に!importantを付与。
   このセクション以外で!importantは使わないこと。 */
.c-text-note{font-size:14.5px!important;color:var(--ink-soft)!important}
.c-text-em{color:var(--green-dark)!important}
.c-text-cap{font-size:13.5px!important;margin-top:8px!important}
.c-text-s{font-size:14.5px!important}
.c-address{font-style:normal!important;font-size:14.5px!important;line-height:2.1!important}
.c-grid-list{display:grid!important;gap:14px!important}

/* ==============================
   フォーム（資料請求／オープンキャンパス・個別相談）
   c-form。本文からショートコード [form_doc] [form_oc] で呼び出す
   ============================== */
.c-form__wrap{max-width:860px;margin:0 auto}
.c-form__row{
  display:grid;grid-template-columns:220px 1fr;gap:clamp(12px,2vw,28px);
  padding:22px 0;border-bottom:1px solid var(--line);align-items:start;
}
.c-form__row:first-child{border-top:1px solid var(--line)}
.c-form__label{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  font-size:15px;font-weight:800;color:var(--ink);padding-top:9px;
}
.c-form__req,.c-form__opt{
  font-size:11px;font-weight:700;letter-spacing:.04em;
  border-radius:3px;padding:3px 7px;line-height:1;
}
.c-form__req{background:var(--orange);color:#fff}
.c-form__opt{background:var(--mist);color:var(--ink-soft);border:1px solid var(--line)}
.c-form__ctrl{min-width:0}
.c-form__grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.c-form__unit{margin:0 0 12px}
.c-form__unit:last-child{margin-bottom:0}
.c-form__unit label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-soft);margin-bottom:5px}
.c-form input[type="text"],
.c-form input[type="tel"],
.c-form input[type="email"],
.c-form textarea{
  width:100%;font-family:inherit;font-size:16px;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:8px;
  padding:12px 14px;transition:border-color .2s,box-shadow .2s;
}
.c-form textarea{line-height:1.8;resize:vertical}
.c-form input:focus,.c-form textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(47,154,126,.15);
}
.c-form__unit--zip input{max-width:200px}
/* 選択肢 */
.c-form__choices{display:flex;flex-wrap:wrap;gap:8px 10px}
.c-form__choice{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-size:14.5px;font-weight:600;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:999px;
  padding:10px 16px;transition:.15s;
}
.c-form__choice:hover{border-color:var(--green);background:var(--mist)}
.c-form__choice input{accent-color:var(--green);width:17px;height:17px;flex:none;margin:0}
.c-form__choice:has(input:checked){border-color:var(--green);background:var(--mist)}
.c-form__note{font-size:12.5px;color:var(--ink-soft);margin:8px 0 0;line-height:1.7}
/* エラー表示 */
.c-form__row.is-error input,.c-form__row.is-error textarea,
.c-form__row.is-error .c-form__choice{border-color:#d64545}
.c-form__msg{font-size:12.5px;font-weight:700;color:#d64545;margin:7px 0 0}
.c-form__error{
  margin:20px 0 0;padding:14px 16px;border-radius:8px;
  background:#fdecec;border:1px solid #f3c2c2;color:#a32a2a;
  font-size:14px;font-weight:700;line-height:1.8;
}
/* 同意・送信 */
.c-form__agree{margin:26px 0 0;text-align:center}
.c-form__agree .c-form__choice{border-style:solid}
.c-form__agree a{color:var(--green-dark);text-decoration:underline}
.c-form__agree.is-error .c-form__choice{border-color:#d64545}
.c-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.c-form__submit{margin:26px 0 0;text-align:center}
.c-form__send{
  font-size:16px;font-weight:800;padding:1em 3.2em;border:none;cursor:pointer;
  font-family:inherit;border-radius:999px;
}
.c-form__send:disabled{opacity:.6;cursor:default}
/* 送信完了 */
.c-form__done{
  text-align:center;background:var(--mist);border-radius:var(--radius);
  padding:clamp(36px,6vw,60px) clamp(20px,4vw,40px);
}
.c-form__done h3{font-size:clamp(19px,2.4vw,24px);font-weight:800;color:var(--green-dark);margin:0 0 16px}
.c-form__done p{font-size:15px;line-height:2;color:var(--ink-soft);margin:0}
@media (max-width:768px){
  .c-form__row{grid-template-columns:1fr;gap:10px;padding:18px 0}
  .c-form__label{padding-top:0}
  .c-form__grid2{grid-template-columns:1fr}
  .c-form__send{width:100%;padding:1em}
}

/* ==============================
   下層ページ共通のあしらい（題字帯・CTA帯）
   本文を触らずに済むよう疑似要素で入れる。装飾なので読み上げ対象にもならない。
   題字帯は右上に円・左下にドットの飾りが既にあるため、ハートは右下に置く
   ============================== */
.c-lhead .l-container{position:relative;z-index:1}
.c-lhead::after{
  content:"";position:absolute;right:-3%;bottom:-24%;
  width:min(70%, 1200px);aspect-ratio:2400/258;
  background-color:#fff;opacity:1;pointer-events:none;
  -webkit-mask:url(../images/common/heart.png?v=20260909) no-repeat center/contain;
          mask:url(../images/common/heart.png?v=20260909) no-repeat center/contain;
	transform: rotate(336deg);
}
.c-lower-cta{position:relative;overflow:clip}
.c-lower-cta .l-container{position:relative;z-index:1}
.c-lower-cta::before{
  content:"";position:absolute;left:-3%;top:50%;transform:translateY(-50%);
  width:min(24%,220px);aspect-ratio:1/1;
  background-color:#fff;opacity:.1;pointer-events:none;
  -webkit-mask:url(../images/common/nanao_logom.svg?v=1) no-repeat center/contain;
          mask:url(../images/common/nanao_logom.svg?v=1) no-repeat center/contain;
}
@media (max-width:640px){
  .c-lhead::after{width:min(80%,320px);opacity:1;right: -3%;bottom: -10%;}
  .c-lower-cta::before{width:min(38%,150px);opacity:.09}
}

/* ==============================
   補助クラス（固定ページ本文用）
   !important は使わない。既存ルールに負ける箇所は、
   勝てる詳細度のセレクタをこのブロックで明示している。
   ============================== */

/* 部品の修飾 */
.c-heading__ja--tall{line-height:4rem}


/* ==============================
   共通あしらい：ハート＋短い線の透かし
   画像をマスクとして使い、色は background-color で決める。
   これで1つの画像を、色帯の上（白）でも白背景のセクション（ブランド色）でも使い回せる。
   装飾なので読み上げ対象外（span + aria-hidden）
   ============================== */
.c-heart{
  position:absolute;z-index:0;pointer-events:none;user-select:none;
  width:min(70%,1200px);aspect-ratio:2400/258;
  background-color:#fff;opacity:.8;
  -webkit-mask:url(../images/common/heart.png?v=20260909) no-repeat center/contain;
          mask:url(../images/common/heart.png?v=20260909) no-repeat center/contain;
}
/* 白背景のセクションではブランド色で薄く敷く */
.c-heart--light{background-color:var(--brand-mid);opacity:.8}
/* 置き場所 */
.c-heart--tl{right:-32%;top:0%;transform:scaleX(-1);}
.c-heart--tr{top:7%;right:-34%;transform: scaleX(-1);}
.c-heart--bl{left:-3%;bottom:-8%;}
.c-heart--br {right:-40%;top:8%;transform:scaleX(-1);}
.c-heart--panel-tr{top:4%;left:-19%;width: min(48%, 1200px);}
.c-heart--panel-br{right:-48%;bottom:8%;opacity:.5;transform:scaleX(-1);}
.c-heart--deco-bl{top:50%;left:-42%;}
@media (max-width:1279px){
.c-heart--panel-tr{top:1%;left:initial;right:-7%;width:min(48%,1200px);transform:rotate(42deg);opacity:1;}
}
@media (max-width:640px){
.c-heart{width:584px;opacity:3;}
.c-heart--light{opacity:.14;}
.c-heart--deco-bl{top: none; left:none; bottom: 16px;right: 0px;}
}
.c-heart--top-cta{top: 40%;left:-43%;}
@media (max-width: 640px) {.c-heart--top-cta{left:-72%;}}
@media (max-width: 480px) {.c-heart--top-cta{top: 51%;left:-79%;}}
.c-heart--top-course{left: -48%;bottom: 4%;}
@media (max-width: 1024px) {.c-heart--top-course{left: auto;transform: scaleX(-1);right: -27%;top: 6%;bottom:auto;}}
@media (max-width: 640px) {.c-heart--top-course{right: -50%;top: 6%;}}
@media (max-width: 480px) {.c-heart--top-course{right: -50%;top: 4%;}}
.c-heart--top-nanao{transform: scaleX(-1);right: -50%;top: 15%;}
@media (max-width: 480px) {.c-heart--top-nanao{right: -56%;top: auto;bottom: 8%;}}
.c-heart--top-oc{left: -40%;top: 8%;}
@media (max-width: 1024px) {.c-heart--top-oc{left: -48%;top: 4%;}}
@media (max-width: 480px) {.c-heart--top-oc{left: -80%;top: 3%;opacity: .8;}}
.c-heart--top-visitors{transform: scaleX(-1);bottom: 12%;right:-40%;}
@media (max-width: 480px) {.c-heart--top-visitors{right:-64%;opacity: .8;}}
/* オープンキャンパスページの方 */
@media (max-width: 480px) {.c-heart--tr {right: -76%;}}

/* ==============================
   共通あしらい：ロゴマークの透かし
   SVGをマスクとして使い、色は background-color で決める。
   置き場所と大きさ・濃さは、使う側のクラスで指定する
   ============================== */
.c-logomark{
  position:absolute;z-index:0;pointer-events:none;user-select:none;
  aspect-ratio:1/1;background-color:var(--ink);
  -webkit-mask:url(../images/common/nanao_logom.svg?v=1) no-repeat center/contain;
          mask:url(../images/common/nanao_logom.svg?v=1) no-repeat center/contain;
}
/* Campus Life：テキストの下、左下の余白に薄く敷く */
.p-campus__mark{left:-8%;bottom:-10%;width:min(62%,520px);opacity:.055}
@media (max-width:640px){
  /* スマホは縦積みで余白が少ないため、透かしは出さない */
  .p-campus__mark{display:none}
}

/* ==============================
   あしらいを重ねるセクション
   position の基準になり、はみ出したあしらいを切り取る
   ============================== */
.c-deco{position:relative;overflow:clip}
.c-deco > .l-container{position:relative;z-index:1}

/* ロゴ透かしの置き場所（共通）。Campus Life は専用サイズのため p-campus__mark で別指定 */
.c-logomark--tl{left:-6%;top:-10%;width:min(40%,380px);opacity:.055}
.c-logomark--tr{right:-6%;top:-10%;width:min(40%,380px);opacity:.055}
.c-logomark--bl{left:-6%;bottom:-10%;width:min(40%,380px);opacity:.055}
.c-logomark--br{right:-6%;bottom:-10%;width:min(40%,380px);opacity:.055}
@media (max-width:640px){
  .c-logomark--tl,.c-logomark--tr,.c-logomark--bl,.c-logomark--br{width:min(62%,240px);opacity:.045}
}

/* ==============================
   noindex警告バナー
   ============================== */
.c-noindex-warn{position:fixed;bottom:4px;width:100%;text-align:center;color:red;font-size:12px;z-index:9999}

/* ==============================
   スマホ時の横はみ出し防止
   ============================== */
/* 装飾（ハート・ロゴ透かし）が画面外にはみ出して、スマホで横スクロールが出るのを防ぐ */
.c-heart,.c-logomark{max-width:100vw}
/* overflow:hidden だと「プログラムからは横にスクロールできる箱」になり、はみ出した装飾のぶん中身がずれることがある。clip を重ねてスクロール不能にする（非対応ブラウザは hidden のまま） */
.l-section,.p-links,.p-cta,.p-oc,.p-f1,.p-nanao,.p-campus,.p-guide,.p-banner{position:relative;overflow:hidden;overflow:clip}

/* ==============================
   レスポンシブ
   ============================== */
@media (max-width: 1024px){
  .l-footer__grid{grid-template-columns:1fr 1fr}
  .l-header__right{display:none}
}
@media (max-width: 640px){
  .l-section{padding:64px 0}
  .l-header__plate{width:100%;border-radius:0;padding:12px 116px 12px 14px;box-shadow:0 4px 18px rgba(28,43,40,.14);gap:10px}
  .l-header__mark{width:36px;height:36px}
  .l-header__name{font-size:13px;white-space:nowrap}
  .l-header__name small{font-size:8px;letter-spacing:.02em}
  .l-header__menu{top:8px;right:10px;width:48px;height:48px;border-radius:10px}
  .l-header__ig{display:none}
  .l-spbar{display:grid}
  .l-footer{padding-bottom:52px}
  .l-drawer__panel{width:100%}
  .c-pagetop{display:none}
  .l-footer__grid{grid-template-columns:1fr 1fr;gap:40px 20px}
  .l-footer__grid > :first-child{grid-column:1 / -1}
}
