/* ==========================================================
   レスポンシブスタイル
   ========================================================== */

/* ---------- ~1100px ---------- */
@media (max-width:1100px){
  .global-nav a{font-size:.7rem;padding:9px 10px;}
  .nav-cta{padding:10px 15px !important;}
  .news-card-lead{grid-column:span 1;}
  .hero{grid-template-columns:1fr .86fr;}
}

/* ---------- タブレット ~960px ---------- */
@media (max-width:960px){
  :root{--header-h:66px;}

  /* ナビ：ドロワー */
  .nav-toggle{display:block;}
  .global-nav{
    position:fixed;inset:0;z-index:-1;
    background:linear-gradient(160deg,#08192f 0%,#123356 100%);
    display:grid;place-items:center;
    opacity:0;visibility:hidden;
    transition:opacity .45s ease,visibility .45s ease;
  }
  .global-nav.is-open{opacity:1;visibility:visible;z-index:990;}
  .global-nav ul{flex-direction:column;gap:6px;width:min(320px,80vw);}
  .global-nav li{width:100%;opacity:0;transform:translateY(18px);}
  .global-nav.is-open li{
    opacity:1;transform:none;
    transition:opacity .5s var(--ease),transform .5s var(--ease);
  }
  .global-nav.is-open li:nth-child(1){transition-delay:.08s;}
  .global-nav.is-open li:nth-child(2){transition-delay:.14s;}
  .global-nav.is-open li:nth-child(3){transition-delay:.2s;}
  .global-nav.is-open li:nth-child(4){transition-delay:.26s;}
  .global-nav.is-open li:nth-child(5){transition-delay:.32s;}
  .global-nav.is-open li:nth-child(6){transition-delay:.38s;}
  .global-nav.is-open li:nth-child(7){transition-delay:.44s;}
  .global-nav a{
    width:100%;justify-content:flex-start;gap:14px;
    font-size:.92rem;padding:15px 22px;color:#fff !important;
    border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;
  }
  .global-nav a i{font-size:.86rem;color:var(--aqua);opacity:1;width:20px;}
  .global-nav a::after{display:none;}
  .nav-cta{
    margin-top:16px;justify-content:center !important;border-radius:999px !important;
    border-bottom:0 !important;color:#04202f !important;padding:15px 22px !important;
  }
  .site-header{background:rgba(8,25,47,.28);backdrop-filter:blur(8px);}

  /* ヒーロー */
  .hero{
    grid-template-columns:1fr;text-align:center;
    padding:calc(var(--header-h) + 46px) 22px 92px;min-height:auto;
  }
  .hero-inner{max-width:100%;margin-inline:auto;}
  .hero-actions,.hero-badges{justify-content:center;}
  .hero-photo{transform:none;animation:none;}
  .hero-photo img{height:clamp(210px,32vh,300px);}
  .hero-visual{margin-top:34px;}
  .scroll-cue{display:none;}

  /* about */
  .about-layout{grid-template-columns:1fr;}
  .about-visual{padding:14px 0 44px 12px;max-width:520px;margin-inline:auto;}
  .frame-tilt img{height:300px;}
  .section-head-left{text-align:center;margin-inline:auto;}
  .about-body{text-align:left;}
  .stats li{border-right:0;border-bottom:1px solid var(--line);}
  .stats li:last-child{border-bottom:0;}

  /* theme */
  .theme-cards{grid-template-columns:1fr;}

  /* history */
  .timeline{grid-template-columns:1fr;gap:26px;padding-left:26px;}
  .timeline-axis{left:6px;transform:none;}
  .tl-item-wide{grid-column:span 1;}
  .tl-item-wide .tl-card{grid-template-columns:1fr;}
  .tl-item-wide .tl-card figure img{height:230px;}
  .tl-item-wide .tl-body{padding:22px 24px 26px;}
  .tl-item::after{
    display:block;left:-26px;right:auto;top:10px;
    width:11px;height:11px;
  }
  .tl-left::after,.tl-right::after{left:-26px;right:auto;}

  /* join */
  .join-layout{grid-template-columns:1fr;}
  .join-info .section-head-left{text-align:left;}
  .join-photo img{height:200px;}

  .pc-only{display:none;}
}

/* ---------- スマホ ~600px ---------- */
@media (max-width:600px){
  body{line-height:1.8;}
  .container{width:min(1180px,92vw);}

  .brand-logo{width:38px;height:38px;}
  .brand-text strong{font-size:.88rem;}
  .brand-text small{font-size:.55rem;letter-spacing:.1em;}

  .hero{padding:calc(var(--header-h) + 34px) 20px 74px;}
  .hero-eyebrow{font-size:.62rem;letter-spacing:.24em;margin-bottom:16px;}
  .hero-title{font-size:clamp(1.85rem,9vw,2.5rem);line-height:1.34;}
  .hero-lead{font-size:.9rem;line-height:1.95;margin-bottom:26px;}
  .btn{padding:13px 22px;font-size:.86rem;width:100%;justify-content:center;}
  .hero-actions{flex-direction:column;gap:10px;width:100%;}
  .hero-badges{gap:7px;}
  .hero-badges li{font-size:.7rem;padding:7px 12px;}
  .hero-photo img{height:200px;}

  .ticker-label{padding:11px 14px;font-size:.64rem;letter-spacing:.1em;}
  .ticker-set span{padding:0 22px;font-size:.76rem;}

  .section{padding:66px 0;}
  .section-head{margin-bottom:34px;}
  .section-en{font-size:.66rem;letter-spacing:.22em;}
  .section-title{font-size:clamp(1.42rem,6.4vw,1.85rem);}
  .section-desc{font-size:.86rem;line-height:1.95;}

  .news-grid{gap:16px;}
  .news-card{padding:24px 20px;border-radius:16px;}
  .news-card h3{font-size:1.04rem;}
  .news-theme li{font-size:.82rem;padding:11px 13px;}

  .deco-infinity{font-size:5.4rem;left:-12px;top:-18px;}
  .frame-tilt img{height:230px;}
  .frame-small{width:52%;}
  .frame-small img{height:120px;}
  .about-points li{font-size:.85rem;padding:12px 14px;gap:11px;}
  .about-points i{width:34px;height:34px;font-size:.85rem;}
  .stats{border-radius:16px;}
  .stats li{padding:26px 20px;}
  .stats p{font-size:.76rem;}

  .theme-quote{padding:30px 22px;border-radius:18px;}
  .theme-quote::before,.theme-quote::after{font-size:4rem;}
  .theme-jp{font-size:1.12rem;line-height:1.85;}
  .theme-en{font-size:.78rem;}
  .theme-card{padding:26px 22px;border-radius:16px;}
  .theme-card h3{font-size:1.04rem;}

  .activity-card{padding:32px 22px 26px;border-radius:18px;}
  .activity-icon{width:52px;height:52px;font-size:1.2rem;border-radius:15px;margin-bottom:18px;}
  .activity-step{font-size:2.1rem;top:14px;right:18px;}
  .activity-card h3{font-size:1.08rem;}
  .activity-card p{font-size:.86rem;}

  .tl-date{font-size:.92rem;}
  .tl-card figure img,.tl-figure-duo img{height:190px;}
  .tl-body{padding:18px 18px 22px;}
  .tl-body h3{font-size:1.04rem;}

  .travel-hint{display:flex;margin:10px auto 0;justify-content:center;font-size:.74rem;}
  .filter-btn{padding:9px 16px;font-size:.76rem;}
  .travel-grid{grid-template-columns:1fr;gap:16px;}
  .story-thumb img,.story-noimg{height:200px;}

  .gallery-item{width:74vw;}
  .gallery-item img{height:190px;}

  .join-form-wrap{border-radius:18px;padding:22px 18px;}
  .form-row{grid-template-columns:1fr;gap:0;}
  .join-note{padding:22px 20px;}
  .join-note li{font-size:.83rem;}
  .section-join::before{font-size:15rem;}

  .footer-brand{flex-direction:column;text-align:center;gap:10px;}
  .footer-nav{gap:6px 16px;}
  .footer-nav a{font-size:.7rem;}
  .footer-message{font-size:1.02rem;}

  .modal-figure img{height:210px;}
  .modal-body{padding:24px 20px 28px;}
  .modal-body p{font-size:.89rem;line-height:2;}

  .lightbox{padding:70px 14px;}
  .lightbox-nav{width:42px;height:42px;font-size:.9rem;}
  .lightbox-prev{left:8px;}
  .lightbox-next{right:8px;}

  .to-top{width:44px;height:44px;right:16px;bottom:16px;}
}

/* ---------- 極小 ~380px ---------- */
@media (max-width:380px){
  .brand-text small{display:none;}
  .hero-title{font-size:1.68rem;}
}
