@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Caveat:wght@600;700&display=swap";:root{--color-primary: #d90b2c;--color-primary-dark: #a8081f;--color-ink: #000000;--color-line: #dcdcdc;--color-bg: #ffffff;--color-bg-subtle: #f7f7f7;--color-white: #ffffff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 56px;--section-pad: clamp(48px, 33.9px + 3.75vw, 80px);--font-size-1: 12px;--font-size-2: 13px;--font-size-3: 14px;--font-size-4: 16px;--font-size-5: 18px;--font-size-6: clamp(20px, 18.9px + .28vw, 22px);--font-size-7: clamp(24px, 20.9px + .79vw, 28px);--font-size-8: clamp(26px, 22.8px + .85vw, 32px);--font-size-display: clamp(28px, 17.4px + 2.84vw, 48px);--line-height-heading: 1.45;--line-height-body: 1.75;--line-height-note: 1.6;--tracking-ja: .02em;--tracking-heading: 0;--tracking-en-label: .12em;--radius: 4px;--radius-round: 999px;--border-width: 1px;--content-max: 1080px;--breakpoint-sm: 860px;--breakpoint-md: 1024px;--font-family-base: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--font-family-script: "Caveat", "Noto Sans JP", cursive;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 6px 20px rgba(0, 0, 0, .1);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .14);--ease-out: cubic-bezier(.16, 1, .3, 1);--transition-fast: .15s var(--ease-out);--transition-base: .25s var(--ease-out)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;overflow-x:hidden;font-family:var(--font-family-base);color:var(--color-ink);background:var(--color-bg);font-size:var(--font-size-4);line-height:var(--line-height-body);letter-spacing:var(--tracking-ja);overflow-wrap:break-word;line-break:strict;word-break:auto-phrase}img,picture,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}h1{font-size:var(--font-size-8);line-height:1.3;letter-spacing:var(--tracking-heading)}h2{font-size:var(--font-size-7);line-height:1.4;letter-spacing:var(--tracking-heading)}h3{font-size:var(--font-size-6);line-height:1.45;letter-spacing:var(--tracking-heading)}h4{font-size:var(--font-size-5);line-height:1.5;letter-spacing:var(--tracking-heading)}h5{font-size:var(--font-size-4);line-height:var(--line-height-body);letter-spacing:var(--tracking-heading)}h6{font-size:var(--font-size-3);line-height:var(--line-height-body);letter-spacing:var(--tracking-heading)}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}dl,dt,dd{margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}table{border-collapse:collapse;width:100%}.container{max-width:var(--content-max);margin-inline:auto;padding-inline:20px}@media(min-width:640px){.container{padding-inline:var(--space-6)}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;max-width:100%;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-round);border:var(--border-width) solid var(--color-primary);font-weight:700;font-size:var(--font-size-4);text-decoration:none;cursor:pointer;line-height:1;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn svg{width:16px;height:16px;transition:transform var(--transition-fast)}.btn:hover svg{transform:translate(3px)}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-outline{background:var(--color-bg);color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:none}.btn-block{width:100%}@media(max-width:640px){.btn{padding:var(--space-4) var(--space-5);font-size:var(--font-size-5)}}.section{padding-block:var(--section-pad)}.section-subtle{background:var(--color-bg-subtle)}.section-subtle .card,.section-subtle .report-card,.section-subtle .event-card>a,.section-subtle .slide-card,.section-subtle .merit-item,.section-subtle .pillar,.section-subtle .voice-card{background:var(--color-white)}.section-head{margin-bottom:var(--space-6)}.section-title{font-size:var(--font-size-7)}.script-label{display:block;font-family:var(--font-family-script);font-weight:700;font-size:var(--font-size-8);line-height:1;color:var(--color-primary);margin-bottom:var(--space-2)}.script-label.on-dark{color:var(--color-white)}.numbered-badge{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding-inline:var(--space-2);border-radius:var(--radius-round);border:var(--border-width) solid var(--color-line);font-weight:900;font-size:var(--font-size-4);flex-shrink:0}.numbered-badge.on-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}a[href^="mailto:"],a[href^="tel:"]{display:inline-block;max-width:100%;padding-block:var(--space-2);overflow-wrap:anywhere}@media(max-width:640px){.view-more-link,.section-more a,.footer-cta a,.tab,.filter-chip,.year-chip{min-height:44px}.view-more-link,.section-more a{display:inline-flex;align-items:center}.tab,.filter-chip,.year-chip{display:inline-flex;align-items:center;justify-content:center}}.view-more-link{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--font-size-3);text-decoration:none;border-bottom:var(--border-width) solid var(--color-ink);padding-bottom:2px;transition:color var(--transition-fast),border-color var(--transition-fast)}.view-more-link svg{width:14px;height:14px;transition:transform var(--transition-fast)}.view-more-link:hover{color:var(--color-primary);border-color:var(--color-primary)}.view-more-link:hover svg{transform:translate(3px)}.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6) var(--space-7)}.stat-row-3{grid-template-columns:repeat(3,1fr)}@media(max-width:860px){.stat-row,.stat-row-3{grid-template-columns:1fr}}.stat-row-item{padding-top:var(--space-4)}.stat-row-label,.stat-row-value,.stat-row-note{word-break:keep-all}.stat-row-label{font-size:var(--font-size-3);font-weight:700}.stat-row-value{font-size:clamp(46px,38.5px + 1.92vw,52px);font-weight:900;color:var(--color-primary);line-height:1.1;margin-block:var(--space-1)}.stat-row-note{font-size:var(--font-size-2)}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.quick-stat{border:var(--border-width) solid var(--color-line);border-radius:var(--radius);padding:var(--space-4);text-align:center}.quick-stat dt,.quick-stat dd{word-break:keep-all}.quick-stat dt{font-size:var(--font-size-4)}.quick-stat dd{margin:var(--space-2) 0 0 0;font-size:clamp(36px,30.6px + 1.38vw,42px);line-height:1.2;font-weight:900;color:var(--color-primary)}@media(max-width:860px){.quick-stats{grid-template-columns:1fr}}.card{max-width:100%;border:var(--border-width) solid var(--color-line);border-radius:var(--radius);padding:var(--space-5);background:var(--color-bg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-title{font-size:clamp(20px,18.2px + .46vw,23px);line-height:var(--line-height-heading);margin-bottom:var(--space-3)}.subsection-title{font-size:var(--font-size-6)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-4);border:var(--border-width) solid var(--color-line);border-radius:var(--radius-round);font-size:var(--font-size-2);font-weight:700;color:var(--color-ink)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-2);font-size:var(--font-size-2)}.breadcrumb a{display:inline-block;max-width:100%;padding-block:var(--space-3);text-decoration:underline}.data-table{width:100%;table-layout:fixed}.data-table th,.data-table td{overflow-wrap:anywhere;border-bottom:var(--border-width) solid var(--color-line);padding:var(--space-3) var(--space-4);text-align:left;vertical-align:top}.data-table th{font-weight:700;width:6.5em}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.field label{font-weight:700;font-size:var(--font-size-4)}fieldset{min-width:0}.field input,.field select,.field textarea{max-width:100%}.field .required{color:var(--color-primary);font-size:var(--font-size-2);margin-left:var(--space-2)}.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{border:var(--border-width) solid var(--color-line);border-radius:var(--radius);padding:var(--space-3);font-size:var(--font-size-4);background:var(--color-bg)}.field textarea{min-height:8em;resize:vertical}.radio-group,.checkbox-group{display:flex;flex-wrap:wrap;gap:var(--space-4)}.radio-group.is-stack,.checkbox-group.is-stack{flex-direction:column;gap:var(--space-3)}.radio-group label,.checkbox-group label{display:block;position:relative;padding-left:26px;font-weight:400;line-height:var(--line-height-note);max-width:100%;min-width:0}.radio-group label input,.checkbox-group label input{position:absolute;left:0;top:.3em;margin:0}.field-note{font-size:var(--font-size-2);line-height:var(--line-height-note)}.stack>*+*{margin-top:var(--space-4)}.placeholder-img{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius);background:var(--color-line);color:var(--color-ink);width:100%;overflow:hidden}.placeholder-img svg{width:28%;max-width:64px;opacity:.35}.placeholder-img .placeholder-label{font-size:var(--font-size-1);letter-spacing:var(--tracking-en-label);opacity:.6;text-align:center;padding-inline:var(--space-3)}.placeholder-img-inverted{background:#ffffff26;color:var(--color-white)}.carousel-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:var(--border-width) solid var(--color-line);border-radius:var(--radius-round);background:var(--color-bg);color:var(--color-ink);cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.carousel-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.carousel-btn:disabled{opacity:.3;cursor:default}.carousel-btn:disabled:hover{background:var(--color-bg);color:var(--color-ink)}html.js .section-head,html.js .card,html.js .report-card,html.js .merit-item,html.js .philosophy-item,html.js .stat-row-item{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}html.js .section-head.is-visible,html.js .card.is-visible,html.js .report-card.is-visible,html.js .merit-item.is-visible,html.js .philosophy-item.is-visible,html.js .stat-row-item.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html.js .section-head,html.js .card,html.js .report-card,html.js .merit-item,html.js .philosophy-item,html.js .stat-row-item{opacity:1;transform:none;transition:none}.card:hover{transform:none}}
