:root{--header-gold:#C4973A;--header-navy:#0B1D35;--hh:72px;}
body #siteHeader,body #siteHeader.dark,body.scrolled #siteHeader,body.scrolled #siteHeader.dark,body.menu-open #siteHeader{position:fixed;top:0;left:0;width:100%;z-index:500;height:var(--hh);padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none;}
#siteHeader .logo{display:flex;align-items:center;gap:11px;height:auto;padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;text-decoration:none;letter-spacing:normal;}
#siteHeader .logo-icon{width:34px;height:34px;flex:0 0 34px;}
#siteHeader .logo-name{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:14px;line-height:1.2;color:var(--header-gold);letter-spacing:.14em;white-space:nowrap;opacity:.92;text-shadow:none;}
#siteHeader .logo-sub{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:13px;line-height:1.25;color:var(--header-gold);letter-spacing:.1em;margin-top:2px;white-space:nowrap;opacity:.82;text-shadow:none;}
#siteHeader nav.pc{display:flex;align-items:center;gap:40px;margin:0;padding:0;background:transparent;}
#siteHeader nav.pc a{font-family:"Montserrat",sans-serif;font-size:11.5px;font-weight:500;letter-spacing:.14em;color:var(--header-gold);text-transform:uppercase;padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;line-height:1;text-decoration:none;opacity:.88;text-shadow:none;transition:opacity .2s;}
#siteHeader nav.pc a:hover{color:var(--header-gold);opacity:1;}
#siteHeader .hbtns{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:0;height:100%;}
#siteHeader .hbtn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border-radius:999px;font-family:"Montserrat","Noto Sans JP",sans-serif;font-size:11px;font-weight:700;line-height:1;letter-spacing:.1em;text-decoration:none;white-space:nowrap;transition:background .22s,border-color .22s,color .22s,transform .22s;}
#siteHeader .hbtn-fill{background:#C4973A;color:#0B1D35;border:1.5px solid #C4973A;}
#siteHeader .hbtn-fill:hover{background:#d4a94a;border-color:#d4a94a;color:#0B1D35;}
#siteHeader .hamburger{display:none;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:8px;}
#siteHeader .hamburger span{display:block;width:22px;height:1.5px;background:#fff;transition:all .3s;}
#siteHeader .hamburger .hlabel{font-family:"Montserrat",sans-serif;font-size:7.5px;color:rgba(255,255,255,.65);letter-spacing:.15em;margin-top:3px;}
#siteHeader .hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
#siteHeader .hamburger.open span:nth-child(2){opacity:0;}
#siteHeader .hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.sp-nav{display:none;position:fixed;inset:0;top:var(--hh);background:rgba(11,29,53,.98);z-index:490;flex-direction:column;padding:32px 6%;}
.sp-nav.open{display:flex;}
.sp-nav a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:16px;color:rgba(255,255,255,.85);letter-spacing:.04em;}
.sp-nav a:hover{color:#C4973A;}
.sp-nav .sp-en{font-family:"Montserrat",sans-serif;font-size:9px;color:#C4973A;letter-spacing:.2em;}
.sp-btns{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
.sp-btns a{display:block;text-align:center;padding:14px;border-radius:999px;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;}
@media(max-width:980px){:root{--hh:64px;}body #siteHeader,body #siteHeader.dark,body.scrolled #siteHeader,body.scrolled #siteHeader.dark,body.menu-open #siteHeader{height:64px;padding:0 18px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}#siteHeader nav.pc,#siteHeader .hbtns{display:none;}#siteHeader .hamburger{display:flex;}#siteHeader .hamburger span{width:30px;height:2px;}#siteHeader .hamburger .hlabel{font-size:9.5px;letter-spacing:.16em;margin-top:5px;}.sp-nav{top:64px;padding:28px 6%;}}
body.menu-open{overflow:hidden;}
.section-photo,
.chapter-photo,
.sec-photo{width:100%;max-width:100%;aspect-ratio:16/7;overflow:hidden;border:none;box-shadow:none;border-radius:0;margin:48px 0 0 0;}
.section-photo img,
.chapter-photo img,
.sec-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;border:none;box-shadow:none;}
#issue .section-photo img,
#issue .chapter-photo img{object-position:20% center;}
#flow .section-photo img,
#flow .chapter-photo img{object-position:center 20%;}
#steps .section-photo img,
#steps .chapter-photo img{filter:brightness(0.72);}
#recruit img,
#contact img{border:none;outline:none;box-shadow:none;}
@media (max-width:768px){.section-photo,
  .chapter-photo,
  .sec-photo{aspect-ratio:16/9;margin-top:24px;}}
@media (min-width:769px) and (max-width:1180px){body #siteHeader,
  body #siteHeader.dark,
  body.scrolled #siteHeader,
  body.scrolled #siteHeader.dark,
  body.menu-open #siteHeader{height:64px !important;padding:0 24px !important;}#siteHeader nav.pc{display:flex !important;gap:clamp(18px,2.3vw,30px) !important;}#siteHeader nav.pc a{font-size:10.5px !important;letter-spacing:.11em !important;}#siteHeader .hbtns{display:flex !important;}#siteHeader .hbtn{min-height:38px !important;padding:0 16px !important;font-size:10.5px !important;letter-spacing:.06em !important;}#siteHeader .hamburger{display:none !important;}}
@media (max-width:768px){#siteHeader nav.pc,
  #siteHeader .hbtns{display:none !important;}#siteHeader .hamburger{display:flex !important;}}
@media (max-width:768px){:root{--hh:58px;}body #siteHeader,
  body #siteHeader.dark,
  body.scrolled #siteHeader,
  body.scrolled #siteHeader.dark,
  body.menu-open #siteHeader{height:58px !important;padding:0 8px !important;gap:6px !important;}#siteHeader .logo{gap:6px !important;min-width:0 !important;flex:0 0 auto !important;}#siteHeader .logo-icon{width:24px !important;height:24px !important;flex-basis:24px !important;}#siteHeader .logo-name{font-size:9.5px !important;letter-spacing:.06em !important;line-height:1.15 !important;}#siteHeader .logo-sub{font-size:9px !important;letter-spacing:.04em !important;line-height:1.15 !important;margin-top:1px !important;}#siteHeader nav.pc{display:flex !important;align-items:center !important;gap:clamp(6px,1.8vw,12px) !important;margin-left:auto !important;flex:0 1 auto !important;min-width:0 !important;}#siteHeader nav.pc a{display:inline-flex !important;font-size:8px !important;letter-spacing:.04em !important;line-height:1 !important;white-space:nowrap !important;}#siteHeader .hbtns{display:flex !important;flex:0 0 auto !important;gap:4px !important;}#siteHeader .hbtn{min-height:28px !important;padding:0 8px !important;font-size:8px !important;letter-spacing:.02em !important;border-width:1px !important;white-space:nowrap !important;}#siteHeader .hamburger{display:none !important;}.sp-nav{display:none !important;}}
@media (max-width:420px){body #siteHeader,
  body #siteHeader.dark,
  body.scrolled #siteHeader,
  body.scrolled #siteHeader.dark,
  body.menu-open #siteHeader{padding:0 6px !important;gap:4px !important;}#siteHeader .logo-icon{width:20px !important;height:20px !important;flex-basis:20px !important;}#siteHeader .logo-name{font-size:8.2px !important;letter-spacing:.03em !important;}#siteHeader .logo-sub{font-size:7.8px !important;letter-spacing:.02em !important;}#siteHeader nav.pc{gap:5px !important;}#siteHeader nav.pc a{font-size:7.4px !important;letter-spacing:0 !important;}#siteHeader .hbtn{min-height:26px !important;padding:0 6px !important;font-size:7.4px !important;}}
#siteHeader nav.pc a,
body #siteHeader nav.pc a{font-size:13px !important;letter-spacing:.14em !important;}
@media (min-width:769px) and (max-width:980px){#siteHeader nav.pc,
  body #siteHeader nav.pc{display:flex !important;align-items:center !important;gap:clamp(14px,2vw,28px) !important;margin-left:auto !important;flex:0 1 auto !important;min-width:0 !important;}#siteHeader .hbtns,
  body #siteHeader .hbtns{display:flex !important;}#siteHeader .hamburger,
  body #siteHeader .hamburger{display:none !important;}#siteHeader nav.pc a,
  body #siteHeader nav.pc a{font-size:13px !important;letter-spacing:.14em !important;white-space:nowrap !important;}}
@media (max-width:768px){#siteHeader nav.pc,
  body #siteHeader nav.pc{display:flex !important;align-items:center !important;}#siteHeader .hamburger,
  body #siteHeader .hamburger{display:none !important;}#siteHeader nav.pc a,
  body #siteHeader nav.pc a{font-size:9px !important;letter-spacing:.04em !important;white-space:nowrap !important;}}
@media (max-width:420px){#siteHeader nav.pc a,
  body #siteHeader nav.pc a{font-size:9px !important;letter-spacing:0 !important;white-space:nowrap !important;}}
.footer-brand-name{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:14px;line-height:1.2;color:var(--header-gold,#C4973A);letter-spacing:.14em;white-space:nowrap;opacity:.92;}
.footer-brand-sub{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700;font-size:13px;line-height:1.25;color:var(--header-gold,#C4973A);letter-spacing:.1em;margin-top:2px;white-space:nowrap;opacity:.82;}
