/* =========================================================
   NEF Latest — page-info.css
   Company / Entry / Privacy 共通の固有CSS
   VALUE(promise.html) の世界観に合わせた最小追記。
   CSS変数 (--blue / --navy / --mercury / --line / --font-*)
   は style.css で定義済み。ここでは配置のみ。
   ========================================================= */

/* 明るいコンテンツ帯（page-hero の下）。左右にKV等が出ないよう地色を敷く */
.info-page{position:relative;background:var(--mercury)}

/* 共通の読みやすいセクション幅 */
.info-sec{max-width:1920px;margin:0 auto;padding:clamp(4rem,8vw,8rem) var(--frame)}
.info-sec--narrow{max-width:840px}
.info-label{margin-bottom:2.6rem;color:var(--blue)}

/* =========================================================
   Company — 代表メッセージ
   ========================================================= */
.cm-message{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.cm-photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--navy)}
.cm-photo img{width:100%;height:100%;object-fit:cover}
.cm-body-head{font-weight:400;font-size:clamp(26px,3.6vw,52px);line-height:1.32;
  letter-spacing:-.02em;color:var(--blue);margin-bottom:1.8rem}
.cm-body p{max-width:60ch;margin-bottom:1.3rem}
.cm-body p:last-of-type{margin-bottom:0}
.cm-sign{margin-top:2.4rem;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.cm-sign .cm-role{color:var(--blue);opacity:.6}
.cm-sign .cm-name{font-weight:400;font-size:clamp(18px,2vw,26px);letter-spacing:-.01em;color:var(--blue)}
@media(max-width:760px){.cm-message{grid-template-columns:1fr;gap:2rem}
  .cm-photo{aspect-ratio:4/3;max-width:420px}}

/* =========================================================
   Company — 会社概要（定義リスト風テーブル）
   ========================================================= */
.cp-profile{background:var(--blue);color:var(--mercury)}
.cp-profile .info-sec>.mono{color:rgba(232,230,224,.7);display:block;margin-bottom:2.6rem}
/* PROFILE: 2 columns — label left / table right (same split as REQUIREMENTS) */
.cp-profile .info-sec{display:grid;grid-template-columns:.20fr .80fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.cp-profile .info-sec>.mono{margin-bottom:0;position:sticky;top:110px}
@media(max-width:720px){
  .cp-profile .info-sec{grid-template-columns:1fr;gap:1.8rem}
  .cp-profile .info-sec>.mono{position:static}
}
.cp-table{border-top:1px solid rgba(232,230,224,.4)}
.cp-row{display:grid;grid-template-columns:220px 1fr;gap:1.4rem 3rem;
  border-bottom:1px solid rgba(232,230,224,.28);padding:1.5rem 0;align-items:baseline}
.cp-row dt{font-weight:400;font-size:clamp(15px,1.4vw,19px);letter-spacing:-.01em}
.cp-row dd{color:rgba(232,230,224,.92);max-width:60ch}
.cp-note{font-family:var(--font-m);font-size:.7rem;color:rgba(232,230,224,.55);
  text-transform:uppercase;letter-spacing:.05em;margin-left:.6rem}
@media(max-width:640px){.cp-row{grid-template-columns:1fr;gap:.4rem;padding:1.2rem 0}}

/* =========================================================
   Company — アクセス
   ========================================================= */
.ca-map{width:100%;aspect-ratio:16/7;overflow:hidden;background:var(--navy);
  display:flex;align-items:center;justify-content:center}
.ca-map img{width:100%;height:100%;object-fit:cover}
.ca-note{margin-top:1.4rem;max-width:60ch}

/* =========================================================
   Entry — フォーム
   ========================================================= */
.en-lead{max-width:820px;margin:0 auto 2.6rem}   /* centered column, aligns with the form */
.en-form{max-width:820px;margin-left:auto;margin-right:auto}   /* center the whole form block */
.en-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem}
.en-field{display:flex;flex-direction:column;gap:.55rem}
.en-field--full{grid-column:1 / -1}
.en-field label{font-family:var(--font-m);font-size:.74rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--blue)}
.en-field label .req{color:var(--blue);margin-left:.35rem}
.en-field input,.en-field select,.en-field textarea{
  font-family:var(--font-g),var(--font-ja);font-size:1rem;color:var(--blue);
  background:var(--white);border:1px solid var(--line);border-radius:2px;
  padding:.85rem 1rem;width:100%;transition:border-color .25s}
.en-field textarea{resize:vertical;min-height:140px;line-height:1.7}
/* lighter placeholder so typed text is clearly distinguishable from the hint */
.en-field input::placeholder,.en-field textarea::placeholder{color:#b7b5b0;opacity:1}
.en-field select:invalid,.en-field select option[value=""]{color:#b7b5b0}
.en-field input:focus,.en-field select:focus,.en-field textarea:focus{
  outline:none;border-color:var(--blue)}
.en-field select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),
    linear-gradient(135deg,var(--blue) 50%,transparent 50%);
  background-position:calc(100% - 20px) center,calc(100% - 14px) center;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.6rem}
.en-consent{display:flex;align-items:flex-start;gap:.7rem;margin-top:2rem;
  font-size:clamp(14px,1.1vw,16px)}
.en-consent input{width:20px;height:20px;flex-shrink:0;margin-top:.15rem;accent-color:var(--blue)}
.en-consent a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.en-submit{margin-top:2.4rem}
.en-submit .cta{border:none}
.en-formnote{font-family:var(--font-m);font-size:.7rem;color:#8a8a90;
  text-transform:uppercase;letter-spacing:.05em;margin-top:1.4rem;max-width:64ch;line-height:1.9}
@media(max-width:640px){.en-grid{grid-template-columns:1fr}}

/* Entry — 応募後の流れ */
.en-flow{background:var(--blue);color:var(--mercury)}
.en-flow .info-sec>.mono{color:rgba(232,230,224,.7);display:block;margin-bottom:2.8rem}
.en-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.en-step{border-top:1px solid rgba(232,230,224,.4);padding-top:1.4rem}
.en-step .en-step-no{font-family:var(--font-m);font-size:1rem;color:rgba(232,230,224,.7);
  letter-spacing:.06em;margin-bottom:.9rem}
.en-step h3{font-weight:400;font-size:clamp(18px,1.9vw,24px);letter-spacing:-.01em;margin-bottom:.8rem}
.en-step p{color:rgba(232,230,224,.9);font-size:clamp(14px,1.1vw,16px)}
@media(max-width:820px){.en-steps{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.en-steps{grid-template-columns:1fr}}

/* Entry — カジュアル面談の案内 */
.en-casual{max-width:820px}
.en-casual h2{font-weight:400;font-size:clamp(22px,2.8vw,38px);letter-spacing:-.01em;
  color:var(--blue);margin-bottom:1.4rem}
.en-casual p{max-width:62ch;margin-bottom:1.1rem}
.en-casual p:last-child{margin-bottom:0}

/* =========================================================
   Privacy — 本文
   ========================================================= */
.pv-body{max-width:none}
.pv-intro{max-width:none;margin-bottom:3rem}
.pv-art{border-top:1px solid var(--line);padding:2.4rem 0}
.pv-art:last-child{border-bottom:1px solid var(--line)}
.pv-art h2{font-weight:400;font-size:clamp(19px,2vw,27px);letter-spacing:-.01em;
  color:var(--blue);margin-bottom:1.1rem}
.pv-art h2 .pv-n{font-family:var(--font-m);font-size:.85em;color:var(--blue);opacity:.6;margin-right:.7rem}
.pv-art p{max-width:none;margin-bottom:1rem}
.pv-art p:last-child{margin-bottom:0}
.pv-art ul{max-width:none;margin:.4rem 0 1rem;padding-left:0}
.pv-art li{position:relative;padding-left:1.4rem;margin-bottom:.5rem}
.pv-art li::before{content:"—";position:absolute;left:0;color:var(--blue);opacity:.6}
.pv-note{font-family:var(--font-m);font-size:.7rem;color:#8a8a90;
  text-transform:uppercase;letter-spacing:.05em;margin-top:2.4rem}
.pv-updated{font-family:var(--font-m);font-size:.72rem;color:var(--blue);opacity:.6;
  letter-spacing:.05em;margin-bottom:2.6rem}

/* conditional form fields (Contact): collapse when not applicable to the selected inquiry type */
.en-field[hidden]{display:none}

/* anchor target: form top clears the fixed header */
#form{scroll-margin-top:100px}

.ca-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1);transition:filter .5s var(--ease)}
@media(hover:hover){
.ca-map:hover iframe{filter:grayscale(0)}
}

/* ===== iPad extension: safe mobile refinements up to 1080px ===== */
/* 代表メッセージ(.cm-message)の縦積みは大きなレイアウト変更のため除外 */
@media(max-width:1080px){
  .cp-profile .info-sec{grid-template-columns:1fr;gap:1.8rem}
  .cp-profile .info-sec>.mono{position:static}
  .cp-row{grid-template-columns:1fr;gap:.4rem;padding:1.2rem 0}
  .en-grid{grid-template-columns:1fr}
}
