:root{--brand:#f6ad24;--brand-dark:#d97900;--ink:#342b20;--muted:#756a5d;--paper:#fffaf2;--line:#ead9bf}
body{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",system-ui,sans-serif;color:var(--ink);background:#fffdf9}
.test-environment-banner{position:sticky;top:0;z-index:1090}
  .site-header{background:#fff;border-bottom:1px solid var(--line)}.brand-logo{display:block;width:min(340px,48vw);height:auto;object-fit:contain}.navbar-toggler{border-color:var(--line)}
  .header-fp-balance{color:var(--brand-dark);background:#fff5df;border:1px solid #f2c675;border-radius:.65rem;padding:.45rem .75rem;font-size:clamp(1rem,1.8vw,1.35rem);font-weight:700;line-height:1.2;white-space:nowrap}.header-fp-balance strong{font-size:1.18em;font-weight:900}
.nav-link{color:var(--ink)!important;font-weight:600}.nav-link:hover,.nav-link:focus{color:var(--brand-dark)!important}
.btn-brand,.public-content button[type=submit]{color:#fff;background:var(--brand-dark);border:1px solid var(--brand-dark);font-weight:700;border-radius:.375rem;padding:.5rem 1rem}
.btn-brand:hover,.public-content button[type=submit]:hover{color:#fff;background:#b96500;border-color:#b96500}.btn-outline-brand{color:var(--brand-dark);border-color:var(--brand-dark);font-weight:700}.btn-outline-brand:hover{color:#fff;background:var(--brand-dark)}
.public-content{max-width:1100px;margin-inline:auto}.public-content>h1,.course-page>h1{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:1.5rem}
.public-content form:not(.video-start-form){max-width:720px}.public-content form .input{margin-bottom:1rem}.public-content label{display:block;font-weight:700;margin-bottom:.35rem}
.public-content input:not([type=checkbox]):not([type=radio]),.public-content select,.public-content textarea{display:block;width:100%;padding:.65rem .75rem;border:1px solid #cfc5b8;border-radius:.375rem;background:#fff}
.public-content input:focus,.public-content select:focus,.public-content textarea:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem rgb(246 173 36 / 20%);outline:0}.public-content .error-message{color:#b02a37}
.message{padding:1rem;border-radius:.5rem;background:#fff3cd;border:1px solid #ffecb5}.public-content table{width:100%;margin-bottom:1rem;border-color:var(--line)}.public-content th,.public-content td{padding:.75rem;border-bottom:1px solid var(--line);vertical-align:middle}
.public-content dl{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.5rem 1rem}.public-content dt{font-weight:700}.public-content dd{margin:0}.public-content section:not(.user-login){padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:#fff;margin-bottom:1.5rem}
.site-footer{border-top:1px solid var(--line);color:var(--muted);background:#fff}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.video-card{display:flex;flex-direction:column;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 .35rem 1rem rgb(78 48 8 / 6%)}
.video-thumbnail{aspect-ratio:16/9;margin:-1.25rem -1.25rem 1rem;overflow:hidden;border-radius:1rem 1rem 0 0;background:linear-gradient(135deg,#fff3d3,#ffd47a)}.video-thumbnail img{width:100%;height:100%;object-fit:cover}.video-thumbnail__placeholder{display:grid;width:100%;height:100%;place-items:center;color:var(--brand-dark);font-size:clamp(1.2rem,4vw,2rem);font-weight:800}.video-series{display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin-bottom:.65rem;color:var(--brand-dark);font-weight:700}.video-series--detail{margin-bottom:.75rem}
.video-card a.btn{margin-top:auto;display:inline-block;color:#fff;background:var(--brand-dark);padding:.55rem .85rem;border-radius:.375rem;text-decoration:none;text-align:center}.video-player video{width:100%;aspect-ratio:16/9;background:#17120d;border-radius:1rem}.user-login{max-width:680px;margin-inline:auto}.user-login__logo{width:min(320px,75vw)}
.mypage-heading h1{font-size:clamp(2rem,4vw,3rem);font-weight:800}.mypage-profile-card,.mypage-points-card{border-color:#f2c675!important;box-shadow:0 .5rem 1.4rem rgb(78 48 8 / 7%)}.mypage-card-title{font-size:1.15rem;font-weight:800;padding-bottom:.75rem;margin-bottom:1rem;border-bottom:3px solid #ffe0a3}.public-content .mypage-profile-list{display:grid;grid-template-columns:minmax(8.5rem,auto) minmax(0,1fr);gap:0}.mypage-profile-list dt,.mypage-profile-list dd{padding:.8rem 0;border-bottom:1px solid var(--line)}.mypage-profile-list dt{padding-right:1.25rem;white-space:nowrap}.mypage-password-action{margin-top:.25rem}.mypage-balance-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0}.mypage-point-balance{color:var(--brand-dark);font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1}.mypage-point-balance span{font-size:.48em}.mypage-purchase-link{white-space:nowrap}.mypage-expiry-warning{color:#b02a37;font-weight:700}.mypage-primary-action{font-size:1.05rem}.mypage-secondary-actions .btn{background:#fff}.mypage-body-logout form{max-width:none!important}
  @media(max-width:767.98px){.brand-logo{width:min(220px,58vw)}.site-header{position:static!important}.public-content dl{grid-template-columns:1fr}.public-content table{display:block;overflow-x:auto;white-space:nowrap}}
@media(max-width:575.98px){.public-content .mypage-profile-list{grid-template-columns:1fr}.mypage-profile-list dt{padding-bottom:.2rem;border-bottom:0}.mypage-profile-list dd{padding-top:.2rem}.mypage-balance-row{align-items:stretch;flex-direction:column}.mypage-purchase-link{align-self:flex-start}}
.eyebrow{color:var(--brand-dark);font-size:.78rem;font-weight:800;letter-spacing:.12em}.content-card,.form-card,.filter-panel,.empty-state{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:clamp(1rem,3vw,2rem)}.form-card{max-width:720px}.filter-panel{max-width:none!important}.badge-unstarted{color:var(--brand-dark);background:#fff1cf;border:1px solid #ffd47a}.point-cost{color:var(--brand-dark);white-space:nowrap}.course-page .video-card{padding:0;overflow:hidden}.course-page .video-card .video-thumbnail{margin:0;border-radius:0}.course-page .video-card a.stretched-link{color:#fff}.accordion-button:not(.collapsed){color:var(--brand-dark);background:#fff5df;box-shadow:none}.accordion-button:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem rgb(246 173 36 / 20%)}
.site-header .navbar>.container{min-width:0}.site-header .navbar-brand{min-width:0;margin-right:0}.site-header .navbar-toggler{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.35rem;min-width:5.75rem;min-height:2.75rem;padding:.4rem .55rem;color:var(--ink);background:#fff;white-space:nowrap}.navbar-toggler-label{font-size:.875rem;font-weight:700}.public-content,.public-content>*{min-width:0}.public-content img,.public-content svg,.public-content video{max-width:100%}.public-content input:not([type=checkbox]):not([type=radio]),.public-content select,.public-content textarea,.public-content button{max-width:100%;box-sizing:border-box}.confirmation-code-field-heading{min-width:0;flex-wrap:wrap}.confirmation-code-help{display:inline-grid!important;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;padding:0!important;place-items:center;font-size:1.15rem;font-weight:800;line-height:1;touch-action:manipulation}.confirmation-code-help:focus-visible{outline:.2rem solid var(--brand-dark);outline-offset:.15rem}
@media(min-width:1200px){.site-header .navbar>.container{flex-wrap:nowrap}.site-header .navbar-brand{flex:0 1 15rem}.site-header .brand-logo{width:min(240px,100%)}.site-header .header-fp-balance{flex:0 0 auto;padding:.35rem .55rem;font-size:.92rem}.site-header .navbar-toggler{display:none}.site-header .navbar-collapse{min-width:0}.site-header .user-primary-nav{flex-wrap:nowrap;min-width:0;white-space:nowrap}.site-header .user-primary-nav .nav-link{flex:0 0 auto;padding-inline:.4rem;font-size:.92rem}.site-header .header-logout-form,.site-header .header-logout-form button{flex:0 0 auto;white-space:nowrap}}
@media(max-width:1199.98px){.site-header .navbar>.container{flex-wrap:wrap;gap:.5rem}.site-header .navbar-brand{flex:1 1 auto}.site-header .brand-logo{width:min(220px,calc(100vw - 9rem))}.site-header .header-fp-balance{order:4;width:100%;margin:.5rem 0 0!important;text-align:center}.site-header .navbar-collapse{flex-basis:100%;min-width:0}.site-header .navbar-nav{align-items:stretch;padding-top:.5rem}.site-header .navbar-nav .nav-link,.site-header .navbar-nav .btn,.site-header .navbar-nav form,.site-header .navbar-nav form button{width:100%;max-width:100%;text-align:center}.site-header .navbar-nav .btn,.site-header .navbar-nav form button{white-space:normal}}
@media(max-width:767.98px){.public-content section:not(.user-login){padding:clamp(1rem,4vw,1.25rem)}.public-content .row>*{min-width:0}}
@media(max-width:359.98px){.site-header .navbar-toggler{min-width:5.25rem;padding-inline:.4rem}.navbar-toggler-label{font-size:.8rem}}
