.eh-home {
  --eh-gold: #b59451;
  --eh-brown: #483618;
  --eh-orange: #f28a20;
  --eh-blue: #254190;
  --eh-beige: #f0eadb;
  --eh-ink: #464344;
  --eh-pc-unit: min(1px, .0694444444vw);
  margin: 0;
  color: var(--eh-ink);
  background: #fff;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
}
.eh-home *, .eh-home *::before, .eh-home *::after { box-sizing: border-box; }
.eh-home :where(h1,h2,h3,p,ul,figure) { margin: 0; }
.eh-home :where(ul) { padding: 0; list-style: none; }
.eh-home :where(a) { color: inherit; text-decoration: none; }
.eh-home :where(button,summary) { font: inherit; color: inherit; cursor: pointer; }
.eh-home :where(button) { border: 0; padding: 0; background: none; }
.eh-home :where(img) { display: block; max-width: 100%; height: auto; }
.eh-home :where(picture) { display: block; }
.eh-home :where(a,button,summary,[tabindex]):focus-visible { outline: 2px solid #254190; outline-offset: 5px; }
.eh-home [hidden] { display: none !important; }
.eh-home :where(h2,h3) { font-family: 'Shippori Mincho', serif; font-weight: 500; }
.eh-skip { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 8px 16px; background: #fff; transform: translateY(-150%); }
.eh-skip:focus { transform: none; }
.eh-container { margin-inline: auto; }
@media (min-width: 900px) { .eh-container { width: min(1200px, 83.333333%); } }
.eh-br-pc { display: none; }
@media (min-width: 900px) { .eh-br-pc { display: initial; } }
@media (min-width: 900px) { .eh-br-sp { display: none; } }
.eh-header-space { height: 90px; }
@media (min-width: 900px) { .eh-header-space { height: calc(130 * var(--eh-pc-unit)); } }
.eh-header { position: relative; z-index: 40; display: flex; align-items: center; justify-content: space-between; height: 90px; background: #fff; }
@media (min-width: 900px) { .eh-header { height: calc(130 * var(--eh-pc-unit)); justify-content: flex-end; } }
@media (min-width: 900px) { .eh-header.is-fixed { position: fixed; top: 0; right: 0; left: 0; height: calc(90 * var(--eh-pc-unit)); box-shadow: 0 2px 8px #0000000a; } }
.eh-header.is-leaving { pointer-events: none; }
.eh-header__logo { display: block; width: min(233.5px, calc(100% - 118px)); margin-left: 18.5px; }
@media (min-width: 900px) { .eh-header__logo { position: absolute; width: calc(180.5 * var(--eh-pc-unit)); margin: 0; left: calc(66 * var(--eh-pc-unit)); top: calc(44 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-header__logo { left: calc(23 * var(--eh-pc-unit)); top: calc(10 * var(--eh-pc-unit)); width: calc(329 * var(--eh-pc-unit)); } }
.eh-header__logo-initial { display: none !important; }
@media (min-width: 900px) { .eh-header__logo-initial { display: block !important; width: 100%; } }
.eh-header__logo-compact { display: none !important; }
@media (min-width: 900px) { .eh-header.is-fixed .eh-header__logo-compact { display: block !important; width: 100%; } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-header__logo-initial { display: none !important; } }
@media (min-width: 900px) { .eh-header__logo-sp { display: none !important; } }
.eh-home:not(.eh-enhanced) .eh-menu-toggle { display: none; }
.eh-menu-toggle { display: grid; justify-items: center; align-content: center; gap: 8px; align-self: flex-start; width: 90px; height: 110px; padding-top: 12px; color: #fff; background: var(--eh-gold) !important; font-family: 'Shippori Mincho', serif !important; font-size: 12px !important; font-weight: 700; flex-shrink: 0; position: relative; z-index: 2; }
@media (min-width: 900px) { .eh-menu-toggle { display: none; } }
@media (max-width: 899px) { .eh-menu-toggle { position: fixed; top: 0; right: 0; transition: height .3s ease; } }
@media (max-width: 899px) { .eh-header.is-scrolled .eh-menu-toggle { height: 90px; } }
.eh-menu-toggle__lines { width: 38px; display: grid; gap: 6px; }
.eh-menu-toggle__lines i { height: 1px; background: currentColor; transform-origin: center; transition: transform .3s ease, opacity .3s ease; }
.eh-menu-toggle[aria-expanded='true'] .eh-menu-toggle__lines i:first-child { transform: translateY(7px) rotate(45deg); }
.eh-menu-toggle[aria-expanded='true'] .eh-menu-toggle__lines i:nth-child(2) { opacity: 0; }
.eh-menu-toggle[aria-expanded='true'] .eh-menu-toggle__lines i:last-child { transform: translateY(-7px) rotate(-45deg); }
.eh-navigation { display: none; position: fixed; inset: 90px 0 0; clip-path: inset(0); overflow-y: auto; overscroll-behavior: contain; padding: 40px 35px 90px; background: #fff; }
@media (min-width: 900px) { .eh-navigation { display: block; position: static; clip-path: none; overflow: visible; padding: 0; background: transparent; width: calc(965 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-navigation { width: calc(977 * var(--eh-pc-unit)); } }
.eh-header.is-menu-open .eh-navigation { display: block; }
@media (max-width: 899px) { .eh-home:not(.eh-enhanced) .eh-header-space, .eh-home:not(.eh-enhanced) .eh-header { height: auto; } }
@media (max-width: 899px) { .eh-home:not(.eh-enhanced) .eh-header { display: block; padding-top: 12px; } }
@media (max-width: 899px) { .eh-home:not(.eh-enhanced) .eh-navigation { position: static; display: block; padding: 20px 30px; } }
@media (max-width: 899px) { .eh-header.is-menu-open { position: fixed; top: 0; right: 0; left: 0; } }
.eh-navigation__list { display: grid; gap: 0; font-size: 16px; line-height: 1.375; }
@media (min-width: 900px) { .eh-navigation__list { display: flex; align-items: center; justify-content: flex-end; font-size: max(13px,calc(18 * var(--eh-pc-unit))); white-space: nowrap; } }
.eh-navigation__list > li { border-bottom: 1px solid #e9e6e0; }
@media (min-width: 900px) { .eh-navigation__list > li { border-bottom: 0; position: relative; } }
@media (min-width: 900px) { .eh-navigation__list > li:nth-child(1) { width: calc(98 * var(--eh-pc-unit)); flex-shrink: 0; } }
@media (min-width: 900px) { .eh-navigation__list > li:nth-child(2) { width: calc(144 * var(--eh-pc-unit)); flex-shrink: 0; } }
@media (min-width: 900px) { .eh-navigation__list > li:nth-child(3) { width: calc(135 * var(--eh-pc-unit)); flex-shrink: 0; } }
@media (min-width: 900px) { .eh-navigation__list > li:nth-child(4) { width: calc(221 * var(--eh-pc-unit)); flex-shrink: 0; } }
@media (min-width: 900px) { .eh-navigation__list > li:nth-child(5) { width: calc(207 * var(--eh-pc-unit)); flex-shrink: 0; } }
@media (min-width: 900px) { .eh-navigation__list > li:nth-child(6) { width: calc(160 * var(--eh-pc-unit)); flex-shrink: 0; } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-navigation__list > li:nth-child(5) { width: calc(169 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-navigation__list > li:nth-child(6) { width: calc(210 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-navigation__list > .eh-navigation__course { position: static; } }
.eh-navigation__list > li > a, .eh-course-menu > summary { display: flex; align-items: center; gap: 15px; padding: 19px 5px; }
@media (max-width: 899px) { .eh-navigation__list > li > a { position: relative; padding-right: 32px; } }
@media (max-width: 899px) { .eh-navigation__list > li > a::before { content: ''; position: absolute; right: 10px; top: 50%; width: 16px; height: 1.5px; background: currentColor; transform: translateY(-50%); } }
@media (max-width: 899px) { .eh-navigation__list > li > a::after { content: ''; position: absolute; right: 10px; top: 50%; width: 10px; height: 10px; border-top: 1.5px solid; border-right: 1.5px solid; transform: translateY(-50%) rotate(45deg); } }
@media (max-width: 899px) { .eh-navigation__list > li:nth-last-child(-n + 2) { border: 0; } }
@media (min-width: 900px) { .eh-navigation__list > li > a, .eh-course-menu > summary { padding: 0 clamp(6px,calc(4.444444vw - 34px),30px); line-height: 1.4; } }
@media (min-width: 900px) { .eh-navigation__home { padding-left: calc(40 * var(--eh-pc-unit)) !important; } }
/* Full-height trigger overlaps the panel edge, so a pointer can cross without a dead gap. */
@media (min-width: 900px) { .eh-course-menu > summary { height: calc(130 * var(--eh-pc-unit)); padding-left: calc(36 * var(--eh-pc-unit)); gap: calc(20 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-course-menu > summary { height: calc(90 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-navigation__list > li + li:not(.eh-navigation__admission)::before { content: ''; position: absolute; left: 0; top: 50%; height: calc(24 * var(--eh-pc-unit)); border-left: 1px solid #d1d0d0; transform: translateY(-50%); } }
@media (min-width: 900px) { .eh-header .eh-navigation__list > .eh-navigation__course::before { left: calc(100% - 867 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-navigation__list > .eh-navigation__course::before { left: calc(100% - 879 * var(--eh-pc-unit)); } }
.eh-nav-icon { position: relative; display: block; }
.eh-nav-icon img { visibility: hidden; }
.eh-nav-icon::before { content: ''; position: absolute; inset: 0; background: currentColor; mask: var(--eh-nav-icon) center / contain no-repeat; }
.eh-nav-icon--home { --eh-nav-icon: url('assets/icon-home.webp'); }
.eh-nav-icon--admission { --eh-nav-icon: url('assets/icon-admission-white.webp'); }
@media (max-width: 899px) { .eh-nav-icon--home { display: none; } }
.eh-navigation__home img { display: none; width: 25px; }
@media (min-width: 900px) { .eh-navigation__home img { display: block; width: calc(24.5 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-navigation__home span { display: none; } }
.eh-course-menu > summary { list-style: none; justify-content: space-between; }
.eh-course-menu > summary::-webkit-details-marker { display: none; }
.eh-chevron { width: 14px; height: 14px; position: relative; }
.eh-chevron::before, .eh-chevron::after { content: ''; position: absolute; background: currentColor; }
.eh-chevron::before { width: 14px; height: 1.5px; top: 6px; left: 0; }
.eh-chevron::after { height: 14px; width: 1.5px; left: 6px; top: 0; }
.eh-home:not(.eh-enhanced) .eh-course-menu[open] .eh-chevron::after, .eh-course-menu > summary[aria-expanded='true'] .eh-chevron::after { opacity: 0; }
@media (min-width: 900px) { .eh-chevron { width: 10px; height: 10px; flex-shrink: 0; transform: rotate(0); } }
/* Center the visible V inside a stable box; rotating that box keeps both endpoints centered. */
@media (min-width: 900px) { .eh-chevron::before { width: 6px; height: 6px; top: 2px; left: 2px; background: none; border-right: 1px solid; border-bottom: 1px solid; transform: translateY(-1.75px) rotate(45deg); } }
@media (min-width: 900px) { .eh-chevron::after { display: none; } }
@media (min-width: 900px) { .eh-home:not(.eh-enhanced) .eh-course-menu[open] .eh-chevron, .eh-course-menu > summary[aria-expanded='true'] .eh-chevron { transform: rotate(180deg); } }
.eh-course-menu__panel { background: #eeeced; padding: 5px 20px; margin-bottom: 20px; border-radius: 10px; }
@media (min-width: 900px) { .eh-course-menu__panel { position: absolute; top: calc(100 * var(--eh-pc-unit)); left: calc(50% - 524 * var(--eh-pc-unit)); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(40 * var(--eh-pc-unit)); width: calc(1000 * var(--eh-pc-unit)); padding: calc(70 * var(--eh-pc-unit)) calc(85 * var(--eh-pc-unit)); margin: 0; border-radius: calc(14 * var(--eh-pc-unit)); background: rgba(56,53,54,.9); box-shadow: 0 8px 25px #0001; } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-course-menu__panel { top: calc(70 * var(--eh-pc-unit)); } }
.eh-navigation__admission a img { display: block; width: 25px; }
@media (max-width: 899px) { .eh-navigation__list > .eh-navigation__admission > a { margin-top: 22px; padding: 14px 18px; border-radius: 10px; background: var(--eh-gold); color: #fff; font-family: 'Shippori Mincho',serif; font-size: 18px; font-weight: 600; display: grid; grid-template-columns: 25px minmax(0,1fr) 25px; gap: 0; text-align: center; } }
@media (max-width: 899px) { .eh-navigation__list > .eh-navigation__admission > a::before { display: none; } }
@media (max-width: 899px) { .eh-navigation__list > .eh-navigation__admission > a::after { position: static; transform: rotate(45deg); width: 9px; height: 9px; border-width: 2px; } }
@media (min-width: 900px) { .eh-navigation__admission a img { width: calc(29 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-navigation__list > .eh-navigation__admission > a { width: calc(160 * var(--eh-pc-unit)); height: calc(160 * var(--eh-pc-unit)); padding: 0; margin-top: calc(30 * var(--eh-pc-unit)); flex-direction: column; justify-content: center; gap: calc(15 * var(--eh-pc-unit)); color: #fff; background: var(--eh-gold); } }
@media (min-width: 900px) { .eh-header.is-fixed .eh-navigation__list > .eh-navigation__admission > a { width: calc(210 * var(--eh-pc-unit)); height: calc(90 * var(--eh-pc-unit)); margin-top: 0; flex-direction: row; gap: calc(15 * var(--eh-pc-unit)); } }
.eh-hero { overflow: clip; padding-bottom: 55px; }
@media (min-width: 900px) { .eh-hero { padding-bottom: calc(90 * var(--eh-pc-unit)); } }
.eh-hero__visual { position: relative; touch-action: pan-y; }
@media (max-width: 899px) { .eh-hero__visual { max-width: 540px; margin-inline: auto; } }
@media (min-width: 900px) { .eh-hero__visual { display: grid; grid-template-areas: 'hero'; align-items: center; } }
.eh-hero__slides { position: relative; aspect-ratio: 355 / 400; margin-left: 20px; }
@media (min-width: 900px) { .eh-hero__slides { grid-area: hero; width: 76.388889%; margin-left: auto; aspect-ratio: 1100 / 640; } }
.eh-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 2s ease; }
.eh-hero__slide.is-active { opacity: 1; }
.eh-hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.eh-hero__copy { width: 248px; max-width: calc(100% - 40px); margin: 26px 0 0 21px !important; position: relative; z-index: 1; }
@media (min-width: 900px) { .eh-hero__copy { grid-area: hero; width: calc(433 * var(--eh-pc-unit)); margin: 0 0 0 9.791667% !important; align-self: center; transform: translateY(calc(6.5 * var(--eh-pc-unit))); } }
.eh-hero__copy img { width: 100%; }
.eh-hero__circle { position: absolute; width: 170px; right: -35px; top: calc(100% - 29px); transform-origin: 50% 50.665361%; z-index: 0; animation: eh-circle 30s linear infinite; pointer-events: none; }
@media (max-width: 359px) { .eh-hero__circle { top: calc(100% - 8px); } }
@media (min-width: 900px) { .eh-hero__circle { width: calc(284 * var(--eh-pc-unit)); top: auto; bottom: calc(-62 * var(--eh-pc-unit)); right: calc(28 * var(--eh-pc-unit)); transform-origin: 50.128275% 50%; } }
@keyframes eh-circle { to { transform: rotate(360deg); } }
.eh-brands { display: grid; }
.eh-brands--main { width: min(500px, calc(100% - 64px)); gap: 20px; margin-top: 81px; position: relative; z-index: 1; }
@media (min-width: 900px) { .eh-brands--main { width: min(1200px,83.333333%); grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(60 * var(--eh-pc-unit)); margin-top: calc(-80 * var(--eh-pc-unit)); } }
.eh-brand { --brand-color: var(--eh-gold); position: relative; display: flex; min-width: 0; background: #fff; }
.eh-brand--shogaku { --brand-color: var(--eh-orange); }
.eh-brand--meidaifu { --brand-color: var(--eh-blue); }
.eh-brand--main { border-radius: 6px; box-shadow: 0 2px 13px #0002; overflow: hidden; }
.eh-brand--main::after { content: ''; position: absolute; right: 0; bottom: 0; border-style: solid; border-width: 0 0 26px 26px; border-color: transparent transparent var(--brand-color) transparent; }
@media (min-width: 900px) { .eh-brand--main::after { border-width: 0 0 calc(30 * var(--eh-pc-unit)) calc(30 * var(--eh-pc-unit)); } }
.eh-brand__photo { flex-shrink: 0; position: relative; overflow: hidden; }
.eh-brand--main::before, .eh-brand--footer::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: var(--brand-color); opacity: 0; transition: opacity .25s; z-index: 2; }
.eh-brand__photo img, .eh-brand__photo picture { width: 100%; height: 100%; object-fit: cover; }
.eh-brand--main .eh-brand__photo { width: 40.7%; aspect-ratio: 127 / 159; }
@media (min-width: 900px) { .eh-brand--main .eh-brand__photo { width: 40.555556%; aspect-ratio: 146 / 184; } }
.eh-brand__copy { min-width: 0; display: grid; align-content: center; justify-items: center; flex: 1; padding: 12px 5px; }
.eh-brand__eyebrow { font-size: 14px; font-weight: 400; white-space: nowrap; line-height: 1.5; }
@media (min-width: 900px) { .eh-brand--main .eh-brand__eyebrow { font-size: max(11px,calc(15 * var(--eh-pc-unit))); } }
.eh-brand__name { display: block; color: var(--brand-color); font-family: 'Shippori Mincho',serif; font-size: 26px; font-weight: 600; line-height: 1.4; margin-top: 4px; }
.eh-brand__name img { width: auto; height: 25px; }
.eh-brand--main.eh-brand--meidaifu .eh-brand__name img { height: 26px; }
@media (min-width: 900px) { .eh-brand--main .eh-brand__name img { height: calc(27 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-brand--main.eh-brand--meidaifu .eh-brand__name img { height: calc(28 * var(--eh-pc-unit)); } }
.eh-brand__grades { display: flex; font-weight: 700; gap: 5px; margin-top: 20px; font-size: 11.5px; line-height: 1.5; }
@media (min-width: 900px) { .eh-brand--main .eh-brand__grades { gap: calc(7 * var(--eh-pc-unit)); margin-top: calc(25 * var(--eh-pc-unit)); font-size: max(10px,calc(13 * var(--eh-pc-unit))); } }
.eh-brand__grades span { min-width: 42px; padding: 2px 7px; text-align: center; border-radius: 20px; background: #5a4a2f; color: #fff; }
@media (min-width: 900px) { .eh-brand--main .eh-brand__grades span { min-width: calc(49 * var(--eh-pc-unit)); padding: 2px calc(9 * var(--eh-pc-unit)); } }
.eh-brand--shogaku .eh-brand__grades span { background: var(--eh-gold); }
.eh-brand--menu { background: transparent; border-bottom: 1px solid #cbc9ca; padding: 17px 0; }
.eh-brand--menu:last-child { border-bottom: 0; }
@media (max-width: 899px) { .eh-brand--menu::after { content: ''; position: absolute; right: 3px; top: 50%; transform: translateY(-50%) rotate(45deg); width: 7px; height: 7px; border-top: 1.5px solid; border-right: 1.5px solid; } }
@media (min-width: 900px) { .eh-brand--menu { display: block; padding: 0; border: 0; color: #fff; } }
.eh-brand--menu .eh-brand__photo { display: none; }
@media (min-width: 900px) { .eh-brand--menu .eh-brand__photo { display: block; width: 100%; border-radius: 9px; aspect-ratio: 250 / 160; } }
.eh-brand--menu .eh-brand__eyebrow { display: block; font-size: clamp(10px,3.2vw,12px); font-weight: 400; }
@media (min-width: 900px) { .eh-brand--menu .eh-brand__eyebrow { font-size: max(12px,calc(16 * var(--eh-pc-unit))); } }
.eh-brand--menu .eh-brand__copy { display: grid; grid-template-columns: 44% minmax(0,1fr); gap: 10px; align-items: center; padding: 0 16px 0 0; justify-items: start; }
@media (min-width: 900px) { .eh-brand--menu .eh-brand__copy { grid-template-columns: 1fr; gap: 0; padding: 15px 0 0; } }
.eh-brand--menu .eh-brand__name { margin: 0; font-family: 'Shippori Mincho',serif; color: var(--eh-ink); font-size: clamp(15px,4.8vw,18px); font-weight: 600; }
@media (min-width: 900px) { .eh-brand--menu .eh-brand__name { color: #fff; font-size: max(20px,calc(28 * var(--eh-pc-unit))); line-height: 1.2; } }
.eh-brand--menu .eh-brand__grades { display: none; }
@media (min-width: 900px) { .eh-brand--menu .eh-brand__grades { display: flex; margin-top: 15px; gap: calc(6.333333 * var(--eh-pc-unit)); font-size: max(10px,calc(13 * var(--eh-pc-unit))); } }
@media (min-width: 900px) { .eh-brand--menu .eh-brand__grades span { min-width: calc(50 * var(--eh-pc-unit)); padding: calc(3 * var(--eh-pc-unit)) calc(7 * var(--eh-pc-unit)); line-height: 1.384615; background: #fff; color: var(--eh-brown); } }
@media (min-width: 900px) { .eh-brand--menu.eh-brand--shogaku .eh-brand__grades span { background: var(--eh-gold); color: #fff; } }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-brand--main:hover::before, .eh-brand--footer:hover::before { opacity: .2; } }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-brand--main.eh-brand--ikkan:hover::before { opacity: .25; } }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-navigation__list > li > a:hover, .eh-course-menu > summary:hover { color: var(--eh-gold); } }
@media (hover: hover) and (pointer: fine) { .eh-navigation__list > .eh-navigation__admission > a:hover { color: rgba(255,255,255,.7); } }
.eh-notice { width: calc(100% - 30px); margin-left: 30px; margin-right: 0; background: #f1f0f0; }
@media (min-width: 900px) { .eh-notice { --notice-left: max(8.333333%,calc((100% - 1200px)/2)); width: calc(100% - var(--notice-left)); margin-left: var(--notice-left); } }
.eh-notice > a { display: grid; grid-template-columns: minmax(0,1fr) 16px; column-gap: 14px; row-gap: 12px; padding: 25px 30px 30px; align-items: end; }
@media (min-width: 900px) { .eh-notice > a { display: flex; align-items: center; gap: calc(40 * var(--eh-pc-unit)); padding: calc(20 * var(--eh-pc-unit)) calc(29 * var(--eh-pc-unit)) calc(20 * var(--eh-pc-unit)) calc(35 * var(--eh-pc-unit)); } }
.eh-notice__label { display: flex; align-items: center; gap: 10px; color: #b7212a; font-size: 18px; font-weight: 700; grid-column: 1 / -1; padding-bottom: 12px; border-bottom: 1px solid #d8d3d5; }
@media (min-width: 900px) { .eh-notice__label { flex-shrink: 0; font-size: max(16px,calc(20 * var(--eh-pc-unit))); padding: 0 calc(35 * var(--eh-pc-unit)) 0 0; border-bottom: 0; border-right: 1px solid #d8d3d5; min-height: calc(60 * var(--eh-pc-unit)); } }
.eh-notice__label img { width: 32px; }
@media (min-width: 900px) { .eh-notice__label img { width: calc(32 * var(--eh-pc-unit)); } }
.eh-notice__entry { font-size: 17px; line-height: 1.5; min-width: 0; }
@media (min-width: 900px) { .eh-notice__entry { display: flex; flex: 1; gap: calc(25 * var(--eh-pc-unit)); font-size: max(14px,calc(18 * var(--eh-pc-unit))); } }
.eh-notice__entry time { display: block; flex-shrink: 0; font-weight: 700; }
.eh-notice__entry > span { display: -webkit-box; min-width: 0; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
@media (min-width: 900px) { .eh-notice__entry > span { display: block; white-space: nowrap; text-overflow: ellipsis; } }
.eh-notice__arrow { position: relative; display: block; width: 16px; height: 18px; margin-bottom: 3px; color: #b7212a; font-size: 0; line-height: 1; }
.eh-notice__arrow::before { content: ''; position: absolute; width: 16px; height: 1.5px; background: currentColor; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.eh-notice__arrow::after { content: ''; position: absolute; width: 10px; height: 10px; border-right: 1.5px solid; border-top: 1.5px solid; left: 50%; top: 50%; transform: translate(-20%,-50%) rotate(45deg); }
@media (min-width: 900px) { .eh-notice__arrow { display: grid; place-items: center; flex-shrink: 0; margin-left: auto; margin-bottom: 0; width: calc(54 * var(--eh-pc-unit)); height: calc(54 * var(--eh-pc-unit)); border: 1px solid; border-radius: 50%; } }

.eh-courses { position: relative; margin-top: 64px; padding: 60px 0 70px; background: var(--eh-beige); }
@media (min-width: 900px) { .eh-courses { margin-top: 0; padding: calc(105 * var(--eh-pc-unit)) 0 calc(95 * var(--eh-pc-unit)); background: linear-gradient(#fff 0 calc(420 * var(--eh-pc-unit)),var(--eh-beige) calc(420 * var(--eh-pc-unit))); overflow: clip; } }
.eh-courses__script { position: absolute; top: -31px; left: -3px; width: 186.5px; pointer-events: none; }
@media (min-width: 900px) { .eh-courses__script { top: calc(128 * var(--eh-pc-unit)); width: calc(438.5 * var(--eh-pc-unit)); } }
.eh-courses__heading { position: relative; text-align: center; }
.eh-courses__heading h2 { font-size: 30px; font-weight: 400; line-height: 1.5; }
@media (min-width: 900px) { .eh-courses__heading h2 { font-size: calc(46 * var(--eh-pc-unit)); } }
.eh-courses__eyebrow { display: flex; justify-content: center; align-items: center; gap: 13px; margin-bottom: 1px !important; font-size: 14px; }
@media (min-width: 900px) { .eh-courses__eyebrow { font-size: max(14px,calc(17 * var(--eh-pc-unit))); margin-bottom: calc(2 * var(--eh-pc-unit)) !important; } }
.eh-courses__eyebrow::before, .eh-courses__eyebrow::after { content: ''; width: 1px; height: 16px; background: currentColor; transform: rotate(-25deg); }
.eh-courses__eyebrow::after { transform: rotate(25deg); }
.eh-home:not(.eh-enhanced) .eh-course-tabs, .eh-home:not(.eh-enhanced) .eh-course-arrow { display: none; }
.eh-course-tabs { display: flex; justify-content: center; gap: 5px; margin: 25px 15px 0; position: relative; }
@media (max-width: 899px) { .eh-course-tabs { width: min(335px,calc(100% - 40px)); margin-inline: auto; gap: 4px; } }
@media (min-width: 900px) { .eh-course-tabs { margin-top: calc(22 * var(--eh-pc-unit)); gap: calc(10 * var(--eh-pc-unit)); } }
.eh-course-tabs button { border-radius: 22px; padding: 8px clamp(5px,2.4vw,9px); color: #fff; background: #c8c3ba; font-size: clamp(11px,3.466667vw,13px); line-height: 1.4; font-weight: 700; white-space: nowrap; }
@media (max-width: 899px) { .eh-course-tabs button { flex: 1; min-width: 0; padding: 7px 4px; } }
@media (max-width: 899px) { .eh-course-tabs button:first-child { flex: 0 0 20%; } }
@media (min-width: 900px) { .eh-course-tabs button { min-width: calc(120 * var(--eh-pc-unit)); padding: calc(8 * var(--eh-pc-unit)) calc(20 * var(--eh-pc-unit)); font-size: max(13px,calc(16 * var(--eh-pc-unit))); line-height: 1.5; } }
.eh-course-tabs button { --tab-color: var(--eh-brown); }
.eh-course-tabs button[data-course-filter='shogaku'] { --tab-color: var(--eh-orange); }
.eh-course-tabs button[data-course-filter='meidaifu'] { --tab-color: var(--eh-blue); }
.eh-course-tabs button[data-course-filter='ikkan'] { --tab-color: var(--eh-gold); }
.eh-course-tabs button[aria-selected='true'] { background: var(--tab-color); }
.eh-course-carousel { margin-top: 45px; position: relative; }
@media (min-width: 900px) { .eh-course-carousel { margin-top: calc(60 * var(--eh-pc-unit)); } }
.eh-course-viewport { margin-inline: 30px; }
@media (min-width: 900px) { .eh-course-viewport { position: relative; width: min(1200px,83.333333%); margin-inline: auto; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; } }
@media (min-width: 900px) { .eh-course-viewport.swiper-initialized { overflow: visible; } }
/* Keep tablet list images proportional to their accompanying text. */
@media (min-width: 600px) and (max-width: 899px) { .eh-course-viewport { width: min(700px,calc(100% - 60px)); margin-inline: auto; } }
.eh-course-viewport::-webkit-scrollbar { display: none; }
.eh-course-list { display: grid; gap: 40px; }
@media (min-width: 900px) { .eh-course-list { display: flex; gap: calc(26 * var(--eh-pc-unit)); width: max-content; } }
/* Swiper owns spacing and translation only while the desktop instance exists. */
@media (min-width: 900px) { .eh-course-list.swiper-wrapper { width: 100%; gap: 0; } }
.eh-course-card { --course-color: var(--eh-gold); min-width: 0; height: auto; }
.eh-course-card--shogaku { --course-color: var(--eh-orange); }
.eh-course-card--meidaifu { --course-color: var(--eh-blue); }
@media (min-width: 900px) { .eh-course-card { flex: 0 0 calc(280 * var(--eh-pc-unit)); width: calc(280 * var(--eh-pc-unit)); } }
@media (max-width: 899px) { .eh-course-card.is-beyond-sp { display: none; } }
.eh-course-card > a { display: grid; align-items: start; }
@media (max-width: 899px) { .eh-course-card > a { --eh-course-gap: clamp(14px,calc(4.444444vw - 2.666667px),24px); grid-template-columns: min(200px,calc((100% - var(--eh-course-gap)) * .4784053156)) minmax(0,1fr); gap: var(--eh-course-gap); } }
@media (min-width: 900px) { .eh-course-card > a { display: block; } }
.eh-course-card__image { display: block; overflow: hidden; background: #fff; }
.eh-course-card__image img { width: 100%; height: auto; }
.eh-course-card__fallback { display: grid; align-items: center; min-height: 0; min-width: 0; width: 100%; aspect-ratio: 144 / 98; padding: 12px; color: #fff; background: var(--course-color); font-size: clamp(10px,3.733333vw,14px); line-height: 1.4; }
@media (min-width: 900px) { .eh-course-card__fallback { aspect-ratio: 280 / 192; } }
/* The full title remains beside/below this decorative image replacement. */
.eh-course-card__fallback > span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; overflow-wrap: anywhere; }
.eh-course-card__brand { display: inline-block; font-size: 11px; font-weight: 700; line-height: 1.5; padding: 3px 8px; background: var(--course-color); color: #fff; border-radius: 16px; }
@media (min-width: 900px) { .eh-course-card__brand { font-size: max(11px,calc(14 * var(--eh-pc-unit))); padding: 1px calc(15 * var(--eh-pc-unit)); line-height: 1.571429; margin-top: calc(16 * var(--eh-pc-unit)); } }
.eh-course-card__title { display: block; margin-top: 7px; font-size: 18px; line-height: 1.222222; overflow-wrap: anywhere; }
@media (min-width: 900px) { .eh-course-card__title { margin-top: calc(8 * var(--eh-pc-unit)); font-size: max(16px,calc(22 * var(--eh-pc-unit))); line-height: 1.363636; } }
.eh-course-arrow { display: none; }
@media (min-width: 900px) { .eh-course-arrow { display: grid; place-items: center; position: absolute; top: calc((var(--eh-course-image-height,calc(192 * var(--eh-pc-unit))) - 56 * var(--eh-pc-unit)) / 2); z-index: 2; width: calc(56 * var(--eh-pc-unit)); height: calc(56 * var(--eh-pc-unit)); border-radius: 50%; background: #b59451b3; color: #fff; font-size: calc(34 * var(--eh-pc-unit)); line-height: 1; } }
@media (min-width: 900px) { .eh-course-arrow--prev { left: max(calc(8.333333% - 40px),calc((100% - 1200px)/2 - 40px)); } }
@media (min-width: 900px) { .eh-course-arrow--next { right: max(calc(8.333333% - 40px),calc((100% - 1200px)/2 - 40px)); } }
.eh-course-arrow:disabled { cursor: default; opacity: .35; }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-course-arrow:not(:disabled):hover { background: var(--eh-gold); } }
.eh-course-arrow span { width: 10px; height: 10px; border-top: 1.5px solid; border-right: 1.5px solid; transform: translateX(-3px) rotate(45deg); font-size: 0; }
.eh-course-arrow--prev span { transform: translateX(3px) rotate(225deg); }
.eh-about { position: relative; background: #fff; overflow: clip; }
.eh-about::before { content: ''; position: absolute; top: calc(101.6vw + 80px); bottom: 100px; left: 21.333333%; right: 0; background: var(--eh-beige); }
@media (min-width: 900px) { .eh-about::before { top: calc(678 * var(--eh-pc-unit)); bottom: 0; left: 26.111111%; } }
.eh-about__intro { position: relative; padding: max(106px,calc(80vw - 150px)) 30px 60px; background: #fff; }
@media (min-width: 900px) { .eh-about__intro { padding: calc(146 * var(--eh-pc-unit)) 0 calc(102 * var(--eh-pc-unit)); } }
.eh-about__photo { position: absolute; top: 0; left: 0; right: 0; pointer-events: none; }
@media (min-width: 900px) { .eh-about__photo { left: auto; width: min(100%,1440px); } }
.eh-about__photo img { width: 100%; }
@media (min-width: 600px) and (max-width: 899px) { .eh-about__photo { width: min(100%,640px); left: auto; } }
@media (min-width: 600px) and (max-width: 899px) { .eh-about__intro { padding-top: max(106px,calc(min(80vw,512px) - 150px)); } }
@media (min-width: 600px) and (max-width: 899px) { .eh-about::before { top: calc(min(101.6vw,650.24px) + 80px); } }
.eh-about__intro .eh-container { position: relative; }
.eh-about__label { display: table; border-top: 1px solid; border-bottom: 1px solid; font-size: 13px; line-height: 1.5; padding-inline: 3px; }
@media (min-width: 900px) { .eh-about__label { padding: calc(3 * var(--eh-pc-unit)) calc(8 * var(--eh-pc-unit)); font-size: max(12px,calc(15 * var(--eh-pc-unit))); line-height: 1.533333; } }
.eh-about__intro h2 { font-size: 28px; line-height: 1.43; margin-top: 28px; }
@media (min-width: 900px) { .eh-about__intro h2 { font-size: calc(54 * var(--eh-pc-unit)); line-height: 1.481481; font-weight: 400; margin-top: calc(39 * var(--eh-pc-unit)); } }
.eh-about__english { position: absolute; top: calc(80vw - 45px); right: -12px; display: flex; flex-direction: column; writing-mode: vertical-rl; color: var(--eh-gold); font-family: 'EB Garamond',serif; font-size: 49px; font-weight: 400; line-height: .85; pointer-events: none; }
@media (min-width: 900px) { .eh-about__english { top: calc(375 * var(--eh-pc-unit)); right: calc(-28 * var(--eh-pc-unit)); font-size: calc(105 * var(--eh-pc-unit)); } }
@media (min-width: 600px) and (max-width: 899px) { .eh-about__english { top: calc(min(80vw,512px) - 45px); } }
.eh-about__english span + span { padding-top: 14px; }
@media (min-width: 900px) { .eh-about__english span + span { padding-top: calc(32 * var(--eh-pc-unit)); } }
.eh-values { position: relative; display: grid; gap: 0; padding-bottom: 73px; }
.eh-value + .eh-value { margin-top: 62px; }
.eh-value:nth-child(2) { margin-top: 18px; }
@media (min-width: 900px) { .eh-value + .eh-value { margin-top: 0; } }
@media (min-width: 900px) { .eh-values { gap: calc(130 * var(--eh-pc-unit)); padding-bottom: calc(120 * var(--eh-pc-unit)); } }
.eh-value { min-width: 0; }
@media (min-width: 900px) { .eh-value { display: grid; grid-template-columns: 42.666667% minmax(0,1fr); gap: calc(50 * var(--eh-pc-unit)); align-items: start; } }
.eh-value__visual { position: relative; width: 74.666667%; max-width: 512px; }
@media (min-width: 900px) { .eh-value__visual { width: auto; } }
.eh-value__visual > img { width: 100%; }
.eh-value__number { position: absolute; top: -35px; left: 16px; font-family: 'Shippori Mincho',serif; font-size: 48px; line-height: 1.2; font-weight: 400; }
@media (min-width: 900px) { .eh-value__number { left: auto; right: calc(23 * var(--eh-pc-unit)); top: calc(-60 * var(--eh-pc-unit)); font-size: calc(88 * var(--eh-pc-unit)); } }
.eh-value__text { margin: 22px 30px 0; }
@media (max-width: 899px) { .eh-value__text { max-width: 600px; } }
@media (min-width: 900px) { .eh-value__text { margin: calc(-8 * var(--eh-pc-unit)) 0 0; } }
.eh-value__text h3 { font-size: 21px; line-height: 1.43; }
@media (max-width: 899px) { .eh-value:first-child .eh-value__text h3 { text-wrap: balance; } }
@media (max-width: 899px) { .eh-value__heading-phrase { display: inline-block; } }
@media (max-width: 359px) { .eh-value__text h3 { font-size: 20px; } }
@media (min-width: 900px) { .eh-value__text h3 { font-size: max(24px,calc(34 * var(--eh-pc-unit))); line-height: 1.47; } }
.eh-value__heading-break { display: block; }
@media (min-width: 900px) { .eh-value__heading-break { display: inline-block; } }
.eh-value__text p { font-size: 14px; line-height: 2; margin-top: 16px; }
@media (min-width: 900px) { .eh-value__text p { font-size: max(14px,calc(18 * var(--eh-pc-unit))); line-height: 2.1; margin-top: calc(22 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-value:nth-child(n + 2) .eh-value__text p { font-size: max(14px,calc(17 * var(--eh-pc-unit))); line-height: 2; } }
.eh-value__script { position: relative; pointer-events: none; }
.eh-value__script--confidence { width: 193px; margin: 0 -8px 0 auto; }
@media (min-width: 900px) { .eh-value__script--confidence { width: calc(341 * var(--eh-pc-unit)); max-width: none; margin: calc(12 * var(--eh-pc-unit)) 0 calc(-12 * var(--eh-pc-unit)) calc(-78 * var(--eh-pc-unit)); } }
.eh-value__script--thinking { width: 330px; max-width: calc(100% + 15px) !important; margin: 7px 0 0 -8px; }
@media (min-width: 900px) { .eh-value__script--thinking { width: calc(579.5 * var(--eh-pc-unit)); max-width: none !important; margin: calc(26 * var(--eh-pc-unit)) 0 calc(-18 * var(--eh-pc-unit)) calc(-107.5 * var(--eh-pc-unit)); } }
.eh-value__script--performance { width: 221px; margin-top: 5px; }
@media (min-width: 900px) { .eh-value__script--performance { width: calc(363.5 * var(--eh-pc-unit)); max-width: none; margin: calc(21 * var(--eh-pc-unit)) 0 calc(-18 * var(--eh-pc-unit)) calc(-85 * var(--eh-pc-unit)); } }
.eh-location { position: relative; display: grid; overflow: clip; }
@media (min-width: 600px) and (max-width: 899px) { .eh-location { max-width: 640px; margin-inline: auto; } }
@media (min-width: 900px) { .eh-location { grid-template-columns: 1fr 1fr; padding-top: calc(204 * var(--eh-pc-unit)); } }
.eh-location__script { position: absolute; top: 37.333333vw; right: -4px; width: 218.5px; z-index: 2; pointer-events: none; }
@media (min-width: 900px) { .eh-location__script { top: calc(75 * var(--eh-pc-unit)); left: calc(20 * var(--eh-pc-unit)); right: auto; width: calc(391 * var(--eh-pc-unit)); } }
@media (min-width: 600px) and (max-width: 899px) { .eh-location__script { top: min(37.333333vw,238.933333px); } }
.eh-location__city { grid-row: 1; grid-column: 1; align-self: start; position: relative; isolation: isolate; }
.eh-location__city::after { content: ''; position: absolute; inset: 0; background: #464344; opacity: .75; mix-blend-mode: multiply; pointer-events: none; }
/* The city follows the address flow; the map spans both rows. */
@media (min-width: 900px) { .eh-location__city { grid-row: 2; grid-column: 1 / -1; align-self: start; margin: 0; } }
.eh-location__city img { width: 100%; }
.eh-location__inner { grid-row: 1; grid-column: 1; position: relative; display: flex; flex-direction: column; padding-top: 58.666667vw; width: auto; margin: 0; }
@media (min-width: 900px) { .eh-location__inner { display: contents; } }
@media (min-width: 600px) and (max-width: 899px) { .eh-location__inner { padding-top: min(58.666667vw,375.466667px); } }
.eh-location__map { display: block; margin-left: 30px; background: #fff; }
@media (min-width: 900px) { .eh-location__map { position: relative; z-index: 1; grid-column: 2; grid-row: 1 / 3; justify-self: start; align-self: start; width: min(600px,41.666667vw); margin: 0; } }
.eh-location__map iframe { display: block; width: 100%; height: auto; aspect-ratio: 690 / 550; border: 0; filter: grayscale(1); }
@media (min-width: 900px) { .eh-location__map iframe { aspect-ratio: 600 / 440; } }
.eh-location__address { font-style: normal; display: grid; gap: 20px; padding: 26px 30px 52px; }
@media (min-width: 900px) { .eh-location__address { grid-column: 1; grid-row: 1; justify-self: end; align-content: start; width: min(600px,41.666667vw); gap: calc(13 * var(--eh-pc-unit)); margin-top: calc(-4 * var(--eh-pc-unit)); padding: 0 calc(30 * var(--eh-pc-unit)) calc(36.5 * var(--eh-pc-unit)) calc(8 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-location__row:nth-child(3) { margin-top: calc(11 * var(--eh-pc-unit)); } }
.eh-location__row { display: grid; grid-template-columns: 26px minmax(0,1fr); align-items: start; column-gap: 12px; font-size: 15px; line-height: 1.466667; }
@media (min-width: 900px) { .eh-location__row { grid-template-columns: calc(32 * var(--eh-pc-unit)) minmax(0,1fr); column-gap: calc(20 * var(--eh-pc-unit)); font-size: max(14px,calc(18 * var(--eh-pc-unit))); line-height: 1.65; } }
.eh-location__row > img { max-width: 26px; max-height: 28px; margin-inline: auto; }
@media (max-width: 899px) { .eh-location__row:nth-child(1) > img { width: 20px; } }
@media (max-width: 899px) { .eh-location__row:nth-child(2) > img { width: 25.6px; } }
@media (max-width: 899px) { .eh-location__row:nth-child(3) > img { width: 23.2px; } }
@media (max-width: 899px) { .eh-location__row:nth-child(4) > img { width: 20.8px; } }
@media (min-width: 900px) { .eh-location__row > img { width: auto; max-width: calc(32 * var(--eh-pc-unit)); max-height: calc(33 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-location__row:nth-child(3) > img { width: calc(29 * var(--eh-pc-unit)); } }
@media (min-width: 900px) { .eh-location__row:nth-child(4) > img { width: calc(26 * var(--eh-pc-unit)); } }
.eh-location__row--station { font-family: 'Shippori Mincho',serif; font-size: 18px; font-weight: 600; line-height: 1.333334; }
@media (max-width: 359px) { .eh-location__row--station { font-size: 17px; } }
@media (min-width: 900px) { .eh-location__row--station { font-size: max(18px,calc(25 * var(--eh-pc-unit))); } }
@media (min-width: 900px) and (max-width: 1199px) { .eh-location__row--station .eh-br-sp { display: initial; } }
@media (min-width: 900px) { .eh-location__phone { display: grid; grid-template-columns: calc(40 * var(--eh-pc-unit)) minmax(0,1fr); gap: calc(10 * var(--eh-pc-unit)); } }
.eh-location__phone a[href^='tel:'] { white-space: nowrap; }
.eh-contact { position: relative; overflow: clip; padding: 60px 30px 60px; background: var(--eh-gold); }
@media (min-width: 900px) { .eh-contact { background: var(--eh-gold) url('assets/contact-bg.webp') center / cover no-repeat; padding: calc(80 * var(--eh-pc-unit)) 0 calc(72 * var(--eh-pc-unit)); } }
.eh-contact__cards { display: grid; gap: 20px; position: relative; z-index: 1; }
@media (max-width: 899px) { .eh-contact__cards { max-width: 500px; margin-inline: auto; } }
@media (min-width: 900px) { .eh-contact__cards { grid-template-columns: repeat(2,minmax(0,1fr)); width: min(760px,52.777778%); margin-inline: auto; gap: calc(40 * var(--eh-pc-unit)); } }
.eh-contact-card { --contact-color: var(--eh-gold); display: grid; justify-items: center; background: #fff; padding: 27px 25px; text-align: center; }
@media (min-width: 900px) { .eh-contact-card { grid-template-rows: auto 1fr auto; padding: calc(45 * var(--eh-pc-unit)) calc(40 * var(--eh-pc-unit)) calc(44 * var(--eh-pc-unit)); } }
.eh-contact-card--inquiry { --contact-color: var(--eh-orange); }
.eh-contact-card h2 { display: flex; align-items: center; justify-content: center; gap: 9px; font-size: 23px; font-weight: 600; line-height: 1.5; }
@media (min-width: 900px) { .eh-contact-card h2 { flex-direction: column; gap: calc(8 * var(--eh-pc-unit)); font-size: max(22px,calc(30 * var(--eh-pc-unit))); } }
.eh-contact-card h2 img { height: 30px; width: auto; }
@media (min-width: 900px) { .eh-contact-card h2 img { height: calc(42 * var(--eh-pc-unit)); } }
.eh-contact-card p { font-size: 14px; line-height: 1.571429; margin-top: 14px; text-wrap: balance; }
.eh-contact-card p > span { display: block; }
@media (min-width: 900px) { .eh-contact-card p { font-size: max(14px,calc(16 * var(--eh-pc-unit))); line-height: 1.75; margin-top: calc(9 * var(--eh-pc-unit)); } }
.eh-contact-card__button { display: block; position: relative; width: min(210px,100%); border-radius: 30px; padding: 10px 35px; margin-top: 18px; background: var(--contact-color); color: #fff; font-size: 16px; line-height: 1.6; }
@media (min-width: 900px) { .eh-contact-card__button { width: calc(240 * var(--eh-pc-unit)); padding: calc(14 * var(--eh-pc-unit)) calc(35 * var(--eh-pc-unit)); margin-top: calc(23 * var(--eh-pc-unit)); font-size: max(16px,calc(18 * var(--eh-pc-unit))); line-height: 1.555556; } }
.eh-contact-card__button span { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; font-size: 0; }
.eh-contact-card__button span::before { content: ''; position: absolute; width: 16px; height: 1.5px; background: currentColor; left: 0; top: 50%; transform: translateY(-50%); }
.eh-contact-card__button span::after { content: ''; position: absolute; right: 2px; top: 50%; width: 9px; height: 9px; border-top: 1.5px solid; border-right: 1.5px solid; transform: translateY(-50%) rotate(45deg); }
@media (hover: hover) and (pointer: fine) { .eh-contact-card:hover .eh-contact-card__button { background: #fff; color: var(--contact-color); box-shadow: inset 0 0 0 1px var(--contact-color); } }
.eh-contact__script { position: absolute; right: 19px; bottom: 14px; width: 206px; pointer-events: none; z-index: 2; }
@media (min-width: 900px) { .eh-contact__script { width: calc(371 * var(--eh-pc-unit)); right: calc(-1 * var(--eh-pc-unit)); bottom: calc(39 * var(--eh-pc-unit)); } }
.eh-footer { padding: 53.445px 30px 11px; }
@media (min-width: 900px) { .eh-footer { padding: calc(70 * var(--eh-pc-unit)) 0 calc(64 * var(--eh-pc-unit)); } }
.eh-footer__logo { display: block; width: min(311.21px,100%); margin-inline: auto; }
@media (min-width: 900px) { .eh-footer__logo { width: calc(465 * var(--eh-pc-unit)); transform: translateX(calc(-22.5 * var(--eh-pc-unit))); } }
.eh-footer__logo img { width: 100%; }
.eh-footer__brands { width: min(312px,100%); margin: 34px auto 0; }
@media (min-width: 900px) { .eh-footer__brands { width: min(1032px,71.666667%); margin: calc(40 * var(--eh-pc-unit)) auto 0; } }
.eh-footer__brands > p { font-size: 13px; margin-bottom: 12px; }
@media (min-width: 900px) { .eh-footer__brands > p { font-size: max(12px,calc(15 * var(--eh-pc-unit))); margin-bottom: calc(16 * var(--eh-pc-unit)); } }
.eh-brands--footer { gap: 16px; }
@media (min-width: 900px) { .eh-brands--footer { grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(24 * var(--eh-pc-unit)); } }
.eh-brand--footer { box-shadow: inset 0 0 0 1px #dad9da; border-radius: 6px; overflow: hidden; }
.eh-brand--footer .eh-brand__photo { width: 84px; aspect-ratio: 1; }
@media (min-width: 900px) { .eh-brand--footer .eh-brand__photo { width: calc(88 * var(--eh-pc-unit)); } }
.eh-brand--footer .eh-brand__copy { justify-items: start; padding-left: 20px; }
@media (min-width: 900px) { .eh-brand--footer .eh-brand__copy { padding-left: calc(20 * var(--eh-pc-unit)); } }
.eh-brand--footer .eh-brand__eyebrow { font-size: 13px; }
@media (min-width: 900px) { .eh-brand--footer .eh-brand__eyebrow { font-size: max(11px,calc(14 * var(--eh-pc-unit))); } }
.eh-brand--footer .eh-brand__name img { height: 24px; }
@media (min-width: 900px) { .eh-brand--footer .eh-brand__name img { height: calc(25 * var(--eh-pc-unit)); } }
.eh-footer__bottom { display: grid; gap: 28px; margin-top: 30px; }
@media (min-width: 900px) { .eh-footer__bottom { width: min(1032px,71.666667%); margin: calc(52 * var(--eh-pc-unit)) auto 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; } }
.eh-footer__bottom nav { display: flex; width: calc(100% + 10px); margin-inline: -5px; gap: 24px; font-size: 13px; flex-wrap: wrap; }
@media (min-width: 900px) { .eh-footer__bottom nav { width: auto; margin: 0; font-size: max(12px,calc(15 * var(--eh-pc-unit))); gap: calc(30 * var(--eh-pc-unit)); } }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-footer__bottom a:hover { color: var(--eh-gold); } }
.eh-footer__bottom small { font-family: 'EB Garamond',serif; text-align: center; font-size: 11px; line-height: 1.2; }
@media (min-width: 900px) { .eh-footer__bottom small { font-size: max(11px,calc(15 * var(--eh-pc-unit))); } }
.eh-social { display: flex; gap: 22px; align-items: center; }
.eh-social > a, .eh-social__placeholder { display: grid; place-items: center; width: 36px; height: 36px; }
.eh-social img { width: 30px; }
.eh-social__placeholder img { width: 35px; }
.eh-social--menu { justify-content: center; margin-top: 35px; }
@media (min-width: 900px) { .eh-social--menu { display: none; } }
.eh-social--fixed { display: none; }
@media (min-width: 900px) { .eh-social--fixed { display: flex; position: fixed; bottom: calc(30 * var(--eh-pc-unit)); left: calc(30 * var(--eh-pc-unit)); z-index: 30; flex-direction: column; gap: 12px; } }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-social a:hover { opacity: .7; } }
.eh-back-top { position: fixed; right: 10px; bottom: 67px; z-index: 35; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--eh-brown); color: #fff !important; }
.eh-back-top { opacity: 0; visibility: hidden; pointer-events: none; }
.eh-back-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
.eh-back-top span { width: 10px; height: 10px; border-top: 1.5px solid; border-left: 1.5px solid; transform: translateY(3px) rotate(45deg); font-size: 0; }
@media (min-width: 900px) { .eh-back-top { right: calc(30 * var(--eh-pc-unit)); bottom: calc(30 * var(--eh-pc-unit)); width: calc(50 * var(--eh-pc-unit)); height: calc(50 * var(--eh-pc-unit)); } }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-back-top:hover { background: #7f725d; } }
.eh-mobile-cta { position: fixed; inset: auto 10px 0; border-radius: 10px 10px 0 0; overflow: hidden; z-index: 35; display: grid; grid-template-columns: 1fr 1fr; background: #fff; box-shadow: 0 -1px 5px #0001; }
@media (min-width: 900px) { .eh-mobile-cta { display: none; } }
.eh-mobile-cta > a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 8px calc(14px + env(safe-area-inset-bottom)); background: #fff; font-family: 'Shippori Mincho',serif; font-size: 16px; font-weight: 700; color: var(--eh-orange); }
.eh-mobile-cta > a + a { background: var(--eh-gold); color: #fff; }
.eh-mobile-cta img { height: 24px; width: auto; }
@media (max-width: 899px) { .eh-home { padding-bottom: calc(60px + env(safe-area-inset-bottom)); } }

/* UMICAHI motion, using this site's original resting colors and geometry. */
.eh-header__logo { transition: transform .3s ease; }
.eh-footer__logo, .eh-brand--menu, .eh-social a { transition: opacity .3s ease; }
.eh-navigation__list > li > a, .eh-course-menu > summary { transition: color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.eh-notice__label img { transition: filter .3s ease; }
.eh-course-tabs button { transition: background-color .3s ease; }
.eh-course-card__image img { transition: opacity .3s ease; }
.eh-notice { transition: background-color .3s ease, color .3s ease; }
.eh-notice__label { transition: color .3s ease, border-color .3s ease; }
.eh-contact-card__button { transition: background-color .3s ease, color .3s ease, box-shadow .3s ease; }
.eh-course-arrow { transition: background-color .3s ease, opacity .3s ease; }
.eh-back-top { transition: background-color .3s ease, opacity .3s ease, visibility .3s; }
.eh-notice__arrow { transition: border-color .3s ease, color .3s ease; }
.eh-footer__bottom a, .eh-location__phone a { transition: color .3s ease; }
.eh-chevron { transition: transform .3s ease; }
.eh-chevron::after { transition: opacity .3s ease; }
@media (min-width: 900px) and (hover: hover) and (pointer: fine) { .eh-header__logo:hover { transform: translateY(-4px); } }
@media (hover: hover) and (pointer: fine) {
  .eh-footer__logo:hover, .eh-brand--menu:hover { opacity: .7; }
  .eh-notice:has(a:hover) { background: #b7212a; color: #fff; }
  .eh-notice:has(a:hover) .eh-notice__label, .eh-notice:has(a:hover) .eh-notice__arrow { color: #fff; border-color: #fff; }
  .eh-notice:has(a:hover) .eh-notice__label img { filter: brightness(0) invert(1); }
  .eh-course-tabs button:hover { background: var(--tab-color); }
  .eh-course-card > a:hover .eh-course-card__image img { opacity: .7; }
  .eh-location__phone a:hover { color: var(--eh-gold); }
}
.eh-course-card > a:focus-visible .eh-course-card__image img { opacity: .7; }
.eh-contact-card:focus-visible .eh-contact-card__button { background: #fff; color: var(--contact-color); box-shadow: inset 0 0 0 1px var(--contact-color); }
.eh-notice:has(a:focus-visible) { background: #b7212a; color: #fff; }
.eh-notice:has(a:focus-visible) .eh-notice__label, .eh-notice:has(a:focus-visible) .eh-notice__arrow { color: #fff; border-color: #fff; }
.eh-notice:has(a:focus-visible) .eh-notice__label img { filter: brightness(0) invert(1); }
.eh-reveal { opacity: 0; transform: translateY(30px); transition: opacity .6s cubic-bezier(.61,1,.88,1), transform .6s cubic-bezier(.61,1,.88,1); transition-delay: var(--reveal-delay,.3s); }
.eh-reveal.is-revealed { opacity: 1; transform: none; }
.eh-reveal:focus-within { transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) {
  .eh-home *, .eh-home *::before, .eh-home *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
