/* ===== 固定ページ・記事ページ共通 ===== */

/* ページボディ */
.page-body .section-grid{min-height:300px}
.page-body__content{padding:40px 0 60px}

/* 記事コンテンツ */
.article-content{max-width:860px;padding:40px 0 60px}
.article-content h2{font-size:26px;font-weight:900;margin:48px 0 16px;padding-bottom:10px;border-bottom:2px solid var(--pool-line)}
.article-content h3{font-size:20px;font-weight:900;margin:36px 0 12px}
.article-content h4{font-size:16px;font-weight:900;margin:28px 0 8px}
.article-content p{margin:0 0 18px;line-height:2}
.article-content ul,.article-content ol{margin:0 0 18px 24px}
.article-content li{margin:6px 0;line-height:1.8}
.article-content img{margin:24px 0;border:1px solid var(--pool-line)}
.article-content blockquote{border-left:4px solid var(--pool-blue);padding:16px 24px;margin:24px 0;background:rgba(169,211,220,.15);font-weight:700}
.article-content a{text-decoration:underline;text-underline-offset:3px}
.article-content table{width:100%;border-collapse:collapse;margin:24px 0}
.article-content th,.article-content td{padding:12px 16px;border:1px solid var(--pool-line);text-align:left}
.article-content th{background:var(--pool-cream);font-weight:900}
.article-meta{display:flex;align-items:center;gap:18px;margin-bottom:32px;padding-bottom:18px;border-bottom:1px solid var(--pool-line)}
.article-meta time{font-weight:900;font-size:14px}
.article-tags{display:flex;gap:8px}
.article-tags a{font-size:12px;font-weight:700;padding:3px 10px;border:1px solid var(--pool-line)}

/* ===== サービス詳細 ===== */
.svc-detail{padding:40px 0 50px}
.svc-detail h2{font-size:clamp(27px,3vw,39px);font-weight:900;margin:0 0 6px}
.svc-detail__en{font-size:13px;font-weight:700;color:var(--pool-muted);margin:0 0 20px;letter-spacing:.05em}
.svc-detail p{font-weight:700;color:var(--pool-muted);line-height:2;max-width:600px}
.svc-detail__price{margin-top:24px;padding:16px 0;border-top:1px solid var(--pool-line);display:flex;gap:24px;font-weight:800}
.svc-detail__price span{color:var(--pool-muted)}

/* ===== サービスカテゴリ選択 ===== */
.svc-type{padding:50px 0 60px;text-align:center}
.svc-type__cards{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:640px;margin:0 auto;border:2px solid var(--pool-line)}
.svc-type__card{display:block;padding:40px 30px;text-align:center;transition:background .2s,color .2s}
.svc-type__card:first-child{border-right:2px solid var(--pool-line)}
.svc-type__card h2{font-size:28px;font-weight:900;margin:0 0 12px;letter-spacing:.08em}
.svc-type__card p{font-size:14px;font-weight:700;color:var(--pool-muted);margin:0 0 20px;line-height:1.7}
.svc-type__link{font-size:12px;font-weight:900;letter-spacing:.06em}
.svc-type__card:hover{background:var(--pool-black);color:var(--pool-white)}
.svc-type__card:hover p{color:rgba(255,255,255,.6)}
/* カテゴリ見出し */
.svc-category__intro{padding:50px 0 50px}
.svc-category__intro h2{font-size:clamp(30px,3.5vw,46px);font-weight:900;margin:0 0 16px}
.svc-category__intro p{font-weight:700;color:var(--pool-muted);line-height:2;max-width:600px}
/* リプレイスメリット */
.replace-merit{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:28px}
.replace-merit__item{padding:24px;border-left:1px solid var(--pool-line)}
.replace-merit__item:first-child{border-left:none;padding-left:0}
.replace-merit__item strong{display:block;font-size:16px;font-weight:900;margin-bottom:10px}
.replace-merit__item p{font-size:13px;max-width:none}
/* リプレイス事例 */
.replace-cases{margin-top:28px}
.replace-case{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;padding:18px 0;border-bottom:1px solid var(--pool-line)}
.replace-case:last-child{border-bottom:none}
.replace-case__before,.replace-case__after{font-weight:900;font-size:15px}
.replace-case__before span,.replace-case__after span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--pool-muted);margin-bottom:4px}
.replace-case__before{color:var(--pool-muted)}
.replace-case__after{color:var(--pool-black)}
.replace-case__arrow{text-align:center;font-size:20px;font-weight:900}

@media(max-width:720px){
  .svc-type__cards{grid-template-columns:1fr}
  .svc-type__card:first-child{border-right:0;border-bottom:2px solid var(--pool-line)}
  .replace-merit{grid-template-columns:1fr}
  .replace-merit__item{border-left:0;padding:16px 0;border-bottom:1px solid var(--pool-line)}
  .replace-case{grid-template-columns:1fr;gap:6px;text-align:center}
  .replace-case__arrow{font-size:16px}
}

/* ===== ワークフロー（ROLO風） ===== */
.svc-workflow{padding:40px 0 50px}
.svc-workflow h2{font-size:clamp(27px,3vw,39px);font-weight:900;margin:0 0 36px}
.wf-step{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:32px 0;border-bottom:1px solid var(--pool-line)}
.wf-step:last-child{border-bottom:none}
.wf-step__num{font-size:32px;font-weight:900;color:var(--pool-muted);line-height:1}
.wf-step__body h3{font-size:20px;font-weight:900;margin:0 0 12px}
.wf-step__body p{font-weight:700;color:var(--pool-muted);line-height:2;margin:0 0 18px;max-width:640px}
.wf-tags{display:flex;gap:10px;flex-wrap:wrap}
.wf-tags span{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:36px;padding:0 16px;border:2px solid var(--pool-line);border-radius:50px;font-size:12px;font-weight:900;letter-spacing:.03em}
/* カテゴリ見出しの補助テキスト */
.svc-type__heading{font-size:clamp(20px,2.5vw,30px);font-weight:900;text-align:center;margin:0 0 32px;line-height:1.5}
@media(max-width:720px){
  .wf-step{grid-template-columns:40px 1fr;gap:14px;padding:24px 0}
  .wf-step__num{font-size:24px}
  .wf-step__body h3{font-size:17px}
  .wf-tags span{min-width:auto;height:30px;padding:0 12px;font-size:11px}
}

/* 導入の流れ */
.flow-section{padding:40px 0 50px}
.flow-section h2{font-size:clamp(27px,3vw,39px);font-weight:900;margin:0 0 30px}
.flow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.flow-steps div{padding:24px;border-left:1px solid var(--pool-line)}
.flow-steps div:first-child{border-left:none}
.flow-steps span{display:block;font-size:36px;font-weight:900;color:var(--pool-muted);margin-bottom:12px}
.flow-steps h3{font-size:16px;font-weight:900;margin:0 0 8px}
.flow-steps p{font-size:13px;font-weight:700;color:var(--pool-muted);margin:0}

/* ===== 会社概要 ===== */
.about-vision{padding:40px 0 50px}
.about-vision h2{font-size:clamp(27px,3vw,39px);font-weight:900;margin:0 0 18px;line-height:1.55}
.about-vision p{font-weight:700;color:var(--pool-muted);line-height:2;max-width:600px}
.about-member{padding:40px 0 50px;display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
.about-member__photo{aspect-ratio:3/4;overflow:hidden;border:1px solid var(--pool-line)}
.about-member__photo img{width:100%;height:100%;object-fit:cover}
.about-member__info h2{font-size:28px;font-weight:900;margin:0 0 4px}
.about-member__en{font-size:13px;color:var(--pool-muted);font-weight:700;margin:0 0 18px}
.about-member__info p{font-weight:700;color:var(--pool-muted);line-height:2}
/* タイムライン経歴 */
.about-timeline{display:grid;grid-template-columns:60px 1fr;gap:4px 18px;margin:0 0 20px;padding:0}
.about-timeline dt{font-weight:900;font-size:14px;padding:10px 0;border-bottom:1px solid var(--pool-line)}
.about-timeline dd{margin:0;padding:10px 0;font-weight:900;font-size:14px;line-height:1.7;border-bottom:1px solid var(--pool-line)}
/* メディア掲載ロゴ */
.about-media{margin-top:28px;padding-top:24px;border-top:1px solid var(--pool-line)}
.about-media__label{font-weight:900;font-size:12px;letter-spacing:.12em;margin:0 0 14px}
.about-media img{max-width:420px;width:100%;height:auto;object-fit:contain;filter:grayscale(100%)}
.about-table{padding:40px 0 50px}
.about-table table{width:100%;max-width:700px;border-collapse:collapse}
.about-table th{text-align:left;padding:14px 18px;font-weight:900;font-size:14px;width:140px;border-bottom:1px solid var(--pool-line);vertical-align:top}
.about-table td{padding:14px 18px;font-weight:700;color:var(--pool-muted);border-bottom:1px solid var(--pool-line)}

/* ===== お問い合わせフォーム ===== */
.contact-form{padding:40px 0 50px;max-width:640px}
.form-group{margin-bottom:22px}
.form-group label{display:block;font-weight:900;font-size:14px;margin-bottom:6px}
.form-group .required{color:#c00;font-size:12px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:2px solid var(--pool-line);background:var(--pool-white);font-size:15px;font-family:inherit;font-weight:700;outline:none;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--pool-blue)}
.form-group textarea{resize:vertical}
.form-message{padding:14px 18px;margin-bottom:20px;font-weight:900;border:2px solid}
.form-message--success{border-color:#2e7d32;background:#e8f5e9;color:#2e7d32}
.form-message--error{border-color:#c62828;background:#fce4ec;color:#c62828}

/* お問い合わせ情報 */
.contact-info{padding:30px 0 40px}
.contact-info div{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--pool-line);font-weight:800}
.contact-info span{color:var(--pool-muted)}

@media(max-width:1180px){
  .about-member{grid-template-columns:180px 1fr}
  .flow-steps{grid-template-columns:repeat(2,1fr)}
  .flow-steps div{border-bottom:1px solid var(--pool-line)}
}
@media(max-width:720px){
  .about-member{grid-template-columns:1fr}
  .about-member__photo{max-width:240px}
  .flow-steps{grid-template-columns:1fr}
  .flow-steps div{border-left:0}
  .contact-info div{grid-template-columns:1fr;gap:4px}
}
