/* ページ全体の動き（2026-11-03） */
/* 画面に入ったら現れる */
.rv { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d, 0s); }
.rv.in { opacity: 1; transform: none; }
/* 行ごとにせり上がる見出し */
.ln { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.ln > span { display: block; transform: translateY(105%); transition: transform 1.1s cubic-bezier(.19,1,.22,1); transition-delay: var(--d, 0s); }
.split.in .ln > span { transform: none; }

/* 扉 */
.hero { position: relative; }


/* 読み進み（ヘッダーの下端） */
.read { position: fixed; left: 0; top: 67px; height: 2px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: var(--accent); z-index: 41; pointer-events: none; }
@media (max-width: 760px) { .read { top: 59px; } }

/* 「作らずに済むか。」の下線 */
.nobuild { clip-path: inset(0 0 100% 0 round 4px); transition: clip-path 1s cubic-bezier(.7,0,.2,1); }
.nobuild.in { clip-path: inset(0 0 0 0 round 4px); }
.nobuild .big em { background: linear-gradient(var(--blue2, #6f93f0), var(--blue2, #6f93f0)) 0 100% / 0 4px no-repeat; transition: background-size 1s cubic-bezier(.7,0,.2,1) .9s; padding-bottom: .04em; }
.nobuild.in .big em { background-size: 100% 4px; }

/* 料金の数え上げ（数字は JS で） */
.fee-row .v { font-variant-numeric: tabular-nums; }

/* ボタン・リンクの手ざわり */
.btn { position: relative; overflow: hidden; }
.btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform: translateX(-120%); }
.btn:hover::after { transform: translateX(120%); transition: transform .7s ease; }
.more::after, .notes2 .all::after, .colmore a::after { display: inline-block; transition: transform .25s ease; }
.more:hover::after, .notes2 .all:hover::after { transform: translateX(4px); }
.notes2 li a { background: linear-gradient(var(--accent), var(--accent)) 0 100% / 0 1.5px no-repeat; border-bottom-color: var(--line); transition: background-size .4s ease, color .2s; }
.notes2 li a:hover { background-size: 100% 1.5px; }

@media (prefers-reduced-motion: reduce) {
  .rv, .ln > span, .nobuild, .nobuild .big em { transition: none !important; opacity: 1 !important; transform: none !important; clip-path: none !important; background-size: 100% 4px !important; }
}
