/* 最後に読み込み、3つのサイズグループの背景を完全に統一する */
.price-dialog tbody tr:nth-child(-n+3),
.price-dialog tbody tr:nth-child(n+4):nth-child(-n+6),
.price-dialog tbody tr:nth-child(n+7):nth-child(-n+9){background:#fffaf3!important}

/* アコーディオンは隣の開閉状態に影響されず、それぞれの高さを保つ */
.accordions{align-items:start;grid-auto-rows:min-content}
.accordions details{align-self:start;width:100%}

/* WordPressテーマの固定ページ用余白・幅・タイトルをLP上だけ解除 */
.leap-btob-page .wp-block-post-title,.leap-btob-page .entry-title{display:none!important}
.leap-btob-page .wp-site-blocks>main,.leap-btob-page main.wp-block-group,.leap-btob-page main>.wp-block-group,.leap-btob-page .wp-block-post-content,.leap-btob-page .entry-content{max-width:none!important;width:100%!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;padding-left:0!important;padding-right:0!important}
.leap-btob-page .wp-block-post-content>*{max-width:none!important;margin-block-start:0!important;margin-block-end:0!important;margin-left:0!important;margin-right:0!important}
.leap-btob-page .wp-block-shortcode{margin:0!important;padding:0!important}
.leap-btob-page .lp{max-width:none!important;width:100%!important;margin:0!important;box-shadow:none}
.leap-btob-page main#wp--skip-link--target>.wp-block-group:first-child{display:none!important}
.leap-btob-page .lp>.header{display:none!important}

/* PCでもスマホ版の読みやすさを感じる、ゆったりした縦型レイアウト */
@media(min-width:1101px){
  .leap-btob-page .lp{font-size:15px}
  .leap-btob-page .band{padding:58px max(48px,calc((100% - 1240px)/2));gap:26px}
  .leap-btob-page .intro{grid-column:1/-1;padding:0;max-width:620px}
  .leap-btob-page .intro h2{font-size:34px;line-height:1.5}
  .leap-btob-page .intro>p:not(.label){font-size:14px;line-height:2}
  .leap-btob-page .shapes{grid-template-columns:repeat(3,1fr)}
  .leap-btob-page .shapes article{height:260px;padding:34px 18px 26px 30px}
  .leap-btob-page .shapes h3{font-size:28px}
  .leap-btob-page .shapes article p{font-size:14px}
  .leap-btob-page .shapes small{font-size:11px}
  .leap-btob-page .finishes{grid-template-columns:repeat(3,1fr)}
  .leap-btob-page .finishes article{height:225px}
  .leap-btob-page .finishes h3{font-size:19px}
  .leap-btob-page .finishes article p{font-size:12px;line-height:1.75}
  .leap-btob-page .finishes aside{grid-column:1/-1;min-height:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:30px;padding:20px}
  .leap-btob-page .finishes aside b br{display:none}
  .leap-btob-page .finishes aside a{min-width:200px}
  .leap-btob-page .prices{grid-template-columns:repeat(3,1fr)}
  .leap-btob-page .prices h3{font-size:23px}
  .leap-btob-page .prices table{font-size:12px}
  .leap-btob-page .prices article>a{font-size:11px;padding:16px}
  .leap-btob-page .options-band{grid-template-columns:1fr}
  .leap-btob-page .flow{grid-template-columns:1fr}
  .leap-btob-page .cases{grid-template-columns:1fr}
  .leap-btob-page .case-more{font-size:12px;text-align:right}
}

/* 注文工程：数字だけでなく、線画風の記号と連番をひとつの印に */
.flow ol{gap:14px}
.flow li{font-size:11px}
.flow li b{width:82px;height:82px;border:1px solid #e6d7c5;background:linear-gradient(145deg,#fff,#faf3e9);box-shadow:0 8px 24px #5d463412;position:relative;font-style:normal}
.flow li b:after{content:"";position:absolute;inset:7px;border:1px solid #eadcc9;border-radius:50%}
.flow li b i{font:400 24px/1 var(--serif);color:#785034;position:relative;z-index:1;font-style:normal}
.flow li b small{position:absolute;right:-5px;top:-5px;z-index:2;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#4c2d18;color:#fff;font:700 8px/1 var(--sans);box-shadow:0 3px 9px #4c2d1830}
.flow li:not(:last-child):after{top:38px}

/* CTAは別ページのフォームへ移動することが伝わる見せ方 */
.contact small{font-size:10px;color:#806b5b}

/* PC版 第2調整：中央の読みやすい軸に揃え、各ブロックを十分な大きさにする */
@media(min-width:1101px){
  .leap-btob-page{background:#f3ede5}
  .leap-btob-page .lp{background:#fffdf9}
  .leap-btob-page .hero{width:min(100%,1320px);height:620px;min-height:0;margin:0 auto;grid-template-columns:48% 52%;overflow:hidden}
  .leap-btob-page .hero-copy{padding:92px 54px 58px 62px}
  .leap-btob-page .hero h1{font-size:50px;line-height:1.55;letter-spacing:.08em;margin:22px 0}
  .leap-btob-page .hero-lead{font-size:15px;line-height:2}
  .leap-btob-page .hero .checks{font-size:14px;gap:22px;margin:24px 0}
  .leap-btob-page .hero .button{font-size:14px;padding:16px 25px}
  .leap-btob-page .band{width:min(100%,1320px);margin-left:auto;margin-right:auto;padding:72px 62px}
  .leap-btob-page .label{font-size:11px}
  .leap-btob-page .intro{width:100%;max-width:720px;margin:0 auto 10px;text-align:center}
  .leap-btob-page .intro h2{font-size:38px;line-height:1.55}
  .leap-btob-page .intro>p:not(.label){font-size:16px;line-height:2}
  .leap-btob-page .shapes article p{font-size:15px}.leap-btob-page .shapes small{font-size:12px}
  .leap-btob-page .shapes article a,.leap-btob-page .mini{font-size:12px;padding:10px 18px}
  .leap-btob-page .finishes h3{font-size:21px}.leap-btob-page .finishes article p{font-size:14px}
  .leap-btob-page .finishes aside{font-size:16px}.leap-btob-page .finishes aside a{font-size:13px}
  .leap-btob-page .options-band li span{font-size:14px}.leap-btob-page .option-cta{font-size:13px}
  .leap-btob-page .flow ol{width:100%;max-width:1100px;margin:10px auto 18px;gap:28px}
  .leap-btob-page .flow li{font-size:14px;line-height:1.6}
  .leap-btob-page .flow li b{width:96px;height:96px;margin-bottom:14px}
  .leap-btob-page .flow li b i{font-size:29px}.leap-btob-page .flow li:not(:last-child):after{top:45px;font-size:16px}
  .leap-btob-page .merits{width:100%;max-width:1100px;margin:auto;gap:12px}
  .leap-btob-page .merits p{font-size:12px;line-height:1.7;padding:22px 14px}.leap-btob-page .merits b{font-size:14px}
  .leap-btob-page .before{display:grid!important;grid-template-columns:1fr!important}
  .leap-btob-page .before .intro{margin-bottom:18px}
  .leap-btob-page .accordions{width:100%;max-width:1100px;margin:0 auto;grid-template-columns:1fr 1fr;gap:14px}
  .leap-btob-page .accordions summary{padding:23px 25px;font-size:17px;line-height:1.5}
  .leap-btob-page .accordions details>div{padding:0 25px 22px;font-size:14px;line-height:2}
  .leap-btob-page .text-button{font-size:13px}
  .leap-btob-page .cases{display:grid!important;grid-template-columns:1fr!important}
  .leap-btob-page .case-grid{grid-template-columns:repeat(3,1fr);gap:26px;max-width:1100px;width:100%;margin:8px auto}
  .leap-btob-page .case-img{height:210px}.leap-btob-page .case-grid figcaption{font-size:14px;margin-top:12px}
  .leap-btob-page .case-more{width:100%;max-width:1100px;margin:auto;font-size:14px;text-align:right}
  .leap-btob-page .contact{width:min(100%,1320px);min-height:430px;margin:0 auto;grid-template-columns:42% 58%;grid-template-rows:1fr auto;background:linear-gradient(90deg,#f4eadf,#fff)}
  .leap-btob-page .contact-img{height:430px;grid-row:1/3}
  .leap-btob-page .contact-copy{padding:58px 62px 24px}
  .leap-btob-page .contact h2{font-size:34px;line-height:1.5}.leap-btob-page .contact-copy>p:not(.label){font-size:14px;line-height:2}
  .leap-btob-page .contact .checks{font-size:12px;gap:16px;flex-wrap:wrap}
  .leap-btob-page .contact>div:last-child{padding:0 62px 58px;text-align:left}
  .leap-btob-page .contact .script{text-align:right;font-size:22px}.leap-btob-page .contact .large{font-size:15px;padding:20px}
  .leap-btob-page .contact small{text-align:center;font-size:11px}
}

/* PC版 第3調整：カード切れ・背景リズム・視認性・アイコン */
.flow-cookie{width:34px;height:34px!important;border:2px solid #785034;border-radius:50%;position:relative;display:block}
.flow-cookie:before{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#785034;left:8px;top:9px;box-shadow:10px 2px #785034,4px 12px #785034,15px 15px #785034}
.flow-cookie:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fffaf3;right:-4px;top:-4px;border-left:2px solid #785034;border-bottom:2px solid #785034;transform:rotate(18deg)}
.flow-truck{width:38px;height:22px!important;border:2px solid #785034;border-radius:3px;position:relative;display:block;margin-top:2px}
.flow-truck:before{content:"";position:absolute;width:13px;height:15px;right:-11px;bottom:-2px;border:2px solid #785034;border-left:0;border-radius:0 5px 3px 0}
.flow-truck:after{content:"●  ●";position:absolute;left:4px;bottom:-11px;color:#785034;font:12px/1 sans-serif;letter-spacing:13px;white-space:nowrap}
.icon-ribbon{position:relative!important;width:48px!important;height:38px!important;transform:none!important}
.icon-ribbon:before,.icon-ribbon:after{content:"";position:absolute;top:7px;width:19px;height:25px;border:1.7px solid #8b684d;background:#fffdf9}
.icon-ribbon:before{left:4px;border-radius:75% 25% 70% 30%;transform:rotate(-24deg)}
.icon-ribbon:after{right:4px;border-radius:25% 75% 30% 70%;transform:rotate(24deg)}
@media(min-width:1101px){
  .leap-btob-page .shapes article{height:310px;grid-template-columns:50% 50%;padding:34px 18px 28px 30px}
  .leap-btob-page .shapes h3{font-size:27px;line-height:1.45}
  .leap-btob-page .shapes .crop{min-width:0}
  .leap-btob-page .finishes{background:#f7f1e8;box-shadow:0 0 0 100vmax #f7f1e8;clip-path:inset(0 -100vmax)}
  .leap-btob-page .prices .star{width:38px;height:38px;display:grid;place-items:center;font-size:31px;line-height:1;margin:0;flex:0 0 38px}
  .leap-btob-page .prices table{font-size:14px;line-height:1.5}
  .leap-btob-page .prices th,.leap-btob-page .prices td{padding:14px 9px}
  .leap-btob-page .prices article>a,.leap-btob-page .detail-open{font-size:13px!important;padding:17px!important}
  .leap-btob-page .prices em{font-size:10px;width:86px;height:86px;right:-18px}
  .leap-btob-page .options-band ul{width:100%;max-width:1000px;margin:10px auto;grid-template-columns:repeat(3,1fr);gap:16px}
  .leap-btob-page .options-band li{min-height:150px;padding:18px}
  .leap-btob-page .options-band li b{font-size:11px}
  .leap-btob-page .option-icon{width:44px;height:44px;margin:5px 0 10px}
  .leap-btob-page .options-band li span{font-size:16px}
  .leap-btob-page .option-cta{width:min(100%,1000px);justify-self:center;padding:17px;font-size:14px}
}

.leap-btob-page .finishes,
.leap-btob-page .options-band,
.leap-btob-page .before{background:#f7f1e8;box-shadow:0 0 0 100vmax #f7f1e8;clip-path:inset(0 -100vmax)}
.leap-btob-page .option-supply-note{grid-column:1/-1;width:min(100%,1000px);margin:2px auto 4px;padding:16px 20px;border-left:3px solid #c4915a;background:#fffaf4;color:#523c2c;font:500 14px/2 var(--serif);letter-spacing:.025em;text-align:left}
@media(max-width:650px){.leap-btob-page .option-supply-note{padding:14px 16px;font-size:13px;line-height:1.9}}

/* ご注文前の確認：開いたカードだけ高さを揃え、閉じた隣は伸ばさない */
@media(min-width:651px){
  .leap-btob-page .accordions details[open]{height:250px;overflow:auto}
}
@media(max-width:650px){
  .leap-btob-page .accordions details[open]{height:auto;overflow:visible}
}

/* PC版 第4調整：料金・配送・蝶結び・ホバー */
.icon-ribbon{width:54px!important;height:38px!important;background:#8b684d!important;border-radius:50%!important;position:relative!important;transform:none!important}
.icon-ribbon:before,.icon-ribbon:after{content:"";position:absolute;top:4px;width:25px;height:29px;border:0;background:#c69a78}
.icon-ribbon:before{right:7px;transform:translateX(-15px) rotate(-12deg);border-radius:70% 30% 60% 40%}
.icon-ribbon:after{left:7px;transform:translateX(15px) rotate(12deg);border-radius:30% 70% 40% 60%}
.flow-truck{width:43px!important;height:23px!important;border:2px solid #785034!important;border-radius:3px 2px 2px 3px!important;margin-left:-5px}
.flow-truck:before{width:16px!important;height:17px!important;right:-14px!important;bottom:-2px!important;border:2px solid #785034!important;border-left:0!important;border-radius:0 6px 3px 0!important;background:linear-gradient(135deg,#fffaf3 0 48%,#785034 49% 54%,#fffaf3 55%)}
.flow-truck:after{content:"●  ●"!important;left:5px!important;bottom:-12px!important;font-size:13px!important;letter-spacing:18px!important}
.price-dialog table{font-size:14px!important;line-height:1.55}
.price-dialog th,.price-dialog td{padding:14px 16px!important;transition:background-color .18s ease,color .18s ease}
.price-dialog tbody tr:hover th,.price-dialog tbody tr:hover td{background:#ead6bd!important;color:#3f2818}
.price-dialog tbody tr{cursor:default}
.price-dialog .dialog-note{font-size:13px!important;line-height:1.8}
.price-dialog .button{font-size:14px}
@media(min-width:1101px){
  .leap-btob-page .prices h3{justify-content:center;text-align:center}
  .leap-btob-page .prices em{font-size:12px;line-height:1.35;font-weight:600}
}

/* PC版 第5調整：参考画像に合わせた線画と固定相談ボタン */
.icon-ribbon{width:62px!important;height:50px!important;background:transparent!important;border-radius:0!important;overflow:visible!important}
.icon-ribbon:before,.icon-ribbon:after{content:"";position:absolute;top:3px;width:29px;height:22px;background:transparent!important;border:2px solid #785034!important}
.icon-ribbon:before{left:2px;right:auto;transform:rotate(-11deg)!important;border-radius:70% 35% 55% 45%!important}
.icon-ribbon:after{right:2px;left:auto;transform:rotate(11deg)!important;border-radius:35% 70% 45% 55%!important}
.icon-ribbon>span{position:absolute;z-index:2;left:50%;top:14px;width:12px;height:11px;transform:translateX(-50%);border:2px solid #785034;border-radius:45%;background:#fffdf9}
.icon-ribbon>span:before,.icon-ribbon>span:after{content:"";position:absolute;top:7px;width:13px;height:28px;border:2px solid #785034;border-top:0;background:#fffdf9}
.icon-ribbon>span:before{right:3px;transform:rotate(13deg);clip-path:polygon(0 0,100% 0,86% 100%,50% 80%,12% 100%)}
.icon-ribbon>span:after{left:3px;transform:rotate(-13deg);clip-path:polygon(0 0,100% 0,88% 100%,50% 80%,14% 100%)}
.flow-truck{width:54px!important;height:38px!important;border:0!important;border-radius:0!important;margin:0!important;background:transparent!important;overflow:visible!important}
.flow-truck:before{content:"";position:absolute;width:31px!important;height:24px!important;left:21px;right:auto!important;top:0;bottom:auto!important;border:2px solid #785034!important;border-radius:3px!important;background:#fffaf3!important}
.flow-truck:after{content:"";position:absolute;width:22px!important;height:21px!important;left:0!important;top:9px;bottom:auto!important;border:2px solid #785034!important;border-right:0!important;border-radius:8px 0 0 4px!important;background:linear-gradient(135deg,transparent 0 28%,#785034 29% 33%,#fffaf3 34%)!important;clip-path:polygon(34% 0,100% 0,100% 100%,0 100%,0 58%)}
.flow-truck>span{position:absolute;left:0;right:0;bottom:5px;height:5px;border-top:2px solid #785034;border-bottom:2px solid #785034}
.flow-truck>span:before{content:"";position:absolute;left:8px;top:0;width:11px;height:11px;border:2px solid #785034;border-radius:50%;background:#fffaf3;box-shadow:31px 0 0 -2px #fffaf3,31px 0 0 0 #785034}
.flow-truck>span:after{content:"";position:absolute;left:8px;top:-17px;width:12px;height:8px;border:2px solid #785034;background:#fffaf3;clip-path:polygon(32% 0,100% 0,100% 100%,0 100%)}
.floating-consult{position:fixed;z-index:50;right:24px;bottom:24px;display:flex;align-items:center;gap:18px;min-width:196px;padding:17px 20px 17px 24px;border:1px solid #ffffff40;border-radius:18px;background:#4c2d18;color:#fff!important;box-shadow:0 12px 35px #2f211a35;font:700 14px/1.45 var(--serif);letter-spacing:.04em;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.floating-consult b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#4c2d18;font:700 16px/1 var(--sans)}
.floating-consult:hover{transform:translateY(-4px);background:#654022;box-shadow:0 16px 40px #2f211a45}
.hero .checks{flex-wrap:wrap}
@media(min-width:1101px){.hero .checks li{white-space:nowrap}}
@media(max-width:650px){
  .floating-consult{right:12px;bottom:12px;min-width:0;padding:13px 14px 13px 18px;border-radius:15px;font-size:12px;gap:12px}
  .floating-consult b{width:29px;height:29px;font-size:14px}
}

/* PC版 第6調整：細い蝶結び・画像トラック・CTAの手書きホバー */
.icon-ribbon{width:60px!important;height:48px!important;background:transparent!important;border:0!important}
.icon-ribbon:before,.icon-ribbon:after{content:"";position:absolute;top:5px;width:27px;height:15px;background:transparent!important;border:1.4px solid #785034!important}
.icon-ribbon:before{left:3px!important;right:auto!important;border-radius:70% 30% 65% 35%!important;transform:rotate(-8deg)!important}
.icon-ribbon:after{right:3px!important;left:auto!important;border-radius:30% 70% 35% 65%!important;transform:rotate(8deg)!important}
.icon-ribbon>span{position:absolute;z-index:2;left:50%;top:13px;width:7px;height:7px;transform:translateX(-50%);border:1.4px solid #785034;border-radius:50%;background:#fffdf9}
.icon-ribbon>span:before,.icon-ribbon>span:after{content:"";position:absolute;top:5px;width:1.5px;height:30px;border:0!important;background:#785034!important;clip-path:none!important}
.icon-ribbon>span:before{right:4px;transform:rotate(19deg)!important}
.icon-ribbon>span:after{left:4px;transform:rotate(-19deg)!important}
.flow-truck{width:62px!important;height:48px!important;border:0!important;background:url("assets/leap-truck-icon.png") center/contain no-repeat!important;margin:0!important}
.flow-truck:before,.flow-truck:after,.flow-truck>span{display:none!important}
.floating-consult:before{content:"Let’s order!";position:absolute;right:8px;top:-42px;color:#4c2d18;font:italic 21px/1.2 cursive;white-space:nowrap;opacity:0;transform:translateY(8px) rotate(-3deg);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.floating-consult:hover:before,.floating-consult:focus-visible:before{opacity:1;transform:translateY(0) rotate(-3deg)}
@media(max-width:650px){.floating-consult:before{display:none}}

/* 最終リボン：提供画像をそのまま使用 */
.icon-ribbon{width:62px!important;height:48px!important;border:0!important;background:url("assets/leap-ribbon-icon-v2.png") center/contain no-repeat!important}
.icon-ribbon:before,.icon-ribbon:after,.icon-ribbon>span{display:none!important}

/* スマホの形状カードは文章と写真を上下に分ける */
@media(max-width:650px){
  .hero h1{font-size:28px!important;line-height:1.7!important;letter-spacing:.04em!important;white-space:nowrap!important}
  .hero-lead{font-size:12px;line-height:1.9;letter-spacing:0}
  .shapes article{height:auto!important;min-height:0;display:grid!important;grid-template-columns:1fr!important;padding:24px!important;overflow:hidden}
  .shapes article>div{min-width:0}
  .shapes .crop{width:100%;height:190px!important;margin:20px 0 0!important;border-radius:12px!important;overflow:hidden}
  .shapes .crop img{position:static!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover!important;clip-path:none!important;transform:none!important}
  .shapes .round img{object-position:58% 40%}
  .shapes .square img{object-position:50% 38%}
  .shapes .original img{object-position:42% 35%}
}

/* 用途別5点：本番写真は構図が完成しているので中央寄せでカバー表示 */
.c1 img,.c2 img,.c3 img,.c4 img,.c5 img{object-position:50% 42%}

/* 3つの仕上げ方法：本番写真（正面＋側面）で再構築。
   既存の .finishes article は固定高さ・2カラム前提のため、
   新カードだけ高さ/表示方式を上書きする。 */
.finishes .finish-card{height:auto!important;display:flex!important;flex-direction:column;background:var(--card);border-radius:14px;padding:24px 22px 26px;box-shadow:0 8px 30px #6f52370b}
.finish-head{display:flex;align-items:center;gap:12px}
.finish-head span{position:static;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--brown);color:#fff;display:grid;place-items:center;font-size:11px}
.finish-head h3{margin:0;min-height:2.9em;display:flex;align-items:center}
/* v1.4.2: 説明文の行数(1行/2行)が製法ごとに違うため、正面/側面写真の開始位置が
   カードごとにズレていた。説明文エリアにも2行分の最小高さを確保して揃える。 */
.finish-card>p{margin:0;min-height:3.5em}
.finish-photos{margin-top:16px;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px #6f52370f}
.finish-photo{position:relative;overflow:hidden;background:#f1e7da;line-height:0}
.finish-photo img{display:block;width:100%;height:100%;object-fit:cover}
.finish-photo--front{aspect-ratio:1.1/1}
.finish-photo--side{aspect-ratio:2.3/1;border-top:2px solid #fffdf9}
.finish-thickness{position:absolute;right:10px;bottom:10px;background:#fffdf9ee;color:var(--brown);font:600 10px/1 var(--serif);letter-spacing:.03em;padding:7px 12px;border-radius:20px;box-shadow:0 3px 10px #2f211a1a}
@media(min-width:1101px){
  .leap-btob-page .finishes .finish-card{padding:28px 26px 30px}
}
@media(max-width:650px){
  .finish-thickness{font-size:9.5px;padding:6px 10px;right:8px;bottom:8px}
}

/* v1.4.1: CONTACT のベージュ背景を画面幅いっぱいに。中身(写真・文章・CTA)は
   既存の中央寄せ幅のまま変更しない（.contact 自体の width:min(...) はそのまま）。 */
.leap-btob-page .contact{background:#f4eadf;box-shadow:0 0 0 100vmax #f4eadf;clip-path:inset(0 -100vmax)}

/* v1.4.1: 仕上げ方法カードの横線をもう少し長くする（42px→64px、カード幅いっぱいにはしない） */
.finishes i{width:64px}
