/* ============================================================
   style.css - Taste of the Wild Japan
   ページ固有スタイル（index〜contact）
   ============================================================ */

/* ============================================================
   INDEX
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;
  --gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;
  --be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;
  --td:#1e1a14;--tm:#5a5347;--tl:#8a8078;
  --fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--fs-4xl:56px;--fs-5xl:72px;
  --sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-6:96px;--sp-7:112px;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;overflow:hidden}
.hero-video{position:absolute;inset:0;overflow:hidden}
.hero-video video{width:100%;height:100%;object-fit:cover}
.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(18,29,39,0.88) 0%,rgba(18,29,39,0.55) 55%,rgba(18,29,39,0.3) 100%)}
.hero-content{position:relative;z-index:2;padding:0 var(--sp-5);max-width:720px}
.hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:var(--sp-1);opacity:0;animation:fadeDown 0.7s 0.4s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-eyebrow-line{height:1px;width:32px;background:var(--gold3)}
.hero-eyebrow-text{font-size:12px;letter-spacing:0.25em;color:var(--gold3);text-transform:uppercase}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-3xl),5.5vw,var(--fs-5xl));color:#fff;line-height:1.05;font-weight:700;margin-bottom:var(--sp-2)}
.hero-title-line{display:block;opacity:0;transform:translateY(64px);animation:titleSlide 1s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-title-line:nth-child(1){animation-delay:0.5s}
.hero-title-line:nth-child(2){animation-delay:0.65s}
.hero-title-line:nth-child(3){animation-delay:0.8s}
.hero-sub{color:rgba(255,255,255,0.65);font-size:var(--fs-base);line-height:1.875;max-width:480px;margin-bottom:var(--sp-3);opacity:0;animation:fadeUp 0.7s 1.1s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-btns{display:flex;gap:16px;opacity:0;animation:fadeUp 0.7s 1.3s cubic-bezier(0.16,1,0.3,1) forwards}
.hero-video-ctrl{position:absolute;bottom:32px;right:var(--sp-5);z-index:3}
.hero-video-ctrl button{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.3);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.hero-video-ctrl button:hover{background:rgba(255,255,255,0.2)}
.ticker-wrap{overflow:hidden;background:var(--primary);padding:14px 0;border-top:1px solid rgba(255,255,255,0.06)}
.ticker-track{display:flex;gap:0;animation:ticker 28s linear infinite;width:max-content}
.ticker-item{display:flex;align-items:center;gap:16px;padding:0 32px;font-size:12px;letter-spacing:0.18em;color:rgba(255,255,255,0.45);white-space:nowrap;text-transform:uppercase}
.ticker-dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0}
.stats{background:var(--primary);display:flex;border-top:1px solid rgba(255,255,255,0.06)}
.stat-item{flex:1;padding:var(--sp-3) var(--sp-2);text-align:center;border-right:1px solid rgba(255,255,255,0.06)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);color:#fff;font-weight:700;line-height:1;display:flex;align-items:flex-start;justify-content:center;gap:2px}
.stat-sup{font-size:var(--fs-lg);margin-top:4px;color:var(--gold3)}
.stat-label{font-size:12px;color:rgba(255,255,255,0.4);margin-top:12px;letter-spacing:0.12em;text-transform:uppercase}
.about{background:var(--cr);display:grid;grid-template-columns:1fr 1fr;min-height:720px}
.about-media{position:relative;overflow:hidden}
.about-media img{width:100%;height:100%;object-fit:cover;object-position:center 20%;transform:scale(1.06);transition:transform 1.4s cubic-bezier(0.16,1,0.3,1);display:block}
.about-media.visible img{transform:scale(1)}
.about-media-overlay{position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--cr))}
.about-text{padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;justify-content:center}
.about-text .ss{max-width:520px;margin-bottom:var(--sp-3)}
.about-row{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-3)}
.ar .n{font-family:'Playfair Display',serif;font-size:var(--fs-2xl);color:var(--ac);font-weight:700;line-height:1}
.ar .l{font-size:12px;color:var(--tl);margin-top:6px;letter-spacing:0.06em}
.products{padding:var(--sp-7) var(--sp-5);background:var(--ww)}
.products-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--sp-4)}
.products-banner-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.products-banner{display:block;text-decoration:none;border:1.5px solid var(--be3);overflow:hidden;transition:border-color 0.35s,box-shadow 0.35s}
.products-banner:hover{box-shadow:0 20px 56px rgba(18,29,39,0.12)}
.pb-dog{background:var(--ww)}
.pb-dog .pb-inner{transition:background 0.4s}
.pb-dog:hover .pb-inner{background:var(--ac)}
.pb-dog .pb-en{color:var(--ac);transition:color 0.4s}
.pb-dog .pb-ja,.pb-dog .pb-count{color:var(--td);transition:color 0.4s}
.pb-dog .pb-cta{color:var(--ac);transition:color 0.4s}
.pb-dog:hover .pb-en,.pb-dog:hover .pb-ja,.pb-dog:hover .pb-count,.pb-dog:hover .pb-cta{color:#fff}
.pb-dog:hover{border-color:var(--ac)}
.pb-cat{background:var(--ww)}
.pb-cat .pb-inner{transition:background 0.4s}
.pb-cat:hover .pb-inner{background:var(--gold)}
.pb-cat .pb-en{color:var(--gold);transition:color 0.4t}
.pb-cat .pb-ja,.pb-cat .pb-count{color:var(--td);transition:color 0.4s}
.pb-cat .pb-cta{color:var(--gold);transition:color 0.4s}
.pb-cat:hover .pb-en,.pb-cat:hover .pb-ja,.pb-cat:hover .pb-count,.pb-cat:hover .pb-cta{color:#fff}
.pb-cat:hover{border-color:var(--gold)}
.pb-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:320px}
.pb-photo-wrap{position:relative;height:100%;min-height:320px;overflow:hidden}
.pb-photo-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(0.16,1,0.3,1)}
.products-banner:hover .pb-photo-wrap img{transform:scale(1.06)}
.pb-photo-ov{position:absolute;inset:0;background:rgba(18,29,39,0.15);transition:background 0.4s}
.pb-dog:hover .pb-photo-ov{background:rgba(15,81,103,0.35)}
.pb-cat:hover .pb-photo-ov{background:rgba(165,124,55,0.35)}
.pb-body{padding:var(--sp-3) var(--sp-2);display:flex;flex-direction:column;gap:8px}
.pb-en{font-family:'Playfair Display',serif;font-size:var(--fs-lg);font-weight:700;letter-spacing:0.06em;line-height:1}
.pb-ja{font-size:var(--fs-base);letter-spacing:0.08em}
.pb-count{font-size:12px;letter-spacing:0.2em;text-transform:uppercase}
.pb-cta{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-base);font-weight:500;letter-spacing:0.06em;margin-top:8px}
.pb-cta .arr{transition:transform 0.25s}
.products-banner:hover .pb-cta .arr{transform:translateX(6px)}
.why{background:var(--primary);padding:var(--sp-7) var(--sp-5);border-bottom:1px solid rgba(255,255,255,0.06)}
.why-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--sp-4)}
.why-top .sl{color:var(--gold3)}
.why-top .sl::before{background:var(--gold3)}
.why-top .st{color:#fff}
.why-top-note{font-size:var(--fs-base);color:rgba(255,255,255,0.45);max-width:280px;text-align:right;line-height:1.75}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.05)}
.wi{background:var(--primary);padding:var(--sp-3) var(--sp-2);transition:background 0.3s}
.wi:hover{background:rgba(255,255,255,0.03)}
.wi-num{font-family:'Playfair Display',serif;font-size:var(--fs-4xl);color:rgba(165,124,55,0.35);font-weight:700;line-height:1;margin-bottom:var(--sp-2)}
.wi-line{width:28px;height:2px;background:var(--gold);margin-bottom:var(--sp-1)}
.wi h3{font-size:var(--fs-base);color:#fff;font-weight:500;margin-bottom:10px}
.wi p{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.875}
.quiz-section{background:linear-gradient(135deg,var(--ac2) 0%,#0a2a35 100%);padding:var(--sp-7) var(--sp-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:center;position:relative;overflow:hidden;border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}
.quiz-section::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;border:1px solid rgba(165,124,55,0.12);top:-200px;right:-200px;pointer-events:none}
.quiz-section::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(165,124,55,0.04);bottom:-100px;left:-80px;pointer-events:none}
.quiz-section-text .sl{color:var(--gold3)}
.quiz-section-text .sl::before{background:var(--gold3)}
.quiz-section-text .st{color:#fff}
.quiz-section-text p{color:rgba(255,255,255,0.6);font-size:var(--fs-base);line-height:1.875;margin-bottom:var(--sp-3)}
.quiz-section-btn{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#fff;padding:18px 48px;font-size:var(--fs-base);font-weight:500;letter-spacing:0.12em;text-decoration:none;text-transform:uppercase;transition:all 0.25s;position:relative;overflow:hidden}
.quiz-section-btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.15);transform:translateX(-110%) skewX(-18deg);transition:transform 0.4s}
.quiz-section-btn:hover::after{transform:translateX(110%) skewX(-18deg)}
.quiz-section-btn:hover{background:var(--gold2);transform:translateY(-2px)}
.quiz-steps{display:flex;flex-direction:column;gap:16px}
.quiz-step-item{display:flex;align-items:flex-start;gap:16px;padding:var(--sp-1) var(--sp-2);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);border-left:3px solid var(--gold)}
.quiz-step-num{font-family:'Playfair Display',serif;font-size:var(--fs-2xl);color:rgba(165,124,55,0.35);font-weight:700;line-height:1;flex-shrink:0;width:48px}
.quiz-step-body h4{font-size:var(--fs-base);color:#fff;font-weight:500;margin-bottom:4px}
.quiz-step-body p{font-size:12px;color:rgba(255,255,255,0.45);line-height:1.6}
.sample{background:var(--be);padding:var(--sp-7) var(--sp-5)}
.sample-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:center}
.sample-media{position:relative}
.sample-img-main{width:100%;display:block;border:1px solid var(--be3)}
.sample-img-badge{position:absolute;top:-16px;right:-16px;width:88px;height:88px;background:var(--primary);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--gold)}
.b-main{font-family:'Playfair Display',serif;font-size:22px;color:var(--gold3);font-weight:700;line-height:1}
.b-sub{font-size:10px;color:rgba(255,255,255,0.6);letter-spacing:0.1em;margin-top:4px}
.sample-price-box{background:var(--primary);color:#fff;padding:var(--sp-1) var(--sp-2);margin-top:var(--sp-1);border-left:3px solid var(--gold)}
.sample-price-label{font-size:12px;color:rgba(255,255,255,0.5);letter-spacing:0.15em;margin-bottom:8px}
.sample-price-num{display:flex;align-items:baseline;gap:4px;color:var(--gold3);line-height:1;margin-bottom:6px}
.sample-price-sub{font-size:12px;color:rgba(255,255,255,0.45)}
.sample-stores{margin-top:var(--sp-2);padding:var(--sp-1) var(--sp-2);background:#fff;border:1px solid var(--be3)}
.sample-stores-label{font-size:12px;color:var(--tl);margin-bottom:16px}
.sample-stores-grid{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.sample-store-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--be3);color:var(--tm);padding:8px 16px;font-size:var(--fs-base);text-decoration:none;transition:all 0.22s;background:#fff}
.sample-store-btn:hover{border-color:var(--ac);color:var(--ac)}
.sample-stores-note{font-size:12px;color:var(--tl)}
.reviews{background:var(--ww);padding:var(--sp-7) var(--sp-5)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:var(--sp-4);max-width:1200px;margin-left:auto;margin-right:auto}
.rev-card{background:var(--cr);border:1px solid var(--be3);overflow:hidden;transition:box-shadow 0.3s}
.rev-card:hover{box-shadow:0 8px 24px rgba(18,29,39,0.08)}
.rev-img{width:100%;aspect-ratio:4/2;overflow:hidden;background:var(--be2);position:relative;cursor:pointer}
.rv-img img,.rev-img img{width:100%;height:100%;object-fit:cover;display:block}
.rev-img-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background 0.25s;pointer-events:none}
.rev-img:hover .rev-img-overlay{background:rgba(0,0,0,0.3)}
.rev-img-overlay svg{opacity:0;transform:scale(0.7);transition:opacity 0.25s,transform 0.25s}
.rev-img:hover .rev-img-overlay svg{opacity:1;transform:scale(1)}
.rev-img-placeholder{display:flex;align-items:center;justify-content:center;font-size:40px}
.rev-body{padding:12px}
.rev-stars{color:var(--gold);font-size:14px;margin-bottom:12px;letter-spacing:2px}
.rev-text{font-size:var(--fs-base);color:var(--tm);line-height:1.875;margin-bottom:var(--sp-1)}
.rev-meta{font-size:12px;color:var(--tl);display:flex;justify-content:space-between}
.rev-product{font-size:12px;color:var(--ac);letter-spacing:0.06em}
.img-feature{display:grid;grid-template-columns:1fr 1fr;min-height:480px}
.if-img{position:relative;overflow:hidden}
.if-img img{width:100%;height:100%;object-fit:cover;display:block}
.if-text{background:var(--ac2);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;justify-content:center}
.if-text .sl{color:var(--gold3)}
.if-text .sl::before{background:var(--gold3)}
.if-text .st{color:#fff}
.if-text .ss{color:rgba(255,255,255,0.6);margin-bottom:var(--sp-2)}
.if-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-2)}
.if-tag{font-size:12px;padding:6px 14px;border:1px solid rgba(165,124,55,0.4);color:var(--gold3);letter-spacing:0.08em;transition:all 0.2s;text-decoration:none}
.if-tag:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.cta{background:var(--gold);display:grid;grid-template-columns:1fr 1fr;padding:var(--sp-5) var(--sp-5);align-items:center;gap:var(--sp-4);position:relative;overflow:hidden}
.cta::before,.cta::after{content:'';position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,0.08)}
.cta::before{width:480px;height:480px;top:-160px;right:-120px}
.cta::after{width:280px;height:280px;top:-60px;right:-60px}
.cta h2{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-lg),3vw,var(--fs-xl));color:#fff;line-height:1.3;margin-bottom:14px;font-weight:700}
.cta p{color:rgba(255,255,255,0.72);font-size:var(--fs-base);line-height:1.875}
.cta-btns{display:flex;flex-direction:column;align-items:flex-end;gap:14px;position:relative;z-index:1}

@media(max-width:768px){
  /* index SP */
:root{--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:36px;--fs-4xl:42px;--fs-5xl:54px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-6:72px;--sp-7:72px}
  .hero-content{padding:0 24px}.hero-btns{flex-direction:column;align-items:flex-start;gap:12px}
  .btn-gold,.btn-ghost{padding:14px 28px;font-size:12px;width:100%;text-align:center}
  .stats{flex-wrap:wrap}.stat-item{min-width:50%;border-bottom:1px solid rgba(255,255,255,0.06)}
  .about{grid-template-columns:1fr}.about-media{min-height:260px}.about-text{padding:var(--sp-2) var(--sp-2) var(--sp-3)}
  .products{padding:var(--sp-4) var(--sp-2)}.products-header{flex-direction:column;align-items:flex-start;gap:var(--sp-1)}
  .products-banner-grid{grid-template-columns:1fr;gap:16px}
  .pb-inner{grid-template-columns:1fr}.pb-photo-wrap{min-height:200px}.pb-body{padding:var(--sp-2)}
  .why{padding:var(--sp-4) var(--sp-2)}.why-top{flex-direction:column;gap:var(--sp-1)}.why-top-note{text-align:left}
  .why-grid{grid-template-columns:1fr 1fr;gap:1px}.wi{padding:var(--sp-2) var(--sp-1)}.wi-num{font-size:var(--fs-3xl)}
  .quiz-section{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}.quiz-section-btn{text-align:center;justify-content:center;padding:16px 32px}
  .sample{padding:var(--sp-4) var(--sp-2)}.sample-inner{grid-template-columns:1fr;gap:var(--sp-2)}
  .reviews{padding:var(--sp-4) var(--sp-2)}.rev-grid{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}.cta-btns{align-items:stretch}
  .btn-wh,.btn-ow{text-align:center;padding:14px var(--sp-2)}
  .img-feature{grid-template-columns:1fr;width:100%;overflow:hidden}.if-img{min-height:220px;width:100%}.if-img img{width:100%;max-width:100%}.if-text{padding:var(--sp-3) var(--sp-2);width:100%}
}

/* ============================================================
   ABOUT
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* フッター */
footer{background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
.page-lead{background:var(--cr);padding:var(--sp-3) var(--sp-5);text-align:center}
.page-lead .st{text-align:center;color:var(--primary)}
.page-lead .ss{max-width:680px;margin:0 auto;text-align:center}
.bs-family{background:var(--ww);display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.bs-family-media{position:relative;overflow:hidden}
.bs-family-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s cubic-bezier(0.16,1,0.3,1);display:block}
.bs-family-media.visible img{transform:scale(1)}
.bs-family-media-ov{position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--ww))}
.bs-family-text{padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;justify-content:center}
.bs-family-text .ss{margin-bottom:var(--sp-3)}
.bs-numbers{background:var(--primary);display:grid;grid-template-columns:repeat(4,1fr)}
.bs-num-item{padding:var(--sp-3) var(--sp-2);border-right:1px solid rgba(255,255,255,0.07);text-align:center}
.bs-num-item:last-child{border-right:none}
.bs-num-n{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);color:#fff;font-weight:700;line-height:1}
.bs-num-sup{font-size:var(--fs-lg);color:var(--gold3)}
.bs-num-label{font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:0.18em;margin-top:12px;text-transform:uppercase}
.bs-standards{background:var(--be);padding:var(--sp-7) var(--sp-5)}
.bs-standards-header{text-align:center;margin-bottom:var(--sp-4)}
.bs-standards-header .sl{justify-content:center}
.bs-standards-header .sl::before{display:none}
.bs-std-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bs-std-card{background:#fff;padding:var(--sp-3) var(--sp-2);border:1px solid var(--be3);transition:transform 0.3s,box-shadow 0.3s}
.bs-std-card:hover{transform:translateY(-6px);box-shadow:0 18px 48px rgba(18,29,39,0.09)}
.bs-std-icon{width:56px;height:56px;background:var(--acl);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-1)}
.bs-std-icon svg{width:24px;height:24px;stroke:var(--ac);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bs-std-card h3{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--ac2);margin-bottom:12px;font-weight:700}
.bs-std-card p{font-size:var(--fs-base);color:var(--tm);line-height:1.875}
.bs-mission{background:var(--primary);padding:var(--sp-6) var(--sp-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);align-items:center}
.bs-mission-quote{border-left:3px solid var(--gold);padding-left:var(--sp-2)}
.bs-mission-quote blockquote{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-lg),2.5vw,var(--fs-xl));color:#fff;line-height:1.4;font-style:italic}
.bs-mission-quote cite{display:block;margin-top:var(--sp-1);font-size:12px;color:var(--gold3);font-style:normal;letter-spacing:0.1em}
.bs-mission-body .sl{color:var(--gold3)}
.bs-mission-body .sl::before{background:var(--gold3)}
.bs-mission-body .st{color:#fff}
.bs-mission-body .ss{color:rgba(255,255,255,0.6)}
.bs-split{display:grid;grid-template-columns:1fr 1fr;min-height:480px}
.bs-split-img{position:relative;overflow:hidden}
.bs-split-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s cubic-bezier(0.16,1,0.3,1);display:block}
.bs-split-img.visible img{transform:scale(1)}
.bs-split-img-ov{position:absolute;inset:0;background:rgba(18,29,39,0.2)}
.bs-split-text{background:var(--be2);padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;justify-content:center}
.bs-split-text.dark{background:var(--ac2)}
.bs-split-text.dark .sl{color:var(--gold3)}
.bs-split-text.dark .sl::before{background:var(--gold3)}
.bs-split-text.dark .st{color:#fff}
.bs-split-text.dark .ss{color:rgba(255,255,255,0.6)}
.bs-split-text .ss{margin-bottom:var(--sp-2)}
.bs-cta{background:var(--gold);padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--sp-4)}
.bs-cta h2{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-lg),3vw,var(--fs-xl));color:#fff;line-height:1.3;margin-bottom:14px;font-weight:700}
.bs-cta p{color:rgba(255,255,255,0.72);font-size:var(--fs-base);line-height:1.875}
.bs-cta-btns{display:flex;flex-direction:column;align-items:flex-end;gap:14px}

@media(max-width:768px){
  /* about SP */
:root{--fs-xs:12px;--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-7:72px}

  nav{padding:0 0 0 20px;height:56px}
  .bs-family,.bs-split{grid-template-columns:1fr}
  .bs-family-media,.bs-split-img{min-height:240px;order:-1}
  .bs-family-text,.bs-split-text{padding:var(--sp-3) var(--sp-2);order:1}
  .bs-standards{padding:var(--sp-4) var(--sp-2)}.bs-std-grid{grid-template-columns:1fr}
  .bs-mission{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}
  .bs-numbers{grid-template-columns:1fr 1fr}
  .bs-cta{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}.bs-cta-btns{align-items:stretch}
  .btn-wh,.btn-ow-wh{text-align:center;padding:14px var(--sp-2)}
  .page-lead{padding:var(--sp-3) var(--sp-2)}
}

/* ============================================================
   HEALTH-NUTRITION
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* フッター */
footer{background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
.hn-lead{background:var(--cr);padding:var(--sp-3) var(--sp-5);text-align:center}
.hn-lead-inner{max-width:840px;margin:0 auto}
.hn-usa{background:var(--ww);display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.hn-usa-img{position:relative;overflow:hidden}
.hn-usa-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s cubic-bezier(0.16,1,0.3,1);display:block}
.hn-usa-img.visible img{transform:scale(1)}
.hn-usa-img-ov{position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--ww))}
.hn-usa-text{padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;justify-content:center}
.hn-usa-text .ss{margin-bottom:var(--sp-3)}
.hn-badge-row{display:flex;gap:0;border:1px solid var(--be3);overflow:hidden;margin-bottom:var(--sp-3)}
.hn-badge{flex:1;padding:var(--sp-1);border-right:1px solid var(--be3);background:#fff;text-align:center}
.hn-badge:last-child{border-right:none}
.hn-badge .n{font-family:'Playfair Display',serif;font-size:var(--fs-xl);color:var(--ac);font-weight:700;line-height:1}
.hn-badge .l{font-size:12px;color:var(--tl);margin-top:6px;letter-spacing:0.06em}
.hn-pro{background:var(--primary);padding:var(--sp-7) var(--sp-5)}
.hn-pro-inner{max-width:1100px;margin:0 auto}
.hn-pro-header{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:start;margin-bottom:var(--sp-5)}
.hn-pro-header .sl{color:var(--gold3)}
.hn-pro-header .sl::before{background:var(--gold3)}
.hn-pro-header .st{color:#fff}
.hn-pro-header .ss{color:rgba(255,255,255,0.6)}
.hn-pro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hn-pro-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);padding:var(--sp-2);transition:background 0.3s}
.hn-pro-card:hover{background:rgba(255,255,255,0.07)}
.hn-pro-icon{width:56px;height:56px;background:rgba(165,124,55,0.12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--sp-1)}
.hn-pro-icon svg{width:24px;height:24px;stroke:var(--gold3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hn-pro-card h3{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;margin-bottom:10px;font-weight:700;line-height:1.2}
.hn-pro-card p{font-size:var(--fs-base);color:rgba(255,255,255,0.55);line-height:1.875}
.hn-pro-fact{background:rgba(165,124,55,0.1);border:1px solid rgba(165,124,55,0.25);padding:var(--sp-2) var(--sp-3);margin-top:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2)}
.hn-pro-fact-num{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);color:var(--gold3);font-weight:700;line-height:1;flex-shrink:0}
.hn-pro-fact-text{font-size:var(--fs-base);color:rgba(255,255,255,0.7);line-height:1.6}
.hn-pro-fact-text strong{color:var(--gold3)}
.hn-protein{background:var(--be);padding:var(--sp-7) var(--sp-5)}
.hn-protein-inner{max-width:1100px;margin:0 auto}
.hn-protein-header{text-align:center;margin-bottom:var(--sp-4)}
.hn-protein-header .sl{justify-content:center}
.hn-protein-header .sl::before{display:none}
.hn-protein-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hn-prot-card{background:#fff;border:1px solid var(--be3);padding:var(--sp-2) var(--sp-1);text-align:center;transition:transform 0.3s,box-shadow 0.3s}
.hn-prot-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(18,29,39,0.09)}
.hn-prot-emoji{font-size:40px;margin-bottom:12px;display:block}
.hn-prot-name{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--ac2);font-weight:700;margin-bottom:6px}
.hn-prot-en{font-size:12px;color:var(--tl);letter-spacing:0.08em;margin-bottom:12px}
.hn-prot-desc{font-size:var(--fs-base);color:var(--tm);line-height:1.75}
.hn-omega{background:var(--ww);display:grid;grid-template-columns:1fr 1fr;min-height:480px}
.hn-omega-text{padding:var(--sp-5) var(--sp-4);display:flex;flex-direction:column;justify-content:center}
.hn-omega-text .ss{margin-bottom:var(--sp-3)}
.hn-omega-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:var(--sp-3)}
.hn-omega-list li{display:flex;align-items:flex-start;gap:16px;padding:var(--sp-1);background:var(--be);border-left:3px solid var(--gold)}
.hn-omega-list li .label{font-weight:500;color:var(--ac2);white-space:nowrap;min-width:90px}
.hn-omega-list li .desc{font-size:var(--fs-base);color:var(--tm);line-height:1.75}
.hn-omega-img{position:relative;overflow:hidden}
.hn-omega-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s cubic-bezier(0.16,1,0.3,1);display:block}
.hn-omega-img.visible img{transform:scale(1)}
.hn-grain{background:var(--cr);padding:var(--sp-7) var(--sp-5)}
.hn-grain-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5);align-items:center}
.hn-grain-text .ss{margin-bottom:var(--sp-3)}
.hn-grain-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hn-grain-card{background:#fff;border:1px solid var(--be3);padding:var(--sp-1)}
.hn-grain-card-name{font-family:'Playfair Display',serif;font-size:var(--fs-base);color:var(--ac2);font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.hn-grain-card-name::before{content:'';width:8px;height:8px;background:var(--gold);border-radius:50%;flex-shrink:0}
.hn-grain-card p{font-size:var(--fs-base);color:var(--tm);line-height:1.75}
.hn-quality{background:var(--primary);padding:var(--sp-7) var(--sp-5)}
.hn-quality-inner{max-width:1100px;margin:0 auto}
.hn-quality-header{text-align:center;margin-bottom:var(--sp-5)}
.hn-quality-header .sl{justify-content:center}
.hn-quality-header .sl::before{display:none}
.hn-quality-header .st{color:#fff}
.hn-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.05)}
.hn-qual-item{background:var(--primary);padding:var(--sp-3) var(--sp-2);transition:background 0.3s}
.hn-qual-item:hover{background:rgba(255,255,255,0.03)}
.hn-qual-num{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);color:rgba(165,124,55,0.18);font-weight:700;line-height:1;margin-bottom:var(--sp-1)}
.hn-qual-line{width:28px;height:2px;background:var(--gold);margin-bottom:var(--sp-1)}
.hn-qual-item h3{font-size:var(--fs-base);color:#fff;font-weight:500;margin-bottom:10px}
.hn-qual-item p{font-size:var(--fs-base);color:rgba(255,255,255,0.5);line-height:1.875}
.hn-feeding{background:var(--be2);padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);align-items:center}
.hn-feeding h2{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-lg),3vw,var(--fs-xl));color:var(--primary);line-height:1.3;margin-bottom:14px;font-weight:700}
.hn-feeding p{color:var(--tm);font-size:var(--fs-base);line-height:1.875}
.hn-feeding-btns{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.btn-gold2{display:inline-block;background:var(--gold);color:#fff;padding:16px 40px;font-size:var(--fs-base);font-weight:500;letter-spacing:0.08em;text-decoration:none;transition:all 0.25s;white-space:nowrap}
.btn-gold2:hover{background:var(--gold2);transform:translateY(-2px)}
.btn-outline{display:inline-block;border:1.5px solid var(--ac);color:var(--ac);padding:15px 36px;font-size:var(--fs-base);text-decoration:none;transition:all 0.25s;white-space:nowrap}
.btn-outline:hover{background:var(--ac);color:#fff;transform:translateY(-2px)}

@media(max-width:768px){
  /* health-nutrition SP */
:root{--fs-xs:12px;--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-7:72px}

  nav{padding:0 0 0 20px;height:56px}
  .hn-usa-img,.hn-omega-img{min-height:240px;order:-1}.hn-usa-text,.hn-omega-text{padding:var(--sp-3) var(--sp-2);order:1}
  .hn-pro{padding:var(--sp-4) var(--sp-2)}.hn-pro-header{grid-template-columns:1fr}.hn-pro-grid{grid-template-columns:1fr}
  .hn-pro-fact{flex-direction:column;gap:12px;padding:var(--sp-2)}
  .hn-protein{padding:var(--sp-4) var(--sp-2)}.hn-protein-grid{grid-template-columns:1fr 1fr}
  .hn-grain{padding:var(--sp-4) var(--sp-2)}.hn-grain-inner{grid-template-columns:1fr}.hn-grain-cards{grid-template-columns:1fr}
  .hn-quality{padding:var(--sp-4) var(--sp-2)}.hn-quality-grid{grid-template-columns:1fr}
  .hn-feeding{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}.hn-feeding-btns{align-items:stretch}
  .btn-gold2,.btn-outline{text-align:center;padding:14px var(--sp-2)}

/* ============================================================
   health-nutrition サンプルセクション
   ============================================================ */

.hn-anim-l{opacity:0;transform:translateX(-40px);animation:hnSlideL 0.8s 0.2s cubic-bezier(0.16,1,0.3,1) forwards}
.hn-anim-r{opacity:0;transform:translateX(40px);animation:hnSlideR 0.8s 0.4s cubic-bezier(0.16,1,0.3,1) forwards}
@keyframes hnSlideL{to{opacity:1;transform:translateX(0)}}
@keyframes hnSlideR{to{opacity:1;transform:translateX(0)}}
.hn-sample{background:var(--primary);padding:var(--sp-7) var(--sp-5);overflow:hidden;width:100%}
.hn-sample-inner{max-width:1100px;margin:0 auto;width:100%;display:flex;gap:var(--sp-5);align-items:center}
.hn-sample-img{position:relative;flex:1;min-width:0}
.hn-sample-img img{width:100%;height:420px;object-fit:cover;display:block}
.hn-sample-badge{position:absolute;bottom:24px;right:24px;background:var(--gold);color:#fff;padding:16px 20px;text-align:center;display:flex;flex-direction:column;gap:4px}
.hn-sample-badge-price{font-family:'Playfair Display',serif;font-size:var(--fs-2xl);font-weight:700;line-height:1}
.hn-sample-badge-label{font-size:11px;letter-spacing:0.16em}
.hn-sample-text{flex:1;min-width:0}
.hn-sample-text .sl{color:var(--gold3)}.hn-sample-text .sl::before{background:var(--gold3)}
.hn-sample-text .st{color:#fff !important;font-size:var(--fs-2xl)}
.hn-sample-text .ss{color:rgba(255,255,255,0.65) !important;font-size:var(--fs-base);line-height:1.875;margin-bottom:var(--sp-2)}
.hn-sample-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:var(--sp-2)}
.hn-sample-list li{color:rgba(255,255,255,0.75);font-size:var(--fs-base);display:flex;align-items:center;gap:10px}
.hn-sample-check{color:var(--gold3);font-size:14px;flex-shrink:0}
.hn-sample-note{font-size:12px;color:rgba(255,255,255,0.4);line-height:1.875;margin-top:16px}

@media(max-width:768px){
  .hn-sample{padding:var(--sp-4) var(--sp-2)}
  .hn-sample-inner{flex-direction:column}
  .hn-sample-img img{height:240px}
}
  .hn-lead{padding:var(--sp-3) var(--sp-2)}
}

/* ============================================================
   INGREDIENT-FINDER
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* フッター */
footer{background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
.page-lead{background:var(--cr);padding:var(--sp-3) var(--sp-5);text-align:center}
.page-lead p{font-size:var(--fs-base);color:var(--tm);max-width:640px;margin:0 auto;line-height:1.875}
.ingredient-main{background:var(--ww);padding:var(--sp-5) var(--sp-5)}
.ingredient-inner{max-width:1100px;margin:0 auto}
.search-bar-wrap{position:relative;margin-bottom:var(--sp-2)}
.search-bar{width:100%;height:56px;padding:0 56px 0 var(--sp-2);font-size:var(--fs-base);font-family:inherit;border:2px solid var(--be3);background:#fff;color:var(--td);outline:none;transition:border-color 0.2s}
.search-bar:focus{border-color:var(--ac)}
.search-bar-icon{position:absolute;right:var(--sp-1);top:50%;transform:translateY(-50%);color:var(--tl);pointer-events:none}
.search-clear{position:absolute;right:44px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--tl);font-size:18px;padding:4px;line-height:1;display:none}
.search-clear.show{display:block}
.search-clear:hover{color:var(--td)}
.filter-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--sp-3)}
.filter-btn{padding:8px 20px;font-size:12px;font-family:inherit;border:1px solid var(--be3);background:#fff;color:var(--tm);cursor:pointer;transition:all 0.2s;letter-spacing:0.06em}
.filter-btn:hover{border-color:var(--ac);color:var(--ac)}
.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.result-count{font-size:12px;color:var(--tl);margin-bottom:var(--sp-2);letter-spacing:0.06em}
.result-count span{color:var(--ac);font-weight:500}
.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ingredient-card{background:#fff;border:1px solid var(--be3);cursor:pointer;transition:transform 0.25s,box-shadow 0.25s,border-color 0.25s;position:relative;overflow:hidden}
.ingredient-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height 0.3s cubic-bezier(0.16,1,0.3,1)}
.ingredient-card:hover::before,.ingredient-card.active::before{height:100%}
.ingredient-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(18,29,39,0.09)}
.ingredient-card.active{border-color:var(--gold);box-shadow:0 12px 36px rgba(165,124,55,0.15)}
.ingredient-card-inner{padding:var(--sp-1) var(--sp-1) var(--sp-1) 20px}
.ingredient-cat-badge{display:inline-block;font-size:10px;letter-spacing:0.14em;padding:3px 8px;margin-bottom:8px;font-weight:500}
.ingredient-cat-badge.protein{background:rgba(15,81,103,0.08);color:var(--ac)}
.ingredient-cat-badge.grain{background:rgba(165,124,55,0.1);color:var(--gold)}
.ingredient-cat-badge.vitamin{background:rgba(52,120,52,0.08);color:#2a6a2a}
.ingredient-cat-badge.mineral{background:rgba(100,60,180,0.08);color:#5a3aa0}
.ingredient-cat-badge.fat{background:rgba(180,100,20,0.08);color:#8a4a10}
.ingredient-cat-badge.fiber{background:rgba(20,140,80,0.08);color:#0a6a40}
.ingredient-cat-badge.additive{background:rgba(140,20,100,0.08);color:#6a1060}
.ingredient-name{font-family:'Playfair Display',serif;font-size:var(--fs-base);font-weight:700;color:var(--td);line-height:1.3;margin-bottom:4px}
.ingredient-name-en{font-size:12px;color:var(--tl);letter-spacing:0.04em}
.detail-panel{background:var(--primary);color:#fff;padding:var(--sp-2);margin-top:var(--sp-2);border-left:3px solid var(--gold);display:none;animation:fadeUp 0.3s ease}
.detail-panel.show{display:block}
.detail-panel-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.detail-panel-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700}
.detail-panel-en{font-size:12px;color:var(--gold3);letter-spacing:0.08em;margin-top:4px}
.detail-panel-close{background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;font-size:20px;padding:4px;transition:color 0.2s;line-height:1}
.detail-panel-close:hover{color:#fff}
.detail-panel-desc{font-size:var(--fs-base);color:rgba(255,255,255,0.75);line-height:1.875}
.no-results{text-align:center;padding:var(--sp-4);color:var(--tl);display:none}
.no-results.show{display:block}
.ing-cta{background:var(--ac2);padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ing-cta-card{border:1px solid rgba(255,255,255,0.07);padding:var(--sp-2);transition:background 0.25s}
.ing-cta-card:hover{background:rgba(255,255,255,0.04)}
.ing-cta-card a{text-decoration:none;display:block}
.cta-label{font-size:12px;color:var(--gold3);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:8px}
.cta-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700;margin-bottom:8px;line-height:1.2}
.cta-desc{font-size:var(--fs-base);color:rgba(255,255,255,0.5);line-height:1.75}
.cta-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--gold3);margin-top:var(--sp-1)}
.ingredient-card[data-hidden="true"]{display:none}

@media(max-width:768px){
  /* ingredient-finder SP */
:root{--fs-xs:12px;--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-7:72px}

  nav{padding:0 0 0 20px;height:56px}
  .ingredient-grid{grid-template-columns:1fr 1fr;gap:12px}
  .filter-wrap{gap:6px}.filter-btn{padding:6px 14px;font-size:11px}
  .ing-cta{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}
  .page-lead{padding:var(--sp-3) var(--sp-2)}
}

/* ============================================================
   FAQ
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* フッター */
footer{background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
.faq-main{display:grid;grid-template-columns:240px 1fr;gap:0;max-width:1100px;margin:0 auto;padding:var(--sp-5) var(--sp-5);align-items:start}
.faq-sidenav{position:sticky;top:88px;padding-right:var(--sp-3)}
.faq-sidenav-label{font-size:12px;letter-spacing:0.2em;color:var(--tl);text-transform:uppercase;margin-bottom:var(--sp-1);padding-bottom:8px;border-bottom:1px solid var(--be3)}
.faq-sidenav ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.faq-sidenav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-base);color:var(--tm);text-align:left;transition:all 0.2s;border-left:2px solid transparent}
.faq-sidenav-btn:hover{color:var(--ac);background:var(--acl);border-left-color:var(--ac)}
.faq-sidenav-btn.active{color:var(--ac);background:var(--acl);border-left-color:var(--gold);font-weight:500}
.faq-sidenav-count{margin-left:auto;font-size:10px;background:var(--be3);color:var(--tm);padding:2px 7px;border-radius:10px}
.faq-sidenav-btn.active .faq-sidenav-count{background:var(--gold);color:#fff}
.faq-content{min-width:0}
.faq-search-wrap{position:relative;margin-bottom:var(--sp-3)}
.faq-search{width:100%;height:52px;padding:0 52px 0 var(--sp-2);font-size:var(--fs-base);font-family:inherit;border:2px solid var(--be3);background:#fff;color:var(--td);outline:none;transition:border-color 0.2s}
.faq-search:focus{border-color:var(--ac)}
.faq-search-icon{position:absolute;right:var(--sp-1);top:50%;transform:translateY(-50%);color:var(--tl);pointer-events:none}
.faq-search-clear{position:absolute;right:44px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--tl);font-size:18px;padding:4px;line-height:1;display:none}
.faq-search-clear.show{display:block}
.faq-search-clear:hover{color:var(--td)}
.faq-group{margin-bottom:var(--sp-4)}
.faq-group[data-hidden="true"]{display:none}
.faq-group-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--primary);font-weight:700;margin-bottom:var(--sp-2);padding-bottom:12px;border-bottom:2px solid var(--gold);display:flex;align-items:center;gap:12px}
.faq-group-title span{font-size:12px;color:var(--tl);font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:0.1em}
.faq-item{border:1px solid var(--be3);margin-bottom:8px;transition:border-color 0.25s}
.faq-item.open{border-color:var(--gold)}
.faq-item[data-hidden="true"]{display:none}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);cursor:pointer;user-select:none;background:#fff;transition:background 0.2s}
.faq-q:hover{background:var(--cr)}
.faq-item.open .faq-q{background:var(--primary)}
.faq-q-text{font-size:var(--fs-base);font-weight:500;color:var(--td);line-height:1.5;flex:1}
.faq-item.open .faq-q-text{color:#fff}
.faq-icon{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--be3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.3s;color:var(--tl)}
.faq-item.open .faq-icon{background:var(--gold);border-color:var(--gold);color:#fff;transform:rotate(45deg)}
.faq-icon svg{width:12px;height:12px}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.16,1,0.3,1)}
.faq-item.open .faq-a{max-height:1000px}
.faq-a-inner{padding:var(--sp-2);font-size:var(--fs-base);color:var(--tm);line-height:1.875;border-top:1px solid var(--be3);background:#fff}
.faq-a-inner a{color:var(--ac);text-decoration:none;border-bottom:1px solid rgba(15,81,103,0.3)}
.faq-a-inner a:hover{border-bottom-color:var(--ac)}
.faq-a-inner strong{color:var(--td);font-weight:500}
.faq-empty{text-align:center;padding:var(--sp-4);color:var(--tl);display:none}
.faq-empty.show{display:block}
.faq-contact-cta{background:var(--be2);border-top:3px solid var(--gold);padding:var(--sp-5) var(--sp-5)}
.faq-contact-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:80px 1fr auto;gap:var(--sp-3);align-items:center}
.faq-contact-icon{width:80px;height:80px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold3)}
.faq-contact-label{font-size:12px;letter-spacing:0.22em;color:var(--gold);font-weight:500;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.faq-contact-label::before{content:'';width:20px;height:1px;background:var(--gold)}
.faq-contact-title{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-base),2.2vw,var(--fs-lg));color:var(--primary);font-weight:700;line-height:1.35;margin-bottom:10px}
.faq-contact-desc{font-size:var(--fs-base);color:var(--tm);line-height:1.875;max-width:520px}
.faq-contact-btn-wrap{flex-shrink:0}
.faq-contact-btn{display:inline-block;background:var(--primary);color:#fff;padding:16px 36px;font-size:var(--fs-base);font-weight:500;letter-spacing:0.08em;text-decoration:none;white-space:nowrap;transition:all 0.25s;position:relative;overflow:hidden}
.faq-contact-btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.1);transform:translateX(-110%) skewX(-18deg);transition:transform 0.4s}
.faq-contact-btn:hover::after{transform:translateX(110%) skewX(-18deg)}
.faq-contact-btn:hover{background:var(--ac);transform:translateY(-2px)}
;padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:3px solid var(--gold)}
.faq-cta-card{border:1px solid rgba(255,255,255,0.07);padding:var(--sp-2);transition:background 0.25s}
.faq-cta-card:hover{background:rgba(255,255,255,0.04)}
.faq-cta-card a{text-decoration:none;display:block}
.faq-cta-label{font-size:12px;color:var(--gold3);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:8px}
.faq-cta-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700;margin-bottom:8px;line-height:1.2}
.faq-cta-desc{font-size:var(--fs-base);color:rgba(255,255,255,0.5);line-height:1.75}
.faq-cta-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--gold3);margin-top:var(--sp-1)}
.faq-cta-card:hover .faq-cta-link{gap:10px}
.faq-cta{background:var(--primary);padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

@media(max-width:768px){
  /* faq SP */
:root{--fs-xs:12px;--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-7:72px}

  nav{padding:0 0 0 20px;height:56px}
  .faq-sidenav{position:static;padding-right:0;margin-bottom:var(--sp-2)}
  .faq-sidenav ul{flex-direction:row;flex-wrap:wrap;gap:6px}
  .faq-sidenav-btn{width:auto;padding:6px 14px;font-size:11px;border:1px solid var(--be3);border-left:2px solid transparent}
  .faq-sidenav-btn.active{border-color:var(--gold)}
  .faq-q{padding:var(--sp-1)}.faq-a-inner{padding:var(--sp-1)}
  .faq-cta{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}
  .faq-contact-cta{padding:var(--sp-4) var(--sp-2)}
  .faq-contact-inner{grid-template-columns:1fr;gap:var(--sp-2);text-align:center}
  .faq-contact-icon{margin:0 auto}
  .faq-contact-label{justify-content:center}.faq-contact-label::before{display:none}
  .faq-contact-desc{max-width:100%}
  .faq-contact-btn{display:block;text-align:center}
}

/* ============================================================
   PRODUCTS
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* フッター */
footer{background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
/* タブナビ */
.tab-nav{background:#fff;border-bottom:1px solid var(--be3);position:sticky;top:64px;z-index:90}
.tab-nav-inner{max-width:1200px;margin:0 auto;padding:0 var(--sp-5);display:flex;gap:0}
.tab-btn{padding:20px 32px;background:none;border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-base);font-weight:400;color:var(--tl);letter-spacing:0.06em;position:relative;transition:color 0.2s}
.tab-btn::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;transition:background 0.2s}
.tab-btn:hover{color:var(--td)}
.tab-btn.active{color:var(--primary);font-weight:500}
.tab-btn.active::after{background:var(--gold)}
.tab-count{font-size:12px;background:var(--be3);color:var(--tm);padding:2px 8px;border-radius:10px;margin-left:6px;font-weight:400}
.tab-btn.active .tab-count{background:var(--primary);color:#fff}
/* メイン */
.products-main{max-width:1200px;margin:0 auto;padding:var(--sp-5) var(--sp-5)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--sp-3);padding-bottom:var(--sp-1);border-bottom:1px solid var(--be3)}
.section-head-left .label{font-size:12px;letter-spacing:0.22em;color:var(--gold);font-weight:500;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:8px}
.section-head-left .label::before{content:'';width:20px;height:1px;background:var(--gold)}
.section-head-left h2{font-family:'Playfair Display',serif;font-size:var(--fs-2xl);color:var(--primary);font-weight:700;line-height:1}
.section-head-note{font-size:12px;color:var(--tl);letter-spacing:0.06em}
.products-section{margin-bottom:var(--sp-7)}
.products-section[data-hidden="true"]{display:none}
/* フィルター */
.filter-bar{display:flex;gap:8px;margin-bottom:var(--sp-3);flex-wrap:wrap}
.filter-chip{padding:7px 18px;border:1px solid var(--be3);background:#fff;font-size:12px;font-family:inherit;color:var(--tm);cursor:pointer;letter-spacing:0.06em;transition:all 0.2s}
.filter-chip:hover{border-color:var(--ac);color:var(--ac)}
.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}
/* グリッド */
.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.prod-grid-3{grid-template-columns:repeat(3,1fr)}
/* カード */
.prod-card{background:#fff;border:1px solid var(--be3);display:grid;grid-template-columns:1fr 1fr;transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),box-shadow 0.3s;position:relative;overflow:hidden;min-height:480px}
.prod-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(18,29,39,0.1)}
.prod-card[data-hidden="true"]{display:none}
.prod-badge-wrap{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:4px;z-index:2}
.prod-badge{font-size:10px;font-weight:500;letter-spacing:0.12em;padding:3px 8px;line-height:1.4}
.prod-badge.gf{background:var(--primary);color:#fff}
.prod-badge.puppy{background:var(--gold);color:#fff}
.prod-img-wrap{background:var(--cr);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;min-height:480px}
.prod-img-wrap img{width:80%;height:80%;object-fit:cover;object-position:center;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1)}
.prod-card:hover .prod-img-wrap img{transform:scale(1.05)}
.prod-img-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;gap:8px;color:rgba(18,29,39,0.2)}
.prod-img-placeholder span{font-size:10px;letter-spacing:0.1em;color:rgba(255,255,255,0.2)}
.prod-info{padding:var(--sp-2) var(--sp-2) var(--sp-2);display:flex;flex-direction:column;flex:1;justify-content:center}
.prod-type{font-size:10px;letter-spacing:0.18em;color:var(--tl);text-transform:uppercase;margin-bottom:8px}
.prod-name-ja{font-family:'Playfair Display',serif;font-size:var(--fs-lg);font-weight:700;color:var(--primary);line-height:1.25;margin-bottom:6px}
.prod-name-en{font-size:12px;color:var(--tl);letter-spacing:0.04em;margin-bottom:14px}
.prod-protein{font-size:var(--fs-base);color:var(--tm);line-height:1.75;flex:1;margin-bottom:var(--sp-2)}
.prod-protein strong{color:var(--ac);font-weight:500}
.prod-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.prod-tags{display:flex;gap:4px;flex-wrap:wrap}
.prod-tag{font-size:10px;padding:2px 8px;background:var(--be);color:var(--tm);letter-spacing:0.06em}
.prod-btn{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:#fff;padding:8px 16px;font-size:12px;font-weight:500;text-decoration:none;letter-spacing:0.06em;white-space:nowrap;transition:all 0.22s;flex-shrink:0}
.prod-btn:hover{background:var(--ac)}
.prod-btn .arr{font-size:10px}
.cat-card .prod-btn{background:var(--gold)}
.cat-card .prod-btn:hover{background:var(--gold2)}
.cat-divider{border:none;border-top:1px solid var(--be3);margin:var(--sp-7) 0}
/* CTA */
.products-cta{background:var(--primary);padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.products-cta-card{border:1px solid rgba(255,255,255,0.07);padding:var(--sp-2);transition:background 0.25s}
.products-cta-card:hover{background:rgba(255,255,255,0.04)}
.products-cta-card a{text-decoration:none;display:block}
.cta-label{font-size:12px;color:var(--gold3);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:8px}
.cta-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700;margin-bottom:8px;line-height:1.2}
.cta-desc{font-size:var(--fs-base);color:rgba(255,255,255,0.5);line-height:1.75}
.cta-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--gold3);margin-top:var(--sp-1)}
.products-cta-card:hover .cta-link{gap:10px}

@media(max-width:768px){
  /* products SP */
:root{--fs-xs:12px;--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-7:72px}

  nav{padding:0 0 0 20px;height:56px}
  .products-main{padding:var(--sp-3) var(--sp-2)}
  .section-head{flex-direction:column;align-items:flex-start;gap:8px}
  .prod-grid{grid-template-columns:1fr;gap:16px}.prod-grid-3{grid-template-columns:1fr}
  .prod-card{grid-template-columns:1fr;min-height:auto}
  .prod-img-wrap{min-height:360px}
  .products-cta{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}
}

/* ============================================================
   FOOD-QUIZ
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75;background:var(--primary)}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* ================================================================
   クイズ全体ラッパー
   ================================================================ */
.quiz-bg{
  min-height:100vh;
  position:relative;
  padding-top:64px;
  display:flex;
  flex-direction:column;
}
.quiz-bg-img{
  position:fixed;inset:0;z-index:0;
  background:url('https://images.unsplash.com/photo-1501854140801-50d01698950b?w=1920&q=80&fit=crop') center/cover;
  filter:brightness(0.22);
}
.quiz-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--sp-3) var(--sp-2) var(--sp-5)}
/* ================================================================
   STEP 0：STARTスクリーン
   ================================================================ */
.start-screen{
  text-align:center;
  max-width:680px;
  width:100%;
  padding:var(--sp-4) var(--sp-2);
  animation:fadeIn 0.8s ease both;
}
.start-eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:var(--sp-2)}
.start-eyebrow-line{height:1px;width:36px;background:var(--gold3)}
.start-eyebrow-text{font-size:12px;letter-spacing:0.28em;color:var(--gold3);text-transform:uppercase}
.start-title{font-family:'Playfair Display',serif;font-size:clamp(40px,6vw,72px);color:#fff;font-weight:700;line-height:1.05;margin-bottom:var(--sp-2)}
.start-title em{font-style:italic;color:var(--gold3)}
.start-desc{font-size:var(--fs-base);color:rgba(255,255,255,0.6);line-height:1.875;max-width:480px;margin:0 auto var(--sp-3)}
.start-btn{display:inline-block;background:var(--gold);color:#fff;padding:20px 64px;font-size:var(--fs-base);font-weight:500;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;border:none;font-family:inherit;transition:all 0.3s;position:relative;overflow:hidden}
.start-btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.15);transform:translateX(-110%) skewX(-18deg);transition:transform 0.4s}
.start-btn:hover::after{transform:translateX(110%) skewX(-18deg)}
.start-btn:hover{background:var(--gold2);transform:translateY(-2px)}
/* ================================================================
   プログレスバー
   ================================================================ */
.quiz-prog-wrap{width:100%;max-width:680px;margin-bottom:var(--sp-3)}
.quiz-prog-meta{display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,0.4);margin-bottom:8px;letter-spacing:0.08em}
.quiz-prog-bar{height:2px;background:rgba(255,255,255,0.12);border-radius:2px}
.quiz-prog-fill{height:100%;background:linear-gradient(to right,var(--gold),var(--gold3));border-radius:2px;transition:width 0.5s cubic-bezier(0.16,1,0.3,1)}
/* ================================================================
   ステップカード
   ================================================================ */
.step-card{
  width:100%;max-width:680px;
  background:rgba(255,255,255,0.18);
  backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.28);
  padding:var(--sp-3) var(--sp-3) var(--sp-2);
  animation:slideInRight 0.45s cubic-bezier(0.16,1,0.3,1) both;
}
.step-card.exit{animation:slideOutLeft 0.3s cubic-bezier(0.4,0,1,1) both}
.step-num{font-size:11px;letter-spacing:0.24em;color:var(--gold3);text-transform:uppercase;margin-bottom:12px}
.step-en{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-xl),3vw,var(--fs-2xl));color:#fff;font-weight:700;line-height:1.2;margin-bottom:8px}
.step-ja{font-size:var(--fs-base);color:rgba(255,255,255,0.5);margin-bottom:var(--sp-2);line-height:1.6}
.step-sub{font-size:12px;color:rgba(255,255,255,0.35);margin-top:-12px;margin-bottom:var(--sp-2)}
/* ================================================================
   入力・選択UI
   ================================================================ */
/* テキスト入力 */
.step-input-wrap{position:relative;margin-bottom:var(--sp-2)}
.step-input{
  width:100%;padding:16px 20px;
  font-size:var(--fs-base);font-family:inherit;
  background:rgba(255,255,255,0.15);
  border:1.5px solid rgba(255,255,255,0.28);
  color:#fff;outline:none;
  transition:border-color 0.2s,background 0.2s;
}
.step-input::placeholder{color:rgba(255,255,255,0.3)}
.step-input:focus{border-color:var(--gold);background:rgba(255,255,255,0.09)}
/* ペット種別タブ（名前ステップ内） */
.pet-tabs{display:flex;gap:8px;margin-bottom:var(--sp-2)}
.pet-tab{flex:1;padding:14px;background:rgba(255,255,255,0.12);border:1.5px solid rgba(255,255,255,0.22);color:rgba(255,255,255,0.7);font-family:inherit;font-size:var(--fs-base);cursor:pointer;transition:all 0.22s;text-align:center;letter-spacing:0.06em}
.pet-tab:hover{border-color:rgba(255,255,255,0.35);color:#fff}
.pet-tab.active{background:rgba(165,124,55,0.15);border-color:var(--gold);color:#fff}
.pet-tab-icon{font-size:28px;display:block;margin-bottom:6px}
.pet-tab-en{font-family:'Playfair Display',serif;font-size:var(--fs-lg);font-weight:700;display:block}
.pet-tab-ja{font-size:11px;color:rgba(255,255,255,0.45);margin-top:2px;display:block}
.pet-tab.active .pet-tab-ja{color:var(--gold3)}
/* ラジオ選択 */
.radio-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--sp-2)}
.radio-item{flex:1;min-width:calc(50% - 8px)}
.radio-btn{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:14px 16px;
  background:rgba(255,255,255,0.12);
  border:1.5px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.85);font-family:inherit;font-size:var(--fs-base);
  cursor:pointer;transition:all 0.22s;text-align:left;
  position:relative;
}
.radio-btn::before{
  content:'';width:18px;height:18px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.25);flex-shrink:0;
  transition:all 0.2s;
}
.radio-btn:hover{border-color:rgba(255,255,255,0.35);color:#fff;background:rgba(255,255,255,0.08)}
.radio-btn.selected{border-color:var(--gold);background:rgba(165,124,55,0.12);color:#fff}
.radio-btn.selected::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px rgba(165,124,55,0.2)}
.radio-label{display:flex;flex-direction:column}
.radio-en{font-family:'Playfair Display',serif;font-weight:700;font-size:var(--fs-base)}
.radio-ja{font-size:11px;color:rgba(255,255,255,0.4);margin-top:2px}
.radio-btn.selected .radio-ja{color:var(--gold3)}
/* チェックボックス選択 */
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:var(--sp-2)}
.check-btn{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;
  background:rgba(255,255,255,0.12);
  border:1.5px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.85);font-family:inherit;font-size:var(--fs-base);
  cursor:pointer;transition:all 0.22s;text-align:left;
  position:relative;
}
.check-btn::before{
  content:'';width:18px;height:18px;flex-shrink:0;
  border:1.5px solid rgba(255,255,255,0.25);
  transition:all 0.2s;display:flex;align-items:center;justify-content:center;
}
.check-btn:hover{border-color:rgba(255,255,255,0.35);color:#fff;background:rgba(255,255,255,0.08)}
.check-btn.selected{border-color:var(--gold);background:rgba(165,124,55,0.12);color:#fff}
.check-btn.selected::before{background:var(--gold);border-color:var(--gold);content:'✓';color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.check-label{display:flex;flex-direction:column}
.check-en{font-family:'Playfair Display',serif;font-weight:700;font-size:var(--fs-base)}
.check-ja{font-size:11px;color:rgba(255,255,255,0.4);margin-top:2px}
.check-btn.selected .check-ja{color:var(--gold3)}
/* ================================================================
   ナビゲーションボタン
   ================================================================ */
.step-nav{display:flex;gap:10px;align-items:center;margin-top:var(--sp-1)}
.btn-back{
  padding:14px 28px;background:rgba(255,255,255,0.06);
  border:1.5px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.6);font-family:inherit;font-size:var(--fs-base);
  cursor:pointer;transition:all 0.22s;letter-spacing:0.06em;
}
.btn-back:hover{border-color:rgba(255,255,255,0.4);color:#fff}
.btn-back:disabled{opacity:0.25;cursor:default}
.btn-next{
  flex:1;padding:16px;background:var(--ac);
  border:none;color:#fff;font-family:inherit;font-size:var(--fs-base);
  font-weight:500;cursor:pointer;transition:all 0.22s;letter-spacing:0.1em;
  text-transform:uppercase;
}
.btn-next:hover{background:var(--ac2)}
.btn-next:disabled{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.3);cursor:default}
/* ================================================================
   結果画面
   ================================================================ */
.result-screen{width:100%;max-width:1000px;animation:fadeIn 0.6s ease both}
.result-head{text-align:center;margin-bottom:var(--sp-3)}
.result-eyebrow{font-size:11px;letter-spacing:0.28em;color:var(--gold3);text-transform:uppercase;margin-bottom:12px}
.result-title{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-xl),3.5vw,var(--fs-2xl));color:#fff;font-weight:700;line-height:1.2;margin-bottom:8px}
.result-title em{font-style:italic;color:var(--gold3)}
.result-sub{font-size:var(--fs-base);color:rgba(255,255,255,0.5)}
.result-pet-name{color:var(--gold3);font-weight:500}
.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:var(--sp-3)}
.result-card{
  background:rgba(255,255,255,0.04);
  border:1.5px solid rgba(255,255,255,0.1);
  overflow:hidden;transition:transform 0.3s,border-color 0.3s;
}
.result-card:hover{transform:translateY(-4px);border-color:rgba(165,124,55,0.5)}
.result-card.top{border-color:var(--gold);background:rgba(165,124,55,0.08)}
.result-top-badge{background:var(--gold);color:#fff;font-size:10px;font-weight:500;letter-spacing:0.14em;padding:6px 16px;text-align:center;text-transform:uppercase}
.result-img{background:var(--cr);min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:24px}
.result-img img{width:100%;height:100%;object-fit:contain;max-height:180px}
.result-img-ph{display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(18,29,39,0.3);font-size:11px}
.result-info{padding:var(--sp-1) var(--sp-1) var(--sp-2)}
.result-type{font-size:10px;letter-spacing:0.18em;color:var(--gold3);text-transform:uppercase;margin-bottom:6px}
.result-name{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700;margin-bottom:6px;line-height:1.3}
.result-desc{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.7;margin-bottom:var(--sp-1)}
.result-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--sp-1)}
.result-tag{font-size:10px;padding:3px 8px;border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.45);letter-spacing:0.06em}
.result-btn{
  display:block;background:var(--gold);color:#fff;
  padding:12px;text-align:center;text-decoration:none;
  font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;
  transition:background 0.2s;
}
.result-btn:hover{background:var(--gold2)}
.result-actions{display:flex;gap:12px;justify-content:center}
.btn-retry{
  background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.7);padding:14px 36px;cursor:pointer;
  font-family:inherit;font-size:var(--fs-base);transition:all 0.22s;letter-spacing:0.06em;
}
.btn-retry:hover{border-color:rgba(255,255,255,0.5);color:#fff}
.btn-all{
  background:var(--ac);color:#fff;padding:14px 36px;
  text-decoration:none;font-size:var(--fs-base);font-weight:500;
  letter-spacing:0.06em;transition:background 0.2s;
}
.btn-all:hover{background:var(--ac2)}
/* フッター */
footer{position:relative;z-index:1;background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
/* SP */

@media(max-width:768px){
  /* food-quiz SP */
:root{--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-2xl:30px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px}
  .quiz-bg{padding-top:56px}
  .quiz-content{padding:var(--sp-2) var(--sp-1) var(--sp-4)}
  .step-card{padding:var(--sp-2)}
  .check-list{grid-template-columns:1fr}
  .radio-list{flex-direction:column}
  .radio-item{min-width:100%}
  .result-grid{grid-template-columns:1fr}
  .result-actions{flex-direction:column}
}

/* ============================================================
   SITEMAP
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
/* ハンバーガー・ドロワー（PC非表示） */
.nav-hamburger{display:none}
/* ナビ */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 80px;display:flex;align-items:center;justify-content:space-between;height:64px;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
/* フッター */
footer{background:var(--primary);padding:80px 64px 0;border-top:3px solid var(--gold)}
.sm-hero{background:var(--primary);padding:var(--sp-7) var(--sp-5);margin-top:64px;text-align:center}
.sm-hero h1{font-family:'Playfair Display',serif;font-size:var(--fs-3xl);color:#fff;line-height:1.1;font-weight:700;margin-bottom:16px;opacity:0;transform:translateY(24px);animation:fadeUp 0.8s 0.5s cubic-bezier(0.16,1,0.3,1) forwards}
.sm-hero h1 em{font-style:italic;color:var(--gold3)}
.sm-hero p{color:rgba(255,255,255,0.55);font-size:var(--fs-base)}
.sm-eyebrow{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:var(--sp-1)}
.sm-eyebrow-line{height:1px;width:32px;background:var(--gold3)}
.sm-eyebrow-text{font-size:12px;letter-spacing:0.25em;color:var(--gold3);text-transform:uppercase}
.sm-main{max-width:1100px;margin:0 auto;padding:var(--sp-5) var(--sp-5)}
.sm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.sm-col h2{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--primary);font-weight:700;margin-bottom:var(--sp-2);padding-bottom:12px;border-bottom:2px solid var(--gold);display:flex;align-items:center;gap:12px}
.sm-col h2 span{font-size:12px;color:var(--tl);font-family:'DM Sans',sans-serif;font-weight:400;letter-spacing:0.1em}
.sm-col ul{list-style:none}
.sm-col li{margin-bottom:8px}
.sm-col a{color:var(--tm);text-decoration:none;font-size:var(--fs-base);display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid transparent;transition:all 0.22s}
.sm-col a::before{content:'';width:16px;height:1px;background:var(--be3);flex-shrink:0;transition:width 0.22s,background 0.22s}
.sm-col a:hover{color:var(--ac);border-color:var(--be3);background:var(--cr);padding-left:16px}
.sm-col a:hover::before{width:24px;background:var(--gold)}
.sm-col .sm-sub{padding-left:var(--sp-2);border-left:2px solid var(--be3);margin-top:8px;margin-bottom:16px}
.sm-col .sm-sub a{font-size:var(--fs-base);color:var(--tl)}
.sm-col .sm-sub a:hover{color:var(--ac)}
.sm-url{font-size:10px;color:var(--tl);letter-spacing:0.04em;margin-top:4px;display:block;padding-left:32px}
.sm-divider{border:none;border-top:1px solid var(--be3);margin:var(--sp-5) 0}

@media(max-width:768px){
  /* sitemap SP */
:root{--fs-xs:12px;--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px;--sp-7:72px}

  nav{padding:0 0 0 20px;height:56px}
  .sm-hero{margin-top:0;padding:var(--sp-4) var(--sp-2)}
  .sm-main{padding:var(--sp-3) var(--sp-2)}
  .sm-grid{grid-template-columns:1fr}
}

/* ============================================================
   CONTACT
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#121d27;--ac:#0f5167;--ac2:#0a3a4a;--ac3:#1a6a85;--acl:#e4f2f7;--gold:#A57C37;--gold2:#c09a52;--gold3:#d4b472;--be:#f5f0e8;--be2:#ede5d5;--be3:#d4c9b0;--cr:#faf8f4;--ww:#fdfcf9;--td:#1e1a14;--tm:#5a5347;--tl:#8a8078;--fs-xs:12px;--fs-base:16px;--fs-lg:24px;--fs-xl:32px;--fs-2xl:40px;--fs-3xl:48px;--sp-1:16px;--sp-2:32px;--sp-3:48px;--sp-4:64px;--sp-5:80px;--sp-7:112px}
html{scroll-behavior:smooth}
body{font-family:'DM Sans','Noto Sans JP',sans-serif;background:var(--ww);color:var(--td);overflow-x:hidden;font-size:var(--fs-base);line-height:1.75}
.contact-main{max-width:1100px;margin:0 auto;padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:1fr 1.6fr;gap:var(--sp-5);align-items:start}
.contact-info{position:sticky;top:96px}
.contact-info-label{font-size:12px;letter-spacing:0.22em;color:var(--gold);font-weight:500;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:var(--sp-2)}
.contact-info-label::before{content:'';width:20px;height:1px;background:var(--gold)}
.contact-info-title{font-family:'Playfair Display',serif;font-size:clamp(var(--fs-xl),2.5vw,var(--fs-2xl));color:var(--primary);font-weight:700;line-height:1.2;margin-bottom:var(--sp-2)}
.contact-info-lead{font-size:var(--fs-base);color:var(--tm);line-height:1.875;margin-bottom:var(--sp-3)}
.contact-card{background:var(--cr);border:1px solid var(--be3);padding:var(--sp-2);margin-bottom:16px;display:flex;align-items:flex-start;gap:16px;transition:border-color 0.25s}
.contact-card:hover{border-color:var(--gold)}
.contact-card-icon{width:44px;height:44px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-card-icon svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-card-label{font-size:12px;color:var(--tl);letter-spacing:0.1em;margin-bottom:4px}
.contact-card-val{font-size:var(--fs-base);color:var(--td);font-weight:500;line-height:1.5}
.contact-card-val a{color:var(--ac);text-decoration:none}
.contact-card-val a:hover{text-decoration:underline}
.contact-note{background:var(--be);border-left:3px solid var(--gold);padding:var(--sp-1) var(--sp-2);margin-top:var(--sp-2)}
.contact-note p{font-size:12px;color:var(--tm);line-height:1.875}
.contact-note strong{color:var(--td);font-weight:500}
.contact-form-wrap{background:#fff;border:1px solid var(--be3);padding:var(--sp-3)}
.contact-form-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--primary);font-weight:700;margin-bottom:var(--sp-2);padding-bottom:var(--sp-1);border-bottom:2px solid var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.form-group{display:flex;flex-direction:column;margin-bottom:var(--sp-2)}
.form-group.half{margin-bottom:0}
.form-label{font-size:12px;font-weight:500;color:var(--td);letter-spacing:0.06em;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.form-required{font-size:10px;background:var(--ac);color:#fff;padding:2px 6px;letter-spacing:0.06em;border-radius:2px}
.form-optional{font-size:10px;background:var(--be3);color:var(--tl);padding:2px 6px;letter-spacing:0.06em;border-radius:2px}
.form-input,.form-select,.form-textarea{width:100%;padding:14px var(--sp-1);font-size:var(--fs-base);font-family:inherit;border:1.5px solid var(--be3);background:#fff;color:var(--td);outline:none;transition:border-color 0.2s,box-shadow 0.2s;-webkit-appearance:none;appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(15,81,103,0.08)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--tl)}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8078' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.form-textarea{resize:vertical;min-height:160px;line-height:1.75}
.form-checkbox-wrap{display:flex;align-items:flex-start;gap:10px;margin-bottom:var(--sp-2)}
.form-checkbox{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--ac);margin-top:2px}
.form-checkbox-label{font-size:var(--fs-base);color:var(--tm);line-height:1.7}
.form-checkbox-label a{color:var(--ac);text-decoration:none;border-bottom:1px solid rgba(15,81,103,0.3)}
.form-submit{width:100%;padding:18px;background:var(--primary);color:#fff;border:none;cursor:pointer;font-family:inherit;font-size:var(--fs-base);font-weight:500;letter-spacing:0.1em;transition:all 0.25s;position:relative;overflow:hidden;margin-top:var(--sp-1)}
.form-submit::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.1);transform:translateX(-110%) skewX(-18deg);transition:transform 0.4s}
.form-submit:hover::after{transform:translateX(110%) skewX(-18deg)}
.form-submit:hover{background:var(--ac)}
.form-submit:disabled{background:var(--be3);color:var(--tl);cursor:not-allowed}
.form-submit:disabled::after{display:none}
.form-success{display:none;text-align:center;padding:var(--sp-4) var(--sp-2)}
.form-success.show{display:block}
.form-success-icon{width:72px;height:72px;background:var(--acl);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--sp-2)}
.form-success-icon svg{width:32px;height:32px;stroke:var(--ac);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.form-success h3{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:var(--primary);font-weight:700;margin-bottom:12px}
.form-success p{font-size:var(--fs-base);color:var(--tm);line-height:1.875;max-width:400px;margin:0 auto}
.form-body.hidden{display:none}
.contact-faq{background:var(--primary);padding:var(--sp-5) var(--sp-5);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact-faq-card{border:1px solid rgba(255,255,255,0.07);padding:var(--sp-2);transition:background 0.25s}
.contact-faq-card:hover{background:rgba(255,255,255,0.04)}
.contact-faq-card a{text-decoration:none;display:block}
.faq-card-label{font-size:12px;color:var(--gold3);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:8px}
.faq-card-title{font-family:'Playfair Display',serif;font-size:var(--fs-lg);color:#fff;font-weight:700;margin-bottom:8px;line-height:1.2}
.faq-card-desc{font-size:var(--fs-base);color:rgba(255,255,255,0.5);line-height:1.75}
.faq-card-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-base);color:var(--gold3);margin-top:var(--sp-1)}
.contact-faq-card:hover .faq-card-link{gap:10px}

@media(max-width:768px){
  /* contact SP */
:root{--fs-base:12px;--fs-lg:18px;--fs-xl:24px;--fs-3xl:36px;--sp-1:12px;--sp-2:24px;--sp-3:36px;--sp-4:48px;--sp-5:60px}
  .contact-main{grid-template-columns:1fr;padding:var(--sp-3) var(--sp-2);gap:var(--sp-3)}
  .contact-info{position:static}
  .form-row{grid-template-columns:1fr;gap:0}
  .form-group.half{margin-bottom:var(--sp-2)}
  .contact-form-wrap{padding:var(--sp-2)}
  .contact-faq{grid-template-columns:1fr;padding:var(--sp-4) var(--sp-2)}

  /* FAQ SP */
  .faq-main{grid-template-columns:1fr;padding:var(--sp-3) var(--sp-2)}
  .faq-sidebar{display:none}
  .faq-contact-inner{grid-template-columns:1fr;text-align:center}
  .faq-contact-icon{display:none}
  /* タブナビ SP（ナビ高さ56px対応） */
  .tab-nav{top:56px}
  .tab-nav-inner{padding:0 var(--sp-1)}
  /* ingredient SP */
  .ingredient-inner{padding:var(--sp-3) var(--sp-2)}
  .ing-cta-grid{grid-template-columns:1fr}
  /* hn SP */
  .hn-tabs-inner{padding:0 var(--sp-2);gap:0}
  .hn-tab-btn{padding:12px var(--sp-1);font-size:11px}
}
