/*
Theme Name: JSCA Editorial
Template: jsca-renewal
Version: 2.0.34-prod1
Description: 完成イメージを基準にした協会サイト。開催日程・料金・講師の管理機能に対応。
*/
:root { --ink: #252a25; --muted: #666960; --paper: #fffdf9; --soft: #f5f0e7; --line: #ded9cc; --accent: #cc4e18; --green: #253d34; --serif: 'Yu Mincho','Hiragino Mincho ProN',serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0px; background: var(--paper); color: var(--ink); font-family: "Yu Gothic", Meiryo, sans-serif; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { font: inherit; }
h1, h2, h3, h4, p { margin-top: 0px; }
h1, h2 { font-family: var(--serif); line-height: 1.55; font-weight: 600; }
h2 { font-size: clamp(27px, 3vw, 39px); margin: 0px 0px 27px; }
h3 { font-size: 21px; line-height: 1.6; margin: 20px 0px 14px; }
p { margin-bottom: 20px; }
a:hover { color: var(--accent); }
.wrap { width: min(1160px, 100% - 64px); margin: auto; }
.site-header { position: sticky; top: 0px; z-index: 30; background: rgba(255, 253, 249, 0.97); border-bottom: 1px solid var(--line); }
.header-inner { min-height: 88px; display: flex; align-items: center; gap: 22px; }
.brand { margin-right: auto; flex-shrink: 0; }
.brand img { width: 235px; }
nav { display: flex; gap: 20px; font-size: 14px; font-weight: 600; align-items: center; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 23px; border: 1px solid var(--accent); background: var(--accent); color: rgb(255, 255, 255); font-weight: 700; line-height: 1.6; font-size: 15px; transition: background 0.2s; }
.button:hover { background: rgb(166, 56, 12); color: rgb(255, 255, 255); border-color: rgb(166, 56, 12); }
.header-apply { font-size: 14px; white-space: nowrap; }
.outline { background: transparent; color: var(--accent); }
.menu-toggle { display: none; }
.skip { position: absolute; top: -100px; left: 10px; background: white; padding: 10px; z-index: 50; }
.skip:focus { top: 5px; }
:focus-visible { outline: rgb(179, 123, 48) solid 3px; outline-offset: 5px; }
.hero { position: relative; min-height: 700px; background: rgb(41, 37, 31); color: white; display: flex; align-items: center; overflow: hidden; }
.hero-photo, .hero-shade { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; }
.hero-shade { background: linear-gradient(90deg, rgba(23, 26, 20, 0.83), rgba(23, 26, 20, 0.55) 50%, rgba(23, 26, 20, 0.08)); }
.hero-content { position: relative; z-index: 1; padding: 85px 0px; }
.hero-heading { max-width: 710px; font-size: clamp(37px, 4.4vw, 59px); line-height: 1.6; margin-bottom: 27px; }
.hero p { max-width: 620px; line-height: 2.1; font-size: 17px; }
.hero .inner-block { margin: 0px; }
.hero .content-grid { gap: 14px; }
.hero .button-widget { display: inline-block; margin-right: 12px; margin-top: 12px; }
.hero .button-widget:nth-child(2n) .button { background: var(--paper); color: var(--green); border-color: var(--paper); }
.hero .text-widget { font-size: 15px; }
.quick-nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0px; padding: 28px 0px; }
.quick-nav a { display: block; padding: 10px 25px; border-right: 1px solid var(--line); font-size: 21px; font-family: var(--serif); font-weight: 600; }
.quick-nav a:first-child { padding-left: 0px; }
.quick-nav a:last-child { border-right: 0px; }
.quick-nav small { display: block; color: var(--muted); font-family: "Yu Gothic", sans-serif; font-size: 13px; font-weight: 400; margin-bottom: 3px; }
.chapter { padding: 78px 0px; border-top: 1px solid var(--line); }
.soft { background: var(--soft); }
.chapter-label { font-family: Georgia, serif; color: var(--accent); font-size: 14px; letter-spacing: 0.1em; display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.chapter-label::after { content: ""; height: 1px; width: 45px; background: var(--accent); }
.source-block { margin: 0px 0px 26px; }
.source-block:last-child { margin-bottom: 0px; }
.inner-block { margin: 25px 0px; }
.content-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
.cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
.cols-5 { grid-template-columns: repeat(5, minmax(0px, 1fr)); }
.cols-6 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.content-col { min-width: 0px; }
.text-widget p { color: var(--muted); }
.button-widget { margin: 15px 0px; }
.picture-widget img { width: 100%; object-fit: contain; }
.picture-widget { margin-bottom: 18px; }
.feature-widget { height: 100%; }
.feature-widget img { width: 100%; object-fit: cover; aspect-ratio: 4 / 3; margin-bottom: 22px; }
.feature-widget h3 { margin-top: 0px; }
.feature-widget p { color: var(--muted); }
.link-list { list-style: none; padding: 0px; margin: 15px 0px; display: flex; gap: 14px; flex-wrap: wrap; }
.link-list a { color: var(--green); border-bottom: 1px solid var(--line); }
.chapter-benefits .feature-widget, .chapter-reasons .content-grid.cols-3 > .content-col, .chapter-difference .content-grid.cols-2 > .content-col, .chapter-support .content-grid.cols-2 > .content-col, .chapter-courses .content-grid.cols-4 > .content-col { padding: 25px; background: var(--paper); border: 1px solid var(--line); }
.chapter-benefits .feature-widget img { aspect-ratio: 16 / 10; }
.chapter-reasons h3 { font-size: 20px; }
.chapter-courses .cols-4 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.chapter-courses .content-col h3 { font-family: var(--serif); font-size: 25px; color: var(--green); }
.chapter-voices .source-block, .chapter-difference .source-block, .chapter-support .source-block { margin-bottom: 20px; }
.chapter-voices .source-block:not(:first-of-type) > .content-grid > .content-col { padding: 24px; background: var(--paper); border-left: 3px solid rgb(194, 151, 97); }
.chapter-voices img { max-width: 170px; margin: 0px auto 20px; }
.chapter-voices h3 { font-size: 18px; }
.chapter-voices h2:not(:first-child) { font-size: 20px; }
.chapter-teachers .cols-6 { grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 22px; }
.chapter-teachers img { aspect-ratio: 1 / 1; object-fit: cover; }
.chapter-teachers h3 { font-size: 18px; margin: 8px 0px; }
.chapter-teachers p { font-size: 14px; }
.chapter-media img { max-height: 90px; width: auto; max-width: 100%; object-fit: contain; margin: auto; }
.chapter-media .cols-5, .chapter-media .cols-6 { grid-template-columns: repeat(5, minmax(0px, 1fr)); }
.chapter-curriculum .cols-3 > .content-col { padding: 25px; background: var(--paper); border: 1px solid var(--line); }
.chapter-curriculum h3 { font-size: 20px; }
.chapter-curriculum img { aspect-ratio: 16 / 9; object-fit: cover; }
.chapter-mission { background: var(--green); color: white; }
.chapter-mission p { color: rgb(236, 238, 228); }
.chapter-mission .button { background: var(--paper); color: var(--green); border-color: var(--paper); }
.chapter-faq .wrap { max-width: 880px; }
details { padding: 21px 0px; border-bottom: 1px solid var(--line); }
summary { font-weight: 600; cursor: pointer; font-size: 17px; }
details > div { padding: 18px 20px 0px; color: var(--muted); }
.chapter-shops .cols-4 > .content-col { padding: 22px; background: var(--paper); border: 1px solid var(--line); }
.chapter-shops h3 { font-size: 20px; }
.chapter-shops img { aspect-ratio: 16 / 10; object-fit: contain; }
.page-banner { background: var(--soft); padding: 40px 0px 50px; border-bottom: 1px solid var(--line); }
.breadcrumb { font-size: 13px; color: var(--muted); margin-bottom: 25px; }
.page-banner h1 { font-size: clamp(28px, 3.6vw, 43px); max-width: 970px; margin: 0px; }
.page-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 25px; }
.page-layout { padding-top: 55px; padding-bottom: 80px; }
.page-layout.has-toc { display: grid; grid-template-columns: minmax(0px, 1fr) 230px; gap: 50px; }
.page-content { min-width: 0px; }
.page-content h2 { font-size: 28px; margin-top: 30px; }
.page-content h3 { font-size: 21px; }
.page-content a:not(.button) { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.page-content .source-block { padding-bottom: 30px; margin-bottom: 25px; border-bottom: 1px solid var(--line); }
.page-content .source-block:last-child { border-bottom: 0px; }
.page-content img { max-width: 100%; height: auto; margin-bottom: 18px; }
.page-content .picture-widget img { max-height: 600px; width: auto; margin-left: auto; margin-right: auto; }
.page-toc { align-self: start; position: sticky; top: 120px; padding: 22px; background: var(--soft); border-top: 3px solid var(--accent); font-size: 14px; max-height: 75vh; overflow: auto; }
.page-toc p { font-weight: 700; margin-bottom: 12px; }
.page-toc a { display: block; padding: 9px 0px; border-bottom: 1px solid var(--line); line-height: 1.7; }
.legacy-grid { display: flex; flex-wrap: wrap; gap: 22px; }
.legacy-grid > .legacy-col { flex: 1 1 calc(50% - 22px); min-width: 240px; }
.legacy-card { padding: 23px; border: 1px solid var(--line); background: var(--paper); margin-bottom: 23px; }
.legacy-card .legacy-grid { align-items: start; }
.legacy-card img { max-height: 290px; object-fit: contain; }
table { width: 100%; border-collapse: collapse; margin: 20px 0px; font-size: 15px; table-layout: fixed; }
td, th { padding: 15px 18px; vertical-align: top; border: 1px solid var(--line); }
th { background: var(--soft); text-align: left; font-weight: 700; }
ul, ol { padding-left: 23px; }
li { margin-bottom: 7px; }
.site-footer { padding: 55px 0px 25px; background: rgb(240, 235, 226); border-top: 1px solid var(--line); }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 35px; }
.footer-grid img { margin: 5px 0px 25px; }
.footer-grid p { font-size: 14px; }
.footer-grid a { display: block; padding: 6px 0px; font-size: 14px; }
.copyright { font-size: 12px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 22px; margin-top: 35px; }
@media (max-width: 1100px) {
  .brand img { width: 210px; }
  nav { gap: 13px; }
  .header-inner { gap: 15px; }
  .header-apply { padding: 10px 13px; font-size: 13px; }
  .page-layout.has-toc { gap: 30px; grid-template-columns: minmax(0px, 1fr) 210px; }
  .chapter-teachers .cols-6 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
@media (max-width: 900px) {
  .header-inner { flex-wrap: wrap; min-height: 76px; }
  .menu-toggle { display: block; padding: 8px 12px; border: 1px solid var(--line); background: transparent; font-size: 14px; }
  .header-apply { display: none; }
  nav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 0px; padding-bottom: 15px; }
  nav.open { display: flex; }
  nav a { padding: 10px 0px; }
  .page-layout.has-toc { display: flex; flex-direction: column-reverse; }
  .page-toc { position: static; max-height: none; width: 100%; }
  .page-toc a { display: inline-block; margin-right: 18px; }
  .page-toc p { margin-bottom: 7px; }
  .cols-4, .cols-5 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .hero { min-height: 670px; }
  .hero-heading { font-size: 44px; max-width: 620px; }
  .hero-shade { background: linear-gradient(90deg, rgba(23, 26, 20, 0.83), rgba(23, 26, 20, 0.25)); }
}
@media (max-width: 640px) {
  .wrap { width: calc(100% - 40px); }
  .brand img { width: 230px; max-width: calc(-155px + 100vw); }
  .hero { min-height: 680px; }
  .hero-content { padding: 60px 0px; }
  .hero-heading { font-size: 36px; }
  .hero p { font-size: 16px; }
  .hero-photo { object-position: 65% center; }
  .hero-shade { background: rgba(23, 26, 20, 0.6); }
  .hero .button-widget { display: block; margin-right: 0px; }
  .quick-nav { padding: 20px 0px; grid-template-columns: 1fr; }
  .quick-nav a { padding: 14px 0px; border-right: 0px; border-bottom: 1px solid var(--line); font-size: 20px; }
  .quick-nav a:last-child { border-bottom: 0px; }
  .quick-nav small { display: inline-block; margin-right: 17px; min-width: 130px; font-size: 12px; }
  .chapter { padding: 50px 0px; }
  .content-grid, .cols-2, .cols-3, .cols-4, .cols-5, .cols-6, .chapter-courses .cols-4 { grid-template-columns: 1fr; }
  .chapter-teachers .cols-6 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .chapter-media .cols-5, .chapter-media .cols-6 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .chapter-media img { max-height: 65px; }
  .chapter-benefits .feature-widget { padding: 20px; }
  .chapter-voices .source-block:not(:first-of-type) > .content-grid > .content-col { padding: 20px; }
  .page-banner { padding: 28px 0px 35px; }
  .page-layout { padding-top: 30px; }
  .page-content h2 { font-size: 25px; }
  .legacy-grid > .legacy-col { flex-basis: 100%; min-width: 0px; }
  .footer-grid { gap: 20px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .source-block .content-grid { gap: 22px; }
  .page-actions .button { font-size: 14px; }
  table { font-size: 14px; }
  td, th { padding: 10px; }
  .picture-widget { margin-bottom: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}
.link-list { display: block; list-style: none; }
.link-list li { padding: 7px 0px; border-bottom: 1px solid var(--line); font-size: 15px; }
.feature-title { font-family: Georgia, "Yu Mincho", serif; font-size: 35px; line-height: 1.4; color: var(--accent); margin-bottom: 10px; }
#page-price .cols-3 > .content-col { padding: 23px; border: 1px solid var(--line); background: var(--paper); }
#page-price .cols-3 h2 { font-family: "Yu Gothic", sans-serif; font-size: 21px; line-height: 1.7; }
#page-price .cols-3 { gap: 18px; }
#page-price .feature-widget { height: auto; }
#page-price .inner-block { margin: 0px; }
#page-price .cols-3 .button { width: 100%; }
#page-juniorsaltcoordinator .cols-2, #page-saltcoordinator .cols-2, #page-senior-salt-coordinator .cols-2 { gap: 25px; }
#page-jr-schedule .source-block, #page-salt-coordinator-schedule .source-block { padding: 24px; border: 1px solid var(--line); background: var(--soft); }
.page-content .legacy-grid > .legacy-col .legacy-card { height: 100%; }
@media (max-width: 1100px) {
  #page-price .cols-3 { grid-template-columns: 1fr; }
  #page-price .cols-3 > .content-col { padding: 28px; }
}
.designed-banner { display: grid; grid-template-columns: 1.35fr 1fr; background: rgb(255, 253, 249); border: 1px solid rgb(217, 208, 191); overflow: hidden; margin: 28px 0px; color: rgb(37, 61, 52); }
.banner-copy { padding: 42px; align-self: center; }
.banner-kicker { letter-spacing: 0.09em; font-weight: 700; font-size: 13px !important; color: rgb(164, 75, 34) !important; margin: 0px 0px 15px !important; }
.designed-banner h3 { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; line-height: 1.6; font-size: clamp(26px, 3vw, 38px) !important; margin: 0px 0px 20px !important; }
.designed-banner p { color: inherit; }
.banner-copy > p:last-child { margin-bottom: 0px; }
.banner-photo { position: relative; min-height: 290px; align-self: stretch; margin: 0px !important; }
.banner-photo img { width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover !important; aspect-ratio: auto !important; margin: 0px !important; }
.banner-photo figcaption { position: absolute; right: 12px; bottom: 12px; padding: 5px 10px; background: rgba(255, 253, 249, 0.95); color: rgb(75, 81, 71); font-size: 12px; line-height: 1.6; }
.banner-trust { font-family: var(--serif); font-size: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 13px 0px; width: fit-content; min-width: 190px; }
.banner-trust span { color: rgb(170, 128, 80); margin: 0px 20px; }
.banner-supervisor { background: rgb(240, 231, 216); }
.banner-supervisor .banner-photo img { object-position: center top !important; }
.banner-trust-statement { display: block; background: rgb(37, 61, 52); color: rgb(255, 253, 249); border-width: 0px 0px 0px 6px; border-style: none none none solid; border-color: currentcolor currentcolor currentcolor rgb(189, 144, 94); border-image: none; }
.banner-trust-statement .banner-kicker { color: rgb(231, 189, 144) !important; }
.banner-trust-statement h3 { max-width: 900px; }
.banner-lead { font-size: 20px; line-height: 1.9; }
.banner-junior { border-top: 4px solid var(--accent); }
.banner-price { font-family: Georgia, serif; font-size: 48px; line-height: 1.3; margin: 22px 0px; color: var(--accent) !important; }
.banner-price span { font-size: 17px; font-family: "Yu Gothic", sans-serif; margin-left: 8px; }
.banner-learning, .banner-flow, .banner-tuition { display: block; }
.banner-learning .banner-copy, .banner-flow .banner-copy, .banner-tuition .banner-copy { padding-bottom: 15px; }
.banner-learning .banner-copy p { max-width: 850px; }
.banner-levels { margin: 0px; padding: 0px 42px 35px; list-style: none; }
.banner-levels li { display: flex; gap: 25px; padding: 24px 0px; border-top: 1px solid var(--line); align-items: center; }
.banner-levels li > span { font-family: Georgia, serif; font-size: 36px; color: rgb(180, 129, 69); min-width: 55px; }
.banner-levels p { font-size: 14px; margin: 0px 0px 7px; color: rgb(101, 102, 90); }
.banner-levels a { font-weight: 700; font-size: 21px; border-bottom: 1px solid rgb(187, 169, 142); display: inline-block; }
.banner-worries { list-style: none; padding: 0px; margin: 0px; }
.banner-worries li { border-top: 1px solid var(--line); padding: 13px 0px; font-weight: 600; font-size: 17px; margin: 0px; }
.banner-worries small { display: block; font-size: 14px; color: rgb(100, 103, 93); font-weight: 400; padding-top: 3px; }
.banner-support { grid-template-columns: 1.4fr 0.8fr; }
.banner-support .banner-photo img { object-position: 38% center !important; }
.banner-flow-list { display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 0px; margin: 0px; padding: 0px 30px 35px; list-style: none; }
.banner-flow-list li { padding: 15px 17px; border-right: 1px solid var(--line); margin: 0px; }
.banner-flow-list li:last-child { border-right: 0px; }
.banner-flow-list li > span { font-family: Georgia, serif; font-size: 40px; color: rgb(180, 129, 69); display: block; margin-bottom: 20px; }
.banner-flow-list h4 { font-size: 18px; line-height: 1.7; margin: 0px 0px 15px; }
.banner-flow-list p { font-size: 14px; line-height: 1.9; color: rgb(102, 105, 95); margin: 0px; }
.banner-apply { background: rgb(37, 61, 52); color: white; border: 0px; grid-template-columns: 1.3fr 0.7fr; }
.banner-apply .banner-kicker { color: rgb(231, 189, 144) !important; }
.banner-apply .banner-photo { min-height: 250px; }
.banner-apply .button { background: rgb(255, 253, 249); color: rgb(37, 61, 52); border-color: rgb(255, 253, 249); }
.banner-online { background: rgb(238, 227, 208); grid-template-columns: 1.2fr 1fr; }
.banner-online .banner-photo img { object-position: 65% center !important; }
.banner-review-name { font-weight: 700; font-size: 20px; border-bottom: 1px solid var(--line); padding-bottom: 20px; }
.banner-review-name small { display: block; font-size: 14px; font-weight: 400; color: rgb(102, 105, 95); }
.banner-review-text { font-size: 16px; line-height: 2.1; color: rgb(81, 87, 77) !important; }
.banner-interview { grid-template-columns: 1.7fr 0.6fr; }
.banner-interview .banner-photo { min-height: 330px; max-height: 430px; align-self: start; }
.banner-interview .banner-photo img { object-position: 65% center !important; }
.banner-table-scroll { overflow: auto; padding: 0px 30px 35px; }
.banner-tuition table { min-width: 880px; table-layout: fixed; margin: 0px; font-size: 14px; }
.banner-tuition th { background: rgb(238, 231, 218); color: rgb(37, 61, 52); }
.banner-tuition thead th { background: rgb(37, 61, 52); color: rgb(255, 253, 249); padding: 20px 15px; font-size: 16px; line-height: 1.8; }
.banner-tuition thead th:first-child { width: 115px; }
.banner-tuition th small { font-size: 13px; font-weight: 400; }
.banner-tuition tbody tr:first-child td { font-family: Georgia, "Yu Gothic", sans-serif; font-size: 25px; color: rgb(185, 67, 22); font-weight: 600; }
.banner-tuition td { background: rgb(255, 253, 249); font-size: 14px; line-height: 1.9; padding: 18px 14px; }
.chapter-mission .designed-banner p { color: inherit; }
.chapter-media .designed-banner img { max-height: none; }
.chapter-voices .designed-banner img { max-width: none; }
.page-content .designed-banner a:not(.button) { text-decoration: none; }
.page-content .designed-banner .button { color: white; }
@media (max-width: 900px) {
  .banner-flow-list { grid-template-columns: 1fr; padding: 0px 30px 30px; }
  .banner-flow-list li { display: flex; gap: 25px; border-right: 0px; border-top: 1px solid var(--line); padding: 22px 10px; }
  .banner-flow-list li > span { min-width: 50px; margin: 0px; }
  .banner-flow-list h4 br { display: none; }
  .banner-copy { padding: 30px; }
  .banner-interview { grid-template-columns: 1fr; }
  .banner-interview .banner-photo { height: 260px; max-height: none; order: -1; }
  .banner-interview .banner-photo img { object-position: 65% 65% !important; }
}
@media (max-width: 640px) {
  .designed-banner { grid-template-columns: 1fr; margin: 20px 0px; }
  .banner-copy { padding: 26px; }
  .banner-photo { height: 240px; min-height: 0px; order: -1; }
  .banner-supervisor .banner-photo { height: 280px; }
  .banner-supervisor .banner-photo img { object-position: center 25% !important; }
  .designed-banner h3 { font-size: 27px !important; }
  .banner-lead { font-size: 18px; }
  .banner-price { font-size: 43px; }
  .banner-levels { padding: 0px 25px 25px; }
  .banner-levels li { gap: 15px; }
  .banner-levels li > span { font-size: 29px; min-width: 35px; }
  .banner-levels a { font-size: 18px; }
  .banner-learning, .banner-tuition, .banner-flow, .banner-trust-statement { display: block; }
  .banner-table-scroll { padding: 0px 18px 25px; }
  .banner-flow-list { padding: 0px 20px 25px; }
  .banner-apply .banner-photo { height: 190px; min-height: 0px; }
  .banner-apply .banner-copy { padding: 28px; }
  .banner-online .banner-photo { height: 220px; }
  .banner-worries li { font-size: 16px; }
}
.chapter-difference .neutrality-card { padding: 28px 32px; background: var(--paper); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--accent); }
.neutrality-card h3 { margin-top: 0px; }
.neutrality-card p { color: var(--muted); margin-bottom: 0px; }
@media (max-width: 640px) {
  .chapter-difference .neutrality-card { padding: 23px; }
}
.value-intro { max-width: 890px; margin: 50px 0px 35px; }
.value-eyebrow { font-weight: 700; color: var(--accent); font-size: 14px; letter-spacing: 0.06em; margin-bottom: 15px; }
.value-intro p { line-height: 2; color: var(--muted); }
.value-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px; }
.value-card { padding: 30px; background: var(--paper); border: 1px solid var(--line); }
.value-card:first-child { border-top: 4px solid var(--accent); padding-top: 27px; }
.value-card-top { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.value-number { font-family: Georgia, serif; font-size: 32px; color: rgb(173, 128, 72); line-height: 1.3; }
.value-tag { font-size: 14px; color: var(--green); border-bottom: 1px solid var(--line); padding-bottom: 4px; }
.value-card h3 { font-size: 22px; line-height: 1.7; margin: 0px 0px 16px; }
.value-card > p { color: var(--muted); line-height: 1.95; }
.value-card .value-benefit { border-top: 1px solid var(--line); padding-top: 18px; color: var(--green); font-weight: 600; margin-bottom: 0px; }
.value-card:last-child { grid-column: 1 / -1; }
.value-outro { padding: 30px 0px 5px; margin-top: 25px; }
.value-outro h3 { font-family: var(--serif); font-size: 26px; }
.value-outro p { color: var(--muted); }
.value-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
@media (max-width: 640px) {
  .value-grid { grid-template-columns: 1fr; }
  .value-card { padding: 24px; }
  .value-card:first-child { padding-top: 21px; }
  .value-intro { margin-top: 35px; }
  .value-intro h2 { font-size: 27px; }
  .value-card h3 { font-size: 21px; }
  .value-outro h3 { font-size: 23px; }
}
.chapter-courses .content-grid.cols-3 { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.chapter-courses .content-grid.cols-3 > .content-col { padding: 25px; background: var(--paper); border: 1px solid var(--line); }
@media (max-width: 800px) {
  .chapter-courses .content-grid.cols-3 { grid-template-columns: 1fr; }
}
.price-card{padding:25px;background:var(--paper);border:1px solid var(--line)}.price-card h2{font-size:24px}.course-price{font:32px Georgia,serif;color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{padding:26px;border:1px solid var(--line);background:var(--paper)}.jscm-status{border-top:1px solid var(--line);padding-top:15px;font-size:13px}.schedule-navigation{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}.entry-content{max-width:920px;margin:auto}.entry-content input,.entry-content textarea,.entry-content select{max-width:100%;font:inherit;padding:10px;border:1px solid var(--line)}.entry-content textarea{width:100%}.jsca-test-note{padding:12px;border:1px solid #cc4e18;background:#fff4e8;color:#252a25}.mw_wp_form{padding:30px;background:white;border:1px solid var(--line)}.mw_wp_form input[type=submit]{background:var(--accent);color:white;border:0;padding:12px 22px}.mw_wp_form input:disabled{opacity:.5}.jscm-table-scroll{overflow-x:auto}.jscm-table-scroll table{min-width:650px}.table-scroll{overflow:auto}body.admin-bar .site-header{top:32px}#wpadminbar{overflow:hidden}img[alt=yajirusi80]{display:none}.hero .text-widget p{color:white}.content-col{overflow-wrap:anywhere}.chapter-teachers .cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}.chapter-teachers img{max-height:300px}.site-footer nav{display:block}nav.is-open{display:flex}
@media(max-width:800px){.grid,.chapter-teachers .cols-6{grid-template-columns:1fr}.chapter-teachers img{max-height:340px}.price-card{padding:22px}.mw_wp_form{padding:20px}.hero-heading{font-size:34px}.wrap{width:calc(100% - 40px)}.site-header nav.is-open{display:flex}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}

.jsce-post-item img{width:360px;max-width:100%;height:auto}.jsce-post-item h3{margin-bottom:14px}.jsce-post-item>div>div{margin-top:18px}.jsce-post-item{max-width:100%}.jsce-session-table td{overflow-wrap:anywhere}.jsce-session-table .button{max-width:100%}@media(max-width:600px){.jsce-session-table{font-size:13px}.jsce-session-table td{padding:10px 7px}.jsce-session-table td:nth-child(1){width:24%}.jsce-session-table td:nth-child(2){width:49%}.jsce-session-table td:nth-child(3){width:27%}}

.page-content{min-width:0;overflow-wrap:anywhere}.page-content .wp-caption{max-width:100%}.page-content img{max-width:100%;height:auto}.page-content iframe{max-width:100%}


.chapter-teachers .cols-6{gap:28px}

.page-content .legacy-card #toc_container{background:transparent;border:0;padding:0;max-width:100%;display:block;font-size:inherit}

html:has(body.admin-bar){scroll-padding-top:142px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}html:has(body.admin-bar){scroll-padding-top:156px}}

.chapter-teachers img{width:100%;height:auto;max-height:none}

/* Keep the extended primary navigation readable without horizontal overflow. */
@media(min-width:901px){.site-header #main-nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.site-header #main-nav a{white-space:nowrap}.site-header .header-inner{gap:16px}.site-header .brand img{width:210px}}

/* Compact the media examples while keeping every image accessible. */
#media .media-gallery-hint{font-size:13px;color:var(--muted);margin:24px 0 12px}
#media .media-gallery{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:28px}
#media .media-gallery>div{min-width:0}
#media .media-gallery a{display:flex;align-items:center;justify-content:center;height:82px;padding:6px;background:#fff;border:1px solid var(--line);transition:border-color .2s}
#media .media-gallery a:hover{border-color:var(--accent)}
#media .media-gallery figure{width:100%;height:100%;margin:0}
#media .media-gallery img{width:100%;height:100%;max-height:none;max-width:100%;object-fit:contain;margin:0}
@media(max-width:900px){#media .media-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:640px){#media .media-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#media .media-gallery a{height:64px;padding:4px}#media .media-gallery-hint{font-size:12px}}

.jsce-media-dialog{width:min(1000px,calc(100vw - 40px));height:min(820px,calc(100dvh - 48px));max-width:none;max-height:none;padding:20px;border:1px solid #ded9cc;border-radius:8px;background:#fffdf9;color:#252a25;overflow:hidden;box-shadow:0 12px 48px #0006}
.jsce-media-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px}
.jsce-media-dialog::backdrop{background:#101914dd}
.jsce-media-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.jsce-media-label{font-size:11px;letter-spacing:.12em;color:#666960;margin:0 0 5px}
.jsce-media-toolbar h2{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.5;margin:0;max-width:720px}
.jsce-media-dialog button{font:inherit;font-size:14px;min-height:44px;border:1px solid #c8c1b1;background:#fffdf9;color:#253d34;padding:8px 15px;cursor:pointer;border-radius:4px;white-space:nowrap}
.jsce-media-dialog button:hover{background:#253d34;color:white}
.jsce-media-view{display:flex;align-items:center;justify-content:center;min-height:0;background:#eeeae1;overflow:hidden;padding:8px}
.jsce-media-view img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.jsce-media-view img[hidden],.jsce-media-loading[hidden]{display:none}
.jsce-media-loading{font-size:14px;text-align:center;color:#666960;margin:0}
.jsce-media-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.jsce-media-count{font-size:14px;color:#666960}
@media(max-width:640px){.jsce-media-dialog{width:calc(100vw - 20px);height:calc(100dvh - 24px);padding:12px}.jsce-media-toolbar{gap:8px}.jsce-media-toolbar h2{font-size:14px}.jsce-media-dialog button{font-size:12px;padding:8px 10px}.jsce-media-count{font-size:12px}.jsce-media-controls{gap:8px}.jsce-media-view{padding:4px}}
/* Isolate the MW WP Form datepicker from content-table styles. */
#ui-datepicker-div{width:322px;max-width:calc(100vw - 24px);padding:12px;background:#fffdf9;color:#252a25;border:1px solid #c8c1b1;border-radius:6px;box-shadow:0 8px 28px #252a2530;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.5;z-index:1000!important}
#ui-datepicker-div .ui-datepicker-header{position:relative;min-height:44px;margin-bottom:8px;padding:5px 45px;background:#f5f0e7;border-radius:4px}
#ui-datepicker-div .ui-datepicker-title{text-align:center;white-space:nowrap;line-height:32px}
#ui-datepicker-div select{font:inherit;padding:3px;border:1px solid #b9b3a6;background:#fff;color:#252a25;width:auto;max-width:48%;height:32px}
#ui-datepicker-div .ui-datepicker-prev,#ui-datepicker-div .ui-datepicker-next{position:absolute;top:0;display:flex;align-items:center;justify-content:center;width:40px;height:44px;cursor:pointer;text-decoration:none;color:#253d34;border-radius:4px}
#ui-datepicker-div .ui-datepicker-prev{left:0}#ui-datepicker-div .ui-datepicker-next{right:0}
#ui-datepicker-div .ui-datepicker-prev span,#ui-datepicker-div .ui-datepicker-next span{font-size:0}
#ui-datepicker-div .ui-datepicker-prev::after{content:'‹';font-size:30px}#ui-datepicker-div .ui-datepicker-next::after{content:'›';font-size:30px}
#ui-datepicker-div .ui-datepicker-prev:hover,#ui-datepicker-div .ui-datepicker-next:hover{background:#e5dece}
#ui-datepicker-div table.ui-datepicker-calendar{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;margin:0;background:transparent}
#ui-datepicker-div table.ui-datepicker-calendar th,#ui-datepicker-div table.ui-datepicker-calendar td{padding:2px;border:0;width:auto;height:auto;text-align:center;background:transparent;font-size:14px;line-height:1.4}
#ui-datepicker-div table.ui-datepicker-calendar th{padding:6px 0;color:#666960;font-weight:600}
#ui-datepicker-div td a,#ui-datepicker-div td span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:4px;border-radius:4px;text-decoration:none;color:#252a25}
#ui-datepicker-div td a:hover,#ui-datepicker-div td a:focus-visible{background:#253d34;color:white}
#ui-datepicker-div td a.ui-state-highlight{background:#f5f0e7;box-shadow:inset 0 0 0 1px #b5a177}
#ui-datepicker-div td a.ui-state-active{background:#cc4e18;color:#fff}
#ui-datepicker-div .ui-datepicker-buttonpane{display:flex;justify-content:space-between;gap:12px;margin-top:8px;padding-top:10px;border-top:1px solid #ded9cc}
#ui-datepicker-div .ui-datepicker-buttonpane button{font:inherit;padding:7px 12px;border:1px solid #ded9cc;background:#fff;color:#253d34;min-height:38px;cursor:pointer;border-radius:4px}
.mw_wp_form input.hasDatepicker{width:min(100%,340px);padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23253d34' stroke-width='1.7'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18'/%3E%3C/svg%3E") no-repeat right 12px center}
.mw_wp_form input.hasDatepicker::placeholder{color:#666960;font-size:13px;opacity:1}
@media(max-width:640px){#ui-datepicker-div{width:300px}#ui-datepicker-div td a{min-height:36px}}
#ui-datepicker-div{max-height:calc(100vh - 24px);overflow:auto}

