/* 國創学 — sumi, paper, timber and aged brass. */
:root{--ink:#202620;--muted:#666b61;--paper:#f3efe5;--orange:#b89961;--line:#cfc9b9;--serif:"Noto Serif JP","Yu Mincho",serif;--gold:#b89961}
body.kokusogaku{background:var(--paper);color:var(--ink);font-weight:400;letter-spacing:.025em}
.kokusogaku h1,.kokusogaku h2,.kokusogaku h3{font-family:var(--serif);font-weight:600;letter-spacing:.045em}
.kokusogaku h2{font-size:clamp(30px,3.3vw,48px);line-height:1.75}
.kokusogaku p{line-height:2.15}
.kokusogaku .section{padding-block:112px}
.kokusogaku .section-label{font-size:12px;font-weight:500;letter-spacing:.12em;margin-bottom:32px;color:#6a685d}
.kokusogaku .section-label>span{font-size:10px;font-weight:600;letter-spacing:.17em}
.kokusogaku .section-label>span:before{width:20px;height:1px;border-radius:0;background:var(--gold)}
.kokusogaku .action-mark,.kokusogaku .orange-dot{background:var(--gold)}
.kokusogaku .text-link{font-weight:600;letter-spacing:.035em;gap:28px}
.kokusogaku .course-tag{font-family:var(--serif);font-size:24px;font-weight:600;border-color:var(--gold);color:inherit;letter-spacing:.12em}
.kokusogaku .course-tag span{font-family:Inter,sans-serif;font-size:10px;font-weight:500;letter-spacing:.18em}
.kokusogaku .site-header{min-height:92px;padding:18px 4.5%;background:#191f1b;color:#f2eddf;border-bottom:1px solid #b8996140}
.kokusogaku .brand{gap:15px;color:inherit}
.kokusogaku .brand-logo{width:35px;height:42px;padding:2px;background:#f4efe3;object-fit:contain}
.kokusogaku .brand-type{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:.16em;line-height:1.3}
.kokusogaku .brand-type>span{font-family:Inter,sans-serif;font-size:8px;font-weight:500;letter-spacing:.13em;margin-top:6px}
.kokusogaku .desktop-nav{gap:25px}
.kokusogaku .desktop-nav a{font-size:12px;font-weight:500;letter-spacing:.04em}
.kokusogaku .header-entry{color:#e6d3a7;border:1px solid #b8996170;padding:14px 22px;font-size:12px;font-weight:500}
.kokusogaku .menu-toggle span{background:#eee7d7}
.kokusogaku .mobile-menu{background:#202620;color:#eee7d7}
.kokusogaku .mobile-menu a{border-color:#ffffff22;font-weight:500}
.kokusogaku .hero{position:relative;isolation:isolate;display:flex;align-items:center;margin:0;width:100%;min-height:780px;height:calc(100svh - 92px);max-height:1000px;background:#151b16;overflow:hidden;color:#f6f0e4}
.kokusogaku .hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.kokusogaku .hero-image img{height:100%;width:100%;object-fit:cover;object-position:center}
.kokusogaku .hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(14,21,16,.94),rgba(14,21,16,.72) 34%,rgba(14,21,16,.09) 75%),linear-gradient(0deg,rgba(14,21,16,.76),transparent 25%)}
.kokusogaku .hero-content{position:relative;z-index:2;width:min(1200px,calc(100% - 120px));max-width:none;padding:45px 0 130px;margin:auto}
.kokusogaku .hero .eyebrow{font:500 11px/1.5 Inter,sans-serif;letter-spacing:.27em;color:#d2be97;margin-bottom:24px}
.kokusogaku .hero-pretitle{font-family:var(--serif);font-size:15px;letter-spacing:.14em;color:#e7dfce;margin-bottom:14px}
.kokusogaku .hero h1{font-family:var(--serif);font-size:clamp(100px,11.1vw,168px);font-weight:600;letter-spacing:.12em;line-height:1.3;margin:0 0 3px -.055em;color:#f8f3e7;white-space:nowrap}
.kokusogaku .hero-reading{font-family:var(--serif);font-size:12px;letter-spacing:.45em;color:#d2be97;margin:0 0 32px 7px}
.kokusogaku .hero-statement{font-family:var(--serif);font-size:clamp(26px,2.8vw,37px);line-height:1.75;letter-spacing:.12em;margin:0 0 22px}
.kokusogaku .hero-description{font-size:13px;line-height:2.1;color:#e2ded3;margin:0}
.kokusogaku .hero-actions{margin-top:28px}
.kokusogaku .hero .button{min-height:56px;padding:15px 28px;background:#e7d6b0;border:1px solid #e7d6b0;color:#202620;font-size:13px;letter-spacing:.05em;font-weight:600;gap:38px}
.kokusogaku .hero .button:hover{background:#f4e8d0}
.kokusogaku .hero .action-mark{background:#75613f}
.kokusogaku .hero-bottom{position:absolute;bottom:0;left:50%;width:min(1200px,calc(100% - 120px));transform:translateX(-50%);display:flex;align-items:center;justify-content:flex-start;gap:32px;border-top:1px solid #d0bc8f55;padding:24px 0 28px;color:#eee5d0}
.kokusogaku .hero-bottom>span,.kokusogaku .hero-bottom>span:first-child{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.5;letter-spacing:.12em;color:#eee5d0;opacity:1}
.kokusogaku .hero-bottom>span>span{font-family:"Noto Sans JP",sans-serif;font-size:10px;font-weight:400;letter-spacing:.04em;color:#dbd4c4}
.kokusogaku .hero-bottom>i{width:1px;height:20px;background:#d0bc8f50}
.hero-side-note{position:absolute;right:42px;top:55px;font-family:var(--serif);font-size:14px;letter-spacing:.35em;writing-mode:vertical-rl;color:#efe7d7}
.kokusogaku .quick-nav{padding-block:31px;gap:0;border-bottom:1px solid var(--line);background:transparent}
.kokusogaku .quick-nav a{padding-inline:28px;border-color:var(--line)}
.kokusogaku .quick-nav a:first-child{padding-left:0}
.kokusogaku .quick-nav a:last-child{padding-right:0}
.kokusogaku .quick-number{font-family:var(--serif);color:#917443;font-size:27px;font-weight:500}
.kokusogaku .quick-nav strong{font-family:var(--serif);font-size:15px;font-weight:600;letter-spacing:.025em}
.kokusogaku .quick-nav small{font-size:8px;font-weight:500;letter-spacing:.2em;color:#68665c}
.kokusogaku .quick-mark{width:6px;height:6px;border-color:#9a8151}
.kokusogaku .about{background:var(--paper);padding-block:128px}
.kokusogaku .about-grid{grid-template-columns:.9fr 1.1fr;gap:100px}
.kokusogaku .about h2{font-size:clamp(32px,3.6vw,51px);line-height:1.9;letter-spacing:.08em}
.about-signature{margin-top:35px;font-family:var(--serif);font-size:15px;color:#8c7447;letter-spacing:.1em}
.kokusogaku .about-questions{background:none;padding:0;border:0}
.kokusogaku .about-questions>p{font-size:15px;margin-top:22px;color:#565b51}
.kokusogaku .about-questions .about-lead{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.9;margin:0 0 28px;color:var(--ink)}
.kokusogaku .question-answer{padding:24px 0 0;margin-top:30px;border-top:1px solid var(--line);background:none;font-size:14px!important;text-align:left;color:var(--ink)!important}
.kokusogaku .question-answer strong{color:#866a3c}
.kokusogaku .trial-section{background:#222922;padding-block:80px;color:#ede8da}
.kokusogaku .trial-panel{border:1px solid #b8996175;background:none;padding:48px 55px;grid-template-columns:240px 1fr;gap:70px;box-shadow:none}
.kokusogaku .trial-date{border-color:#b8996150}
.kokusogaku .trial-date-label{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:.25em;color:#d2bb8c}
.kokusogaku .trial-year{font-size:13px;color:#cfc8b9;letter-spacing:.14em}
.kokusogaku .trial-day{font-family:var(--serif);font-size:72px;font-weight:500;letter-spacing:-.02em;color:#f4e9d0}
.kokusogaku .trial-weekday{font-family:var(--serif);color:#cfc8b9;font-size:13px;letter-spacing:.22em}
.kokusogaku .trial-free{border:1px solid #baa06c;color:#e4cd9f;background:transparent;border-radius:0;font-size:12px;padding:9px 14px}
.kokusogaku .trial-kicker{color:#c8ad78;font-size:11px;font-weight:500;letter-spacing:.12em}
.kokusogaku .trial-content{padding:0}
.kokusogaku .trial-content h2>span{display:inline-block}
.kokusogaku .trial-content h2{font-size:32px;letter-spacing:.04em;line-height:1.8;color:#f3ead8}
.kokusogaku .trial-description{color:#ded9cc;font-size:13px;line-height:2.1}
.kokusogaku .trial-note,.kokusogaku .trial-form-note{color:#c3c2b5;font-size:11px}
.kokusogaku .trial-times{border-color:#b8996145}
.kokusogaku .trial-times dt{color:#c3c2b5}
.kokusogaku .trial-times dd{font-size:18px;color:#eae4d6}
.kokusogaku .trial-form-button{background:#dcc392;border:1px solid #dac398;border-radius:0;color:#25291f;box-shadow:none;min-height:90px;padding:20px 25px}
.kokusogaku .trial-form-copy strong{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.04em}
.kokusogaku .trial-form-copy small{font-size:11px;font-weight:500}
.kokusogaku .trial-form-status{border-radius:0;font-size:10px;font-weight:500}
.kokusogaku a.trial-form-button:hover{background:#efdbb4;transform:none}
.kokusogaku .trial-entry-link{border-color:#b8996150;color:#e9e0cd}
.kokusogaku .trial-entry-link small{color:#c3c2b5}
.kokusogaku .trial-entry-link strong{font-family:var(--serif);font-weight:500;font-size:15px}
.kokusogaku .foundation{background:#ebe5d7}
.kokusogaku .section-heading h2{font-size:clamp(32px,3.4vw,48px)}
.kokusogaku .section-heading>p:last-child{font-size:14px;color:#616455}
.kokusogaku .foundation-story{gap:65px;margin-top:50px}
.kokusogaku .foundation-image{background:transparent;border:0}
.kokusogaku .foundation-image img{height:auto;aspect-ratio:auto;object-fit:contain}
.kokusogaku .foundation-image figcaption{background:#242b23;color:#ede6d4;padding:22px 26px}
.kokusogaku .foundation-image figcaption span{font-size:10px;letter-spacing:.15em}
.kokusogaku .foundation-image figcaption strong{font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:.08em;margin-top:8px}
.kokusogaku .foundation-text h3{font-size:28px;line-height:1.85}
.kokusogaku .foundation-text p{font-size:14px;color:#575d51}
.kokusogaku .self-grid{background:transparent;border:1px solid #c7bda7;margin-top:72px}
.kokusogaku .self-grid article{background:#f4eee1;padding:28px 30px;border-color:#c7bda7}
.kokusogaku .self-grid .self-top{position:relative;width:100%;height:135px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;background:transparent;border-bottom:1px solid #cfc4ae;margin-bottom:25px}
.kokusogaku .self-number{font-family:var(--serif);top:0;left:0;color:#7b6a48;font-size:11px}
.self-symbol{font-family:var(--serif);font-size:98px;font-weight:500;line-height:1.3;color:#8e784e}
.kokusogaku .self-grid .en-label{font-size:9px;letter-spacing:.2em;color:#877551}
.kokusogaku .self-grid h3{font-size:29px;line-height:1.7;letter-spacing:.13em}
.kokusogaku .self-grid article>p:not(.en-label){font-size:13px;line-height:2}
.kokusogaku .self-question{font-size:11px;border-color:#cfc4ae;color:#6c6b5d}
.kokusogaku .ability-line{background:#252e24;color:#ebe3d0;padding:30px 18px}
.kokusogaku .ability-line>span{font-size:10px;font-weight:500;letter-spacing:.12em;color:#d4c097}
.kokusogaku .ability-line p{font-family:var(--serif);font-size:18px;font-weight:400;max-width:none}
.kokusogaku .ability-line p strong{font-weight:600}
.kokusogaku .curriculum{background:var(--paper)}
.kokusogaku .curriculum-intro>p,.kokusogaku .detail-hint{font-size:13px;color:#616558}
.kokusogaku .curriculum-list{border-color:var(--line)}
.kokusogaku .curriculum-list details{border-color:var(--line);background:transparent}
.kokusogaku .pillar-kanji{font-family:var(--serif);color:#8f7747;font-weight:500;font-size:48px}
.kokusogaku .pillar-title strong{font-family:var(--serif);font-weight:600;font-size:20px}
.kokusogaku .pillar-title small,.kokusogaku .pillar-no{color:#747565;font-size:10px;letter-spacing:.1em}
.kokusogaku .pillar-detail{background:#eae3d3;font-size:13px}
.kokusogaku .learning{background:#e5dece;border-block:1px solid #cfc4ae}
.kokusogaku .learning-step{background:transparent}
.kokusogaku .learning-grid article,.kokusogaku .learning-steps article{background:transparent;border-color:#bfb297}
.kokusogaku .learning h3{font-weight:600}
.kokusogaku .schedule{background:var(--paper)}
.kokusogaku .schedule-summary{font-size:14px;color:#626556}
.kokusogaku .schedule-total{background:transparent;border-color:#baa16f;color:var(--ink);border-radius:0}
.kokusogaku .schedule-total strong{font-family:var(--serif);font-weight:500;color:#8d7549}
.kokusogaku .schedule-total small{color:#646557}
.kokusogaku .schedule-format{border-color:#c4bba6;background:transparent;box-shadow:none;border-radius:0}
.kokusogaku .schedule-format-head{background:#e7dfce;border-color:#c4bba6}
.kokusogaku .schedule-offline .schedule-format-head{background:#242e24;color:#f2ead7}
.kokusogaku .schedule-mode{color:inherit;font-size:10px;font-weight:500;letter-spacing:.12em}
.kokusogaku .schedule-count{background:transparent;border:1px solid #a48d6090;color:inherit;border-radius:0}
.kokusogaku .schedule-format h3{font-weight:600}
.kokusogaku .schedule-session-time{color:inherit}
.kokusogaku .schedule-date-year,.kokusogaku .schedule-date-weekday{color:#666958}
.kokusogaku .schedule-dates li{border-color:#cfc7b5}
.kokusogaku .schedule-dates li:nth-child(even){background:#ebe5d7}
.kokusogaku .schedule-dates strong{font-family:var(--serif);font-weight:600}
.kokusogaku .schedule-bottom{border-color:var(--line)}
.kokusogaku .schedule-note{color:#696b5f}
.kokusogaku .ai{background:#1d281f;color:#eae5d8}
.kokusogaku .ai .section-label,.kokusogaku .mastery .section-label{color:#cebb92}
.kokusogaku .ai h2{color:#f2ecdf;font-size:clamp(32px,3.4vw,48px)}
.kokusogaku .ai-intro{grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.kokusogaku .ai-intro p{font-size:14px;color:#c9cbbb;line-height:2.2}
.kokusogaku .ai-image{border:1px solid #b8996160;background:none}
.kokusogaku .ai-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.kokusogaku .ai-image figcaption{position:static;background:#172118;padding:22px 25px;border-top:1px solid #b8996160}
.kokusogaku .ai-image figcaption>span{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.08em;color:#e6d7b4}
.kokusogaku .ai-image figcaption>small{font-family:Inter,sans-serif;font-size:8px;letter-spacing:.17em;color:#bbc0b0;margin-top:8px}
.kokusogaku .ai-points{margin-top:64px;gap:0;border-block:1px solid #b8996150}
.kokusogaku .ai-points article{background:transparent;padding:32px 28px;border:0;border-right:1px solid #b8996150}
.kokusogaku .ai-points article:last-child{border-right:0}
.kokusogaku .ai-points article>span{font-size:9px;letter-spacing:.12em;color:#bfa779}
.kokusogaku .ai-points h3{font-size:26px;font-weight:500;color:#ebe3cf;margin:18px 0 12px}
.kokusogaku .ai-points p{font-size:13px;color:#c9cbbb}
.kokusogaku .ai-explanation{padding:32px 0;border:0;border-bottom:1px solid #b8996150;margin-top:0;gap:45px}
.kokusogaku .ai-explanation h3{font-family:var(--serif);font-size:22px;font-weight:500;color:#e0d4ba}
.kokusogaku .ai-explanation p{font-size:13px;color:#bdc5b8}
.kokusogaku .learning-path{background:#e6ddca;color:#293126;border:1px solid #b8996150;margin-top:70px}
.kokusogaku .learning-path>div>span{font-size:11px;color:#7b6b4b}
.kokusogaku .learning-path p{font-family:var(--serif);font-weight:500;font-size:25px}
.kokusogaku .learning-path li{border-color:#beb298}
.kokusogaku .learning-path li>strong{font-family:var(--serif);font-size:32px;font-weight:600;color:#293126}
.kokusogaku .learning-path li>span{font-size:9px;color:#797052}
.kokusogaku .learning-path li>small{font-size:12px;color:#58604d}
.kokusogaku .learning-path .text-link{color:#293126}
.kokusogaku .mastery{background:#ede7da}
.kokusogaku .mastery .section-label{color:#776543}
.kokusogaku .mastery-grid{gap:75px}
.kokusogaku .mastery-image{background:#273024;border:0}
.kokusogaku .mastery-image img{aspect-ratio:auto;width:100%;height:auto;object-fit:contain}
.kokusogaku .mastery-image figcaption{padding:24px;background:#273024;color:#e8dec5}
.kokusogaku .mastery-image figcaption>span{font-size:10px;letter-spacing:.1em}
.kokusogaku .mastery-image figcaption>strong{font-family:var(--serif);font-size:25px;font-weight:500;letter-spacing:.09em}
.kokusogaku .mastery-lead{font-family:var(--serif);font-size:24px;font-weight:500}
.kokusogaku .mastery-body>p:not(.mastery-lead){font-size:14px;color:#5c6254}
.kokusogaku .mastery-perspectives{gap:0;border-block:1px solid #c7bba0;padding-block:14px}
.kokusogaku .mastery-perspectives span{background:transparent;border-radius:0;font-size:11px;color:#7d693f}
.kokusogaku .voices{background:var(--paper)}
.kokusogaku .voices-heading p{font-size:14px;color:#626556}
.kokusogaku .video-card{border-color:#c2b59a;background:#e7dfcd;border-radius:0}
.kokusogaku .video-cover{background:#273024;border:1px solid #ab966955}
.kokusogaku .video-cover:before,.kokusogaku .video-cover:after{display:none}
.kokusogaku .video-label{font-size:10px;letter-spacing:.12em;color:#cbbb95}
.kokusogaku .video-cover-word{font-family:var(--serif);font-weight:500;letter-spacing:.12em;color:#e6dcc4}
.kokusogaku .video-coming{border-color:#b49d6b;background:transparent;color:#d2bb8c;border-radius:0}
.kokusogaku .video-meta{background:#e7dfcd}
.kokusogaku .video-meta h3{font-size:22px;font-weight:500}
.kokusogaku .video-topic{color:#7b6e4e;font-size:9px}
.kokusogaku .voices-description,.kokusogaku .voices-note{font-size:13px;color:#606556}
.kokusogaku .faq{background:#e8e1d1;border-block:1px solid #cdc2aa}
.kokusogaku .faq-list details{border-color:#c7bba3;background:transparent}
.kokusogaku .faq-q{font-family:var(--serif);font-weight:500;color:#8e7545}
.kokusogaku .faq-list summary{font-family:var(--serif);font-size:16px;font-weight:600}
.kokusogaku .faq-answer{font-size:13px;color:#555e4e}
.kokusogaku .entry{background:#1b261d;color:#ede7d8;padding-bottom:165px}
.kokusogaku .entry .section-label{color:#c8b287}
.kokusogaku .entry h2{color:#eee5d1}
.kokusogaku .entry-grid>div>p{font-size:14px;color:#cbd0bd}
.kokusogaku .entry-card{background:#f0ebdf;color:#293126;border:1px solid #b9a377;box-shadow:none;padding:38px}
.kokusogaku .entry-small{color:#7c704f;font-size:10px;letter-spacing:.05em}
.kokusogaku .entry-logo{height:62px;width:52px;object-fit:contain}
.kokusogaku .entry-brand{border-color:#cfc4ab}
.kokusogaku .entry-card h3{font-size:33px;font-weight:600}
.kokusogaku .entry-card .entry-line-intro{color:#4e5846;font-size:13px}
.kokusogaku .entry-card .button-line-official{border-radius:2px;background:#007f39;border:1px solid #047b37;box-shadow:0 3px 0 #04682f;min-height:170px;color:#fff}
.kokusogaku .entry-card .button-line-official:hover{background:#006e35;box-shadow:0 3px 0 #04682f}
.kokusogaku .line-action-copy strong{font-family:var(--serif);font-weight:600;font-size:25px;letter-spacing:.03em}
.kokusogaku .line-action-copy small{font-weight:400;font-size:12px}
.kokusogaku .entry-review{font-size:12px;color:#36452e;border-color:#c5baa0}
.kokusogaku .entry-word{font-family:var(--serif);font-size:170px;letter-spacing:.18em;font-weight:600;bottom:-30px;color:#b99e65;opacity:.08}
.kokusogaku .site-footer{padding-block:42px;color:#515846;background:var(--paper)}
.kokusogaku .site-footer p{font-size:10px;color:#686b5d}
.kokusogaku .site-footer small{font-size:10px}
.kokusogaku .back-top{font-size:10px;border-color:#c4b594;color:#5d654f}
.kokusogaku .mobile-bottom-cta>a{border-radius:2px;border-color:#d4bf9570;box-shadow:none}
.kokusogaku .sticky-trial-link{background:#dfc18b;color:#293126}
.kokusogaku .sticky-trial-link:hover{background:#efd3a0}
.kokusogaku .sticky-entry-link{background:#007f39;color:#fff}
.kokusogaku .sticky-entry-link:hover{background:#006e35}
.kokusogaku .mobile-bottom-cta strong{font-family:var(--serif);font-weight:600;letter-spacing:.01em}
.kokusogaku .mobile-bottom-cta small{font-weight:500}
@media(min-width:1600px){.kokusogaku .hero-content,.kokusogaku .hero-bottom{width:1280px}}
@media(max-width:1100px){
 .kokusogaku .desktop-nav{gap:16px}.kokusogaku .desktop-nav a{font-size:11px}
 .kokusogaku .brand-type{font-size:25px}.kokusogaku .site-header{padding-inline:28px}
 .kokusogaku .about-grid{gap:55px}.kokusogaku .trial-panel{gap:38px;padding:38px;grid-template-columns:210px 1fr}
 .kokusogaku .ai-intro{gap:40px}.kokusogaku .mastery-grid{gap:40px}
 .kokusogaku .hero-content,.kokusogaku .hero-bottom{width:calc(100% - 100px)}
 .kokusogaku .quick-nav a{padding-inline:17px;gap:12px}.kokusogaku .quick-nav strong{font-size:12px}
 .kokusogaku .trial-content h2{font-size:27px}.kokusogaku .trial-form-button{flex-direction:column;gap:12px}
}
@media(max-width:900px){
 .kokusogaku .hero{min-height:760px;height:850px;max-height:none}
 .kokusogaku .hero h1{font-size:118px}.kokusogaku .hero-content{padding-top:45px;padding-bottom:155px}
 .kokusogaku .hero:after{background:linear-gradient(90deg,#111a14e8,#111a1480 70%,#111a1433),linear-gradient(0deg,#111a14,transparent 50%)}
 .kokusogaku .hero-bottom{gap:21px}.kokusogaku .hero-bottom>span{flex-direction:column;align-items:flex-start;gap:5px}
 .kokusogaku .foundation-story{gap:35px}.kokusogaku .foundation-text h3{font-size:25px}
 .kokusogaku .ai-intro{grid-template-columns:1fr;gap:45px}.kokusogaku .ai-image{max-width:100%}
 .kokusogaku .ai-intro p{max-width:600px}.kokusogaku .entry-card{padding:28px}
}
@media(max-width:700px){
 .kokusogaku .wrap{width:calc(100% - 44px)}
 .kokusogaku .section{padding-block:76px}
 .kokusogaku h2{font-size:30px;line-height:1.85;letter-spacing:.035em}
 .kokusogaku .site-header{min-height:78px;padding:15px 22px}
 .kokusogaku .brand-logo{width:30px;height:36px}
 .kokusogaku .brand{gap:12px}.kokusogaku .brand-type{font-size:25px}.kokusogaku .brand-type>span{font-size:7px;margin-top:4px}
 .kokusogaku .hero{min-height:760px;height:calc(100svh - 78px);max-height:930px;align-items:flex-start}
 .kokusogaku .hero-image img{object-position:62% center}
 .kokusogaku .hero:after{background:linear-gradient(90deg,#0f1912d9,#0f19126b 90%),linear-gradient(0deg,#101b12,transparent 55%)}
 .kokusogaku .hero-content{width:calc(100% - 56px);margin:0 auto;padding:50px 0 150px}
 .kokusogaku .hero .eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:24px}
 .kokusogaku .hero-pretitle{font-size:11px;letter-spacing:.08em;margin-bottom:16px}
 .kokusogaku .hero h1{font-size:clamp(78px,22vw,125px);letter-spacing:.08em;line-height:1.4;margin-left:-.06em}
 .kokusogaku .hero-reading{font-size:10px;letter-spacing:.4em;margin-bottom:28px}
 .kokusogaku .hero-statement{font-size:26px;line-height:1.9;letter-spacing:.08em;margin-bottom:22px}
 .kokusogaku .hero-description{font-size:11px;line-height:2.1;letter-spacing:0}
 .kokusogaku .hero-actions{margin-top:28px}.kokusogaku .hero .button{min-height:54px;font-size:12px;padding:15px 22px;gap:30px}
 .kokusogaku .hero-bottom{width:calc(100% - 56px);gap:0;justify-content:space-between;padding:23px 0;bottom:0}
 .kokusogaku .hero-bottom>span,.kokusogaku .hero-bottom>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:19px;letter-spacing:.08em}
 .kokusogaku .hero-bottom>span>span{font-size:8px;letter-spacing:0}.kokusogaku .hero-bottom>i{height:25px;margin-inline:8px}
 .hero-side-note{right:19px;top:38px;font-size:10px;letter-spacing:.2em}
 .kokusogaku .quick-nav{padding-block:12px}.kokusogaku .quick-nav a,.kokusogaku .quick-nav a:first-child,.kokusogaku .quick-nav a:last-child{padding:21px 0;gap:20px}
 .kokusogaku .quick-nav strong{font-size:15px}.kokusogaku .quick-number{font-size:28px}.kokusogaku .quick-nav small{font-size:8px}
 .kokusogaku .section-label{margin-bottom:26px;font-size:11px;letter-spacing:.06em}
 .kokusogaku .section-label>span{font-size:9px}
 .kokusogaku .about-grid{grid-template-columns:1fr;gap:44px}.kokusogaku .about h2{font-size:34px;line-height:1.8}
 .about-signature{font-size:13px;margin-top:23px}.kokusogaku .about-questions .about-lead{font-size:23px;line-height:1.9}
 .kokusogaku .about-questions>p{font-size:13px}.kokusogaku .question-answer{font-size:12px!important;line-height:2}
 .kokusogaku .trial-section{padding-block:40px}.kokusogaku .trial-panel{grid-template-columns:1fr;padding:28px 24px;gap:32px}
 .kokusogaku .trial-date{display:flex;align-items:center;flex-direction:column;justify-content:center;padding:0 0 27px;border:0;border-bottom:1px solid #b8996150}
 .kokusogaku .trial-date-label{font-size:14px}.kokusogaku .trial-day{font-size:70px}.kokusogaku .trial-year{font-size:12px}
 .kokusogaku .trial-free{font-size:11px;margin-top:17px}.kokusogaku .trial-content h2{font-size:25px;line-height:1.7}
 .kokusogaku .trial-note{font-size:12px}.kokusogaku .trial-description{font-size:12px;line-height:2.15}.kokusogaku .trial-kicker{font-size:10px}
 .kokusogaku .trial-content h2>span{display:block}
 .kokusogaku .trial-form-button{padding:20px 12px;gap:13px}.kokusogaku .trial-form-copy strong{font-size:22px}.kokusogaku .trial-form-copy small{font-size:10px}
 .kokusogaku .trial-entry-link strong{font-size:14px}.kokusogaku .trial-entry-link small{font-size:10px}
 .kokusogaku .section-heading h2{font-size:30px;line-height:1.85}.kokusogaku .section-heading>p:last-child{font-size:12px;line-height:2.1}
 .kokusogaku .foundation-story{gap:36px;margin-top:34px}.kokusogaku .foundation-image figcaption{padding:22px}.kokusogaku .foundation-image figcaption strong{font-size:22px}
 .kokusogaku .foundation-text h3{font-size:27px}.kokusogaku .foundation-text p{font-size:13px}
 .kokusogaku .self-grid{margin-top:42px}.kokusogaku .self-grid article{padding:25px 22px}
 .kokusogaku .self-grid .self-top{grid-row:1 / span 3;margin:0;border-bottom:0;border-right:1px solid #cfc4ae;width:100%;height:132px}
 .self-symbol{font-size:80px}.kokusogaku .self-grid h3{font-size:28px}.kokusogaku .self-number{font-size:10px}
 .kokusogaku .self-grid article>p:not(.en-label){font-size:12px;line-height:2}.kokusogaku .self-question{font-size:11px}
 .kokusogaku .ability-line{padding:27px 9px}.kokusogaku .ability-line>span{font-size:9px;letter-spacing:.03em}
 .kokusogaku .ability-line p{font-family:"Noto Sans JP",sans-serif;font-size:clamp(10px,2.9vw,12px);letter-spacing:0;line-height:1.9;white-space:nowrap}
 .kokusogaku .pillar-kanji{font-size:43px}.kokusogaku .pillar-title strong{font-size:19px}.kokusogaku .pillar-detail{font-size:12px}
 .kokusogaku .schedule-summary{font-size:12px}.kokusogaku .schedule-note{font-size:11px}
 .kokusogaku .ai h2{font-size:31px}.kokusogaku .ai-intro{gap:34px}.kokusogaku .ai-intro p{font-size:13px}
 .kokusogaku .ai-image figcaption{padding:21px}.kokusogaku .ai-image figcaption>span{font-size:23px}
 .kokusogaku .ai-points{margin-top:37px;grid-template-columns:1fr}.kokusogaku .ai-points article{border-right:0;border-bottom:1px solid #b8996150;padding:27px 0}
 .kokusogaku .ai-points article:last-child{border-bottom:0}.kokusogaku .ai-points h3{font-size:25px;margin-top:13px}
 .kokusogaku .ai-explanation{gap:20px;padding:30px 0}.kokusogaku .ai-explanation h3{font-size:23px}.kokusogaku .ai-explanation p{font-size:12px}
 .kokusogaku .learning-path{margin-top:45px}.kokusogaku .learning-path p{font-size:21px}.kokusogaku .learning-path li>strong{font-size:30px}.kokusogaku .learning-path li>small{font-size:11px}
 .kokusogaku .mastery-grid{gap:36px}.kokusogaku .mastery-lead{font-size:23px}.kokusogaku .mastery-body>p:not(.mastery-lead){font-size:13px}
 .kokusogaku .mastery-image figcaption>strong{font-size:23px}.kokusogaku .mastery-perspectives span{font-size:10px}
 .kokusogaku .voices-heading p{font-size:13px}.kokusogaku .video-meta h3{font-size:20px}.kokusogaku .video-label{font-size:8px;letter-spacing:.05em}
 .kokusogaku .video-cover-word{font-size:35px}.kokusogaku .voices-description{font-size:12px}.kokusogaku .voices-note{font-size:11px}
 .kokusogaku .faq-list summary{font-size:14px}.kokusogaku .faq-answer{font-size:12px}
 .kokusogaku .entry{padding-bottom:130px}.kokusogaku .entry-grid>div>p{font-size:13px}.kokusogaku .entry-card{padding:25px 22px}
 .kokusogaku .entry-card h3{font-size:30px}.kokusogaku .entry-small{font-size:8px}.kokusogaku .entry-line-intro{font-size:12px}
 .kokusogaku .line-action-copy strong{font-size:23px}.kokusogaku .entry-word{font-size:clamp(76px,22vw,110px);letter-spacing:.1em;left:22px;bottom:-8px}
 .kokusogaku .site-footer{padding-bottom:130px}.kokusogaku .site-footer .brand-type{font-size:24px}
 .kokusogaku .mobile-bottom-cta>a{min-height:76px;padding:10px 5px}.kokusogaku .mobile-bottom-cta strong{font-size:clamp(12px,3.45vw,18px)}
 .kokusogaku .mobile-bottom-cta small{font-size:clamp(9px,2.5vw,12px)}
}
@media(max-width:370px){
 .kokusogaku .wrap{width:calc(100% - 36px)}.kokusogaku .hero-content,.kokusogaku .hero-bottom{width:calc(100% - 44px)}
 .kokusogaku .hero{min-height:730px}.kokusogaku .hero h1{font-size:78px}.kokusogaku .hero-statement{font-size:24px}.kokusogaku .hero-pretitle{font-size:10px}.kokusogaku .hero-description{font-size:10px}
 .kokusogaku .quick-nav strong{font-size:13px}.kokusogaku .trial-panel{padding:26px 18px}.kokusogaku .trial-content h2{font-size:23px}
 .kokusogaku .trial-form-copy strong{font-size:19px}.kokusogaku .trial-form-copy small{font-size:9px}.kokusogaku .trial-entry-link strong{font-size:12px}
 .kokusogaku .self-grid article{padding:23px 16px}.kokusogaku .self-grid h3{font-size:25px}.self-symbol{font-size:72px}
 .kokusogaku .self-grid article>p:not(.en-label){font-size:11px}.kokusogaku .entry-card{padding:24px 18px}.kokusogaku .line-action-copy strong{font-size:22px}
 .kokusogaku .entry-review{font-size:11px}.kokusogaku .hero-bottom>span>span{font-size:8px}.kokusogaku .hero-bottom>i{margin-inline:7px}
}

/* Final editorial rules: a shared reading scale, spacing and keyboard focus. */
body.kokusogaku{--copy-size:15px;--copy-leading:2;--note-size:12px;--label-size:10px;--space-copy:24px;--gold-text:#6f5b3b}
.kokusogaku .about-questions>p:not(.about-lead):not(.question-answer),
.kokusogaku .section-heading>p:last-child,
.kokusogaku .trial-description,
.kokusogaku .foundation-text p,
.kokusogaku .self-grid article>p:not(.en-label),
.kokusogaku .curriculum-intro p:not(.section-label),
.kokusogaku .pillar-detail,
.kokusogaku .pillar-detail ul,
.kokusogaku .learning-steps p,
.kokusogaku .schedule-summary,
.kokusogaku .ai-intro p,
.kokusogaku .ai-points p,
.kokusogaku .ai-explanation p,
.kokusogaku .mastery-body>p:not(.mastery-lead),
.kokusogaku .voices-heading>p,
.kokusogaku .voices-description,
.kokusogaku .faq-answer,
.kokusogaku .entry-grid>div>p:not(.section-label),
.kokusogaku .entry-card .entry-line-intro{font-size:var(--copy-size);line-height:var(--copy-leading)}
.kokusogaku .question-answer{font-size:var(--copy-size)!important;line-height:var(--copy-leading)}
.kokusogaku .self-question,
.kokusogaku .detail-hint,
.kokusogaku .trial-note,
.kokusogaku .trial-form-note,
.kokusogaku .schedule-note,
.kokusogaku .voices-note{font-size:var(--note-size);line-height:1.9}
.kokusogaku .self-grid .en-label,
.kokusogaku .ai-points article>span,
.kokusogaku .ai-image figcaption>small,
.kokusogaku .video-label,
.kokusogaku .video-topic,
.kokusogaku .entry-small{font-size:var(--label-size)}
.kokusogaku .pillar-detail,
.kokusogaku .learning-steps p,
.kokusogaku .learning-steps article>span{color:#555e4e}
.kokusogaku .about-signature,
.kokusogaku .question-answer strong,
.kokusogaku .self-grid .en-label,
.kokusogaku .pillar-title small,
.kokusogaku .pillar-no,
.kokusogaku .learning-path>div>span,
.kokusogaku .learning-path li>span,
.kokusogaku .mastery-perspectives span,
.kokusogaku .video-topic,
.kokusogaku .faq-q,
.kokusogaku .entry-small{color:var(--gold-text)}
.kokusogaku .entry-review{font-size:13px;line-height:1.8;gap:16px;min-height:48px}
.kokusogaku .section-heading>p:last-child,
.kokusogaku .foundation-text p+p,
.kokusogaku .about-questions>p+p,
.kokusogaku .trial-description,
.kokusogaku .ai-intro>div>p,
.kokusogaku .mastery-body>p+p{margin-top:var(--space-copy)}
.kokusogaku .learning h2>span{display:inline-block}
.kokusogaku .self-grid .self-question{padding-top:16px}
.kokusogaku .self-grid-visual article>p:not(.en-label){margin-bottom:16px}
.kokusogaku a:focus-visible,
.kokusogaku button:focus-visible,
.kokusogaku summary:focus-visible,
.kokusogaku .button-line-official:focus-visible,
.kokusogaku .mobile-bottom-cta>a:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 5px #202620!important}
@media(max-width:1100px){.kokusogaku .trial-form-button{gap:20px}}
@media(min-width:701px) and (max-width:900px){
 .kokusogaku .hero-bottom>span,.kokusogaku .hero-bottom>span:first-child{align-items:flex-start;gap:5px}
}
@media(max-width:700px){
 body.kokusogaku{--copy-size:14px}
 .kokusogaku .section{padding-block:80px}
 .kokusogaku .trial-section{padding-block:40px}
 .kokusogaku .entry{padding-bottom:130px}
 .kokusogaku .hero-description{font-size:12px;line-height:2}
 .kokusogaku .hero-bottom>span>span{font-size:10px}
 .kokusogaku .quick-nav small{font-size:10px}
 .kokusogaku .learning h2>span{display:block}
 .kokusogaku .self-grid-visual article{grid-template-columns:minmax(80px,30%) minmax(0,1fr);column-gap:16px}
 .kokusogaku .self-grid-visual article>p:not(.en-label){margin-bottom:0}
 .kokusogaku .self-grid-visual .self-question{margin-top:16px}
 .kokusogaku .self-grid .self-top{min-height:132px;height:100%}
 .kokusogaku .mobile-menu{top:78px}
 .kokusogaku .menu-toggle{width:44px;height:44px;align-items:center}
}

/* Keep the activated video dialog compact instead of inheriting section headings. */
.kokusogaku .dialog-header h2{font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:600;line-height:1.6;letter-spacing:0}
@media(max-width:700px){.kokusogaku .dialog-header h2{font-size:13px}}
