@charset "utf-8";
/* ============================================================
   下層ページ共通
   ============================================================ */


/* ---- セクション見出し（英字small＋和文） ---- */
.c-lv2{margin-bottom:26px}
.c-lv2__en{font-size:1.4rem;font-weight:700;letter-spacing:.14em;color:var(--c-red);margin-bottom:14px}
.c-lv2__ja{font-size:2.8rem;font-weight:700;line-height:1.5;letter-spacing:.02em}
@media (max-width:767px){ .c-lv2__en{font-size:1.2rem;margin-bottom:8px} .c-lv2__ja{font-size:2rem} }

/* ---- セクション枠 ---- */
.p-sec{padding:88px 0}
.p-sec--gray{background:var(--c-bg-soft)}
.p-sec--pink{background:var(--c-bg-pink)}
@media (max-width:767px){ .p-sec{padding:52px 0} }

/* ---- 2カラム（テキスト＋画像） ---- */
.p-cols{display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:center}
.p-cols--rev{grid-template-columns:440px 1fr}
.p-cols__txt{font-size:1.6rem;line-height:1.95;max-width:574px}
.p-cols__txt p + p{margin-top:1.5em}
.p-cols__fig--circle{aspect-ratio:1/1;border-radius:50%;overflow:hidden}
.p-cols__fig--circle img{width:100%;height:100%;object-fit:cover}
.p-cols__fig img{width:100%;height:auto}
@media (max-width:1023px){
  .p-cols,.p-cols--rev{grid-template-columns:1fr;gap:32px}
  .p-cols--rev .p-cols__fig{order:-1}
}

/* ============================================================
   ABOUT ページ（カンプ実測：1440×5150）
   ============================================================ */
/* MV 80–672 */
.p-phero{position:relative;height:598px;display:grid;place-items:center;overflow:hidden}
.p-phero__bg{position:absolute;inset:0}
.p-phero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.p-phero__bg::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.46)}
.p-phero__wave{position:absolute;inset:0;pointer-events:none}
.p-phero__wave img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.p-phero__body{position:relative;z-index:1;text-align:center;padding-inline:var(--gutter);transform:translateY(-7px)}
.p-phero__en{font-size:2.7rem;font-weight:700;letter-spacing:.06em;line-height:1;color:var(--c-red);margin-bottom:39px}
.p-phero__ja{font-size:3.7rem;font-weight:700;letter-spacing:.08em;line-height:1;color:var(--c-ink);margin-bottom:43px}
.p-phero__main{font-size:7.1rem;font-weight:700;line-height:1;letter-spacing:.01em;color:var(--c-red);margin-bottom:14px}
.p-phero__main .is-x{color:#F3A3A0;margin:0 .16em}
.p-phero__sub{font-size:7rem;font-weight:700;line-height:1;color:var(--c-ink);margin-bottom:59px}
.p-phero__note{font-size:1.8rem;font-weight:500;line-height:1;color:var(--c-ink)}
@media (max-width:767px){
  .p-phero{height:auto;padding:56px 0}
  .p-phero__en{font-size:1.6rem}
  .p-phero__ja{font-size:1.8rem;padding:4px 20px;margin-bottom:16px}
  .p-phero__main{font-size:2.6rem}
  .p-phero__sub{font-size:2.3rem}
  .p-phero__note{font-size:1.3rem}
}

/* 企業理念 672–1280（背景：低ポリ） */
.p-philo{position:relative;padding:10px 0 40px;overflow:hidden}
.p-philo__bg{position:absolute;inset:0;z-index:0}
.p-philo__bg img{position:absolute;left:0;top:0;width:100%;height:auto;opacity:.6}
.p-philo__inner{position:relative;z-index:1;display:grid;grid-template-columns:577px 1fr;gap:0;align-items:start}
.p-philo__txt{padding-top:110px}
/* 企業理念のテキストはカンプ実測に合わせる（この節だけの上書き） */
.p-philo .c-lv2{margin-bottom:24px}
.p-philo .c-lv2__en{margin-bottom:26px}
.p-philo .p-cols__txt{font-size:1.8rem;line-height:1.25;max-width:565px}
.p-philo .p-cols__txt p + p{margin-top:21px}
/* 企業理念の写真：Figma 書き出しの流動シェイプ（赤ブロブ込み・PNG 透過） */
.p-circlefig{position:relative;width:597px;flex:none;margin-top:-24px}
.p-circlefig img{display:block;width:100%;height:auto}
@media (max-width:1023px){
  .p-philo{padding:64px 0 56px}
  .p-philo__inner{grid-template-columns:1fr;gap:32px;justify-items:center}
  .p-philo__txt{padding-top:0}
  .p-circlefig{width:min(520px,92vw)}
}

/* VALUES＋赤カード 1284–2034（背景 back5.png を1枚で敷く：カンプ実測）
   back5.png は 1440×750 を原寸・全幅で y1284 に配置。セクション上端＝1284 */
.p-values2{position:relative;padding:99px 0 158px;overflow:hidden}
.p-values2__bg{position:absolute;left:50%;transform:translateX(-50%);top:0;width:1440px;z-index:0;pointer-events:none}
.p-values2__bg img{display:block;width:100%;height:auto}
.p-values2__inner{position:relative;z-index:1;display:grid;grid-template-columns:575px 1fr;gap:52px;align-items:start}
.p-values2__fig img{display:block;width:100%;aspect-ratio:575/190;object-fit:cover;object-position:center 50%;border-radius:12px;box-shadow:0 3px 14px rgba(0,0,0,.10)}
.p-values2__txt{margin-top:-4px}
.p-values2 .c-lv2{margin-bottom:0}
.p-values2 .c-lv2__en{font-size:1.5rem;letter-spacing:.14em;margin-bottom:27px}
.p-values2 .c-lv2__ja{font-size:2.75rem;line-height:1.31;letter-spacing:.02em}
.p-values2 .p-cols__txt{font-size:1.8rem;line-height:1.24;max-width:573px;margin-top:25px}
@media (max-width:1023px){
  .p-values2{padding:56px 0 48px}
  .p-values2__inner{grid-template-columns:1fr;gap:28px}
  .p-values2__txt{margin-top:0}
  /* 流動シェイプの写真の直後に写真が続かないよう、文章の下へ回す */
  .p-values2__fig{order:2}
}

/* 赤カード4枚 y1674–1970（249.75×296／間隔66.83／角丸28）カンプ実測 */
.p-vcards-wrap{position:relative;z-index:1;margin-top:99px}
.p-vcards{display:grid;grid-template-columns:repeat(4,1fr);gap:67px}
.p-vcard{
  background:#fff;border-radius:28px;overflow:hidden;
  display:flex;flex-direction:column;height:296px;
  box-shadow:0 3px 14px rgba(0,0,0,.10);
}
.p-vcard__ico{flex:0 0 151px;background:var(--c-red);display:grid;place-items:center}
.p-vcard__ico img{width:auto;height:120px}
.p-vcard p{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:0 10px;text-align:center;
  font-size:2.15rem;font-weight:700;line-height:1.2;color:var(--c-red);
}
@media (max-width:1023px){ .p-vcards-wrap{margin-top:56px} .p-vcards{grid-template-columns:repeat(2,1fr);gap:24px} }
@media (max-width:767px){
  .p-vcards{gap:14px}
  .p-vcard{height:auto;min-height:0;border-radius:16px}
  .p-vcard__ico{flex:0 0 110px;padding:16px 0}
  .p-vcard__ico img{height:78px}
  .p-vcard p{padding:12px 10px 16px;font-size:1.4rem}
}

/* 都市の帯 y2128–2383（image 5.png の y354〜609 を表示）
   上から 白→透明 のグラデーションフィルタ。行ごとの回帰で
   不透明度 0%(上端)→45.5%(60%地点で頭打ち) を実測して再現 */
.p-band{position:relative;z-index:2;height:255px;overflow:hidden;background:#fff}
.p-band img{width:100%;height:100%;object-fit:cover;object-position:center 65%}
.p-band::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.545) 60%,rgba(255,255,255,.545) 100%);
}
@media (max-width:767px){ .p-band{height:140px} }

/* 7つの価値観 y2383–3278（高さ895）カンプ実測 */
.p-seven{
  position:relative;padding:101px 0 81px;text-align:center;overflow:hidden;
  /* 地：121deg のピンクグラデ（カンプのピクセル回帰で算出） */
  background:linear-gradient(121deg,#F9EFEF 0%,#F9EFEF 27%,#F5A1A4 100%);
}
.p-seven__deco{position:absolute;z-index:0;pointer-events:none}
.p-seven__deco img{display:block}
.p-seven__deco--top{top:0;left:0}
.p-seven__deco--top img{width:1245px;height:448px}
.p-seven__deco--bottom{bottom:0;right:0}
.p-seven__deco--bottom img{width:1246px;height:451px}
.p-seven__inner{position:relative;z-index:1}
.p-seven__en{font-size:1.5rem;font-weight:700;line-height:1;letter-spacing:.14em;color:var(--c-red);margin-bottom:39px}
.p-seven__ttl{font-size:3rem;font-weight:700;line-height:1;margin-bottom:33px;color:var(--c-ink)}
.p-seven__lead{font-size:1.77rem;line-height:1;margin-bottom:52px;color:var(--c-ink)}
.p-seven__list{display:grid;grid-template-columns:repeat(4,248px);gap:32px 52px;justify-content:center}
.p-seven__list li:nth-child(5){grid-column:1/2;transform:translateX(150px)}
.p-seven__list li:nth-child(6){grid-column:2/3;transform:translateX(150px)}
.p-seven__list li:nth-child(7){grid-column:3/4;transform:translateX(150px)}
/* 中身はアイコンから文字まで上下中央。行数が増減しても、
   画面幅が変わっても余白を書き換えずに済む */
.p-seven__item{
  width:248px;height:248px;border-radius:50%;background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.10);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0 14px;text-align:center;
}
.p-seven__ico{width:100px;height:100px;border-radius:50%;background:var(--c-red);display:grid;place-items:center;margin-bottom:5px}
.p-seven__ico img{width:52px;height:auto}
.p-seven__name{font-size:2.8rem;font-weight:700;line-height:1;color:var(--c-red);margin-bottom:15px;letter-spacing:.01em}
.p-seven__txt{font-size:1.6rem;line-height:21px;color:var(--c-ink)}
/* タブレット：上4・下3（4:3）の並びを維持したまま縮小する */
@media (max-width:1279px){
  .p-seven__list{grid-template-columns:repeat(4,minmax(0,196px));gap:22px 18px}
  .p-seven__item{width:100%;max-width:196px;height:auto;aspect-ratio:1/1;margin-inline:auto;padding:0 12px}
  .p-seven__list li:nth-child(5){grid-column:1/2;transform:translateX(calc(50% + 9px))}
  .p-seven__list li:nth-child(6){grid-column:2/3;transform:translateX(calc(50% + 9px))}
  .p-seven__list li:nth-child(7){grid-column:3/4;transform:translateX(calc(50% + 9px))}
  .p-seven__ico{width:70px;height:70px;margin-bottom:6px}.p-seven__ico img{width:36px}
  .p-seven__name{font-size:1.9rem;margin-bottom:8px}
  .p-seven__txt{font-size:1.2rem;line-height:1.45}
  /* 赤いあしらいは画面幅に比例させ、見出しに掛からないようにする */
  .p-seven__deco--top img{width:86.5vw;height:auto}
  .p-seven__deco--bottom img{width:86.6vw;height:auto}
}
@media (max-width:767px){
  .p-seven{padding:48px 0 56px}
  .p-seven__ttl{font-size:2rem;line-height:1.4}
  .p-seven__lead{font-size:1.3rem;line-height:1.7;margin-bottom:28px}
  /* SPは4列だと文字が入らないので2列。最後の1つは中央に置いてポツンとさせない */
  .p-seven__list{grid-template-columns:repeat(2,minmax(0,158px));gap:16px;justify-content:center}
  .p-seven__list li:nth-child(n){grid-column:auto;transform:none}
  .p-seven__list li:last-child{grid-column:1/-1;justify-self:center}
  .p-seven__item{width:158px;max-width:none;height:158px;aspect-ratio:auto;padding:0 10px}
  .p-seven__ico{width:48px;height:48px;margin-bottom:6px}.p-seven__ico img{width:25px}
  .p-seven__name{font-size:1.4rem;margin-bottom:4px}
  .p-seven__txt{font-size:1.05rem;line-height:1.4}
}

/* 代表メッセージ y3278–4270／白パネル y3477–4077（x120–1320）カンプ実測 */
.p-message{position:relative;padding:199px 0 193px;overflow:hidden}
.p-message__bg{position:absolute;inset:0}
.p-message__bg img{width:100%;height:100%;object-fit:cover}
.p-message__panel{position:relative;z-index:1;width:100%;background:rgba(255,255,255,.80);padding:101px 100px 100px}
.p-message .c-lv2{margin-bottom:34px}
/* 冒頭2行は本文より大きく（支給原稿のリード部分） */
.p-message__lead{font-size:2.6rem;font-weight:700;line-height:1.55;letter-spacing:.02em;margin-bottom:30px}
.p-message .c-lv2__en{font-size:1.46rem;line-height:1;letter-spacing:.14em;margin-bottom:39px}
.p-message .c-lv2__ja{font-size:2.93rem;line-height:1;letter-spacing:.02em}
.p-message__txt{font-size:1.8rem;line-height:1.556}
.p-message__txt p + p{margin-top:28px}
.p-message__name{margin-top:32px;text-align:right;font-size:1.8rem;font-weight:500;line-height:1.2}
.p-message__name b{font-size:2.25rem;font-weight:700;margin-left:.4em}
@media (max-width:1023px){
  .p-message{padding:96px 0}
  .p-message__panel{padding:48px 40px}
  .p-message__lead{font-size:2.1rem;margin-bottom:22px}
}
@media (max-width:767px){
  .p-message{padding:56px 0}
  .p-message__panel{padding:28px var(--gutter) 32px}
  .p-message .c-lv2__en{margin-bottom:20px}
  .p-message .c-lv2__ja{font-size:2rem}
  .p-message__lead{font-size:1.8rem;line-height:1.5;margin-bottom:18px}
  .p-message__txt{font-size:1.4rem;line-height:1.9}
  .p-message__name{font-size:1.4rem}
  .p-message__name b{font-size:1.9rem}
}

/* 会社概要 4257–4776（左グレー584px＋右地図） */
.p-profile{display:grid;grid-template-columns:588px 1fr;align-items:stretch;background:#fff;min-height:500px}
.p-profile__body{background:#DBDBDB;padding:70px 40px 66px 122px}
.p-profile__ttl{font-size:2.9rem;font-weight:700;line-height:1;margin-bottom:35px}
.p-profile__dl{display:grid;grid-template-columns:120px 1fr;gap:0;font-size:1.8rem;line-height:1.667}
.p-profile__dl dt{font-weight:500}
.p-profile__map{position:relative;min-height:500px}
.p-profile__map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
@media (max-width:1023px){
  /* 地図は下に落とさず、PCと同じ「左に情報・右に地図」を保つ */
  .p-profile{grid-template-columns:53% 1fr;min-height:0}
  .p-profile__body{padding:44px 24px 44px var(--gutter)}
  .p-profile__ttl{font-size:2.4rem;margin-bottom:24px}
  .p-profile__dl{grid-template-columns:92px 1fr;font-size:1.4rem;line-height:1.85}
  .p-profile__map,.p-profile__map iframe{min-height:420px}
}
@media (max-width:767px){
  .p-profile{grid-template-columns:1fr}
  .p-profile__body{padding:36px var(--gutter)}
  .p-profile__ttl{font-size:2rem}
  .p-profile__dl{grid-template-columns:5.5em 1fr;gap:10px 12px;font-size:1.4rem;line-height:1.7}
  .p-profile__map,.p-profile__map iframe{min-height:300px}
}

/* ---- パートナー形態カード ---- */
.p-ptype{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.p-ptype__card{background:#fff;border-radius:18px;box-shadow:0 2px 14px rgba(0,0,0,.08);padding:42px 36px 46px;text-align:center}
.p-ptype__ttl{font-size:2.4rem;font-weight:700;margin-bottom:14px}
.p-ptype__txt{font-size:1.5rem;margin-bottom:34px}
.p-ptype__flow{display:flex;align-items:center;justify-content:center;gap:24px}
.p-ptype__flow figure{margin:0}
.p-ptype__flow img{height:72px;width:auto;margin:0 auto 10px}
.p-ptype__flow figcaption{font-size:1.4rem;font-weight:500}
.p-ptype__arrow{width:0;height:0;border-style:solid;border-width:9px 0 9px 16px;border-color:transparent transparent transparent var(--c-red);margin-bottom:28px}
.p-ptype__arrow--both{position:relative;width:70px;height:3px;background:var(--c-red);border:0}
.p-ptype__arrow--both::before,.p-ptype__arrow--both::after{content:"";position:absolute;top:50%;width:0;height:0;border-style:solid}
.p-ptype__arrow--both::before{left:-2px;transform:translateY(-50%);border-width:8px 14px 8px 0;border-color:transparent var(--c-red) transparent transparent}
.p-ptype__arrow--both::after{right:-2px;transform:translateY(-50%);border-width:8px 0 8px 14px;border-color:transparent transparent transparent var(--c-red)}
@media (max-width:1023px){ .p-ptype{grid-template-columns:1fr;gap:24px} }
@media (max-width:767px){ .p-ptype__card{padding:28px 18px 32px} .p-ptype__ttl{font-size:1.9rem} .p-ptype__flow{gap:12px} .p-ptype__flow img{height:52px} }

/* ---- 左ピンク＋右写真の帯 ---- */
.p-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#FDECEC}
.p-split__body{padding:80px 60px 80px 120px;display:flex;flex-direction:column;justify-content:center}
.p-split__fig img{width:100%;height:100%;object-fit:cover}
@media (max-width:1023px){
  .p-split{grid-template-columns:1fr 42%}
  .p-split__body{padding:44px 28px 44px var(--gutter)}
  .p-split__fig{min-height:0}
  .p-split__fig img{min-height:300px}
}
@media (max-width:767px){
  .p-split{grid-template-columns:1fr}
  .p-split__body{padding:36px var(--gutter)}
  .p-split__fig img{min-height:210px}
}

/* ---- 募集要項タブ ---- */
.p-tabs{max-width:960px;margin-inline:auto}
.p-tabs__nav{display:grid;grid-template-columns:1fr 1fr;gap:0}
.p-tabs__btn{
  padding:18px;font-size:1.8rem;font-weight:700;color:#fff;background:var(--c-ink-mute);
  border-radius:12px 12px 0 0;transition:background .25s var(--ease);
}
.p-tabs__btn[aria-selected="true"]{background:var(--c-red)}
.p-tabs__panel{border:2px solid var(--c-red);border-radius:0 0 12px 12px;padding:40px 44px 46px;background:#fff}
.p-tabs__lead{text-align:left;font-size:1.6rem;font-weight:700;line-height:1.8;margin:0 auto 26px;max-width:44em}
.p-tabs__dl{display:grid;grid-template-columns:8em 1fr;font-size:1.5rem;line-height:1.85}
.p-tabs__dl dt{font-weight:700;color:var(--c-red);padding:18px 0;border-bottom:1px solid var(--c-line)}
.p-tabs__dl dd{padding:18px 0 18px 16px;border-bottom:1px solid var(--c-line)}
@media (max-width:767px){
  .p-tabs__btn{font-size:1.5rem;padding:13px}
  .p-tabs__panel{padding:22px var(--gutter) 26px}
  .p-tabs__dl{grid-template-columns:1fr;font-size:1.4rem}
  .p-tabs__dl dt{padding:14px 0 4px;border-bottom:0}
  .p-tabs__dl dd{padding:0 0 14px}
}

/* ---- お知らせ一覧（アコーディオン） ---- */
.p-news{border-top:1px solid var(--c-line)}
.p-news__item{border-bottom:1px solid var(--c-line)}
.p-news__head{display:grid;grid-template-columns:150px 180px 1fr 60px;gap:24px;align-items:center;width:100%;padding:24px 0;text-align:left}
.p-news__meta{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.p-news__date{font-family:var(--f-num);font-size:1.6rem;font-weight:500;color:var(--c-red);letter-spacing:.04em}
.p-news__cat{font-size:1.3rem;font-weight:500;color:var(--c-red);border:1px solid var(--c-red);padding:1px 12px}
.p-news__thumb{display:block}
.p-news__thumb img{width:180px;aspect-ratio:3/2;object-fit:cover}
.p-news__ttl{display:block;font-size:1.7rem;font-weight:700;line-height:1.5;margin-bottom:6px}
.p-news__ex{display:block;font-size:1.5rem;line-height:1.7}
.p-news__mark{justify-self:end;width:44px;height:44px;border:2px solid var(--c-red);border-radius:50%;position:relative}
.p-news__mark::before{content:"";position:absolute;inset:0;margin:auto;width:11px;height:11px;border-right:2px solid var(--c-red);border-bottom:2px solid var(--c-red);transform:translateY(-3px) rotate(45deg);transition:transform .25s var(--ease)}
.p-news__head[aria-expanded="true"] .p-news__mark::before{transform:translateY(2px) rotate(-135deg)}
.p-news__body{padding:4px 60px 32px 378px;font-size:1.5rem;line-height:1.95}
@media (max-width:1023px){
  .p-news__head{grid-template-columns:132px 140px 1fr 44px;gap:16px}
  .p-news__thumb img{width:140px}
  .p-news__body{padding:4px 0 28px 288px}
}
@media (max-width:767px){
  /* 1行目＝日付＋カテゴリ／開閉マーク、2行目＝サムネイル＋タイトル・抜粋 */
  .p-news__head{
    grid-template-columns:104px 1fr 44px;
    grid-template-areas:"meta meta mark" "thumb txts txts";
    gap:10px 12px;padding:18px 0;
  }
  .p-news__meta{grid-area:meta;flex-direction:row;align-items:center;gap:10px}
  .p-news__mark{grid-area:mark;align-self:center}
  .p-news__thumb{display:block;grid-area:thumb;align-self:start}
  .p-news__thumb img{width:104px}
  .p-news__txts{grid-area:txts;display:block}
  .p-news__ttl{font-size:1.6rem}
  .p-news__ex{font-size:1.4rem}
  .p-news__body{padding:0 0 20px}
}

/* ---- フォーム ---- */
.p-step{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:52px;font-family:var(--f-num);font-size:1.6rem;font-weight:600;letter-spacing:.06em;color:var(--c-ink-mute)}
.p-step span{padding:0 6px}
.p-step span[aria-current]{color:var(--c-ink)}
.p-step i{display:block;width:86px;height:2px;background:#D6D6D6;margin:0 8px}
.p-step span[aria-current] + i{background:var(--c-ink)}
.p-form{max-width:740px;margin-inline:auto}
.p-form__row{margin-bottom:26px}
.p-form__label{display:block;font-size:1.5rem;font-weight:700;margin-bottom:8px}
.p-form__req{color:var(--c-red)}
.p-form__ctrl{
  width:100%;padding:14px 20px;border:1.5px solid var(--c-red);border-radius:999px;
  background:var(--c-red-pale);font-size:1.6rem;
}
.p-form__ctrl:focus{outline:3px solid var(--c-red);outline-offset:2px}
textarea.p-form__ctrl{border-radius:18px;min-height:190px;resize:vertical}
select.p-form__ctrl{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-red) 50%),linear-gradient(135deg,var(--c-red) 50%,transparent 50%);background-position:calc(28px) 50%,calc(34px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-left:56px}
.p-form__privacy{height:190px;overflow-y:auto;border:1px solid var(--c-line);border-radius:10px;padding:18px 22px;font-size:1.35rem;line-height:1.8;background:#fff}
.p-form__submit{text-align:center;margin-top:40px}
.p-form__submit .c-btn{min-width:310px;height:58px;font-size:1.8rem}
.p-form__note{margin-top:28px;text-align:center;font-size:1.4rem;line-height:1.8}
.p-form__line{margin-top:18px;text-align:center;font-size:1.5rem}
.p-form__line img{display:inline-block;width:22px;vertical-align:-5px;margin-left:8px}
.p-confirm{max-width:740px;margin-inline:auto;font-size:1.6rem}
.p-confirm dl{display:grid;grid-template-columns:12em 1fr;border-top:1px solid var(--c-line)}
.p-confirm dt{padding:20px 0;font-weight:700;border-bottom:1px solid var(--c-line)}
.p-confirm dd{padding:20px 0;border-bottom:1px solid var(--c-line)}
.p-confirm__btns{display:flex;gap:20px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.p-thanks{text-align:center;max-width:740px;margin-inline:auto}
.p-thanks p{font-size:1.6rem;line-height:2}
.p-thanks .c-btn{margin-top:40px}
@media (max-width:767px){
  .p-step{font-size:1.3rem;margin-bottom:32px}
  .p-step i{width:40px}
  .p-confirm dl{grid-template-columns:1fr}
  .p-confirm dt{padding:16px 0 4px;border-bottom:0}
  .p-confirm dd{padding:0 0 16px}
  .p-form__submit .c-btn{width:100%;min-width:0;font-size:1.6rem}
}

/* ============================================================
   SERVICE ページ
   ============================================================ */
/* MV（写真背景・左テキスト） */
.p-smv{position:relative;height:500px;display:flex;align-items:center;overflow:hidden}
.p-smv__bg{position:absolute;inset:0}
.p-smv__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.p-smv__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to right,rgba(255,255,255,.92) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.30) 62%,rgba(255,255,255,.12) 100%)}
/* FV写真の上に赤いリボン（recruit / partner と同じ模様・同じ入り方）。
   カンプ service.png には描かれていないが、他ページと揃える指示による。
   引き伸ばすと入り方が変わるので原寸1440pxでセクション上端に固定する */
.p-smv__wave{position:absolute;inset:0;z-index:1;pointer-events:none}
.p-smv__wave img{position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:1440px;max-width:none;height:auto}
.p-smv__inner{position:relative;z-index:2;width:100%}
.p-smv__en{font-size:2rem;font-weight:700;letter-spacing:.06em;color:var(--c-red);margin-bottom:16px}
.p-smv__ttl{font-size:4rem;font-weight:700;line-height:1.4;letter-spacing:.02em;margin-bottom:26px}
.p-smv__ttl .is-red{color:var(--c-red)}
.p-smv__txt{font-size:1.6rem;font-weight:500;line-height:1.85;max-width:33em}
@media (max-width:1023px){
  /* 高さ基準にして模様の下が切れないようにする（recruit / partner と同じ） */
  .p-smv__wave img{width:auto;height:100%;max-width:none}
}
@media (max-width:767px){
  .p-smv__wave img{width:760px;height:auto}
  .p-smv{height:auto;padding:44px 0}
  .p-smv__en{font-size:1.6rem}
  .p-smv__ttl{font-size:2.4rem}
  .p-smv__txt{font-size:1.4rem}
}

/* サービスブロック（写真＋パネル） */
.p-sblock{display:grid;grid-template-columns:540px 1fr;align-items:stretch;margin-bottom:64px}
.p-sblock--rev{grid-template-columns:1fr 540px}
.p-sblock--rev .p-sblock__fig{order:2}
.p-sblock__fig{overflow:hidden}
.p-sblock__fig img{width:100%;height:100%;object-fit:cover;min-height:340px}
.p-sblock__panel{padding:46px 56px 50px;background:#FDECEC}
.p-sblock--guard .p-sblock__panel{background:#EDEDED}
.p-sblock--base .p-sblock__panel{background:#F7F7F7}
/* 項目名をもっと目立たせたいという指摘により、見出し・サブ・アイコンを一段大きく */
.p-sblock__head{display:flex;align-items:center;gap:20px;margin-bottom:26px}
.p-sblock__head img{width:56px;height:auto;flex:none}
.p-sblock__ttl{font-size:3.2rem;font-weight:700;line-height:1.25;letter-spacing:.02em}
.p-sblock__sub{display:block;font-size:1.7rem;font-weight:700;letter-spacing:.04em;color:var(--c-red);margin-top:6px}
.p-sblock__txt{font-size:1.5rem;line-height:1.85;margin-bottom:26px}
.p-sblock__list{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font-size:1.6rem;font-weight:500}
.p-sblock__list li{position:relative;padding-left:1em}
.p-sblock__list li::before{content:"・";position:absolute;left:0;color:var(--c-red)}
.p-sblock__list--1col{grid-template-columns:1fr}
/* タブレット：2列のまま。写真を細くしてパネルを詰める */
@media (max-width:1023px){
  .p-sblock{grid-template-columns:290px 1fr;margin-bottom:40px}
  .p-sblock--rev{grid-template-columns:1fr 290px}
  .p-sblock__fig img{min-height:0}
  .p-sblock__panel{padding:28px 26px 30px}
  .p-sblock__head{gap:14px;margin-bottom:18px}
  .p-sblock__head img{width:44px}
  .p-sblock__ttl{font-size:2.5rem}
  .p-sblock__sub{font-size:1.5rem}
  .p-sblock__txt{font-size:1.4rem;line-height:1.75;margin-bottom:18px}
  .p-sblock__list{font-size:1.4rem;gap:6px 18px}
}
@media (max-width:767px){
  .p-sblock,.p-sblock--rev{grid-template-columns:1fr}
  .p-sblock--rev .p-sblock__fig{order:0}
  .p-sblock__fig img{min-height:200px}
  .p-sblock__panel{padding:28px var(--gutter) 32px}
  .p-sblock__head img{width:46px}
  .p-sblock__ttl{font-size:2.3rem}
  .p-sblock__sub{font-size:1.4rem}
  /* SPは縦に長くなるので項目の行間を詰める */
  .p-sblock__list{grid-template-columns:1fr;font-size:1.5rem;gap:2px;line-height:1.6}
}

/* ご相談からサポートまでの流れ */
.p-flow{background:var(--c-bg-pink);padding:66px 0 76px}
.p-flow__ttl{text-align:center;font-size:2.8rem;font-weight:700;margin-bottom:48px}
.p-flow__list{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:start}
.p-flow__item{position:relative;text-align:center;padding:0 12px}
.p-flow__item:not(:last-child)::after{
  content:"";position:absolute;right:-8px;top:74px;
  width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;
  border-color:transparent transparent transparent var(--c-red);
}
.p-flow__num{font-family:var(--f-num);font-size:1.5rem;font-weight:600;color:var(--c-red);margin-right:6px;letter-spacing:.04em}
.p-flow__name{display:inline;font-size:1.5rem;font-weight:700}
.p-flow__ico{width:70px;height:70px;margin:18px auto 16px;border-radius:50%;background:#fff;display:grid;place-items:center}
.p-flow__ico img{width:34px;height:auto}
/* 文字は左づめのまま、かたまりごとアイコンの中央に置く。
   text-wrap:balance で行が短くなるとボックスだけ元の幅で残り左に寄るため、
   最長行の幅を main.js（.js-centerline）が実測して width に入れている */
.p-flow__txt{font-size:1.4rem;line-height:1.7;text-align:left;max-width:15em;margin-inline:auto}
/* タブレット：3列2行。2行目（04・05）は中央に寄せ、04の前にも矢印を出す */
@media (max-width:1023px){
  .p-flow__list{grid-template-columns:repeat(3,1fr);gap:34px 0}
  .p-flow__item:nth-child(3)::after{display:none}
  .p-flow__item:nth-child(4){grid-column:1;grid-row:2;transform:translateX(50%)}
  .p-flow__item:nth-child(5){grid-column:2;grid-row:2;transform:translateX(50%)}
  .p-flow__item:nth-child(4)::before{
    content:"";position:absolute;left:-8px;top:74px;
    width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;
    border-color:transparent transparent transparent var(--c-red);
  }
}
@media (max-width:767px){
  .p-flow{padding:44px 0 52px}
  .p-flow__ttl{font-size:2rem;margin-bottom:28px}
  .p-flow__list{grid-template-columns:1fr;gap:44px}
  /* ステップの区切りが分かるよう下向き矢印を出す */
  .p-flow__item:not(:last-child)::after{
    display:block;left:50%;right:auto;top:auto;bottom:-30px;transform:translateX(-50%);
    border-width:12px 8px 0 8px;
    border-color:var(--c-red) transparent transparent transparent;
  }
  .p-flow__item:nth-child(3)::after{display:block}
  .p-flow__item:nth-child(4),.p-flow__item:nth-child(5){grid-column:auto;grid-row:auto;transform:none}
  .p-flow__item:nth-child(4)::before{display:none}
}

/* ---- ページ送り（TOPICS一覧） ---- */
.c-pager{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:56px}
.c-pager__list{display:flex;align-items:center;gap:10px}
.c-pager__num{
  display:grid;place-items:center;width:44px;height:44px;
  font-family:var(--f-num);font-size:1.6rem;font-weight:600;letter-spacing:.02em;
  color:var(--c-red);border:1.5px solid var(--c-red);
  transition:color .25s var(--ease),background .25s var(--ease);
}
a.c-pager__num:hover{color:#fff;background:var(--c-red)}
.c-pager__num.is-current{color:#fff;background:var(--c-red)}
.c-pager__arrow{
  position:relative;font-size:1.5rem;font-weight:700;color:var(--c-red);
  padding:0 4px;transition:opacity .25s var(--ease);
}
.c-pager__arrow:hover{opacity:.65}
.c-pager__arrow.is-off{color:var(--c-ink-mute);pointer-events:none}
@media (max-width:767px){
  .c-pager{gap:14px;margin-top:36px}
  .c-pager__list{gap:6px}
  .c-pager__num{width:38px;height:38px;font-size:1.4rem}
  .c-pager__arrow{font-size:1.3rem}
}

/* ---- 地図（iframe） ----
   iframe は absolute 配置なので min-height を持たせるとセルをはみ出し、
   下の CTA 帯に覆いかぶさる。高さはセル側（.p-profile__map）で持たせる */
.p-profile__map{padding:0}
.p-profile__map iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}

/* ---- 募集要項：募集なしの表示 ---- */
.p-tabs__empty{padding:52px 0 44px;text-align:center;font-size:1.6rem;line-height:1.9}

/* お問い合わせ送信フォーム */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-consent{text-align:center;margin-top:28px;font-size:1.6rem}
.form-consent input{width:18px;height:18px;vertical-align:middle;margin-right:8px;accent-color:var(--c-red)}
.form-errors{max-width:900px;margin:0 auto 28px;padding:20px;border:2px solid var(--c-red);font-size:1.6rem;background:#fff1f0}
.form-errors ul{margin:8px 0 0;padding-left:24px}
.p-confirm dd{overflow-wrap:anywhere;white-space:normal}
.p-confirm__btns button:disabled{opacity:.6;cursor:wait}
