/* 会社情報・会社概要・企業理念・利用規約・プライバシーポリシー・特商法・障害/メンテナンス情報 の見た目（2026-10-05 作り直し）
   共通の部品（kit.css の k-）の上に、このページたちだけの部品（pa-）を足す。本文は今の本番から取り出したもの（data/pages）で、文字は変えない
   ※ご利用の流れ・目次の部品は使わなくなったので外した（ご利用の流れは page-guide.css、目次は付けない：栄成さん決定） */
.pa-body { padding: 56px 0 104px; }
.pa-ic { width: 20px; height: 20px; flex: none; }
.k-ic .pa-ic { width: 26px; height: 26px; }
.k-link .pa-ic, .k-btn .pa-ic { width: 18px; height: 18px; }
.pa-cnav { margin-top: 24px; }

/* ---------- 利用規約・プライバシーポリシー：読みやすさ（本文の幅・行間・条の見出し・番号の字下げ） ---------- */
.pa-body--doc { padding-top: 48px; }
.pa-doc { max-width: 760px; margin: 0 auto; }
.pa-prose { font-size: 16px; line-height: 2; color: var(--k-tx); word-break: normal; line-break: strict; overflow-wrap: anywhere; }
.pa-prose .content, .pa-prose .container { display: block; }
.pa-prose .block { padding: 40px 0; border-top: 1px solid var(--k-bd); }
.pa-prose .block:first-child { padding-top: 0; border-top: 0; }
.pa-prose h2 { scroll-margin-top: 96px; display: flex; align-items: flex-start; gap: 12px; margin: 0 0 18px; font: 800 20px/1.6 "Noto Sans JP", sans-serif; letter-spacing: .01em; word-break: auto-phrase; }
.pa-artno { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 4.4em; height: 30px; margin-top: 1px; padding: 0 10px; border-radius: 8px; background: #eaf4fe; color: var(--k-blue); font: 800 14px/1 "Noto Sans JP", sans-serif; letter-spacing: .02em; }
.pa-doc--privacy .pa-artno { min-width: 2.6em; font-family: "Inter", "Noto Sans JP", sans-serif; }
.pa-doc--privacy .block:first-child h2 { display: none; } /* 「プライバシーポリシー」はページの見出しと同じ */
.pa-prose ul, .pa-prose ol { list-style: none; margin: 0; padding: 0; }
.pa-prose li, .pa-prose p { margin: 0 0 12px; }
.pa-prose li:last-child, .pa-prose p:last-child { margin-bottom: 0; }
.pa-prose p:empty { display: none; }
.pa-prose a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
/* 番号の字下げ：番号を左の列に出し、2行目以降を本文の頭にそろえる。深さ（l1〜l3）×番号の種類（d=1. p=(1) k=ア. c=①） */
.pa-li { position: relative; margin-left: var(--ind, 0) !important; padding-left: var(--w, 2em); }
.pa-l1 { --ind: 0em; } .pa-l2 { --ind: 2em; } .pa-l3 { --ind: 4.4em; }
.pa-td { --w: 2em; } .pa-tp { --w: 2.4em; } .pa-tk { --w: 2em; } .pa-tc { --w: 1.6em; }
.pa-n { position: absolute; left: 0; top: 0; color: var(--k-blue); font-weight: 700; font-variant-numeric: tabular-nums; }
.pa-l2, .pa-l3 { font-size: 15.5px; }

/* ---------- 情報の表（項目｜内容）：会社概要・特商法 ---------- */
.pa-info { max-width: 980px; margin: 0 auto; }
.pa-tbl { margin: 0; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px var(--k-bd), 0 18px 40px rgba(0,40,90,.05); overflow: hidden; }
.pa-tbl__row { display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.pa-tbl__row + .pa-tbl__row { border-top: 1px solid var(--k-bd); }
.pa-tbl dt { padding: 22px 28px; background: #f6f9fc; color: var(--k-tx2); font-size: 14px; font-weight: 800; line-height: 1.75; }
.pa-tbl dd { margin: 0; padding: 22px 28px; color: var(--k-tx); font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; word-break: normal; line-break: strict; }
.pa-tbl a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.pa-tbl .col2--name { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 32px; }
.pa-tbl .col2--name .left { color: var(--k-tx2); font-weight: 700; }
.pa-tbl .col2--bank ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pa-tbl .col2--bank li { padding: 3px 14px; border-radius: 999px; background: #eef4fa; font-size: 14px; font-weight: 700; }

/* 会社概要：国ごとの見出し・所在地（地図） */
.pa-co + .pa-co { margin-top: 64px; }
.pa-co__h { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; font: 900 clamp(22px, 2.4vw, 28px)/1.4 "Noto Sans JP", sans-serif; color: var(--k-tx); }
.pa-co__flag { flex: none; width: 6px; height: 26px; border-radius: 3px; background: linear-gradient(180deg, var(--k-sky), var(--k-mint)); }
.pa-maps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pa-map { margin: 0; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px var(--k-bd), 0 18px 40px rgba(0,40,90,.05); }
.pa-map iframe { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; border: 0; background: #e8eef4; }
.pa-map figcaption { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px 20px; color: var(--k-tx2); font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
.pa-map figcaption .k-ic { width: 40px; height: 40px; margin: 0; border-radius: 12px; }
.pa-map figcaption .k-ic .pa-ic { width: 20px; height: 20px; }
.pa-map figcaption b { display: block; margin-bottom: 2px; color: var(--k-tx); font-size: 16px; }

/* ---------- 会社情報（入口） ---------- */
.pa-mission__t { margin: 0; font: 900 clamp(30px, 3.8vw, 50px)/1.45 "Noto Sans JP", sans-serif; letter-spacing: -.02em; color: var(--k-tx); }
.pa-mission__t::after { content: ""; display: block; width: 72px; height: 5px; margin-top: 26px; border-radius: 3px; background: linear-gradient(90deg, var(--k-sky), var(--k-mint)); }
.pa-mission__org { margin: 20px 0 0; color: var(--k-tx2); font-size: 15px; font-weight: 700; }
.pa-mission__go { margin-top: 22px; }
.pa-know > li { display: flex; }
.pa-know__card { display: flex !important; flex-direction: column; width: 100%; padding: 32px; }
.pa-know__t { font-size: 22px; font-weight: 900; color: var(--k-tx); }
.pa-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; }
.pa-facts div { padding: 14px 16px; border-radius: 14px; background: var(--k-tint); }
.pa-facts dt { color: var(--k-tx2); font-size: 12px; font-weight: 800; }
.pa-facts dd { margin: 4px 0 0; color: var(--k-tx); font: 900 18px/1.4 "Inter", "Noto Sans JP", sans-serif; }
.pa-mini { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.pa-mini li { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: baseline; padding: 10px 14px; border-radius: 12px; background: #eefaf6; font-size: 14px; line-height: 1.6; }
.pa-mini span { color: #0f9e7b; font: 900 13px "Inter", sans-serif; }
.pa-mini b { font-weight: 800; color: var(--k-tx); }
.pa-know__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 22px; color: var(--k-blue); font-weight: 800; }
.pa-know__go .pa-ic { width: 18px; height: 18px; transition: transform .2s; }
.pa-know__card:hover .pa-know__go .pa-ic { transform: translateX(3px); }
.pa-svc__h { display: flex; align-items: center; gap: 14px; }
.pa-svc__h img { flex: none; width: 52px; height: 52px; border-radius: 14px; box-shadow: 0 8px 18px rgba(0,40,90,.12); }
.pa-svc__vis { display: flex; justify-content: center; height: 440px; padding-top: 48px; border-radius: var(--k-r); background: linear-gradient(160deg, #e8f4ff 0%, #ecfbf6 100%); overflow: hidden; }
.pa-phone { width: 230px; height: max-content; padding: 8px; border-radius: 38px; background: #0b0f14; box-shadow: 0 30px 60px rgba(0,40,90,.25); }
.pa-phone img { display: block; width: 100%; height: auto; border-radius: 30px; }

/* ---------- 企業理念：大きな文字と余白 ---------- */
.pa-ph { padding: 104px 0; }
.pa-ph__in { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; }
.pa-ph__no { margin: 6px 0 0; font: 900 64px/1 "Inter", sans-serif; letter-spacing: -.04em; background: linear-gradient(135deg, #009ffd, #19c39a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pa-ph__t { margin: 0; font: 900 clamp(26px, 3.4vw, 46px)/1.45 "Noto Sans JP", sans-serif; letter-spacing: -.02em; color: var(--k-tx); text-wrap: balance; } /* 行の長さをそろえ、「届ける」だけが次の行に残らないように */
.pa-ph__b { max-width: 40em; margin: 32px 0 0; color: var(--k-tx2); font-size: 17px; line-height: 2.1; word-break: normal; line-break: strict; }
.pa-ph__list { margin-top: 36px; }
.pa-ph__list .k-card { display: flex; flex-direction: column; }
.pa-ph__list b { color: var(--k-tx); font-size: 16px; font-weight: 800; line-height: 1.65; }

/* ---------- 障害・メンテナンス情報 ---------- */
.pa-now { padding: 40px 0 72px; }
.pa-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.pa-tile { position: relative; padding: 28px 30px 30px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px var(--k-bd), 0 18px 40px rgba(0,40,90,.06); }
.pa-tile__k { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--k-tx2); font-size: 14px; font-weight: 800; }
.pa-tile__v { display: flex; align-items: center; gap: 14px; margin: 0; color: var(--k-tx); font: 900 clamp(24px, 2.6vw, 32px)/1.35 "Noto Sans JP", sans-serif; }
.pa-tile__s { display: block; margin: 12px 0 0; color: var(--k-tx2); font-size: 15px; line-height: 1.8; }
.pa-tile__a { color: var(--k-tx); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pa-tile__a time { margin-right: 10px; font: 600 14px "Inter", sans-serif; color: var(--k-tx2); }
.pa-tile__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; color: var(--k-blue); font-size: 14px; font-weight: 800; }
.pa-tile__more .pa-ic { width: 16px; height: 16px; }
.pa-lamp { position: relative; flex: none; width: 16px; height: 16px; border-radius: 50%; }
.pa-lamp--ok { background: #13c79a; box-shadow: 0 0 0 6px rgba(19,199,154,.18); }
.pa-lamp--ok::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(19,199,154,.5); animation: pa-ping 2.4s ease-out infinite; }
.pa-lamp--warn { background: #ff9800; box-shadow: 0 0 0 6px rgba(255,152,0,.2); }
.pa-lamp--mnt { background: #9fb3c6; box-shadow: 0 0 0 6px rgba(120,145,170,.16); }
.is-on .pa-lamp--mnt { background: var(--k-blue); box-shadow: 0 0 0 6px rgba(0,119,217,.16); }
.is-on .pa-lamp--mnt::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(0,119,217,.45); animation: pa-ping 2.4s ease-out infinite; }
@keyframes pa-ping { 0% { transform: scale(.7); opacity: 1; } 100% { transform: scale(1.7); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pa-lamp::after, .is-on .pa-lamp--mnt::after { animation: none; opacity: 0; } }
.pa-tile--ok { background: linear-gradient(160deg, #ebfbf5 0%, #fff 62%); box-shadow: 0 0 0 1.5px rgba(19,199,154,.4), 0 18px 40px rgba(0,90,60,.06); }
.pa-tile--ok .pa-tile__k { color: #0b7d5f; }
.pa-tile--ok .pa-tile__warn, .pa-tile--warn .pa-tile__ok { display: none; }
.pa-tile--warn { background: linear-gradient(160deg, #fff4e3 0%, #fff 62%); box-shadow: 0 0 0 1.5px rgba(255,152,0,.45), 0 18px 40px rgba(90,50,0,.06); }
.pa-tile--warn .pa-tile__k { color: #9a5300; }
.pa-tile--mnt .pa-tile__v { font-size: clamp(19px, 1.75vw, 23px); }
.pa-tile__v small { display: block; margin-bottom: 2px; color: var(--k-tx2); font-size: 13px; font-weight: 800; letter-spacing: .02em; }
.pa-tile--mnt.is-on { background: linear-gradient(160deg, #e8f3ff 0%, #fff 62%); box-shadow: 0 0 0 1.5px rgba(0,119,217,.45), 0 18px 40px rgba(0,40,90,.06); }
.pa-tile--mnt.is-on .pa-tile__v { font-size: clamp(24px, 2.6vw, 32px); }

/* 定期メンテナンス：48時間の帯 */
.pa-line { margin: 40px 0 0; padding: 34px 36px 26px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px var(--k-bd); }
.pa-line__bar { position: relative; height: 72px; border-radius: 14px; background: repeating-linear-gradient(90deg, #eef3f8 0 calc(100% / 16 - 1px), #e3eaf2 calc(100% / 16 - 1px) calc(100% / 16)); }
.pa-line__band { position: absolute; top: -6px; bottom: -6px; display: grid; place-content: center; justify-items: center; border-radius: 14px; background: linear-gradient(90deg, #0077d9, #009ffd); color: #fff; box-shadow: 0 14px 30px rgba(0,119,217,.3); }
.pa-line__band b { font-size: 17px; font-weight: 900; line-height: 1.3; }
.pa-line__band small { font-size: 12px; font-weight: 700; opacity: .9; }
.pa-line__ticks { position: relative; height: 52px; margin: 12px 0 0; padding: 0; list-style: none; }
.pa-line__ticks li { position: absolute; top: 0; display: grid; justify-items: center; transform: translateX(-50%); color: var(--k-tx2); font: 700 13px/1.4 "Inter", "Noto Sans JP", sans-serif; white-space: nowrap; }
.pa-line__ticks li::before { content: ""; width: 1.5px; height: 8px; margin-bottom: 4px; background: #b9c6d3; }
.pa-line__ticks li b { font-weight: 800; }
.pa-line__ticks li.is-key { color: var(--k-blue); font-weight: 900; }
.pa-line__ticks li.is-key::before { background: var(--k-blue); height: 10px; }
.pa-line__ticks li:first-child { transform: none; justify-items: start; }
.pa-line__ticks li:last-child { transform: translateX(-100%); justify-items: end; }
.pa-can { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 16px 0 0; padding: 0; list-style: none; }
.pa-can li { display: flex; align-items: center; gap: 14px; padding: 20px 22px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--k-bd); color: var(--k-tx); font-size: 16px; line-height: 1.6; }
.pa-can__ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; }
.pa-can__ic .pa-ic { width: 20px; height: 20px; stroke-width: 2.4; }
.pa-can__no .pa-can__ic { background: #fff0ea; color: #d9480f; }
.pa-can__ok .pa-can__ic { background: #e6faf3; color: #0f9e7b; }
.pa-reg__more { margin-top: 22px; }

/* 新しいお知らせ */
.pa-news__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 24px; }
.pa-news__all { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-more { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1.5px var(--k-bd); color: var(--k-tx); font-size: 13px; font-weight: 800; transition: box-shadow .2s, color .2s; }
.pa-more::after { content: "→"; font-family: "Inter", sans-serif; }
.pa-more:hover { box-shadow: inset 0 0 0 1.5px var(--k-blue); color: var(--k-blue); }
.pa-log { margin: 28px 0 0; padding: 0; list-style: none; border-radius: 20px; background: #fff; box-shadow: 0 0 0 1px var(--k-bd); overflow: hidden; }
.pa-log li + li { border-top: 1px solid var(--k-bd); }
.pa-log a { display: grid; grid-template-columns: 112px 96px minmax(0, 1fr) 18px; align-items: center; gap: 16px; padding: 20px 26px; color: var(--k-tx); transition: background .2s; }
.pa-log a:hover { background: #f7fbff; }
.pa-log time { color: var(--k-tx2); font: 600 14px "Inter", sans-serif; }
.pa-log b { font-weight: 800; line-height: 1.6; }
.pa-log__go { width: 18px; height: 18px; color: var(--k-blue); }
.pa-badge { display: inline-flex; align-items: center; justify-self: start; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; background: #eef3f8; color: var(--k-tx); font-size: 12px; font-weight: 800; white-space: nowrap; }
.pa-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #8aa0b4; }
.pa-badge--mnt { background: #e8f3ff; color: #005fae; }
.pa-badge--mnt::before { background: var(--k-blue); }
.pa-badge--warn { background: #fff3e0; color: #9a5300; }
.pa-badge--warn::before { background: #ff9800; }

/* 困ったとき */
.pa-help__list { margin-top: 32px; }
.pa-help__list > li { display: flex; }
.pa-help__card { display: flex !important; align-items: center; gap: 14px; width: 100%; padding: 20px 22px; }
.pa-help__card .k-ic { flex: none; margin: 0; }
.pa-help__card .k-h3 { flex: 1; margin: 0; font-size: 16px; }
.pa-help__go { color: var(--k-blue); }
.pa-ai { display: flex; align-items: center; gap: 18px; margin-top: 16px; padding: 22px 24px; border-radius: var(--k-r); background: #fff; box-shadow: 0 0 0 1px var(--k-bd); }
.pa-ai .k-ic { flex: none; margin: 0; }
.pa-ai > div { flex: 1; min-width: 0; }
.pa-ai b { color: var(--k-tx); font-size: 17px; font-weight: 900; }
.pa-ai p { margin: 2px 0 0; color: var(--k-tx2); font-size: 14px; }
.pa-ai .k-btn { flex: none; }

/* ---------- スマホ ---------- */
@media (max-width: 960px) {
  .pa-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pa-svc__vis { height: 360px; padding-top: 36px; }
  .pa-phone { width: 190px; }
  .pa-ph { padding: 72px 0; }
  .pa-ph__in { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .pa-ph__no { font-size: 48px; }
  .pa-ph__b { font-size: 16px; line-height: 2; margin-top: 24px; }
  .pa-board { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .pa-can { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pa-maps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .pa-body { padding: 36px 0 72px; }
  .pa-body--doc { padding-top: 32px; }
  .pa-prose { font-size: 15px; line-height: 1.95; }
  .pa-l2, .pa-l3 { font-size: 14.5px; }
  .pa-l2 { --ind: 1.2em; } .pa-l3 { --ind: 2.6em; }
  .pa-prose .block { padding: 32px 0; }
  .pa-prose h2 { gap: 10px; font-size: 18px; }
  .pa-artno { height: 28px; font-size: 13px; }
  .pa-tbl { border-radius: 16px; }
  .pa-tbl__row { grid-template-columns: minmax(0, 1fr); }
  .pa-tbl dt { padding: 16px 18px 0; background: none; font-size: 13px; }
  .pa-tbl dd { padding: 4px 18px 16px; font-size: 15px; }
  .pa-tbl .col2--name { column-gap: 20px; }
  .pa-co + .pa-co { margin-top: 48px; }
  .pa-know__card { padding: 24px 20px; }
  .pa-facts { gap: 8px; }
  .pa-facts div { padding: 12px 10px; }
  .pa-facts dd { font-size: 14px; white-space: nowrap; }
  .pa-tile { padding: 22px 20px 24px; }
  .pa-line { padding: 26px 16px 16px; }
  .pa-line__bar { height: 60px; }
  .pa-line__band b { font-size: 15px; }
  .pa-line__ticks li { font-size: 12px; }
  .pa-log a { grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; padding: 16px 18px; }
  .pa-log b { grid-column: 1 / -1; }
  .pa-log__go { display: none; }
  .pa-ai { flex-wrap: wrap; padding: 20px; }
  .pa-ai > div { flex-basis: calc(100% - 70px); }
  .pa-ai .k-btn { flex: 1 1 100%; }
}
