@layer reset,base,components,utilities;@layer reset{*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;margin:0;overscroll-behavior:none;padding:0}}:root{color-scheme:light dark;--header-height:100px;--primary-color:var(--color-primary);--primary-hover:var(--color-primary-hover);--header-bg:var(--color-bg-surface);--header-text:var(--color-text-main);--header-border:var(--color-border);--footer-bg:var(--color-bg-surface);--footer-text:var(--color-text-muted);--body-text:var(--color-text-main);--body-bg:var(--color-bg-base);--content-bg:var(--color-bg-base);--surface-bg:var(--color-bg-surface);--nav-text:var(--color-text-main);--muted-text:var(--color-text-muted);--subtle-text:var(--color-text-muted);--light-border:var(--color-border);--shadow:var(--shadow-sm);--shadow-hover:var(--shadow-md);--transition-default:var(--transition-normal);--font-display:swap;--danger-color:var(--color-error);--danger-dark:var(--color-error);--accent-red:var(--color-error);--error-color:var(--color-error);--secondary-text:var(--color-text-muted);--form-text:var(--color-text-main);--disabled-bg:var(--color-border)}@layer base{body{background-color:var(--body-bg);color:var(--body-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;letter-spacing:var(--letter-spacing-normal);line-height:1.85;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt";line-break:strict;overflow-wrap:break-word;word-break:auto-phrase}h1,h2,h3,h4,h5,h6{color:var(--color-heading);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1.3;text-wrap:balance}[data-theme=dark] body{font-weight:var(--font-weight-normal);letter-spacing:calc(var(--letter-spacing-normal) + .005em);-webkit-font-smoothing:subpixel-antialiased}:focus-visible{border-radius:2px;box-shadow:0 0 0 2px var(--color-bg-base),0 0 0 4px var(--primary-color);outline:none}[tabindex="-1"]:focus{box-shadow:none!important;outline:none!important}.skip-link:focus-visible{box-shadow:none}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) body{font-weight:var(--font-weight-normal);letter-spacing:calc(var(--letter-spacing-normal) + .005em);-webkit-font-smoothing:subpixel-antialiased}}@layer components{.container{margin:0 auto;max-width:1280px;overflow:hidden;padding:0 40px;width:85%}.content-section{background-color:var(--content-bg);border:1px solid var(--light-border);border-radius:10px;box-shadow:var(--shadow);margin-bottom:30px;padding:30px 0}.content-section:last-child{margin-bottom:0}.btn,.btn-external,.btn-feature{background-color:var(--primary-color);border:none;border-radius:6px;box-shadow:var(--shadow-sm);color:var(--color-text-on-primary);cursor:pointer;display:inline-block;font-size:.95em;font-weight:700;padding:10px 22px;text-decoration:none;transition:background-color var(--transition-smooth),transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}.btn-external:hover,.btn-feature:hover,.btn:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px) scale(1.02)}.btn-external:active,.btn-feature:active,.btn:active{transform:translateY(-1px)}header{backdrop-filter:blur(12px) saturate(1.8);-webkit-backdrop-filter:blur(12px) saturate(1.8);background-color:var(--header-bg);border-bottom:1px solid var(--header-border);box-shadow:0 4px 30px #00000008;color:var(--header-text);left:0;padding:20px 0;position:sticky;top:0;transition:background-color var(--transition-smooth),backdrop-filter var(--transition-smooth);width:100%;z-index:1000}header .container{align-items:center;display:flex;justify-content:space-between;overflow:visible}.header-logo{flex-shrink:0;font-size:2em;font-weight:700}.header-logo-link{color:inherit;display:block;text-decoration:none;transition:opacity .3s ease}.header-logo-link:hover{opacity:.7;text-decoration:none}.header-logo .subtitle{color:var(--subtle-text);display:none;font-size:.65em;font-weight:400;margin-left:10px;vertical-align:middle}@media(min-width:640px){.header-logo .subtitle{display:inline-block}}.header-right{gap:.5rem}.header-right,header nav ul{align-items:center;display:flex}header nav ul{list-style:none}header nav ul li{display:inline;margin-left:25px}header nav ul li:first-child{margin-left:0}.nav-hamburger{background:none;border:none;border-radius:4px;color:var(--nav-text);cursor:pointer;display:none;flex-direction:column;flex-shrink:0;gap:5px;height:36px;justify-content:center;padding:6px;transition:background-color .2s ease;width:36px}.nav-hamburger:hover{background-color:var(--color-bg-subtle)}.hamburger-line{background-color:currentColor;border-radius:2px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:20px}.nav-hamburger[aria-expanded=true] .hamburger-line:first-child{transform:translateY(7px) rotate(45deg)}.nav-hamburger[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger[aria-expanded=true] .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}header nav ul li a{color:var(--nav-text);font-size:1.1em;padding-bottom:4px;position:relative;text-decoration:none;transition:color .3s ease}header nav ul li a:after{background-color:var(--color-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.65,0,.35,1);width:100%}header nav ul li a:hover{color:var(--color-primary)}header nav ul li a:hover:after{transform:scaleX(1);transform-origin:left}footer{border-top:1px solid var(--color-border);color:var(--footer-text);font-size:.9em;margin-top:60px}.footer-main{background-color:var(--footer-bg);padding:60px 0 48px}.footer-grid{align-items:start;display:grid;gap:40px;grid-template-columns:1fr auto}.footer-brand{text-align:left}.footer-site-name{color:var(--color-text-main);font-size:1.1em;font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);margin-bottom:12px}.footer-description{color:var(--color-text-muted);font-size:.875rem;line-height:1.7;margin-bottom:0;max-width:38em}footer .non-profit-statement{color:var(--color-text-muted);font-size:.78rem;letter-spacing:var(--letter-spacing-wide);margin-bottom:0;margin-top:10px}.footer-nav{min-width:160px}.footer-nav ul{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0;text-align:right}.footer-nav a{border-bottom:1px solid transparent;color:var(--footer-text);display:inline-block;font-size:.875rem;text-decoration:none;transition:var(--transition-fast)}.footer-nav a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary)}.footer-sub{background-color:var(--color-bg-subtle);border-top:1px solid var(--color-border);font-size:.85em;padding:24px 0 20px;text-align:center}footer p{margin-bottom:8px}footer p:last-child{margin-bottom:0}footer .footer-links a{border-bottom:1px solid transparent;color:var(--footer-text);display:inline-block;margin:0 16px;text-decoration:none;transition:var(--transition-fast)}footer .footer-links a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.footer-policy-box{background-color:var(--color-bg-base);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-sm);display:inline-block;margin:0 auto 16px;padding:16px 24px}.footer-policy-box .footer-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:8px}.footer-policy-box .footer-links a{margin:0}.footer-policy-date{color:var(--color-text-muted);font-size:.85em;margin:0}.footer-copyright{color:var(--color-text-muted);font-size:.82em;margin-bottom:10px}footer .admin-login-link{margin-top:8px}footer .admin-login-link a{border-bottom:1px solid transparent;color:var(--color-text-muted);display:inline-block;font-size:.75em;text-decoration:none;transition:var(--transition-fast)}footer .admin-login-link a:hover{border-bottom-color:var(--color-primary);color:var(--color-primary)}@media(max-width:640px){.footer-grid{gap:32px;grid-template-columns:1fr}.footer-nav ul{flex-flow:row wrap;gap:8px 20px;text-align:left}}#cases h2,#feature-section h2,#support h2,#title-meaning h2{border-bottom:2px solid var(--color-border);color:var(--color-heading);font-size:1.9em;margin-bottom:30px;padding-bottom:15px;text-align:center}#cases h2 .section-icon,#feature-section h2 .section-icon,#support h2 .section-icon,#title-meaning h2 .section-icon{display:inline-block;fill:var(--primary-color);height:.9em;margin-right:12px;vertical-align:-.1em;width:.9em}#feature-section{background-color:var(--color-bg-accent-light);padding-bottom:40px;padding-top:40px}#feature-section h2{color:var(--color-heading)}.article-grid{align-items:stretch;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.case-card{background-color:var(--content-bg);border:1px solid var(--light-border);border-radius:10px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.case-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.card-content{flex-grow:1}.case-card h3{color:var(--color-heading);font-size:1.4em;margin-bottom:15px}.case-card p{color:var(--muted-text);font-size:.95em;margin-bottom:20px}.card-work-label{border:1px solid var(--primary-color);border-radius:3px;color:var(--primary-color);display:inline-block;font-size:.78rem;font-weight:700;margin-bottom:.75rem;padding:2px 8px}.cta-container{display:flex;justify-content:center;margin-top:40px;text-align:center}.cta-button{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);border-radius:50px;box-shadow:0 10px 20px -5px hsl(var(--shadow-color)/.25);color:var(--color-text-on-primary);display:flex;font-size:1.05rem;font-weight:700;gap:12px;overflow:hidden;padding:14px 34px;position:relative;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1)}.cta-button:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.cta-button:hover{box-shadow:0 15px 30px -5px hsl(var(--shadow-color)/.35);filter:brightness(1.1);transform:translateY(-5px) scale(1.03)}.cta-button:hover:before{left:100%}.cta-icon{height:20px;transition:transform .4s cubic-bezier(.16,1,.3,1);width:20px}.cta-button:hover .cta-icon{transform:translate(6px)}.info-block{background-color:var(--content-bg);border-left:4px solid var(--primary-color);border-radius:4px;margin-bottom:20px;padding:20px}.info-block:last-child{margin-bottom:0}.official-links{background-color:var(--color-bg-primary-light);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:8px;margin:30px 0;padding:2.2rem}.official-links .section-label{align-items:center;color:var(--subtle-text);display:flex;font-size:.95rem;font-weight:700;gap:10px;margin-bottom:20px}.section-badge{background-color:var(--primary-color);border-radius:4px;color:var(--color-text-on-primary);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:3px 8px;text-transform:uppercase}.info-block h3{color:var(--color-heading);font-size:1.25em;margin-bottom:8px}.info-block p{color:var(--muted-text);margin-bottom:10px}.article-container,.page-container{padding:20px 0}.article-header{background-color:hsl(var(--brand-h) 30% 18%);background-image:linear-gradient(135deg,hsl(var(--brand-h) 30% 22%) 0,hsl(var(--brand-h) 35% 15%));border-radius:8px;box-shadow:var(--shadow-md);margin-bottom:calc(var(--base-unit)*6);padding:calc(var(--base-unit)*8) calc(var(--base-unit)*4);text-align:center}.article-header h1{color:var(--color-text-on-primary);float:none;font-size:2.3em;margin-left:0;text-shadow:1px 1px 3px var(--color-bg-overlay);width:100%}.article-content{margin-inline:auto;max-width:720px}.page-content h2{border-bottom:1px solid var(--color-border);color:var(--primary-color);font-size:1.8em;margin-bottom:calc(var(--base-unit)*4);margin-top:calc(var(--base-unit)*8);padding-bottom:calc(var(--base-unit)*2)}.page-content h3{color:var(--color-heading);font-size:1.4em;margin-top:calc(var(--base-unit)*6)}.article-content p,.page-content h3,.page-content p{margin-bottom:calc(var(--base-unit)*3)}.article-content ul,.page-content ul{list-style:disc;margin-bottom:calc(var(--base-unit)*4);margin-left:calc(var(--base-unit)*4);padding-left:calc(var(--base-unit)*2)}.article-content ul li,.page-content ul li{line-height:1.7;margin-bottom:.8em}.article-content strong{color:var(--color-text-emphasis);font-weight:700}img{display:block;height:auto;max-width:100%}@media(max-width:768px){.header-logo{font-size:1.4em}.header-logo .subtitle{display:none}.nav-hamburger{display:flex}#main-nav{backdrop-filter:blur(12px) saturate(1.8);-webkit-backdrop-filter:blur(12px) saturate(1.8);background-color:var(--color-bg-surface);border-bottom:1px solid var(--header-border);box-shadow:0 4px 16px #0000001f;display:none;left:0;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:999}#main-nav.is-open{display:block}#main-nav ul{align-items:stretch;flex-direction:column;padding:0}#main-nav ul li{border-bottom:1px solid var(--color-border);display:block;margin-left:0}#main-nav ul li:last-child{border-bottom:none}#main-nav ul li a{display:block;font-size:1em;padding:.875rem 1.5rem}.container{padding:0 15px;width:95%}.article-header h1,.page-content h1{font-size:1.8em}#cases h2,#feature-section h2,#support h2,#title-meaning h2,.page-content h2{font-size:1.5em}.page-content h3{font-size:1.2em}}.skip-link{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.skip-link:focus{background-color:var(--color-text-main);color:var(--color-text-on-primary);font-size:1em;height:auto;left:10px;padding:8px 16px;position:fixed;text-decoration:none;top:10px;width:auto;z-index:1000}.gradient-hover{transition:background .4s var(--transition-default),color .4s var(--transition-default)}.gradient-hover:hover{background-image:var(--gradient-accent);color:var(--color-text-on-primary)}.ripple-effect-container{overflow:hidden;position:relative}.ripple-effect-span{animation:ripple-animation .6s linear;background:#fff9;border-radius:50%;height:var(--r-size,0);left:var(--r-left,0);pointer-events:none;position:absolute;top:var(--r-top,0);transform:scale(0);width:var(--r-size,0)}@keyframes ripple-animation{to{opacity:0;transform:scale(4)}}.ripple-btn{background:none;border:none;color:inherit;cursor:pointer;display:inline-block;font-size:1em;line-height:1.2;overflow:hidden;padding:.1em .3em;position:relative;text-decoration:none}.ripple-btn:focus,.ripple-btn:hover{text-decoration:underline}.consent-overlay[hidden]{display:none}.consent-overlay{background:var(--color-bg-overlay);display:grid;inset:0;overscroll-behavior:contain;padding:24px;place-items:center;position:fixed;touch-action:none;z-index:2000}@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){.consent-overlay{backdrop-filter:blur(6px) saturate(.9);-webkit-backdrop-filter:blur(6px) saturate(.9);background:var(--color-bg-overlay)}}body.modal-open main{filter:blur(6px) brightness(.65) saturate(.88) contrast(.92);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:600px){@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){.consent-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}body.modal-open main{filter:blur(5px) brightness(.65) saturate(.9) contrast(.92)}.consent-modal{border-radius:12px;font-size:.85rem;padding:20px 16px}.consent-points li label{padding:10px 12px}.consent-points--confirm li{line-height:1.6}.consent-desc--emphasis{padding:12px}.consent-title--danger{font-size:1.1rem;padding:.4em 1em}}.consent-modal{background:var(--content-bg);border:1px solid var(--light-border);border-radius:12px;box-shadow:var(--shadow-lg);color:var(--body-text);font-size:.95rem;line-height:1.6;margin:auto;max-height:90vh;overflow-y:auto;padding:24px;width:min(640px,100%)}.consent-modal h2{color:var(--color-heading);font-size:1.22rem;margin-bottom:.8em;text-align:center;width:100%}.consent-modal p a{color:var(--primary-color);font-weight:700;text-decoration:underline}.consent-modal p a:hover{color:var(--primary-hover);text-decoration:underline}.consent-highlight{background:var(--color-bg-accent-light);border-left:4px solid var(--color-primary);color:var(--color-text-main);display:inline-block;margin:.35em 0;padding:.35em .6em}.consent-check{align-items:flex-start;background:var(--color-bg-subtle);border-radius:8px;cursor:pointer;display:flex;gap:12px;margin:16px 0;padding:12px 16px;transition:background-color .2s ease}.consent-check:hover{background:var(--color-bg-base)}.consent-check input{block-size:1.4em;cursor:pointer;flex-shrink:0;inline-size:1.4em;margin-top:3px}.consent-details summary{color:var(--color-heading);cursor:pointer;font-weight:700;margin-top:.8em;text-decoration:underline}.consent-points{list-style:none;margin-top:.5em;padding-left:0}.consent-points li{margin-bottom:.8em}.consent-points li label{align-items:flex-start;background:var(--color-bg-subtle);border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background-color .2s}.consent-points li label:hover{background:var(--color-bg-base)}.consent-points li input{block-size:1.4em;cursor:pointer;flex-shrink:0;inline-size:1.4em;margin-top:3px}.consent-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:1.5em}.consent-actions .btn{font-size:.9rem;padding:8px 16px}@media(max-width:520px){.consent-actions{flex-direction:column;gap:12px;justify-content:stretch}.consent-actions .btn{font-size:1.05rem;padding:14px 20px;width:100%}}.btn-decline{background-color:var(--secondary-text)}.btn-decline:hover{background-color:var(--color-text-muted)}.consent-note{font-size:.92em;margin-top:.5em;opacity:.9}.consent-note.non-profit-statement{font-size:.75em;opacity:1;text-align:center}.consent-notes-block{background-color:var(--color-bg-subtle);border-left:4px solid var(--color-border);border-radius:8px;margin:1.5em 0;padding:1rem 1.2rem}.consent-notes-list{color:var(--color-text-muted);font-size:.9em;list-style-type:disc;margin:0;padding-left:1.2em}.consent-notes-list li{margin-bottom:.4em}.consent-notes-list li:last-child{margin-bottom:0}.consent-modal :focus-visible{outline:3px solid var(--color-warning);outline-offset:2px}@media(prefers-reduced-motion:reduce){.consent-modal,.consent-overlay{animation:none;transition:none}.hamburger-line{transition:none}}.important-clause{background:var(--color-error-light);border:2px solid var(--danger-color);border-radius:6px;margin:1em 0;padding:.8em 1em}.important-clause h3{color:var(--danger-color);margin-top:0}.important-badge{background:var(--danger-color);border-radius:4px;color:var(--color-text-on-primary);font-size:.9em;padding:.2em .5em}html{scrollbar-gutter:stable both-edges}body.modal-open{left:0;overflow:hidden;position:fixed;right:0;top:var(--scroll-y,0);width:100%}.consent-modal--intro{border:1px solid var(--light-border);box-shadow:var(--shadow-hover)}.consent-modal--confirm{border:2px solid var(--color-warning);box-shadow:var(--shadow-lg)}.consent-title--danger{background:var(--color-bg-overlay);border:2px solid var(--color-primary);border-radius:4px;box-shadow:inset 0 0 10px hsl(var(--color-primary-hsl)/.1);color:var(--color-text-main);display:inline-block;font-weight:800;letter-spacing:.05em;margin:12px auto;padding:.6em 1.25em}.consent-title-wrapper{text-align:center;width:100%}.consent-step{margin-bottom:.25rem}.consent-step-badge{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);display:inline-block;font-size:.8rem;font-weight:700;padding:.15rem .5rem}.consent-desc--emphasis{background:var(--color-bg-subtle);border-left:4px solid var(--color-primary);padding-left:.75rem}.consent-checklist-title{color:var(--color-heading);margin-bottom:.4rem;margin-top:1rem}.consent-points--confirm li{line-height:1.9}.consent-details--explain{background:var(--color-bg-subtle);border:1px dashed var(--color-border-hover);border-radius:8px;margin-top:.8rem;padding:.4rem .6rem}.consent-details--explain>summary{color:var(--color-text-main)}@media print{.btn,.btn-external,.btn-feature,.consent-overlay,.skip-link,footer,header{display:none}.container,.content-section,body{background:var(--color-bg-base);border:none;box-shadow:none;color:var(--color-text-main);margin:0;padding:0;width:100%}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em}}.important-text{font-weight:700;text-decoration:underline}.small{color:var(--color-text-muted);font-size:.9rem}.sr-only{border-width:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only,.text-nowrap{white-space:nowrap}.form-container{background-color:var(--color-bg-base);border:1px solid var(--light-border);border-radius:8px;box-shadow:var(--shadow-md);margin:40px auto;max-width:800px;padding:40px}.form-header{margin-bottom:30px;text-align:center}.form-header h1{color:var(--color-heading);font-size:2em;margin-bottom:10px}.form-header p{color:var(--secondary-text)}#contact-form fieldset{border:none;margin:0 0 25px;padding:0}#contact-form legend{border-bottom:2px solid var(--primary-color);color:var(--primary-color);font-size:1.2em;font-weight:600;margin-bottom:15px;padding-bottom:5px;width:100%}.form-group{margin-bottom:20px}.form-group label{color:var(--form-text);display:block;font-weight:600;margin-bottom:8px}.form-group label:after{color:var(--error-color);content:" 必須";font-size:.9em;font-weight:400;margin-left:4px}.consent-group label:after,fieldset:nth-of-type(2) .form-group label:after{content:""}.consent-group label:after{content:" 必須"}.form-group input[type=email],.form-group input[type=text],.form-group textarea{border:1px solid var(--color-border);border-radius:4px;font-size:1em;padding:12px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input[type=email]:focus,.form-group input[type=text]:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px hsl(var(--color-primary-hsl)/.25);outline:none}.form-group textarea{min-height:120px;resize:vertical}.char-counter{color:var(--muted-text);font-size:.78rem;margin-top:4px;text-align:right;transition:color .15s}.char-counter--warn{color:var(--color-warning)}.char-counter--limit{color:var(--color-error);font-weight:700}.form-group .error-message{color:var(--error-color);display:none;font-size:.9em;margin-top:5px}.form-group.error .error-message{display:block}.form-group.error input,.form-group.error textarea{border-color:var(--error-color)}.form-actions{margin-top:30px;text-align:center}button.btn{align-items:center;display:inline-flex;font-size:1.1em;justify-content:center;min-width:200px;padding:12px 24px}.btn:disabled{background-color:var(--disabled-bg);cursor:not-allowed;transform:none}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top:3px solid var(--color-text-on-primary);height:20px;margin-left:10px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.error-message-summary{color:var(--error-color);font-weight:700;margin-bottom:15px}.consent-group{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;margin-bottom:25px;padding:15px}.consent-group label{align-items:center;color:var(--form-text);display:flex;font-size:.95em;font-weight:400}.consent-group input[type=checkbox]{flex-shrink:0;height:18px;margin-right:10px;width:18px}.consent-group a{color:var(--primary-color);text-decoration:none}.consent-group a:hover{text-decoration:underline}.consent-links-note{color:var(--form-text);font-size:.95em;margin:0 0 8px}.consent-notice-text{border-left:3px solid var(--color-border);color:var(--secondary-text);font-size:.88em;line-height:1.6;margin:0;padding-left:10px}.btn-disabled{background-color:var(--disabled-bg);cursor:not-allowed;text-decoration:none}.admin-entry{padding:100px 0;text-align:center}.error-page-container{padding:40px 20px;text-align:center}.error-header{margin-bottom:20px}.error-icon-emoji{color:var(--color-error);font-size:48px}.error-title{font-size:2rem;margin-top:10px}.error-message{font-size:1.2em;line-height:1.6}.error-btn-action{display:inline-block;margin-top:20px}.error-nav-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.error-nav-link{border:1px solid var(--color-border,#ccc);border-radius:4px;color:var(--color-text-muted);display:inline-block;font-size:.95rem;padding:8px 20px;text-decoration:none;transition:border-color .2s,color .2s}.error-nav-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.breadcrumb{color:var(--color-text-muted);font-size:.9rem;margin:1.5rem 0}.breadcrumb ol{flex-wrap:wrap;list-style:none;padding:0}.breadcrumb li,.breadcrumb ol{align-items:center;display:flex;gap:.75rem}.breadcrumb li:not(:last-child):after{color:var(--color-border);content:"/";font-weight:300}.breadcrumb a{color:var(--primary-color);font-weight:var(--font-weight-medium);text-decoration:none;transition:var(--transition-fast)}.breadcrumb a:hover{opacity:.8;text-decoration:underline}.breadcrumb li:last-child{color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.ext-warning-overlay .consent-modal h2{color:var(--color-error-dark)}.form-actions,.form-header{text-align:center}.policy-note{display:inline-block;margin-top:10px}.policy-link{text-decoration:underline}#title-meaning{background:linear-gradient(150deg,hsl(var(--brand-h) 30% 40%/.06) 0,var(--content-bg) 55%);border-color:#3e618147;isolation:isolate;position:relative}#title-meaning:before{background:linear-gradient(90deg,var(--primary-color) 0,transparent 70%);content:"";height:3px;left:0;position:absolute;right:0;top:0}#title-meaning:after{bottom:-18px;color:hsl(var(--brand-h) 30% 40%/.065);content:"井";font-family:Hiragino Mincho ProN,"Noto Serif JP",游明朝,YuMincho,serif;font-size:14rem;font-weight:900;line-height:1;pointer-events:none;position:absolute;right:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:-1}#title-meaning h2{border-bottom-color:hsl(var(--brand-h) 30% 40%/.2);color:var(--primary-color)}#title-meaning .meaning-content{font-feature-settings:"palt" 1;letter-spacing:.025em;line-height:2.1;overflow-wrap:break-word;text-rendering:optimizeLegibility;word-break:keep-all}#title-meaning .meaning-content p{margin-bottom:1.2em}#title-meaning .meaning-content p:last-child{background:hsl(var(--brand-h) 30% 40%/.06);border-left:3px solid var(--primary-color);border-radius:0 6px 6px 0;margin-bottom:0;margin-top:.4em;padding:.9rem 1.2rem}#title-meaning .meaning-content strong{color:var(--primary-color);font-weight:700}.dark-mode-toggle{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--nav-text);cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:background-color .2s ease,color .2s ease;width:36px}.dark-mode-toggle:focus-visible,.dark-mode-toggle:hover{background-color:var(--color-bg-subtle);outline:2px solid var(--primary-color);outline-offset:2px}.dark-mode-toggle svg{height:20px;pointer-events:none;width:20px}.dark-mode-toggle .icon-sun{display:none}.dark-mode-toggle .icon-moon,[data-theme=dark] .dark-mode-toggle .icon-sun{display:inline}[data-theme=dark] .dark-mode-toggle .icon-moon{display:none}[data-theme=dark] .dark-mode-toggle:focus-visible,[data-theme=dark] .dark-mode-toggle:hover{background-color:#ffffff1a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .dark-mode-toggle .icon-sun{display:inline}:root:not([data-theme=light]) .dark-mode-toggle .icon-moon{display:none}:root:not([data-theme=light]) .dark-mode-toggle:focus-visible,:root:not([data-theme=light]) .dark-mode-toggle:hover{background-color:#ffffff1a}}}.section-icon{display:inline-block;height:.9em;vertical-align:-.1em;width:.9em}[data-aos]{opacity:0;transition-duration:.9s;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.215,.61,.355,1)}[data-aos=fade-up]{transform:translate3d(0,30px,0)}[data-aos=fade-up].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-down]{transform:translate3d(0,-30px,0)}[data-aos=fade-down].aos-animate{opacity:1;transform:translateZ(0)}[data-aos-delay="0"]{transition-delay:0s}[data-aos-delay="50"]{transition-delay:50ms}[data-aos-delay="100"]{transition-delay:.1s}[data-aos-delay="150"]{transition-delay:.15s}[data-aos-delay="200"]{transition-delay:.2s}[data-aos-delay="250"]{transition-delay:.25s}[data-aos-delay="300"]{transition-delay:.3s}[data-aos-delay="400"]{transition-delay:.4s}[data-aos-delay="500"]{transition-delay:.5s}[data-aos-delay="600"]{transition-delay:.6s}[data-aos-duration="600"]{transition-duration:.6s}[data-aos-duration="800"]{transition-duration:.8s}@media screen and (prefers-reduced-motion:reduce){[data-aos]{opacity:1!important;transform:none!important;transition:none!important}}
