/* ============================================================
   TSUNABeeeeee! esports高等学院 — Design System v2
   参考サイト(school.hpmusic.jp)の構成・余白・タイポ作法を踏襲。
   ブランドカラー(オレンジ×ネイビー×白)は継承。
   ============================================================ */

:root {
  /* Brand palette (unchanged) */
  --orange-500: #E86526;
  --orange-600: #D9581F;
  --orange-400: #F27E3F;
  --orange-100: #FBEDD9;
  --orange-50:  #FDF6EC;

  --navy-900: #0A2252;
  --navy-800: #142A5C;
  --navy-700: #1E356A;
  --navy-500: #3F5385;
  --navy-100: #E7EBF5;

  --magenta-500: #C52367;

  --cream-100: #FBF3E8;
  --cream-200: #F5EAD6;

  --ink-900: #1a1d2b;
  --ink-700: #3a3f56;
  --ink-500: #6f7488;
  --ink-300: #b9bcc9;
  --ink-100: #ebedf2;

  --white: #ffffff;
  --off-white: #FDFBF7;

  /* semantic */
  --bg-page: var(--off-white);
  --bg-alt:  var(--cream-100);
  --fg:      var(--ink-900);
  --fg-dim:  var(--ink-500);
  --brand:   var(--orange-500);
  --brand-ink: var(--navy-900);

  --shadow-sm: 0 1px 4px rgba(10, 34, 82, .05);
  --shadow-md: 0 6px 24px rgba(10, 34, 82, .08);
  --shadow-lg: 0 16px 40px rgba(10, 34, 82, .12);

  /* type */
  --font-jp: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-body: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;
  --font-en: "Cormorant Garamond", "Playfair Display", "Times New Roman", serif;
  --font-en-alt: "Marcellus", "Cormorant Garamond", serif;

  /* layout — ゆったり余白 */
  --container: 1120px;
  --container-narrow: 880px;
  --gutter: clamp(20px, 4vw, 40px);
  --section-y: clamp(52px, 10vw, 60px);
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  background: #fff;
}
body {
  margin: 0;
  padding: 0;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 2;
  color: var(--fg);
  background: #fff;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt" 1;
}
html::before,
html::after,
body::before,
body::after {
  content: none !important;
  display: none !important;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s; }
button { font: inherit; cursor: pointer; }
p { margin: 0; }

/* ---------- utility ---------- */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding-inline: var(--gutter);
}
.container-narrow {
  max-width: var(--container-narrow);
  margin: 0 auto;
  padding-inline: var(--gutter);
}
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; top: -40px; left: 0; background: var(--navy-900); color: #fff;
  padding: 8px 14px; z-index: 100;
}
.skip-link:focus { top: 0; }
.text-center { text-align: center; }

/* ---------- typography (参考サイト作法) ---------- */
h1, h2, h3, h4 {
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.7;
  color: var(--brand-ink);
  margin: 0;
}

/* 英字大見出し(セリフ体) + 和文サブ見出し のセット */
.sec-lead {
  text-align: center;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.sec-lead__en {
  font-family: var(--font-en);
  font-weight: 500;
  font-style: italic;
  font-size: clamp(32px, 4.4vw, 52px);
  color: var(--orange-500);
  letter-spacing: .04em;
  line-height: 1.1;
  display: block;
  margin-bottom: 14px;
}
.sec-lead__jp {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(15px, 1.5vw, 17px);
  color: var(--navy-900);
  letter-spacing: .18em;
  display: inline-block;
  position: relative;
  padding: 0 20px;
}
.sec-lead__jp::before,
.sec-lead__jp::after {
  content: "";
  position: absolute; top: 50%;
  width: 12px; height: 1px;
  background: var(--navy-900);
}
.sec-lead__jp::before { left: 0; }
.sec-lead__jp::after  { right: 0; }
.sec-lead__note {
  display: block;
  margin-top: 18px;
  font-size: 16px;
  color: var(--ink-700);
  line-height: 2;
  max-width: 62ch;
  margin-left: auto;
  margin-right: auto;
}

/* 参考サイト風の左寄せセクション見出し */
.sec-title-l {
  margin-bottom: clamp(32px, 4vw, 48px);
}
.sec-title-l__en {
  font-family: var(--font-en);
  font-style: italic;
  font-size: clamp(28px, 3.6vw, 40px);
  color: var(--orange-500);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 6px;
}
.sec-title-l__jp {
  font-weight: 700;
  font-size: 15px;
  color: var(--navy-900);
  letter-spacing: .16em;
}

/* サブ見出し(記事内) */
.h3-jp {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--navy-900);
  line-height: 1.6;
  letter-spacing: .04em;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ink-100);
  margin-bottom: 20px;
}

/* orange thin rule (装飾) */
.rule {
  width: 40px; height: 1px; background: var(--orange-500);
  margin: 20px auto;
}

/* ---------- buttons (参考サイト風・pill) ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  padding: 18px 40px;
  border-radius: 999px;
  border: 1px solid transparent;
  transition: all .2s ease;
  letter-spacing: .1em;
  min-width: 220px;
}
.btn:hover { transform: translateY(-1px); }
.btn .arrow { font-family: var(--font-en); font-style: italic; font-size: 15px; }

.btn-primary {
  background: var(--orange-500);
  color: #fff;
  box-shadow: 0 4px 14px rgba(232, 101, 38, .25);
}
.btn-primary:hover { background: var(--orange-600); box-shadow: 0 6px 20px rgba(232, 101, 38, .35); }

.btn-navy {
  background: var(--navy-900);
  color: #fff;
}
.btn-navy:hover { background: var(--navy-700); }

.btn-outline {
  background: transparent;
  color: var(--navy-900);
  border-color: var(--navy-900);
}
.btn-outline:hover { background: var(--navy-900); color: #fff; }

.btn-outline-white {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,.7);
}
.btn-outline-white:hover { background: rgba(255,255,255,.12); }

.btn-link {
  padding: 4px 0 8px;
  border-bottom: 1px solid var(--navy-900);
  color: var(--navy-900);
  font-family: var(--font-en);
  font-style: italic;
  font-size: 16px;
  border-radius: 0;
  min-width: 0;
  background: transparent;
  letter-spacing: .04em;
}
.btn-link:hover { color: var(--orange-500); border-color: var(--orange-500); transform: none; }

/* ---------- header (日本語メニュー調整) ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  margin-top: 0;
  padding-top: 0;
  background: var(--cream-100);
  border-top: 0 !important;
  border-bottom: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.site-header::before,
.site-header::after,
.site-logo::before,
.site-logo::after {
  content: none !important;
  display: none !important;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 2vw, 30px);
  min-height: 92px;
  margin: 0 auto;
  padding: 0 clamp(16px, 2vw, 26px);
  max-width: 1380px;
}
.site-logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--navy-900);
}
.site-logo img {
  height: 58px;
  width: auto;
}
.site-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  min-width: 0;
}
.site-nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(12px, 1.6vw, 24px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-nav li {
  flex: 0 0 auto;
}
.site-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 92px;
  padding: 0 1px;
  font-weight: 700;
  font-size: 14px;
  color: var(--navy-900);
  letter-spacing: .05em;
  position: relative;
  white-space: nowrap;
  text-decoration: none;
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 25px;
  height: 2px;
  background: var(--orange-500);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}
.site-nav a:hover,
.site-nav a:focus-visible {
  color: var(--orange-600);
  background: transparent;
  text-decoration: none;
}
.site-nav a:hover::after,
.site-nav a:focus-visible::after,
.site-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}
.site-nav a[aria-current="page"] {
  color: var(--orange-600);
}
.header-cta {
  display: flex;
  gap: 10px;
  align-items: center;
  flex: 0 0 auto;
}
.header-cta .btn,
.mobile-cta .btn {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 10px 14px 10px 18px;
  line-height: 1.2;
  white-space: nowrap;
  flex-wrap: nowrap;
  box-shadow: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.header-cta .btn::after,
.mobile-cta .btn::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  flex: 0 0 28px;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.header-cta .btn:hover::after,
.header-cta .btn:focus-visible::after,
.mobile-cta .btn:hover::after,
.mobile-cta .btn:focus-visible::after {
  transform: translateX(2px);
}
.header-cta .btn-outline.secondary,
.mobile-cta .btn-outline {
  background: rgba(232, 101, 38, .08);
  color: var(--orange-600);
  border-color: rgba(232, 101, 38, .26);
}
.header-cta .btn-outline.secondary::after,
.mobile-cta .btn-outline::after {
  background: var(--orange-500);
  color: #fff;
}
.header-cta .btn-outline.secondary:hover,
.header-cta .btn-outline.secondary:focus-visible,
.mobile-cta .btn-outline:hover,
.mobile-cta .btn-outline:focus-visible {
  background: var(--orange-500);
  color: #fff;
  border-color: var(--orange-500);
  transform: translateY(-1px);
}
.header-cta .btn-outline.secondary:hover::after,
.header-cta .btn-outline.secondary:focus-visible::after,
.mobile-cta .btn-outline:hover::after,
.mobile-cta .btn-outline:focus-visible::after {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.header-cta .btn-primary,
.mobile-cta .btn-primary {
  background: var(--navy-900);
  color: #fff;
  border-color: var(--navy-900);
}
.header-cta .btn-primary::after,
.mobile-cta .btn-primary::after {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.header-cta .btn-primary:hover,
.header-cta .btn-primary:focus-visible,
.mobile-cta .btn-primary:hover,
.mobile-cta .btn-primary:focus-visible {
  background: var(--navy-700);
  border-color: var(--navy-700);
  box-shadow: none;
  transform: translateY(-1px);
}
.nav-toggle {
  display: none;
  position: relative;
  background: rgba(255,255,255,.52);
  color: var(--navy-900);
  border: 1px solid rgba(10, 34, 82, .12);
  box-shadow: 0 10px 24px rgba(10, 34, 82, .08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  width: 48px;
  height: 48px;
  border-radius: 16px;
  align-items: center;
  justify-content: center;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.nav-toggle:hover,
.nav-toggle:focus-visible {
  background: rgba(255,255,255,.78);
  border-color: rgba(10, 34, 82, .22);
  transform: translateY(-1px);
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: var(--navy-900);
  content: "";
  position: relative;
  transition: transform .22s ease, opacity .2s ease, top .22s ease, background .2s ease;
}
.nav-toggle span::before { position: absolute; top: -6px; }
.nav-toggle span::after  { position: absolute; top: 6px; }
.nav-toggle[aria-expanded="true"] {
  background: var(--navy-900);
  border-color: var(--navy-900);
}
.nav-toggle[aria-expanded="true"] span,
.nav-toggle[aria-expanded="true"] span::before,
.nav-toggle[aria-expanded="true"] span::after {
  background: #fff;
}
.nav-toggle[aria-expanded="true"] span {
  transform: rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span::before {
  top: 0;
  transform: rotate(90deg);
}
.nav-toggle[aria-expanded="true"] span::after {
  top: 0;
  opacity: 0;
}
body.menu-open {
  overflow: hidden;
}
@media (max-width: 1240px) {
  .site-header__inner {
    min-height: 88px;
    gap: 18px;
  }
  .site-logo img {
    height: 58px;
  }
  .site-nav ul {
    gap: 16px;
  }
  .site-nav a {
    min-height: 88px;
    font-size: 13px;
    letter-spacing: .03em;
  }
  .site-nav a::after {
    bottom: 24px;
  }
  .header-cta .btn {
    font-size: 11px;
    padding: 10px 12px 10px 14px;
    gap: 8px;
    white-space: nowrap;
  }
  .header-cta .btn::after {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }
}
@media (max-width: 1080px) {
  .site-nav { display: none; }
  .header-cta .btn.secondary { display: none; }
}
@media (max-width: 720px) {
  .site-header__inner {
    min-height: 72px;
    gap: 12px;
  }
  .site-logo img { height: 38px; }
  .header-cta { display: none; }
  .nav-toggle { display: inline-flex; }
}
.mobile-panel {
  display: none;
  position: fixed;
  top: 84px;
  left: 12px;
  right: 12px;
  z-index: 60;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 14px;
  border: 1px solid rgba(10, 34, 82, .08);
  border-radius: 24px;
  box-shadow: 0 28px 60px rgba(10, 34, 82, .16);
  max-height: calc(100vh - 96px);
  overflow: auto;
}
.mobile-panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.mobile-panel a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  font-weight: 700;
  font-size: 15px;
  color: var(--navy-900);
  border: 1px solid rgba(10, 34, 82, .08);
  border-radius: 16px;
  background: rgba(255,255,255,.62);
  letter-spacing: .04em;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.mobile-panel a::after {
  content: "→";
  color: var(--orange-500);
  font-size: 15px;
  line-height: 1;
  transition: transform .2s ease, color .2s ease;
}
.mobile-panel a:hover,
.mobile-panel a:focus-visible {
  background: rgba(251, 243, 232, .96);
  border-color: rgba(232, 101, 38, .24);
  color: var(--orange-600);
  transform: translateY(-1px);
}
.mobile-panel a:hover::after,
.mobile-panel a:focus-visible::after {
  transform: translateX(2px);
  color: var(--orange-600);
}
.mobile-panel .mobile-cta {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.mobile-panel .mobile-cta .btn {
  width: 100%;
  min-width: 0;
  padding: 13px 14px 13px 18px;
}
.mobile-panel.is-open { display: block; }
@media (min-width: 721px) {
  .mobile-panel {
    display: none !important;
  }
}
@media (max-width: 720px) {
  .mobile-panel {
    top: 84px;
  }
}


/* ---------- hero (画像のみ・オーバーレイなし) ---------- */
.hero {
  position: relative;
  background: #fff;
}
.hero__img {
  width: 100%;
  background: #fff;
}
.hero__img::before {
  content: none;
}
.hero__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  animation: none !important;
}
.hero__copy {
  display: none !important;
}
@keyframes heroZoom { from { transform: none; } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .hero__img img { animation: none !important; } }
@media (max-width: 720px) {
  .hero__img img {
    width: 100%;
    height: auto;
  }
}

/* small info bar under hero */
/* small info bar under hero */
.hero-info {
  background: #DD7939;
  color: #fff;
  padding: 12px 0;
}
.hero-info__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 var(--gutter);
}
.hero-info__message {
  margin: 0;
  font-size: clamp(35px, 3.0vw, 45px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .06em;
  color: #fff;
}
@media (max-width: 720px) {
  .hero-info {
    padding: 10px 0;
  }
  .hero-info__message {
    font-size: 25px;
    letter-spacing: .04em;
    line-height: 1.6;
  }
}

/* ---------- section wrapper ---------- */
section[id] { scroll-margin-top: 96px; }
.section {
  padding-block: var(--section-y);
}
.section-cream { background: var(--cream-100); }
.section-white { background: #fff; }
.section-dark {
  background: var(--navy-900); color: #fff;
}
.section-dark .sec-lead__en { color: var(--orange-400); }
.section-dark .sec-lead__jp { color: #fff; }
.section-dark .sec-lead__jp::before,
.section-dark .sec-lead__jp::after { background: #fff; }
.section-dark .sec-lead__note { color: rgba(255,255,255,.85); }
.section-dark h2, .section-dark h3 { color: #fff; }

/* ---------- intro (Message) — 中央寄せ縦長 ---------- */
.intro-text {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.intro-text p {
  font-size: 15px;
  line-height: 2.2;
  color: var(--ink-700);
  margin-bottom: 20px;
}
.intro-text p:last-child { margin-bottom: 0; }

/* ---------- features grid (3カラム縦カード) ---------- */
.feature-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 40px);
}
@media (max-width: 860px) { .feature-cards { grid-template-columns: 1fr; } }
.fcard {
  text-align: center;
}
.fcard__img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 4px;
  background: var(--cream-200);
  margin-bottom: 24px;
}
.fcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.fcard:hover .fcard__img img { transform: scale(1.05); }
.fcard__no {
  font-family: var(--font-en);
  font-style: italic;
  font-size: 24px;
  color: var(--orange-500);
  font-weight: 500;
  line-height: 1;
  margin-bottom: 8px;
}
.fcard__title {
  font-weight: 700;
  font-size: 17px;
  color: var(--navy-900);
  margin-bottom: 12px;
  letter-spacing: .06em;
  line-height: 1.6;
}
.fcard__text {
  font-size: 13.5px;
  line-height: 2;
  color: var(--ink-700);
}

/* ---------- courses list (参考サイト風・2カラム画像+テキスト縦積み) ---------- */
.course-list {
  display: grid;
  gap: clamp(56px, 8vw, 100px);
}
.course-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.course-item:nth-child(even) .course-item__img { order: 2; }
@media (max-width: 780px) {
  .course-item { grid-template-columns: 1fr; gap: 24px; }
  .course-item:nth-child(even) .course-item__img { order: 0; }
}
.course-item__img {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 4px;
  background: var(--cream-200);
}
.course-item__img img { width: 100%; height: 100%; object-fit: cover; }
.course-item__body { padding: 8px 0; }
.course-item__no {
  font-family: var(--font-en);
  font-style: italic;
  font-size: 22px;
  color: var(--orange-500);
  font-weight: 500;
  letter-spacing: .04em;
  margin-bottom: 8px;
}
.course-item__title {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(20px, 2.4vw, 26px);
  color: var(--navy-900);
  letter-spacing: .04em;
  line-height: 1.6;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ink-100);
}
.course-item__body p {
  font-size: 14.5px;
  line-height: 2.1;
  color: var(--ink-700);
  margin-bottom: 20px;
}
.course-item__tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-bottom: 24px;
  padding: 0;
  list-style: none;
}
.course-item__tags li {
  font-size: 12px;
  color: var(--orange-600);
  background: var(--orange-50);
  padding: 6px 14px;
  border-radius: 999px;
  letter-spacing: .06em;
}

/* ---------- price table (参考サイト風・シンプル細罫) ---------- */
.price-block {
  max-width: 720px;
  margin: 0 auto;
}
.price-block + .price-block { margin-top: clamp(48px, 6vw, 72px); }
.price-block__head {
  text-align: center;
  margin-bottom: 32px;
}
.price-block__head h3 {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(19px, 2.2vw, 24px);
  color: var(--navy-900);
  letter-spacing: .08em;
  margin-bottom: 6px;
}
.price-block__head .en {
  font-family: var(--font-en);
  font-style: italic;
  color: var(--orange-500);
  font-size: 16px;
  letter-spacing: .1em;
}
.price-block__body {
  background: #fff;
  padding: clamp(28px, 4vw, 40px);
  border-radius: 4px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--ink-100);
}
.price-block__body > p {
  font-size: 13.5px;
  line-height: 2;
  color: var(--ink-700);
  margin-bottom: 24px;
}
.price-key {
  display: grid; grid-template-columns: auto 1fr; gap: 16px;
  align-items: baseline;
  padding: 14px 0;
  border-top: 1px solid var(--ink-100);
}
.price-key:last-of-type { border-bottom: 1px solid var(--ink-100); }
.price-key dt {
  font-size: 13px;
  font-weight: 700;
  color: var(--navy-900);
  letter-spacing: .1em;
}
.price-key dd {
  margin: 0;
  text-align: right;
  font-family: var(--font-en);
  font-size: 20px;
  color: var(--orange-500);
  font-weight: 500;
}
.price-key dd .yen {
  font-family: var(--font-body);
  font-size: 12px;
  color: var(--ink-500);
  margin-left: 4px;
}
.price-key dd strong {
  font-size: 26px;
  font-weight: 600;
  letter-spacing: .02em;
}

.price-tbl {
  width: 100%; border-collapse: collapse; margin-top: 20px;
}
.price-tbl th, .price-tbl td {
  padding: 14px 12px;
  border-top: 1px solid var(--ink-100);
  border-bottom: 1px solid var(--ink-100);
  font-size: 13px;
  text-align: center;
}
.price-tbl th {
  color: var(--ink-500); font-weight: 600;
  letter-spacing: .08em;
  background: var(--off-white);
}
.price-tbl tbody th {
  text-align: left;
  color: var(--navy-900);
  background: transparent;
  font-weight: 700;
}
.price-tbl td strong {
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 500;
  color: var(--orange-600);
}
.price-tbl td .yen {
  font-family: var(--font-body);
  font-size: 11px;
  color: var(--ink-500);
  margin-left: 4px;
}

/* ---------- schedule table ---------- */
.schedule-tbl-wrap {
  overflow-x: auto;
  max-width: 100%;
}
.schedule-tbl {
  width: 100%; min-width: 640px;
  border-collapse: collapse;
  font-size: 13px;
  background: #fff;
}
.schedule-tbl th, .schedule-tbl td {
  padding: 12px 8px;
  border: 1px solid var(--ink-100);
  text-align: center;
  vertical-align: middle;
}
.schedule-tbl thead th {
  background: var(--navy-900);
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .06em;
}
.schedule-tbl thead th:first-child { background: var(--navy-800); }
.schedule-tbl tbody th {
  background: var(--cream-100);
  color: var(--navy-900);
  font-weight: 700;
  white-space: nowrap;
  text-align: left;
  padding-left: 16px;
}
.schedule-tbl td .ok {
  color: var(--orange-500);
  font-family: var(--font-en);
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
}
.schedule-tbl td.lunch, .schedule-tbl td.after {
  background: var(--cream-100);
  color: var(--ink-500);
  font-style: italic;
}
.schedule-tbl td.report { color: var(--orange-600); font-weight: 700; }
.schedule-tbl td.global { color: var(--navy-700); font-weight: 700; }

.schedule-note {
  margin-top: 16px;
  font-size: 12px;
  color: var(--ink-500);
  text-align: center;
}

/* ---------- news list (参考サイト風・シンプル) ---------- */
.news-list {
  list-style: none; padding: 0; margin: 0;
  max-width: 780px;
  margin: 0 auto;
}
.news-list li {
  display: grid;
  grid-template-columns: 108px 90px 1fr;
  gap: 20px;
  align-items: baseline;
  padding: 20px 0;
  border-bottom: 1px solid var(--ink-100);
  font-size: 16px;
}
.news-list li:first-child { border-top: 1px solid var(--ink-100); }
.news-list time {
  font-family: var(--font-en);
  color: var(--ink-500);
  font-size: 16px;
  letter-spacing: .06em;
}
.news-list .tag {
  background: transparent;
  color: var(--orange-600);
  border: 1px solid var(--orange-500);
  padding: 3px 12px;
  font-size: 11px;
  letter-spacing: .08em;
  text-align: center;
  border-radius: 999px;
}
.news-list .tag.event { color: var(--navy-900); border-color: var(--navy-900); }
.news-list a { color: var(--navy-900); font-weight: 500; line-height: 1.7; }
.news-list a:hover { color: var(--orange-500); }
@media (max-width: 640px) {
  .news-list li { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .news-list time { font-size: 12px; }
}

/* ---------- instructor cards ---------- */
.instructor-grid {
  display: grid;
  gap: clamp(28px, 4vw, 48px);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.inst {
  text-align: center;
}
.inst__portrait {
  width: 180px; height: 180px;
  margin: 0 auto 20px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--cream-200);
  border: 4px solid #fff;
  box-shadow: 0 0 0 1px var(--ink-100);
}
.inst__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.inst__name-en {
  font-family: var(--font-en);
  font-style: italic;
  font-size: 24px;
  color: var(--navy-900);
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 4px;
}
.inst__name-jp {
  font-size: 12px;
  color: var(--ink-500);
  letter-spacing: .1em;
  margin-bottom: 12px;
}
.inst__title {
  display: inline-block;
  font-size: 11px;
  color: var(--orange-600);
  background: var(--orange-50);
  padding: 4px 12px;
  border-radius: 999px;
  letter-spacing: .08em;
  margin-bottom: 14px;
}
.inst__bio {
  font-size: 13px;
  color: var(--ink-700);
  line-height: 1.95;
  text-align: left;
  padding: 0 12px;
}

/* ---------- access (map + info) ---------- */
.access-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
@media (max-width: 780px) { .access-grid { grid-template-columns: 1fr; } }
.access-map {
  aspect-ratio: 16/10;
  background: var(--cream-200);
  overflow: hidden;
  border-radius: 4px;
  position: relative;
}
.access-map img { width: 100%; height: 100%; object-fit: cover; }
.access-info dt {
  font-family: var(--font-en);
  font-style: italic;
  color: var(--orange-500);
  font-size: 15px;
  letter-spacing: .06em;
  margin-top: 20px;
}
.access-info dt:first-child { margin-top: 0; }
.access-info dd {
  margin: 6px 0 0;
  font-size: 16px;
  line-height: 1.9;
  color: var(--ink-700);
}
.access-info dd strong { color: var(--navy-900); font-weight: 700; }

.access-tabs {
  display: flex; gap: 4px; margin-bottom: 24px;
  border-bottom: 1px solid var(--ink-100);
}
.access-tab {
  padding: 12px 22px;
  background: transparent;
  border: 0;
  color: var(--ink-500);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .08em;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all .15s;
}
.access-tab[aria-selected="true"] {
  color: var(--orange-500);
  border-bottom-color: var(--orange-600);
}

/* ---------- contact banner ---------- */
.contact-banner {
  background: var(--cream-100);
  padding: clamp(48px, 7vw, 88px) 0;
  text-align: center;
}
.contact-banner__en {
  font-family: var(--font-en);
  font-style: italic;
  font-size: clamp(32px, 4.4vw, 52px);
  color: var(--orange-500);
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 14px;
}
.contact-banner__jp {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy-900);
  letter-spacing: .18em;
  margin-bottom: 28px;
}
.contact-banner__text {
  font-size: 16px;
  color: var(--ink-700);
  line-height: 2;
  max-width: 48ch;
  margin: 0 auto 36px;
}
.contact-banner__row {
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
}

/* small dl for TEL etc */
.contact-lines {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 640px) { .contact-lines { grid-template-columns: 1fr; } }
@media (max-width: 900px) {
  .pamphlet-p3__stack {
    grid-template-columns: 1fr;
    max-width: 790px;
  }
}
.contact-lines__box {
  padding: 28px 20px;
  border: 1px solid var(--ink-100);
  background: #fff;
  border-radius: 4px;
}
.contact-lines__box .en {
  font-family: var(--font-en);
  font-style: italic;
  color: var(--orange-500);
  font-size: 20px;
  margin-bottom: 6px;
}
.contact-lines__box .val {
  font-family: var(--font-en);
  font-size: 22px;
  font-weight: 500;
  color: var(--navy-900);
  letter-spacing: .02em;
}
.contact-lines__box .note {
  display: block;
  font-size: 11px;
  color: var(--ink-500);
  margin-top: 4px;
  letter-spacing: .06em;
}

/* ---------- FAQ (details) ---------- */
.faq {
  max-width: 780px;
  margin: 0 auto;
  display: grid;
  gap: 0;
}
.faq details {
  border-bottom: 1px solid var(--ink-100);
  background: transparent;
}
.faq details:first-child { border-top: 1px solid var(--ink-100); }
.faq summary {
  cursor: pointer;
  list-style: none;
  padding: 22px 44px 22px 44px;
  display: flex; align-items: flex-start; gap: 16px;
  font-weight: 700;
  color: var(--navy-900);
  line-height: 1.7;
  position: relative;
  font-size: 15px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before {
  content: "Q";
  position: absolute; left: 4px; top: 22px;
  font-family: var(--font-en);
  font-style: italic;
  font-weight: 500;
  color: var(--orange-500);
  font-size: 22px;
  line-height: 1.2;
}
.faq summary::after {
  content: "";
  position: absolute; right: 4px; top: 26px;
  width: 14px; height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A2252' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat center/contain;
  transition: transform .2s;
}
.faq details[open] summary::after { transform: rotate(180deg); }
.faq details > div {
  padding: 0 44px 24px 44px;
  color: var(--ink-700);
  font-size: 16px;
  line-height: 2;
  position: relative;
}
.faq details > div::before {
  content: "A";
  position: absolute; left: 4px; top: 0;
  font-family: var(--font-en);
  font-style: italic;
  font-weight: 500;
  color: var(--navy-900);
  font-size: 22px;
}

/* ---------- footer (tsunabeeeeee-eshs.com 寄せ) ---------- */
.site-footer {
  background: #fff;
  color: var(--ink-700);
  padding: 0;
  font-size: 16px;
  letter-spacing: .04em;
}
.site-footer__main {
  background: #fff;
  padding: clamp(40px, 5vw, 64px) 0;
}
.site-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.site-footer__left {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}
.site-footer__logo {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 6px;
}
.site-footer__logo a {
  display: block;
  width: min(360px, 100%);
}
.site-footer__logo img {
  width: min(360px, 100%);
  height: auto;
  filter: drop-shadow(0 10px 20px rgba(10, 34, 82, .08));
}
.site-footer__school {
  margin: 0 0 18px;
  color: var(--navy-900);
  font-size: clamp(24px, 2.2vw, 30px);
  line-height: 1.45;
  letter-spacing: .08em;
  font-weight: 700;
}
.site-footer__info {
  min-width: 0;
}
.site-footer__meta {
  display: grid;
  gap: 14px;
}
.site-footer__info-item {
  padding: 18px 22px;
  border: 1px solid #f0d9c7;
  border-radius: 20px;
  background: linear-gradient(180deg, #fffdfa 0%, #fff6ef 100%);
  box-shadow: 0 10px 24px rgba(232, 101, 38, .08);
}
.site-footer__info-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #d86c2e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}
.site-footer__campus-list {
  display: grid;
  gap: 12px;
}
.site-footer__campus {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(232, 101, 38, .14);
}
.site-footer__campus-name {
  margin-bottom: 6px;
  color: var(--navy-900);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .08em;
}
.site-footer__info address,
.site-footer__info p {
  margin: 0;
  color: #3e4657;
  font-style: normal;
  line-height: 1.85;
  font-size: 16px;
}
.site-footer__tel {
  color: var(--navy-900);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none;
}
.site-footer__tel:hover {
  color: #d86c2e;
}
.site-footer__contact {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 84px;
  padding: 22px 26px;
  border: 2px solid #e17b34;
  border-radius: 24px;
  color: #e17b34;
  background: linear-gradient(180deg, #ffffff 0%, #fff7f0 100%);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .08em;
  box-shadow: 0 14px 28px rgba(232, 101, 38, .12);
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.site-footer__contact:hover {
  background: #e17b34;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(232, 101, 38, .22);
}
.site-footer__contact::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(225, 123, 52, .12);
  font-size: 18px;
  flex: 0 0 auto;
}
.site-footer__contact:hover::after {
  background: rgba(255,255,255,.18);
}
.site-footer__cta-group {
  display: grid;
  gap: 18px;
  align-self: stretch;
  align-content: center;
}
.site-footer__cta-group .btn,
.site-footer__cta-group .site-footer__contact {
  width: 100%;
}
.site-footer__cta-group .btn {
  min-width: 0;
  min-height: 84px;
  justify-content: space-between;
  padding: 22px 26px;
  border-radius: 24px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .08em;
  box-shadow: 0 14px 28px rgba(10, 34, 82, .12);
}
.site-footer__cta-group .btn::after {
  content: "→";
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.site-footer__cta-group .btn.btn-primary::after {
  background: rgba(255,255,255,.18);
  color: #fff;
}
.site-footer__cta-group .btn.btn-navy::after {
  background: rgba(255,255,255,.14);
  color: #fff;
}
.site-footer__cta-group .btn.btn-primary {
  background: linear-gradient(135deg, #ef8a49 0%, #e56a2a 55%, #d9541d 100%);
  border-color: #e56a2a;
  box-shadow: 0 18px 32px rgba(232, 101, 38, .24);
}
.site-footer__cta-group .btn.btn-navy {
  background: linear-gradient(135deg, #16346f 0%, #0c2558 52%, #081a3a 100%);
  border-color: #0c2558;
  box-shadow: 0 18px 32px rgba(10, 34, 82, .2);
}
.site-footer__cta-group .btn:hover,
.site-footer__cta-group .site-footer__contact:hover {
  transform: translateY(-2px);
}
.site-footer__cta-group .btn:hover::after,
.site-footer__cta-group .btn:focus-visible::after {
  transform: translateX(2px);
}
.site-footer__bottom {
  background: #e17b34;
  padding: 16px 0 18px;
  border-top: 0;
}
.site-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}
.site-footer__links li {
  line-height: 2;
}
.site-footer__links a {
  display: inline-block;
  padding: 0 1em;
  color: #fff;
  font-size: 16px;
  border-right: 1px solid rgba(255,255,255,.9);
}
.site-footer__links li:last-child a {
  border-right: 0;
}
.site-footer__links a:hover {
  text-decoration: underline;
}
.site-footer__copyright {
  margin-top: 10px;
  color: #fff;
  text-align: center;
  font-size: 12px;
  letter-spacing: .08em;
}
@media (max-width: 980px) {
  .site-footer__top {
    grid-template-columns: 1fr;
  }
  .site-footer__left {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
@media (max-width: 680px) {
  .site-footer__main {
    padding: 34px 0;
  }
  .site-footer__top {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .site-footer__left {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .site-footer__logo {
    justify-content: flex-start;
  }
  .site-footer__logo a,
  .site-footer__logo img {
    width: 190px;
  }
  .site-footer__school {
    font-size: 22px;
  }
  .site-footer__info-item {
    padding: 14px 16px;
    border-radius: 18px;
  }
  .site-footer__campus {
    padding: 10px 12px;
    border-radius: 14px;
  }
  .site-footer__campus-name {
    font-size: 13px;
  }
  .site-footer__info address,
  .site-footer__info p {
    font-size: 16px;
  }
  .site-footer__tel {
    font-size: 22px;
  }
  .site-footer__cta-group .btn,
  .site-footer__contact {
    min-height: 74px;
    padding: 18px 20px;
    font-size: 16px;
    border-radius: 20px;
  }
  .site-footer__links a {
    padding: 0 .7em;
    font-size: 12px;
  }
  .site-footer__copyright {
    font-size: 11px;
    line-height: 1.8;
  }
}

/* ---------- breadcrumb ---------- */
.breadcrumb {
  padding: 16px 0;
  background: transparent;
  font-size: 12px;
  color: var(--ink-500);
  letter-spacing: .06em;
}
.breadcrumb ol {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  max-width: var(--container);
  margin: 0 auto;
  padding-inline: var(--gutter);
}
.breadcrumb li:not(:last-child)::after {
  content: "/"; margin-left: 8px; color: var(--ink-300);
}
.breadcrumb a { color: var(--ink-700); }
.breadcrumb a:hover { color: var(--orange-500); }

/* ---------- page hero (subpages) — 参考サイト風・小さめタイトル画面 ---------- */
.page-hero {
  background: var(--cream-100);
  position: relative;
  padding: clamp(64px, 8vw, 120px) 0 clamp(48px, 6vw, 80px);
  text-align: center;
}
.page-hero::before {
  content: "";
  position: absolute;
  right: -60px; top: -60px;
  width: 300px; height: 300px;
  background: url("../img/e-badge.svg") center/contain no-repeat;
  opacity: .12;
  pointer-events: none;
}
.page-hero__en {
  font-family: var(--font-en);
  font-style: italic;
  color: var(--orange-500);
  font-size: clamp(40px, 5.5vw, 68px);
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 14px;
}
.page-hero h1 {
  font-weight: 700;
  font-size: clamp(15px, 1.5vw, 17px);
  color: var(--navy-900);
  letter-spacing: .24em;
  display: inline-block;
  position: relative;
  padding: 12px 32px;
  border-top: 1px solid var(--navy-900);
  border-bottom: 1px solid var(--navy-900);
}
.page-hero__note {
  margin-top: 30px;
  font-size: 16px;
  color: var(--ink-700);
  line-height: 2;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- generic helpers ---------- */
.mt-lg { margin-top: clamp(32px, 5vw, 56px); }
.mb-lg { margin-bottom: clamp(32px, 5vw, 56px); }
.grid-2 {
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 48px);
  align-items: start;
}
@media (max-width: 780px) { .grid-2 { grid-template-columns: 1fr; } }

/* ---------- image slot fallback ---------- */
.image-placeholder {
  width: 100%; height: 100%;
  background: repeating-linear-gradient(
    45deg,
    var(--cream-100),
    var(--cream-100) 10px,
    var(--cream-200) 10px,
    var(--cream-200) 20px
  );
  display: flex; align-items: center; justify-content: center;
  color: var(--ink-500);
  font-family: monospace;
  font-size: 12px;
  letter-spacing: .1em;
}

/* ---------- reveal ---------- */
html.js .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s ease; }
html.js .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html.js .reveal, .btn, .site-nav a::after, .hero__img img { transition: none !important; animation: none !important; }
  html.js .reveal { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ============================================================
   Tweaks (theme variants) — 継承
   ============================================================ */
body[data-density="compact"] { --section-y: clamp(48px, 7vw, 100px); }
body[data-density="cozy"]    { --section-y: clamp(96px, 12vw, 180px); }


/* ---------- shared section heading / pamphlet about ---------- */
.sec-lead--shared {
  margin-bottom: 36px;
}
.sec-lead--shared .sec-lead__en {
  display: inline-block;
  min-height: 0;
  padding: 0;
  margin-bottom: 16px;
  border-radius: 0;
  background: transparent;
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
  color: #0A2252;
  font-size: 15px;
  letter-spacing: .12em;
}
.sec-lead--shared .sec-lead__jp {
  display: block;
  padding: 0;
margin-top: 60px;
  font-size: 40px;
  line-height: 1.28;
  letter-spacing: .16em;
  color: #D97836;
}
.sec-lead--shared .sec-lead__jp::before,
.sec-lead--shared .sec-lead__jp::after {
  content: none;
}
.sec-lead--shared .sec-lead__note {
  margin-top: 12px;
  max-width: 520px;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: .04em;
}
.about-pamphlet-section {
  background: #FDF5EC;
}
.about-pamphlet-section .container {
  max-width: 1180px;
}
.about-brochure {
  position: relative;
  overflow: hidden;
  max-width: 1128px;
  margin: 0 auto;
  background: #FDF5EC;
  padding: 8px 8px 26px;
}
.about-brochure__watermark {
  position: absolute;
  top: 24px;
  right: -6px;
  font-family: var(--font-en);
  font-size: 96px;
  line-height: 1;
  font-style: italic;
  font-weight: 600;
  color: rgba(221, 121, 57, .075);
  transform: rotate(-13deg);
  pointer-events: none;
  white-space: nowrap;
}
.about-brochure__kicker,
.about-brochure__features-title {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #CF6C31;
}
.about-brochure__kicker {
  margin-bottom: 18px;
}
.about-brochure__section-title {
  margin: 0;
  font-family: var(--font-body);
  font-style: normal;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: .12em;
  color: #D97836;
}
.about-brochure__section-title--features {
  font-size: 35px;
  line-height: 1.08;
  letter-spacing: .10em;
}
.about-brochure__triangle {
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #DD7939;
  flex: 0 0 auto;
}
.about-brochure__brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 26px;
}
.about-brochure__brand-badge {
  flex: 0 0 auto;
  width: 86px;
}
.about-brochure__brand-badge img {
  display: block;
  width: 100%;
  height: auto;
}
.about-brochure__brand-copy {
  padding-top: 2px;
}
.about-brochure__brand-en {
  font-family: var(--font-en);
  font-style: italic;
  font-size: 45px;
  line-height: 1;
  letter-spacing: -.01em;
  color: #D4682E;
}
.about-brochure__brand-ja {
  margin-top: 5px;
  font-size: 38px;
  line-height: 1.08;
  letter-spacing: .02em;
  color: #2D211F;
}
.about-brochure__intro {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(290px, .97fr);
  gap: 30px;
  align-items: start;
}
.about-brochure__intro-copy {
  padding-top: 3px;
}
.about-brochure__intro-copy p {
  margin: 0;
  font-size: 16px;
  line-height: 2.3;
  letter-spacing: .02em;
  color: #3B302B;
}
.about-brochure__callout {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 17px;
  padding: 14px 18px;
  border: 2px solid rgba(221, 121, 57, .84);
  background: rgba(255, 250, 244, .82);
}
.about-brochure__callout-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  color: #DD7939;
  flex: 0 0 54px;
}
.about-brochure__callout-icon svg {
  width: 100%;
  height: 100%;
}
.about-brochure__callout p {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: .05em;
  color: #2D211F;
}
.about-brochure__intro-visual {
  position: relative;
  margin: 0;
}
.about-brochure__intro-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 1.8;
  object-fit: cover;
}
.about-brochure__badge-circle {
  position: absolute;
  top: 10px;
  right: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: #DD7939;
  color: #fff;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .08em;
}
.about-brochure__features-title {
  margin-top: 19px;
  margin-bottom: 17px;
}
.about-brochure__features-title h3 {
  font-size: 35px;
  line-height: 1.05;
  letter-spacing: .09em;
  color: #CF6C31;
}
.about-brochure__features-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 50px;
}
.about-feature-card {
  display: flex;
  flex-direction: column;
  text-align: center;
}


.about-feature-card__icon-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.about-feature-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 114px;
  height: 114px;
  border-radius: 50%;
  background: #DD7939;
  color: #fff;
}
.about-feature-card__icon svg {
  width: 58%;
  height: 58%;
}
.about-feature-card__triangle {
  margin-top: -1px;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 14px solid #DD7939;
}
.about-feature-card__no {
  margin-top: 14px;
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
  font-size: 41px;
  line-height: 1;
  color: #DD7939;
}
.about-feature-card__title {
  margin-top: 8px;
  font-size: 19px;
  line-height: 1.48;
  letter-spacing: .05em;
  color: #2D211F;
}
.about-feature-card__text {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.88;
  color: #3B302B;
  text-align: left;
}
.about-feature-card__photo {
  margin-top: 16px;
  aspect-ratio: 1.46;
  overflow: hidden;
}

.about-feature-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 960px) {
  .sec-lead--shared {
    margin-bottom: 30px;
  }
  .sec-lead--shared .sec-lead__jp {
    font-size: 28px;
  }
  .about-brochure {
    padding: 4px 4px 24px;
  }
  .about-brochure__watermark {
    font-size: 76px;
    right: -22px;
  }
  .about-brochure__brand-badge {
    width: 78px;
  }
  .about-brochure__brand-en {
    font-size: 39px;
  }
  .about-brochure__brand-ja {
    font-size: 32px;
  }
  .about-brochure__intro {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .about-brochure__intro-visual {
    max-width: 560px;
    margin: 0 auto;
  }
  .about-brochure__features-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .about-feature-card {
    max-width: 560px;
    margin: 0 auto;
  }
}
@media (max-width: 720px) {
  .sec-lead--shared .sec-lead__en {
    min-height: 0;
    padding: 0;
    margin-bottom: 12px;
    font-size: 13px;
  }
  .sec-lead--shared .sec-lead__jp {
    font-size: 28px;
    letter-spacing: .12em;
  }
  .sec-lead--shared .sec-lead__note {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.8;
  }
  .about-brochure {
    padding: 0 0 20px;
  }
  .about-brochure__watermark {
    top: 64px;
    right: -40px;
    font-size: 54px;
  }
  .about-brochure__kicker {
    font-size: 12px;
    gap: 9px;
    margin-bottom: 12px;
    letter-spacing: .08em;
  }
  .about-brochure__triangle {
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
  }
  .about-brochure__brand {
    gap: 12px;
    margin-bottom: 18px;
    align-items: center;
  }
  .about-brochure__brand-badge {
    width: 62px;
  }
  .about-brochure__brand-en {
    font-size: 29px;
  }
  .about-brochure__brand-ja {
    margin-top: 3px;
    font-size: 24px;
  }
  .about-brochure__intro-copy p,
  .about-feature-card__text {
    font-size: 12px;
    line-height: 1.82;
  }
  .about-brochure__callout {
    gap: 12px;
    padding: 12px 14px;
    margin-top: 14px;
  }
  .about-brochure__callout-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }
  .about-brochure__callout p {
    font-size: 17px;
    line-height: 1.42;
  }
  .about-brochure__badge-circle {
    top: 9px;
    right: 9px;
    width: 70px;
    height: 70px;
    font-size: 18px;
  }
  .about-brochure__features-title {
    margin-top: 18px;
    margin-bottom: 15px;
  }
  .about-brochure__features-title h3 {
    font-size: 27px;
  }
  .about-feature-card__icon {
    width: 98px;
    height: 98px;
  }
  .about-feature-card__triangle {
    border-left-width: 10px;
    border-right-width: 10px;
    border-top-width: 12px;
  }
  .about-feature-card__no {
    margin-top: 12px;
    font-family: var(--font-body);
    font-style: normal;
    font-weight: 700;
    font-size: 35px;
  }
  .about-feature-card__title {
    margin-top: 7px;
    font-size: 16px;
    line-height: 1.42;
  }
  .about-feature-card__photo {
    margin-top: 14px;
  }
}



/* ===== pamphlet page 2 / campus introduction ===== */
.pamphlet-p2-section {
  background: #FBF3E8;
}
.pamphlet-page--2 {
  max-width: 1088px;
}
.pamphlet-p2__minor-title {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  color: #D86B33;
}
.pamphlet-p2__minor-title::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 13px solid #E17739;
}
.pamphlet-p2__values-wrap {
  margin-top: 10px;
}
.pamphlet-p2__values-cluster {
  position: relative;
  min-height: 520px;
}
.pamphlet-p2__circle {
  position: absolute;
  border-radius: 50%;
  display: grid;
  align-content: start;
  justify-items: center;
  text-align: center;
  padding: 68px 46px 0;
}
.pamphlet-p2__circle-no {
  position: absolute;
  font-family: var(--font-en);
  font-style: italic;
  font-size: 92px;
  line-height: 1;
  font-weight: 600;
  opacity: .72;
}
.pamphlet-p2__circle h3 {
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: .08em;
  color: #ffffff;
}
.pamphlet-p2__circle p {
  margin: 14px 0 0;
  max-width: 210px;
  font-size: 16px;
  line-height: 1.68;
  letter-spacing: .02em;
  color: #4B413A;
}
.pamphlet-p2__circle--01 {
  top: 8px;
  left: 312px;
  width: 340px;
  height: 340px;
  background: rgba(168, 214, 239, .88);
}
.pamphlet-p2__circle--01 .pamphlet-p2__circle-no {
  top: -8px;
  left: -36px;
  color: #93CAE8;
}
.pamphlet-p2__circle--02 {
  top: 148px;
  left: 180px;
  width: 336px;
  height: 336px;
  background: rgba(164, 207, 165, .88);
}
.pamphlet-p2__circle--02 .pamphlet-p2__circle-no {
  top: 4px;
  left: -42px;
  color: #88C287;
}
.pamphlet-p2__circle--03 {
  top: 150px;
  left: 492px;
  width: 336px;
  height: 336px;
  background: rgba(223, 144, 166, .88);
}
.pamphlet-p2__circle--03 .pamphlet-p2__circle-no {
  top: 4px;
  right: -36px;
  color: #D988A5;
}
.pamphlet-p2__center-badge {
  position: absolute;
  left: 50%;
  top: 190px;
  transform: translateX(-50%);
  width: 156px;
  height: 156px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.92);
  border-radius: 26px;
  box-shadow: 0 0 0 8px rgba(255,255,255,.65);
}
.pamphlet-p2__center-badge img {
  display: block;
  width: 120px;
  height: auto;
}
.pamphlet-p2__campus-head {
  margin-top: 18px;
  margin-bottom: 60px;
}

.pamphlet-p2__major-title {
  margin: 10px 0 0;
  font-size: clamp(34px, 3.5vw, 52px);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: .06em;
  color: #DB7337;

}
.pamphlet-p2__campus {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  gap: 28px;
  align-items: start;
  margin-top: 20px;
}
.pamphlet-p2__campus--asato {
  margin-top: 26px;
  padding-top: 26px;
  border-top: 2px dotted rgba(219, 115, 55, .35);
}
.pamphlet-p2__campus-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px 10px;
  border-radius: 999px;
  background: #DF7A39;
  color: #fff;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .06em;
}
.pamphlet-p2__campus-pill span {
  font-family: var(--font-en);
  font-size: 12px;
  font-style: italic;
  letter-spacing: .12em;
}
.pamphlet-p2__campus-copy h3 {
  margin: 18px 0 0;
  font-size: clamp(26px, 2.45vw, 28px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .04em;
  color: #443127;
}
.pamphlet-p2__campus-copy p {
  margin: 18px 0 0;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: .02em;
  color: #3C312B;
}
.pamphlet-p2__address-box {
  margin-top: 18px;
  display: inline-grid;
  gap: 6px;
}
.pamphlet-p2__address-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .05em;
  color: #322823;
}
.pamphlet-p2__address-body {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: .02em;
  color: #322823;
}
.pamphlet-p2__campus-visuals--kumoji {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.pamphlet-p2__campus-visuals--kumoji .pamphlet-p2__photo--hero {
  grid-column: auto;
}
.pamphlet-p2__campus-visuals--asato {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.pamphlet-p2__photo {
  margin: 0;
  background: #fff;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}
.pamphlet-p2__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.pamphlet-p2__campus--asato .pamphlet-p2__photo {
  aspect-ratio: 16 / 8;   /* ← トップページと同じ比率に変更 */
}

.pamphlet-p2__campus--asato .pamphlet-p2__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.pamphlet-p2__campus-visuals iframe {
  display: block;
  width: 100%;
  height: 280px !important;
  min-height: 280px;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  background: #ddd;
}
@media (max-width: 1040px) {
  .pamphlet-p2__values-cluster {
    min-height: 720px;
  }
  .pamphlet-p2__circle--01 {
    left: 50%;
    transform: translateX(-50%);
  }
  .pamphlet-p2__circle--02 {
    top: 230px;
    left: 90px;
  }
  .pamphlet-p2__circle--03 {
    top: 230px;
    left: auto;
    right: 90px;
  }
  .pamphlet-p2__center-badge {
    top: 312px;
  }
  .pamphlet-p2__campus {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .pamphlet-p2__minor-title {
    font-size: 24px;
  }
  .pamphlet-p2__values-cluster {
    min-height: 920px;
  }
  .pamphlet-p2__circle {
    width: 290px;
    height: 290px;
    padding: 58px 28px 0;
  }
  .pamphlet-p2__circle h3 {
    font-size: 28px;
  }
  .pamphlet-p2__circle p {
    font-size: 13px;
    max-width: 190px;
  }
  .pamphlet-p2__circle-no {
    font-size: 72px;
  }
  .pamphlet-p2__circle--01 {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .pamphlet-p2__circle--02 {
    top: 258px;
    left: 10px;
  }
  .pamphlet-p2__circle--03 {
    top: 500px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .pamphlet-p2__center-badge {
    top: 420px;
    width: 132px;
    height: 132px;
  }
  .pamphlet-p2__center-badge img {
    width: 102px;
  }
  .pamphlet-p2__major-title {
    font-size: 26px;
  }
  .pamphlet-p2__campus-pill {
    font-size: 17px;
    padding: 8px 14px;
  }
  .pamphlet-p2__campus-pill span {
    font-size: 10px;
  }
  .pamphlet-p2__campus-copy h3 {
    font-size: 21px;
  }
  .pamphlet-p2__campus-copy p,
  .pamphlet-p2__address-body {
    font-size: 13px;
  }
  .pamphlet-p2__address-title {
    font-size: 18px;
  }
  .pamphlet-p2__campus-visuals--kumoji,
  .pamphlet-p2__campus-visuals--asato {
    gap: 10px;
  }
}

/* ===== pamphlet page 7 / instructor Lise ===== */
.pamphlet-p7-section {
  background: #FAF3EB;
}
.pamphlet-page--7 {
  max-width: 1088px;
}
.pamphlet-page__hero--instructor {
  grid-template-columns: minmax(0, 1fr) 146px;
  padding: 24px 32px 23px 34px;
  background: linear-gradient(90deg, #D95826 0%, #E36A32 58%, #D64F22 100%);
}
.pamphlet-page__hero--instructor::before {
  right: 108px;
  top: 16px;
  width: 146px;
  height: 146px;
  border-width: 13px;
}
.pamphlet-page__hero--instructor::after {
  width: 194px;
}
.pamphlet-p7__lead {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr);
  gap: 18px;
  align-items: end;
  margin-top: 34px;
}
.pamphlet-p7__lead-copy {
  padding-top: 8px;
}
.pamphlet-p7__catch {
  font-size: clamp(24px, 2.75vw, 28px);
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: .05em;
  color: #E06224;
}
.pamphlet-p7__identity {
  margin-top: 18px;
  padding-left: 24px;
}
.pamphlet-p7__name-wrap {
  position: relative;
  padding-left: 24px;
}
.pamphlet-p7__name-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 2px;
  height: 74px;
  background: #DF6A2C;
}
.pamphlet-p7__name-en {
  font-family: var(--font-body);
  font-size: clamp(46px, 4.2vw, 72px);
  font-weight: 800;
  line-height: .94;
  letter-spacing: .02em;
  color: #211A18;
}
.pamphlet-p7__name-jp {
  margin-top: 6px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .18em;
  color: #C45D2A;
}
.pamphlet-p7__profile-label {
  margin-top: 10px;
  margin-left: 24px;
  font-family: var(--font-en);
  font-size: 21px;
  font-style: italic;
  line-height: 1.15;
  color: #201917;
}
.pamphlet-p7__profile-list {
  margin: 8px 0 0 24px;
  padding: 0;
  list-style: none;
}
.pamphlet-p7__profile-list li {
  margin: 0 0 6px;
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .02em;
  color: #3B2A22;
}
.pamphlet-p7__portrait {
  position: relative;
  min-height: 470px;
  margin: 0;
}
.pamphlet-p7__portrait-disc {
  position: absolute;
  right: 28px;
  top: 28px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(246, 226, 206, .9);
}
.pamphlet-p7__portrait img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 438px;
  margin-left: auto;
  height: auto;
}
.pamphlet-p7__qa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 20px;
}
.pamphlet-p7__qa-col {
  display: grid;
  align-content: start;
  gap: 14px;
}
.pamphlet-p7__qa-item h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.72;
  letter-spacing: .03em;
  color: #DE6124;
}
.pamphlet-p7__qa-item p {
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.78;
  letter-spacing: .02em;
  color: #392A24;
}
.pamphlet-p7__classroom-photo {
  margin: 8px 0 0;
}
.pamphlet-p7__classroom-photo img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 980px) {
  .pamphlet-page__hero--instructor {
    grid-template-columns: 1fr;
  }
  .pamphlet-p7__lead,
  .pamphlet-p7__qa-grid {
    grid-template-columns: 1fr;
  }
  .pamphlet-p7__portrait {
    min-height: 0;
    max-width: 420px;
    margin: 0 auto;
  }
  .pamphlet-p7__portrait-disc {
    right: 22px;
    width: 300px;
    height: 300px;
  }
}
@media (max-width: 720px) {
  .pamphlet-p7__lead {
    gap: 12px;
    margin-top: 26px;
  }
  .pamphlet-p7__catch {
    font-size: 22px;
    line-height: 1.55;
  }
  .pamphlet-p7__identity {
    padding-left: 8px;
  }
  .pamphlet-p7__name-wrap,
  .pamphlet-p7__profile-label,
  .pamphlet-p7__profile-list {
    margin-left: 0;
    padding-left: 18px;
  }
  .pamphlet-p7__name-wrap::before {
    height: 58px;
  }
  .pamphlet-p7__name-en {
    font-size: 42px;
  }
  .pamphlet-p7__name-jp {
    font-size: 16px;
  }
  .pamphlet-p7__profile-label {
    font-size: 18px;
  }
  .pamphlet-p7__profile-list li,
  .pamphlet-p7__qa-item p {
    font-size: 13px;
  }
  .pamphlet-p7__qa-item h3 {
    font-size: 15px;
    line-height: 1.65;
  }
}

/* ===== pamphlet page 3 / page 9 recreation ===== */
.pamphlet-p3-section,
.pamphlet-p9-section {
  background: #FDF5EC;
}
.pamphlet-page {
  margin: 0 auto;
}
.pamphlet-page--3 {
  max-width: 1120px;
}
.pamphlet-page--9 {
  max-width: 1120px;
}
.pamphlet-page__hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 18px;
  overflow: hidden;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  border-radius: 0;
  padding-top: 26px;
  padding-bottom: 24px;
  padding-left: max(34px, calc((100vw - var(--container)) / 2 + var(--gutter)));
  padding-right: max(32px, calc((100vw - var(--container)) / 2 + var(--gutter)));
  background-color: #D77738;
  background-image: url("data:image/png;base64,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");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  color: #fff;
  margin-bottom: 50px;
}
.pamphlet-page__hero::before {
  content: "";
  position: absolute;
  right: 102px;
  top: 18px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  border: 14px solid rgba(255,255,255,.10);
}
.pamphlet-page__hero::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
  width: 196px;
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.20) 0 7px, transparent 8px),
    radial-gradient(circle at 54% 40%, rgba(255,255,255,.14) 0 5px, transparent 6px),
    radial-gradient(circle at 74% 22%, rgba(255,255,255,.17) 0 4px, transparent 5px),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 65%);
  opacity: .9;
  pointer-events: none;
}
.pamphlet-page__hero-copy {
  position: relative;
  z-index: 1;
}
.pamphlet-page__title {
  margin: 0;
  font-size: clamp(36px, 4.1vw, 48px);
  line-height: 1.03;
  letter-spacing: .08em;
  color: #fff;
}
.pamphlet-page__subtitle {
  margin: 11px 0 0;
  max-width: 1120px;
  font-size: clamp(10px, 1.32vw, 14px);
  line-height: 1.68;
  letter-spacing: .05em;
}
.pamphlet-page__hero-mark {
  position: relative;
  z-index: 1;
  justify-self: end;
  display: grid;
  justify-items: center;
  gap: 8px;
}
.pamphlet-page__hero-mark img {
  width: 94px;
  height: auto;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.12));
}
.pamphlet-page__hero-mark span {
  display: block;
  text-align: center;
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pamphlet-page__hero::before,
.pamphlet-page__hero::after {
  display: none;
}
.pamphlet-page__hero-mark {
  display: none;
}

.pamphlet-p3__stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  max-width: 1080px;
  margin: 34px auto 0;
  align-items: stretch;
}
@media (max-width: 900px) {
  .pamphlet-p3__stack {
    grid-template-columns: 1fr;
    max-width: 790px;
  }
}
.pamphlet-p3-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  font-family: var(--font-body);
  background: #FFFDF7;
  border: 7px solid #DB7737;
  padding: 31px 33px 28px;
}
.pamphlet-p3-card__eyebrow {
  font-family: var(--font-body);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: center;
  color: #B9774D;
}
.pamphlet-p3-card__catch {
  margin: 20px 0 0;
  font-family: var(--font-body);
  text-align: center;
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: .08em;
  color: #2D221F;
}
.pamphlet-p3-card__icon {
  display: grid;
  place-items: center;
  margin: 25px auto 0;
  width: 128px;
  height: 128px;
  color: #D97836;
}
.pamphlet-p3-card__icon svg {
  width: 100%;
  height: 100%;
}
.pamphlet-p3-card__label {
  margin-top: 13px;
  font-family: var(--font-body);
  text-align: center;
  font-size: clamp(28px, 2.8vw, 34px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: .09em;
  color: #D97836;
}
.pamphlet-p3-card__body {
  margin: 24px 0 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 2.02;
  letter-spacing: .02em;
  color: #342A26;
}
.pamphlet-p3-card__body + .pamphlet-p3-card__body {
  margin-top: 14px;
}
.pamphlet-p3-card__photo {
  margin: auto 0 0;
  padding-top: 25px;
}
.pamphlet-p3-card__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.pamphlet-page__hero--curriculum {
  margin-bottom: 50px;
}
.pamphlet-p9__points {
  display: grid;
  grid-template-columns: 172px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
.pamphlet-p9__points-badge {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 4px;
  padding: 16px 12px 18px;
  background: #241D1D;
  color: #fff;
  min-height: 244px;
}
.pamphlet-p9__points-top,
.pamphlet-p9__points-bottom {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .08em;
}
.pamphlet-p9__points-core {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  color: #F1B054;
}
.pamphlet-p9__points-core span {
  font-size: 114px;
  line-height: .84;
  font-weight: 800;
}
.pamphlet-p9__points-core small {
  font-size: 24px;
  line-height: 1.15;
  letter-spacing: .08em;
  margin-bottom: 16px;
}
.pamphlet-p9__points-list {
  display: grid;
  gap: 14px;
  padding-top: 5px;
}
.pamphlet-p9__point-item {
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(110,74,52,.13);
}
.pamphlet-p9__point-item:last-child {
  border-bottom: 0;
}
.pamphlet-p9__point-item h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin: 0;
  font-size: clamp(24px, 2.45vw, 37px);
  line-height: 1.18;
  letter-spacing: .04em;
  color: #261E1C;
}
.pamphlet-p9__point-item h3 span {
  font-family: var(--font-body);
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  color: #D97A37;
  letter-spacing: .04em;
  flex: 0 0 auto;
}
.pamphlet-p9__point-item p {
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.86;
  color: #3A302C;
}
.pamphlet-p9__career-box {
  margin-top: 30px;
  border: 2px solid #DE7B3B;
  background: #FFFDF8;
}
.pamphlet-p9__career-title {
  padding: 13px 20px;
  font-size: clamp(27px, 2.5vw, 34px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
  color: #D97836;
  border-bottom: 2px solid #DE7B3B;
}
.pamphlet-p9__career-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.pamphlet-p9__career-card {
  padding: 21px 22px 20px;
}
.pamphlet-p9__career-card + .pamphlet-p9__career-card {
  border-left: 2px solid #F0D7C3;
}
.pamphlet-p9__career-tag {
  display: inline-flex;
  padding: 8px 18px 9px;
  margin-bottom: 17px;
  background: #DB7737;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .07em;
}
.pamphlet-p9__career-block + .pamphlet-p9__career-block {
  margin-top: 17px;
}
.pamphlet-p9__career-block h3 {
  position: relative;
  margin: 0;
  padding-left: 18px;
  font-size: clamp(18px, 1.9vw, 26px);
  line-height: 1.35;
  letter-spacing: .04em;
  color: #2A201E;
}
.pamphlet-p9__career-block h3::before {
  content: "■";
  position: absolute;
  left: 0;
  top: 0;
  color: #DB7737;
  font-size: 16px;
  line-height: 2.05;
}
.pamphlet-p9__career-block p,
.pamphlet-p9__career-block li {
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: .02em;
  color: #392F2B;
}
.pamphlet-p9__career-block ul {
  margin: 10px 0 0 18px;
  padding: 0;
}
.pamphlet-p9__schedule-wrap {
  margin-top: 24px;
}
.pamphlet-p9__schedule-title {
  display: inline-block;
  padding: 8px 16px 9px;
  background: #DB7737;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .08em;
}
.pamphlet-p9__table-wrap {
  overflow-x: auto;
  background: #FFFDF8;
  border: 2px solid #DE7B3B;
  border-top: 0;
}
.pamphlet-p9__table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}
.pamphlet-p9__table th,
.pamphlet-p9__table td {
  border: 1px solid #E9C3A7;
  padding: 10px 9px;
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
  color: #372D29;
}
.pamphlet-p9__table thead th {
  background: #DB7737;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .06em;
}
.pamphlet-p9__table tbody th {
  width: 134px;
  background: #F9E3CF;
  font-weight: 700;
}
.pamphlet-p9__table tbody th small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 500;
}
.pamphlet-p9__table td.is-report {
  background: #FFF3E9;
}
.pamphlet-p9__table td.is-global {
  background: #FFF8F0;
}
.pamphlet-p9__table .is-breakhead,
.pamphlet-p9__table .is-break,
.pamphlet-p9__table .is-after {
  background: #F7D9BF;
}
.pamphlet-p9__table .is-break,
.pamphlet-p9__table .is-after {
  font-weight: 700;
  letter-spacing: .05em;
}
.pamphlet-p9__environment {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 34px;
}
.pamphlet-p9__environment-item {
  text-align: center;
}
.pamphlet-p9__environment-icon {
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  margin: 0 auto 14px;
  color: #231D1D;
}
.pamphlet-p9__environment-icon--accent {
  position: relative;
}
.pamphlet-p9__environment-icon--accent span {
  position: absolute;
  left: 0;
  top: -3px;
  width: 55px;
  height: 55px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #DB7737;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: .05em;
}
.pamphlet-p9__environment-icon svg {
  width: 100%;
  height: 100%;
}
.pamphlet-p9__environment-item h3 {
  margin: 0;
  font-size: clamp(20px, 1.95vw, 26px);
  line-height: 1.32;
  letter-spacing: .05em;
  color: #231D1D;
}
.pamphlet-p9__environment-item p {
  margin: 9px auto 0;
  max-width: 264px;
  font-size: 16px;
  line-height: 1.78;
  color: #3A302C;
}
@media (max-width: 980px) {
  .pamphlet-page__hero {
    grid-template-columns: 1fr;
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 23px 22px 21px;
  }
  .pamphlet-page__hero-mark {
    justify-self: start;
    justify-items: start;
  }
  .pamphlet-page__hero::before,
  .pamphlet-page__hero::after {
    display: none;
  }
  .pamphlet-p3__stack {
    max-width: 100%;
  }
  .pamphlet-p9__points {
    grid-template-columns: 1fr;
  }
  .pamphlet-p9__points-badge {
    min-height: 0;
    grid-template-columns: auto auto auto;
    align-items: center;
    justify-content: center;
    gap: 10px 12px;
    padding: 16px 20px;
  }
  .pamphlet-p9__points-core span {
    font-size: 72px;
  }
  .pamphlet-p9__points-core small {
    margin-bottom: 10px;
  }
  .pamphlet-p9__career-grid,
  .pamphlet-p9__environment {
    grid-template-columns: 1fr;
  }
  .pamphlet-p9__career-card + .pamphlet-p9__career-card {
    border-left: 0;
    border-top: 2px solid #F0D7C3;
  }
}
@media (max-width: 720px) {
  .pamphlet-page__title {
    font-size: 28px;
  }
  .pamphlet-page__subtitle {
    font-size: 13px;
  }
  .pamphlet-p3__stack {
    gap: 28px;
    margin-top: 26px;
  }
  .pamphlet-p3-card {
    border-width: 6px;
    padding: 21px 17px 18px;
  }
  .pamphlet-p3-card__eyebrow {
    font-size: 16px;
  }
  .pamphlet-p3-card__catch {
    font-size: 24px;
  }
  .pamphlet-p3-card__icon {
    width: 92px;
    height: 92px;
    margin-top: 20px;
  }
  .pamphlet-p3-card__label {
    font-size: 23px;
  }
  .pamphlet-p3-card__body,
  .pamphlet-p9__point-item p,
  .pamphlet-p9__career-block p,
  .pamphlet-p9__career-block li,
  .pamphlet-p9__environment-item p {
    font-size: 13px;
  }
  .pamphlet-p9__point-item h3 {
    font-size: 21px;
  }
  .pamphlet-p9__point-item h3 span {
    font-size: 16px;
  }
  .pamphlet-p9__career-title,
  .pamphlet-p9__career-tag,
  .pamphlet-p9__environment-item h3,
  .pamphlet-p9__schedule-title {
    font-size: 19px;
  }
  .pamphlet-p9__career-block h3 {
    font-size: 17px;
  }
}



/* ===== lower-page banner update ===== */
.page-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(214, 112, 31, .90) 0%, rgba(214, 112, 31, .78) 40%, rgba(214, 112, 31, .18) 100%),
    url("../img/subpage_header_bg.png") center right / cover no-repeat;
  padding: 0;
  min-height: 70px;
  text-align: left;
}
.page-hero::before {
  display: none;
}
.page-hero .container-narrow {
  max-width: 100%;
  padding-top: 24px;
  padding-bottom: 22px;
}
.page-hero__en {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: .14em;
  color: rgba(255,255,255,.92);
}
.page-hero h1 {
  margin: 0;
  padding: 0;
  border: 0;
  display: block;
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.15;
  letter-spacing: .08em;
  color: #0A2252;
}
.page-hero__note {
  display: none;
}
@media (max-width: 720px) {
  .page-hero {
    min-height: 88px;
    background-position: 70% center;
  }
  .page-hero .container-narrow {
    padding-top: 22px;
    padding-bottom: 20px;
  }
  .page-hero__en {
    font-size: 11px;
  }
  .page-hero h1 {
    font-size: 22px;
  }
}


/* ===== lower-page banner title tuning ===== */
.page-hero {
  display: flex;
  align-items: flex-start;
  min-height: 95px;
}
.page-hero .container-narrow {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-right: 28px;
  padding-bottom: 0;
  padding-left: var(--subhero-x, clamp(24px, 4vw, 40px));
  padding-top: var(--subhero-top, 22px);
}
.page-hero__en {
  display: none;
}
.page-hero h1 {
  font-size: var(--subhero-size, 30px);
  line-height: 1.08;
  letter-spacing: var(--subhero-letter, .06em);
  text-wrap: balance;
}
body.page-about,
body.page-facility,
body.page-faq {
  --subhero-x: clamp(24px, 3.9vw, 39px);
  --subhero-top: clamp(25px, 3.3vw, 36px);
  --subhero-size: clamp(24px, 2.7vw, 31px);
  --subhero-letter: .06em;
}
body.page-instructors,
body.page-curriculum {
  --subhero-x: clamp(18px, 2.8vw, 28px);
  --subhero-top: clamp(11px, 1.7vw, 17px);
  --subhero-size: clamp(31px, 4.1vw, 43px);
  --subhero-letter: .04em;
}
body.page-diploma {
  --subhero-x: clamp(24px, 3.9vw, 39px);
  --subhero-top: clamp(23px, 3.2vw, 33px);
  --subhero-size: clamp(24px, 2.9vw, 33px);
  --subhero-letter: .05em;
}
@media (max-width: 720px) {
  .page-hero {
    min-height: 84px;
  }
  .page-hero .container-narrow {
    padding-right: 18px;
  }
  body.page-about,
  body.page-facility,
  body.page-faq,
  body.page-diploma {
    --subhero-x: 18px;
    --subhero-top: 23px;
    --subhero-size: 22px;
  }
  body.page-instructors,
  body.page-curriculum {
    --subhero-x: 18px;
    --subhero-top: 15px;
    --subhero-size: 30px;
  }
}


/* ===== lower-page photo block tuning ===== */
body.page-about .about-brochure__intro {
  grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
body.page-about .about-brochure__intro-visual {
  align-self: start;
}
body.page-about .about-brochure__intro-visual img,
body.page-about .about-feature-card__photo img,
body.page-about .pamphlet-p3-card__photo img,
body.page-facility .pamphlet-p2__photo img,
body.page-instructors .pamphlet-p7__portrait img,
body.page-instructors .pamphlet-p7__classroom-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-about .about-brochure__intro-visual img {
  aspect-ratio: 1.276;
  object-position: center;
}
body.page-about .about-brochure__badge-circle {
  top: 8px;
  right: 8px;
  width: 78px;
  height: 78px;
}
body.page-about .about-brochure__features-grid {
  gap: 7px;
  align-items: start;
}
body.page-about .about-feature-card__photo {
  margin-top: 14px;
}
body.page-about .about-feature-card:nth-child(1) .about-feature-card__photo img {
  aspect-ratio: 1.460;
}
body.page-about .about-feature-card:nth-child(2) .about-feature-card__photo img {
  aspect-ratio: 1.454;
}
body.page-about .about-feature-card:nth-child(3) .about-feature-card__photo img {
  aspect-ratio: 1.537;
}
body.page-about .pamphlet-p3__stack {
  max-width: 820px;
  gap: 30px;
}
body.page-about .pamphlet-p3-card__photo {
  margin-top: 22px;
}
body.page-about .pamphlet-p3-card:nth-child(1) .pamphlet-p3-card__photo img {
  aspect-ratio: 1.344;
  object-position: center 38%;
}
body.page-about .pamphlet-p3-card:nth-child(2) .pamphlet-p3-card__photo img {
  aspect-ratio: 1.499;
  object-position: center 36%;
}

body.page-facility .pamphlet-p2__campus {
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr);
  gap: 12px;
}
body.page-facility .pamphlet-p2__campus-visuals--kumoji,
body.page-facility .pamphlet-p2__campus-visuals--asato {
  gap: 5px;
  align-self: start;
}
body.page-facility .pamphlet-p2__campus-visuals--kumoji .pamphlet-p2__photo--hero img {
  aspect-ratio: 1.427;
}
body.page-facility .pamphlet-p2__campus-visuals--kumoji .pamphlet-p2__photo:not(.pamphlet-p2__photo--hero) img {
  aspect-ratio: 1.497;
}
body.page-facility .pamphlet-p2__campus-visuals--asato .pamphlet-p2__photo img {
  aspect-ratio: 1.277;
}

body.page-instructors .pamphlet-p7__lead {
  grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr);
  gap: 28px;
  align-items: end;
}
body.page-instructors .pamphlet-p7__portrait {
  min-height: 510px;
}
body.page-instructors .pamphlet-p7__portrait-disc {
  right: 18px;
  top: 48px;
  width: 336px;
  height: 336px;
}
body.page-instructors .pamphlet-p7__portrait img {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(100%, 412px);
  height: auto;
  aspect-ratio: 0.857;
  object-position: center top;
}
body.page-instructors .pamphlet-p7__qa-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}
body.page-instructors .pamphlet-p7__classroom-photo {
  margin-top: 16px;
}
body.page-instructors .pamphlet-p7__classroom-photo img {
  aspect-ratio: 2.186;
  object-position: center 42%;
}

@media (max-width: 980px) {
  body.page-about .about-brochure__intro,
  body.page-facility .pamphlet-p2__campus,
  body.page-instructors .pamphlet-p7__lead,
  body.page-instructors .pamphlet-p7__qa-grid {
    grid-template-columns: 1fr;
  }
  body.page-facility .pamphlet-p2__campus-visuals--kumoji,
  body.page-facility .pamphlet-p2__campus-visuals--asato,
  body.page-instructors .pamphlet-p7__portrait {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
  }
}


/* ===== lower-page banner scale update ===== */
.page-hero {
  min-height: 214px;
}
.page-hero h1 {
  font-size: calc(var(--subhero-size, 30px) * .75);
}

/* ===== diploma page 5 / page 6 recreation ===== */
.diploma-p5-section,
.diploma-p6-section {
  background: #FAF4EC;
}
.diploma-sheet {
  max-width: 1088px;
  margin: 0 auto;
}
.diploma-sheet--p5 {
  padding-top: 18px;
}
.diploma-p5__hero {
  position: relative;
  overflow: hidden;
  padding: 22px 28px 20px;
  background: linear-gradient(135deg, #DB7635 0%, #DF8241 55%, #D86B2C 100%);
  color: #fff;
}
.diploma-p5__hero::after {
  content: "TSUNA Beeeeee!";
  position: absolute;
  right: -8px;
  top: -10px;
  font-family: var(--font-en);
  font-style: italic;
  font-size: 56px;
  line-height: 1;
  opacity: .12;
  letter-spacing: .02em;
}
.diploma-p5__hero h2 {
  margin: 0;
  font-size: clamp(30px, 3.3vw, 46px);
  line-height: 1.12;
  letter-spacing: .07em;
}
.diploma-p5__hero p {
  margin: 10px 0 0;
  max-width: 52ch;
  font-size: 16px;
  line-height: 1.85;
  color: rgba(255,255,255,.92);
}
.diploma-p5__flow {
  position: relative;
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 26px;
  margin-top: 18px;
}
.diploma-p5__rail {
  position: relative;
  padding-top: 8px;
}
.diploma-p5__rail::before {
  content: "";
  position: absolute;
  left: 56px;
  top: 12px;
  bottom: 16px;
  width: 6px;
  background: linear-gradient(180deg, #DD7737 0%, #E18A4B 100%);
  border-radius: 999px;
}
.diploma-p5__badge {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 112px;
  min-height: 52px;
  margin: 0 auto;
  padding: 10px 10px;
  background: #DD7737;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .06em;
  clip-path: polygon(11% 0, 89% 0, 100% 50%, 89% 100%, 11% 100%, 0 50%);
}
.diploma-p5__badge + .diploma-p5__badge {
  margin-top: 28px;
}
.diploma-p5__content {
  display: grid;
  gap: 14px;
}
.diploma-p5__card {
  background: #fffdf8;
  border: 1px solid rgba(221, 119, 55, .18);
}
.diploma-p5__type-card {
  padding: 18px 20px 16px;
}
.diploma-p5__type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.diploma-p5__type-col h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: .06em;
  color: #DB7737;
}
.diploma-p5__type-col ul {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}
.diploma-p5__type-col li {
  position: relative;
  padding-left: 14px;
  font-size: 16px;
  line-height: 1.82;
  color: #372A24;
}
.diploma-p5__type-col li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #DB7737;
  font-weight: 800;
}
.diploma-p5__simple-step {
  display: flex;
  align-items: center;
  min-height: 62px;
  padding: 0 22px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .05em;
  color: #2A201C;
}
.diploma-p5__dual {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(332px, .98fr);
  gap: 14px;
}
.diploma-p5__consult {
  padding: 16px 16px 14px;
}
.diploma-p5__consult h3,
.diploma-p5__school-life-copy h3,
.diploma-p5__career-copy h3 {
  margin: 0;
  font-size: 28px;
  line-height: 1.24;
  letter-spacing: .05em;
  color: #2B201C;
}
.diploma-p5__consult figure,
.diploma-p5__school-life-photo,
.diploma-p5__career-support-photo {
  margin: 12px 0 0;
}
.diploma-p5__consult img,
.diploma-p5__school-life-photo img,
.diploma-p5__career-support-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.diploma-p5__consult img {
  aspect-ratio: 1.754;
}
.diploma-p5__check-card {
  position: relative;
  padding: 16px 18px 16px;
  border: 2px solid #A8D8E9;
  background: #F8FDFF;
}
.diploma-p5__check-card::before,
.diploma-p5__career-support::before {
  content: "CHECK!";
  position: absolute;
  right: 10px;
  top: -12px;
  background: #DB7737;
  color: #fff;
  font-family: var(--font-en);
  font-size: 12px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px 7px;
  letter-spacing: .08em;
}
.diploma-p5__check-card h3 {
  margin: 0;
  font-size: 29px;
  line-height: 1.22;
  letter-spacing: .05em;
  color: #D66F31;
}
.diploma-p5__check-card p {
  margin: 12px 0 0;
  font-size: 16px;
  line-height: 1.86;
  color: #372A24;
}
.diploma-p5__check-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px;
  gap: 14px;
  align-items: end;
  margin-top: 14px;
}
.diploma-p5__qr-note {
  font-size: 12px;
  line-height: 1.7;
  color: #4A403B;
}
.diploma-p5__qr-note strong {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #D66F31;
}
.diploma-p5__qr {
  width: 92px;
  height: 92px;
  justify-self: end;
  background: #fff;
  padding: 4px;
}
.diploma-p5__qr img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.diploma-p5__enter {
  padding: 14px 18px 18px;
  background: #fff;
  border: 1px solid rgba(221, 119, 55, .18);
}
.diploma-p5__enter-lead {
  display: flex;
  gap: 14px;
  align-items: baseline;
  flex-wrap: wrap;
}
.diploma-p5__enter-lead h3 {
  margin: 0;
  font-size: 33px;
  line-height: 1.18;
  letter-spacing: .05em;
  color: #4B8FB7;
}
.diploma-p5__enter-lead p {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #372A24;
}
.diploma-p5__formula {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px minmax(0, .96fr);
  gap: 14px;
  align-items: center;
  margin-top: 18px;
}
.diploma-p5__formula-card,
.diploma-p5__highschool-card {
  padding: 16px 18px;
  background: #FFF7EE;
  border: 2px solid #DF7A39;
}
.diploma-p5__formula-card h4,
.diploma-p5__highschool-card h4 {
  margin: 0;
  font-size: 24px;
  line-height: 1.22;
  letter-spacing: .05em;
  color: #2A201C;
}
.diploma-p5__formula-card p,
.diploma-p5__highschool-card p {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.8;
  color: #372A24;
}
.diploma-p5__plus {
  display: grid;
  place-items: center;
  font-size: 42px;
  font-weight: 700;
  color: #2A201C;
}
.diploma-p5__highschool-subgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.diploma-p5__highschool-subgrid div {
  min-height: 92px;
  padding: 10px 10px 12px;
  border: 1px solid rgba(223, 122, 57, .35);
  background: #fff;
}
.diploma-p5__highschool-subgrid h5 {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #DB7737;
}
.diploma-p5__highschool-subgrid p {
  margin: 6px 0 0;
  font-size: 12px;
  line-height: 1.65;
}
.diploma-p5__school-life {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: 18px;
  padding: 16px 18px 18px;
}
.diploma-p5__school-life-copy p,
.diploma-p5__career-copy p {
  margin: 12px 0 0;
  font-size: 16px;
  line-height: 1.9;
  color: #372A24;
}
.diploma-p5__school-life-photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  align-self: end;
}
.diploma-p5__school-life-photos .diploma-p5__school-life-photo:first-child img {
  aspect-ratio: 1.398;
}
.diploma-p5__school-life-photos .diploma-p5__school-life-photo:last-child img {
  aspect-ratio: 1.406;
}
.diploma-p5__career {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: 18px;
  padding: 18px;
}
.diploma-p5__career-support {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 124px;
  gap: 14px;
  padding: 18px 16px 16px;
  border: 2px solid #A8D8E9;
  background: #F8FDFF;
}
.diploma-p5__career-support h4 {
  margin: 0;
  font-size: 26px;
  line-height: 1.26;
  color: #D66F31;
}
.diploma-p5__career-support p {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.82;
  color: #372A24;
}
.diploma-p5__career-support-photo img {
  aspect-ratio: 1.468;
}

.diploma-sheet--p6 {
  margin-top: 26px;
  background: #fffdfa;
  padding: 12px 0 0;
}
.diploma-p6__title {
  margin: 0;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.18;
  letter-spacing: .05em;
  color: #1F1816;
}
.diploma-p6__section {
  margin-top: 22px;
}
.diploma-p6__section-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.diploma-p6__section-head::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #E07839;
}
.diploma-p6__section-head small {
  display: block;
  font-family: var(--font-en);
  font-size: 16px;
  font-style: italic;
  line-height: 1.1;
  color: #B56D44;
}
.diploma-p6__section-head h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.18;
  letter-spacing: .06em;
  color: #D96E30;
}
.diploma-p6__intro {
  margin-top: 12px;
  max-width: 72ch;
  font-size: 16px;
  line-height: 1.95;
  color: #392B25;
}
.diploma-p6__req-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr) 46px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin-top: 18px;
}
.diploma-p6__plus {
  display: grid;
  place-items: center;
  font-size: 48px;
  line-height: 1;
  font-weight: 700;
  color: #1F1816;
}
.diploma-p6__req-item {
  position: relative;
  min-height: 236px;
  padding: 24px 18px 20px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #EA9858 0%, #DE7A37 65%, #D56E2C 100%);
  color: #fff;
  text-align: center;
}
.diploma-p6__req-icon {
  margin: 0 auto 10px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
}
.diploma-p6__req-icon svg {
  width: 100%;
  height: 100%;
}
.diploma-p6__req-label {
  font-size: 25px;
  line-height: 1.24;
  letter-spacing: .06em;
  font-weight: 700;
}
.diploma-p6__req-value {
  margin-top: 10px;
  font-size: 36px;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: .03em;
}
.diploma-p6__req-note {
  margin-top: 6px;
  font-size: 15px;
  line-height: 1.56;
}
.diploma-p6__conditions {
  display: grid;
  grid-template-columns: 170px repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  border: 2px solid rgba(223, 122, 57, .45);
  background: #FFF7EE;
}
.diploma-p6__condition-title {
  display: grid;
  place-items: center;
  padding: 18px;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: .05em;
  color: #241D1A;
}
.diploma-p6__condition-col {
  padding: 18px 16px 16px;
  border-left: 1px dotted rgba(109, 68, 41, .35);
}
.diploma-p6__condition-col h3 {
  margin: 0;
  font-size: 23px;
  line-height: 1.22;
  letter-spacing: .05em;
  color: #D96E30;
}
.diploma-p6__condition-col p {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.85;
  color: #392B25;
}
.diploma-p6__exam-top {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: 28px;
  margin-top: 16px;
}
.diploma-p6__exam-left,
.diploma-p6__exam-right,
.diploma-p6__exam-box,
.diploma-p6__results {
  font-size: 16px;
  line-height: 1.9;
  color: #392B25;
}
.diploma-p6__exam-right {
  display: grid;
  gap: 14px;
}
.diploma-p6__exam-item h3 {
  margin: 0;
  font-size: 23px;
  line-height: 1.28;
  color: #2A201C;
}
.diploma-p6__exam-item p {
  margin: 6px 0 0;
}
.diploma-p6__exam-bottom {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 24px;
  margin-top: 18px;
}
.diploma-p6__exam-box {
  background: #FFF3E6;
  padding: 18px 18px 16px;
}
.diploma-p6__exam-box-grid {
  display: grid;
  gap: 16px;
}
.diploma-p6__exam-box h4,
.diploma-p6__results h4 {
  margin: 0;
  font-size: 22px;
  line-height: 1.26;
  color: #D96E30;
}
.diploma-p6__exam-box ul {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  gap: 4px;
}
.diploma-p6__exam-box li {
  position: relative;
  padding-left: 14px;
}
.diploma-p6__exam-box li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #D96E30;
  font-weight: 800;
}
.diploma-p6__results {
  padding: 2px 0;
}
.diploma-p6__results-section + .diploma-p6__results-section {
  margin-top: 18px;
}
.diploma-p6__results-section strong {
  display: block;
  margin-bottom: 6px;
  font-size: 16px;
  line-height: 1.4;
  color: #1F1816;
}
@media (max-width: 1040px) {
  .diploma-p5__dual,
  .diploma-p5__career,
  .diploma-p6__exam-top,
  .diploma-p6__exam-bottom {
    grid-template-columns: 1fr;
  }
  .diploma-p5__formula,
  .diploma-p6__req-row,
  .diploma-p6__conditions {
    grid-template-columns: 1fr;
  }
  .diploma-p6__plus,
  .diploma-p5__plus {
    min-height: 42px;
  }
  .diploma-p6__condition-col {
    border-left: 0;
    border-top: 1px dotted rgba(109, 68, 41, .35);
  }
}
@media (max-width: 720px) {
  .diploma-p5__flow {
    grid-template-columns: 1fr;
  }
  .diploma-p5__rail {
    display: none;
  }
  .diploma-p5__type-grid,
  .diploma-p5__school-life-photos,
  .diploma-p5__highschool-subgrid,
  .diploma-p5__career-support,
  .diploma-p6__exam-box-grid {
    grid-template-columns: 1fr;
  }
  .diploma-p5__check-bottom {
    grid-template-columns: 1fr;
  }
  .diploma-p5__qr {
    justify-self: start;
  }
}


/* ===== faq lower page polish ===== */
body.page-faq .faq {
  max-width: 960px;
  margin: 0 auto;
}
body.page-faq .faq details {
  background: #fff;
}

/* --- faq page tone tuning --- */
.page-faq {
  background:
    radial-gradient(circle at top right, rgba(223,122,57,.10), transparent 28%),
    linear-gradient(180deg, #fffdf9 0%, #fdf5ec 38%, #fff 100%);
}
.page-faq #faq.section {
  position: relative;
  padding-top: clamp(54px, 7vw, 92px);
  padding-bottom: clamp(72px, 8vw, 118px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(253,245,236,.98) 100%);
}
.page-faq #faq.section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: clamp(96px, 10vw, 132px);
  background: linear-gradient(180deg, rgba(223,122,57,.13), rgba(223,122,57,0));
  pointer-events: none;
}
.page-faq #faq .container {
  position: relative;
  max-width: 1060px;
}
.page-faq .sec-lead {
  margin-bottom: clamp(34px, 4.8vw, 52px);
}
.page-faq .sec-lead__en {
  margin-bottom: 10px;
  font-size: clamp(38px, 4.7vw, 56px);
  letter-spacing: .05em;
  color: #cf6c31;
}
.page-faq .sec-lead__jp {
  font-size: clamp(17px, 1.7vw, 20px);
  letter-spacing: .16em;
  padding: 0 24px;
}
.page-faq .faq {
  max-width: 920px;
  gap: 14px;
}
.page-faq .faq details {
  border: 1px solid #efc9b0;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,243,.96));
  box-shadow: 0 16px 34px rgba(50,40,35,.06);
  overflow: hidden;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.page-faq .faq details:first-child {
  border-top: 1px solid #efc9b0;
}
.page-faq .faq details[open] {
  border-color: #df7a39;
  box-shadow: 0 22px 44px rgba(207,108,49,.13);
}
.page-faq .faq summary {
  min-height: clamp(82px, 8.2vw, 94px);
  padding: 26px 84px 26px 84px;
  font-size: clamp(16px, 1.55vw, 18px);
  line-height: 1.78;
  letter-spacing: .02em;
}
.page-faq .faq summary::before {
  content: "Q";
  left: 30px;
  top: 24px;
  font-size: 30px;
  font-weight: 600;
  color: #cf6c31;
}
.page-faq .faq summary::after {
  width: 34px;
  height: 34px;
  right: 26px;
  top: 24px;
  border-radius: 999px;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'><circle cx='18' cy='18' r='17.2' fill='%23FFF7F1' stroke='%23DF7A39' stroke-width='1.6'/><path d='M11 18h14' stroke='%23CF6C31' stroke-width='2.2' stroke-linecap='round'/><path d='M18 11v14' stroke='%23CF6C31' stroke-width='2.2' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  box-shadow: 0 8px 18px rgba(207,108,49,.12);
  transition: transform .22s ease, background-image .22s ease, box-shadow .22s ease;
}
.page-faq .faq details[open] summary::after {
  transform: rotate(180deg);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'><circle cx='18' cy='18' r='17.2' fill='%23CF6C31' stroke='%23CF6C31' stroke-width='1.6'/><path d='M11 18h14' stroke='%23FFF7F1' stroke-width='2.2' stroke-linecap='round'/></svg>");
  box-shadow: 0 12px 24px rgba(207,108,49,.18);
}
.page-faq .faq details > div {
  padding: 4px 34px 30px 84px;
  border-top: 1px solid rgba(223,122,57,.18);
  color: #5d5048;
  font-size: clamp(14px, 1.35vw, 15.5px);
  line-height: 2.05;
  letter-spacing: .01em;
}
.page-faq .faq details > div::before {
  content: "A";
  left: 30px;
  top: 10px;
  font-size: 28px;
  font-weight: 600;
  color: #0a2252;
}
.page-faq .faq details > div a {
  color: #cf6c31;
  text-decoration-color: rgba(207,108,49,.4);
}
@media (max-width: 720px) {
  .page-faq #faq.section {
    padding-top: 44px;
    padding-bottom: 76px;
  }
  .page-faq .sec-lead {
    margin-bottom: 28px;
  }
  .page-faq .faq {
    gap: 12px;
  }
  .page-faq .faq details {
    border-radius: 14px;
  }
  .page-faq .faq summary {
    min-height: 72px;
    padding: 18px 66px 18px 62px;
    font-size: 16px;
    line-height: 1.72;
  }
  .page-faq .faq summary::before {
    left: 22px;
    top: 18px;
    font-size: 24px;
  }
  .page-faq .faq summary::after {
    width: 28px;
    height: 28px;
    right: 18px;
    top: 18px;
  }
  .page-faq .faq details > div {
    padding: 0 22px 22px 62px;
    font-size: 13px;
    line-height: 1.92;
  }
  .page-faq .faq details > div::before {
    left: 22px;
    top: 6px;
    font-size: 22px;
  }
}

/* --- curriculum pages 9-12 recreation --- */
.page-curriculum{
  background:linear-gradient(180deg,#fffdf8 0%,#fdf5ec 24%,#fff 100%);
}
.curriculum-pamphlet .container{
  max-width:1100px;
}
.curriculum-pamphlet .pamphlet-page{max-width:1088px;margin:0 auto;}
.curriculum-pamphlet .pamphlet-card{background:#fffdf9;border:1px solid rgba(223,122,57,.18);box-shadow:0 16px 36px rgba(50,40,35,.08);}
.curriculum-pamphlet .orange-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:999px;background:#cf6c31;color:#fff;font-weight:700;font-size:14px;letter-spacing:.08em;line-height:1.2;}
.curriculum-pamphlet .section{padding:clamp(48px,7vw,96px) 0;}

.curriculum-p9-section{background:#fdf5ec;}
.curriculum-p9__hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:18px;align-items:center;padding:30px 34px 28px;background:linear-gradient(90deg,#d36d2f 0%,#de7d3e 57%,#d86d2f 100%);color:#fff;overflow:hidden;border-radius:4px;}
.curriculum-p9__hero::before{content:"";position:absolute;right:104px;top:18px;width:148px;height:148px;border-radius:50%;border:13px solid rgba(255,255,255,.10);}
.curriculum-p9__hero::after{content:"";position:absolute;right:0;top:0;bottom:0;width:196px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,0) 66%);opacity:.9;}
.curriculum-p9__hero-copy{position:relative;z-index:1;}
.curriculum-p9__hero-title{margin:0;font-size:clamp(34px,4vw,56px);line-height:1.04;letter-spacing:.08em;}
.curriculum-p9__hero-note{margin:10px 0 0;max-width:700px;font-size:clamp(14px,1.35vw,18px);line-height:1.75;letter-spacing:.05em;}
.curriculum-p9__hero-mark{position:relative;z-index:1;justify-self:end;display:grid;justify-items:center;gap:8px;}
.curriculum-p9__hero-mark img{width:94px;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));}
.curriculum-p9__hero-mark span{font-size:10px;line-height:1.5;letter-spacing:.12em;text-align:center;text-transform:uppercase;}
.curriculum-p9__points{display:grid;grid-template-columns:116px repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;margin-top:28px;}
.curriculum-p9__points-label{background:#342923;color:#fff;border-radius:2px;display:grid;place-items:center;text-align:center;padding:18px 10px;box-shadow:0 12px 24px rgba(50,40,35,.12);}
.curriculum-p9__points-label small{display:block;font-size:13px;letter-spacing:.08em;}
.curriculum-p9__points-label strong{display:block;font-size:44px;line-height:1;margin:6px 0;}
.curriculum-p9__point{background:#fff;padding:18px 18px 20px;border-top:4px solid #cf6c31;border-radius:2px;box-shadow:0 10px 24px rgba(50,40,35,.06);}
.curriculum-p9__point-no{font-family:var(--font-en);font-style:italic;color:#cf6c31;font-size:28px;line-height:1;font-weight:600;}
.curriculum-p9__point-title{margin:8px 0 8px;font-size:18px;line-height:1.5;letter-spacing:.03em;color:#322823;}
.curriculum-p9__point-text{margin:0;font-size:13px;line-height:1.95;color:#5d5048;}
.curriculum-p9__tracks{margin-top:34px;border:5px solid #dc7737;background:#fffdfa;padding:22px 24px 24px;}
.curriculum-p9__tracks-head{font-weight:700;color:#cf6c31;font-size:32px;line-height:1.2;letter-spacing:.06em;margin:0 0 18px;}
.curriculum-p9__tracks-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start;}
.curriculum-p9__track{display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;background:#fff;border:1px solid #efddcf;padding:16px 16px 18px;min-height:100%;}
.curriculum-p9__track-title{margin:0;color:#342923;font-size:26px;letter-spacing:.05em;line-height:1.2;}
.curriculum-p9__track-copy p,.curriculum-p9__track-copy li{font-size:13px;line-height:1.85;color:#5d5048;}
.curriculum-p9__track-copy ul{margin:0;padding-left:1.15em;display:grid;gap:4px;}
.curriculum-p9__track-photo{margin:0;border-radius:2px;overflow:hidden;border:1px solid #e9d4c4;}
.curriculum-p9__track-photo img{display:block;width:100%;aspect-ratio:1.506;object-fit:cover;}
.curriculum-p9__table-wrap{margin-top:28px;background:#fff;padding:20px 20px 24px;border:1px solid #ebd5c2;box-shadow:0 12px 26px rgba(50,40,35,.06);}
.curriculum-p9__table-title{margin:0 0 14px;color:#342923;font-size:28px;letter-spacing:.06em;line-height:1.2;}
.curriculum-p9__table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px;line-height:1.45;color:#4e413a;}
.curriculum-p9__table th,.curriculum-p9__table td{border:1px solid #f0dbc8;padding:10px 8px;vertical-align:middle;text-align:center;background:#fffdfa;}
.curriculum-p9__table thead th{background:#d97836;color:#fff;font-size:14px;letter-spacing:.08em;font-weight:700;padding:12px 8px;}
.curriculum-p9__table .period{background:#f3e5d8;font-weight:700;color:#6b584e;width:150px;}
.curriculum-p9__table .break-row td{background:#f4ede7;font-weight:700;color:#7a675d;padding:9px 8px;}
.curriculum-p9__table .after-row td{background:#f9f2ea;font-weight:700;color:#7a675d;padding:9px 8px;}
.curriculum-p9__env{display:grid;grid-template-columns:144px repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:30px;}
.curriculum-p9__env-badge{width:144px;height:144px;border-radius:50%;background:#d97836;color:#fff;display:grid;place-items:center;text-align:center;font-weight:700;letter-spacing:.08em;font-size:28px;line-height:1.2;box-shadow:0 18px 34px rgba(207,108,49,.18);}
.curriculum-p9__env-badge span{display:block;font-size:16px;line-height:1.4;}
.curriculum-p9__env-item{background:#fff;padding:24px 18px 18px;text-align:center;border:1px solid #ebd5c2;min-height:100%;}
.curriculum-p9__env-icon{width:72px;height:72px;margin:0 auto 16px;border:2px solid #342923;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;color:#342923;letter-spacing:.05em;}
.curriculum-p9__env-item h3{margin:0 0 10px;color:#342923;font-size:20px;line-height:1.4;letter-spacing:.04em;}
.curriculum-p9__env-item p{margin:0;color:#5d5048;font-size:13px;line-height:1.9;}

.curriculum-p10-section{background:#fff;}
.curriculum-p10__lead{display:flex;align-items:flex-end;gap:14px;margin-bottom:28px;}
.curriculum-p10__lead::before{content:"";width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:22px solid #d97836;transform:translateY(-2px);}
.curriculum-p10__lead-en{font-family:var(--font-en);font-style:italic;color:#d97836;font-size:30px;line-height:1;}
.curriculum-p10__lead-jp{font-weight:700;color:#342923;font-size:34px;line-height:1.2;letter-spacing:.05em;}
.curriculum-p10__grid{display:grid;grid-template-columns:1fr 1fr;border:3px solid #d97836;background:#fff;}
.curriculum-p10__card{padding:22px 24px 24px;min-height:244px;border-right:1px dashed #e59a67;border-bottom:1px dashed #e59a67;display:grid;align-content:start;gap:12px;}
.curriculum-p10__card:nth-child(2n){border-right:none;}
.curriculum-p10__card:nth-last-child(-n+2){border-bottom:none;}
.curriculum-p10__card-head{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;}
.curriculum-p10__icon{width:56px;height:56px;border:2px solid #d97836;border-radius:50%;display:grid;place-items:center;color:#d97836;font-weight:700;font-size:12px;letter-spacing:.08em;line-height:1.15;text-align:center;}
.curriculum-p10__card h3{margin:0;color:#342923;font-size:24px;line-height:1.35;letter-spacing:.03em;}
.curriculum-p10__card p{margin:0;color:#5d5048;font-size:13.5px;line-height:1.88;}

.curriculum-p11-section{background:#fff7f0;}
.curriculum-p11__hero{position:relative;padding:24px 30px 26px;background:linear-gradient(90deg,#d46d2f 0%,#e07e40 60%,#d97231 100%);color:#fff;overflow:hidden;}
.curriculum-p11__hero::after{content:"";position:absolute;right:18px;top:-8px;width:150px;height:150px;background:radial-gradient(circle at center,rgba(255,255,255,.16) 0 52%,transparent 53%);opacity:.9;}
.curriculum-p11__hero-title{margin:0;font-size:clamp(28px,3.4vw,46px);line-height:1.18;letter-spacing:.06em;}
.curriculum-p11__hero-sub{margin:10px 0 0;font-size:clamp(18px,2vw,26px);line-height:1.35;letter-spacing:.04em;}
.curriculum-p11__hero-note{margin:14px 0 0;max-width:900px;font-size:14px;line-height:1.9;letter-spacing:.03em;}
.curriculum-p11__flow{position:relative;margin-top:34px;display:grid;gap:20px;}
.curriculum-p11__flow::before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:3px;background:linear-gradient(180deg,#ecbf98,#cf6c31,#ecbf98);transform:translateX(-50%);}
.curriculum-p11__row{display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:20px;align-items:center;}
.curriculum-p11__station{position:relative;z-index:1;display:grid;justify-items:center;gap:6px;}
.curriculum-p11__station-dot{width:30px;height:30px;border-radius:50%;background:#d97836;box-shadow:0 0 0 8px rgba(217,120,54,.18);}
.curriculum-p11__station-label{font-weight:700;color:#342923;font-size:18px;letter-spacing:.06em;line-height:1.2;text-align:center;}
.curriculum-p11__station-time{font-weight:700;color:#cf6c31;font-size:18px;line-height:1;}
.curriculum-p11__story{background:#fff;border:1px solid #edd5c3;box-shadow:0 16px 32px rgba(50,40,35,.07);padding:14px 14px 16px;min-height:100%;}
.curriculum-p11__story--empty{background:transparent;border:none;box-shadow:none;padding:0;min-height:0;}
.curriculum-p11__story-photo{margin:0;border-radius:2px;overflow:hidden;}
.curriculum-p11__story-photo img{display:block;width:100%;aspect-ratio:1.506;object-fit:cover;}
.curriculum-p11__story-label{display:inline-block;margin:12px 0 8px;font-family:var(--font-en);font-style:italic;color:#d97836;font-size:26px;line-height:1;letter-spacing:.04em;text-transform:none;}
.curriculum-p11__story p{margin:0;color:#5d5048;font-size:13px;line-height:1.88;}
.curriculum-p11__story--right{text-align:left;}

.curriculum-p12-section{background:#fff;}
.curriculum-p12__top-title{margin:0 0 12px;color:#342923;font-size:36px;line-height:1.25;letter-spacing:.05em;}
.curriculum-p12__top{display:grid;grid-template-columns:minmax(0,1fr) 1.06fr;gap:24px;align-items:start;}
.curriculum-p12__top-copy p{margin:0;color:#5d5048;font-size:14px;line-height:2;}
.curriculum-p12__hero-photo{margin:0;border:4px solid #d97836;overflow:hidden;box-shadow:0 16px 36px rgba(50,40,35,.08);}
.curriculum-p12__hero-photo img{display:block;width:100%;aspect-ratio:2.045;object-fit:cover;}
.curriculum-p12__tournaments{display:grid;grid-template-columns:170px 1fr;gap:18px;margin-top:26px;align-items:start;}
.curriculum-p12__label{background:#d97836;color:#fff;min-height:144px;display:grid;place-items:center;text-align:center;font-weight:700;font-size:30px;line-height:1.15;letter-spacing:.06em;padding:18px;box-shadow:0 18px 34px rgba(207,108,49,.18);}
.curriculum-p12__label small{display:block;font-size:18px;line-height:1.3;}
.curriculum-p12__tournament-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.curriculum-p12__tournament{border:2px solid #e6b794;background:#fffaf5;padding:18px 18px 16px;min-height:132px;}
.curriculum-p12__tournament h3{margin:0 0 12px;color:#342923;font-size:22px;line-height:1.35;letter-spacing:.03em;}
.curriculum-p12__meta{display:grid;gap:8px;}
.curriculum-p12__meta span{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed #e7c8af;padding-top:8px;color:#5d5048;font-size:13px;line-height:1.6;}
.curriculum-p12__meta strong{color:#cf6c31;font-size:13px;letter-spacing:.06em;white-space:nowrap;}
.curriculum-p12__career-intro{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:start;margin-top:52px;}
.curriculum-p12__career-bullets{display:grid;gap:14px;align-content:start;font-weight:700;color:#342923;font-size:28px;line-height:1.2;letter-spacing:.05em;}
.curriculum-p12__career-copy h2{margin:0 0 12px;color:#342923;font-size:34px;line-height:1.2;letter-spacing:.05em;}
.curriculum-p12__career-copy p{margin:0 0 18px;color:#5d5048;font-size:14px;line-height:2;}
.curriculum-p12__jobs-head{margin-top:18px;background:#d97836;color:#fff;padding:16px 22px;font-weight:700;font-size:32px;line-height:1.2;letter-spacing:.06em;}
.curriculum-p12__jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px;}
.curriculum-p12__job{background:#fff;border:1px solid #ecd6c4;box-shadow:0 14px 28px rgba(50,40,35,.06);padding:14px 14px 18px;}
.curriculum-p12__job-photo{margin:0 auto 14px;width:100%;max-width:310px;border-radius:999px;overflow:hidden;aspect-ratio:1.84;}
.curriculum-p12__job-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.curriculum-p12__job h3{margin:0 0 10px;color:#342923;font-size:21px;line-height:1.45;letter-spacing:.03em;text-align:center;}
.curriculum-p12__job p{margin:0;color:#5d5048;font-size:13px;line-height:1.9;}
.curriculum-p12__job--empty{display:grid;place-items:center;border-style:dashed;background:#fffaf5;}
.curriculum-p12__job-mark{width:130px;height:130px;border:2px solid #d97836;border-radius:50%;display:grid;place-items:center;color:#d97836;font-weight:700;font-size:22px;line-height:1.2;text-align:center;letter-spacing:.05em;}

@media (max-width: 980px){
  .curriculum-p9__points,.curriculum-p9__env,.curriculum-p12__top,.curriculum-p12__career-intro,.curriculum-p12__tournaments{grid-template-columns:1fr;}
  .curriculum-p9__env-badge,.curriculum-p12__label{width:auto;height:auto;min-height:0;border-radius:18px;padding:24px;}
  .curriculum-p11__row{grid-template-columns:1fr;gap:14px;}
  .curriculum-p11__flow::before{left:16px;transform:none;}
  .curriculum-p11__station{justify-items:start;padding-left:36px;}
  .curriculum-p11__station-dot{position:absolute;left:1px;top:0;}
  .curriculum-p11__story--empty{display:none;}
  .curriculum-p10__grid,.curriculum-p12__jobs,.curriculum-p9__tracks-grid{grid-template-columns:1fr;}
  .curriculum-p10__card{border-right:none;}
  .curriculum-p10__card:not(:last-child){border-bottom:1px dashed #e59a67;}
}
@media (max-width: 720px){
  .curriculum-p9__hero{grid-template-columns:1fr;padding:24px 22px 22px;}
  .curriculum-p9__hero-mark{justify-self:start;grid-auto-flow:column;align-items:center;}
  .curriculum-p9__hero-title,.curriculum-p10__lead-jp,.curriculum-p12__top-title,.curriculum-p12__career-copy h2,.curriculum-p12__jobs-head{font-size:26px;}
  .curriculum-p9__tracks-head,.curriculum-p12__label{font-size:24px;}
  .curriculum-p10__card h3{font-size:20px;}
  .curriculum-p12__job h3,.curriculum-p9__track-title,.curriculum-p9__env-item h3,.curriculum-p12__tournament h3{font-size:18px;}
  .curriculum-p9__table{font-size:11px;}
  .curriculum-p9__table .period{width:110px;}
}

/* about page 1-5 recreation */
.about-p1-section {
  background: #fbf3e8;
}
.about-p1 {
  max-width: 1128px;
  margin: 0 auto;
}
.about-p1__topline {
  display: inline-flex;
  align-items: center;
  min-height: 56px;
  padding: 12px 24px;
  background: linear-gradient(90deg, #de7a3a, #db6b31);
  color: #fff;
  font-size: clamp(20px, 2.3vw, 30px);
  font-weight: 700;
  letter-spacing: .08em;
}
.about-p1__stage {
  position: relative;
  overflow: hidden;
  min-height: 760px;
  padding: 58px 44px 210px;
  background: #fff;
}
.about-p1__hero {
  position: absolute;
  inset: 0;
}
.about-p1__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,34,82,.08), rgba(10,34,82,.18));
}
.about-p1__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-p1__photo {
  position: absolute;
  z-index: 2;
  margin: 0;
  overflow: hidden;
  border: 8px solid rgba(255,255,255,.96);
  box-shadow: 0 18px 38px rgba(0,0,0,.18);
  background: #fff;
}
.about-p1__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-p1__photo--a { left: -10px; top: 292px; width: 268px; height: 178px; }
.about-p1__photo--b { right: 34px; top: 112px; width: 236px; height: 158px; }
.about-p1__photo--c { left: 32px; bottom: 108px; width: 258px; height: 172px; }
.about-p1__photo--d { right: 72px; bottom: 150px; width: 226px; height: 150px; }
.about-p1__photo--e { right: 18px; bottom: 18px; width: 248px; height: 130px; }
.about-p1__message {
  position: relative;
  z-index: 3;
  max-width: 700px;
  margin: 82px auto 0;
  padding: 34px 42px 30px;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(4px);
  box-shadow: 0 18px 40px rgba(36,28,20,.16);
}
.about-p1__eyebrow {
  font-family: var(--font-en);
  font-size: 24px;
  font-style: italic;
  color: #d86f34;
}
.about-p1__message h2 {
  margin: 8px 0 18px;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.2;
  color: #2c201c;
}
.about-p1__message p {
  margin-top: 12px;
  font-size: 16px;
  line-height: 2;
  color: #372c27;
}
.about-p1__catch {
  margin-top: 22px;
  color: #d86f34;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: .08em;
}
.about-p1__cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: 20px 26px;
  background: #fff6eb;
  border: 1px solid rgba(219,107,49,.18);
}
.about-p1__cta-copy {
  display: grid;
  gap: 8px;
}
.about-p1__cta-kicker {
  font-size: 28px;
  font-weight: 700;
  color: #d86f34;
  line-height: 1.25;
}
.about-p1__cta-copy p, .about-p1__cta-copy span {
  color: #453833;
  line-height: 1.8;
}
.about-p1__qr {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding-left: 14px;
  border-left: 1px solid rgba(219,107,49,.22);
  text-align: center;
}
.about-p1__qr img { width: 78px; height: 78px; }
.about-p1__qr strong { color: #d86f34; font-size: 16px; }
.about-p1__qr small { color: #6c5a50; line-height: 1.7; }

.about-p2 {
  padding-top: 10px;
}
.about-p2__head {
  max-width: 1120px;
}
.about-p2__lead {
  margin-top: 14px;
  max-width: 1120px;
  font-size: 16px;
  line-height: 2;
  color: #4b413a;
}
.about-p2__campus {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  align-items: start;
  margin-top: 24px;
}
.about-p2__campus--asato {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px dashed rgba(127,100,82,.32);
}
.about-p2__copy h3 {
  margin-top: 12px;
  font-size: clamp(28px, 2.8vw, 42px);
  line-height: 1.18;
  color: #2f231f;
}
.about-p2__copy p {
  margin-top: 14px;
  font-size: 16px;
  line-height: 2;
  color: #4b413a;
}
.about-p2__chip {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #db7337;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
}
.about-p2__info { margin: 18px 0 0; }
.about-p2__info div {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(127,100,82,.18);
}
.about-p2__info dt { font-weight: 700; color: #d86b33; }
.about-p2__info dd { margin: 0; color: #413631; line-height: 1.8; }
.about-p2__gallery {
  display: grid;
  gap: 14px;
}
.about-p2__gallery figure {
  margin: 0;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 22px rgba(10,34,82,.08);
}
.about-p2__gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-p2__gallery--kumoji {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.about-p2__gallery-main {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}
.about-p2__gallery--kumoji figure:not(.about-p2__gallery-main) { aspect-ratio: 16 / 10; }
.about-p2__gallery--asato {
  grid-template-columns: minmax(220px, .78fr) minmax(0, 1fr);
}
.about-p2__gallery-tall { aspect-ratio: 4 / 5; }
.about-p2__gallery--asato figure:last-child { aspect-ratio: 4 / 3; }

.about-p3__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  margin-top: 34px;
}

.about-p5__consult {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px 120px;
  gap: 18px;
  align-items: center;
  padding: 20px;
}
.about-p5__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  min-height: 34px;
  padding: 6px 12px;
  background: #4f8ed6;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}
.about-p5__consult-copy h3,
.about-p5__life h3,
.about-p5__support h3 {
  margin-top: 12px;
  font-size: 24px;
  line-height: 1.35;
  color: #2b211d;
}
.about-p5__consult-copy p,
.about-p5__life p,
.about-p5__support p {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.9;
  color: #473933;
}
.about-p5__consult-photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.about-p5__consult-photo img,
.about-p5__support img,
.about-p5__life-photos img { width: 100%; height: 100%; object-fit: cover; }
.about-p5__consult-qr {
  display: grid;
  justify-items: center;
  gap: 8px;
  text-align: center;
}
.about-p5__consult-qr img { width: 82px; }
.about-p5__consult-qr span { font-size: 13px; line-height: 1.6; color: #4a3d36; }
.about-p5__simple-flow { padding: 0; overflow: hidden; }
.about-p5__dual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-p5__life,
.about-p5__support { padding: 20px; }
.about-p5__life-photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.about-p5__life-photos img { aspect-ratio: 4 / 3; }
.about-p5__support img { margin-top: 16px; aspect-ratio: 16 / 10; }

@media (max-width: 1080px) {
  .about-p1__stage { min-height: 0; padding: 34px 24px 150px; }
  .about-p1__message { margin-top: 40px; max-width: 640px; }
  .about-p1__photo--a { width: 208px; height: 138px; top: 272px; }
  .about-p1__photo--b { width: 190px; height: 126px; }
  .about-p1__photo--c { width: 208px; height: 138px; }
  .about-p1__photo--d { width: 184px; height: 122px; }
  .about-p1__photo--e { width: 200px; height: 104px; }
  .about-p2__campus,
  .about-p5__consult { grid-template-columns: 1fr; }
  .about-p2__gallery--asato,
  .about-p3__grid,
  .about-p5__dual { grid-template-columns: 1fr; }
  .about-p5__consult-qr { justify-items: start; text-align: left; }
}
@media (max-width: 720px) {
  .about-p1__topline { display: flex; width: 100%; justify-content: center; text-align: center; font-size: 18px; padding-inline: 16px; }
  .about-p1__stage { padding: 0 0 18px; background: transparent; }
  .about-p1__hero { position: relative; aspect-ratio: 16 / 12; }
  .about-p1__photo { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: 100%; height: auto; border-width: 6px; margin-top: 12px; }
  .about-p1__photo img { aspect-ratio: 16 / 10; }
  .about-p1__message { margin: -36px 14px 0; padding: 24px 18px; }
  .about-p1__cta { grid-template-columns: 1fr; padding: 18px; }
  .about-p1__qr { border-left: 0; border-top: 1px solid rgba(219,107,49,.22); padding-left: 0; padding-top: 14px; }
  .pamphlet-p2__values-cluster { min-height: 0; display: grid; gap: 18px; }
  .pamphlet-p2__circle,
  .pamphlet-p2__center-badge { position: relative; left: auto; top: auto; right: auto; transform: none; width: 100%; height: auto; min-height: 0; border-radius: 26px; padding: 26px 22px 22px; }
  .pamphlet-p2__circle-no { position: static; margin-bottom: 12px; font-size: 58px; }
  .about-p2__gallery--kumoji { grid-template-columns: 1fr; }
  .about-p2__gallery-main { grid-column: auto; }
  .about-brochure__callout p { font-size: 19px; }
  .diploma-p5__flow { grid-template-columns: 1fr; }
  .diploma-p5__rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .diploma-p5__rail::before { content: none; }
  .diploma-p5__badge + .diploma-p5__badge { margin-top: 0; }
  .diploma-p5__simple-step { padding: 18px; font-size: 22px; }
  .about-p5__life-photos { grid-template-columns: 1fr; }
}


/* shared title spec + lower-page orange band reduction */
.sec-lead:not(.sec-lead--shared) {
  margin-bottom: 36px;
}
.sec-lead:not(.sec-lead--shared) .sec-lead__en,
.page-hero__en {
  display: inline-block;
  min-height: 0;
  padding: 0;
  margin-bottom: 16px;
  border-radius: 0;
  background: transparent;
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
  color: #fff;
  font-size: clamp(14px, 1.35vw, 15px);
  letter-spacing: .12em;
  line-height: 1.2;
}
.sec-lead:not(.sec-lead--shared) .sec-lead__jp,
.page-hero h1 {
  display: block;
  padding: 0;
  margin: 0;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(28px, 3vw, 30px);
  line-height: 1.28;
  letter-spacing: .16em;
  color: #fff;
  border: 0;
}
.sec-lead:not(.sec-lead--shared) .sec-lead__jp::before,
.sec-lead:not(.sec-lead--shared) .sec-lead__jp::after {
  content: none;
}
.sec-lead:not(.sec-lead--shared) .sec-lead__note,
.page-hero__note {
  margin-top: 12px;
  max-width: 520px;
  font-size: 13px;
  line-height: 1.85;
  letter-spacing: .04em;
}
.page-hero {
  padding: clamp(0px, 0vw, 0px) 0 clamp(8px, 3vw, 10px);
}
.page-hero::before {
  opacity: .08;
}
body.page-about .about-p1__topline {
  min-height: calc(56px * .8);
  padding: 9px 19px;
}
body.page-about .pamphlet-page__hero,
body.page-instructors .pamphlet-page__hero {
  padding: 21px 32px 19px 34px;
}
body.page-about .diploma-p5__hero,
body.page-diploma .diploma-p5__hero {
  padding: 18px 28px 16px;
}
body.page-curriculum .curriculum-p9__hero {
  padding: 24px 34px 22px;
}

@media (max-width: 720px) {
  .page-hero {
    padding: 42px 0 30px;
  }
  .page-hero::before {
    right: -34px;
    top: -30px;
    width: 180px;
    height: 180px;
    opacity: .06;
  }
  .sec-lead:not(.sec-lead--shared) {
    margin-bottom: 28px;
  }
  .sec-lead:not(.sec-lead--shared) .sec-lead__en,
  .page-hero__en {
    margin-bottom: 12px;
    font-size: 13px;
    letter-spacing: .1em;
  }
  .sec-lead:not(.sec-lead--shared) .sec-lead__jp,
  .page-hero h1 {
    font-size: 24px;
    letter-spacing: .12em;
    line-height: 1.32;
  }
  .sec-lead:not(.sec-lead--shared) .sec-lead__note,
  .page-hero__note {
    margin-top: 10px;
    max-width: 34ch;
    font-size: 12px;
    line-height: 1.8;
  }

  body.page-about .about-p1__topline {
    display: block;
    width: 100%;
    min-height: auto;
    padding: 8px 16px;
    font-size: 16px;
    line-height: 1.45;
    text-align: center;
  }

  body.page-about .pamphlet-page__hero,
  body.page-instructors .pamphlet-page__hero {
    grid-template-columns: minmax(0, 1fr) 72px;
    gap: 12px;
    padding: 18px 18px 16px;
  }
  body.page-about .pamphlet-page__hero::before,
  body.page-instructors .pamphlet-page__hero::before {
    right: 36px;
    top: 10px;
    width: 88px;
    height: 88px;
    border-width: 9px;
  }
  body.page-about .pamphlet-page__hero::after,
  body.page-instructors .pamphlet-page__hero::after {
    right: 0;
    width: 96px;
  }
  body.page-about .pamphlet-page__title,
  body.page-instructors .pamphlet-page__title {
    font-size: 25px;
    line-height: 1.18;
    letter-spacing: .08em;
  }
  body.page-about .pamphlet-page__subtitle,
  body.page-instructors .pamphlet-page__subtitle {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.72;
  }
  body.page-about .pamphlet-page__hero-mark,
  body.page-instructors .pamphlet-page__hero-mark {
    gap: 4px;
    align-self: start;
  }
  body.page-about .pamphlet-page__hero-mark img,
  body.page-instructors .pamphlet-page__hero-mark img {
    width: 54px;
  }
  body.page-about .pamphlet-page__hero-mark span,
  body.page-instructors .pamphlet-page__hero-mark span {
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: .08em;
  }

  body.page-about .diploma-p5__hero,
  body.page-diploma .diploma-p5__hero {
    padding: 16px 18px 14px;
  }
  body.page-about .diploma-p5__hero::after,
  body.page-diploma .diploma-p5__hero::after {
    right: -4px;
    top: -4px;
    font-size: 34px;
  }
  body.page-about .diploma-p5__hero h2,
  body.page-diploma .diploma-p5__hero h2 {
    font-size: 24px;
    line-height: 1.2;
  }
  body.page-about .diploma-p5__hero p,
  body.page-diploma .diploma-p5__hero p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.72;
  }

  body.page-curriculum .curriculum-p9__hero {
    grid-template-columns: minmax(0, 1fr) 76px;
    gap: 12px;
    padding: 18px 18px 16px;
  }
  body.page-curriculum .curriculum-p9__hero::before {
    right: 38px;
    top: 10px;
    width: 92px;
    height: 92px;
    border-width: 9px;
  }
  body.page-curriculum .curriculum-p9__hero::after {
    width: 102px;
  }
  body.page-curriculum .curriculum-p9__hero-title {
    font-size: 26px;
    line-height: 1.18;
    letter-spacing: .08em;
  }
  body.page-curriculum .curriculum-p9__hero-note {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.72;
  }
  body.page-curriculum .curriculum-p9__hero-mark img {
    width: 58px;
  }
  body.page-curriculum .curriculum-p9__hero-mark span {
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: .08em;
  }
}

@media (max-width: 480px) {
  .page-hero {
    padding: 34px 0 24px;
  }
  .sec-lead:not(.sec-lead--shared) .sec-lead__en,
  .page-hero__en {
    margin-bottom: 10px;
    font-size: 12px;
    letter-spacing: .08em;
  }
  .sec-lead:not(.sec-lead--shared) .sec-lead__jp,
  .page-hero h1 {
    font-size: 21px;
    line-height: 1.35;
    letter-spacing: .09em;
  }
  .sec-lead:not(.sec-lead--shared) .sec-lead__note,
  .page-hero__note {
    max-width: 30ch;
    font-size: 11px;
    line-height: 1.72;
  }

  body.page-about .about-p1__topline {
    padding: 7px 12px;
    font-size: 16px;
    letter-spacing: .05em;
  }

  body.page-about .pamphlet-page__hero,
  body.page-instructors .pamphlet-page__hero,
  body.page-curriculum .curriculum-p9__hero {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 10px;
    padding: 16px 14px 14px;
  }
  body.page-about .pamphlet-page__hero::before,
  body.page-instructors .pamphlet-page__hero::before,
  body.page-curriculum .curriculum-p9__hero::before {
    right: -12px;
    top: -8px;
    width: 78px;
    height: 78px;
    border-width: 8px;
  }
  body.page-about .pamphlet-page__hero::after,
  body.page-instructors .pamphlet-page__hero::after,
  body.page-curriculum .curriculum-p9__hero::after {
    width: 82px;
  }
  body.page-about .pamphlet-page__title,
  body.page-instructors .pamphlet-page__title,
  body.page-curriculum .curriculum-p9__hero-title {
    font-size: 22px;
    line-height: 1.24;
  }
  body.page-about .pamphlet-page__subtitle,
  body.page-instructors .pamphlet-page__subtitle,
  body.page-curriculum .curriculum-p9__hero-note {
    font-size: 11px;
    line-height: 1.68;
  }
  body.page-about .pamphlet-page__hero-mark,
  body.page-instructors .pamphlet-page__hero-mark,
  body.page-curriculum .curriculum-p9__hero-mark {
    justify-self: start;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  body.page-about .pamphlet-page__hero-mark img,
  body.page-instructors .pamphlet-page__hero-mark img,
  body.page-curriculum .curriculum-p9__hero-mark img {
    width: 44px;
  }
  body.page-about .pamphlet-page__hero-mark span,
  body.page-instructors .pamphlet-page__hero-mark span,
  body.page-curriculum .curriculum-p9__hero-mark span {
    text-align: left;
    font-size: 7px;
    line-height: 1.35;
  }

  body.page-about .diploma-p5__hero,
  body.page-diploma .diploma-p5__hero {
    padding: 14px 14px 12px;
  }
  body.page-about .diploma-p5__hero::after,
  body.page-diploma .diploma-p5__hero::after {
    font-size: 26px;
    right: -2px;
    top: 0;
  }
  body.page-about .diploma-p5__hero h2,
  body.page-diploma .diploma-p5__hero h2 {
    font-size: 21px;
  }
  body.page-about .diploma-p5__hero p,
  body.page-diploma .diploma-p5__hero p {
    font-size: 11px;
    line-height: 1.65;
  }
}

.sec-lead__logo {
  margin-top: 20px;
  text-align: center;
}

.sec-lead__logo img {
  display: inline-block;
  max-width: min(620px, 90%);
  height: auto;
}
/* ===== responsive QA fix ===== */

/* タブレット：ナビ消失対策（ハンバーガーを表示） */
@media (max-width: 1080px) {
  .site-nav {
    display: none;
  }

  .nav-toggle {
    display: flex;
  }

  .site-header__inner {
    min-height: 84px;
    gap: 12px;
  }

  .site-logo img {
    height: 52px;
    width: auto;
  }

  .header-cta {
    display: flex;
    gap: 8px;
  }

  .header-cta .btn.secondary {
    display: none;
  }

  .header-cta .btn {
    min-width: 0;
    font-size: 12px;
    padding: 10px 12px 10px 14px;
    white-space: nowrap;
  }
}

@media (max-width: 860px) {
  .header-cta {
    display: none;
  }
}

/* タブレット：縦余白を少し締める */
@media (max-width: 1080px) and (min-width: 721px) {
  .section {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .pamphlet-page__hero,
  .pamphlet-page__hero--curriculum,
  .pamphlet-page__hero--instructor {
    margin-bottom: 40px;
  }
}

/* スマホ：カリキュラム表の見えづらさ改善 */
@media (max-width: 640px) {
  .pamphlet-p9__schedule-wrap {
    margin-top: 24px;
  }

  .pamphlet-p9__table-wrap {
    overflow-x: visible;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .pamphlet-p9__table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
  }

  .pamphlet-p9__table th,
  .pamphlet-p9__table td {
    min-width: 0;
    width: auto;
    padding: 10px 6px;
    font-size: 12px;
    line-height: 1.45;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  .pamphlet-p9__table thead th,
  .pamphlet-p9__table tbody th {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .02em;
  }

  .pamphlet-p9__table tbody th small {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.35;
  }

  .pamphlet-p9__table td.is-report,
  .pamphlet-p9__table td.is-global {
    font-size: 11px;
  }
}

/* 極小スマホ：さらに圧縮 */
@media (max-width: 390px) {
  .pamphlet-p9__table th,
  .pamphlet-p9__table td {
    padding: 8px 4px;
    font-size: 11px;
  }

  .pamphlet-p9__table thead th,
  .pamphlet-p9__table tbody th {
    font-size: 10px;
  }

  .pamphlet-p9__table tbody th small {
    font-size: 9px;
  }
}



/* ===== subpage banner height adjustment (compact band, keep title size) ===== */
.page-hero {
  padding: clamp(10px, 1.4vw, 20px) 0 clamp(8px, 1.2vw, 16px);
	 min-height: 100px;
}
.page-hero::before {
  display: none;
}
.page-hero__en,
.page-hero__note {
  display: none;
}
.page-hero h1 {
  padding: 8px 24px;
	 margin-bottom: 40px;
}
@media (max-width: 780px) {
  .page-hero {
    padding: 8px 0 7px;
  }
  .page-hero h1 {
    padding: 7px 18px;
  }
}
/* 下層ページタイトル帯を小さくする */
.page-hero {
  padding: 8px 0 6px !important;
}

.page-hero__en,
.page-hero__note {
  display: none !important;
}

@media (max-width: 780px) {
  .page-hero {
    padding: 8px 0 7px !important;
  }
}

/* カリキュラム・講師紹介のタイトル帯を ABOUT と完全に同一仕様へ固定 */
body.page-curriculum,
body.page-instructors {
  --subhero-x: clamp(24px, 3.9vw, 39px) !important;
  --subhero-top: clamp(25px, 3.3vw, 36px) !important;
  --subhero-size: clamp(24px, 2.7vw, 31px) !important;
  --subhero-letter: .06em !important;
}

body.page-curriculum .page-hero,
body.page-instructors .page-hero {
  padding: 8px 0 6px !important;
  min-height: 100px !important;
}

body.page-curriculum .page-hero .container-narrow,
body.page-instructors .page-hero .container-narrow {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-top: clamp(25px, 3.3vw, 36px) !important;
  padding-right: 28px !important;
  padding-bottom: 0 !important;
  padding-left: clamp(24px, 3.9vw, 39px) !important;
}

body.page-curriculum .page-hero h1,
body.page-instructors .page-hero h1 {
  display: block !important;
  position: relative !important;
  padding: 8px 24px !important;
  margin: 0 0 40px !important;
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  font-size: clamp(25px, 2.8vw, 28px) !important;
  line-height: 1.28 !important;
  letter-spacing: .16em !important;
  color: #fff !important;
  border: 0 !important;
}

@media (max-width: 720px) {
  body.page-curriculum,
  body.page-instructors {
    --subhero-x: 18px !important;
    --subhero-top: 23px !important;
    --subhero-size: 22px !important;
    --subhero-letter: .06em !important;
  }

  body.page-curriculum .page-hero,
  body.page-instructors .page-hero {
    padding: 8px 0 7px !important;
    min-height: 84px !important;
  }

  body.page-curriculum .page-hero .container-narrow,
  body.page-instructors .page-hero .container-narrow {
    padding-top: 23px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.page-curriculum .page-hero h1,
  body.page-instructors .page-hero h1 {
    padding: 7px 18px !important;
    margin: 0 0 40px !important;
    font-size: 24px !important;
    line-height: 1.32 !important;
    letter-spacing: .12em !important;
  }
}

@media (max-width: 480px) {
  body.page-curriculum .page-hero h1,
  body.page-instructors .page-hero h1 {
    font-size: 21px !important;
    line-height: 1.35 !important;
    letter-spacing: .09em !important;
  }
}


/* ===== icon image replacement patch ===== */
.about-feature-card__icon {
  background: transparent;
}
.about-feature-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.about-feature-card__triangle {
  display: none;
}
.pamphlet-p9__environment-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pamphlet-p9__environment-icon--accent span {
  display: none;
}


/* ===== campus logo patch ===== */
.pamphlet-p2__address-box--with-logo {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
}
.pamphlet-p2__address-content {
  display: grid;
  gap: 6px;
}
.pamphlet-p2__address-logo {
  display: block;
  width: clamp(150px, 18vw, 220px);
  height: auto;
}
.pamphlet-p2__school-logo {
  display: block;
  width: clamp(220px, 28vw, 420px);
  max-width: 100%;
  height: auto;
}
@media (max-width: 720px) {
  .pamphlet-p2__address-box--with-logo {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 12px;
  }
  .pamphlet-p2__address-logo {
    width: min(200px, 70vw);
  }
  .pamphlet-p2__school-logo {
    width: min(320px, 90vw);
  }
}


/* ===== about page philosophy + flow image patch ===== */
.about-philosophy-visual {
  margin-top: clamp(28px, 4vw, 44px);
}
.about-philosophy-visual img {
  display: block;
  width: min(760px, 100%);
  margin: 0 auto;
  height: auto;
}
.about-flow-band {
  background: transparent;
  padding: 0 0 clamp(40px, 5vw, 72px);
}
.about-flow-band__hero {
  margin-bottom: clamp(20px, 3vw, 32px);
}
.about-flow-band__figure {
  margin: 0 auto;
  max-width: 1100px;
}
.about-flow-band__figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.14);
}
@media (max-width: 720px) {
  .about-philosophy-visual img {
    width: 100%;
  }
  .about-flow-band {
    padding: 0 0 40px;
  }
  .about-flow-band__hero {
    margin-bottom: 18px;
  }
  .about-flow-band__figure img {
    border-radius: 12px;
  }
}

/* ===== diploma page: closer to pamphlet page 6 ===== */
body.page-diploma .diploma-p6-section {
  background: #faf4ec;
}
body.page-diploma .diploma-sheet,
body.page-diploma .diploma-sheet--p6 {
  background: transparent;
}
body.page-diploma .diploma-sheet--p6 {
  margin-top: 20px;
  padding: 14px 0 18px;
  max-width: 1100px;
}
body.page-diploma .diploma-p6__title {
  margin: 0 0 10px;
  font-size: clamp(34px, 4.1vw, 58px);
  line-height: 1.14;
  letter-spacing: .04em;
  color: #1f1816;
}
body.page-diploma .diploma-p6__section-head small {
  font-family: var(--font-body);
  font-style: normal;
  font-weight: 700;
  letter-spacing: .04em;
}
body.page-diploma .diploma-p6__section {
  margin-top: 26px;
  padding: 0 10px;
}
body.page-diploma .diploma-p6__intro {
  margin-top: 16px;
  max-width: 1120px;
  font-size: 15px;
  line-height: 1.92;
  color: #3b2d26;
}
body.page-diploma .diploma-p6__req-visual {
  margin: 30px auto 0;
  max-width: 1120px;
}
body.page-diploma .diploma-p6__req-visual img {
  display: block;
  width: 100%;
  height: auto;
}
body.page-diploma .diploma-p6__conditions {
  grid-template-columns: 176px repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border: 2px solid #edd5bf;
  background: #fffaf4;
}
body.page-diploma .diploma-p6__condition-title {
  padding: 18px 16px;
  font-size: 24px;
  line-height: 1.28;
  letter-spacing: .06em;
  background: #f6e6d7;
}
body.page-diploma .diploma-p6__condition-col {
  padding: 20px 18px 18px;
  background: #fff;
}
body.page-diploma .diploma-p6__condition-col h3 {
  font-size: 22px;
  color: #d86f30;
}
body.page-diploma .diploma-p6__condition-col p {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.8;
}
body.page-diploma .diploma-p6__exam-top {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 28px;
  margin-top: 24px;
}
body.page-diploma .diploma-p6__exam-left,
body.page-diploma .diploma-p6__exam-right,
body.page-diploma .diploma-p6__exam-box,
body.page-diploma .diploma-p6__results {
  font-size: 15px;
  line-height: 1.88;
  color: #3b2d26;
}
body.page-diploma .diploma-p6__exam-left {
  padding: 6px 4px 0 0;
}
body.page-diploma .diploma-p6__exam-right {
  gap: 18px;
  padding-top: 2px;
}
body.page-diploma .diploma-p6__exam-item {
  padding: 2px 0;
}
body.page-diploma .diploma-p6__exam-item h3 {
  font-size: 22px;
  letter-spacing: .04em;
}
body.page-diploma .diploma-p6__exam-item p {
  margin-top: 8px;
}
body.page-diploma .diploma-p6__exam-bottom {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 26px;
  margin-top: 24px;
}
body.page-diploma .diploma-p6__exam-box,
body.page-diploma .diploma-p6__results-box {
  background: #fff;
  border: 1px solid #f0d0b3;
  padding: 24px 24px 22px;
}
body.page-diploma .diploma-p6__results-box {
  padding: 32px 24px 24px;
}
body.page-diploma .diploma-p6__exam-box {
  box-shadow: none;
}
body.page-diploma .diploma-p6__results {
  padding-top: 14px;
}
body.page-diploma .diploma-p6__results h4,
body.page-diploma .diploma-p6__exam-box h4 {
  font-size: 21px;
  line-height: 1.32;
}
body.page-diploma .diploma-p6__results h4 {
  margin-top: 10px;
}
body.page-diploma .diploma-p6__results-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  margin-top: 18px;
}
body.page-diploma .diploma-p6__results-section {
  min-width: 0;
  padding: 6px 2px;
}
body.page-diploma .diploma-p6__results-section + .diploma-p6__results-section {
  margin-top: 0;
}
body.page-diploma .diploma-p6__results-section strong {
  margin-bottom: 12px;
}
@media (max-width: 1040px) {
  body.page-diploma .diploma-p6__req-visual {
    max-width: 940px;
  }
}
@media (max-width: 820px) {
  body.page-diploma .diploma-p6__title {
    font-size: 34px;
  }
  body.page-diploma .diploma-p6__section {
    padding: 0 6px;
  }
  body.page-diploma .diploma-p6__req-visual {
    margin-top: 22px;
  }
  body.page-diploma .diploma-p6__exam-box,
  body.page-diploma .diploma-p6__results-box {
    padding: 20px 20px 18px;
  }
  body.page-diploma .diploma-p6__results-box {
    padding: 26px 20px 20px;
  }
}
@media (max-width: 720px) {
  body.page-diploma .diploma-p6__section {
    padding: 0;
  }
  body.page-diploma .diploma-p6__req-visual {
    margin-top: 18px;
    max-width: 100%;
  }
  body.page-diploma .diploma-p6__conditions,
  body.page-diploma .diploma-p6__exam-bottom,
  body.page-diploma .diploma-p6__results-grid {
    grid-template-columns: 1fr;
  }
  body.page-diploma .diploma-p6__condition-title {
    padding: 14px 16px;
  }
  body.page-diploma .diploma-p6__condition-col {
    border-left: 0;
    border-top: 1px dotted rgba(109, 68, 41, .35);
  }
  body.page-diploma .diploma-p6__exam-box,
  body.page-diploma .diploma-p6__results-box {
    padding: 18px 16px 16px;
  }
  body.page-diploma .diploma-p6__results-box {
    padding: 22px 16px 18px;
  }
}
.pamphlet-p7__cta {
  margin-top: 32px;
  text-align: center;
}
@media (max-width: 768px) {
  .about-p1__stage {
    min-height: auto;
    padding: 0 0 24px;
    background: #fff;
    overflow: visible;
  }

  .about-p1__hero {
    position: relative;
    inset: auto;
    width: 100%;
    height: 220px;
  }

  .about-p1__hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .about-p1__hero::after {
    display: none;
  }

  .about-p1__photo {
    display: none;
  }

  .about-p1__message {
    max-width: none;
    margin: 20px 16px 0;
    padding: 24px 20px;
  }
}
@media (max-width: 768px) {
  .about-p1__photo {
    display: none;
  }
}



/* ===== final polish: mobile readability / map fallback / heading cleanup ===== */
.site-footer__map {
  min-width: 0;
}
.site-footer__map iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0;
  border-radius: 24px;
  background: #e9e9e9;
  box-shadow: 0 14px 28px rgba(10, 34, 82, .12);
}
.site-footer__map-link,
.pamphlet-p2__map-link {
  margin: 10px 0 0;
  text-align: right;
}
.site-footer__map-link a,
.pamphlet-p2__map-link a {
  color: #d96d30;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pamphlet-p2__map-link {
  margin-top: 8px;
}
.pamphlet-p9__table-note {
  display: none;
  margin: 12px 0 10px;
  color: #6b5448;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}
.pamphlet-p9__schedule-mobile {
  display: none;
}
@media (max-width: 980px) {
  .pamphlet-p9__table-note {
    display: block;
  }
  .pamphlet-p9__table thead th:first-child,
  .pamphlet-p9__table tbody th {
    position: sticky;
    left: 0;
    z-index: 2;
  }
  .pamphlet-p9__table thead th:first-child {
    z-index: 3;
  }
}
@media (max-width: 720px) {
  .pamphlet-p9__table-note {
    display: none;
  }
  .pamphlet-p9__table-wrap {
    display: none;
  }
  .pamphlet-p9__schedule-mobile {
    display: grid;
    gap: 14px;
    margin-top: 12px;
  }
  .pamphlet-p9__schedule-day {
    border: 1px solid #ead6c7;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(180deg, #fff 0%, #fff9f3 100%);
    box-shadow: 0 10px 20px rgba(72, 46, 27, .06);
  }
  .pamphlet-p9__schedule-day h3 {
    margin: 0;
    padding: 12px 16px;
    background: #DB7737;
    color: #fff;
    font-size: 18px;
    letter-spacing: .06em;
  }
  .pamphlet-p9__schedule-day dl {
    margin: 0;
    padding: 10px 14px 12px;
    display: grid;
    gap: 8px;
  }
  .pamphlet-p9__schedule-day dl > div {
    display: grid;
    grid-template-columns: minmax(88px, 104px) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 0;
    border-bottom: 1px solid #efe0d4;
  }
  .pamphlet-p9__schedule-day dl > div:last-child {
    border-bottom: 0;
    padding-bottom: 2px;
  }
  .pamphlet-p9__schedule-day dt,
  .pamphlet-p9__schedule-day dd {
    margin: 0;
  }
  .pamphlet-p9__schedule-day dt {
    color: #0A2252;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.45;
  }
  .pamphlet-p9__schedule-day dt small {
    display: block;
    margin-top: 3px;
    color: #7f6b61;
    font-size: 10px;
    font-weight: 600;
  }
  .pamphlet-p9__schedule-day dd {
    color: #3c302b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
  }
  .pamphlet-p9__schedule-day .is-break,
  .pamphlet-p9__schedule-day .is-after {
    background: #fff4e8;
    margin: 0 -14px;
    padding: 10px 14px;
  }
  .site-footer__map iframe {
    min-height: 240px;
    border-radius: 18px;
  }
  .site-footer__map-link,
  .pamphlet-p2__map-link {
    text-align: left;
  }
}


/* ===== final tuning pass: typography / section rhythm / content width ===== */
body.page-about .section,
body.page-curriculum .section,
body.page-facility .section,
body.page-diploma .section,
body.page-faq .section,
body.page-company .section,
body.page-privacy .section {
  padding-block: clamp(56px, 7vw, 72px);
}
body.page-company .section .container,
body.page-privacy .section .container {
  padding-inline: clamp(20px, 3.5vw, 32px);
}
body.page-company .sec-lead,
body.page-privacy .sec-lead {
  margin-bottom: 24px;
}
@media (max-width: 720px) {
  body.page-about .section,
  body.page-curriculum .section,
  body.page-facility .section,
  body.page-diploma .section,
  body.page-faq .section,
  body.page-company .section,
  body.page-privacy .section {
    padding-block: 44px;
  }
  body.page-company .section .container,
  body.page-privacy .section .container {
    padding-inline: 16px;
  }
  body.page-company .sec-lead,
  body.page-privacy .sec-lead {
    margin-bottom: 18px;
  }
}


/* ===== mobile fixed cta ===== */
.mobile-fixed-cta {
  display: none;
}
@media (max-width: 767px) {
  body {
    padding-bottom: 86px;
  }
  .mobile-fixed-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    box-shadow: 0 -10px 24px rgba(10, 34, 82, .16);
  }
  .mobile-fixed-cta__item {
    min-width: 0;
    min-height: 76px;
    padding: 10px 8px 12px;
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 5px;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  .mobile-fixed-cta__item:hover,
  .mobile-fixed-cta__item:focus-visible {
    color: #fff;
    text-decoration: none;
  }
  .mobile-fixed-cta__item--request {
    background: linear-gradient(180deg, #f29a3f 0%, #e17b34 100%);
  }
  .mobile-fixed-cta__item--school {
    background: linear-gradient(180deg, #16a6a3 0%, #0f8e8d 100%);
  }
  .mobile-fixed-cta__item--tel {
    background: linear-gradient(180deg, #173a79 0%, #0A2252 100%);
  }
  .mobile-fixed-cta__icon {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
  }
  .mobile-fixed-cta__icon svg {
    width: 24px;
    height: 24px;
    display: block;
  }
  .mobile-fixed-cta__label {
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .04em;
    word-break: keep-all;
  }
}


/* ===== footer menu one-line tuning ===== */
.site-footer__links {
  flex-wrap: nowrap;
}
.site-footer__links li {
  line-height: 1.8;
}
.site-footer__links a {
  padding: 0 .72em;
  font-size: 14px;
  white-space: nowrap;
}
@media (max-width: 1100px) and (min-width: 768px) {
  .site-footer__links a {
    padding: 0 .52em;
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .site-footer__links {
    flex-wrap: wrap;
  }
}
/* ===== footer redesign add-on ===== */
.site-footer__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
  margin-bottom: clamp(28px, 4vw, 40px);
}

.site-footer__brand-block {
  display: grid;
  gap: 18px;
}

.site-footer__brand-copy {
  max-width: 54ch;
}

.site-footer__eyebrow {
  margin: 0 0 10px;
  color: #d86c2e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.site-footer__lead {
  margin: 0;
  color: var(--navy-900);
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.9;
  font-weight: 700;
}

.site-footer__partner-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.site-footer__partner-logo {
  margin: 0;
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(232, 101, 38, .16);
  box-shadow: 0 14px 28px rgba(232, 101, 38, .08);
}

.site-footer__partner-logo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.site-footer__partner-logo--ogh img {
  max-width: 290px;
}

.site-footer__partner-logo--cellular img {
  max-width: 340px;
}

.site-footer__campus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 28px);
}

.site-footer__campus-card {
  display: grid;
  gap: 18px;
  padding: clamp(22px, 3vw, 28px);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,249,243,.98) 100%);
  border: 1px solid rgba(232, 101, 38, .16);
  box-shadow: 0 18px 36px rgba(232, 101, 38, .1);
}

.site-footer__campus-copy {
  display: grid;
  gap: 14px;
}

.site-footer__campus-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.site-footer__campus-label {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff0e4;
  color: #d86c2e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  white-space: nowrap;
}

.site-footer__campus-logo {
  display: block;
  width: auto;
  max-height: 42px;
  max-width: 150px;
  object-fit: contain;
}

.site-footer__campus-logo--wide {
  max-width: 180px;
}

.site-footer__campus-title {
  margin: 0;
  color: var(--navy-900);
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.45;
  letter-spacing: .04em;
}

.site-footer__campus-address,
.site-footer__campus-note {
  margin: 0;
  font-style: normal;
  color: #3e4657;
  line-height: 1.9;
}

.site-footer__campus-address {
  font-size: 15px;
}

.site-footer__campus-note {
  font-size: 14px;
}

.site-footer__campus-map-wrap {
  display: grid;
  gap: 12px;
}

.site-footer__campus-map-wrap iframe {
  width: 100%;
  height: 230px;
  border: 0;
  border-radius: 22px;
  background: #f4efe8;
}

.site-footer__map-link {
  margin: 0;
}

.site-footer__map-link a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--navy-900);
  font-weight: 700;
  text-decoration: none;
}

.site-footer__map-link a::after {
  content: "↗";
  font-size: 13px;
}

.site-footer__map-link a:hover {
  color: #d86c2e;
}

.site-footer__contact-row {
  margin-top: clamp(24px, 4vw, 36px);
}

.site-footer__contact--wide {
  width: 100%;
}

.site-footer__contact-copy {
  display: grid;
  gap: 4px;
}

.site-footer__contact-label {
  color: #d86c2e;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-footer__contact-text {
  color: var(--navy-900);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.5;
}

.site-footer__contact:hover .site-footer__contact-label,
.site-footer__contact:hover .site-footer__contact-text {
  color: #fff;
}

@media (max-width: 1100px) {
  .site-footer__intro,
  .site-footer__campus-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .site-footer__intro {
    gap: 18px;
    margin-bottom: 24px;
  }

  .site-footer__lead {
    font-size: 16px;
    line-height: 1.8;
  }

  .site-footer__partner-logos {
    grid-template-columns: 1fr;
  }

  .site-footer__partner-logo {
    min-height: 92px;
    padding: 14px 16px;
    border-radius: 20px;
  }

  .site-footer__campus-card {
    padding: 18px;
    border-radius: 22px;
  }

  .site-footer__campus-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer__campus-title {
    font-size: 20px;
  }

  .site-footer__campus-address,
  .site-footer__campus-note {
    font-size: 14px;
  }

  .site-footer__campus-map-wrap iframe {
    height: 200px;
    border-radius: 18px;
  }

  .site-footer__contact-text {
    font-size: 17px;
  }
}
/* --- intro右側にロゴ2つ + お問い合わせ配置 --- */
.site-footer__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.site-footer__intro-side {
  display: grid;
  gap: 18px;
  align-items: center;
}

.site-footer__intro-contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.site-footer__contact--intro {
  width: 100%;
  max-width: 360px;
}

.site-footer__brand-block {
  min-width: 0;
}

.site-footer__brand-copy {
  max-width: 54ch;
}

/* ロゴ2つを上下並び */
.site-footer__partner-logos--plain {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* 枠線・背景・影をなくす */
.site-footer__partner-logos--plain .site-footer__partner-logo {
  margin: 0;
  min-height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* 画像サイズ調整 */
.site-footer__partner-logos--plain .site-footer__partner-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.site-footer__partner-logos--plain .site-footer__partner-logo--ogh img {
  max-height: 72px;
}

.site-footer__partner-logos--plain .site-footer__partner-logo--cellular img {
  max-height: 64px;
}

/* 右寄せで揃える */
.site-footer__partner-logos--plain .site-footer__partner-logo--ogh,
.site-footer__partner-logos--plain .site-footer__partner-logo--cellular {
  justify-content: flex-end;
}

@media (max-width: 1100px) {
  .site-footer__intro {
    grid-template-columns: 1fr;
  }

  .site-footer__intro-side {
    gap: 16px;
  }

  .site-footer__partner-logos--plain .site-footer__partner-logo,
  .site-footer__intro-contact {
    justify-content: flex-start;
  }

  .site-footer__contact--intro {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .site-footer__partner-logos--plain .site-footer__partner-logo--ogh img {
    max-height: 60px;
  }

  .site-footer__partner-logos--plain .site-footer__partner-logo--cellular img {
    max-height: 54px;
  }
}
.site-footer__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.site-footer__intro-side {
  display: grid;
  gap: 18px;
  align-items: center;
}

.site-footer__intro-contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.site-footer__contact--intro {
  width: 100%;
  max-width: 360px;
}

.site-footer__partner-logos--plain {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.site-footer__partner-logos--plain .site-footer__partner-logo {
  margin: 0;
  min-height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-footer__partner-logos--plain .site-footer__partner-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.site-footer__partner-logos--plain .site-footer__partner-logo--ogh img {
  max-height: 72px;
}

.site-footer__partner-logos--plain .site-footer__partner-logo--cellular img {
  max-height: 64px;
}

@media (max-width: 1100px) {
  .site-footer__intro {
    grid-template-columns: 1fr;
  }

  .site-footer__partner-logos--plain .site-footer__partner-logo,
  .site-footer__intro-contact {
    justify-content: flex-start;
  }

  .site-footer__contact--intro {
    max-width: none;
  }
}
/* 右側：ロゴ2つを1列に */
.site-footer__partner-logos--plain {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

/* ロゴ枠なし・右寄せ */
.site-footer__partner-logos--plain .site-footer__partner-logo {
  margin: 0;
  min-height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* ロゴ画像 */
.site-footer__partner-logos--plain .site-footer__partner-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* 現状より約70%サイズに調整 */
.site-footer__partner-logos--plain .site-footer__partner-logo--ogh img {
  max-height: 50px;
}

.site-footer__partner-logos--plain .site-footer__partner-logo--cellular img {
  max-height: 45px;
}

/* お問い合わせボタンを広げる */
.site-footer__intro-contact {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.site-footer__contact--intro {
  width: 100%;
  max-width: 440px;
}

/* ボタン内テキストを2段にしない */
.site-footer__contact--intro .site-footer__contact-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.site-footer__contact--intro .site-footer__contact-text {
  white-space: nowrap;
  font-size: clamp(16px, 1.4vw, 20px);
}

/* ボタン全体も少し横長に */
.site-footer__contact--intro {
  min-height: 82px;
  padding: 18px 24px;
}

/* タブレット以下 */
@media (max-width: 1100px) {
  .site-footer__partner-logos--plain .site-footer__partner-logo {
    justify-content: flex-start;
  }

  .site-footer__intro-contact {
    justify-content: flex-start;
  }

  .site-footer__contact--intro {
    max-width: 460px;
  }
}

/* スマホ */
@media (max-width: 680px) {
  .site-footer__partner-logos--plain .site-footer__partner-logo--ogh img {
    max-height: 42px;
  }

  .site-footer__partner-logos--plain .site-footer__partner-logo--cellular img {
    max-height: 38px;
  }

  .site-footer__contact--intro {
    max-width: 100%;
    padding: 16px 18px;
  }

  .site-footer__contact--intro .site-footer__contact-text {
    white-space: normal;
    font-size: 16px;
  }
}

@media (max-width: 680px) {
  .site-footer__partner-logos.site-footer__partner-logos--plain {
    display: none;
  }
}
.site-footer__campus-map-wrap {
  margin-top: 6px;
}

.site-footer__map-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 22px;
  border-radius: 999px;
  background: #0A2252;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(10, 34, 82, .14);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.site-footer__map-button::after {
  content: "↗";
  margin-left: 8px;
  font-size: 14px;
  line-height: 1;
}

.site-footer__map-button:hover {
  background: #d96d30;
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(217, 109, 48, .18);
}

@media (max-width: 680px) {
  .site-footer__map-button {
    width: 100%;
    min-height: 50px;
    font-size: 14px;
  }
}
.faq details summary {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 700;
}

.faq details > div {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 400;
}

/* about の「e スポーツ× 通信制高校」2カラムをコンテンツ幅いっぱいに */
#course .pamphlet-page--3 {
  max-width: none;
  width: 100%;
}

#course .pamphlet-p3__stack {
  width: 100%;
  max-width: none;
  margin: 34px 0 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 767px) {
  .pamphlet-p3__stack {
    grid-template-columns: 1fr !important;
    gap: 24px;
  }
}
.sp-break {
  display: none;
}

@media (max-width: 767px) {
  .sp-break {
    display: block;
  }
}

