/* A quiet card shared visually with the income simulator. */
body[data-page="price"][data-atmosphere="atelier-v17"] main.page .price-simulator {
  box-sizing:border-box; width:min(700px,calc(100% - 32px)); margin:36px auto 44px;
  padding:30px 30px 24px!important; border:1px solid #dfe2e8!important; border-radius:12px!important;
  background:#fff!important; box-shadow:0 6px 24px #4d566008!important;
  color:#50545b; font-family:var(--font-body,"Noto Sans JP",sans-serif);
}
.price-simulator__heading { margin-bottom:28px; text-align:center; }
.price-simulator__kicker { margin:0 0 10px; color:#b08c5b; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:.2em; }
body[data-page="price"] .price-simulator__title { margin:0; color:#50545b; font-family:inherit; font-size:24px; font-weight:600; line-height:1.55; letter-spacing:.03em; }
.price-simulator__fields { display:grid; grid-template-columns:1fr; gap:16px; min-width:0; }
.price-simulator__field { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; gap:14px; min-width:0; }
.price-simulator__field>span { color:#50545b; font-size:15px; font-weight:600; line-height:1.65; letter-spacing:.01em; }
body[data-page="price"] .price-simulator :is(select,input[type="time"]) { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:44px; margin:0; padding:8px 30px 8px 12px; border:1px solid #d9dde4!important; border-radius:5px!important; background:#fff!important; color:#50545b!important; font:inherit; font-size:15px; line-height:1.5; box-shadow:none!important; }
body[data-page="price"] .price-simulator :is(select,input):focus-visible { outline:2px solid #91afd5; outline-offset:3px; }
body[data-page="price"][data-atmosphere="atelier-v17"] .price-simulator__result { margin-top:24px; padding:20px 0 0; border:0!important; border-top:1px solid #e3e5e9!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; }
.price-simulator__result-label { display:flex; align-items:baseline; gap:10px; margin:0; color:#50545b; font-size:15px; font-weight:600; line-height:1.6; }
.price-simulator__result-label::before { position:relative; top:-3px; flex:none; width:18px; height:2px; border-radius:1px; background:#b89b69; content:""; }
.price-simulator__amount { display:flex; align-items:baseline; gap:10px; margin:14px 0 0; color:#50545b; }
.price-simulator__amount strong { color:inherit; font-family:inherit; font-size:36px; font-weight:600; line-height:1.3; letter-spacing:0; font-variant-numeric:tabular-nums; }
.price-simulator__amount>span { font-size:18px; font-weight:500; }
.price-simulator__breakdown { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:14px; }
.price-simulator__line { display:flex; align-items:baseline; gap:8px; color:#808691; font-size:12px; line-height:1.7; }
.price-simulator__line strong { color:#737984; font:inherit; font-variant-numeric:tabular-nums; }
.price-simulator__status { margin:12px 0 0; color:#737984; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.price-simulator__note { margin:20px 0 0; color:#818791; font-size:11px; line-height:1.8; text-align:left; }
.price-simulator__option-note { display:block; margin-top:4px; }
.price-simulator [hidden] { display:none!important; }
@media(max-width:640px) {
  body[data-page="price"][data-atmosphere="atelier-v17"] main.page .price-simulator { width:calc(100% - 24px); margin:24px auto 32px; padding:22px 16px 18px!important; border-radius:10px!important; }
  .price-simulator__heading { margin-bottom:24px; }
  .price-simulator__kicker { font-size:10px; }
  body[data-page="price"] .price-simulator__title { font-size:20px; }
  .price-simulator__fields { gap:14px; }
  .price-simulator__field { grid-template-columns:86px minmax(0,1fr); gap:12px; }
  .price-simulator__field>span { font-size:14px; }
  body[data-page="price"] .price-simulator :is(select,input[type="time"]) { padding-left:10px; font-size:14px; }
  .price-simulator__result-label { font-size:14px; }
  .price-simulator__amount { margin-top:13px; }
  .price-simulator__amount strong { font-size:32px; }
  .price-simulator__amount>span { font-size:17px; }
  .price-simulator__note { margin-top:18px; }
}
@media(max-width:350px) { .price-simulator__field { grid-template-columns:1fr; gap:6px; } }