/* cjc-movie.com 新版 — 前撮りLPと同じ設計基準（純白・明朝・余白・1px線・黄色マーカー1本線・写真は文字と重ねない） */
:root{
  --white:#FFFFFF; --ink:#161616; --text:#222222; --sub:#6B6B6B; --line:#E3E3E3; --pale:#F4F3F0; --mark:#FFE94D;
  --mincho:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  --gothic:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
  --en:"Cormorant Garamond","Times New Roman",serif;
  --g:20px; --hh:56px;
}
@media(min-width:900px){:root{--hh:72px}}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--mincho);color:var(--text);background:var(--white);font-size:14px;line-height:1.9;letter-spacing:.02em;font-feature-settings:"palt"}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
.wrap{padding:0 var(--g)}
.in{max-width:1040px;margin:0 auto}
@media(min-width:900px){.wrap{padding:0 40px}}
.h2{font-weight:400;font-size:20px;letter-spacing:.06em;color:var(--ink);line-height:1.6;text-wrap:balance}
.h2 small{font-family:var(--gothic);display:block;font-size:10px;letter-spacing:.28em;color:var(--sub);margin-bottom:8px}
.desc{margin-top:12px;font-size:14px;line-height:2;max-width:560px}
.sec{padding-top:80px}
@media(min-width:900px){.sec{padding-top:130px}.h2{font-size:22px}}
.sp{display:inline}@media(min-width:640px){.sp{display:none}}
.note{font-family:var(--gothic);font-size:11px;letter-spacing:.04em;color:var(--sub);line-height:1.8}
.mk{background:linear-gradient(transparent 62%,var(--mark) 62%,var(--mark) 92%,transparent 92%)}
.num{font-variant-numeric:tabular-nums}

/* ヘッダー: ロゴ＋ナビ（PC）／ロゴ＋メニュー＋LINE（スマホ） */
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #EEE}
.hd{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--g);gap:12px}
.logo{font-family:var(--en);font-size:15px;font-weight:500;line-height:1;letter-spacing:.16em;color:var(--ink)}
.logo span{display:block;font-family:"Noto Serif JP",var(--mincho);font-size:7px;font-weight:400;line-height:1.25;letter-spacing:.16em;color:var(--sub);margin-top:4px}
.hd nav{display:none;gap:22px;font-family:"Noto Serif JP",var(--mincho);font-size:11.5px;font-weight:400;letter-spacing:.1em}
.hd nav a{padding:6px 0;border-bottom:1px solid transparent;white-space:nowrap}
@media(min-width:900px) and (max-width:1199px){.hd nav{gap:13px;font-size:10.5px;letter-spacing:.07em}}
.hd nav a[aria-current="page"],.hd nav a:hover{border-bottom-color:var(--ink)}
.hd .ln{font-family:"Noto Serif JP",var(--mincho);font-size:11.5px;font-weight:500;letter-spacing:.1em;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;white-space:nowrap}
.hd .menu{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:var(--white);cursor:pointer}
.hd .menu svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.4;stroke-linecap:round}
.mnav{display:none;border-top:1px solid var(--line);background:var(--white);padding:8px var(--g) 18px}
.mnav.on{display:block}
.mnav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-family:"Noto Serif JP",var(--mincho);font-size:13px;font-weight:400;letter-spacing:.1em;color:var(--ink)}
.mnav a[aria-current="page"]{color:var(--sub)}
@media(min-width:900px){.hd{height:72px;padding:0 40px}.hd nav{display:flex}.logo{font-size:18px}.hd .menu,.mnav{display:none!important}}

/* ファーストビュー（一面＝100svh−ヘッダー。余白が主役。下端にSCROLLの線） */
.fv{min-height:calc(100vh - var(--hh));min-height:calc(100svh - var(--hh) - env(safe-area-inset-top,0px));display:grid;place-items:center;text-align:center;padding:40px var(--g) 96px;position:relative}
.fv .mark{width:60px;height:60px;margin:0 auto 18px}
.fv .by{font-family:var(--en);font-size:10.5px;font-weight:500;letter-spacing:.3em;color:var(--sub)}
.fv h1{font-weight:400;font-size:22px;line-height:1.8;letter-spacing:.08em;color:var(--ink);margin-top:20px;text-wrap:balance}
.fv .btn{display:inline-block;margin-top:28px;border:1px solid var(--ink);padding:13px 30px;font-size:12.5px;letter-spacing:.2em;color:var(--ink);background:var(--white)}
.fv .btn:hover{background:var(--pale)}
.fv .sc{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);font-family:var(--gothic);font-size:9px;letter-spacing:.3em;color:var(--sub)}
.fv .sc::after{content:"";display:block;width:1px;height:26px;background:var(--ink);margin:6px auto 0;animation:dn 1.8s ease-in-out infinite}
@keyframes dn{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(prefers-reduced-motion:reduce){.fv .sc::after{animation:none}}
@media(min-width:900px){.fv{padding:80px 40px 100px}.fv .mark{width:72px;height:72px;margin-bottom:22px}.fv h1{font-size:34px;margin-top:28px}.fv .btn{font-size:13px;padding:14px 34px}}

/* REAL WEDDINGS: 当日写真＋いただいた言葉（引用カード）の横ロール。FV直下・1本・自動で流れ、スワイプ／ドラッグで送れる */
.realw{padding-top:0}
.roll{overflow-x:auto;overflow-y:hidden;padding:6px 0 14px;cursor:grab;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.roll::-webkit-scrollbar{display:none}
.roll.drag{cursor:grabbing}
.roll .track{display:flex;gap:18px;width:max-content;padding:0 14px}
.pair{flex:none;width:300px;display:grid;grid-template-columns:1fr;gap:8px}
.pair .ph{height:200px;overflow:hidden;background:var(--pale)}
.pair .ph img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.qt{min-height:150px;border:1px solid var(--line);background:var(--white);padding:14px 16px 12px;display:flex;flex-direction:column}
.qt .q{flex:1;font-size:14px;line-height:1.95;letter-spacing:.04em;color:var(--ink);padding-top:4px}
.qt .attr{font-family:var(--gothic);font-size:10px;letter-spacing:.14em;color:var(--sub)}
.qt .src{align-self:flex-start;margin-top:6px;border:0;border-bottom:1px solid var(--sub);border-radius:0;background:none;padding:0;cursor:pointer;font-family:var(--gothic);font-size:10px;letter-spacing:.14em;color:var(--sub)}
.pair .cap{font-family:var(--gothic);font-size:9.5px;letter-spacing:.3em;color:var(--sub);margin-top:2px}
.roll-hint{text-align:center;font-family:var(--gothic);font-size:9.5px;letter-spacing:.3em;color:var(--sub);margin-top:2px}
@media(max-width:640px){.pair{width:250px;gap:6px}.pair .ph{height:170px}.qt{min-height:130px;padding:12px 12px 10px}.qt .q{font-size:12.5px;line-height:1.85}.roll .track{gap:14px;padding:0 12px}}
.realw .copy{text-align:center;padding:40px var(--g) 26px}
.realw .copy b{font-weight:400;font-size:34px;letter-spacing:.04em;color:var(--ink);display:block;line-height:1.2}
.realw .copy span{font-family:var(--gothic);font-size:10.5px;color:var(--sub);letter-spacing:.14em;display:block;margin-top:8px}
@media(min-width:900px){.realw .copy{padding:64px 40px 36px}.realw .copy b{font-size:40px}}
/* 「原文を見る」: LINEのスクリーンショットを元画質のまま（拡大せず、画面に収まる範囲で縮小のみ） */
.lbx{position:fixed;inset:0;background:rgba(22,22,22,.86);display:none;place-items:center;z-index:50;padding:20px;cursor:zoom-out}
.lbx.on{display:grid}
.lbx img{max-width:min(96vw,720px);max-height:88vh;width:auto;height:auto;object-fit:contain;background:#fff}
.lbx p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#ddd;font-family:var(--gothic);font-size:10px;letter-spacing:.3em}

/* 章の区切りの帯（2:1）と、見出し横の小さな写真 */
.pband{aspect-ratio:2/1;overflow:hidden;background:var(--pale)}
.pband img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:900px){.pband{aspect-ratio:auto;height:440px;max-width:1120px;margin:0 auto}}
.h2row{display:grid;grid-template-columns:1fr 124px;gap:18px;align-items:end}
.h2row .edge{aspect-ratio:3/4;overflow:hidden;margin-right:calc(var(--g) * -1)}
.h2row .edge img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:900px){.h2row{grid-template-columns:1fr 220px;gap:48px}.h2row .edge{margin-right:0}}

/* 矢印つき枠線ボタン */
.arw{display:inline-flex;align-items:center;justify-content:center;position:relative;width:196px;height:50px;border:1px solid var(--line);background:var(--white);font-family:var(--mincho);font-size:13px;letter-spacing:.14em;color:var(--ink);margin-top:22px}
.arw::after{content:"";position:absolute;right:-70px;top:50%;width:96px;height:1px;background:var(--ink);transform:translateY(-.5px)}
.arw::before{content:"";position:absolute;right:-70px;top:50%;width:12px;height:1px;background:var(--ink);transform-origin:right center;transform:translateY(-.5px) rotate(-40deg)}
.arw:hover{background:var(--pale)}
.arw.full{width:100%}.arw.full::after,.arw.full::before{display:none}
.arw.dark{background:var(--ink);color:#fff;border-color:var(--ink)}.arw.dark:hover{background:#000}
.btnrow{display:flex;flex-wrap:wrap;gap:12px 90px;align-items:center}

/* 3種のムービー */
.kinds .list{display:grid;gap:26px;margin-top:28px}
.kind{display:block}
.kind .th{aspect-ratio:16/9;overflow:hidden;background:var(--pale);position:relative}
.kind .th img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.kind:hover .th img{transform:scale(1.03)}
.kind .th .play{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;background:rgba(22,22,22,.28)}
.kind .th .play svg{width:16px;height:16px;fill:#fff;margin-left:3px}
.kind h3{margin-top:14px;font-weight:400;font-size:16px;letter-spacing:.08em;color:var(--ink);line-height:1.6}
.kind h3 small{font-family:var(--gothic);display:block;font-size:10px;letter-spacing:.26em;color:var(--sub);margin-bottom:4px}
.kind p{margin-top:6px;font-size:13px;line-height:1.95}
.kind .cnt{margin-top:8px;font-family:var(--gothic);font-size:11px;letter-spacing:.12em;color:var(--sub)}
@media(min-width:900px){.kinds .list{grid-template-columns:repeat(3,1fr);gap:32px}}

/* 料金の要約 */
.plans{display:grid;gap:14px;margin-top:26px}
.pl{border:1px solid var(--line);background:var(--white);padding:24px 20px 22px;display:flex;flex-direction:column}
.pl .nm{font-family:var(--gothic);font-size:11px;letter-spacing:.3em;color:var(--sub)}
.pl .ttl{font-size:16px;letter-spacing:.06em;color:var(--ink);margin-top:6px;line-height:1.6}
.pl .ttl em{font-style:normal;font-family:var(--gothic);font-size:10px;letter-spacing:.2em;color:var(--sub);margin-left:8px;border:1px solid var(--line);padding:1px 6px;vertical-align:middle}
.pl .pr{margin-top:12px;font-size:26px;letter-spacing:.02em;color:var(--ink);line-height:1.2}
.pl .pr small{font-size:12px;color:var(--sub);margin-left:6px}
.pl .ex{font-family:var(--gothic);font-size:11px;color:var(--sub);margin-top:2px}
.pl ul{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:4px;flex:1;align-content:start}
.pl li{font-size:13px;line-height:1.8;padding-left:1em;text-indent:-1em}
.pl li::before{content:"・"}
.pl .for{margin-top:12px;font-family:var(--gothic);font-size:11px;color:var(--sub);line-height:1.7}
@media(min-width:900px){.plans{grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}}
.pricenote{margin-top:16px;display:grid;gap:6px}

/* 前撮り（新） */
.photo{background:var(--pale);margin-top:80px;padding:64px var(--g)}
.photo .grid{display:grid;gap:22px;align-items:center}
.photo .ph{aspect-ratio:4/5;overflow:hidden;background:#fff}
.photo .ph img{width:100%;height:100%;object-fit:cover;display:block}
.photo h2.h2{font-size:22px}
.photo .pills{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.photo .pills span{font-family:var(--gothic);font-size:11px;letter-spacing:.1em;border:1px solid var(--line);background:#fff;padding:5px 10px;color:var(--sub)}
@media(min-width:900px){.photo{margin-top:130px;padding:110px 40px}.photo .grid{grid-template-columns:5fr 6fr;gap:64px}.photo .ph{aspect-ratio:4/3}.photo h2.h2{font-size:26px}}

/* 流れ */
.flow ol{margin-top:28px;border-top:1px solid var(--line)}
.flow li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.flow li b{font-family:var(--gothic);font-weight:400;font-size:11px;letter-spacing:.2em;color:var(--sub);padding-top:4px}
.flow li h3{font-weight:400;font-size:15px;letter-spacing:.06em;color:var(--ink)}
.flow li p{margin-top:4px;font-size:13px;line-height:1.9}
@media(min-width:900px){.flow ol{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:0}.flow li{display:block;padding:22px 0 0;border-top:1px solid var(--ink);border-bottom:0}.flow li b{display:block;padding:0 0 10px}}
.flow ol.nine{grid-template-columns:repeat(3,1fr)}

/* 約束（サポート） */
.merit .list{display:grid;gap:14px;margin-top:28px}
.merit .m{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;padding:22px 0;border-top:1px solid var(--line)}
.merit .m:last-child{border-bottom:1px solid var(--line)}
.merit .m .ic{width:64px;height:64px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center}
.merit .m svg{width:30px;height:30px;stroke:var(--ink);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.merit .m h3{font-weight:400;font-size:16px;letter-spacing:.08em;color:var(--ink);line-height:1.6}
.merit .m p{margin-top:6px;font-size:13px;line-height:1.95}
@media(min-width:900px){.merit .list{grid-template-columns:repeat(4,1fr);gap:28px}.merit .m{grid-template-columns:1fr;border:0!important;padding:0}.merit .m .ic{width:72px;height:72px;margin-bottom:16px}}

/* 声（LINE画像＋当日写真） */
.voice .vs{display:grid;gap:16px;margin-top:28px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.voice .vs{grid-template-columns:repeat(3,1fr);gap:24px}}
.v{border-top:1px solid var(--line);padding-top:14px}
.v .photo{margin:0;padding:0;background:none}
.v figure{overflow:hidden;background:var(--pale)}
.v figure.p{aspect-ratio:4/3}
.v img{width:100%;height:100%;object-fit:cover;display:block}
.v figure.l{margin-top:8px;aspect-ratio:auto}
.v figure.l img{object-fit:contain;height:auto}
.v .who{margin-top:10px;font-family:var(--gothic);font-size:11px;letter-spacing:.12em;color:var(--sub)}

/* FAQ */
.faq .list{margin-top:24px;max-width:760px}
/* 1問ずつ四角い枠で囲む（開いた答えとボタンが、同じ質問のものだと分かるように・2026-09-24 太田さん指示）。開いている間は枠を濃く */
details{border:1px solid var(--line);background:var(--white);padding:0 16px}
details+details{margin-top:10px}
details[open]{border-color:var(--ink)}
summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;position:relative;font-size:14px;line-height:1.8;color:var(--ink)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:2px;top:14px;font-family:var(--gothic);font-size:20px;color:var(--sub);line-height:1}
details[open] summary::after{content:"−"}
.a{padding:0 0 18px;font-size:13.5px;line-height:2}
.a p+p{margin-top:8px}
.a strong{font-weight:600}
/* FAQの答えの中の一覧・料金表・手順（ページ本体の .flow・.plans と衝突しないよう q 付きの名前。2026-09-24） */
.a ul{margin-top:8px;display:grid;gap:6px}
.a ul li{padding-left:1em;text-indent:-1em}
.a ul li::before{content:"・"}
.a ul+p,.a dl+p,.a p+dl,.a p+ul{margin-top:10px}
.a .qcap{font-family:var(--gothic);font-size:11px;letter-spacing:.08em;color:var(--sub)}
.a .qcap+dl{margin-top:6px}
.a .qplans,.a .qspec,.a .qprice,.a .qflow{border-top:1px solid var(--line)}
.a .qplans>div{padding:12px 0;border-bottom:1px solid var(--line)}
.a .qplans dt{font-size:14px;letter-spacing:.06em;color:var(--ink)}
.a .qplans dd{margin-top:2px}
.a .qspec>div{display:grid;grid-template-columns:9em 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.a .qspec dt{font-family:var(--gothic);font-size:12px;letter-spacing:.06em;color:var(--sub);padding-top:3px}
.a .qprice>div{display:grid;grid-template-columns:1fr auto;column-gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.a .qprice dt{font-size:14px;letter-spacing:.04em;color:var(--ink)}
.a .qprice dd.num{font-size:15px;color:var(--ink);text-align:right;white-space:nowrap}
.a .qprice dd.n{grid-column:1/-1;margin-top:2px;font-size:12.5px;line-height:1.9;color:var(--sub)}
.a .tag{display:inline-block;margin-left:8px;padding:0 8px;border:1px solid var(--ink);font-family:var(--gothic);font-size:10px;letter-spacing:.08em;line-height:1.8;vertical-align:2px}
.a .qflow li{display:grid;grid-template-columns:2.2em 1fr;column-gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.a .qflow .n{grid-row:1/3;font-family:var(--en);font-style:italic;font-weight:300;font-size:22px;line-height:1.2;color:var(--ink)}
.a .qflow b{font-weight:400;font-size:14px;color:var(--ink);line-height:1.7}
.a .qflow b+span{grid-column:2;font-size:12.5px;line-height:1.8;color:var(--sub)}
.a a:not(.lgo):not(.qbtn){color:var(--ink);border-bottom:1px solid var(--sub)}
/* 答えの中のリンクは黒地に白文字のボタン（2026-09-24 太田さん指示）。LINEのボタンはサイト全体と揃えて緑のまま */
.a .qbtn{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:0 22px;background:var(--ink);color:#fff;font-size:13.5px;letter-spacing:.08em;line-height:1.4}
.a .qbtn::after{content:"→";font-family:var(--gothic)}
.a .qbtn:hover{background:#000}
.a .qbtn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.a .qgrp{margin-top:16px;font-size:14.5px;letter-spacing:.06em;color:var(--ink)}
.a .qgrp small{display:block;font-family:var(--gothic);font-size:11px;letter-spacing:.06em;color:var(--sub)}
.a .qcap+.qgrp{margin-top:8px}
.a .qgrp+dl{margin-top:8px}
.a .qmore{margin-top:14px}
.a .qline{margin-top:14px}
.a .lgo{height:48px;padding:0 24px 0 20px;font-family:var(--gothic);font-size:14px}

/* TAMAKI */
.tamaki{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0 34px;margin-top:0}
.tamaki p{font-size:14px;line-height:2;max-width:640px}

/* 申込み */
.contact{padding-top:96px}
.contact .ph{width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--pale)}
.contact .ph img{width:100%;height:100%;object-fit:cover}
.contact .card{position:relative;background:var(--white);margin:-56px var(--g) 0;padding:26px 22px 24px;z-index:2}
.contact .card p{margin-top:10px;font-size:14px;line-height:2}
.contact .card .alt{margin-top:14px;font-family:var(--gothic);font-size:11px;color:var(--sub)}
.contact .card .alt a{border-bottom:1px solid var(--sub)}
@media(min-width:900px){.contact{padding:140px 40px 0;display:grid;grid-template-columns:7fr 5fr;align-items:end}.contact .ph{aspect-ratio:16/10}.contact .card{margin:0 0 -40px -80px;padding:40px 40px 36px}}

/* 内ページ共通の見出し */
.page-h{padding:48px var(--g) 0}
.page-h h1{font-weight:400;font-size:24px;letter-spacing:.08em;color:var(--ink);line-height:1.6;text-wrap:balance}
.page-h h1 small{font-family:var(--gothic);display:block;font-size:10px;letter-spacing:.3em;color:var(--sub);margin-bottom:10px}
.page-h p{margin-top:14px;font-size:14px;line-height:2;max-width:560px}
@media(min-width:900px){.page-h{padding:80px 40px 0}.page-h h1{font-size:30px}}
.wip{margin-top:40px;font-family:var(--gothic);font-size:12px;color:var(--sub);border:1px dashed var(--line);padding:16px}

footer{margin-top:120px;padding:40px var(--g) 48px;border-top:1px solid var(--line);font-family:var(--gothic);font-size:11px;letter-spacing:.08em;color:var(--sub)}
footer .cols{display:grid;gap:22px}
footer .fl{color:var(--ink);letter-spacing:.24em;font-size:13px}
footer .fl span{display:block;font-size:9px;letter-spacing:.2em;color:var(--sub);margin-top:4px}
footer .addr{margin-top:10px;line-height:1.9}
footer ul{display:flex;flex-wrap:wrap;gap:8px 20px}
footer ul.legal{margin-top:12px}
footer .sns{display:flex;gap:16px;margin-top:16px}
footer .sns a{display:inline-flex;align-items:center;gap:6px}
footer .sns svg{width:16px;height:16px;fill:var(--sub)}
footer .copy{margin-top:24px;letter-spacing:.16em}
@media(min-width:900px){footer{margin-top:180px;padding:48px 40px 56px}footer .cols{grid-template-columns:1fr auto;align-items:start}}

/* 図解：できること3つ（前撮りLPと同じ） */
.cando{margin-top:72px;padding:64px var(--g) 56px;background:var(--pale)}
.cando .in{max-width:860px;margin:0 auto}
.cando .ttl{font-size:22px;letter-spacing:.08em;color:var(--ink);text-align:center;line-height:1.55;text-wrap:balance}
.cando .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:36px}
.cando .it{text-align:center;display:block}
.cando .ic{width:84px;height:84px;margin:0 auto;border:1px solid var(--ink);border-radius:50%;background:var(--white);display:grid;place-items:center;transition:background .2s}
.cando .it:hover .ic{background:var(--mark)}
.cando svg{width:42px;height:42px;stroke:var(--ink);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.cando .lb{margin-top:14px;font-size:15px;letter-spacing:.06em;line-height:1.6;color:var(--ink);min-height:3.2em;display:flex;justify-content:center;align-items:flex-start}
.cando .ds{margin-top:4px;font-family:var(--gothic);font-size:10.5px;letter-spacing:.06em;line-height:1.7;color:var(--sub)}
.cando .sub{margin-top:30px;text-align:center;font-size:13px;letter-spacing:.1em}
@media(min-width:900px){.cando{margin-top:110px;padding:110px 40px 100px}.cando .ttl{font-size:30px}.cando .row{gap:40px;margin-top:52px}.cando .ic{width:128px;height:128px}.cando svg{width:60px;height:60px}.cando .lb{margin-top:22px;font-size:18px}.cando .ds{font-size:12px}.cando .sub{font-size:14px;margin-top:44px}}

/* プラン一覧（2系統） */
.planline{margin-top:28px}
.planline+.planline{margin-top:36px}
.planline .lh{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--ink);padding-bottom:10px}
.planline .lh b{font-weight:400;font-size:16px;letter-spacing:.08em;color:var(--ink)}
.planline .lh small{font-family:var(--gothic);font-size:10.5px;letter-spacing:.16em;color:var(--sub)}
.planline .cards{display:grid;gap:10px;margin-top:14px}
.pc{border:1px solid var(--line);padding:16px 16px 14px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"top top" "nm pr" "ttl pr" "ul ul";gap:6px 14px;align-items:baseline}
.pc .thumb,.pc .icn{grid-area:top}
.pc .nm{grid-area:nm}.pc .ttl{grid-area:ttl}.pc ul{grid-area:ul}
.pc .nm{font-family:var(--gothic);font-size:10px;letter-spacing:.26em;color:var(--sub)}
.pc .ttl{font-size:15px;letter-spacing:.06em;color:var(--ink);line-height:1.5}
.pc .ttl em{font-style:normal;font-family:var(--gothic);font-size:10px;letter-spacing:.2em;color:var(--sub);margin-left:8px;border:1px solid var(--line);padding:1px 6px;vertical-align:middle}
.pc .pr{grid-area:pr;font-size:22px;letter-spacing:.02em;color:var(--ink);text-align:right;line-height:1.2;align-self:center}
.pc .pr small{font-size:11px;color:var(--sub);margin-left:4px}
.pc ul{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:2px 14px}
.pc li{font-family:var(--gothic);font-size:11px;color:var(--sub);line-height:1.8}
.pc li::before{content:"・"}
@media(min-width:900px){.planline .cards{grid-template-columns:repeat(3,1fr);gap:16px}.pc{display:block;padding:20px 20px 18px}.pc .pr{text-align:left;margin-top:8px;font-size:24px}.pc .ttl{margin-top:4px}.pc ul{display:grid;gap:2px;margin-top:12px}}

/* 選ぶ（料金ページと同じ部品） */
.pick{margin-top:40px}
.pick .lbl{font-family:var(--gothic);font-size:11px;letter-spacing:.24em;color:var(--sub)}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.tg button{border:1px solid var(--line);background:var(--white);padding:18px 6px 16px;text-align:center;transition:border-color .2s,background .2s;position:relative;cursor:pointer;font:inherit;color:inherit}
.tg button svg{width:34px;height:34px;display:block;margin:0 auto;stroke:var(--ink);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.tg button .t{display:block;margin-top:10px;font-size:13px;letter-spacing:.06em;color:var(--ink);line-height:1.5}
.tg button .s{display:block;font-family:var(--gothic);font-size:10px;letter-spacing:.06em;color:var(--sub);margin-top:4px}
.tg button .chk{position:absolute;top:8px;right:8px;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--gothic);font-size:11px;color:transparent}
.tg button[aria-pressed="true"]{border-color:var(--ink);background:var(--pale)}
.tg button[aria-pressed="true"] .chk{background:var(--ink);border-color:var(--ink);color:#fff}
@media(min-width:900px){.tg{gap:16px}.tg button{padding:26px 10px 22px}.tg button svg{width:44px;height:44px}.tg button .t{font-size:15px}}
.subsel{margin-top:14px;display:none}
.subsel.on{display:block}
.subsel .lbl{margin-bottom:8px}
.subsel .ops{display:grid;grid-template-columns:1fr;gap:8px}
.subsel .ops button{border:1px solid var(--line);background:var(--white);padding:12px 14px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;font:inherit;color:inherit}
.subsel .ops button .n{font-size:13px;letter-spacing:.04em;color:var(--ink)}
.subsel .ops button .n small{display:block;font-family:var(--gothic);font-size:10px;color:var(--sub);letter-spacing:.06em;margin-top:2px}
.subsel .ops button .p{font-size:14px;color:var(--ink);white-space:nowrap}
.subsel .ops button[aria-pressed="true"]{border-color:var(--ink);background:var(--pale)}
@media(min-width:900px){.subsel .ops{grid-template-columns:repeat(2,1fr);gap:12px}}
.res{margin-top:22px;border:1px solid var(--ink);background:var(--white);padding:22px 20px 24px}
.res .lbl{font-family:var(--gothic);font-size:10px;letter-spacing:.3em;color:var(--sub)}
.res .nm{font-size:18px;letter-spacing:.06em;color:var(--ink);margin-top:6px;line-height:1.6}
.res .tot{margin-top:14px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.res .tot .v{font-size:34px;letter-spacing:.02em;color:var(--ink);line-height:1.1}
.res .tot .u{font-size:12px;color:var(--sub);letter-spacing:.1em}
.res .brk{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:6px}
.res .brk li{display:flex;justify-content:space-between;gap:12px;font-size:13px}
.res .brk li span:last-child{white-space:nowrap}
.res .inc{margin-top:14px;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:4px}
.res .inc li{font-size:13px;line-height:1.8;padding-left:1em;text-indent:-1em}
.res .inc li::before{content:"・"}
.res .empty{font-size:14px;line-height:2;color:var(--sub)}
.res .arw{margin-top:18px}
@media(min-width:900px){.res{padding:32px 36px 34px}.res .tot .v{font-size:40px}}
/* 金額のすぐ下に「LINE登録で割引クーポンをGET」＋LINEボタン（2026-09-24 太田さん指示）。ボタンは追従ボタンと同じ緑の立体 */
.res .rcta{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.res .rcta .rc{font-size:16px;letter-spacing:.06em;color:var(--ink);line-height:1.6}
.res .lgo{display:flex;justify-content:center;width:100%;max-width:360px;height:54px;margin-top:14px;font-family:var(--gothic);font-size:15px}
@media(min-width:900px){.res .rcta .rc{font-size:18px}.res .lgo{display:inline-flex;width:auto;min-width:300px;height:56px;padding:0 34px 0 30px}}

/* プラン区分: 撮影なし＝白地＋線画アイコン／撮影込み＝淡いベージュの帯に写真つきカード */
.band-shoot{background:var(--pale);padding:28px var(--g) 30px;margin:36px calc(var(--g) * -1) 0}
.band-shoot .planline{margin-top:0}
.band-shoot .pc{background:var(--white)}
.pc .icn{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;margin-bottom:12px}
.pc .icn svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.pc .thumb{aspect-ratio:3/2;overflow:hidden;margin:-16px -16px 12px;background:var(--pale)}
.pc .thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:900px){.band-shoot{padding:36px 40px 40px;margin:44px -40px 0}.pc .thumb{margin:-20px -20px 14px}}

/* プランの地図: 大枠3つ（編集のみ／写真撮影／動画撮影）→ その中のプラン（木構造）。トップの「できること3つ」と「プラン一覧」を1つに */
.pmap{margin-top:72px;padding:64px var(--g) 52px;background:var(--pale)}
.h2.c{text-align:center}
.pmap .in{max-width:1040px}
.pmap .tree.two{max-width:900px;margin-left:auto;margin-right:auto}
.big .more{display:inline-block;margin-top:14px;font-family:var(--mincho);font-size:12.5px;letter-spacing:.08em;color:var(--ink);border-bottom:1px solid var(--ink)}
.pmap .ttl{font-weight:400;font-size:22px;letter-spacing:.08em;color:var(--ink);text-align:center;line-height:1.55;text-wrap:balance}
.pmap .sub{margin-top:12px;text-align:center;font-size:13px;letter-spacing:.06em;color:var(--sub)}
.pmap .tree{display:grid;gap:14px;margin-top:32px}
.big{background:var(--white);border:1px solid var(--line);padding:20px 18px 18px}
.big .bh{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center}
.big .ic{width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:var(--white)}
.big .ic svg{width:26px;height:26px;stroke:var(--ink);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.big .nm{font-size:17px;letter-spacing:.06em;color:var(--ink);line-height:1.4}
.big .nm small{display:block;font-family:var(--gothic);font-size:10.5px;letter-spacing:.04em;color:var(--sub);margin-top:4px;line-height:1.6}
.big .from{font-size:16px;letter-spacing:.02em;color:var(--ink);white-space:nowrap;text-align:right;line-height:1.2}
.big .from small{font-family:var(--gothic);font-size:9.5px;letter-spacing:.14em;color:var(--sub);display:block;margin-top:2px}
.big ul{margin:16px 0 0 25px;padding-left:18px;border-left:1px solid var(--line)}
.big li{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:9px 0}
.pmap .tree.two .big li{grid-template-columns:1fr}
.big li::before{content:"";position:absolute;left:-18px;top:50%;width:12px;height:1px;background:var(--line)}
.big li b{font-weight:400;font-size:14px;letter-spacing:.04em;color:var(--ink);line-height:1.5}
.big li b em{font-style:normal;font-family:var(--gothic);font-size:9.5px;letter-spacing:.16em;color:var(--sub);margin-left:6px;border:1px solid var(--line);padding:1px 5px;vertical-align:middle;background:var(--white);white-space:nowrap;display:inline-block}
.big li b small{display:block;font-family:var(--gothic);font-size:10.5px;letter-spacing:.02em;color:var(--sub);margin-top:2px;line-height:1.6}
.big li .p{font-size:14px;color:var(--ink);white-space:nowrap}
.big .fn{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--gothic);font-size:10.5px;letter-spacing:.02em;color:var(--sub);line-height:1.7}
.pmap .set{position:relative;margin-top:2px;padding:16px 18px 14px;border:1px solid var(--ink);background:var(--white);display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline}
.pmap .set .lbl{font-family:var(--gothic);font-size:10.5px;letter-spacing:.14em;color:var(--sub)}
.pmap .set b{font-weight:400;font-size:17px;letter-spacing:.02em;color:var(--ink);grid-row:span 2;align-self:center}
.pmap .set small{font-family:var(--gothic);font-size:10.5px;color:var(--sub)}
.pmap .pnote{margin-top:24px;text-align:center;font-size:13px;line-height:2;letter-spacing:.04em;color:var(--text)}
.pmap .btnrow .arw{margin-top:18px}
@media(min-width:900px){.pmap{margin-top:110px;padding:100px 40px 96px}.pmap .ttl{font-size:30px}.pmap .sub{font-size:14px;margin-top:16px}.pmap .tree{grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;margin-top:40px}.pmap .tree.two{grid-template-columns:repeat(2,1fr);gap:24px}.pmap .set{grid-column:2/4;margin-top:0}.big{padding:24px 22px 20px}.big .nm{font-size:18px}.pmap .pnote{margin-top:32px;font-size:14px}}

/* 金額セクション（プラン一覧の直下・大枠2つを鏡写しにした選択）＋LINE */
.pricesec{padding-top:44px}
.pick .grp{margin-top:16px;font-size:14px;letter-spacing:.08em;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:6px}
.pick .grp+.tg{margin-top:10px}
.cta-line{margin-top:36px;text-align:center}
.cta-line p{font-size:14px;letter-spacing:.06em;line-height:2}
.cta-line .cpn{font-size:19px;letter-spacing:.08em;color:var(--ink);line-height:1.6}
.cta-line .cpn+p{font-size:13px;color:var(--sub);margin-top:4px}
@media(min-width:900px){.cta-line .cpn{font-size:22px}}
.cta-line .arw{margin-top:14px}
.cta-line .arw::before,.cta-line .arw::after{display:none}
.cta-line .note{margin-top:16px}
.cta-line .note a{border-bottom:1px solid var(--sub)}
@media(min-width:900px){.pricesec{padding-top:64px}.pick .grp{margin-top:24px;font-size:15px}.cta-line{margin-top:48px}}

/* 料金セクションの見出しを目立たせる＋種類→プランの2段階 */
.h2.c.big{font-size:26px}
.h2.c.big small{font-size:11px}
.pricesec .plead{margin-top:14px;text-align:center;font-size:15px;letter-spacing:.08em;line-height:1.9;color:var(--ink)}
.pricesec .pick{margin-top:30px}
.pick .step{margin-top:14px;font-family:var(--gothic);font-size:11px;letter-spacing:.2em;color:var(--sub);display:flex;align-items:center;gap:8px}
.pick .step b{font-weight:400;width:20px;height:20px;border:1px solid var(--ink);border-radius:50%;display:inline-grid;place-items:center;font-size:10px;color:var(--ink);letter-spacing:0}
.pick .step+.tg{margin-top:8px}
.tg.four{grid-template-columns:repeat(2,1fr)}
.tg.four button{padding:14px 6px 12px}
.pick .subsel{margin-top:0}
@media(min-width:900px){.h2.c.big{font-size:32px}.pricesec .plead{font-size:16px;margin-top:18px}.pricesec .pick{margin-top:40px}.tg.four{grid-template-columns:repeat(4,1fr)}.tg.four button{padding:20px 10px 18px}}

/* 料金: 複数のムービー × それぞれのプラン */
.pick .step .hint{margin-left:auto;font-size:10px;letter-spacing:.1em;color:var(--sub)}
.pick .plans{display:none;margin-top:4px}
.pick .plans.on{display:block}
.pick .prow{display:none;margin-top:12px;border:1px solid var(--line);padding:12px 12px 12px}
.pick .prow.on{display:block}
.pick .prow .pk{font-size:14px;letter-spacing:.06em;color:var(--ink);margin-bottom:8px}
.pick .prow .tg{margin-top:0;gap:6px}
.pick .prow .tg button{padding:20px 4px 10px}
.pick .prow .tg button .chk{top:5px;right:5px;width:14px;height:14px;font-size:9px}
.pick .prow .tg button .t{font-size:12px;margin-top:0}
.pick .prow .tg button .s{font-size:10px}
@media(min-width:900px){.pick .prow{display:none;grid-template-columns:200px 1fr;gap:16px;align-items:center;padding:14px 16px}.pick .prow.on{display:grid}.pick .prow .pk{margin-bottom:0;font-size:15px}.pick .prow .tg{gap:10px}.pick .prow .tg button{padding:22px 8px 12px}.pick .prow .tg button .t{font-size:13px}}

/* 作例（トップ）: ムービー制作／前撮り撮影の2ブロック。文字の列＋余白のある写真の組み
   見出しは「大きな英字を薄く敷く＋章番号」（2026-09-24 太田さん決定）。英字はブロック上端に敷き、章番号・見出しを少し重ねる
   透かしの英字は崩しのない明朝体（同日 太田さん指示）。幅の広い Noto Serif JP でも画面からはみ出さない大きさにしている
   透かしは大きく、章番号と見出しが少し重なる（同日 太田さん指示）。--wf＝透かしの文字の大きさ。スマホは Pre-wedding を2行に折る */
.works{overflow:hidden}
.works .wblk{position:relative;display:grid;gap:22px;margin-top:0;align-items:center;--wf:min(80px,20.5vw)}
.works .wblk+.wblk{margin-top:96px}
.works .wbg{position:relative;left:-4px;z-index:0;display:block;font-family:var(--mincho);font-weight:400;font-size:var(--wf);line-height:.92;letter-spacing:.02em;color:#ECEAE4;margin-bottom:calc(-.66em - 22px);pointer-events:none;user-select:none}
.works .wtx,.works .wimg{position:relative;z-index:1}
.works .wk{display:flex;align-items:center;gap:12px;font-family:var(--gothic);font-size:10.5px;letter-spacing:.34em;color:var(--sub)}
.works .wk::before{content:"";width:28px;height:1px;background:var(--ink)}
.works .wk .wno{order:-1;font-family:var(--en);font-style:italic;font-weight:300;font-size:30px;line-height:1;letter-spacing:.02em;color:var(--ink)}
.works h3{font-weight:400;font-size:28px;letter-spacing:.14em;color:var(--ink);margin-top:8px;line-height:1.4}
.works .wtx .d{margin-top:10px;font-size:13.5px;line-height:2;max-width:420px}
.works .wtx .d .wph{display:inline-block}  /* 折り返しは文節の切れ目だけ（「完成しま／す。」のような泣き別れを防ぐ） */
.works .wtx .more{display:inline-block;margin-top:14px;font-family:var(--mincho);font-size:13px;letter-spacing:.08em;color:var(--ink);border-bottom:1px solid var(--ink)}
.wimg.movie{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px}
.wimg.movie .mv{display:block}
.wimg.movie .mv.first{grid-column:1/3}
.wimg.movie .th{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--pale)}
.wimg.movie .th img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.wimg.movie .mv:hover .th img{transform:scale(1.03)}
.wimg.movie .play{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;background:rgba(22,22,22,.28)}
.wimg.movie .mv.first .play{width:56px;height:56px;margin:-28px 0 0 -28px}
.wimg.movie .play svg{width:14px;height:14px;fill:#fff;margin-left:2px}
.wimg.movie .cap{display:block;margin-top:6px;font-family:var(--gothic);font-size:9.5px;letter-spacing:.2em;color:var(--sub)}
/* 前撮りの写真: 2列×2枚。左の列に太田さん指定の2枚（横浜・神社／3:2を切らずに）、右の列は少し下げて段差をつける（2026-09-24） */
.wimg.pw{display:grid;grid-template-columns:5fr 4fr;gap:12px;align-items:start}
.wimg.pw .pcol{display:grid;gap:12px}
.wimg.pw .pcol.off{margin-top:28px}
.wimg.pw .pp{display:block;overflow:hidden;background:var(--pale)}
.wimg.pw .pp img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.wimg.pw .pp:hover img{transform:scale(1.03)}
.wimg.pw .w32{aspect-ratio:3/2}
.wimg.pw .w43{aspect-ratio:4/3}
.wimg.pw .sq{aspect-ratio:1/1;margin-right:18px}
@media(min-width:900px){.works .wblk{grid-template-columns:4fr 7fr;gap:56px;margin-top:0;align-items:start;--wf:min(160px,12.5vw)}.works .wblk+.wblk{margin-top:130px}.works .wblk.rev{grid-template-columns:7fr 4fr}.works .wblk.rev .wtx{order:2}
  .works .wbg{position:absolute;top:0;left:-8px;margin:0;line-height:1;white-space:nowrap}.works .wblk.rev .wbg{left:auto;right:-8px}
  .works .wtx{margin-top:calc(var(--wf)*.38)}.works .wimg{margin-top:calc(var(--wf)*.95)}
  .works h3{font-size:34px;margin-top:12px}.works .wk{font-size:11.5px}.works .wk::before{width:40px}.works .wk .wno{font-size:40px}
  .wimg.movie{grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:12px}.wimg.movie .mv.first{grid-column:1;grid-row:1/3}.wimg.movie .mv.first .th{height:100%;aspect-ratio:auto}
  .wimg.pw{gap:18px}.wimg.pw .pcol{gap:18px}.wimg.pw .pcol.off{margin-top:44px}.wimg.pw .sq{margin-right:36px}}

/* ===== 内ページ ===== */
.h3{font-weight:400;font-size:16px;letter-spacing:.06em;color:var(--ink);margin-top:36px;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.doc p{font-size:14px;line-height:2.1;margin-top:14px;max-width:720px}
.doc h2.h3{margin-top:40px}
.doc ol.num{list-style:decimal;padding-left:1.6em;margin-top:12px;max-width:720px}
.doc ol.num li{font-size:14px;line-height:2;padding-left:.2em}
.doc .note{margin-top:14px}
.guide-cards{display:grid;gap:12px;margin-top:26px}
.guide-card{display:block;border:1px solid var(--line);padding:22px 20px;background:var(--white)}
.guide-card:hover{background:var(--pale)}
.guide-card:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.guide-card small{font-family:var(--gothic);font-size:10px;letter-spacing:.25em;color:var(--sub)}
.guide-card h3{font-weight:400;font-size:16px;line-height:1.7;letter-spacing:.05em;color:var(--ink);margin-top:8px}
.guide-card p{font-size:13px;line-height:1.9;margin-top:8px}
.guide-card span{display:inline-block;font-family:var(--gothic);font-size:11px;letter-spacing:.08em;border-bottom:1px solid var(--ink);margin-top:16px}
@media(min-width:900px){.guide-cards{grid-template-columns:repeat(3,1fr);gap:20px}.guide-card{padding:28px 24px}}
.guide-doc{max-width:800px}
.guide-doc>.h2:not(:first-child){margin-top:72px}
.guide-doc a:not(.arw){border-bottom:1px solid var(--sub)}
.guide-checklist{margin-top:22px;border-top:1px solid var(--line)}
.guide-checklist li{position:relative;padding:14px 10px 14px 36px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}
.guide-checklist li::before{content:"";position:absolute;left:4px;top:20px;width:15px;height:15px;border:1px solid var(--ink);background:var(--white)}
.guide-alert{margin-top:24px;padding:18px 20px;border-left:2px solid var(--ink);background:var(--pale);font-size:13px;line-height:2}
.guide-process{margin-top:28px;padding:22px 18px;border:1px solid var(--line);background:var(--white)}
.guide-process ol{display:grid;gap:0;counter-reset:guide-flow}
.guide-process li{counter-increment:guide-flow;position:relative;display:grid;grid-template-columns:50px 1fr;gap:2px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
.guide-process li:first-child{padding-top:0}.guide-process li:last-child{padding-bottom:0;border-bottom:0}
.guide-process-icon{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);background:var(--pale)}
.guide-process-icon svg{width:31px;height:31px;fill:none;stroke:var(--ink);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.guide-process b{font-weight:400;font-size:14px;line-height:1.7;letter-spacing:.03em;color:var(--ink)}
.guide-process li>span:last-child{font-size:12px;line-height:1.75;color:var(--sub)}
.guide-photo-story{display:grid;gap:12px;margin-top:24px}
.guide-photo-story article{position:relative;padding:18px;border:1px solid var(--line);background:var(--white)}
.guide-photo-frame{display:block;width:100%;max-width:148px;margin:0 auto 14px;color:var(--sub)}
.guide-photo-frame svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.guide-photo-story small,.guide-timing small{display:block;font-family:var(--gothic);font-size:9.5px;line-height:1.5;letter-spacing:.18em;color:var(--sub)}
.guide-photo-story h3{margin-top:5px;font-weight:400;font-size:16px;letter-spacing:.05em;color:var(--ink)}
.guide-photo-story p{margin-top:3px;font-size:12px;line-height:1.7;color:var(--sub)}
.guide-timing{display:grid;gap:10px;margin-top:24px;padding:18px;border:1px solid var(--line);background:var(--white)}
.guide-timing>div{display:grid;grid-template-columns:48px 1fr;gap:2px 14px;align-items:start;padding:10px 0}
.guide-timing-mark{grid-row:1/4;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--pale)}
.guide-timing-mark svg{width:29px;height:29px;fill:none;stroke:var(--ink);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.guide-timing b{font-weight:400;font-size:14px;line-height:1.65;letter-spacing:.02em;color:var(--ink)}
.guide-timing div>span:last-child{font-size:12px;line-height:1.7;color:var(--sub)}
.guide-timing-flow{text-align:center;font-family:var(--gothic);font-size:16px;line-height:1;color:var(--sub)}
.guide-steps{margin-top:22px;border-top:1px solid var(--line);counter-reset:guide-step}
.guide-steps li{counter-increment:guide-step;display:grid;grid-template-columns:36px 1fr;gap:4px 12px;padding:18px 0;border-bottom:1px solid var(--line)}
.guide-steps li::before{content:counter(guide-step,decimal-leading-zero);grid-row:1/3;font-family:var(--gothic);font-size:11px;letter-spacing:.12em;color:var(--sub);padding-top:3px}
.guide-steps b{font-weight:400;font-size:15px;letter-spacing:.04em;color:var(--ink)}
.guide-steps span{font-size:13.5px;line-height:1.95}
.guide-compare{margin-top:24px;border:1px solid var(--line);padding:20px;background:var(--white)}
.guide-compare h3{font-weight:400;font-size:15px;letter-spacing:.05em;color:var(--ink)}
.guide-compare dl{margin-top:14px;border-top:1px solid var(--line)}
.guide-compare dl div{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}
.guide-compare dt{font-family:var(--gothic);font-size:11px;line-height:1.7;letter-spacing:.05em;color:var(--sub)}
.guide-compare dd{font-size:13px;line-height:1.8;color:var(--ink)}
.guide-choices{display:grid;gap:14px;margin-top:24px}
.guide-choices article{border:1px solid var(--line);padding:20px}
.guide-sample-thumb{display:block!important;margin:0 0 17px!important;border:0!important;overflow:hidden;background:var(--pale)}
.guide-sample-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .45s}
.guide-sample-thumb:hover img{transform:scale(1.025)}
.guide-choices h3{font-weight:400;font-size:15px;letter-spacing:.04em;color:var(--ink)}
.guide-choices p{font-size:13.5px;line-height:1.95;margin-top:8px}
.guide-choices a{display:inline-block;font-family:var(--gothic);font-size:11px;letter-spacing:.08em;margin-top:14px}
.guide-related{margin-top:78px;padding-top:32px;border-top:1px solid var(--ink)}
.guide-related .btnrow{margin-top:4px}
@media(min-width:900px){.guide-doc>.h2:not(:first-child){margin-top:96px}.guide-process{padding:26px 22px}.guide-process ol{grid-template-columns:repeat(5,1fr)}.guide-process li{display:flex;flex-direction:column;gap:5px;padding:0 14px;border-bottom:0;border-right:1px solid var(--line)}.guide-process li:first-child{padding:0 14px 0 0}.guide-process li:last-child{padding:0 0 0 14px;border-right:0}.guide-process-icon{margin-bottom:7px}.guide-photo-story{grid-template-columns:repeat(3,1fr);gap:16px}.guide-photo-story article{padding:22px}.guide-timing{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;padding:24px 20px;gap:12px}.guide-timing>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0;gap:4px}.guide-timing-mark{margin-bottom:6px}.guide-timing-flow{padding-bottom:12px;font-size:0}.guide-timing-flow::before{content:"→";font-size:16px}.guide-choices{grid-template-columns:repeat(3,1fr);gap:18px}.guide-steps li{grid-template-columns:48px 180px 1fr;align-items:start}.guide-steps li::before{grid-row:auto}.guide-compare dl div{grid-template-columns:280px 1fr;align-items:center;gap:20px}}
@media(max-width:359px){.guide-process{padding:18px 14px}.guide-process li{grid-template-columns:44px 1fr;gap:2px 11px}.guide-process-icon{width:42px;height:42px}.guide-process-icon svg{width:27px;height:27px}.guide-timing{padding:14px}.guide-timing>div{grid-template-columns:42px 1fr;gap:2px 11px}.guide-timing-mark{width:40px;height:40px}.guide-timing-mark svg{width:25px;height:25px}}
.tbl{width:100%;border-collapse:collapse;margin-top:28px;font-size:14px;line-height:1.9}
.tbl th,.tbl td{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 8px;vertical-align:top;text-align:left}
.tbl th{font-weight:400;font-family:var(--gothic);font-size:12px;letter-spacing:.1em;color:var(--sub);width:34%}
@media(min-width:900px){.tbl{margin-top:40px}.tbl th{width:26%}.tbl th,.tbl td{padding:16px 12px}}
.plist{margin-top:16px;border-top:1px solid var(--line)}
.plist li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.8}
.plist li span:last-child{white-space:nowrap;text-align:right;color:var(--ink)}
@media(max-width:640px){.plist li span:last-child{white-space:normal}}
.chips{display:inline-flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;font-family:var(--gothic);font-size:11.5px;letter-spacing:.08em;border:1px solid var(--line);padding:6px 12px;color:var(--ink);background:var(--white)}
.chip:hover{background:var(--pale)}
.cnt2{font-family:var(--gothic);font-size:11px;letter-spacing:.14em;color:var(--sub);margin-left:12px}
.btnrow .arw+.arw{margin-left:0}

/* サンプルムービー（種類別・一覧） */
.sample-jump{padding-top:34px}
.sample-jump .in{display:grid;grid-template-columns:1fr;gap:10px}
.sample-jump a{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:12px 18px;border:1px solid var(--ink);background:var(--white);font-size:13px;letter-spacing:.08em;color:var(--ink)}
.sample-jump a::after{content:"↓";font-family:var(--gothic);font-size:14px}
.sample-jump a:hover{background:var(--pale)}
.sample-jump a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sample-jump+section[id],.sample-jump~section[id]{scroll-margin-top:calc(var(--hh) + 20px)}
@media(min-width:900px){.sample-jump{padding-top:48px}.sample-jump .in{grid-template-columns:repeat(3,1fr);gap:14px}.sample-jump a{min-height:60px;padding:14px 20px;font-size:14px}}
.smps{display:grid;gap:36px;margin-top:24px}
.smp h3{margin-top:12px;font-weight:400;font-size:17px;letter-spacing:.08em;color:var(--ink);line-height:1.5}
.smp h3 small{font-family:var(--gothic);display:block;font-size:10px;letter-spacing:.26em;color:var(--sub);margin-bottom:3px}
.smp p{margin-top:6px;font-size:13.5px;line-height:1.95}
.smp .arw{margin-top:14px}
.arw.small{width:220px;height:46px;font-size:12.5px}
.yt{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--pale);cursor:pointer}
.yt img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.yt:hover img{transform:scale(1.03)}
.yt .play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;background:rgba(22,22,22,.28)}
.yt .play svg{width:18px;height:18px;fill:#fff;margin-left:3px}
.yt.on{background:#000}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(min-width:900px){.smps{grid-template-columns:repeat(2,1fr);gap:48px 40px;margin-top:36px}.smps.three{grid-template-columns:repeat(3,1fr);gap:36px 28px}.smps.three .smp h3{font-size:15px}}
/* サンプル一覧: 横並び（左に動画・右に名前と説明）。1本ずつ線で区切り、名前がどの動画のものか迷わないようにする。
   サムネイルを押すと、その1本だけ動画が全幅に広がって再生される（2026-09-26 太田さん決定） */
.smps.slist{gap:0;border-top:1px solid var(--line)}
.smps.slist .smp{display:grid;grid-template-columns:44% 1fr;column-gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.smps.slist .yt{grid-row:1/3}
.smps.slist .yt .play{width:36px;height:36px;margin:-18px 0 0 -18px}
.smps.slist .yt .play svg{width:12px;height:12px;margin-left:2px}
.smps.slist .smp h3{margin-top:0;font-size:15px}
.smps.slist .smp p{margin-top:4px;font-size:12.5px;line-height:1.8}
.smps.slist .smp:has(.yt.on){grid-template-columns:1fr}
.smps.slist .smp:has(.yt.on) .yt{grid-row:auto}
.smps.slist .smp:has(.yt.on) h3{margin-top:10px}
@media(min-width:900px){.smps.slist{grid-template-columns:repeat(2,1fr);gap:0 40px;border-top:0}
  .smps.slist .smp{grid-template-columns:48% 1fr;column-gap:20px;padding:20px 0}
  .smps.slist .smp:nth-child(-n+2){border-top:1px solid var(--line)}
  .smps.slist .yt .play{width:44px;height:44px;margin:-22px 0 0 -22px}}

/* 料金の要約（プラン） */
.pl .pr small{font-family:var(--gothic);font-size:10px;letter-spacing:.14em;color:var(--sub);margin-left:8px}
.pl .thumb{aspect-ratio:3/2;overflow:hidden;margin:-24px -20px 16px;background:var(--pale)}
.pl .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pl .icn{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;margin-bottom:12px}

/* 流れ・メリット（3列） */
.flow ol.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:899px){.flow ol.three{display:block}}
.merit .list.two{grid-template-columns:1fr}
@media(min-width:900px){.merit .list.two{grid-template-columns:repeat(2,1fr);gap:40px 48px}.merit .list.two .m{grid-template-columns:72px 1fr;gap:20px;padding:0}}

/* 連絡先 */
.ways{display:grid;gap:16px;margin-top:24px}
.way{border:1px solid var(--line);padding:22px 20px}
.way .lb{font-family:var(--gothic);font-size:11px;letter-spacing:.24em;color:var(--sub);margin-bottom:8px}
.way p{font-size:14px;line-height:2}
.way p a{border-bottom:1px solid var(--sub)}
.way.main{border-color:var(--ink)}
.way.main .arw{margin-top:16px}
.way .note{display:block;margin-top:4px}
@media(min-width:900px){.ways{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.way.main{grid-column:1/-1}}

/* お客様の声（23組） */
.vlist{display:grid;gap:40px;margin-top:28px}
.vc{border-top:1px solid var(--line);padding-top:20px}
.vc .ph{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}
.vc .ph.n1{grid-template-columns:1fr}
.vc .ph.n3{grid-template-columns:repeat(3,1fr)}
.vc .ph figure{aspect-ratio:4/5;overflow:hidden;background:var(--pale)}
.vc .ph.n1 figure{aspect-ratio:3/2}
.vc .ph.n1.tall figure{aspect-ratio:4/5;max-width:440px}
.vc .ph img{width:100%;height:100%;object-fit:cover;display:block}
.vc .tx{margin-top:14px}
.vc .who{font-family:var(--gothic);font-size:11px;letter-spacing:.14em;color:var(--sub)}
.vc .q{margin-top:8px;font-size:15px;line-height:1.9;letter-spacing:.04em;color:var(--ink)}
.vc figure.l{margin-top:12px;max-width:420px;border:1px solid var(--line);background:var(--pale)}
.vc figure.l img{width:100%;height:auto;display:block}
.vc .src{margin-top:8px;border:0;border-bottom:1px solid var(--sub);border-radius:0;background:none;padding:0;cursor:pointer;font-family:var(--gothic);font-size:11px;letter-spacing:.14em;color:var(--sub)}
@media(min-width:900px){.vlist{gap:56px;margin-top:40px}.vc{display:grid;grid-template-columns:7fr 5fr;gap:36px;padding-top:28px}.vc .tx{margin-top:0}}

/* 前撮り撮影（/photo/） */
.phero{position:relative;background:var(--pale);overflow:hidden}
.phero video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;max-height:78vh}
.phero .tx{padding:36px var(--g) 0;text-align:center}
.phero .by{font-family:var(--gothic);font-size:10px;letter-spacing:.3em;color:var(--sub)}
.phero h1{font-weight:400;font-size:24px;letter-spacing:.08em;color:var(--ink);line-height:1.6;margin-top:10px}
.phero h1 small{display:block;font-size:13.5px;letter-spacing:.08em;line-height:2;margin-top:10px;color:var(--text)}
@media(min-width:900px){.phero .tx{padding:56px 40px 0}.phero h1{font-size:32px}.phero h1 small{font-size:15px;margin-top:14px}}
.chain{display:grid;gap:10px;margin-top:24px}
.chain li{border:1px solid var(--line);padding:16px 18px;position:relative}
.chain li b{font-weight:400;font-size:16px;letter-spacing:.06em;color:var(--ink);display:block}
.chain li span{font-family:var(--gothic);font-size:11px;letter-spacing:.12em;color:var(--sub)}
@media(min-width:900px){.chain{grid-template-columns:repeat(3,1fr);gap:40px}.chain li+li::before{content:"";position:absolute;left:-40px;top:50%;width:40px;height:1px;background:var(--ink)}}
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}
.areas li{border:1px solid var(--line);padding:14px 14px 12px}
.areas li b{font-weight:400;font-size:15px;letter-spacing:.06em;color:var(--ink);display:block}
.areas li small{font-family:var(--gothic);font-size:9.5px;letter-spacing:.3em;color:var(--sub)}
@media(min-width:900px){.areas{grid-template-columns:repeat(5,1fr);gap:16px}}

/* 作例（前撮りLPの並びをそのまま）: スマホ 縦=2列4:5・横=1列3:2・帯=2:1／PC 4列・横は2列ぶち抜き */
.blk{padding-top:24px}
.gr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.gr figure{position:relative;overflow:hidden;background:var(--pale)}
.gr .p{aspect-ratio:4/5}
.gr .l{grid-column:1/-1;aspect-ratio:3/2}
.gr img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);display:block}
.bd{margin-top:10px;aspect-ratio:2/1;overflow:hidden;background:var(--pale)}
.bd img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);display:block}
@media(min-width:900px){.blk{padding-top:40px}.gr{grid-template-columns:repeat(4,1fr);gap:24px}.gr .l{grid-column:span 2;aspect-ratio:auto}.gr .l img{position:absolute;inset:0}.gr:not(:has(.p)) .l{aspect-ratio:3/2}.gr:not(:has(.p)) .l img{position:static}.bd{margin-top:24px}}


/* ===== 第一画面の現れ方（一筆と光・2026-09-22 太田さん採用） ===== */
.fv{position:relative;isolation:isolate}
.fv .fvc{position:relative;z-index:1}
.fv .by .bl{display:inline-block}
.fv h1 .ln{display:inline-block;vertical-align:bottom;padding:0 .04em}
.fv h1 .li{display:inline-block}
.fv .btn{position:relative}
.fv .mark{opacity:0}
.fv.play .mark{animation:fvStamp .6s cubic-bezier(.2,1.25,.4,1) .2s both}
.fv .by{opacity:0}
.fv.play .by{animation:fvBy 1.2s cubic-bezier(.2,.7,.2,1) .6s both}
.fv h1{clip-path:inset(0 100% 0 0)}
.fv.play h1{animation:fvWipe 1.3s cubic-bezier(.7,0,.2,1) .9s both}
.fv .btn,.fv .sc{opacity:0}
.fv.play .btn{animation:fvOpen .8s cubic-bezier(.2,.8,.2,1) 2.3s both}
.fv.play .sc{animation:fvFade 1s ease-out 3s both}
@keyframes fvStamp{from{opacity:0;transform:scale(1.6);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes fvBy{from{opacity:0;letter-spacing:1em;filter:blur(4px)}to{opacity:1;letter-spacing:.3em;filter:blur(0)}}
@keyframes fvWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -2% 0 0)}}
@keyframes fvOpen{from{opacity:1;clip-path:inset(0 50% 0 50%)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes fvFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* 見出しを一度だけ光がなでる（対応ブラウザのみ・非対応でも文字は普通に出る） */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .fv.play h1 .li{background:linear-gradient(100deg,var(--ink) 35%,#b9b3a8 50%,var(--ink) 65%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:fvSheen 2.2s cubic-bezier(.4,0,.2,1) 1s both}
}
@keyframes fvSheen{from{background-position:100% 0}to{background-position:0% 0}}
@media(prefers-reduced-motion:reduce){.fv *{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;-webkit-text-fill-color:currentColor!important;color:var(--ink)!important;background:none!important}}

/* ===== 第一画面の地紋（data-tex。既定は無し。すべて自前で描画＝権利関係なし） ===== */
.fv .tex{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background-repeat:repeat;
  -webkit-mask-image:radial-gradient(ellipse 78% 68% at 50% 46%,#000 35%,rgba(0,0,0,.35) 70%,transparent 100%);
          mask-image:radial-gradient(ellipse 78% 68% at 50% 46%,#000 35%,rgba(0,0,0,.35) 70%,transparent 100%)}
.fv.play .tex{animation:fvTex 1.8s ease-out .1s both}
@keyframes fvTex{from{opacity:0}to{opacity:var(--texop,0)}}
.fv[data-tex="paper"] .tex{--texop:.16;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27260%27%20height%3D%27260%27%3E%3Cfilter%20id%3D%27p%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.3%27%20numOctaves%3D%273%27%20seed%3D%273%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%27linear%27%20slope%3D%271.5%27%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%27260%27%20height%3D%27260%27%20filter%3D%27url%28%23p%29%27%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27200%27%20height%3D%27200%27%3E%3Cfilter%20id%3D%27f%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.75%27%20numOctaves%3D%272%27%20seed%3D%279%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27200%27%20height%3D%27200%27%20filter%3D%27url%28%23f%29%27%2F%3E%3C%2Fsvg%3E");background-size:380px 380px,200px 200px}
.fv[data-tex="paper2"] .tex{--texop:.2;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27260%27%20height%3D%27260%27%3E%3Cfilter%20id%3D%27p%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.3%27%20numOctaves%3D%273%27%20seed%3D%273%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%27linear%27%20slope%3D%271.5%27%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%27260%27%20height%3D%27260%27%20filter%3D%27url%28%23p%29%27%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27200%27%20height%3D%27200%27%3E%3Cfilter%20id%3D%27f%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.75%27%20numOctaves%3D%272%27%20seed%3D%279%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27200%27%20height%3D%27200%27%20filter%3D%27url%28%23f%29%27%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27700%27%20height%3D%27700%27%3E%3Cfilter%20id%3D%27s%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.005%200.07%27%20numOctaves%3D%272%27%20seed%3D%2711%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27700%27%20height%3D%27700%27%20filter%3D%27url%28%23s%29%27%2F%3E%3C%2Fsvg%3E");background-size:380px 380px,200px 200px,700px 700px}
.fv[data-tex="kinari"] .tex{--texop:.75;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27260%27%20height%3D%27260%27%3E%3Cfilter%20id%3D%27p%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.3%27%20numOctaves%3D%273%27%20seed%3D%273%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%27linear%27%20slope%3D%271.5%27%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%27260%27%20height%3D%27260%27%20filter%3D%27url%28%23p%29%27%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27200%27%20height%3D%27200%27%3E%3Cfilter%20id%3D%27f%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.75%27%20numOctaves%3D%272%27%20seed%3D%279%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27200%27%20height%3D%27200%27%20filter%3D%27url%28%23f%29%27%2F%3E%3C%2Fsvg%3E"),linear-gradient(180deg,#f6f1e6,#f6f1e6);background-size:380px 380px,200px 200px,100% 100%;background-blend-mode:multiply,multiply,normal}
.fv[data-tex="washi"] .tex{--texop:.05;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27700%27%20height%3D%27700%27%3E%3Cfilter%20id%3D%27w%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.013%27%20numOctaves%3D%273%27%20seed%3D%277%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%271.2%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27700%27%20height%3D%27700%27%20filter%3D%27url%28%23w%29%27%2F%3E%3C%2Fsvg%3E");background-size:700px 700px}
.fv[data-tex="rings"] .tex{--texop:.55;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271000%27%20height%3D%271000%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23161616%27%20stroke-width%3D%270.7%27%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%2790%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27142%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27194%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27246%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27298%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27350%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27402%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27454%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:50% 44%;background-size:760px 760px}
.fv[data-tex="lines"] .tex{--texop:.7;background-image:repeating-linear-gradient(45deg,rgba(22,22,22,.05) 0 1px,transparent 1px 9px)}
.fv[data-tex="grid"] .tex{--texop:.7;background-image:repeating-linear-gradient(0deg,rgba(22,22,22,.05) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(22,22,22,.05) 0 1px,transparent 1px 34px)}
.fv[data-tex="specks"] .tex{--texop:.45;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27800%27%20height%3D%27800%27%3E%3Ccircle%20cx%3D%27736%27%20cy%3D%27688%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27104%27%20cy%3D%27518%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27523%27%20cy%3D%2777%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2766%27%20cy%3D%27749%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27686%27%20cy%3D%27424%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27527%27%20cy%3D%27612%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27155%27%20cy%3D%27546%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27553%27%20cy%3D%27684%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27396%27%20cy%3D%27175%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27262%27%20cy%3D%27318%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27400%27%20cy%3D%27648%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2765%27%20cy%3D%27117%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27421%27%20cy%3D%27319%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%27249%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27769%27%20cy%3D%27320%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27652%27%20cy%3D%27787%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27186%27%20cy%3D%27159%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27183%27%20cy%3D%27139%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27640%27%20cy%3D%27157%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27198%27%20cy%3D%27590%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2723%27%20cy%3D%27735%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27100%27%20cy%3D%27560%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27359%27%20cy%3D%27358%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2752%27%20cy%3D%27341%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27265%27%20cy%3D%27122%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27608%27%20cy%3D%27579%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%27763%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27605%27%20cy%3D%27792%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2795%27%20cy%3D%27372%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27543%27%20cy%3D%27265%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27395%27%20cy%3D%2733%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2737%27%20cy%3D%27636%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27601%27%20cy%3D%27524%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27363%27%20cy%3D%27583%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27125%27%20cy%3D%27766%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27274%27%20cy%3D%27705%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27356%27%20cy%3D%27335%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27771%27%20cy%3D%27445%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2735%27%20cy%3D%27518%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2757%27%20cy%3D%27271%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27455%27%20cy%3D%2782%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27694%27%20cy%3D%27106%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27775%27%20cy%3D%27664%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27394%27%20cy%3D%27130%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27333%27%20cy%3D%27355%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27665%27%20cy%3D%27409%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27460%27%20cy%3D%27596%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27443%27%20cy%3D%27242%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27564%27%20cy%3D%27295%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2719%27%20cy%3D%27355%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27721%27%20cy%3D%2735%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27233%27%20cy%3D%2754%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27125%27%20cy%3D%27552%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27233%27%20cy%3D%27390%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27595%27%20cy%3D%27516%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27389%27%20cy%3D%27270%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27325%27%20cy%3D%27114%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27717%27%20cy%3D%27686%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27391%27%20cy%3D%27147%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27513%27%20cy%3D%27451%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27780%27%20cy%3D%27774%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27561%27%20cy%3D%27470%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27498%27%20cy%3D%27262%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27527%27%20cy%3D%27464%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27433%27%20cy%3D%27169%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27310%27%20cy%3D%27726%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27205%27%20cy%3D%27560%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27697%27%20cy%3D%27513%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27638%27%20cy%3D%27446%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27352%27%20cy%3D%27691%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27273%27%20cy%3D%27382%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27273%27%20cy%3D%27654%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27379%27%20cy%3D%27316%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27461%27%20cy%3D%27139%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27404%27%20cy%3D%2710%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27205%27%20cy%3D%27183%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27550%27%20cy%3D%27406%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27204%27%20cy%3D%27267%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27127%27%20cy%3D%27776%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%2727%27%20cy%3D%27476%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27603%27%20cy%3D%27244%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27295%27%20cy%3D%27322%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27342%27%20cy%3D%27255%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27693%27%20cy%3D%27709%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27487%27%20cy%3D%27374%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27184%27%20cy%3D%2722%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27303%27%20cy%3D%2745%27%20r%3D%271.0%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27497%27%20cy%3D%27342%27%20r%3D%270.6%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27738%27%20cy%3D%27136%27%20r%3D%271.3%27%20fill%3D%27%23161616%27%2F%3E%3Ccircle%20cx%3D%27655%27%20cy%3D%27226%27%20r%3D%270.8%27%20fill%3D%27%23161616%27%2F%3E%3C%2Fsvg%3E");background-size:800px 800px}
.fv[data-tex="paper-rings"] .tex{--texop:.6;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271000%27%20height%3D%271000%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%23161616%27%20stroke-width%3D%270.7%27%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%2790%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27142%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27194%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27246%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27298%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27350%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27402%27%2F%3E%3Ccircle%20cx%3D%27500%27%20cy%3D%27500%27%20r%3D%27454%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27260%27%20height%3D%27260%27%3E%3Cfilter%20id%3D%27p%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.3%27%20numOctaves%3D%273%27%20seed%3D%273%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeComponentTransfer%3E%3CfeFuncA%20type%3D%27linear%27%20slope%3D%271.5%27%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%27260%27%20height%3D%27260%27%20filter%3D%27url%28%23p%29%27%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27200%27%20height%3D%27200%27%3E%3Cfilter%20id%3D%27f%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.75%27%20numOctaves%3D%272%27%20seed%3D%279%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27200%27%20height%3D%27200%27%20filter%3D%27url%28%23f%29%27%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat,repeat,repeat;background-position:50% 44%,0 0,0 0;background-size:760px 760px,380px 380px,200px 200px}
@media(min-width:900px){.fv[data-tex="rings"] .tex{background-size:900px 900px}.fv[data-tex="paper-rings"] .tex{background-size:900px 900px,380px 380px,200px 200px}}
/* ===== 画面下に追従するLINEボタン（全ページ） ===== */
.lbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:12px;
  padding:10px var(--g) calc(12px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--line);
  transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.8,.2,1);font-family:var(--gothic)}
.lbar.on{transform:none}
body.lbar-on{padding-bottom:84px}
.lbar .tx{flex:1;min-width:0;line-height:1.45;color:var(--ink)}
.lbar .tx b{display:block;font-weight:400;font-family:var(--mincho);font-size:15px;letter-spacing:.06em;white-space:nowrap}
.lbar .tx span{display:block;font-size:11px;color:var(--sub);letter-spacing:.08em;white-space:nowrap}
/* 押したくなる立体の楕円ボタン: 下に濃い緑の「厚み」＋やわらかい影＋上面の光。押すと沈む */
.lbar .go,.lgo{position:relative;flex:none;display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px 0 20px;border-radius:999px;overflow:hidden;
  background:linear-gradient(180deg,#34DC78 0%,#06C755 52%,#05B84E 100%);color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;white-space:nowrap;
  box-shadow:0 5px 0 #03913D,0 10px 20px rgba(6,160,70,.35),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 0 rgba(0,0,0,.06);
  transform:translateY(-3px);transition:transform .08s ease,box-shadow .08s ease,filter .2s ease;-webkit-tap-highlight-color:transparent}
.lbar .go svg,.lgo svg{width:20px;height:20px;fill:#fff;flex:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.12))}
.lbar .go span,.lgo span{text-shadow:0 1px 0 rgba(0,0,0,.12)}
.lbar .go:hover,.lgo:hover{filter:brightness(1.04)}
.lbar .go:active,.lgo:active{transform:translateY(2px);box-shadow:0 0 0 #03913D,0 3px 8px rgba(6,160,70,.3),inset 0 1px 0 rgba(255,255,255,.45)}
.lbar .go::after,.lgo::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:lbShine 4s ease-in-out 1.5s infinite}
@keyframes lbShine{0%,72%{left:-70%}100%{left:140%}}
@media(max-width:390px){.lbar{gap:8px;padding-left:14px;padding-right:12px}.lbar .tx b{font-size:13.5px}.lbar .go{height:46px;padding:0 18px 0 16px;font-size:13px}}
@media(min-width:900px){.lbar{padding:12px 40px 14px;justify-content:center;gap:28px}.lbar .tx{flex:none}.lbar .tx b{font-size:16px}.lbar .go{height:52px;padding:0 30px 0 26px;font-size:15px}body.lbar-on{padding-bottom:84px}}
@media(prefers-reduced-motion:reduce){.lbar{transition:none}.lbar .go::after,.lgo::after{display:none}}

/* ===== /wedding: Meta広告用・ムービー制作専用LP ===== */
.wedding-lp{--w-dark:#121212;--w-soft:#f3f0e9}
.wedding-hero.fv{max-width:none;margin:0;display:grid}
.wedding-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin-top:24px;padding:0 28px;border-radius:999px;background:#06c755;color:#fff;font-family:var(--gothic);font-size:15px;font-weight:700;letter-spacing:.05em;box-shadow:0 4px 0 #03913d,0 10px 24px rgba(6,160,70,.25);transition:transform .1s,box-shadow .1s}
.wedding-line:hover{filter:brightness(1.04)}.wedding-line:active{transform:translateY(3px);box-shadow:0 1px 0 #03913d,0 4px 10px rgba(6,160,70,.22)}
.wedding-line svg{width:22px;height:22px;fill:#fff}.wedding-note{margin-top:13px;font-size:11.5px;line-height:1.8;color:var(--sub)}
.wedding-samples{background:var(--white);padding-bottom:72px}.wedding-samples .smp{background:var(--white);padding-bottom:18px}.wedding-samples .smp h3,.wedding-samples .smp>p,.wedding-samples .smp>.arw{margin-left:16px;margin-right:16px}
.wedding-regular-price{position:relative;display:inline-block}.wedding-regular-price::after{content:"";position:absolute;left:-2%;right:-2%;top:52%;height:1px;background:rgba(18,18,18,.52);transform:rotate(-8deg);transform-origin:center;pointer-events:none}
.wedding-price-sale{display:inline-block;margin-left:8px;font-family:var(--gothic);font-size:11px;font-weight:700;letter-spacing:.04em;color:#07883d;vertical-align:middle;white-space:nowrap}
.wedding-floating-cta{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:45;max-width:calc(100vw - 36px);opacity:1;visibility:visible;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.wedding-floating-cta.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.wedding-floating-cta .wedding-line{min-height:52px;margin:0;padding:0 22px;font-size:13px;box-shadow:0 4px 0 #03913d,0 8px 20px rgba(6,160,70,.28)}
.wedding-plan-card-offer{margin-top:12px;text-align:center}.wedding-plan-card-offer>p{font-size:12px;letter-spacing:.04em;color:var(--ink)}.wedding-plan-card-offer .wedding-line{min-height:45px;width:100%;margin-top:9px;padding:0 14px;font-size:12px;gap:7px;box-shadow:0 3px 0 #03913d,0 7px 16px rgba(6,160,70,.22)}.wedding-plan-card-offer .wedding-line svg{width:18px;height:18px}
.price-plan-offer{margin-top:12px;text-align:center}.price-plan-offer>p{font-size:12px;letter-spacing:.04em;color:var(--ink)}.price-plan-offer .wedding-line{min-height:45px;width:100%;margin-top:9px;padding:0 14px;font-size:12px;gap:7px;box-shadow:0 3px 0 #03913d,0 7px 16px rgba(6,160,70,.22)}.price-plan-offer .wedding-line svg{width:18px;height:18px}
.wedding-plan-notes{margin-top:14px;padding:16px 18px;background:var(--w-soft);display:grid;gap:6px}.wedding-plan-notes p{font-size:12.5px;line-height:1.8}
.wedding-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:28px}.wedding-stats p{padding:22px 14px;border:1px solid var(--ink);text-align:center}.wedding-stats strong{display:block;font-size:30px;font-weight:400;color:var(--ink)}.wedding-stats span{display:block;margin-top:6px;font-size:11px;line-height:1.7;color:var(--sub)}
.wedding-quotes{display:grid;gap:10px;margin-top:26px}.wedding-quotes figure{padding:22px 20px;background:var(--w-soft)}.wedding-quotes blockquote{font-size:14px;line-height:2;color:var(--ink)}.wedding-quotes figcaption{margin-top:12px;font-family:var(--gothic);font-size:10px;letter-spacing:.1em;color:var(--sub)}
.wedding-proof{padding-bottom:52px}.wedding-proof .copy{padding-top:64px}.wedding-voices-roll{margin-top:0}.wedding-roll-actions{max-width:1180px;margin:0 auto;padding:0 var(--g)}
.wedding-roll-toggle{display:block;margin:10px 0 0;border:0;border-bottom:1px solid var(--sub);border-radius:0;background:none;padding:2px 0;cursor:pointer;font-family:var(--gothic);font-size:10px;letter-spacing:.12em;color:var(--sub)}.wedding-roll-toggle:hover{color:var(--ink);border-color:var(--ink)}.wedding-roll-toggle:disabled{cursor:default;opacity:.7}
.wedding-voice-dialog{position:relative;display:grid;place-items:center;max-width:min(96vw,720px);max-height:92vh}.wedding-voice-close{justify-self:end;margin-bottom:8px;border:1px solid #ddd;background:#fff;padding:8px 16px;cursor:pointer;font-family:var(--gothic);font-size:11px;letter-spacing:.14em;color:var(--ink)}.wedding-voice-close:focus-visible,.wedding-roll-toggle:focus-visible{outline:2px solid var(--mark);outline-offset:3px}
.wedding-proof .arw{margin-top:20px}.wedding-movie-intro{padding-bottom:78px}.wedding-movie-intro .wblk{display:block;margin-top:0}.wedding-movie-intro .wtx h2{font-weight:400;font-size:24px;letter-spacing:.08em;color:var(--ink)}.wedding-faq .list{max-width:820px}.wedding-last{padding-bottom:30px}.wedding-last .wedding-line{margin-top:20px}.wedding-last .note{margin-top:18px}.wedding-last .note a{border-bottom:1px solid var(--sub)}
@media(min-width:900px){.wedding-proof{padding-bottom:72px}.wedding-proof .copy{padding-top:96px}.wedding-roll-actions{padding:0 40px}.wedding-movie-intro{padding-bottom:120px}.wedding-movie-intro .wtx h2{font-size:32px}.wedding-samples{padding-bottom:110px}.wedding-quotes{grid-template-columns:repeat(3,1fr);gap:16px}.wedding-quotes figure{padding:28px 24px}.wedding-flow ol{max-width:900px}}
@media(max-width:899px){.wedding-lp+.lbar{display:none}.wedding-line{width:100%;padding-left:18px;padding-right:18px}.wedding-floating-cta{right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100vw - 28px);max-width:360px}.wedding-floating-cta .wedding-line{min-height:50px;padding-left:14px;padding-right:14px;font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.wedding-floating-cta{transition:none}}
