﻿@charset "UTF-8";
/* CSS Document */

.price::after, .default-price::after{content: none;}
@media screen and (max-width: 767px) {
.block-header-info-frame{height: 10px;}
}


@media screen and (max-width: 767px) {
#recommond_info{bottom: 26vw!important;}
}


:root{
  --ink:#2b2620;
  --cool:#2c5ea6;
  --cool-deep:#1d4a8c;
  --coral:#e07a4f;
  --coral-deep:#c75f33;
  --paper:#fdfcfa;
  --wash:#eef3f8;
  --sand:#f6f3ed;
  --line:#d9d2c6;
  --muted:#6a6155;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
.mincho{font-family:"Shippori Mincho","Hiragino Mincho ProN",serif}
.inner{max-width:680px;margin:0 auto;padding:0 1.25rem}

/* ===== 共通：セクション見出し ===== */
.sec-head{text-align:center;margin-bottom:1.8rem}
.sec-eyebrow{display:inline-block;color:var(--coral);font-weight:700;font-size:clamp(.95rem,3.8vw,1.05rem);letter-spacing:.25em;margin-bottom:.4em}
.sec-title{font-size:clamp(1.55rem,6.6vw,2.2rem);font-weight:700;letter-spacing:.08em;line-height:1.45}
.sec-title .blue{color:var(--cool)}
.arc{width:min(300px,70%);height:16px;margin:.8rem auto 0}

/* ===== ヘッダー帯 ===== */
.announce{background:var(--ink);color:#fff;text-align:center;font-size:.95rem;font-weight:700;letter-spacing:.06em;padding:.6em 1em}
.announce strong{color:#ffd98a}

/* ===== ヒーロー：メイン画像 ===== */
.hero-main img{width:100%}
.hero-under{
  background:linear-gradient(180deg,#fdfcfa 0%,#f5f1e9 100%);
  text-align:center;padding:1.8rem 1.25rem 2.2rem;
  border-bottom:1px solid var(--line);
}
.product-title{
  font-size:clamp(1.8rem,7.6vw,2.7rem);
  font-weight:700;letter-spacing:.06em;line-height:1.4;
  color:var(--ink);margin-bottom:.5rem;
  padding-bottom:.5rem;position:relative;
}
.product-title::after{
  content:"";display:block;width:60px;height:3px;
  background:var(--coral);border-radius:2px;
  margin:.7rem auto 0;
}
.product-subtitle{
  font-size:clamp(1rem,4.2vw,1.2rem);
  font-weight:500;color:var(--cool-deep);
  letter-spacing:.04em;line-height:1.6;
  margin-bottom:1.4rem;
}
.price{margin-bottom:.4rem;line-height:1.3;text-align:center}
.price .yen{font-family:"Shippori Mincho",serif;font-weight:800;font-size:clamp(2.3rem,9.5vw,3.2rem);letter-spacing:.02em}
.price .tax{font-size:clamp(1.35rem,5.8vw,1.6rem);font-weight:700;color:#5a5247;margin-left:.25em;white-space:nowrap}
.exchange{
  display:inline-block;background:var(--wash);border:1.5px dashed var(--cool);
  color:var(--cool-deep);font-weight:700;font-size:clamp(1rem,4vw,1.1rem);
  letter-spacing:.1em;padding:.5em 1.3em;border-radius:8px;margin-bottom:1.3rem;
}
.hero-under .meta{
  font-weight:700;font-size:clamp(1rem,4.2vw,1.1rem);letter-spacing:.06em;margin-bottom:1.2rem;
}
.hero-under .meta b{color:var(--cool-deep)}

/* ===== CTAボタン（共通） ===== */
.cta{
  display:block;width:min(440px,100%);margin:0 auto;
  background:linear-gradient(180deg,#e8895d 0%,var(--coral) 60%,#d06a3e 100%);
  color:#fff;text-decoration:none;text-align:center;
  font-size:clamp(1.25rem,5.4vw,1.5rem);font-weight:900;letter-spacing:.12em;
  padding:1em .8em .95em;border-radius:100px;
  box-shadow:0 6px 0 #b85a31,0 10px 22px rgba(208,106,62,.35);
  transition:transform .12s ease,box-shadow .12s ease;
  position:relative;overflow:hidden;
}
/* キラーンと光沢が横切る */
.cta::after{
  content:"";position:absolute;top:0;left:-60%;
  width:45%;height:100%;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);
  pointer-events:none;
  animation:cta-shine 5s ease-in-out infinite;
}
@keyframes cta-shine{
  0%, 18%   {left:-60%;}
  30%, 100% {left:140%;}
}
.cta:hover{transform:translateY(2px);box-shadow:0 4px 0 #b85a31,0 6px 14px rgba(208,106,62,.3)}
.cta small{display:block;font-size:.6em;font-weight:700;letter-spacing:.2em;opacity:.95;margin-bottom:.2em}
.cta-note{text-align:center;font-size:clamp(1rem,4.2vw,1.18rem);color:var(--cool-deep);margin-top:.8rem;letter-spacing:.04em}
.exchange-note{font-size:clamp(.78rem,3vw,.85rem);color:var(--muted);line-height:1.55;margin:-.6rem auto 1rem;max-width:30em;text-align:center}
.text-link{color:var(--cool-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.guide-link{text-align:center;margin-top:.7rem}
.guide-link a{color:var(--muted);font-size:clamp(.8rem,3.1vw,.88rem);font-weight:400;text-decoration:underline;text-underline-offset:2px;letter-spacing:.02em}

/* 途中差し込みCTA */
.cta-mid{padding:.4rem 1.25rem 2.6rem;text-align:center}
.cta-mid .price{margin-bottom:.5rem}

/* ===== お悩み共感 ===== */
.worry{background:var(--sand);padding:3rem 0 3.2rem}
.worry-list{max-width:480px;margin:0 auto 1.8rem}
.worry-list li{
  background:#fff;border-radius:10px;
  font-size:clamp(1.05rem,4.4vw,1.2rem);font-weight:700;letter-spacing:.04em;
  padding:.85em 1.1em .85em 3em;margin-bottom:.6rem;position:relative;
  box-shadow:0 1px 4px rgba(43,38,32,.06);
}
.worry-list li::before{
  content:"";position:absolute;left:1em;top:50%;transform:translateY(-50%);
  width:1.35em;height:1.35em;border-radius:50%;background:var(--cool);
  -webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M9.6 16.2 5.4 12l-1.4 1.4 5.6 5.6 12-12L20.2 5.6z"/></svg>') center/contain no-repeat;
  mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M9.6 16.2 5.4 12l-1.4 1.4 5.6 5.6 12-12L20.2 5.6z"/></svg>') center/contain no-repeat;
}
.worry-answer{text-align:center;font-size:clamp(1.25rem,5.4vw,1.7rem);font-weight:700;letter-spacing:.1em;line-height:1.6}
.worry-answer .blue{color:var(--cool)}

/* ===== 選ばれる理由 ===== */
.reasons{padding:3.2rem 0 1rem}
.reason{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:1.6rem 1.4rem 1.8rem;margin-bottom:1.6rem;
  box-shadow:0 2px 10px rgba(43,38,32,.05);
}
.reason-tag{display:inline-block;background:var(--cool);color:#fff;font-weight:700;font-size:.95rem;letter-spacing:.18em;padding:.25em 1em;border-radius:100px;margin-bottom:.7rem}
.reason h3{font-size:clamp(1.35rem,5.8vw,1.7rem);font-weight:700;letter-spacing:.06em;line-height:1.5;margin-bottom:.8rem}
.reason h3 .blue{color:var(--cool)}
.reason h3 .coral{color:var(--coral-deep)}
.reason p{font-size:clamp(1rem,4vw,1.08rem);margin-bottom:.8rem}
.reason figure{margin:1rem 0 .4rem}
.reason figcaption{font-size:.92rem;color:var(--muted);text-align:center;margin-top:.5rem;letter-spacing:.04em}
.reason .photo-round{width:min(300px,80%);margin:0 auto;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.reason .photo-uniform{width:min(280px,82%);aspect-ratio:4/3;margin:0 auto;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--wash)}
.reason .photo-uniform img{width:100%;height:100%;object-fit:cover;display:block}
/* 公式素材：正方形（生地・ダーツ） */
.reason .photo-sq{width:min(260px,80%);aspect-ratio:1/1;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#fff}
.reason .photo-sq img{width:100%;height:100%;object-fit:cover;display:block}
/* 公式素材：縦長（モデル） */
.reason .photo-portrait{width:min(280px,84%);aspect-ratio:3/4;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--wash)}
.reason .photo-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block}
.reason .photo-circle{width:170px;height:170px;border-radius:50%;overflow:hidden;margin:0 auto;border:3px solid var(--wash)}
.reason .photo-circle img{width:100%;height:100%;object-fit:cover}

/* 強撚糸の図解 */
.yarn{background:var(--wash);border-radius:12px;padding:1.2rem 1.1rem 1.3rem;margin-top:1.1rem}
.yarn-title{text-align:center;font-weight:700;font-size:clamp(1.1rem,4.6vw,1.25rem);letter-spacing:.1em;margin-bottom:.9rem}
.yarn-title b{color:var(--cool-deep)}
.yarn-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;max-width:440px;margin:0 auto .8rem}
.yarn-cell{background:#fff;border-radius:10px;padding:.9rem .6rem 1rem;text-align:center}
.yarn-cell.is-good{border:2px solid var(--cool)}
.yarn-cell h4{font-size:clamp(.98rem,3.8vw,1.08rem);font-weight:700;letter-spacing:.08em;margin-bottom:.5rem}
.yarn-cell.is-good h4{color:var(--cool-deep)}
.yarn-cell svg{width:100%;max-width:130px;height:auto;margin:0 auto .5rem;display:block}
.yarn-cell p{font-size:clamp(.85rem,3.3vw,.92rem);line-height:1.55;color:#4a443b}
.yarn-foot{text-align:center;font-size:clamp(.95rem,3.8vw,1.02rem);font-weight:500}
.yarn-foot b{color:var(--cool-deep)}

.mini-points{margin-top:.4rem}
.mini-points li{position:relative;padding-left:1.7em;margin-bottom:.45em;font-size:clamp(1rem,4vw,1.08rem);font-weight:500}
.mini-points li::before{
  content:"";position:absolute;left:.1em;top:.42em;width:1.1em;height:1.1em;border-radius:50%;background:var(--coral);
  -webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M9.6 16.2 5.4 12l-1.4 1.4 5.6 5.6 12-12L20.2 5.6z"/></svg>') center/contain no-repeat;
  mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M9.6 16.2 5.4 12l-1.4 1.4 5.6 5.6 12-12L20.2 5.6z"/></svg>') center/contain no-repeat;
}

/* ===== ものづくり ===== */
.craft{background:var(--wash);padding:3rem 0 3.2rem;margin-top:1.6rem}
.craft-card{background:#fff;border-radius:16px;padding:1.6rem 1.4rem 1.8rem;max-width:560px;margin:0 auto;box-shadow:0 2px 10px rgba(43,38,32,.05)}
.craft-card figure{float:right;width:38%;max-width:185px;margin:0 0 .6rem 1rem}
.craft-card figure img{border-radius:10px;width:100%}
.craft-card figcaption{font-size:.85rem;color:var(--muted);margin-top:.4rem;line-height:1.5}
.craft-card h3{font-size:clamp(1.25rem,5.2vw,1.5rem);font-weight:700;letter-spacing:.06em;line-height:1.5;margin-bottom:.7rem}
.craft-card p{font-size:clamp(1rem,4vw,1.08rem);margin-bottom:.7rem}
.craft-card::after{content:"";display:block;clear:both}
.craft-card .stat{clear:both;background:var(--sand);border-radius:10px;text-align:center;padding:.9em 1em;margin-top:.8rem;font-weight:700;font-size:clamp(1rem,4vw,1.1rem);letter-spacing:.04em}
.craft-card .stat b{color:var(--coral-deep);font-size:1.1em;font-family:"Shippori Mincho",serif}

/* ===== お客様の声 ===== */
.voices{padding:3.2rem 0 2.4rem}
.voice-grid{display:grid;grid-template-columns:1fr;gap:.8rem}
.voice{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;font-size:clamp(1rem,4vw,1.1rem);line-height:1.7;box-shadow:0 1px 4px rgba(43,38,32,.05)}
.voice b{
  color:var(--cool-deep);
  background:linear-gradient(transparent 45%, rgba(255,236,100,.7) 45%);
  font-weight:700;
}
.voice span{display:block;font-size:.85em;color:#8a7f70;margin-top:.25em}
.voices-note{text-align:center;font-size:.85rem;color:var(--muted);margin-top:1.1rem;letter-spacing:.02em}

/* ===== サイズ表 ===== */
.spec{background:var(--sand);padding:3rem 0 3.2rem}
.size-table-wrap{max-width:520px;margin:0 auto 1rem;overflow-x:auto}
table.size{width:100%;border-collapse:collapse;background:#fff;font-size:clamp(.95rem,3.8vw,1.05rem);border-radius:12px;overflow:hidden}
table.size th,table.size td{border:1px solid var(--line);text-align:center;padding:.65em .4em;letter-spacing:.04em}
table.size thead th{background:var(--cool);color:#fff;font-weight:700}
table.size tbody th{background:var(--wash);font-weight:700;color:var(--cool-deep);white-space:nowrap}
.spec-notes{max-width:520px;margin:0 auto;text-align:center;font-size:clamp(.95rem,3.8vw,1.02rem);font-weight:500;letter-spacing:.04em}
.spec-notes p{margin-bottom:.3em}
.spec-notes small{display:block;font-size:.85em;color:var(--muted);margin-top:.5em}

/* ===== ご注文：色・サイズ別 ===== */
.order{padding:3.2rem 0 3.4rem;scroll-margin-top:1rem}
.order-urgency{
  display:block;max-width:520px;margin:0 auto 1.8rem;text-align:center;
  background:#fdf0e8;border:1.5px solid var(--coral);color:var(--coral-deep);
  font-weight:700;font-size:clamp(1rem,4.2vw,1.15rem);letter-spacing:.08em;
  padding:.7em 1.2em;border-radius:10px;line-height:1.6;
}
.order-guide{
  text-align:center;font-weight:700;
  font-size:clamp(1.05rem,4.4vw,1.2rem);letter-spacing:.08em;margin-bottom:1.4rem;
}
.order-guide b{color:var(--coral-deep)}
.order-fine-note{text-align:center;font-size:clamp(.78rem,3vw,.85rem);color:var(--muted);line-height:1.6;margin:-.6rem auto 1.4rem;max-width:32em}
.variant{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:1.1rem 1.1rem 1.3rem;margin-bottom:1rem;max-width:560px;
  margin-left:auto;margin-right:auto;
  display:grid;grid-template-columns:100px 1fr;gap:1rem;align-items:center;
  box-shadow:0 1px 6px rgba(43,38,32,.05);
}
/* ズームボタン（商品写真のラッパー） */
.zoom-trigger{
  position:relative;display:block;width:100px;
  background:none;border:none;padding:0;cursor:pointer;
  border-radius:10px;overflow:visible;
  flex-shrink:0;
}
.zoom-trigger img{
  width:100px;height:100px;object-fit:cover;
  border-radius:10px;border:1px solid var(--line);
  display:block;transition:opacity .15s;
}
.zoom-trigger:hover img,.zoom-trigger:focus img{opacity:.88}
.zoom-icon{
  position:absolute;bottom:4px;right:4px;
  background:rgba(43,38,32,.62);color:#fff;
  font-size:.85rem;border-radius:50%;width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  font-style:normal;
}
.variant-name{
  font-weight:700;font-size:clamp(1.1rem,4.6vw,1.25rem);
  letter-spacing:.06em;margin-bottom:.55rem;
}
.web-limited{
  display:inline-block;
  background:var(--coral);color:#fff;
  font-size:.6em;font-weight:700;letter-spacing:.04em;
  padding:.2em .6em;border-radius:4px;
  margin-left:.5em;vertical-align:middle;
  white-space:nowrap;
}
/* ===== カラーラインナップ（全6色） ===== */
.lineup{background:var(--wash);padding:3rem 0 3.2rem}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:560px;margin:1.6rem auto 0}
.color-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 6px rgba(43,38,32,.06)}
.cphoto{position:relative;display:block;width:100%;border:none;padding:0;background:#f4f4f2;cursor:pointer}
.cphoto img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:opacity .15s}
.cphoto:hover img,.cphoto:focus img{opacity:.9}
.color-card .cname{display:block;text-align:center;font-weight:700;font-size:clamp(.98rem,4vw,1.15rem);letter-spacing:.04em;padding:.7em .45em .85em;color:var(--ink);line-height:1.45}
.lineup-note{text-align:center;color:var(--muted);font-size:clamp(.82rem,3.2vw,.92rem);margin-top:1.3rem;letter-spacing:.02em;line-height:1.7}
.size-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.size-btns a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:54px;text-decoration:none;
  background:linear-gradient(180deg,#e8895d,#d06a3e);
  color:#fff;font-weight:900;border-radius:10px;
  font-size:clamp(1.1rem,4.6vw,1.25rem);letter-spacing:.05em;
  box-shadow:0 3px 0 #b85a31;
  transition:transform .1s ease, box-shadow .1s ease;
}
.size-btns a:hover{transform:translateY(2px);box-shadow:0 1px 0 #b85a31}
.size-btns a small{font-size:.58em;font-weight:700;letter-spacing:.04em;opacity:.95;white-space:nowrap}

/* ===== 在庫状態：残りわずか / 売切れ ===== */
/* 残りわずか：タップ可。ボタンはコーラルのまま、上部に警告チップ */
.size-btns a.low small{
  background:#fff1cf;color:#b03c08;
  border-radius:5px;padding:.12em .4em;
  font-size:.52em;font-weight:800;letter-spacing:.02em;
  opacity:1;margin-bottom:.15em;
}
/* 売切れ：タップ不可。立体ボタンを平らなグレーに変え、押せないことを形で示す */
.size-btns .soldout{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:54px;border-radius:10px;
  background:#e8e4dc;color:#9b948a;font-weight:900;
  font-size:clamp(1.1rem,4.6vw,1.25rem);letter-spacing:.05em;
  box-shadow:inset 0 0 0 1.5px #d6cfc3;
  cursor:default;pointer-events:none;user-select:none;
}
.size-btns .soldout small{
  font-size:.52em;font-weight:800;letter-spacing:.02em;
  background:#9b948a;color:#fff;border-radius:5px;
  padding:.12em .45em;margin-bottom:.15em;white-space:nowrap;
}
.size-btns .soldout .sz{
  text-decoration:line-through;text-decoration-thickness:2px;opacity:.85;
}
/* 極狭幅では2列にして、在庫チップが収まる十分なボタン幅を確保 */
@media (max-width:350px){
  .size-btns{grid-template-columns:repeat(2,1fr)}
}
.order-price-note{text-align:center;margin:1.6rem 0 0}

/* 電話ボックス */
.tel-box{max-width:480px;margin:1.8rem auto 0;background:#eef3f8;border:2px solid var(--cool);border-radius:14px;padding:1.2rem 1.2rem 1.3rem;text-align:center;scroll-margin-top:1rem}
.tel-box h4{font-size:1.02rem;font-weight:700;letter-spacing:.1em;margin-bottom:.3rem;color:var(--cool-deep)}
.tel-box a.tel{display:block;text-decoration:none;color:var(--ink);font-family:"Shippori Mincho",serif;font-weight:800;font-size:clamp(1.7rem,7.4vw,2.1rem);letter-spacing:.04em;line-height:1.3}
.tel-box .tel-hours{font-weight:700;color:var(--cool-deep);font-size:clamp(.9rem,3.6vw,1rem);margin-top:.2rem}
.tel-box p{font-size:.9rem;color:var(--muted)}
/* 返品ポリシー注釈 */
.policy-note{max-width:520px;margin:1.4rem auto 0;font-size:clamp(.76rem,2.9vw,.84rem);color:var(--muted);line-height:1.65}
.policy-note p{margin-bottom:.5em}
.policy-link{text-align:center;margin-top:.8rem}
.policy-link a{color:var(--cool-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px;font-size:clamp(.85rem,3.4vw,.95rem)}

/* ===== フッター ===== */
.footer{background:#3a4a63;color:#d8dde6;text-align:center;padding:2.2rem 1.25rem 8rem}
.footer img{width:210px;margin:0 auto 1.1rem;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.footer p{font-size:.9rem;letter-spacing:.06em}

/* ===== 追従フッター：電話｜WEB ===== */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  display:grid;grid-template-columns:1fr 1.2fr;gap:.6rem;
  background:rgba(58,74,99,.97);
  padding:.65rem .8rem calc(.65rem + env(safe-area-inset-bottom));
  box-shadow:0 -4px 16px rgba(43,38,32,.25);
}
.sticky-cta a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:56px;text-decoration:none;border-radius:12px;
  font-weight:900;letter-spacing:.08em;line-height:1.25;
}
.sticky-cta a small{font-size:.68rem;font-weight:700;letter-spacing:.1em;opacity:.9}
.sticky-cta .btn-tel{
  background:#fff;color:var(--ink);border:2px solid #fff;
  font-size:clamp(.98rem,4vw,1.1rem);
}
.sticky-cta .btn-tel b{font-family:"Shippori Mincho",serif;font-size:1.05em;letter-spacing:.02em}
.sticky-cta .btn-web{
  background:linear-gradient(180deg,#e8895d,#d06a3e);color:#fff;
  font-size:clamp(1.05rem,4.4vw,1.2rem);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.15);
  position:relative;overflow:hidden;
}
.sticky-cta .btn-web::after{
  content:"";position:absolute;top:0;left:-60%;
  width:45%;height:100%;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.5) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-20deg);pointer-events:none;
  animation:cta-shine 5s ease-in-out infinite;
}
.sticky-cta .btn-web b{font-size:1em;font-weight:900;letter-spacing:.06em;position:relative;z-index:1}
.sticky-cta .btn-web small{font-size:.66rem;font-weight:700;letter-spacing:.06em;opacity:.92;margin-bottom:.08em;position:relative;z-index:1}

/* ===== ふわっと表示 ===== */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}

/* ===== デスクトップ ===== */
@media (min-width:860px){
  .inner{max-width:760px}
  .hero-main img{max-width:1672px;margin:0 auto}
  .voice-grid{grid-template-columns:1fr 1fr}
  /* PCではREASON本文を少し大きく */
  .reason p{font-size:1.18rem;line-height:1.85}
  .reason .mini-points li{font-size:1.15rem}
  .reason h3{font-size:1.85rem}
  .sticky-cta{
    grid-template-columns:auto auto;justify-content:center;gap:1rem;
    background:rgba(58,74,99,.94);
  }
  .sticky-cta a{min-width:280px;padding:0 1.6rem}
  .footer{padding-bottom:8.5rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cta,.size-btns a,.reveal{transition:none}
  .reveal{opacity:1;transform:none}
  .cta::after,.sticky-cta .btn-web::after{animation:none;display:none}
}