/* LPの料金比較に限定。スマートフォンでは表だけ横スクロールする。 */
.plan-comparison-intro {
  margin:32px 0 12px;
  color:#475569;
  font-size:14px;
  line-height:1.7}
.plan-scroll-hint {
  display:none;
  margin-top:8px;
  color:#64748b;
  font-size:13px}
.plan-comparison-scroll {
  overflow-x:auto;
  border:1px solid #cbd5e1;
  border-radius:16px}
.plan-comparison-scroll:focus-visible {
  outline:3px solid #60a5fa;
  outline-offset:4px}
.plan-comparison {
  width:100%;
  min-width:1050px;
  border-collapse:separate;
  border-spacing:0;
  text-align:center;
  color:#334155;
  font-size:14px;
  line-height:1.65}
.plan-comparison th,.plan-comparison td {
  padding:20px 14px;
  border-bottom:1px solid #e2e8f0;
  vertical-align:middle}
.plan-comparison thead th {
  background:#eff6ff;
  color:#0f172a}
.plan-comparison th:first-child {
  position:sticky;
  left:0;
  z-index:1;
  width:135px;
  min-width:135px;
  text-align:left;
  background:#f8fafc;
  box-shadow:1px 0 #e2e8f0;
  font-weight:600}
.plan-comparison td {
  width:18%}
.plan-name {
  display:block;
  font-weight:700;
  font-size:19px}
.plan-description {
  display:block;
  margin-top:6px;
  font-size:12px;
  font-weight:400;
  color:#64748b}
.plan-monthly td {
  font-size:28px;
  font-weight:750;
  color:#0f172a;
  font-variant-numeric:tabular-nums}
.plan-comparison tbody tr:last-child>* {
  border-bottom:0}
.plan-cta {
  display:block;
  padding:12px 8px;
  border-radius:8px;
  background:#1d4ed8;
  color:#fff;
  font-weight:600;
  font-size:13px;
  text-decoration:none}
.plan-cta:hover {
  background:#1e40af}
.plan-cta:focus-visible,.plan-comparison-support :is(a,button):focus-visible {
  outline:3px solid #60a5fa;
  outline-offset:3px}
.plan-comparison-footnote {
  margin-top:12px;
  color:#64748b;
  font-size:13px;
  line-height:1.8}
.plan-comparison-details {
  margin-top:24px;
  border-block:1px solid #e2e8f0}
.plan-comparison-details details {
  padding:18px 0}
.plan-comparison-details details+details {
  border-top:1px solid #e2e8f0}
.plan-comparison-details summary {
  font-weight:600;
  cursor:pointer;
  color:#334155}
.plan-comparison-details dl {
  margin-top:20px;
  display:grid;
  gap:16px}
.plan-comparison-details dl>div {
  display:grid;
  grid-template-columns:120px 1fr;
  gap:16px}
.plan-comparison-details dt {
  font-weight:600}
.plan-comparison-details dd,.plan-comparison-details p {
  font-size:14px;
  line-height:1.85;
  color:#475569}
.plan-comparison-details p {
  margin-top:14px}
.plan-comparison-details a,.plan-comparison-support :is(a,button) {
  color:#1d4ed8;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:4px}
.plan-comparison-support {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:24px}
.plan-comparison-support>div {
  padding:24px;
  background:#f8fafc;
  border-radius:12px}
.plan-comparison-support h3 {
  font-weight:700;
  color:#0f172a}
.plan-comparison-support p {
  margin:8px 0 14px;
  font-size:14px;
  color:#475569;
  line-height:1.8}
@media(max-width:640px) {
  .plan-comparison th:first-child {
  width:96px;
  min-width:96px;
  padding:14px 10px}
.plan-comparison-support {
  grid-template-columns:1fr}
.plan-comparison-details dl>div {
  grid-template-columns:1fr;
  gap:4px}
}


@media(max-width:1200px) {
  .plan-scroll-hint {
  display:block}
}


/* 比較したサービスと利用開始手順を対応させる。 */
.start-path { margin-top: 28px; padding: 28px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; color: #334155; }
.start-path h3 { margin-top: 6px; font-size: 22px; font-weight: 700; color: #0f172a; }
.start-path p { margin-top: 12px; font-size: 14px; line-height: 1.85; }
.start-path .start-path-label { margin-top: 0; font-size: 13px; font-weight: 700; color: #1e40af; }
.start-path-ocr { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: center; border-color: #ddd6fe; }
.start-path-ocr .start-path-label { color: #6d28d9; }
.start-path a,.start-trial-note a { color: #1d4ed8; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.start-path a:focus-visible,.start-trial-note a:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
.start-path .start-path-sequence { margin: 0 0 16px; font-weight: 600; }
.start-fax-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 24px; list-style: none; }
.start-step-number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #eff6ff; color: #1d4ed8; font-weight: 700; }
.start-fax-steps h4 { margin-top: 14px; font-weight: 700; color: #0f172a; }
.start-path .start-path-note { margin-top: 24px; padding-top: 16px; border-top: 1px solid #e2e8f0; }
.start-trial-note { margin-top: 24px; font-size: 14px; line-height: 1.85; color: #475569; }
@media(max-width: 767px) {
 .start-path { padding: 22px 20px; }
 .start-path-ocr,.start-fax-steps { grid-template-columns: 1fr; gap: 24px; }
 .start-fax-steps li+li { border-top: 1px solid #e2e8f0; padding-top: 20px; }
}

#getting-started, #entry-trial-title { scroll-margin-top: 96px; }
