/* analogy.co.jp — 共通スタイル
   PCのレイアウトは各要素のインライン style が正（docs/design/analogy-renewal/ のデザイン確定版に準拠）。
   このファイルはベース・ホバー・SP上書きのみを持つ。 */

html { scroll-behavior: smooth; }
body { margin: 0; background: #ffffff; color: #191a1c; }
a { color: inherit; text-decoration: none; }
a:hover { opacity: .65; }
input, textarea, button { font-family: inherit; }
input::placeholder, textarea::placeholder { color: rgba(25,26,28,.32); }
input:focus, textarea:focus { outline: none; border-bottom-color: #191a1c !important; }
::selection { background: #191a1c; color: #ffffff; }

/* ナビの現在地アンダーライン（site.js が background-size を切り替える） */
.nav-link {
  background-image: linear-gradient(#191a1c, #191a1c);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  padding-bottom: 3px;
  transition: background-size 450ms cubic-bezier(.22,.61,.21,1);
}

/* 外部リンクの矢印マイクロインタラクション */
[data-ext] [data-arrow] { transition: transform 250ms cubic-bezier(.22,.61,.21,1); }
[data-ext]:hover [data-arrow] { transform: translate(2px,-2px); }
[data-ext]:hover [data-arrow][data-dir="r"] { transform: translate(4px,0); }

/* SNSボックス・送信ボタン・Instagramアイコンのホバー */
.sns-box { transition: background 250ms, color 250ms, border-color 250ms; }
.sns-box:hover { background: #191a1c; color: #ffffff; border-color: #191a1c; opacity: 1; }
.btn-submit { transition: background 300ms, color 300ms; }
.btn-submit:hover:not(:disabled) { background: #191a1c; color: #ffffff; }
.btn-submit:disabled { opacity: .45; cursor: default; }
.ig { transition: opacity 250ms; }
.ig:hover { opacity: .5; }

/* ハニーポット（スパム対策の隠しフィールド。人間には見えない） */
.hp-field { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* prefers-reduced-motion 時はJSがアニメーションを止める。CSS側もスムーススクロールを無効化 */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ============================================================
   SP（〜767px）上書きシート
   デザイン確定版の sp-overrides（@container site）を @media に読み替えたもの。
   PCのスタイルはインライン属性が正のため、SPは !important で上書きする。
   ============================================================ */
@media (max-width: 767px) {
  /* Nav */
  #mv-nav{padding:16px 20px !important}
  #mv-nav>a{font-size:13px !important}
  [data-nav-links]{display:none !important}
  #nav-burger{display:inline-block !important}
  #nav-menu[data-open="1"]{display:flex !important}
  /* FV */
  #sec-fv{grid-template-columns:1fr !important;min-height:auto !important;padding:0 20px !important}
  [data-fvword]{font-size:44px !important;right:20px !important;top:24px !important}
  [data-fvmain]{padding:120px 0 40px !important}
  [data-fvkicker]{font-size:12px !important;letter-spacing:.22em !important;margin:0 0 22px !important}
  #fv-h1{font-size:27px !important;letter-spacing:.04em !important;line-height:1.85 !important}
  #fv-toc{padding:8px 0 64px 18px !important;justify-content:flex-start !important;gap:12px !important}
  /* セクション共通: 2カラム → 1カラム */
  [data-sec]{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:40px !important;padding:64px 20px 80px !important}
  [data-secrail]{position:static !important;gap:0 !important}
  [data-secrail]>div:first-child{display:none !important} /* 縦レール */
  [data-slab]{display:flex !important;align-items:baseline !important;gap:14px !important}
  [data-slab] p{margin:0 !important}
  [data-lead]{font-size:16px !important;line-height:2.1 !important}
  [data-lead] br{display:none}
  /* 01 Inquiry */
  [data-q]{margin:64px 0 0 !important;padding:56px 0 0 !important}
  [data-qnum]{font-size:120px !important;left:-6px !important;top:-8px !important}
  [data-qside]{position:static !important;writing-mode:horizontal-tb !important;display:inline-block !important;border-left:none !important;padding:0 !important;margin:0 0 14px !important;font-size:11px !important;letter-spacing:.32em !important}
  [data-q] h2{font-size:21px !important;line-height:1.85 !important;margin-bottom:24px !important}
  [data-q]>p:last-child{font-size:14.5px !important;line-height:2.15 !important}
  [data-close]{margin:72px 0 0 !important;padding-top:44px !important}
  /* 02 Products */
  [data-prodhead]>span:first-child{font-size:24px !important}
  [data-prod]{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:44px !important;padding:32px 0 36px !important}
  [data-ptext]{order:1 !important}
  [data-pmedia]{order:2 !important;padding:0 0 44px 0 !important}
  [data-phone]{width:25% !important}
  [data-prod] h3{font-size:24px !important}
  [data-ptext]>p{font-size:14.5px !important}
  /* 03 Method */
  [data-mtext]{flex:1 1 100% !important;max-width:none !important}
  [data-mtext] h2{font-size:30px !important;margin-bottom:32px !important}
  [data-mtext] p{font-size:14.5px !important;line-height:2.15 !important}
  [data-diagram]{width:100% !important;max-width:352px !important;margin:0 auto !important}
  [data-orb]{width:280px !important;height:240px !important;right:-60px !important;top:120px !important}
  /* 05 Note / SNS */
  [data-note-hero]{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:22px !important;padding:28px 0 32px !important}
  [data-note-title]{font-size:19px !important}
  [data-note-row]{gap:14px !important}
  [data-note-row]>span:first-child{width:72px !important}
  [data-note-row]>span:nth-child(2){font-size:14px !important}
  /* 04 Member */
  #sec-member [data-mgrid]{margin-top:44px !important}
  #sec-member [data-member]{grid-template-columns:110px 1fr !important;column-gap:16px !important}
  #sec-member [data-member]>span:first-child{font-size:12px !important}
  #sec-member [data-mname]{font-size:14px !important}
  /* 06 Company */
  #sec-company div[data-anim]{grid-template-columns:100px 1fr !important;column-gap:16px !important;font-size:14px !important}
  #sec-company div[data-anim]>span:first-child{font-size:12px !important}
  /* 07 Contact */
  [data-form]{gap:32px !important;margin-top:48px !important}
  #sec-contact button{align-self:stretch !important;width:100% !important;padding:16px 0 !important}
  /* Footer */
  [data-footer]{flex-direction:column !important;align-items:flex-start !important;gap:18px !important;padding:36px 20px 48px !important}
  [data-footer]>span:last-child{flex-direction:column !important;align-items:flex-start !important;gap:12px !important}
  [data-fsep]{display:none !important}
}

/* ============================================================
   プライバシーポリシー系ページのSP上書き（プラポリ用デザイン確定版に準拠）
   ============================================================ */
@media (max-width: 767px) {
  [data-head]{padding:72px 20px 40px !important}
  [data-head] h1{font-size:28px !important}
  [data-headword]{font-size:38px !important;right:20px !important;top:26px !important}
  [data-body]{grid-template-columns:1fr !important;column-gap:0 !important;padding:44px 20px 80px !important}
  [data-prail]{display:none !important}
  [data-toc-grid]{grid-template-columns:1fr !important}
  [data-md="ol"]{grid-template-columns:22px 1fr !important;column-gap:8px !important}
  [data-mdrow]{grid-template-columns:1fr !important;row-gap:2px !important;padding:14px 0 !important}
  [data-md="note"]{padding:20px 18px !important}
  [data-md="rows"]{margin-left:0 !important}
  [data-rel] a{grid-template-columns:1fr !important;row-gap:4px !important}
}
