/* PC版の固定高さ超過とカード画像のはみ出しを修正 */
@media (min-width:1101px){
  .hero{height:auto;min-height:590px;grid-template-columns:minmax(630px,47%) minmax(0,53%)}
  .hero-copy{padding:105px clamp(42px,5vw,82px) 52px clamp(52px,7.5vw,120px)}
  .hero h1{font-size:clamp(40px,3vw,48px);line-height:1.58;letter-spacing:.08em;white-space:nowrap}
  .hero-image{height:auto;min-height:590px}
  .hero .checks{flex-wrap:wrap;row-gap:8px}
  .shapes{align-items:stretch}
  .shapes article{min-width:0;overflow:hidden}
  .crop{margin:0;height:100%;position:relative;overflow:hidden;background:#f1e7da}
  .crop img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;clip-path:none}
  /* 3形状とも同じ四角い写真枠に統一（丸型・オリジナル型だけ楕円/ブロブにしない） */
  .round,.square,.original{border-radius:12px}
  .round img{object-position:58% 40%}
  .square img{object-position:50% 38%}
  .original img{object-position:42% 35%}
}
/* タブレット幅（651〜1100px）：本番写真は等倍カバーで表示。
   旧プレースホルダー用の circle()/inset() クリップは実写真では不自然なため外す */
@media (min-width:651px) and (max-width:1100px){
  .crop{overflow:hidden;background:#f1e7da}
  .crop img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;clip-path:none}
  .round,.square,.original{border-radius:12px}
  .round img{object-position:58% 40%}
  .square img{object-position:50% 38%}
  .original img{object-position:42% 35%}
}
@media (min-width:1101px) and (max-width:1320px){
  .header nav{gap:20px}
  .hero{grid-template-columns:minmax(570px,48%) minmax(0,52%)}
  .hero-copy{padding-left:60px;padding-right:35px}
  .hero h1{font-size:40px}
  .checks{gap:14px}
  .shapes,.finishes{grid-template-columns:220px repeat(3,minmax(0,1fr))}
  .finishes{grid-template-columns:220px repeat(3,minmax(0,1fr)) 190px}
  .prices{grid-template-columns:170px repeat(3,minmax(0,1fr))}
}

.detail-open{display:block;width:100%;border:0;border-top:1px solid #eee5dc;background:#fff;padding:13px;color:var(--ink);font:600 9px var(--serif);cursor:pointer}.detail-open:hover{background:var(--cream)}
.options-band{grid-template-columns:240px 1fr 230px;align-items:center;background:#fbf7f1}.options-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.options-band li{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center}.options-band li b{color:#b7834e;font:600 9px var(--sans);margin-bottom:8px}.options-band li span{font:600 11px var(--serif)}.option-cta{display:block;border:1px solid #917868;border-radius:28px;padding:14px 18px;text-align:center;font:600 10px var(--serif)}
.before{grid-template-columns:240px 1fr;background:#f9f4ed;align-items:start}.accordions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.accordions details{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.accordions summary{padding:18px 20px;cursor:pointer;list-style:none;font:600 14px var(--serif)}.accordions summary::-webkit-details-marker{display:none}.accordions summary:after{content:"＋";float:right;color:#a67847}.accordions details[open] summary:after{content:"−"}.accordions details>div{padding:0 20px 17px;color:#5f5148;font:500 11px/1.8 var(--serif)}.accordions details p{margin:0 0 8px}.text-button{border:0;background:transparent;padding:0;color:#71482b;text-decoration:underline;font:600 10px var(--serif);cursor:pointer}
.price-dialog{width:min(880px,92vw);max-height:90vh;border:0;border-radius:14px;padding:34px 40px 38px;color:var(--ink);background:var(--paper);box-shadow:0 25px 90px #2e1c1066}.price-dialog::backdrop{background:#2f211aa8;backdrop-filter:blur(3px)}.price-dialog h2{font:600 27px var(--serif);margin:8px 0 24px}.dialog-close{position:absolute;right:18px;top:16px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:22px;cursor:pointer}.dialog-scroll{overflow:auto;max-height:48vh;border:1px solid var(--line);border-radius:8px}.price-dialog table{width:100%;border-collapse:collapse;font:600 11px var(--serif);min-width:600px}.price-dialog th,.price-dialog td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:center}.price-dialog th:first-child{text-align:left;background:#f7f2eb}.price-dialog thead th{background:#eee1d3;text-align:center}.dialog-note,.original-note{font:500 11px/1.8 var(--serif)}.original-note{padding:18px 20px;margin-bottom:20px;background:#f7f1e8;border-left:3px solid #b88750}.original-note p{margin:0 0 8px}.price-dialog>.button{margin-top:20px}.price-dialog[open]{animation:dialog-in .18s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.options-band,.before{grid-template-columns:1fr}.options-band ul{grid-template-columns:repeat(3,1fr)}.option-cta{justify-self:center;width:min(360px,100%)}.accordions{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.options-band ul,.accordions{grid-template-columns:1fr 1fr}.price-dialog{padding:28px 18px}.price-dialog h2{font-size:21px}.dialog-scroll{max-height:46vh}}

/* 全サイズを同じ重要度で表示 */
.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}

/* オプションの視認性 */
.options-band li{min-height:112px}.options-band li b{margin-bottom:4px}.option-icon{position:relative;display:grid;place-items:center;width:34px;height:34px;margin:2px 0 7px;color:#71482b;font:500 25px/1 var(--serif);font-style:normal}.icon-pack,.icon-card,.icon-box{border:1.5px solid #8b684d;border-radius:3px}.icon-pack:before{content:"";position:absolute;left:7px;right:7px;top:6px;border-top:1.5px solid #8b684d}.icon-pack:after{content:"";position:absolute;width:7px;height:7px;border:1.5px solid #8b684d;border-radius:50%;bottom:6px}.icon-card{width:28px;height:34px;border-radius:2px}.icon-card:before,.icon-card:after{content:"";position:absolute;left:6px;right:6px;border-top:1.5px solid #8b684d}.icon-card:before{top:10px}.icon-card:after{top:17px}.icon-box:before{content:"";position:absolute;inset:5px;border:1.5px solid #8b684d}.icon-box:after{content:"";position:absolute;left:5px;right:5px;top:11px;border-top:1.5px solid #8b684d}.icon-ribbon{font-size:32px;transform:rotate(-12deg)}.icon-multi{font-size:31px}

/* 詳細料金表をサイズ単位の3行セットとして表示 */
.price-dialog th:first-child{background:transparent}.price-dialog thead th{background:#e9dac8!important}.price-dialog tbody tr:nth-child(-n+3){background:#fffaf3}.price-dialog tbody tr:nth-child(n+4):nth-child(-n+6){background:#f1e7d9}.price-dialog tbody tr:nth-child(n+7):nth-child(-n+9){background:#fffaf3}.price-dialog tbody tr:nth-child(1)>*,.price-dialog tbody tr:nth-child(4)>*,.price-dialog tbody tr:nth-child(7)>*{border-top:3px solid #c7a77f}.price-dialog tbody tr:nth-child(3)>*,.price-dialog tbody tr:nth-child(6)>*,.price-dialog tbody tr:nth-child(9)>*{border-bottom:2px solid #d5bea0}.price-dialog tbody th{border-left:5px solid transparent}.price-dialog tbody tr:nth-child(-n+3) th{border-left-color:#dfbd8d}.price-dialog tbody tr:nth-child(n+4):nth-child(-n+6) th{border-left-color:#a87c52}.price-dialog tbody tr:nth-child(n+7):nth-child(-n+9) th{border-left-color:#72503a}
