@charset "UTF-8";
/* ============================================================
   ECTURO sp.css — 768px以下
   ============================================================ */
@media (max-width:768px){
  body{font-size:14px}
  section.block{padding:64px 0}
  .pc-only{display:none!important}
  .wrap,.wrap-narrow{padding:0 20px}

  /* ヘッダー：SPメニュー */
  .site-header{height:60px;padding:0 18px}
  .header-logo a{font-size:19px;letter-spacing:.28em}
  .gnav{
    position:fixed;inset:0;background:rgba(13,11,9,.97);
    display:flex;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transition:opacity .4s;
  }
  .gnav.is-open{opacity:1;visibility:visible}
  .gnav ul{flex-direction:column;gap:26px;text-align:center}
  .gnav a{font-size:15px;letter-spacing:.3em}
  .menu-btn{
    display:block;position:relative;z-index:110;
    width:40px;height:40px;background:none;border:0;cursor:pointer;
  }
  .menu-btn span{
    position:absolute;left:8px;width:24px;height:1px;background:var(--ink);
    transition:transform .35s,opacity .35s;
  }
  .menu-btn span:nth-child(1){top:14px}
  .menu-btn span:nth-child(2){top:20px}
  .menu-btn span:nth-child(3){top:26px}
  .menu-btn.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-btn.is-open span:nth-child(2){opacity:0}
  .menu-btn.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  /* トップヒーロー */
  .top-hero{height:88vh;min-height:520px}
  .top-hero .hero-copy{left:22px;right:auto;bottom:60px}
  .top-hero .hero-logo{font-size:34px}
  .top-hero .hero-tate{writing-mode:vertical-rl;text-orientation:mixed;font-feature-settings:normal;font-size:14px;letter-spacing:.34em;line-height:2.4}

  .chapitre{margin-bottom:36px}
  .chapitre .fr{font-size:24px}

  .duo{display:block}
  .duo-img{margin:0 -20px 30px}
  .duo-img img{width:100%;height:280px;object-fit:cover}
  .duo.rev .duo-img{margin-bottom:30px}

  .ring-grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}
  .ring-grid.cols4,.ring-grid.cols2{grid-template-columns:repeat(2,1fr)}
  .ring-grid figcaption{font-size:12.5px}

  .product-head{display:block}
  .product-head .product-main-img{margin:0 -20px 26px}
  .product-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}

  .spec-table th{width:112px;padding:10px 10px;font-size:12px}
  .spec-table td{padding:10px 12px;font-size:12.5px}
  .price-table th,.price-table td{padding:9px 6px;font-size:11.5px}

  .feature-grid{display:grid;gap:16px}
  .shop-grid{display:grid;gap:16px}
  .shop-info-grid{display:block}
  .shop-info-grid .shop-photo{margin:0 -20px 26px}
  .guide-grid,.step-grid{display:grid;gap:16px}

  .page-hero img{height:34vh;min-height:220px}
  .page-title{padding:40px 20px 0}
  .page-title .hero-fr{font-size:25px}
  .page-title h1{font-size:14px}

  .breadcrumb{padding:78px 20px 0}
  .btn{padding:13px 40px 13px 46px;font-size:11.5px}
}
