@import "https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600;700;900&family=Noto+Sans+JP:wght@400;500;600;700&family=DM+Sans:wght@300;400;500;600&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg:#fff;--bg-card:#fff;--bg-secondary:#f8f9fa;--bg-hover:#f1f3f5;--border:#e2e8f0;--accent:#d4a843;--accent-hover:#c49a3a;--accent-dim:#fff8e7;--navy:#1b3d6e;--navy-light:#234b85;--text-1:#1a1a2e;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:20px;--text-2:#4a5568;--text-3:#6b7280;--blue:#2563eb;--red:#dc2626;--green:#15803d;--h1:clamp(24px,5vw,32px);--h2:clamp(20px,3.5vw,24px);--h3:18px;--badge-open-bg:#15803d1a;--badge-open-color:#15803d;--badge-confirmed-bg:#2563eb1a;--badge-confirmed-color:#2563eb;--max-content:960px;--max-form:640px;--max-narrow:520px;--max-legal:800px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:DM Sans,Noto Sans JP,sans-serif;font-size:15px;line-height:1.6}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}.btn-primary{background-color:var(--navy);color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-flex}.btn-primary:hover{background-color:var(--navy-light);text-decoration:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--text-2);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0000;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s;display:inline-flex}.btn-secondary:hover{background-color:var(--bg-hover);color:var(--text-1);text-decoration:none}.btn-outline-accent{color:var(--accent);border:2px solid var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#0000;border-radius:8px;justify-content:center;align-items:center;padding:12px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-flex}.btn-outline-accent:hover{background-color:var(--accent-dim);text-decoration:none}.btn-danger{color:var(--red);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background-color:#f851491f;border:1px solid #f851494d;border-radius:8px;justify-content:center;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-flex}.btn-danger:hover{background-color:#f8514933;text-decoration:none}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:border-color .2s}.card:hover{border-color:#e6b4504d}.card-static{transition:none}.card-static:hover{border-color:var(--border)}.input-field{background-color:var(--bg);width:100%;color:var(--text-1);border:1px solid var(--border);box-sizing:border-box;border-radius:8px;outline:none;padding:12px 16px;font-family:DM Sans,Noto Sans JP,sans-serif;font-size:15px;transition:border-color .2s}.input-field:focus{border-color:var(--accent)}.input-field::placeholder{color:var(--text-3)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)!important}.badge{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.section-heading{color:var(--text-1);border-bottom:2px solid var(--accent);padding-bottom:8px;font-family:Noto Serif JP,serif;font-size:18px;font-weight:700}@media (max-width:768px){.hero-section{padding-top:60px!important;padding-bottom:48px!important}.section-padding{padding-top:48px!important;padding-bottom:48px!important}.section-padding-sm{padding-top:32px!important;padding-bottom:32px!important}.cta-stack{flex-direction:column!important;align-items:center!important}.cta-stack a,.cta-stack [role=button]{text-align:center!important;width:100%!important;max-width:320px!important}.card-grid-mobile-1{grid-template-columns:1fr!important}.report-form-mobile{flex-direction:column!important;align-items:stretch!important}.report-form-mobile select,.report-form-mobile button,.report-form-mobile [role=button]{width:100%!important}.calendar-cell{min-height:48px!important}.footer-mobile{text-align:center!important;flex-direction:column!important;gap:12px!important}.home-book-cta-row{flex-direction:column!important}.stats-number{font-size:24px!important}.course-info-wrap{gap:8px!important}.login-form-container{padding:24px 16px!important}.login-form-card{padding:24px!important}}@media (max-width:480px){.hero-section{padding-top:40px!important;padding-bottom:32px!important}.tokushoho-row{flex-direction:column!important}.tokushoho-label{width:100%!important;min-width:0!important}.tokushoho-value{width:100%!important}.form-grid-2col{grid-template-columns:1fr!important}}@media (max-width:768px){.sticky-cta-bar{display:flex!important}}.sticky-cta-bar{display:none}input:-webkit-autofill{caret-color:var(--text-1);transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-1)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}input:-webkit-autofill:hover{caret-color:var(--text-1);transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-1)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}input:-webkit-autofill:focus{caret-color:var(--text-1);transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-1)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}input:-webkit-autofill:active{caret-color:var(--text-1);transition:background-color 5000s ease-in-out;-webkit-text-fill-color:var(--text-1)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
