.campus-redesign{background:var(--color-bg,#fbf9f5);color:var(--color-ink,#2e2e2e);font-family:var(--font-sans,"Noto Sans JP",sans-serif);line-height:1.8}.campus-redesign .container{width:100%;max-width:1200px;margin:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.campus-redesign .section{padding-block:clamp(3.5rem,8vw,6rem)}.campus-hero{position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,4rem);border-bottom:1px solid var(--color-line);background:var(--color-surface-soft)}.campus-hero:before{content:"";position:absolute;inset:0;background:url("../img/top/hero_rightlower.webp") center/cover;transform:scale(1.15);filter:blur(48px) saturate(1.15);opacity:.5}.campus-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)}.campus-hero>.container{position:relative;z-index:1}.campus-hero__en,.campus-hero__title,.campus-hero__lead{display:table;background:#fff;padding:.06em .28em}.campus-hero__en{color:var(--color-primary);font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:700;line-height:1.1}.campus-hero__title{font-family:var(--font-heading);font-size:clamp(1.05rem,2.5vw,1.4rem);line-height:1.4}.campus-hero__lead{margin-top:1rem;color:var(--color-ink-soft)}.campus-hero__crumbs{display:inline-flex;gap:.65rem;margin-top:1.5rem;padding:.35rem .95rem;border:1px solid var(--color-line);border-radius:999px;background:#fff;box-shadow:var(--shadow-sm);font-size:.82rem;color:var(--color-ink-soft)}.campus-hero__crumbs a{color:var(--color-primary)}.campus-list-section .container{display:flex;flex-direction:column;gap:clamp(3rem,7vw,5.5rem)}.campus-detail{--campus-accent:var(--color-accent);--campus-stripe:rgba(0,171,168,.28);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.75rem,4vw,3.5rem)}.campus-detail:nth-child(even){--campus-accent:var(--color-primary);--campus-stripe:rgba(80,79,161,.28)}.campus-detail[data-reverse=true] .campus-detail__media-wrap{order:2}.campus-detail__media-wrap{position:relative;isolation:isolate}.campus-detail__deco{position:absolute;z-index:-1;inset:0;transform:translate(1.1rem,1.1rem);border-radius:28px 0 28px 28px;background:#fff repeating-linear-gradient(-70deg,var(--campus-stripe) 0,var(--campus-stripe) 2px,transparent 2px,transparent 6px)}.campus-detail[data-reverse=true] .campus-detail__deco{transform:translate(-1.1rem,1.1rem)}.campus-detail__media{position:relative;aspect-ratio:4/3;width:100%;overflow:hidden;border-radius:28px 0 28px 28px;box-shadow:var(--shadow-md);background:var(--color-surface-soft)}.campus-detail__media img{width:100%;height:100%;object-fit:cover}.campus-detail__body{position:relative;min-width:0;padding-bottom:2.5rem}.campus-detail__en{display:block;margin-bottom:.35rem;color:var(--campus-accent);font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.campus-detail__name{margin:0 0 .9rem;font-family:var(--font-heading);font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.35}.campus-detail__desc{margin:0 0 1.5rem;color:var(--color-ink-soft);font-size:.92rem;line-height:1.9}.campus-info-list{margin:0 0 .75rem;border-top:1px dashed var(--color-line)}.campus-info-row{display:grid;grid-template-columns:12rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px dashed var(--color-line)}.campus-info-row dt{display:flex;align-items:center;gap:.5rem;color:var(--campus-accent);font-family:var(--font-heading);font-size:.86rem;font-weight:700}.campus-info-row dd{margin:0;color:var(--color-ink);font-size:.86rem;line-height:1.75}.campus-info-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--campus-accent);color:#fff;font-size:.65rem}.campus-info-row ul{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}.campus-info-row li{position:relative;padding-left:1rem}.campus-info-row li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--campus-accent)}.campus-map-link{position:absolute;right:0;bottom:0;padding:.34rem .95rem;min-height:0;font-size:.72rem;gap:.3rem}.campus-contact{text-align:center;max-width:560px;margin:auto}.campus-contact__lead{margin:0 0 .35rem;font-family:var(--font-heading);font-size:1.05rem;font-weight:700}.campus-contact__sub{margin:0;color:var(--color-ink-soft);font-size:.82rem}.campus-contact__tel{display:inline-block;margin:.25rem 0 .5rem;color:var(--color-primary);font-family:var(--font-num,var(--font-sans));font-size:clamp(2rem,6vw,2.75rem);font-weight:500;letter-spacing:.02em;line-height:1.2}.campus-contact__note{margin:0 0 1.75rem;color:var(--color-ink-soft);font-size:.78rem}.campus-contact__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}@media(max-width:860px){.campus-detail{grid-template-columns:1fr;gap:clamp(1.5rem,5vw,2.25rem)}.campus-detail[data-reverse=true] .campus-detail__media-wrap{order:0}.campus-detail__deco,.campus-detail[data-reverse=true] .campus-detail__deco{transform:translate(.75rem,.75rem)}.campus-detail__body{padding-bottom:0}.campus-map-link{position:static;margin-top:.75rem}.campus-info-row{grid-template-columns:1fr;gap:.5rem}}@media(max-width:640px){.campus-br-pc{display:none}.campus-contact__actions .btn{width:100%}}

/* Fixed: Hero見出し内の英語ラベルはNext.js版で--font-en（Elms Sans）・
   letter-spacing・text-transform:uppercaseが適用されているが本ファイルには
   無かったため追加（理由: スクリーンショット比較でフォント・大文字化の
   違いが指摘されたため。Elms Sansの@font-faceはamenimo-top-style(top.css)
   経由で全ページ読み込み済み）。 */
.campus-hero__en {
  font-family: "Elms Sans", var(--font-sans, "Noto Sans JP", sans-serif);
  letter-spacing: .08em;
  text-transform: uppercase;
}
