
.bp{--ink:#282628;--muted:#686264;--line:#e4dcd9;--wash:#f7e8ed;color:var(--ink);background:#fff;font-family:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;box-sizing:border-box;padding:30px;font-size:14px;line-height:1.65}
.bp *{box-sizing:border-box}.bp h1,.bp h2,.bp p{margin:0}.bp h1{font-size:25px;line-height:1.45;letter-spacing:.02em;font-weight:700}.bp h2{font-size:16px;font-weight:700;margin-bottom:12px}.bp .mast{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:15px;margin-bottom:24px;gap:16px}.bp .wordmark{font-size:26px;font-weight:700;letter-spacing:.14em}.bp .small{font-size:11px;color:var(--muted)}.bp .eyebrow{font-size:10px;letter-spacing:.15em;color:var(--muted);margin-bottom:6px}.bp .promo{background:var(--wash);padding:12px 15px;margin:18px 0 22px;border-left:3px solid var(--ink);font-size:13px}.bp .promo strong{display:block}.bp .promo span{font-size:12px;color:var(--muted)}.bp table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.bp th,.bp td{padding:13px 9px;text-align:right;vertical-align:middle;border-bottom:1px solid var(--line)}.bp th:first-child,.bp td:first-child{text-align:left;width:42%}.bp thead th{background:var(--ink);color:#fff;font-size:12px;font-weight:500}.bp tbody td:last-child{background:var(--wash)}.bp .number{font-weight:700;white-space:nowrap;font-size:17px}.bp .note{display:block;color:var(--muted);font-size:11px;font-weight:400}.bp .included{margin-top:28px}.bp .list{margin:0;padding:0;list-style:none}.bp .list li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.bp .list li span:last-child{white-space:nowrap;font-weight:700}.bp .extra{margin-top:28px}.bp .badge{display:inline-block;background:var(--ink);color:white;padding:3px 9px;font-size:11px;margin-bottom:12px;letter-spacing:.03em}.bp .extras th:first-child,.bp .extras td:first-child{width:40%}.bp .extras td{font-variant-numeric:tabular-nums}.bp .extras .number{font-size:16px}.bp .foot{margin-top:22px;border-top:1px solid var(--ink);padding-top:13px;font-size:11px;color:var(--muted)}.bp .foot strong{color:var(--ink);font-weight:700}.bp .draft{margin-top:15px;font-size:10px;letter-spacing:.1em;color:var(--muted)}
.bp-mobile{max-width:414px;margin:20px auto;border:1px solid var(--line);border-radius:22px;padding:26px 22px}.bp-mobile h1{font-size:23px}.bp-mobile .mast{margin-bottom:22px}.bp-mobile td,.bp-mobile th{padding:13px 6px}.bp-mobile .number{font-size:16px}.bp-mobile .extras .number{font-size:15px}.bp-mobile .small{max-width:155px;text-align:right}.bp-paper{max-width:1000px;margin:20px auto;min-height:670px;padding:32px 38px}.bp-paper .mast{margin-bottom:20px}.bp-paper .head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.bp-paper .promo{margin:0;min-width:260px}.bp-paper .columns{display:grid;grid-template-columns:1.12fr 1fr;gap:36px}.bp-paper .extra{margin-top:0}.bp-paper .included{margin-top:22px}.bp-paper .list li{padding:7px 0}.bp-paper .foot{margin-top:24px}.bp-paper td,.bp-paper th{padding:10px 8px}
@media(max-width:640px){.bp-paper{padding:24px 18px}.bp-paper .columns{grid-template-columns:1fr;gap:24px}.bp-paper .head{display:block}.bp-paper .promo{margin-top:16px}.bp h1{font-size:22px}.bp-paper .mast .small{max-width:140px;text-align:right}}
.bp table th,.bp table td,.bp table th:first-child,.bp table td:first-child{text-align:center}
.bp table tbody td:not(:first-child){font-size:22px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.bp table .number,.bp .extras .number{font-size:26px;font-weight:700;letter-spacing:-.025em}
.bp table .note{font-size:11px;font-weight:400;white-space:normal}
.bp-mobile table th:first-child,.bp-mobile table td:first-child{width:38%}
.bp-mobile table tbody td:not(:first-child){font-size:19px}
.bp-mobile table .number,.bp-mobile .extras .number{font-size:22px}
@media(max-width:360px){.bp-mobile{padding:24px 14px}.bp-mobile table tbody td:not(:first-child){font-size:17px}.bp-mobile table .number,.bp-mobile .extras .number{font-size:20px}}
.bp .unit{display:inline;font-size:11px;font-weight:400;white-space:nowrap;margin-left:2px}
.bp-mobile table th:first-child,.bp-mobile table td:first-child{width:36%}
.bp-mobile table .number{font-size:20px}
.bp thead th,.bp .badge{background:#8b3752}.bp .promo{border-color:#dc6b88}.bp tbody td:last-child{color:#8b3752}.bp table .unit{display:inline;font-size:11px;white-space:nowrap}.bp table .number{font-size:25px}.bp .foot,.bp .mast{border-color:#dc6b88}#pricing{scroll-margin-top:95px;padding:42px 12px;background:#fcfaf7}#pricing .bp{width:100%;max-width:700px;margin:auto;padding:clamp(12px,4vw,32px);border:1px solid #e4dcd9;border-radius:16px}#pricing .bp h2{font-size:24px}#pricing .bp h3{font-size:17px;margin:0 0 12px}#pricing .bp th,#pricing .bp td{padding:10px 4px}#pricing .bp th:first-child,#pricing .bp td:first-child{width:35%}#pricing .bp .number,#pricing .bp tbody td:not(:first-child){font-size:clamp(16px,4.6vw,24px)}#pricing .bp .unit{font-size:10px;margin-left:0}#pricing .bp .foot{line-height:1.75}#pricing .pricing-download,.byst-pricing-link{display:inline-block;color:#8b3752;font-weight:700;text-decoration:underline;text-underline-offset:.2em}#pricing .pricing-download{margin-top:20px}
.bp .pricing-option-title{font-size:15px}
.bp .pricing-option-value{display:inline-block;color:#8b3752;font-size:20px;line-height:1.35;white-space:nowrap;margin-inline-start:.25em}
.bp .included .list li{display:grid;grid-template-columns:minmax(0,12.5em) minmax(0,8em);justify-content:center;align-items:center;column-gap:12px;padding-inline:6px}
.bp .included .list li span:first-child{text-align:left}
.bp .included .list li span:last-child{text-align:left;white-space:normal}

#pricing>details{max-width:700px;margin:auto}
#pricing>details>summary{display:list-item;list-style-position:inside;width:fit-content;margin:auto;padding:12px 18px;border:1px solid #8b3752;border-radius:8px;color:#8b3752;background:#fff;font-weight:700;cursor:pointer}
#pricing>details[open]>summary{margin-bottom:20px}

#pricing .pricing-table-heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-bottom: 12px;
}
#pricing .bp .pricing-table-heading h3,
#pricing .pricing-table-heading .badge { margin: 0; }

@media (min-width: 920px) {
  #pricing > details { max-width: 1123px; }
  #pricing .bp {
    max-width: none;
    aspect-ratio: 297 / 210;
    padding: 22px clamp(20px, 3vw, 38px);
  }
  #pricing .bp .head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 14px;
  }
  #pricing .bp .promo { margin: 0; }
  #pricing .pricing-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 36px);
  }
  #pricing .bp .extra { margin-top: 0; }
  #pricing .pricing-table-heading { min-height: 28px; }
  #pricing .bp .included { margin-top: 14px; }
  #pricing .bp .included .list li {
    grid-template-columns: minmax(0, 12.5em) minmax(0, 10.5em);
    padding-block: 4px;
  }
  #pricing .bp th, #pricing .bp td { padding: 5px 4px; line-height: 1.35; }
  #pricing .bp .foot { margin-top: 12px; line-height: 1.55; }
  #pricing .pricing-download { margin-top: 12px; }
}
