*,*::before,*::after{box-sizing:border-box}
:root{
  --lime:oklch(0.9 0.19 123);
  --lime-deep:oklch(0.8 0.17 125);
  --bg:#141712;
  --bg2:#1c2216;
  --panel:#1e2118;
  --bg-green:#0f1b11;
  --bg-cool:#101922;
  --line:rgba(255,255,255,.1);
  --ink:#f5f7f1;
  --muted:#9aa295;
  --muted2:#c4cabb;
  --well:#090b06;
  --error:#ff8e8e;
  --font-sans:"Noto Sans JP",sans-serif;
  --font-mono:"Roboto Mono",monospace;
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;min-width:320px;overflow-x:hidden;font-family:var(--font-sans);color:var(--muted2);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--lime);text-decoration:none}
a:hover{color:var(--lime-deep)}
button,input,select,textarea{font:inherit}
img{max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--lime);color:#14160f}
:focus-visible{outline:3px solid color-mix(in srgb,var(--lime) 80%,white);outline-offset:3px}
@keyframes fadeUp{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:12px 18px;border-radius:0 0 10px 0;background:var(--lime);color:#14160f;font-weight:700;font-size:14px}
.skip-link:focus{left:0}
.raster-icon{display:block;flex:0 0 auto;object-fit:contain}
.faq-answer[hidden]{display:none!important}
.faq-toggle[aria-expanded="true"]+.faq-answer{animation:fadeUp .25s ease}
.turnstile-row,.form-status{grid-column:1/-1}
.turnstile-row{min-height:65px;overflow:hidden}
.turnstile-slot{max-width:100%}
.form-status{min-height:1.5em;margin:0;color:var(--muted2);font-size:13px;line-height:1.5}
.form-status.is-error{color:var(--error)}
.form-status.is-success{color:var(--lime)}
[data-contact-form] :is(input,select,textarea)[aria-invalid="true"]{border-color:var(--error)!important;box-shadow:0 0 0 2px rgba(255,142,142,.12)}
[data-submit-button][disabled]{cursor:wait!important;opacity:.62}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.noscript-notice{position:fixed;right:16px;bottom:16px;z-index:100;padding:12px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#20241b;box-shadow:0 12px 35px rgba(0,0,0,.3)}

@media (max-width:939px){
  html{scroll-padding-top:76px}
  header>div:first-child{height:68px!important;padding-right:20px!important;padding-left:20px!important}
  header nav{display:none!important}
  #mobile-menu-button{display:flex!important}
  #mobile-menu{padding-right:20px!important;padding-left:20px!important}
  #mobile-menu:not([hidden]){display:flex!important}
}

@media (min-width:940px){
  #mobile-menu-button,#mobile-menu{display:none!important}
}

@media (max-width:620px){
  main>section{padding-right:20px!important;padding-left:20px!important}
  footer{padding-right:20px!important;padding-left:20px!important}
  [style*="minmax(360px"],[style*="minmax(340px"],[style*="minmax(320px"],[style*="minmax(300px"]{grid-template-columns:minmax(0,1fr)!important}
  [style*="min-width: 300px"],[style*="min-width: 280px"],[style*="min-width: 260px"]{min-width:0!important}
  [data-contact-form]{grid-template-columns:minmax(0,1fr)!important}
  #faq .faq-toggle{padding:18px 16px!important}
  #faq .faq-answer{padding-right:16px!important;padding-left:16px!important}
  #faq .faq-answer p{margin-left:44px!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
