.admission-redesign{--ad-bg:#fbf9f5;--ad-white:#fff;--ad-soft:#f4f0e8;--ad-ink:#2e2e2e;--ad-muted:#666;--ad-primary:#3a93ca;--ad-primary-soft:#e7f2f9;--ad-accent:#52b1af;--ad-red:#ec7493;--ad-line:#e5e0d6;background:var(--ad-bg);color:var(--ad-ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.8}.admission-container{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.admission-hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,4rem);border-bottom:1px solid var(--ad-line);background:radial-gradient(120% 90% at 90% 0%,var(--ad-primary-soft),transparent 55%),var(--ad-soft)}.admission-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-70deg,rgba(255,255,255,.33) 0,rgba(255,255,255,.33) 2px,transparent 2px,transparent 6px);pointer-events:none}.admission-hero>*{position:relative}.admission-hero__en,.admission-heading>span,.admission-subheading>span{display:block;color:var(--ad-primary);font-family:Montserrat,"Noto Sans JP",sans-serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admission-hero__en{font-size:clamp(1.75rem,4.5vw,2.75rem);line-height:1.1}.admission-hero h1{margin:0;font-size:clamp(1.05rem,2.5vw,1.4rem);font-family:"Noto Sans JP",sans-serif}.admission-hero p{max-width:60ch;margin-top:1rem;color:var(--ad-muted)}.admission-hero nav{display:inline-flex;gap:.65rem;margin-top:1.5rem;padding:.35rem .95rem;border:1px solid var(--ad-line);border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(58,147,202,.08);font-size:.82rem;color:var(--ad-muted)}.admission-hero nav a{color:var(--ad-primary)}.admission-section{padding-block:clamp(3.5rem,8vw,6rem)}.admission-section--white{background:#fff}.admission-section--soft{background:var(--ad-soft)}.admission-section--sage{background:#ebf3ee}.admission-heading{text-align:center;margin-bottom:clamp(2rem,5vw,3rem)}.admission-heading>span,.admission-subheading>span{margin-bottom:.5rem;font-size:clamp(1.1rem,3vw,1.6rem)}.admission-heading h2,.admission-subheading h3{margin:0;font-family:"Noto Sans JP",sans-serif}.admission-heading h2{font-size:clamp(1.5rem,4vw,2.25rem)}.admission-heading p{margin-top:1rem;font-size:1rem;font-weight:600}.admission-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.admission-type-card{display:flex;flex-direction:column;gap:.75rem;height:100%;padding:2rem 1.75rem;border-radius:16px 0 16px 16px;background:#fff;box-shadow:0 2px 8px rgba(58,147,202,.08)}.admission-type-card small{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.admission-type-card b{align-self:flex-start;padding:.25rem .85rem;border-radius:999px;color:#fff;font-size:.8rem}.admission-type-card h3{margin:0;font-size:clamp(1.4rem,3vw,1.75rem)}.admission-type-card p{flex:1;color:var(--ad-muted);font-size:.95rem}.admission-type-card a{font-weight:700;text-decoration:none}.admission-type-card--blue small,.admission-type-card--blue a{color:var(--ad-primary)}.admission-type-card--blue b{background:var(--ad-primary)}.admission-type-card--teal small,.admission-type-card--teal a{color:var(--ad-accent)}.admission-type-card--teal b{background:var(--ad-accent)}.admission-type-card--pink small,.admission-type-card--pink a{color:var(--ad-red)}.admission-type-card--pink b{background:var(--ad-red)}.admission-table-wrap{overflow-x:auto;margin-bottom:1rem;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.06)}.admission-definition-table,.admission-blue-table{width:100%;min-width:680px;border-collapse:collapse;background:#fff;font-size:1rem}.admission-definition-table th{width:10rem;padding:1rem 1.25rem;background:var(--ad-primary-soft);color:var(--ad-primary);font-weight:700;text-align:left;vertical-align:top;border-bottom:1px solid var(--ad-line)}.admission-definition-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--ad-line);line-height:1.7}.admission-definition-table small,.admission-note{color:var(--ad-muted);font-size:.82rem}.admission-definition-table a,.admission-note a{color:var(--ad-primary);text-decoration:underline}.admission-blue-table thead{background:var(--ad-primary);color:#fff}.admission-blue-table th{padding:.85rem 1.25rem;text-align:left;white-space:nowrap}.admission-blue-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--ad-line)}.admission-subheading{text-align:center;margin:3.5rem 0 2rem}.admission-note{margin:.75rem 0 0;line-height:1.75}.admission-steps{display:flex;flex-direction:column;gap:.75rem;max-width:860px;margin:0 auto}.admission-steps article{display:flex;gap:1.5rem}.admission-steps i{display:flex;align-items:center;justify-content:center;flex:0 0 78px;width:78px;height:78px;border-radius:50%;background:var(--ad-primary);color:#fff;font:700 1.5rem Montserrat,sans-serif;font-style:normal;box-shadow:0 4px 12px rgba(58,147,202,.25)}.admission-steps article>div{flex:1;padding:1.5rem 1.75rem;border-radius:16px 0 16px 16px;background:#fff;box-shadow:0 2px 8px rgba(58,147,202,.08)}.admission-steps h3{margin:0 0 .6rem;font-size:1.2rem}.admission-steps p{margin:0}.admission-steps ul{margin:.75rem 0;padding:.75rem 1rem;border-radius:8px;background:rgba(244,240,232,.7);list-style:none}.admission-steps li{line-height:1.7}.admission-steps li:before{content:"・"}.admission-steps small{color:var(--ad-muted)}.admission-cta{text-align:center}.admission-cta h2{margin:0 0 1rem;font-size:clamp(1.3rem,3.5vw,1.75rem)}.admission-cta p{margin:0 0 2rem;color:var(--ad-muted)}.admission-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:.375rem;padding:.68rem 1.75rem;border:2px solid transparent;border-radius:999px;font-weight:700;text-decoration:none}.admission-button--accent{background:var(--ad-accent);color:#fff}.admission-button--primary{background:var(--ad-primary);color:#fff}.admission-button--outline{border-color:var(--ad-primary);color:var(--ad-primary)}@media(max-width:860px){.admission-type-grid{grid-template-columns:1fr;max-width:540px;margin:auto}}@media(max-width:640px){.admission-pc-br{display:none}.admission-steps article{gap:1rem}.admission-steps i{flex-basis:52px;width:52px;height:52px;font-size:1rem}.admission-steps article>div{padding:1.25rem}.admission-definition-table,.admission-blue-table{font-size:.875rem}.admission-definition-table th{width:6rem;padding:.85rem}.admission-definition-table td,.admission-blue-table td,.admission-blue-table th{padding:.85rem .9rem;white-space:normal}.admission-button{width:100%;margin:.35rem 0}}

/* Keep the admission content aligned with the redesign application's global tokens. */
.admission-redesign {
  --ad-font-sans: var(--font-sans, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Helvetica Neue", Arial, sans-serif);
  --ad-font-heading: var(--font-heading, "Zen Maru Gothic", var(--ad-font-sans));
  font-family: var(--ad-font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.admission-hero {
  background:
    var(--ad-soft);
}

.admission-hero:before {
  background:
    url("../img/top/hero_rightlower.webp") center / cover;
  transform: scale(1.15);
  filter: blur(48px) saturate(1.15);
  opacity: .5;
}

.admission-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -70deg,
    rgba(255, 255, 255, .33) 0,
    rgba(255, 255, 255, .33) 2px,
    transparent 2px,
    transparent 6px
  );
  pointer-events: none;
}

.admission-hero > .admission-container {
  z-index: 3;
}

.admission-hero__en,
.admission-hero h1,
.admission-hero p {
  display: table;
  background: #fff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: .06em .28em;
}

/* Fixed: Hero見出し内の英語ラベルはNext.js版で--font-en（Elms Sans）・
   letter-spacing・text-transform:uppercaseが適用されているため追加
   （理由: スクリーンショット比較でフォント・大文字化の違いが指摘されたため）。 */
.admission-hero__en {
  font-family: "Elms Sans", var(--ad-font-sans);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.1;
}

.admission-hero h1,
.admission-heading h2,
.admission-subheading h3,
.admission-steps h3,
.admission-cta h2 {
  font-family: var(--ad-font-heading);
  line-height: 1.4;
}

.admission-heading>span,
.admission-subheading>span {
  font-family: var(--ad-font-sans);
  font-weight: 600;
}

.admission-heading p {
  color: var(--ad-ink);
  line-height: 1.8;
}

.admission-type-card p,
.admission-steps p {
  line-height: 1.8;
}

.admission-table-wrap {
  border-radius: 0;
  box-shadow: none;
}

.admission-table-wrap > table {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
}

.admission-definition-table th {
  font-size: 1rem;
  white-space: nowrap;
}

.admission-blue-table td {
  line-height: 1.6;
}

@media (max-width: 640px) {
  .admission-table-wrap {
    width: 100vw;
    margin-left: calc(-1 * clamp(1.25rem, 4vw, 2.5rem));
    padding-inline: clamp(1.25rem, 4vw, 2.5rem);
    padding-bottom: 10px;
    box-sizing: border-box;
  }

  .admission-blue-table th,
  .admission-blue-table td {
    padding: .85rem 1.4rem;
    font-size: .875rem;
    white-space: nowrap;
  }

  .admission-definition-table th {
    padding: 1rem .9rem;
    font-size: .875rem;
    white-space: normal;
  }

  .admission-definition-table td {
    padding: 1rem .9rem;
    font-size: .875rem;
  }

  .admission-steps h3 {
    font-size: 1.1rem;
  }
}

/* Next.js page-module equivalents used by the WordPress template. */
.admission-redesign .pageHero {
  background:
    radial-gradient(120% 90% at 90% 0%, var(--ad-primary-soft) 0%, transparent 55%),
    var(--ad-soft);
  padding-block: clamp(2.5rem, 6vw, 4rem);
  border-bottom: 1px solid var(--ad-line);
}

.admission-redesign .section {
  padding-block: clamp(3.5rem, 8vw, 6rem);
}

.admission-redesign .container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

.admission-redesign .section-heading {
  text-align: center;
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.admission-redesign .section-heading__en {
  display: block;
  margin-bottom: .5rem;
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  letter-spacing: .08em;
  color: var(--ad-primary);
  font-weight: 600;
}

.admission-redesign .section-heading__title {
  font-family: var(--ad-font-heading);
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  line-height: 1.4;
}

.admission-redesign .section-heading__lead {
  margin-top: 1rem;
  color: var(--ad-ink);
  font-size: 1rem;
  font-weight: 600;
}

.admission-redesign .stepsGrid {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  max-width: 860px;
  margin-inline: auto;
}

.admission-redesign .step {
  display: flex;
  gap: 1.5rem;
}

.admission-redesign .stepNumWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  padding-top: 0;
  overflow: visible;
}

.admission-redesign .admission-steps article > .stepNumWrap {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.admission-redesign .stepNum {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: var(--ad-primary);
  color: #fff;
  font-family: var(--ad-font-sans);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(58, 147, 202, .25);
}

.admission-redesign .stepConnector {
  display: block;
  width: 0;
  flex: 1;
  min-height: 1.5rem;
  border-left: 2px dotted rgba(67, 128, 223, .4);
  margin-top: .75rem;
}

.admission-redesign .stepBody {
  flex: 1;
  min-width: 0;
  padding: 1.5rem 1.75rem;
  border-radius: 16px 0 16px 16px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(58, 147, 202, .08);
}

.admission-redesign .stepTitle {
  margin-bottom: .6rem;
  font-family: var(--ad-font-heading);
  font-size: 1.2rem;
}

.admission-redesign .stepDesc {
  color: var(--ad-ink);
  font-size: 1rem;
  line-height: 1.8;
}

.admission-redesign .stepInfoBox {
  margin-top: .75rem;
  padding: .75rem 1rem;
  border-radius: 8px;
  background: rgba(244, 240, 232, .7);
}

.admission-redesign .stepList {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admission-redesign .stepListItem {
  position: relative;
  padding-left: 1rem;
  color: var(--ad-ink);
  font-size: .95rem;
  line-height: 1.7;
}

.admission-redesign .stepListItem:before {
  content: "・";
  position: absolute;
  left: 0;
}

.admission-redesign .stepNote {
  margin-top: .75rem;
  color: var(--ad-muted);
  font-size: .875rem;
  line-height: 1.75;
}

.admission-redesign .ctaBlock {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}

.admission-redesign .ctaTitle {
  margin-bottom: 1rem;
  font-family: var(--ad-font-heading);
  font-size: clamp(1.3rem, 3.5vw, 1.75rem);
}

.admission-redesign .ctaText {
  margin-bottom: 2rem;
  color: var(--ad-muted);
  font-size: .95rem;
  line-height: 1.85;
}

@media (max-width: 640px) {
  .admission-redesign .step {
    gap: 1rem;
  }

  .admission-redesign .stepNum {
    width: 52px;
    height: 52px;
    font-size: 1rem;
  }

  .admission-redesign .stepBody {
    padding: 1.25rem;
  }

  .admission-redesign .stepTitle {
    font-size: 1.1rem;
  }
}
