/*
 Theme Name: originalstyle-1column_02 Child
 Theme URI: https://www.kagami-clinic.jp/
 Description: originalstyle-1column_02 の子テーマ（院長カスタム用）
 Author: Kagami Clinic
 Template: originalstyle-1column_02
 Version: 1.0
*/
@charset "utf-8";
/* ここに院長カスタム用の追加CSSを書いていきます */


/* =========================================================▼以下は追加CSS ==========================================================*/
/* visitedの色変化キャンセル（ボタン本体にクラスが付いている前提） */
.btn-style:visited,
.btn-style-reverse:visited {
  color: inherit !important;
}


/* ▼ 外枠：中央寄せ */
.cs-related-wrap {
  max-width: 1000px;
  margin: 60px auto;
  padding: 0 20px;
}

/* ▼ 色付きボックス */
.cs-related-box {
  background: #f7fbfb;
  border-radius: 24px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  padding: 32px 24px 32px;
}
@media (max-width: 599px) {
  .cs-related-box {
    padding: 24px 18px 26px;
    border-radius: 20px;
  }
}

/* ▼ 冒頭テキスト */
.cs-related-intro {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: left;
  line-height: 1.8;
}

/* ▼ 見出し */
.cs-related-title {
  max-width: 760px;
  margin: 0 auto 22px;
  text-align: left;
  font-weight: 600;
}

/* ▼ flexで中央寄せ（grid 廃止） */
.cs-related-cards {
  display: flex;
  flex-direction: column;    
  align-items: center;
  gap: 20px;
}

@media (min-width: 768px) {
  .cs-related-cards {
    flex-direction: row;
    justify-content: center;
  }
}

/* ▼ 個別カード */
.cs-related-card {
  display: block;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #e7efef;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  padding: 24px 20px;               /* 少し上下ゆったりに */
  text-decoration: none;
  text-align: center;               /* ボタン全体の中央寄せ */
  width: 100%;
  max-width: 460px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

@media (hover:hover) {
  .cs-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.10);
    border-color: rgba(10,186,181,.25);
  }
}

/* ▼ カード内テキスト（中央揃え） */
.cs-card-texts {
  text-align: center;               /* 中央寄せ */
  max-width: 100%;
  margin: 0 auto;
}

/* タイトル */
.cs-card-label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--brand, #0ABAB5);
}

/* 説明 */
.cs-card-desc {
  display: block;
  opacity: .85;
}

/* ▼ cs_colono_list 用 */
.cs-colono-section{
  margin:56px 0 64px; padding:0 16px;
}
.cs-colono-inner{
  max-width:1000px; margin:0 auto;
  padding:28px 20px 32px;
  background:#f7fbfb; border-radius:24px;
  box-shadow:0 12px 30px rgba(0,0,0,0.05);
  text-align:center;
}
.cs-colono-title{
  margin:0 0 18px; font-weight:700;
  color:#333; font-size:20px; line-height:1.5;
}
.cs-colono-heading{
  margin:24px 0 8px; font-size:15px; font-weight:700;
  color:#333; border-left:4px solid #0ABAB5;
  padding-left:8px;
  background:none !important;
}
.cs-colono-heading::before,
.cs-colono-heading::after{
  content:none !important; display:none !important;
}
.cs-colono-body{
  max-width:520px; margin:0 auto; text-align:left;
}
.cs-colono-list{
  list-style:none; margin:0 0 8px; padding:0 0 0 4px;
}
.cs-colono-list li{ margin-bottom:4px; }
.cs-colono-list a{
  font-size:14px !important; color:#777 !important;
  text-decoration:none; border-bottom:1px dotted #ccc;
  padding-bottom:1px;
}
.cs-colono-list a:hover{
  color:#0ABAB5 !important; border-color:#0ABAB5;
}
@media (max-width:767px){
  .cs-colono-inner{ padding:24px 16px 28px; border-radius:18px; }
  .cs-colono-title{ font-size:18px; }
  .cs-colono-body{ max-width:100%; }
  .cs-colono-heading{ font-size:14px; }
}


/* ===== 大腸内視鏡LP：背景付きページリード ===== */
.page-lead {
  background: #f5fbfb !important;
  border: 1px solid #d2e8e8 !important;
  border-radius: 14px !important;
  padding: 28px 20px !important;
  margin: 24px auto !important;
  max-width: 900px !important;
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06) !important;
}
.page-lead h1 {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
  color: #182027 !important;
  margin-bottom: 10px !important;
  max-width: 38em !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.page-lead p {
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: #444 !important;
  max-width: 40em !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =======================================
   採用LP（job-2）専用：ベース設定
   ======================================= */
body.page-id-9267 {
  color: #182027;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI",sans-serif;
}
body.page-id-9267 img{
  max-width:100%;
  height:auto;
  vertical-align:middle;
}

/* ボタン共通 */
body.page-id-9267 .btn{
  display:inline-block;
  padding:14px 18px;
  border-radius:12px;
  background:#0ABAB5;
  color:#fff;
  font-weight:700;
  border:1px solid transparent;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}
body.page-id-9267 .btn:hover{
  opacity:.95;
  text-decoration:none;
}

/* ヒーロー（テキスト＋KPI） */
body.page-id-9267 .hero{
  padding:56px 0 28px;
  background:linear-gradient(180deg,#f6fffe,#ffffff);

  /* 角丸・左右余白（下の重複定義を統合） */
  border-radius: 20px !important;
  overflow: hidden !important;
  margin-left: 20px !important;
  margin-right: 20px !important;
}
body.page-id-9267 .hero .wrap{
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box;
}
body.page-id-9267 .hero .grid{
  display:block !important;
}
body.page-id-9267 .hero .grid > div{
  width:100% !important;
}
body.page-id-9267 .h1{
  font-size:clamp(26px,5vw,40px);
  font-weight:700;
  margin:0 0 10px;
  line-height:1.2;
}
body.page-id-9267 .lead{
  color:#5b6876;
  font-size:16px;
  line-height:1.7;
}
body.page-id-9267 .kpi{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;
  margin-top:20px !important;
}
body.page-id-9267 .kpi .card{
  background:#fff;
  border:1px solid #e7efef;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  text-align:center;
}
@media (max-width:768px){
  body.page-id-9267 .kpi{
    grid-template-columns:1fr !important;
  }
}

/* セクション共通 */
body.page-id-9267 .section{
  padding:48px 0;
  border-top:1px solid #e7efef;
}
body.page-id-9267 .h2{
  font-size:clamp(22px,4vw,28px);
  font-weight:700;
  text-align:center;
  margin-bottom:20px;
}

/* 入社応援特典ボックス */
body.page-id-9267 .bonus-box{
  max-width:960px;
  margin:0 auto 32px;
}
body.page-id-9267 .bonus-box__inner{
  display:flex;
  gap:24px;
  padding:20px 24px;
  border-radius:12px;
  border:1px solid #e7efef;
  background:#f9fdfd;
  line-height:1.8;
  font-size:14px;
}
body.page-id-9267 .bonus-box__text{
  flex:1 1 0;
}
body.page-id-9267 .bonus-box__img{
  flex:0 0 220px;
  display:flex;
  align-items:center;
}
@media (max-width:768px){
  body.page-id-9267 .bonus-box__inner{
    flex-direction:column;
  }
}

/* 働く魅力（3列カード） */
body.page-id-9267 #merit .wrap{
  max-width:1080px;
  margin:0 auto;
  padding:0 20px;
}
body.page-id-9267 #merit .cards{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:20px !important;
}
body.page-id-9267 #merit .cards > *{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
body.page-id-9267 #merit .card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:24px 26px;
  background:#fff;
  border:1px solid #e7efef;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  text-align:center;
}
body.page-id-9267 #merit .card .muted{
  text-align:left;
  margin-top:8px;
}
@media (max-width:768px){
  body.page-id-9267 #merit .cards{
    grid-template-columns:1fr !important;
  }
}

/* 2カラム → SPで1カラム */
body.page-id-9267 .job-section .grid,
body.page-id-9267 .entry-two-col{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:32px !important;
}
@media (max-width:768px){
  body.page-id-9267 .job-section .grid,
  body.page-id-9267 .entry-two-col{
    grid-template-columns:1fr !important;
  }
}

/* 募集要項の dl */
body.page-id-9267 .dl{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:12px;
}
@media (max-width:768px){
  body.page-id-9267 .dl{
    grid-template-columns:1fr;
  }
}

/* 応募ボタン（重複を1本化） */
body.page-id-9267 .btn-submit-wrap{
  text-align: center !important;
  margin-top: 16px !important;
}
body.page-id-9267 .btn-submit{
  display: inline-block !important;
  padding: 14px 28px !important;
  border-radius: 12px !important;
  background: #0ABAB5 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ローカルナビ 修復 */
body.page-id-9267 .lp-nav{
  position: sticky !important;
  top: var(--header-h, 64px) !important;
  z-index: 40 !important;
  background: #fff !important;
  border-bottom: 1px solid #e7efef !important;
}
body.page-id-9267 .lp-nav ul{
  margin: 0 !important;
  padding: 0 8px !important;
  list-style: none !important;
  display: flex !important;
  gap: 4px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
body.page-id-9267 .lp-nav a{
  display: block !important;
  padding: 10px 14px !important;
  color: var(--brand) !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
  background: none !important;
}
body.page-id-9267 .lp-nav a:hover{
  background: var(--card) !important;
}
@media (max-width: 768px){
  body.page-id-9267 .lp-nav{
    mask: none !important;
    position: static !important;
  }
  body.page-id-9267 .lp-nav ul{
    overflow-x: auto !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.page-id-9267 .lp-nav ul::-webkit-scrollbar{
    display: none !important;
  }
}

/* 募集要項カードの見た目復活（全体 card） */
body.page-id-9267 .card{
  background: #ffffff !important;
  border: 1px solid #e7efef !important;
  border-radius: 16px !important;
  padding: 20px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.06) !important;
  box-sizing: border-box !important;
}

/* --------------------------
   キャリアステップ：内部カード
   ※「余白」はここで統一（16px）
-------------------------- */

/* ==========================
   job-2：キャリアステップ（余白は 12px に統一）
   ========================== */

/* 内部カードの見た目（余白以外） */
body.page-id-9267 ol.career-step > li > ul > li{
  background:#f7fbfb;
  border:1px solid #e7efef;
  border-radius:16px;
  padding:16px;
}

/* 内部カード同士の間隔（最終ルール） */
body.page-id-9267 ol.career-step ul > li{
  margin-bottom: 12px;
}
body.page-id-9267 ol.career-step ul > li:last-child{
  margin-bottom: 0;
}

/* 主な業務と一日の流れ（.flow） */
body.page-id-9267 .flow{
  display:grid;
  gap:14px;
  padding:0;
}
body.page-id-9267 .flow li{
  list-style:none;
  background:#f7fbfb;
  border:1px solid #e7efef;
  border-radius:12px;
  padding:12px;
}
/* 最後の1件だけは余白なし（ul.flow想定） */
body.page-id-9267 ul.flow > li:last-child{
  margin-bottom: 0 !important;
}

