/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.20261014.1157
*/

/* ============================================================
   アスヒカル歯科 求人採用サイト
   ブランドカラーは本体HP（asuhikaru-shika.com）から抽出した実際の色
   緑 #38B25D ／ 濃緑 #0B8629 ／ 山吹 #F0A900
   写真を使わない前提で、色面・余白・数字で見せる設計
   ============================================================ */

:root{
  --ash-green:#38B25D;
  --ash-green-d:#0B8629;
  --ash-green-l:#eaf6ee;
  --ash-green-ll:#f5fbf7;
  --ash-accent:#F0A900;
  --ash-accent-d:#c98d00;
  --ash-text:#333;
  --ash-muted:#6e7b74;
  --ash-line:#dde8e1;
}

body{ color:var(--ash-text); }

/* 横幅 --------------------------------------------------------
   Lightning の container が 1140px で止まるので、
   記事エリアを少し広げたうえで、色の帯は画面いっぱいに抜く。 */
.page .site-body-container.container,
.home .site-body-container.container{ max-width:1320px; }

.ash-sec, .ash-hero, .ash-band{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}
/* 帯は全幅、中身は読みやすい幅で中央に */
.ash-sec > *{ max-width:1140px; margin-left:auto; margin-right:auto; }

/* 見出しまわり ------------------------------------------------ */
.ash-sec{ padding:4.5rem clamp(1.5rem,5vw,4rem); }
.ash-sec--tint{ background:var(--ash-green-ll); }
.ash-sec--green{ background:var(--ash-green); color:#fff; }
.ash-sec--green :is(h2,h3,p,li){ color:#fff; }

.ash-ttl{
  text-align:center; margin:0 0 2.5rem; line-height:1.4;
  font-size:clamp(1.5rem,4vw,2.1rem); font-weight:700;
}
.ash-ttl .ash-ttl__en{
  display:block; color:var(--ash-green); font-size:.72rem;
  letter-spacing:.22em; font-weight:700; margin-bottom:.5rem;
}
.ash-sec--green .ash-ttl .ash-ttl__en{ color:rgba(255,255,255,.85); }
.ash-ttl::after{
  content:""; display:block; width:48px; height:3px; margin:1rem auto 0;
  background:var(--ash-green); border-radius:2px;
}
.ash-sec--green .ash-ttl::after{ background:rgba(255,255,255,.9); }

.ash-lead{
  text-align:center; max-width:40rem; margin:0 auto 2.5rem;
  font-size:1.05rem; line-height:2;
}

/* ヒーロー ---------------------------------------------------- */
.ash-hero{
  padding-left:clamp(1.5rem,5vw,4rem); padding-right:clamp(1.5rem,5vw,4rem);
  background:linear-gradient(135deg,var(--ash-green) 0%,var(--ash-green-d) 100%);
  color:#fff; padding:5rem 1.5rem; text-align:center;
}
.ash-hero :is(h1,h2,p){ color:#fff; }
.ash-hero__sub{
  font-size:.82rem; letter-spacing:.2em; opacity:.9; margin:0 0 1rem;
}
.ash-hero__ttl{
  font-size:clamp(1.65rem,5.5vw,2.9rem); font-weight:700;
  line-height:1.45; margin:0 0 1.25rem;
}
.ash-hero__ttl em{ font-style:normal; color:#ffe9a8; }
.ash-hero__txt{ font-size:1rem; line-height:2; margin:0 auto; max-width:34rem; }

/* 数字カード -------------------------------------------------- */
.ash-stats{
  display:grid; gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));
}
.ash-stat{
  background:#fff; border:1px solid var(--ash-line); border-radius:14px;
  padding:1.6rem 1rem; text-align:center;
}
.ash-stat__num{
  display:block; color:var(--ash-green); font-weight:700;
  font-size:clamp(1.8rem,5vw,2.4rem); line-height:1.1; letter-spacing:-.01em;
}
.ash-stat__num small{ font-size:.5em; font-weight:700; margin-left:.15em; }
.ash-stat__lbl{
  display:block; margin-top:.6rem; font-size:.85rem; color:var(--ash-muted);
  line-height:1.6;
}

/* カード（職種・理由） ---------------------------------------- */
.ash-cards{
  display:grid; gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));
}
.ash-card{
  background:#fff; border:1px solid var(--ash-line); border-radius:14px;
  padding:1.75rem 1.5rem; display:flex; flex-direction:column;
}
.ash-card__tag{
  align-self:flex-start; background:var(--ash-green-l); color:var(--ash-green-d);
  font-size:.74rem; font-weight:700; padding:.3rem .75rem; border-radius:999px;
  margin-bottom:.85rem;
}
.ash-card__ttl{ font-size:1.15rem; font-weight:700; margin:0 0 .5rem; line-height:1.5; }
.ash-card__pay{
  color:var(--ash-green-d); font-weight:700; font-size:1.3rem; margin:.25rem 0 .75rem;
}
.ash-card__pay small{ font-size:.62em; font-weight:700; }
.ash-card p{ font-size:.92rem; line-height:1.9; margin:0 0 .5rem; }
.ash-card__foot{ margin-top:auto; padding-top:1rem; }

/* 番号つきの理由 ---------------------------------------------- */
.ash-reason{
  counter-reset:ashr; display:grid; gap:1.25rem;
  grid-template-columns:repeat(auto-fit,minmax(21rem,1fr));
}
.ash-reason > .ash-card{ position:relative; padding-top:2.4rem; }
.ash-reason > .ash-card::before{
  counter-increment:ashr; content:counter(ashr,decimal-leading-zero);
  position:absolute; top:1.1rem; left:1.5rem;
  color:var(--ash-green); font-weight:700; font-size:1.5rem; line-height:1;
  opacity:.5;
}

/* チェックリスト ---------------------------------------------- */
.ash-check{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.ash-check li{
  position:relative; padding-left:1.9rem; line-height:1.9; font-size:.97rem;
}
.ash-check li::before{
  content:""; position:absolute; left:0; top:.52em;
  width:1.1rem; height:.58rem; border-left:3px solid var(--ash-green);
  border-bottom:3px solid var(--ash-green); transform:rotate(-45deg);
  border-radius:1px;
}
.ash-sec--green .ash-check li::before{ border-color:#ffe9a8; }

/* 条件表 ------------------------------------------------------ */
.ash-table table{ width:100%; border-collapse:collapse; background:#fff; }
.ash-table :is(th,td){
  border:1px solid var(--ash-line); padding:.95rem 1.1rem;
  font-size:.94rem; line-height:1.9; text-align:left; vertical-align:top;
}
.ash-table th{
  background:var(--ash-green-l); color:var(--ash-green-d);
  font-weight:700; width:11rem; white-space:nowrap;
}
@media (max-width:600px){
  .ash-table :is(th,td){ display:block; width:auto; white-space:normal; }
  .ash-table th{ border-bottom:none; }
  .ash-table td{ border-top:none; }
}

/* 一問一答 ---------------------------------------------------- */
.ash-qa{ display:grid; gap:.9rem; max-width:880px; margin-left:auto; margin-right:auto; }
.ash-qa__item{
  background:#fff; border:1px solid var(--ash-line); border-radius:12px;
  padding:1.3rem 1.5rem;
}
.ash-qa__q, .ash-qa__a{
  margin:0; line-height:1.95; display:grid;
  grid-template-columns:3.2rem 1fr; align-items:start; gap:0 .75rem;
}
.ash-qa__q{ font-weight:700; margin-bottom:.75rem; }
.ash-qa__n{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:3.2rem; height:1.7rem; border-radius:999px; margin-top:.15rem;
  background:var(--ash-green-l); color:var(--ash-green-d);
  font-size:.76rem; font-weight:700; letter-spacing:.03em;
}
.ash-qa__n--a{ background:#fdf2d8; color:var(--ash-accent-d); }
.ash-ttl__range{
  display:block; font-size:.76rem; color:var(--ash-muted);
  font-weight:600; letter-spacing:.08em; margin-top:.45rem;
}
@media (max-width:520px){
  .ash-qa__q, .ash-qa__a{ grid-template-columns:1fr; gap:.35rem; }
  .ash-qa__n{ justify-self:start; }
}

/* ボタン ------------------------------------------------------ */
.ash-btn a.wp-block-button__link,
a.ash-btn{
  background:var(--ash-accent); color:#fff; font-weight:700;
  border-radius:999px; padding:.95rem 2.4rem; font-size:1rem;
  box-shadow:0 2px 0 var(--ash-accent-d); text-decoration:none; display:inline-block;
}
.ash-btn a.wp-block-button__link:hover, a.ash-btn:hover{
  background:var(--ash-accent-d); box-shadow:none; transform:translateY(2px);
}
.ash-btn--ghost a.wp-block-button__link{
  background:transparent; color:var(--ash-green-d);
  border:2px solid var(--ash-green); box-shadow:none;
}
.ash-btn--ghost a.wp-block-button__link:hover{
  background:var(--ash-green); color:#fff; transform:none;
}
.ash-sec--green .ash-btn--ghost a.wp-block-button__link{
  color:#fff; border-color:#fff;
}

/* 強調ひとこと ------------------------------------------------ */
.ash-note{
  border-left:4px solid var(--ash-green); background:var(--ash-green-ll);
  padding:1.1rem 1.4rem; border-radius:0 10px 10px 0; line-height:1.95;
  font-size:.95rem;
}
.ash-note strong{ color:var(--ash-green-d); }

/* 1日の流れ --------------------------------------------------- */
.ash-flow{ list-style:none; margin:0; padding:0; position:relative; }
.ash-flow::before{
  content:""; position:absolute; left:4.6rem; top:.6rem; bottom:.6rem;
  width:2px; background:var(--ash-line);
}
.ash-flow li{
  position:relative; display:grid; grid-template-columns:4rem 1fr;
  gap:1.6rem; padding:0 0 1.5rem;
}
.ash-flow li::before{
  content:""; position:absolute; left:4.25rem; top:.45rem;
  width:.7rem; height:.7rem; border-radius:50%;
  background:var(--ash-green); box-shadow:0 0 0 3px #fff;
}
.ash-flow__t{ color:var(--ash-green-d); font-weight:700; font-size:.95rem; }
.ash-flow__d{ line-height:1.9; font-size:.95rem; }
@media (max-width:600px){
  .ash-flow::before{ left:.33rem; }
  .ash-flow li{ grid-template-columns:1fr; gap:.2rem; padding-left:1.6rem; }
  .ash-flow li::before{ left:0; }
}

/* 写真 -------------------------------------------------------- */
.ash-hero--photo{
  position:relative; background-size:cover; background-position:center;
  padding:7rem 1.5rem;
}
.ash-hero--photo::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(11,134,41,.88) 0%,rgba(56,178,93,.78) 100%);
}
.ash-hero--photo > *{ position:relative; z-index:1; }

.ash-strip{
  display:grid; gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
}
.ash-fig{ margin:0; }
.ash-fig img{
  width:100%; height:15rem; object-fit:cover; border-radius:14px; display:block;
}
.ash-fig figcaption{
  margin-top:.7rem; font-size:.88rem; line-height:1.8; color:var(--ash-muted);
}
.ash-fig figcaption strong{ color:var(--ash-green-d); }

.ash-split{
  display:grid; gap:2rem; align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  margin-bottom:2.5rem;
}
.ash-split:last-child{ margin-bottom:0; }
.ash-split img{ width:100%; border-radius:14px; display:block; }
.ash-split--rev > *:first-child{ order:2; }
.ash-split__ttl{ font-size:1.3rem; font-weight:700; margin:0 0 .8rem; line-height:1.6; }
.ash-split__ttl span{
  display:block; color:var(--ash-green); font-size:.72rem;
  letter-spacing:.2em; font-weight:700; margin-bottom:.4rem;
}
.ash-split p{ line-height:2; margin:0 0 .6rem; font-size:.97rem; }
@media (max-width:760px){
  .ash-split{ grid-template-columns:1fr; gap:1.2rem; }
  .ash-split--rev > *:first-child{ order:0; }
}

.ash-card__img{
  margin:-1.75rem -1.5rem 1.2rem; border-radius:14px 14px 0 0; overflow:hidden;
}
.ash-card__img img{ width:100%; height:11rem; object-fit:cover; display:block; }

.ash-band{
  width:100%; height:clamp(12rem,26vw,20rem); object-fit:cover; display:block;
}

/* ヘッダーとグローバルナビ -------------------------------------- */
#site-header-container.container{ max-width:1320px; }
.site-header{ border-bottom:1px solid var(--ash-line); box-shadow:none; }

.site-header-logo a{ text-decoration:none; display:inline-flex; align-items:center; }
.site-header .site-header-logo{ width:auto !important; flex:0 0 auto; }
.site-header .site-header-logo a{ display:inline-block !important; width:auto !important; }
.site-header .site-header-logo a > span{ display:inline-block; }
.site-header .site-header-logo img{
  display:block; height:68px !important; width:auto !important; max-height:68px !important;
}
@media (max-width:991px){
  .site-header .site-header-logo img{ height:46px !important; max-height:46px !important; }
}
.site-header-logo span{
  font-size:1rem; font-weight:700; letter-spacing:.02em; color:var(--ash-text);
}

.global-nav-list > li > a{
  position:relative; padding:1.15rem .8rem; font-size:.9rem; font-weight:600;
  letter-spacing:.02em; color:var(--ash-text); text-decoration:none;
}
.global-nav-list > li > a:hover{ color:var(--ash-green-d); background:transparent; }
.global-nav-list > li > a::after{
  content:""; position:absolute; left:.8rem; right:.8rem; bottom:.7rem; height:2px;
  background:var(--ash-green); border-radius:2px;
  transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.global-nav-list > li > a:hover::after,
.global-nav-list > li.current-menu-item > a::after,
.global-nav-list > li.current-menu-ancestor > a::after{ transform:scaleX(1); }
.global-nav-list > li.current-menu-item > a,
.global-nav-list > li.current-menu-ancestor > a{ color:var(--ash-green-d); }

/* 子メニュー */
.global-nav-list .sub-menu{
  border:1px solid var(--ash-line); border-radius:12px; overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.09); padding:.3rem 0; min-width:13rem;
}
.global-nav-list .sub-menu li a{
  font-size:.88rem; font-weight:600; padding:.8rem 1.1rem; color:var(--ash-text);
  border:none; background:#fff;
}
.global-nav-list .sub-menu li a:hover{ background:var(--ash-green-l); color:var(--ash-green-d); }

/* 外部リンク2つはボタンに */
.global-nav-list > li > a[href*="lin.ee"],
.global-nav-list > li > a[href*="www.asuhikaru-shika.com"]{
  padding:.46rem 1rem; margin:.7rem .2rem; border-radius:999px; font-size:.84rem;
}
.global-nav-list > li > a[href*="lin.ee"]{ background:#06C755; color:#fff; }
.global-nav-list > li > a[href*="lin.ee"]:hover{ background:#05a647; color:#fff; }
.global-nav-list > li > a[href*="www.asuhikaru-shika.com"]{
  border:1.5px solid var(--ash-line); color:var(--ash-muted);
}
.global-nav-list > li > a[href*="www.asuhikaru-shika.com"]:hover{
  border-color:var(--ash-green); color:var(--ash-green-d);
}
.global-nav-list > li > a[href*="lin.ee"]::after,
.global-nav-list > li > a[href*="www.asuhikaru-shika.com"]::after{ display:none; }

/* 画面が狭いときは詰める */
@media (max-width:1400px){
  .global-nav-list > li > a{ padding:1.15rem .6rem; font-size:.86rem; }
}
@media (max-width:1240px){
  .global-nav-list > li > a{ padding:1.15rem .45rem; font-size:.82rem; }
  .site-header .site-header-logo img{ height:58px !important; max-height:58px !important; }
}

/* フッター */
.site-footer{ border-top:1px solid var(--ash-line); }
.site-footer a{ color:var(--ash-green-d); }

/* 既定のページタイトル帯は消す（各ページにヒーローがあるため） */
.page-header{ display:none; }
.breadcrumb{ padding:.6rem 0; font-size:.8rem; }
.breadcrumb a{ color:var(--ash-muted); }
.breadcrumb a:hover{ color:var(--ash-green-d); }
/* ヒーローの上の余白を詰める */
.entry-body > .ash-hero:first-child{ margin-top:-.5rem; }

/* フッターの Powered by を消す */
.site-footer-copyright p:nth-of-type(2){ display:none; }
.site-footer-copyright p{ font-size:.8rem; color:var(--ash-muted); margin:0; }

/* 余白の微調整 ------------------------------------------------ */
.ash-mt0{ margin-top:0 !important; }
.ash-center{ text-align:center; }
.ash-small{ font-size:.86rem; color:var(--ash-muted); line-height:1.9; }
