/* ============================================================
   外来水草繁殖抑制事業 LP — page styles
   ※ 要素固有の装飾は各要素の style 属性に記述しています。
     ここには全体リセット・共通部品・レスポンシブのみ。
   ============================================================ */

/* ---- reset ---- */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--white);font-family:var(--font-sans);color:var(--ink);}
img{max-width:100%;}
::selection{background:var(--tint-blue);}
a{color:inherit;}
a:hover{color:var(--blue);}

/* ---- buttons (AMAYUKU DS / primary = 水ブルー) ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-sans);font-weight:var(--fw-medium);line-height:1;
  border-radius:var(--radius-md);cursor:pointer;text-decoration:none;white-space:nowrap;
  background:var(--blue);color:#fff;border:1.5px solid var(--blue);
  padding:11px 24px;font-size:var(--text-sm);
  transition:filter var(--dur-hover) var(--ease-out);
}
.btn:hover{filter:brightness(.92);color:#fff;}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none;}
.btn-sm{padding:8px 18px;font-size:var(--text-caption);}
.btn-lg{padding:14px 30px;font-size:var(--text-lead);}

/* ---- section index numerals ---- */
  .idx{font-family:var(--font-serif);font-weight:700;font-size:78px;line-height:.78;color:var(--blue);letter-spacing:-.02em;}
  @keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(7px);}}
  input::placeholder,textarea::placeholder{color:#9fb3bd;}
  .sp-br{display:none;}
  .tex{position:relative;}
  .tex::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;opacity:.12;mix-blend-mode:multiply;}
  .tex > *{position:relative;z-index:1;}
  .faq summary{list-style:none;cursor:pointer;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq details[open] .faq-mark{transform:rotate(45deg);}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1024px){
    [data-fade]{padding-left:24px!important;padding-right:24px!important;}
    .r-fb{padding:72px 0!important;}
  }
  @media (max-width:680px){
    h1{font-size:min(30px,7.2vw)!important;line-height:1.55!important;}
    .sp-br{display:inline!important;}
    h2 br{display:none!important;}
    h2{font-size:26px!important;line-height:1.5!important;}
    h3{font-size:20px!important;}
    .idx{font-size:50px!important;}
    [data-fade]{padding-top:52px!important;padding-bottom:52px!important;}

    .r-grid{grid-template-columns:1fr!important;gap:30px!important;}
    .r-grid3{grid-template-columns:1fr!important;}
    .r-steps{grid-template-columns:1fr!important;}
    .r-pillars{grid-template-columns:1fr!important;gap:18px!important;}
    .r-research-imgs{grid-template-columns:1fr!important;}
    .r-constraints{grid-template-columns:1fr 1fr!important;}
    .r-goals{grid-template-columns:1fr!important;}
    .r-noindent{padding-left:0!important;}

    .r-hero{min-height:auto!important;}
    .r-hero-inner{padding-top:104px!important;padding-bottom:64px!important;}

    .r-fb{flex-direction:column!important;padding:0!important;gap:0!important;}
    .r-fb > *{flex:none!important;width:100%!important;}
    .r-fb-img{order:1!important;}
    .r-fb-img img, .r-fb-img > *{height:280px!important;border-radius:0!important;object-fit:cover;}
    .r-fb-text{padding:48px 24px 56px!important;}

    .r-material{grid-template-columns:1fr!important;gap:34px!important;}
    .r-flow{grid-template-columns:1fr!important;gap:10px!important;}
    .r-flow .r-arrow{transform:rotate(90deg)!important;height:22px!important;}
    .r-traits{grid-template-columns:1fr!important;gap:0!important;}
    .r-company{grid-template-columns:1fr!important;gap:30px!important;}
    .r-company-imgs{grid-template-columns:1fr 1fr!important;}

    .r-roadmap{flex-direction:column!important;gap:14px!important;align-items:stretch!important;}
    .r-roadmap .r-arrow{transform:rotate(90deg)!important;align-self:center!important;}

    section{overflow-x:clip;}
    [data-screen-label]{overflow-x:clip;}

    .r-footer{grid-template-columns:1fr!important;gap:34px!important;}

    .r-logo{height:30px!important;}
    .r-tagline{display:none!important;}
  }

/* ---- scroll reveal (js/main.js が制御。JS無効時は常時表示) ---- */
.is-revealable{opacity:0;transform:translateY(44px);}
.is-revealed{opacity:1;transform:none;transition:opacity 860ms var(--ease-out),transform 860ms var(--ease-out);}
@media (prefers-reduced-motion: reduce){
  .is-revealable{opacity:1;transform:none;}
  .is-revealed{transition:none;}
}
