/* Shared site shell and editorial layout. Visual reference: the A homepage. */
:root{--page-paper:#f8f5ee;--page-ink:#2b2721;--page-muted:#746b5d;--page-gold:#8a6b34;--page-rule:#ded7c9;--page-width:1120px}
html{scroll-padding-top:96px}
body.summit-page{background:#fff;color:var(--page-ink);font:400 17px/1.95 var(--gothic);letter-spacing:.045em}
.summit-page main{min-height:60vh}
.summit-page .header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--page-rule);--txt:#2b2721;--sub:#7c7365;--gold:#8a6b34;--gold-dim:rgba(138,107,52,.42)}
.summit-page .menu-btn{background:transparent;border-color:var(--page-rule)}
.header .desktop-nav a:focus-visible,.header .desktop-nav a:hover{color:var(--gold)}
body.menu-open .header{background:transparent;border-color:rgba(244,239,228,.1);--txt:#f4efe4;--sub:#c7bda9;--gold:#e4d3a6}
body.menu-open .header .brand,body.menu-open .header .menu-btn{color:#f4efe4}
body.menu-open .header .menu-btn{background:transparent;border-color:rgba(244,239,228,.25)}
body.menu-open .header .desktop-nav{visibility:hidden}
.menu{overscroll-behavior:contain;align-items:flex-start;background:#1e1a14;transition:opacity .3s}
.menu .menu-in{padding-top:108px;padding-bottom:max(48px,env(safe-area-inset-bottom));max-width:1000px}
.menu-list a{padding-block:15px}
.menu-list a[aria-current="page"] .m-jp{color:var(--gold)}
.menu-list a[aria-current="page"]::after{content:"現在のページ";font:11px var(--gothic);color:var(--sub);margin-left:auto;letter-spacing:.05em}
.menu-foot{margin-top:28px}
.menu-foot .btn{min-height:48px}
.menu[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.menu[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.footer .foot-col{min-width:0}
.footer .foot-col a{overflow-wrap:anywhere}
.footer .foot-legal{gap:14px 24px}
.page-wrap{width:min(var(--page-width),calc(100% - 64px));margin-inline:auto}
.page-hero{position:relative;background:var(--page-paper);border-bottom:1px solid var(--page-rule);padding:146px 0 72px;overflow:hidden}
.page-kicker{display:flex;align-items:center;gap:18px;color:var(--page-gold);font:400 12px/1.6 var(--en);letter-spacing:.3em;text-transform:uppercase;margin:0 0 24px}
.page-kicker::before{content:"";height:1px;width:40px;flex:none;background:currentColor;opacity:.65}
.page-title{font-family:var(--mincho);font-size:clamp(32px,4.6vw,58px);font-weight:500;letter-spacing:.1em;line-height:1.6;text-wrap:pretty;overflow-wrap:anywhere;margin:0}
.page-lead{color:var(--page-muted);font-size:clamp(16px,1.4vw,19px);line-height:2;max-width:740px;margin:28px 0 0;text-wrap:pretty}
.page-section{padding-block:80px}
.page-section+.page-section{border-top:1px solid var(--page-rule)}
.section-heading{font-family:var(--mincho);font-size:clamp(25px,3vw,36px);font-weight:500;letter-spacing:.09em;line-height:1.65;margin:0 0 30px;text-wrap:pretty}
.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.content-grid>*{min-width:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:15px 28px;border:1px solid var(--page-gold);background:transparent;color:var(--page-ink);font:500 15px/1.6 var(--gothic);letter-spacing:.07em;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.button::after{content:"→";font:300 20px/1 var(--en);flex:none}
.button--primary{background:var(--page-gold);color:#fff}
.button--primary:hover{background:#6b5026;border-color:#6b5026}
.button--secondary:hover{background:var(--page-paper)}
.button:focus-visible{outline:2px solid var(--page-gold);outline-offset:5px}
.button[aria-disabled="true"],.button:disabled{opacity:.55;cursor:not-allowed}
.info-list{margin-block:24px}
.info-list>div{display:grid;grid-template-columns:minmax(100px,150px) minmax(0,1fr);gap:24px;padding:20px 0;border-bottom:1px solid var(--page-rule)}
.info-list dt{font-size:14px;font-weight:500;color:var(--page-muted)}
.info-list dd{margin:0;min-width:0}
.summit-page a:not(.button):not(.brand):not(.desktop-nav a):not(.menu a):not(.footer a){text-underline-offset:5px}
.summit-page main a:not(.button){text-decoration-thickness:1px}
.summit-page main img{max-width:100%;height:auto}
.summit-page main iframe{max-width:100%;border:0}
.summit-page main p+.button{margin-top:26px}
.summit-page main ul,.summit-page main ol{padding-left:1.4em}
.summit-page main ul{list-style:disc}
.summit-page main li+li{margin-top:8px}
.summit-page main summary{cursor:pointer}
.summit-page main [id]{scroll-margin-top:102px}
.summit-page .eyebrow{font-family:var(--en);letter-spacing:.26em;font-size:12px;color:var(--page-gold);text-transform:uppercase;margin-bottom:20px}
.summit-page .eyebrow::after{background:var(--page-gold)}
.summit-page .note{font-size:14px;color:var(--page-muted);line-height:1.85}
.summit-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1024px){
  .summit-page .header{height:88px;padding:0 48px;display:grid;grid-template-columns:auto 1fr auto;gap:34px}
  .summit-page .desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(20px,2.4vw,40px)}
  .summit-page .desktop-nav a{position:relative;padding:9px 0;font:400 12px var(--en);letter-spacing:.22em;text-transform:uppercase;color:var(--txt)}
  .summit-page .desktop-nav a::after{content:"";position:absolute;left:0;right:.22em;bottom:3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
  .summit-page .desktop-nav a:hover::after,.summit-page .desktop-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}
  .summit-page .menu-btn{width:44px;height:44px}
}
@media(max-width:767px){
  body.summit-page{font-size:16px;line-height:1.95}
  .page-wrap{width:calc(100% - 40px)}
  .page-hero{padding:116px 0 48px}
  .page-title{font-size:32px;letter-spacing:.07em;line-height:1.65}
  .page-kicker{font-size:10px;letter-spacing:.24em;margin-bottom:20px}
  .page-lead{margin-top:22px;font-size:16px}
  .page-section{padding-block:52px}
  .content-grid{grid-template-columns:1fr;gap:28px}
  .section-heading{font-size:25px;margin-bottom:26px}
  .info-list>div{grid-template-columns:1fr;gap:6px;padding-block:17px}
  .button{max-width:100%;font-size:14px;padding:15px 21px;gap:12px}
  .menu .menu-in{width:calc(100% - 40px);padding-top:94px}
  .menu-list a{gap:12px;padding:13px 0}
  .menu-list .m-en{width:68px;font-size:9px;letter-spacing:.17em}
  .menu-list .m-jp{font-size:16px;letter-spacing:.08em}
  .menu-list a[aria-current="page"]::after{content:"●";font-size:7px}
  .menu-foot{display:block;margin-top:25px}
  .menu-foot .note{margin-top:16px;font-size:12px;line-height:1.8}
  .footer .foot-brand .f-jp{font-size:18px;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.menu,.menu-list a{transition:none}}
