 

:root{
  --sun-red:#BC002D;         
  --sun-red-deep:#980125;
  --bt-yellow:#FFD520;       
  --bt-orange:#FF4E12;       
  --ink:#111111;
  --ink-muted:#4A453C;      
  --paper:#FFFFFF;
  --cream:#FFF9E8;
  --hairline:rgba(17,17,17,.16);
  --hairline-strong:rgba(17,17,17,.34);
  --t-blue:#3D7DD8;          
  --t-white:#FFFFFF;
  --t-white-band:#F2EDE2;    
  --t-red:#C8102E;
  --t-green:#2E8B57;
  --t-yellow:#F7C948;
  --font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI",Meiryo,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-display:"Helvetica Neue",Helvetica,Arial,"Hiragino Sans","Noto Sans JP",sans-serif;
  --gutter:clamp(20px,5vw,48px);
  --pill:999px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:136px}
@media (min-width:700px){html{scroll-padding-top:84px}}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.8;color:var(--ink);background:var(--paper);overflow-x:clip}
h1,h2,p,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
svg{display:block}
::selection{background:var(--bt-yellow);color:var(--ink)}
:focus-visible{outline:3px solid var(--sun-red);outline-offset:3px}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.container{width:min(100% - var(--gutter)*2,var(--maxw,1200px));margin-inline:auto}
.container-narrow{--maxw:960px}

 
.skip-link{position:fixed;top:14px;left:14px;z-index:100;padding:.8em 1.4em;border-radius:var(--pill);background:var(--ink);color:#fff;font-weight:700;text-decoration:none;transform:translateY(calc(-100% - 24px))}
.skip-link:focus{transform:none}

 
.tarcho-line{height:6px;background:linear-gradient(90deg,var(--t-blue) 0 20%,var(--t-white-band) 20% 40%,var(--t-red) 40% 60%,var(--t-green) 60% 80%,var(--t-yellow) 80% 100%)}

 
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--hairline)}
.site-header .tarcho-line{border-bottom:1px solid var(--hairline)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:inherit;text-decoration:none}
.brand-mark{width:40px;height:40px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.35}
.brand-main{font-size:1rem;font-weight:800;letter-spacing:.03em}
.brand-sub{font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.26em;color:var(--ink-muted)}
.brand-sub:lang(ja){letter-spacing:.16em}
.header-actions{display:flex;align-items:center;gap:10px 14px;min-width:0;max-width:100%}
 
.page-nav{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.page-nav::-webkit-scrollbar{display:none}
.page-nav a{flex:none;padding:.45em .7em;border:1px solid transparent;border-radius:var(--pill);font-size:.85rem;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,color .15s ease}
.page-nav a:hover{background:rgba(17,17,17,.06)}
.page-nav .page-nav-board{border-color:var(--ink);padding-inline:1em}
.page-nav .page-nav-board:hover{background:var(--ink);color:#fff}
.lang-switch{flex:none}
 
@media (max-width:480px){
  .header-actions{gap:8px;width:100%;justify-content:space-between}
  .page-nav a{padding:.45em .5em;font-size:.8rem}
  .page-nav .page-nav-board{padding-inline:.85em}
  .header-actions .lang-switch .lang-current{display:none}
  .header-actions .lang-switch a{padding:.45em .8em}
}

 
.lang-switch{display:inline-flex;align-items:center;border:1px solid var(--hairline-strong);border-radius:var(--pill);padding:3px;font-size:.8rem;font-weight:700;line-height:1}
.lang-switch a,.lang-switch .lang-current{display:inline-flex;align-items:center;padding:.45em .95em;border-radius:var(--pill)}
.lang-switch a{text-decoration:none;color:var(--ink-muted);transition:color .15s ease,background-color .15s ease}
.lang-switch a:hover{color:var(--ink);background:rgba(17,17,17,.06)}
.lang-switch .lang-current{background:var(--ink);color:#fff}

 
 
.top{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.top>*{min-width:0}
.side{padding-top:18px}
 
.band{position:relative;height:64px;margin:0 calc(var(--gutter)*-1) 14px;padding-inline:var(--gutter);display:flex;align-items:center;background:linear-gradient(118deg,var(--bt-yellow) 10%,var(--bt-orange) 78%);clip-path:polygon(0 0,100% 0,100% 55%,0 100%)}
.band-text{font-family:var(--font-display);font-size:1.5rem;font-weight:900;letter-spacing:-.01em;text-transform:uppercase}
.hd-x{color:var(--sun-red)}
.band-sun{position:absolute;right:12%;top:6px;width:34px;height:34px;border-radius:50%;background:var(--sun-red);border:4px solid var(--paper)}
.hero-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.78rem;font-weight:600;color:var(--ink-muted)}
.eyebrow-en{font-family:var(--font-display);letter-spacing:.3em;color:var(--sun-red)}
.eyebrow-rule{width:40px;height:1px;background:var(--hairline-strong)}
.hero-title{margin-top:4px;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:900;line-height:1.25;letter-spacing:.04em;font-feature-settings:"palt";text-wrap:balance}
.hero-lead{margin-top:8px;font-size:.95rem;line-height:1.8;text-wrap:pretty}
 
.marker{background:linear-gradient(transparent 58%,rgba(255,213,32,.75) 58% 94%,transparent 94%);color:inherit;padding:0 .06em}

 
.anniv{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;margin-top:10px;padding:6px 12px 6px 8px;background:var(--paper);border:1px solid var(--hairline);border-radius:12px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.anniv:hover{border-color:var(--sun-red);box-shadow:0 6px 18px rgba(17,17,17,.08)}
.anniv-logo{width:56px;height:auto;flex:none}
.anniv-text{font-size:.78rem;font-weight:700;line-height:1.5;color:var(--ink-muted);text-wrap:pretty}
.anniv-en{display:block;font-family:var(--font-display);font-size:.6rem;font-weight:800;letter-spacing:.2em;color:var(--sun-red)}

 
.topics{margin-top:14px;display:flex;align-items:center;gap:10px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
.topics::-webkit-scrollbar{display:none}
.topics-title{flex:none;font-size:.8rem;font-weight:800;color:var(--ink-muted)}
.chip-list{display:flex;flex-wrap:nowrap;gap:0 14px}
.chip{display:inline-flex;align-items:center;gap:.55em;padding:.1em 0;font-size:.85rem;font-weight:700;white-space:nowrap}
.chip-dot{width:.6em;height:.6em;border-radius:1.5px;transform:rotate(45deg);flex:none}
.chip-blue .chip-dot{background:var(--t-blue)}
.chip-red .chip-dot{background:var(--t-red)}
.chip-green .chip-dot{background:var(--t-green)}
.chip-yellow .chip-dot{background:var(--t-yellow)}
.chip-white .chip-dot{background:var(--t-white);border:1px solid var(--hairline-strong)}
.chip-orange .chip-dot{background:var(--bt-orange)}
.side-links{display:none}

 
.peaks{position:relative;color:rgba(17,17,17,.28);padding-top:16px;padding-bottom:14px}
.peaks svg{width:100%;height:clamp(36px,5vw,64px)}
 
.peaks-parade{position:absolute;left:0;right:0;bottom:14px;height:clamp(36px,5vw,64px)}

 
@media (min-width:960px){
  .top{grid-template-columns:340px minmax(0,1fr);column-gap:56px;align-items:start}
  .side{position:sticky;top:76px;padding-top:28px}
  .band{margin:0 0 14px;border-radius:14px;clip-path:polygon(0 0,100% 0,100% 62%,0 100%)}
  .topics{display:block;overflow:visible;margin:18px 0 0;padding:0}
  .topics-title{font-size:.95rem;color:var(--ink)}
  .chip-list{flex-wrap:wrap;gap:4px 16px;margin-top:6px}
  .side-links{display:grid;gap:4px;margin-top:22px;padding-top:14px;border-top:1px solid var(--hairline);font-size:.9rem;font-weight:700}
  .side-links a{text-decoration:none;color:var(--sun-red)}
  .side-links a:hover{text-decoration:underline}
  .peaks{padding-top:22px}
}

 
.btn{display:inline-flex;align-items:center;gap:.6em;border-radius:var(--pill);padding:.95em 2em;font-size:1rem;font-weight:700;line-height:1;text-decoration:none;transition:background-color .15s ease}
.btn-primary{background:var(--sun-red);color:#fff}
.btn-primary:hover{background:var(--sun-red-deep)}
.btn-primary:focus-visible{outline-color:var(--ink)}
.btn-arrow{font-family:var(--font-display)}

 
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4em 1.1em;padding-bottom:16px;border-bottom:1px solid var(--hairline);margin-bottom:clamp(22px,3vw,30px)}
.section-title{font-size:clamp(1.5rem,3vw,2.15rem);font-weight:900;letter-spacing:.04em;font-feature-settings:"palt";text-wrap:balance}
.section-en{font-family:var(--font-display);font-size:.78rem;font-weight:800;letter-spacing:.28em;color:var(--sun-red)}

 

 
 
.events{background:var(--cream);border-top:1px solid var(--hairline);padding-block:clamp(40px,6vw,64px)}
.events-lead{color:var(--ink-muted);font-size:.95rem;margin-bottom:8px}
.events-group{font-size:1.05rem;font-weight:800;margin:clamp(22px,3vw,30px) 0 14px}
.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px}
.event-card{display:flex;flex-direction:column;height:100%;background:var(--paper);border:1px solid var(--hairline);border-radius:18px;overflow:hidden;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.event-card:hover{border-color:var(--sun-red);box-shadow:0 8px 22px rgba(17,17,17,.1);transform:translateY(-2px)}
.event-art{display:grid;place-items:center;height:112px;color:rgba(255,255,255,.92)}
.event-art svg{display:block;width:96px;height:80px}
.event-art--learn{background:linear-gradient(135deg,var(--t-blue),#2A5FA8)}
.event-art--travel{background:linear-gradient(135deg,var(--t-green),#1F6B41)}
.event-art--coop{background:linear-gradient(135deg,var(--bt-yellow),var(--bt-orange))}
.event-art--culture{background:linear-gradient(135deg,var(--sun-red),var(--sun-red-deep))}
.event-art--exhibit{background:linear-gradient(135deg,var(--t-yellow),#E0A21B)}
.event-art--film{background:linear-gradient(135deg,#3B3632,var(--ink))}
.event-art--business{background:linear-gradient(135deg,#4F8FE0,var(--t-blue))}
.event-art--tea{background:linear-gradient(135deg,#5E9C6E,var(--t-green))}
.event-body{display:flex;flex-direction:column;gap:6px;padding:14px 18px 18px}
.event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--ink-muted)}
.event-status{padding:1px 10px;border-radius:var(--pill);font-size:.72rem;font-weight:800;border:1px solid currentColor}
.event-status--ongoing{color:#fff;background:var(--sun-red);border-color:var(--sun-red)}
.event-status--upcoming{color:var(--sun-red)}
.event-status--past{color:var(--ink-muted)}
.event-title{font-size:1.02rem;font-weight:800;line-height:1.55;text-wrap:pretty}
.event-note{font-size:.86rem;line-height:1.7;color:var(--ink)}
.event-place{font-size:.78rem;line-height:1.6;color:var(--ink-muted)}
.events-past{margin-top:clamp(22px,3vw,30px)}
.events-past>summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;cursor:pointer;list-style:none;padding:12px 18px;background:var(--paper);border:1px solid var(--hairline-strong);border-radius:14px}
.events-past>summary::-webkit-details-marker{display:none}
.events-past>summary::before{content:"+";font-family:var(--font-display);font-weight:900;color:var(--sun-red)}
.events-past[open]>summary::before{content:"\2212"}
.events-past>summary .events-group{margin:0}
.events-past-count{font-size:.85rem;font-weight:700;color:var(--ink-muted)}
.events-past[open]>summary{margin-bottom:14px}
.events-more{margin-top:22px;font-size:.88rem;font-weight:700}
.events-more a{color:var(--sun-red)}

 
.videos{border-top:1px solid var(--hairline);padding-block:clamp(48px,7vw,80px)}
.video-lead{color:var(--ink-muted);font-size:.92rem;line-height:1.9;max-width:52em;margin-bottom:14px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
 
@media (max-width:699px){
  .video-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);padding-bottom:6px}
  .video-grid>.video{flex:0 0 84%;scroll-snap-align:start}
}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#111}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-caption{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.video-title{font-size:.9rem;font-weight:700;line-height:1.55;text-wrap:pretty}
.video-channel{font-size:.78rem;color:var(--ink-muted)}
.sns-list{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.sns-card{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background:var(--paper);border:1px solid var(--hairline);border-radius:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.sns-card:hover{border-color:var(--sun-red);box-shadow:0 8px 22px rgba(17,17,17,.1)}
.sns-icon{width:88px;height:auto;flex:none}
.sns-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.sns-name{font-weight:800;line-height:1.5}
.sns-handle{font-family:var(--font-display);font-size:.82rem;color:var(--sun-red);font-weight:700}
.sns-note{font-size:.86rem;line-height:1.8;color:var(--ink)}
.sns-link{font-size:.82rem;font-weight:700;color:var(--sun-red)}

 
.faq{background:var(--paper);border-top:1px solid var(--hairline);padding-block:clamp(48px,7vw,80px)}
.faq-list{display:grid;gap:10px}
.faq-item{background:var(--paper);border:1px solid var(--hairline-strong);border-radius:16px}
.faq-item>summary{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;cursor:pointer;list-style:none}
.faq-item>summary::-webkit-details-marker{display:none}
.faq-item>summary::after{content:"+";margin-left:auto;font-family:var(--font-display);font-size:1.2rem;font-weight:900;line-height:1.3;color:var(--sun-red)}
.faq-item[open]>summary::after{content:"\2212"}
.faq-q{margin:0;font-size:1rem;font-weight:800;line-height:1.6}
.faq-a{padding:0 20px 16px;font-size:.92rem;line-height:1.9;color:var(--ink)}
.board-noscript{padding:16px;border:1px dashed var(--hairline-strong);border-radius:12px;color:var(--ink-muted)}

.board-section{padding-block:12px 40px}
.board-section:focus{outline:none}
.board-guide{font-size:.9rem;line-height:1.8;color:var(--ink-muted);margin-bottom:12px;text-wrap:pretty}
 
html[lang="ja"]  
.board-embed{padding:2px;border-radius:26px;background:linear-gradient(135deg,var(--bt-yellow),var(--bt-orange) 55%,var(--sun-red))}
.board-embed [data-convs]{min-height:320px}
.board-note{margin-top:16px;font-size:.9rem;color:var(--ink-muted);text-wrap:pretty}

 
.board-embed .convs-board{background:var(--paper);color:var(--ink);border:none;border-radius:24px;padding:clamp(16px,3vw,28px);font-family:inherit}
.board-embed .convs-label{font-weight:700;color:var(--ink)}
.board-embed .convs-input,.board-embed .convs-textarea{background:var(--paper);color:var(--ink);border:1px solid var(--hairline-strong);border-radius:14px;font-family:inherit;line-height:1.7}
.board-embed .convs-textarea{min-height:88px}
.board-embed .convs-input:focus-visible,.board-embed .convs-textarea:focus-visible{outline:3px solid var(--sun-red);outline-offset:2px;border-color:var(--sun-red)}
.board-embed .convs-submit{background:var(--sun-red);color:#fff;border:1px solid var(--sun-red);border-radius:var(--pill);padding:.7em 1.9em;font-family:inherit;font-weight:700;letter-spacing:.04em;transition:background-color .15s ease}
.board-embed .convs-submit:hover{background:var(--sun-red-deep)}
.board-embed .convs-submit:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.board-embed .convs-counter,.board-embed .convs-status,.board-embed .convs-empty{color:var(--ink-muted)}
.board-embed .convs-status[data-kind="error"]{color:#9E0026;font-weight:700}
 
.board-embed .convs-bubble{background:var(--cream);border:1px solid var(--hairline-soft)}
.board-embed .convs-has-avatar .convs-bubble::before{border-right-color:var(--cream)}
.board-embed .convs-ava-name{color:var(--ink-muted)}
.board-embed .convs-item-name{font-weight:800;color:var(--ink)}
.board-embed .convs-item-time{color:var(--ink-muted)}
.board-embed .convs-item-text{color:var(--ink);font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.board-embed .convs-bubble{width:100%}
.board-embed .convs-ava-col{width:56px}
.board-embed .convs-avatar svg,.board-embed .convs-bot-icon{width:40px;height:40px}
 
.board-embed .convs-ava-name{font-size:10.5px;opacity:.85;max-width:56px;overflow-wrap:break-word}
.board-embed .convs-item-time{font-size:12px;opacity:1}
.board-embed .convs-item-no{font-size:12px}
.board-embed .convs-reply-btn,.board-embed .convs-like-btn,.board-embed .convs-trans-btn,.board-embed .convs-report-btn,.board-embed .convs-replies{font-size:13px;padding:4px 12px;opacity:.9}
.board-embed .convs-trans-label{font-size:11px}
.board-embed .convs-form-bottom{border-top-color:var(--hairline)}
.board-embed .convs-textarea::placeholder{color:#8a8378}
.board-embed .convs-note,.board-embed .convs-brand{color:var(--ink-muted)}
.board-embed .convs-brand a{color:inherit}
 
.board-embed .convs-item-no{color:var(--sun-red)}
.board-embed .convs-anchor{color:var(--sun-red);border-bottom-color:rgba(188,0,45,.5)}
.board-embed .convs-anchor:hover,.board-embed .convs-anchor:focus-visible{background:rgba(188,0,45,.08)}
.board-embed .convs-reply-btn:hover,.board-embed .convs-reply-btn:focus-visible{border-color:var(--sun-red);color:var(--sun-red)}
.board-embed .convs-replies{background:rgba(188,0,45,.1);color:var(--sun-red-deep)}
.board-embed .convs-replies:hover,.board-embed .convs-replies:focus-visible{background:rgba(188,0,45,.18)}
 
.board-embed .convs-compose{background:var(--sun-red);color:#fff;border-color:var(--sun-red);padding:.7em 1.9em;font-family:inherit;font-size:1rem}
.board-embed .convs-compose:hover,.board-embed .convs-compose:focus-visible{background:var(--sun-red-deep)}
.board-embed .convs-more{border-color:var(--sun-red);color:var(--sun-red);font-family:inherit}
.board-embed .convs-more:hover,.board-embed .convs-more:focus-visible{background:rgba(188,0,45,.06)}
 
.board-embed .convs-badge{border-color:rgba(188,0,45,.45);color:var(--sun-red);background:rgba(188,0,45,.07)}
.board-embed .convs-bot-icon{border:1px solid var(--hairline);background:var(--paper)}

 
.site-footer{background:var(--ink);color:#fff}
.footer-inner{display:grid;gap:8px;padding-block:clamp(40px,6vw,64px)}
.footer-display{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.7rem);font-weight:900;line-height:1.05;letter-spacing:.02em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:16px}
@supports (-webkit-text-stroke:1px #fff){
  .footer-display{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.52)}
}
.footer-copy{font-weight:700}
.footer-note{font-size:.9rem;color:rgba(255,255,255,.74)}
.footer-supported{font-size:.85rem;color:rgba(255,255,255,.6)}
.footer-supported a{color:rgba(255,255,255,.85);font-weight:700;text-decoration-color:rgba(255,255,255,.4)}
.footer-supported a:hover{color:#fff}
@media (min-width:820px){
  .footer-inner{grid-template-columns:1fr auto;column-gap:48px;align-items:center}
  .footer-display{grid-column:2;grid-row:1/span 3;margin:0;text-align:right}
}

 
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}
