/* =========================================================
   既存ページを改善案デザインに寄せる（本文はそのまま、見た目だけ上書き）
   対象：募集要項（engineer / designer / sales / consultant）・よくあるご質問・用語集・提携事例
   unique.css の旧スタイル（灰色の帯の見出し・グレー背景の表・グラデーションのボタンなど）を打ち消す
========================================================= */

/* ---------- 共通：セクションの余白・背景・見出し ---------- */
main section{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px);background:#fff}
main section h2,
main section h2.fc-1{margin:0 0 32px;font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.5;letter-spacing:.03em;color:#1c2b33;text-align:left}
/* 見出しの上にティールの短い線（他ページの英字ラベルの線と同じ色・長さ） */
main section h2::before{content:"";display:block;width:24px;height:2px;margin-bottom:18px;background:#17808a}
main strong{background:none}

/* 左に見出し・右に中身の2カラム（会社紹介・採用の「会社概要」「インタビュー」と同じ型） */
.page-id-51 main section .maxw-md,
.page-id-43 main section .maxw-md{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);column-gap:clamp(32px,6vw,88px);align-items:start}
.page-id-51 main section .maxw-md > *,
.page-id-43 main section .maxw-md > *{grid-column:2}
.page-id-51 main section .maxw-md > h2,
.page-id-43 main section .maxw-md > h2{grid-column:1;grid-row:1 / span 60;word-break:auto-phrase}
@media(max-width:860px){
  .page-id-51 main section .maxw-md,
  .page-id-43 main section .maxw-md{grid-template-columns:1fr}
  .page-id-51 main section .maxw-md > *,
  .page-id-43 main section .maxw-md > *,
  .page-id-51 main section .maxw-md > h2,
  .page-id-43 main section .maxw-md > h2{grid-column:1;grid-row:auto}
}
/* ブロックごとの背景：白と薄い青緑のグラデーションを交互に */
.page-id-51 main section:nth-of-type(even),
.page-id-43 main section:nth-of-type(even){background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}

/* ---------- よくあるご質問：上が濃い線のQ&A一覧（採用の「先輩社員にきいてみた」と同じ形） ---------- */
.page-id-51 main h3{margin:0;padding:24px 0 0;background:none;font-size:17px;font-weight:700;line-height:1.6;color:#1c2b33}
.page-id-51 main h2 + h3{border-top:2px solid #1c2b33}
.page-id-51 main h3 img{display:none}
.page-id-51 main h3::before{content:"Q. ";color:#17808a}
.page-id-51 main h3 + p{margin:10px 0 0;padding-bottom:24px;border-bottom:1px solid #e3eaee;font-size:15.5px;line-height:1.95;color:#47515c}
.page-id-51 main h3 + p::before{content:"A. ";font-weight:700;color:#17808a}

/* ---------- 用語集：上が濃い線の表（左に用語、右に説明。会社概要の表と同じ形） ---------- */
.page-id-43 main dl{display:grid;grid-template-columns:minmax(0,220px) 1fr;margin:0;border-top:2px solid #1c2b33}
.page-id-43 main dt,
.page-id-43 main dd{margin:0 !important;padding:18px 0;border-bottom:1px solid #e3eaee}
.page-id-43 main dt{padding-right:24px;font-size:15.5px !important;font-weight:700;line-height:1.7;color:#1c2b33}
.page-id-43 main dd{font-size:15px;line-height:1.85;color:#47515c}
@media(max-width:640px){
  .page-id-43 main dl{grid-template-columns:1fr}
  .page-id-43 main dt{padding-bottom:0;border-bottom:none}
  .page-id-43 main dd{padding-top:6px}
}

/* ---------- 募集要項：上が濃い線の表（項目名ティール。採用案内の職種カードの要項と同じ形） ---------- */
.table-two-columns table{margin:0;border:none;border-top:2px solid #1c2b33}
.table-two-columns table th,
.table-two-columns table td{padding:20px 0;border:none;border-bottom:1px solid #e3eaee;background:none;vertical-align:top}
.table-two-columns table tr:last-child td{border-bottom:1px solid #e3eaee}
.table-two-columns table th{padding-right:24px;text-align:left;font-size:15px;font-weight:700;letter-spacing:.04em;color:#17808a}
.table-two-columns table td{font-size:15.5px;line-height:1.9;color:#1c2b33}
.table-two-columns td ul{margin:6px 0 0;padding:0;list-style:none}
.table-two-columns td li{position:relative;padding:3px 0 3px 22px}
.table-two-columns td li::before{content:"";position:absolute;left:0;top:1.05em;width:10px;height:2px;background:#17808a}
.table-two-columns td .grid-list > *{display:block}
@media screen and (min-width:544px){
  .table-two-columns table th{width:220px;border:none;border-bottom:1px solid #e3eaee}
}
@media(max-width:543px){
  .table-two-columns table th{padding-bottom:0;border-bottom:none}
  .table-two-columns table td{padding-top:6px}
}
/* エントリーボタン：採用案内・技術ページのCTAと同じアウトライン型 */
.btn.btn-basic a{max-width:320px;margin:0 auto;padding:16px 56px 16px 46px;border:1px solid #3786CD;border-radius:999px;background:#fff;color:#3786CD !important;font-size:16px;font-weight:500;letter-spacing:.1em;text-align:center;transition:background .3s,color .3s}
.btn.btn-basic a::after{top:50%;right:1.4rem;line-height:1;transform:translateY(-50%) scale(.6,1.2)}
.btn.btn-basic a:hover{background:#3786CD;color:#fff !important;opacity:1}

/* ---------- 提携事例 ---------- */
.page-id-53 main section{padding-top:0;padding-bottom:0}
/* 取引企業：薄い青緑の帯に白いカード（影はやめて角丸8px） */
.page-id-53 main section > .bg-snow{margin:0 -1rem;padding:clamp(64px,8vw,104px) 1rem !important;background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}
.page-id-53 main section > .bg-snow > .maxw-md.bg-white{margin-bottom:clamp(48px,6vw,72px) !important;padding-top:24px;padding-bottom:24px;border-radius:8px}
.page-id-53 main section > .bg-snow > .maxw-md.bg-white p{margin:0;text-align:left;font-size:16.5px;line-height:1.9;color:#1c2b33}
.page-id-53 .grid-list li.bg-white{padding:16px 16px 24px !important;border-radius:8px;box-shadow:none;background:#fff}
.page-id-53 .grid-list li a.fc-1{font-size:16px;font-weight:700;color:#17808a !important}
.page-id-53 .grid-list li .fs-6{margin-top:4px;font-size:13px !important;color:#47515c}
/* 業種の事例：白地に枠線のカードを2列 */
.page-id-53 main .bg-4{padding:clamp(64px,8vw,104px) 0;background:#fff}
.page-id-53 main .bg-4 > .maxw-md{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.page-id-53 main .bg-4 > .maxw-md > h2,
.page-id-53 main .bg-4 > .maxw-md > .ta-center{grid-column:1 / -1}
.page-id-53 main .bg-4 > .maxw-md > h2{margin-bottom:16px}
.page-id-53 main .bg-4 .bg-white{margin:0 !important;padding:26px 26px 28px !important;border:1px solid #e3eaee;border-radius:8px}
.page-id-53 main .bg-4 h3{margin:0 0 12px;text-align:left;font-size:18px;font-weight:700;color:#17808a}
.page-id-53 main .bg-4 .bg-white p{margin:0;font-size:15px;line-height:1.85;color:#47515c}
.page-id-53 main .bg-4 > .maxw-md > .ta-center{margin-top:16px;padding:0 !important;text-align:left;font-size:15.5px;line-height:1.9;color:#47515c}
@media(max-width:760px){.page-id-53 main .bg-4 > .maxw-md{grid-template-columns:1fr}}
/* 締めのメッセージ：薄い青緑の帯に白いカード */
.page-id-53 main section > .maxw-md:last-child{max-width:none;width:auto;margin:0 -1rem;padding:clamp(64px,8vw,104px) var(--main-pad);background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}
.page-id-53 main section > .maxw-md:last-child > div{max-width:calc(var(--site-max) - var(--site-pad) * 2);margin:0 auto;padding:clamp(28px,4vw,44px) !important;border-radius:8px}
.page-id-53 main section > .maxw-md:last-child p{margin:0;font-size:16.5px;line-height:1.9;color:#1c2b33}

/* unique.css のユーティリティ（.fc-1 の文字色・.ta-center の中央寄せ）は !important のため、ここも !important で打ち消す */
main section h2.fc-1{color:#1c2b33 !important}
.page-id-53 main .bg-4 h3,
.page-id-53 main .bg-4 > .maxw-md > .ta-center{text-align:left !important}
.page-id-53 main .bg-4 h3.fc-1{color:#17808a !important}
/* 用語の折り返しは文節単位に／親テーマの広い字間（.1em）を他ページと同じくらいに */
.page-id-43 main dt{word-break:auto-phrase}
main{letter-spacing:.04em}

/* =========================================================
   新着情報：一覧（事例一覧と同じく、薄い青緑の帯に白いカード3列）
========================================================= */
main section.news-index{padding:clamp(56px,7vw,88px) 0 clamp(72px,9vw,112px);background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}
.news-grid{max-width:var(--main-max);margin:0 auto;padding:0 var(--main-pad);list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.news-grid > li{min-width:0;display:flex}
.news-card{display:flex;flex-direction:column;width:100%;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 4px 16px rgba(22,50,57,.05);text-decoration:none !important;transition:transform .2s,box-shadow .2s}
.news-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(22,50,57,.10)}
.news-thumb{aspect-ratio:16/10;overflow:hidden;background:#f1f5f7}
.news-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0}
.news-body{padding:20px 22px 24px}
.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.news-cat{padding:3px 12px;border-radius:999px;background:#e2f0f1;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#1f5f66}
.news-meta time{font-size:13px;font-weight:500;letter-spacing:.06em;color:#47515c;font-variant-numeric:tabular-nums}
main .news-title{margin:12px 0 0;font-size:17.5px;font-weight:700;line-height:1.6;color:#1c2b33}
.news-excerpt{margin:10px 0 0;font-size:14px;line-height:1.8;color:#47515c;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:860px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.news-grid{grid-template-columns:1fr}}

/* =========================================================
   新着情報：各お知らせ（読みやすい本文幅のカラムに、分類・日付・本文）
   記事ごとにインラインで書かれた見出しの装飾（黒い太線など）も、ここでそろえる
========================================================= */
.news-article{max-width:calc(800px + var(--main-pad) * 2);margin:0 auto;padding:clamp(48px,6vw,72px) var(--main-pad) clamp(56px,7vw,88px)}
.news-content{margin-top:28px}
.news-content section{padding:0 !important;background:none !important}
.news-content .maxw-md,.news-content .maxw-sm{max-width:none !important;width:auto !important;padding:0 !important;margin:0 !important}
.news-content,.news-content .fs-4,.news-content p,.news-content div{font-size:16.5px !important;line-height:1.95;color:#1c2b33}
.news-content [class*="ma-"]{margin:0 0 1.2em !important}
.news-content h2,.news-content h2.title-font{margin:2em 0 .8em !important;padding:0 0 0 14px !important;border:none !important;border-left:3px solid #17808a !important;background:none !important;font-size:21px !important;font-weight:700;line-height:1.5;color:#1c2b33 !important}
.news-content h2::before{display:none}
.news-content h3{margin:1.8em 0 .6em;font-size:18px;font-weight:700;color:#1c2b33}
.news-content img{max-width:100%;height:auto;border-radius:8px}
.news-content a{color:#17808a !important}
/* 前後のお知らせ：グレーの箱を左右に並べ、箱全体をリンクにする（片方しかない記事は、その1つを横幅いっぱいに表示） */
main .post-navigation{max-width:calc(800px + var(--main-pad) * 2);margin:0 auto;padding:0 var(--main-pad) clamp(64px,8vw,96px)}
main .post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
main .post-navigation .nav-previous{grid-column:1}
main .post-navigation .nav-next{grid-column:2}
main .post-navigation .nav-links > :only-child{grid-column:1 / -1}
main .post-navigation a{display:flex;align-items:center;justify-content:center;height:100%;padding:22px 24px;border-radius:8px;background:#f3f6f8;font-size:14px;line-height:1.7;text-align:center;color:#1c2b33;transition:background .3s,color .3s}
main .post-navigation a:hover{background:#e2f0f1;color:#17808a}
@media(max-width:560px){main .post-navigation .nav-links{grid-template-columns:1fr}main .post-navigation .nav-previous,main .post-navigation .nav-next{grid-column:1}}

/* =========================================================
   フォーム（お問い合わせ・採用エントリー・資料ダウンロード）
   表は募集要項と同じ形（上が濃い線・項目名ティール）。「必須」は青緑、「任意」は薄いグレーに
========================================================= */
.page-id-49 main .maxw-sm,
.page-id-41 main .maxw-sm,
.page-id-47 main .maxw-sm{max-width:880px}
.page-id-49 main .maxw-sm > p:first-child,
.page-id-47 main .maxw-sm > p:first-child{margin-bottom:32px;font-size:16.5px;line-height:1.9;color:#1c2b33}
.wpcf7 .table-two-columns{margin-bottom:32px}
.wpcf7 .table-two-columns table th{vertical-align:middle;color:#1c2b33}
.wpcf7 .required,
.wpcf7 .optional{display:inline-block;margin-right:10px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.06em;line-height:1.6;vertical-align:1px}
.wpcf7 .required{background:#17808a !important;color:#fff !important}
.wpcf7 .optional{background:#e8eef1 !important;color:#47515c !important}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 input[type="number"],.wpcf7 input[type="date"],.wpcf7 select,.wpcf7 textarea{padding:10px 12px;border:1px solid #d5e0e5;border-radius:6px;background:#fff;font-size:15px;color:#1c2b33}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:none;border-color:#17808a;box-shadow:0 0 0 3px rgba(23,128,138,.15)}
.wpcf7 ::placeholder{color:#98a1ab}
.wpcf7 .wpcf7-list-item{margin:0 18px 6px 0}
.wpcf7 input[type="radio"],.wpcf7 input[type="checkbox"]{accent-color:#17808a}
/* 送信ボタン：技術・採用・募集要項のCTAと同じアウトライン型（白地に青い枠、ホバーで塗り） */
.wpcf7 input[type="submit"]{display:block;width:100%;max-width:320px;margin:0 auto;padding:16px 24px;border:1px solid #3786CD !important;border-radius:999px;background:#fff !important;font-size:16px;font-weight:500;letter-spacing:.1em;color:#3786CD !important;transition:background .3s,color .3s}
.wpcf7 input[type="submit"]:hover{background:#3786CD !important;color:#fff !important}
.wpcf7 .ta-center a{color:#17808a}
/* 採用エントリー：「希望の職種」「プロフィール」などの区切り見出し */
.page-id-41 main .wpcf7 h3{margin:48px 0 16px;font-size:19px;font-weight:700;color:#1c2b33}
.page-id-41 main .wpcf7 h3:first-of-type{margin-top:0}
/* フォーム下の注意書き */
.page-id-49 main .maxw-sm > ul{margin-top:40px;padding:20px 24px 20px 44px;border-radius:8px;background:#f1f5f7;font-size:14.5px;line-height:1.9;color:#47515c}

/* =========================================================
   サイトのご利用について・個人情報保護方針
   見出しは他ページと同じ形（上のティールの線＋太字）。本文は読みやすい字間・行間に
========================================================= */
.page-id-45 main section p,
.page-id-3 main section p,
.page-id-3 main section li,
.page-id-3 main section td{font-size:15.5px;line-height:1.95;color:#1c2b33}
.page-id-45 main section h2:not(:first-child),
.page-id-3 main section h2:not(:first-child){margin-top:72px}
.page-id-3 main h3{margin:40px 0 14px;font-size:19px;font-weight:700;color:#1c2b33}
.page-id-3 main h4{margin:28px 0 10px;padding:0 0 0 12px;border-left:3px solid #17808a;background:none;font-size:16.5px;font-weight:700;color:#1c2b33}
/* 個人情報保護方針：平らな青緑の帯・枠線の箱 → 他ページと同じグラデーションの帯・角丸カード */
.page-id-3 main section.bg-4{background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}
.page-id-3 main .maxw-md.ba-5,
.page-id-3 main .maxw-md.bg-white{border:1px solid #e3eaee !important;border-radius:8px;background:#fff}
.page-id-3 main table th{background:none;color:#17808a;text-align:left}
.page-id-3 main table th,.page-id-3 main table td{border:none;border-bottom:1px solid #e3eaee;padding:14px 12px 14px 0}

/* ---------- 調整 ---------- */
/* 一覧カードのタイトルには、セクション見出し用の上の線を付けない */
main .news-title::before{display:none}
/* アイキャッチ未設定の記事（ロゴの仮画像）は、ロゴが大きくなりすぎないよう余白をとって収める */
.news-thumb img[src*="post_default"]{object-fit:contain;padding:14% 24%;background:#fff}
/* 前後のお知らせ：親テーマの箱の余白・背景は使わず、上の a に付けた箱で表示する（下線なし） */
main .post-navigation .nav-previous,
main .post-navigation .nav-next{padding:0;background:none}
main .post-navigation a{text-decoration:none !important}
/* フォーム：募集要項用の箇条書き（ティールの線）・1列化をフォームには効かせない（姓／名などの横並びを元に戻す） */
.wpcf7 .table-two-columns td li{padding:0}
.wpcf7 .table-two-columns td li::before{display:none}
.wpcf7 .table-two-columns td .grid-list > *{display:grid}
.wpcf7 textarea{background:#fff !important}
/* 規約：見出しが7つ続くので、他ページのセクション見出しより一段小さく */
.page-id-45 main section h2{margin-bottom:20px;font-size:clamp(20px,2.2vw,24px)}
.page-id-45 main section h2:not(:first-child){margin-top:56px}

/* =========================================================
   完了ページ（お問い合わせ完了・資料ダウンロード完了）
========================================================= */
/* お問い合わせ完了：白いカードに本文、下に「ホームへ戻る」 */
.page-id-1683 main section{background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}
.page-id-1683 main .maxw-sm{max-width:760px;padding:clamp(32px,5vw,56px) clamp(24px,5vw,56px) !important;border-radius:8px;background:#fff}
.page-id-1683 main .maxw-sm p{margin:0;font-size:16px;line-height:2;color:#1c2b33}
.page-id-1683 main .maxw-sm a[href^="tel:"]{font-size:20px;font-weight:700;letter-spacing:.04em;color:#17808a;text-decoration:none}
.thanks-back{margin:32px 0 0;text-align:center}
.thanks-back a{display:inline-block;padding:14px 48px;border:1px solid #3786CD;border-radius:999px;background:#fff;font-size:15px;font-weight:500;letter-spacing:.08em;color:#3786CD !important;text-decoration:none !important;transition:background .3s,color .3s}
.thanks-back a:hover{background:#3786CD;color:#fff !important}
/* 資料ダウンロード完了：薄い青緑の帯に、白いカード（サムネイル＋資料名＋ファイル情報） */
.page-id-563 main section{background:linear-gradient(120deg,#eef7f8 0%,#eef3fa 100%)}
.page-id-563 main .grid-list > ul{gap:20px}
.page-id-563 main .grid-list li a{height:100%;padding:16px 16px 22px !important;border-radius:8px;background:#fff !important;box-shadow:0 4px 16px rgba(22,50,57,.05);font-size:16px;font-weight:700;line-height:1.7;color:#1c2b33 !important;text-decoration:none !important;transition:transform .2s,box-shadow .2s}
.page-id-563 main .grid-list li a:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(22,50,57,.10)}
.page-id-563 main .grid-list li img{width:100%;height:auto;margin-bottom:14px;border-radius:4px}
.page-id-1683 main .maxw-sm a[href^="tel:"]{text-decoration:none !important}

/* お問い合わせ・資料ダウンロード・採用エントリーの送信ボタン：本番サイトと同じ、表の幅いっぱいの青緑の塗り（角丸0.5rem）に戻す
   色はヘッダー右上・フッターの「お問い合わせ」ボタンと同じ #4ABDC5 */
.page-id-49 .wpcf7 input[type="submit"],
.page-id-47 .wpcf7 input[type="submit"],
.page-id-41 .wpcf7 input[type="submit"]{max-width:none;padding:18px 24px;border:none !important;border-radius:.5rem;background:#4ABDC5 !important;color:#fff !important;font-weight:500;letter-spacing:.1em}
.page-id-49 .wpcf7 input[type="submit"]:hover,
.page-id-47 .wpcf7 input[type="submit"]:hover,
.page-id-41 .wpcf7 input[type="submit"]:hover{background:#3aa9b1 !important;color:#fff !important}
