/* フォーマット案 共通部品（2026-10-27 改訂：AIっぽさを抜き、実在LPの定番部品に寄せる）
   ヘッダー（ロゴ・ナビ・予約ボタン）／写真枠／CTAのマイクロコピー／よくある質問／フッター／スマホの追従ボタン */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img,svg{max-width:100%}
a{color:inherit}

/* ヘッダー */
.gh{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #E7E4DF}
.gh .in{max-width:1180px;margin:0 auto;padding:0 20px;height:68px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:#1A1A1A;flex:none}
.logo b{font-family:"Jost","Noto Sans JP",sans-serif;font-weight:700;font-size:21px;letter-spacing:.06em}
.logo span{font-size:11px;color:#6B6862;line-height:1.3;border-left:1px solid #D8D4CD;padding-left:8px}
.gnav{display:flex;gap:22px;font-size:14px;font-weight:700;margin-left:auto}
.gnav a{text-decoration:none;color:#3A3835}
.gnav a:hover{text-decoration:underline}
.hbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:var(--cta,#E0602B);border-radius:6px;padding:6px 18px;line-height:1.35;font-weight:700;font-size:14px;flex:none}
.hbtn small{font-size:10px;font-weight:700;opacity:.9}
@media (max-width:900px){.gnav{display:none}.gh .in{height:58px;gap:12px}.logo span{display:none}.hbtn{margin-left:auto;padding:6px 12px;font-size:13px}}

/* 写真枠（撮影・購入して差し替える前提。実寸比率を保つ） */
.photo{position:relative;background:#D8D5CF repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.18) 14px 15px);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#5E5A53}
.photo .ph-in{text-align:center;font-size:12px;line-height:1.6;padding:10px;max-width:80%}
.photo .ph-in::before{content:"";display:block;width:34px;height:26px;margin:0 auto 8px;border:2px solid currentColor;border-radius:5px;background:radial-gradient(circle at 50% 55%,transparent 6px,currentColor 6.5px 8px,transparent 8.5px)}
.photo .ph-in b{display:block;font-size:13px}
.r43{aspect-ratio:4/3}.r32{aspect-ratio:3/2}.r11{aspect-ratio:1/1}.r34{aspect-ratio:3/4}.r169{aspect-ratio:16/9}

/* CTA の上の一言（＼ ／） */
.micro{display:block;text-align:center;font-weight:700;font-size:14px;margin-bottom:8px}
.micro::before{content:"＼ "}.micro::after{content:" ／"}

/* よくある質問 */
.faq-list{max-width:820px;margin:0 auto}
.faq-list details{border-bottom:1px solid #E1DDD6;background:#fff}
.faq-list details:first-child{border-top:1px solid #E1DDD6}
.faq-list summary{list-style:none;cursor:pointer;padding:20px 48px 20px 52px;position:relative;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before{content:"Q";position:absolute;left:14px;top:18px;font-family:"Jost",sans-serif;font-size:20px;font-weight:700;color:var(--accent,#E0602B)}
.faq-list summary::after{content:"";position:absolute;right:20px;top:26px;width:9px;height:9px;border-right:2px solid #8A867F;border-bottom:2px solid #8A867F;transform:rotate(45deg);transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(-135deg);top:30px}
.faq-list details p{margin:0;padding:0 24px 22px 52px;position:relative;color:#4A4743}
.faq-list details p::before{content:"A";position:absolute;left:14px;top:-4px;font-family:"Jost",sans-serif;font-size:20px;font-weight:700;color:#A9A49B}

/* フッター */
.gf{background:#26241F;color:#CFCAC1;font-size:13px;padding:44px 20px 100px}
.gf .in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between}
.gf a{color:#CFCAC1}
.gf .links{display:flex;gap:18px;flex-wrap:wrap}
.gf small{display:block;margin-top:14px;color:#8F8A81}

/* スマホの追従ボタン */
.fixcta{display:none}
@media (max-width:760px){
  .fixcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.96);border-top:1px solid #E1DDD6;padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .fixcta a{flex:1;text-align:center;text-decoration:none;font-weight:700;border-radius:6px;padding:12px 6px;font-size:15px}
  .fixcta .m{background:var(--cta,#E0602B);color:#fff}
  .fixcta .s{border:1px solid #CFCAC1;color:#3A3835;flex:.6;font-size:13px}
}

/* 社内メモ（公開時は消す） */
.memo{background:#FFF6D6;border-top:1px dashed #B8962E;color:#5B4A12;font-size:12px;padding:10px 20px;text-align:center}

/* 文字組み（2026-10-27 点検の指摘：孤立行・詰めなし） */
body{letter-spacing:.02em;line-height:1.9}
h1,h2,h3{font-feature-settings:"palt";text-wrap:balance;letter-spacing:.03em}
p,li,dd{text-wrap:pretty}
.hbtn{margin-left:auto}
.gnav+.hbtn{margin-left:0}
