/* プリントカルプ専用。共通のカルプ文字デザインを継承します。 */
.print-calp-page .pc-features { padding: 65px 0; }
.print-calp-page .pc-finish-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:48px; }
.print-calp-page .pc-finish-grid article { overflow:hidden; border-radius:12px; background:#fff; }
.print-calp-page .pc-finish-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.print-calp-page .pc-finish-grid article > div { padding:26px; }
.print-calp-page .pc-finish-grid h3 { margin:13px 0 10px; color:var(--blue-deep); font-size:21px; line-height:1.5; }
.print-calp-page .pc-finish-grid p { color:var(--muted); font-size:14px; line-height:1.9; }
.print-calp-page #price .calp-price-guide .calp-price-table { min-width:560px; table-layout:fixed; }
.print-calp-page #price .calp-price-guide .calp-price-table th:first-child { width:28%; }
.print-calp-page #price .calp-price-guide .calp-price-table td { font-size:16px; }
.print-calp-page #price .calp-table-wrap { max-height:none; overflow-y:visible; }
.print-calp-page .calp-price-switcher { width:100%; }
.print-calp-page .calp-price-panel { width:100%; }

@media(max-width:640px) {
  .print-calp-page .pc-features { padding:45px 0; }
  .print-calp-page .pc-finish-grid { grid-template-columns:1fr; gap:20px; margin-top:30px; }
  .print-calp-page .pc-finish-grid article > div { padding:22px; }
  .print-calp-page #price .calp-price-guide .calp-price-table td { font-size:15px; }
}

.print-calp-page .pc-material-card .calp-material-image img { object-fit:contain; background:#eee6dc; }

.print-calp-page .pc-product-note { max-width: 520px; margin-top: 16px; padding-left: 13px; border-left: 2px solid var(--blue); color: var(--muted); font-size: 12px; line-height: 1.9; }
.print-calp-page .pc-product-note a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.print-calp-page .pc-feature-number { display: block; margin-bottom: 10px; color: var(--blue); font: 800 12px/1.4 'DM Sans', sans-serif; }
.print-calp-page .pc-material-spec { margin-top: 9px; color: var(--blue-deep); font-size: 12px; font-weight: 700; }
.print-calp-page .pc-thickness { padding-block: 70px; background: #fff; }
.print-calp-page .pc-thickness .calp-section-head { margin-bottom: 24px; }
.print-calp-page .pc-thickness-figure { width: min(100%, 860px); margin-inline: auto; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--cream); }
.print-calp-page .pc-thickness-figure > img { display: block; width: 100%; height: auto; }
.print-calp-page .pc-thickness-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border-top: 1px solid var(--line); background: var(--cream); }
.print-calp-page .pc-thickness-options > div { padding: 24px 16px; text-align: center; }
.print-calp-page .pc-thickness-options > div + div { border-left: 1px solid var(--line); }
.print-calp-page .pc-thickness-options strong { color: var(--blue-deep); font: 800 36px/1.3 'DM Sans', sans-serif; }
.print-calp-page .pc-thickness-options strong span { margin-left: 3px; font-size: 15px; }
.print-calp-page .pc-thickness-options p { margin-top: 6px; color: var(--muted); font-size: 11px; }
.print-calp-page .pc-other-thickness { margin-top: 20px; padding: 18px 22px; border-radius: 9px; background: var(--blue-soft); }
.print-calp-page .pc-other-thickness h3 { font-size: 14px; }
.print-calp-page .pc-other-thickness p { margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.print-calp-page .pc-thickness-note { margin-top: 15px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.print-calp-page .pc-process { padding-block: 75px; }
.print-calp-page .pc-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.print-calp-page .pc-process-grid article { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.print-calp-page .pc-process-grid img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #eceae5; }
.print-calp-page .pc-process-grid article > div { padding: 22px; }
.print-calp-page .pc-process-grid h3 { margin-top: 12px; font-size: 17px; line-height: 1.5; }
.print-calp-page .pc-process-grid p { margin-top: 9px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.print-calp-page .pc-price-explanation { display: grid; gap: 7px; margin-bottom: 22px; padding: 18px 22px; border-left: 3px solid var(--blue); background: var(--blue-soft); font-size: 13px; line-height: 1.85; }
.print-calp-page #price .calp-price-table thead th:first-child { position: sticky; left: 0; z-index: 2; }
.print-calp-page .pc-installation-button { margin-top: 16px; }
.print-calp-page .calp-contact-with-mii { display: flex; align-items: center; gap: 24px; min-width: 0; }
.print-calp-page .calp-contact-with-mii > img { width: 92px; height: 138px; object-fit: contain; flex: none; }
@media (max-width: 950px) {
  .print-calp-page .calp-contact .container { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 760px) {
  .print-calp-page .pc-process-grid { grid-template-columns: 1fr; }
  .print-calp-page .pc-process-grid article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
}
@media (max-width: 640px) {
  .print-calp-page .pc-product-note { font-size: 11px; }
  .print-calp-page .pc-thickness, .print-calp-page .pc-process { padding-block: 55px; }
  .print-calp-page .pc-thickness-options > div { padding: 17px 6px; }
  .print-calp-page .pc-thickness-options strong { font-size: 28px; }
  .print-calp-page .pc-thickness-options strong span { font-size: 12px; }
  .print-calp-page .pc-other-thickness { padding: 16px; }
  .print-calp-page .pc-other-thickness p, .print-calp-page .pc-thickness-note { font-size: 11px; }
  .print-calp-page .pc-process-grid article { display: block; }
  .print-calp-page .pc-process-grid article > div { padding: 20px; }
  .print-calp-page .pc-price-explanation { padding: 15px; font-size: 12px; }
  .print-calp-page #price .calp-price-guide .calp-price-table { min-width: 0; font-size: 11px; }
  .print-calp-page #price .calp-price-guide .calp-price-table th:first-child { width: 80px; }
  .print-calp-page #price .calp-price-guide .calp-price-table th,
  .print-calp-page #price .calp-price-guide .calp-price-table td { padding: 12px 4px; font-size: 11px; }
  .print-calp-page #price .calp-price-guide .calp-price-table th:first-child { padding-inline: 7px; }
  .print-calp-page #price .calp-price-guide .calp-price-table thead th:not(:first-child) { white-space: normal; line-height: 1.5; }
  .print-calp-page #price .calp-price-guide .calp-price-table caption { padding: 16px 13px; font-size: 14px; }
  .print-calp-page #price .calp-price-guide .calp-price-table caption span { font-size: 11px; }
  .print-calp-page .calp-contact-with-mii { flex-direction: column; gap: 15px; align-items: flex-start; }
  .print-calp-page .calp-contact-with-mii > img { width: 60px; height: 90px; }
  .print-calp-page .calp-contact-with-mii h2 { font-size: 25px; }
}

/* Page-specific Mii-chan pose layouts. */
.print-calp-page .product-mii img.mii-variation { width:112px; height:auto; object-fit:contain; filter:none; }
.print-calp-page .product-mii.calp-hero-mii img.mii-variation { width:120px; height:auto; }
.print-calp-page .product-mii p { min-width:0; }
.print-calp-page .mii-text-note p::before { display:none; }
@media(max-width:640px) {
 .print-calp-page .product-mii img.mii-variation,
 .print-calp-page .product-mii.calp-hero-mii img.mii-variation { width:84px; height:auto; }
}