@charset "UTF-8";
/* CSS Document */
/* ===== Tokens ===== */
:root{
  --c-main:#006DC0;
  --c-accent:#ff9d1b;
  --c-text:#023964;
  --c-muted:#6B7280;
  --container:clamp(320px,92vw,1120px);
  --radius:16px;
  --shadow:0 10px 30px rgba(2,57,100,.08);
  --c-blue-700:#0b3aaE;
  --c-text:#222222;
  --c-white:#fff;
  --z-header:1000;
  --z-drawer:1100;
  --ease:cubic-bezier(.2,.7,0,1);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#0b1220;background:#fff;line-height:1.8}
a{color:var(--c-main);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
table{width:100%;}
.container,.section__in{width:var(--container);margin-inline:auto}
/*.site-header{position:sticky;top:0;background:#fff8;backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid #e6e8ee}*/
.site-header__in{display:flex;align-items:center;gap:20px;min-height:64px}
.nav ul{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.btn{display:inline-grid;place-items:center;padding:8px 14px;border-radius:999px;border:1px solid #c7d3ff;background:#fff;color:var(--c-main);font-weight:700}

@media (max-width: 768px){
	.sp-hidden{display:none!important;}
}
@media (min-width: 769px){
	.pc-hidden{display:none!important;}
}
/* ===== Header ===== */
.site-header{
  position:fixed; inset:0 0 auto 0; width:100%;
  z-index:var(--z-header);
  background:transparent;
}
.header-inner{
  max-width:100%; margin:0 auto; padding:20px 24px;
  display:flex; align-items:center; gap:24px;
}
.logo{margin:10px 0;}
.logo img{ height:50px; display:block; }

@media (max-width: 768px){
	.logo img{height:40px;}
}

/* PCナビ */
.header-nav{ margin-left:auto; display:flex; align-items:center; gap:60px; }
.nav-list{ display:flex; gap:60px; list-style:none; padding:0; margin:0; }
.nav-list a{
  color:var(--c-text); text-decoration:none; font-weight:700; letter-spacing:2.5px;line-height:1.5;
}
.btn-entry{
	display:inline-flex;
	align-items:center; gap:10px;
	padding:10px 60px;
	border-radius:999px;
	background:var(--c-main);
	color:var(--c-white);
	text-decoration:none;
	font-weight:800;
	letter-spacing:.18em;
	transition:transform .15s var(--ease), box-shadow .2s var(--ease), background .2s;
	position: relative; 
}

.btn-entry:hover{
	text-decoration:none;;
}
.btn-entry.-lg{ padding:18px 28px; font-size:1.05rem; }
.btn-entry::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px; /* ボタン右端からの距離 */
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform .25s ease;
  pointer-events: none;
}

/* ------------------------------
   固定ヘッダー + スクロール時の背景
--------------------------------*/
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: var(--z-header, 1000);
  background: transparent;
  transition: background-color .3s ease, box-shadow .3s ease;
}

.site-header.is-scrolled {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 背景が白になった時、ロゴやメニューが青ベースになる場合に備えて */
.site-header.is-scrolled .hamburger span {
  background: var(--c-main);
}
.site-header.is-scrolled .nav-list a {
  color: var(--c-text);
}

/* ハンバーガー */
.hamburger{
	margin-left:10px;
	width:70px;
	height:44px;
	border:0;
	background:transparent;
	padding:0;
	cursor:pointer;
	position:relative;
}
.hamburger span{
	position:absolute;
	left:10px;
	right:10px;
	height:1px;
	background:var(--c-main);
	transition:transform .3s var(--ease), opacity .2s var(--ease), top .3s var(--ease);
}
.hamburger span:nth-child(1){ top:14px; }
.hamburger span:nth-child(2){ top:21px; }
.hamburger span:nth-child(3){ top:28px; }
.hamburger.is-open span:nth-child(1){ top:21px; transform:rotate(45deg); }
.hamburger.is-open span:nth-child(2){ opacity:0; }
.hamburger.is-open span:nth-child(3){ top:21px; transform:rotate(-45deg); }

/* ドロワー共通 */
.drawer-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.22);
  opacity:0; pointer-events:none; transition:opacity .25s var(--ease);
  z-index:var(--z-drawer);
}
.drawer-overlay.is-active{ opacity:1; pointer-events:auto; }

.nav-drawer{
  position:fixed; inset:0; z-index:calc(var(--z-drawer) + 1);
  display:grid; place-items:stretch;
  transform:translateX(100%);
  transition:transform .45s var(--ease);
}
.nav-drawer.is-open{ transform:translateX(0); }

/* 閉じるボタン（右上X） */
.drawer-close{
  position:absolute; top:24px; right:24px; width:70px; height:70px; border:0; background:transparent; cursor:pointer;
}
.drawer-close span{
  position:absolute; inset:0; margin:auto; width:50px; height:1px; background:var(--c-white);
}
.drawer-close span:first-child{ transform:rotate(45deg); }
.drawer-close span:last-child{ transform:rotate(-45deg); }

/* 2カラム：左写真 / 右青パネル */
.drawer-grid{
  display:grid; grid-template-columns:1fr min(48vw,720px); height:100vh; width:100%;
}
.drawer-media{
  background:url('assets/img/menu-bg.jpg') center/cover no-repeat; /* ←適宜差し替え */
}
.drawer-panel{
  background:var(--c-main); color:var(--c-white); display:flex; flex-direction: column;align-items:center; justify-content:space-between;
  padding:3.5vh 4vw;overflow: scroll;
}
.drawer-panel .logo-area{margin-bottom: 40px;}
.drawer-panel .logo-area img{width: 50%;margin: 0 auto;}
.drawer-panel .btn-area{width: 100%;display: flex;justify-content: center;gap:30px;padding: 2vh 1vw;}
.drawer-panel .btn-area .btn-entry{background:#fff;color:var(--c-main);}
.drawer-panel .btn-area .btn-entry:after{color:var(--c-main);}
.drawer-nav{ width:100%;display:flex;gap: 20px;}
.drawer-nav ul {list-style: none;}
.drawer-nav > ul{flex: 1 1 50%;padding-left: 0;}
.drawer-nav > ul > li > ul{ list-style:none; padding:0; padding-left: 20px;margin:0 0 60px;}
.drawer-nav .menu-heading{color: var(--c-white);text-decoration: none;font-size:clamp(18px, 2.5vw, 24px);font-weight: 900;letter-spacing: .08em;}
.drawer-nav a{color:var(--c-white); text-decoration:none; font-weight:500; letter-spacing:.08em;font-size:clamp(16px, 2.1vw, 20px);line-height: 2;}
.drawer-nav .banners{gap:10px;padding:20px 0;}
.btn-outline{
  display:inline-flex; align-items:center; gap:.6em; margin-top:20px;
  padding:12px 18px; border-radius:999px; border:2px solid rgba(255,255,255,.9);
  color:var(--c-white); text-decoration:none; font-weight:700;
}
.btn-outline .ic{ transform:translateX(0); transition:transform .2s var(--ease); }
.btn-outline:hover .ic{ transform:translateX(2px); }

.drawer-brand{ margin-top:42px; opacity:.9; }
.drawer-brand img{ height:20px; }

.drawer-menu .btn-entry{background: #fff;color: var(--c-main);border:solid 2px #fff;margin-top: 80px;}
.drawer-menu .btn-entry:hover{background:var(--c-main);}
.drawer-menu .btn-entry:hover:after{border-top: 1px solid #fff;border-right: 1px solid #fff;}
.drawer-menu .btn-entry a{color: var(--c-main);}
.drawer-menu .btn-entry:hover a{color:#fff;}

/* レスポンシブ */
@media (max-width: 1080px){
  .header-nav .nav-list{ display:none; } /* PCリンクは非表示 → ハンバーガー誘導 */
}
@media (max-width: 768px){
  .header-inner{ padding:14px 16px; }
  .btn-entry{ display:none; }
  .drawer-grid{ grid-template-columns:1fr; }
  .drawer-media{ display:none; }
  .drawer-panel{ max-height: 100dvh;overflow-y: auto;-webkit-overflow-scrolling: touch;padding:3vh 9vw; }
	.drawer-panel .logo-area {margin-bottom: 10px;}
	.drawer-panel .logo-area img{width:40%;}
	.drawer-panel .btn-area {gap: 20px;padding: 20px 0;}
	.drawer-panel .btn-area .btn-entry{width: 50%;display:block;text-align: center;padding: 12.5px 30px;}
	.drawer-panel .btn-area.bottom .btn-entry{width:100%;}
	.drawer-nav{flex-direction: column;gap:0;}
	.drawer-nav > ul{margin: 0;}
	.drawer-nav > ul > li > ul{margin-bottom:20px;}
	.drawer-nav > ul > li > ul.faq{padding-left: 0;}
	.drawer-panel .banners{gap:20px;padding: 20px 0;}
	.drawer-close{width: 50px;height: 50px;top:14px;}
	.drawer-close span{width: 40px;}
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}

/* ------------------------------
   HERO（split：左キャッチ画像＋右丸R写真）
--------------------------------*/
.hero.-split{
  position: relative;
  width: 100%;
  height: var(--hero-h, min(100vh, 860px));
  isolation: isolate;
  overflow: clip;
}

.hero-grid{
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: 46% 54%;
	align-items: stretch;
}

/* 左：キャッチ画像 */
.hero-left{
  position: relative;
  background: transparent;
}
.hero-left-in{
  height: 100%;
  display: flex;
  align-items: center;
  /*padding: clamp(64px, 7vw, 100px) clamp(20px, 5vw, 64px);*/
}
.hero-catch{
	position: relative;
	z-index: 2;
	width: clamp(420px, 48vw, 1100px);
	height: auto;
	display: block;
	pointer-events: none;
	user-select: none;
	transform: translateX(5%);
}

/* 右：写真＋左Rカーブ */
.hero-right{
	z-index: 1;
	position: relative;
	border-bottom-left-radius: 90px;
	overflow: hidden;
}
.hero-media{ position: absolute; inset: 0; }
.hero-media img{
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 右側フェード（視認性補助） */
.hero.-split::before{
  content:"";
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(0,0,0,0) 40%,
    rgba(0,0,0,.04) 65%,
    rgba(0,0,0,.08) 100%);
  pointer-events: none;
}

/* SP：縦積み */
@media (max-width: 768px){
  /*.hero-left{ min-height: 42vh; }
  .hero-right{
    border-top-left-radius: 0;
    border-bottom-left-radius: 60px;
  }
  .hero-catch{
	  width: clamp(260px, 72vw, 560px);
	}*/
}
@media (max-width: 480px){
	/*.hero-catch{
		position: absolute;
        width: 300px;
        max-width: unset;
        left: -20px;
	}*/
}

@media (max-width: 768px){
  /* セクション自体を100vhに固定 */
  .hero.-split{
    height: 100vh;
  }

  /* gridを解除して重ねる（背景＝hero-right / 前面＝hero-left） */
  .hero-grid{
    display: block;
    position: relative;
    height: 100%;
  }

  /* 右：背景（フルスクリーン） */
  .hero-right{
    position: absolute;
    inset: 0;
    height: 100vh;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    overflow: hidden;
    z-index: 1;
  }

  /* 画像もフル */
  .hero-media{
    position: absolute;
    inset: 0;
  }
  .hero-media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 0% 50%;
  }

  /* 左：前面（キャッチ）を重ねる */
  .hero-left{
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;  /* 縦中央 */
  }

  /* キャッチの余白とサイズ（必要なら調整） */
  .hero-left-in{
    width: 100%;
    padding: 96px 20px 24px; /* 上はヘッダー分を見込んで多め */
  }
  .hero-catch{
    width: 100%;
    height: auto;
    transform: none; /* SPは重ね方向のズラし不要ならOFF */
  }

  /* 読みやすさ用：左側に薄い白フェード（任意） */
  .hero.-split::after{
    content:"";
    position:absolute;
    inset:0;
	  background:rgb(255 255 255 / 25%);
    /*background: linear-gradient(90deg,
      rgba(255,255,255,.88) 0%,
      rgba(255,255,255,.55) 45%,
      rgba(255,255,255,0) 72%);*/
    z-index: 1;           /* 背景(右)より上 / キャッチ(左)より下 */
    pointer-events:none;
  }
}

/* =========================================================
   SCROLL BEHAVIOR (JS用)
========================================================= */
/* .is-scrolled 付与時のスタイルは上部に記述済み */
/* ===== Sections ===== */
.section{padding-block:clamp(56px,9vw,120px);background:var(--bg-grad)}
.section__head{margin-bottom:32px}
.section__eyebrow{font-size:12px;letter-spacing:.12em;color:var(--c-main);display:block;margin-bottom:8px}
.section__title{font-size:clamp(22px,4vw,36px);line-height:1.3;color:var(--c-text);font-weight:800}
/* ===== Hero ===== */
.hero{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden}
.hero__img{position:absolute;inset:0;background:center/cover no-repeat;filter:saturate(104%)}
.hero__text{position:absolute;left:clamp(16px,6vw,80px);bottom:clamp(24px,8vw,120px);
  font-family:"Shippori Mincho",serif;font-size:clamp(20px,2.8vw,36px);line-height:1.9;color:var(--c-main);white-space:pre-wrap}
.hero__frame{position:relative;width:var(--container);aspect-ratio:16/10;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
/* ===== Message ===== */
.message__grid{display:grid;gap:28px;grid-template-columns:1.1fr .9fr}
.message__lead{font-size:clamp(18px,2.2vw,22px);color:var(--c-text);margin:8px 0 16px}
.message__body{color:#1f2937}
.message__img{border-radius:16px;overflow:hidden}
@media (max-width:860px){.message__grid{grid-template-columns:1fr}.hero{min-height:64vh}}
/* ===== Cards / About ===== */
.cards{display:grid;gap:18px}
.cards--split{grid-template-columns:1.2fr .8fr}
.card{background:#fff;border:1px solid #e6e8ee;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.card--link{display:grid;gap:12px}
.card__title{font-weight:800;color:var(--c-text)}
.card__icon{width:40px;height:40px;border-radius:10px;background:#eef3ff;display:grid;place-items:center}
.thumb{border-radius:14px;overflow:hidden}
.grid-photos{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}
.grid-photos img{width:100%;height:100%;object-fit:cover;border-radius:12px}
/* ===== Reasons ===== */
.reasons{display:grid;gap:20px;grid-template-columns:1fr 1fr}
.reasons .card{padding:28px}
@media (max-width:960px){.reasons{grid-template-columns:1fr}}
/* ===== Jobs ===== */
.jobs{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
.job{background:#fff;border:1px solid #dbe3ff;border-radius:14px;padding:16px;display:grid;gap:8px}
.job__name{font-weight:700;color:var(--c-text)}
.job a{align-self:end;justify-self:end;font-size:12px;border:1px solid #c7d3ff;border-radius:999px;padding:6px 10px}
@media (max-width:960px){.jobs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.jobs{grid-template-columns:1fr}}
/* ===== News ===== */
.news-list{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
.news-item{background:#fff;border:1px solid #eef2ff;border-radius:14px;padding:16px}
.news-item time{display:block;color:var(--c-muted);font-size:12px;margin-bottom:6px}
@media (max-width:900px){.news-list{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.news-list{grid-template-columns:1fr}}
/* ===== Banners ===== */
.banners{width: 100%;max-width: 1440px;display:grid;gap:40px;grid-template-columns:1fr 1fr;padding: 20px;}
.banner{overflow:hidden}
.banner img{display:block;width:100%;height:auto;border: solid 1px #dddddd;transition:0.3s ease;}
.banner img:hover{opacity:0.8;}
@media (max-width:720px){.banners{grid-template-columns:1fr;gap:20px;}}
/* ===== Access ===== */
.access{display:grid;gap:20px;grid-template-columns:1.1fr .9fr;align-items:center}
.access__panel{background:#fff;border:1px solid #e6e8ee;border-radius:16px;padding:18px}
.map{border-radius:16px;overflow:hidden}
@media (max-width:940px){.access{grid-template-columns:1fr}}

/* ===== Scattered soft dots (layer) ===== */
body { background-color:#fff;
	background-image:
    radial-gradient(160px 160px at 6vw 8vh,   rgba(15,70,219,.18), transparent 80%),
    radial-gradient(44px 44px at 22vw 18vh,  rgba(15,70,219,.14), transparent 60%),
    radial-gradient(96px 96px at 78vw 12vh,  rgba(15,70,219,.18), transparent 65%),
    radial-gradient(140px 140px at 88vw 46vh,rgba(15,70,219,.14), transparent 70%),
    radial-gradient(60px 60px at 12vw 72vh,  rgba(15,70,219,.18), transparent 60%),
    radial-gradient(120px 120px at 68vw 84vh,rgba(15,70,219,.14), transparent 70%),

    radial-gradient(40px 40px at 9vw 24vh,   rgba(255,178,0,.18), transparent 60%),
    radial-gradient(150px 150px at 34vw 60vh,rgba(255,178,0,.14), transparent 75%),
    radial-gradient(56px 56px at 56vw 28vh,  rgba(255,178,0,.14), transparent 60%),
    radial-gradient(92px 92px at 82vw 68vh,  rgba(255,178,0,.18), transparent 65%),

    radial-gradient(48px 48px at 18vw 52vh,  rgba(40,230,190,.18), transparent 60%),
    radial-gradient(160px 160px at 46vw 76vh,rgba(40,230,190,.14), transparent 80%),
    radial-gradient(72px 72px at 72vw 36vh,  rgba(40,230,190,.18), transparent 65%),

    radial-gradient(52px 52px at 28vw 88vh,  rgba(120,180,255,.18), transparent 60%),
    radial-gradient(130px 130px at 64vw 12vh,rgba(120,180,255,.22), transparent 75%),
    radial-gradient(40px 40px at 90vw 90vh,  rgba(120,180,255,.18), transparent 60%),

    radial-gradient(100px 100px at 4vw 48vh, rgba(255,240,120,.18), transparent 70%),
    radial-gradient(42px 42px at 40vw 14vh,  rgba(255,240,120,.14), transparent 60%),
    radial-gradient(150px 150px at 70vw 58vh,rgba(255,240,120,.18), transparent 75%);
    background-attachment: fixed;
	background-repeat: no-repeat;
	background-size: 100% 100%;
  }
  main, footer{ position:relative; z-index:1; }
  @media (max-width:768px){
    #bg-dots{ filter: blur(20px); transform: scale(1.08); }
  }

/* =========================================================
   ABOUT セクション
   ========================================================= */

.p-about {
  padding: 140px 0 160px;
}

.l-inner {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 767px) {
	.l-inner {
		padding: 0 30px;
	}
}


/* ------------------ セクション見出し #01 / #02 ------------------ */

.p-about__head {
  position: relative;
}

/* 左の #01 / #02 と MESSAGE / KNOW */
.p-about__index {
  position: absolute;
  left: 0;
  top: -20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  color: var(--c-accent);
}

.p-about__indexNo {
	color:#006DC0;
	font-size: 60px;
	font-weight: 100;
	font-family:"Noto Sans JP",sans-serif;
	letter-spacing:-0.6px;
}
.p-about__indexNo:before{
	content:"#";
	font-size: 64px;
}

.p-about__indexLabel {
	font-size: 26px;
	font-weight:500;
	font-family:"Oswald",sans-serif;
	letter-spacing: 0;
	margin-top: 4px;
}

/* 「“その人らしさ”を支える」「西山病院って」など */
.p-about__sub {
	color:#006DC0;
	font-size: 52px;
	font-weight:400;
	transform: skewX(-15deg);
	line-height:1.4;
	letter-spacing: 1px;
	padding-left: 120px;
	margin: 0;
}
.p-about__sub span{
	font-size: 60px;
	font-weight:500;
}

/* 青ブラシタイトル「自分らしい看護」「どんなところ？」 */
.p-about__title {
	padding-left: 17.5%;
	margin: 0;
}

.p-about__title > span {
	display: inline-block;
	padding: 26px 80px 22px;
	font-size: 62px;
	font-weight: 600;
	transform: skewX(-15deg);
	letter-spacing: .05em;
	color: #fff;
	text-align: center;
	background-image: url("../img/top/sec01_ttl-brush.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.p-about__title > span > span{
	font-size: 72px;
}

/* #02 KNOW 側の微調整 */
.p-about__head--know .p-about__index {
  top: -24px;
}

.p-about__knowArea {
  margin-top: 220px;
}

/* =========================================================
   #01 MESSAGE ブロック
   ========================================================= */

.p-about__messageArea {
  margin-top: 60px;
}

.p-about__message {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	max-width: 1100px;
    margin: 0 auto;
}

/* 左テキスト */
.p-about__messageText {
  flex: 0 0 50%;
  font-size: 16px;
  line-height: 2.2;
}

.p-about__messageText p + p {
  margin-top: 1.4em;
}

/* 右写真 */
.p-about__messageImg {
  flex: 0 0 40%;
}

.p-about__messageImg img {
  width: 100%;
  height: auto;
  border-radius: 24px;
  object-fit: cover;
}

/* =========================================================
   #02 KNOW ブロック共通
   ========================================================= */

.p-aboutKnow__label {
  
  font-size: 13px;
  letter-spacing: .16em;
  color: var(--c-accent);
}

/* ラベル左のアイコン（デフォは「ヒト」） */
.p-aboutKnow__label::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-right: 10px;
  background: url("../img/top/sec02_icon-people.svg") no-repeat center/contain;
}

.p-aboutKnow__titleSub {
	display: flex;
	align-items: center;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: .18em;
	border-bottom: solid 1px #006DC0;
	padding-bottom: 30px;
	margin: 0 0 30px;
}
.p-aboutKnow__titleSub::before {
  content: "";
  display: inline-block;
  margin-right: 20px;
}
.p-aboutKnow--people .p-aboutKnow__titleSub::before {
	background: url("../img/top/sec02_icon-people.svg") no-repeat center/contain;
	width: 80px;
	height: 60px;
}
.p-aboutKnow--environment .p-aboutKnow__titleSub::before {
	background: url("../img/top/sec02_icon-env.svg") no-repeat center/contain;
	width: 72px;
	height: 65px;
}
.p-aboutKnow--reason .p-aboutKnow__titleSub::before {
	background: url("../img/top/sec02_icon-reason.svg") no-repeat center/contain;
	width: 70px;
	height: 70px;
}
.p-aboutKnow__titleSub > span{
	color:#006ABB;
	font-size:24px;
	font-weight:300;
	line-height: 1.1;
	letter-spacing:2px;
}
.p-aboutKnow__titleSub > span > span{
	font-size:48px;
	font-weight:700;
	letter-spacing:3px;
	display:block;
}

.p-aboutKnow__lead {
	font-size: 16px;
	line-height: 2;
	margin:20px 0 100px;
}

.p-aboutKnow__btn {
	display:flex;
	flex-wrap: wrap;
	gap:20px;
	margin-top: 26px;
}

.p-aboutKnow__btn a{
	min-width:230px;
}

.p-aboutKnow__btnGroup {
	display:flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap:20px;
	margin-top: 26px;
}

.p-aboutKnow__btnGroup a{
	min-width:230px;
	max-width:350px;
}

@media (max-width: 767px) {
	.p-aboutKnow__btn{
		flex-direction: column;
	}
}

/* =========================================================
   「ヒトを知る」 p-aboutKnow--people
   ========================================================= */

.p-aboutKnow--people .p-aboutKnow__body {
	display: flex;
	align-items: center;
	max-width:1340px;
	margin: 0 0 0 auto;
}

.p-aboutKnow--people .p-aboutKnow__text {
	flex: 0 0 50%;
	padding: 40px 46px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(0,0,0,0.06);
}

/* 右側：1枚画像 */
.p-aboutKnow__photoSingle {
  flex: 0 0 50%;
}

.p-aboutKnow__photoSingle img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 0 0 0 60px;
}

/* =========================================================
   「環境を知る」 p-aboutKnow--environment
   ========================================================= */

.p-aboutKnow--environment {
  margin-top: 90px;
}

.p-aboutKnow--environment .p-aboutKnow__inner {
	display: flex;
	align-items: center;
	max-width: 1340px;
}

/* 左：大きい写真 */
.p-aboutKnow--environment .p-aboutKnow__mainImg {
  flex: 0 0 50%;
}

.p-aboutKnow--environment .p-aboutKnow__mainImg img {
  width: 100%;
  height: auto;
  object-fit: cover;
	border-radius: 0 0 60px 0;
}

/* 右：白カード */
.p-aboutKnow--environment .p-aboutKnow__body {
  flex: 0 0 50%;
  padding: 36px 40px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(0,0,0,0.06);
}

/* 環境アイコン差し替え */
.p-aboutKnow--environment .p-aboutKnow__label::before {
  background-image: url("../img/top/sec02_icon-env.svg");
}

/* =========================================================
   「理由を知る」 p-aboutKnow--reason
   ========================================================= */

.p-aboutKnow--reason {
  margin-top: 72px;
}

.p-aboutKnow--reason .p-aboutKnow__inner {
	display: flex;
	align-items: center;
	max-width: 1340px;
	margin: 0 0 0 auto;
}

/* 左：白カード */
.p-aboutKnow--reason .p-aboutKnow__body {
  flex: 0 0 48%;
  padding: 36px 40px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(0,0,0,0.06);
}

/* 理由アイコン差し替え */
.p-aboutKnow--reason .p-aboutKnow__label::before {
  background-image: url("../img/top/sec02_icon-reason.svg");
}

/* 右：写真 */
.p-aboutKnow--reason .p-aboutKnow__mainImg {
  flex: 1;
}

.p-aboutKnow--reason .p-aboutKnow__mainImg img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 0 0 0 60px;
}

/* =========================================================
   ボタン（矢印付き）
   ========================================================= */

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 1px;
  border-radius: 999px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition:.2s ease;
}

.c-btn--primary {
	color: #fff;
	background: #006ABB;
	border: 2px solid #006ABB;
}

.c-btn--outline {
  color: #006ABB;
  background: #fff;
  border: 2px solid #006ABB;
}

.c-btn--arrow {
  position: relative;
  padding-right: 42px;
}

.c-btn--arrow::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.c-btn:hover {
  text-decoration:none;
}

.c-btn--primary:hover{
	color: #006ABB;
	background: #fff;
}

.c-btn--outline:hover{
	color: #fff;
	background: #006ABB;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1024px) {
  .p-about {
    padding: 100px 0 120px;
  }
	.p-about__title{
		padding-left:0;
	}
	.p-about__indexNo,
	.p-about__indexNo:before{
		font-size:50px;
	}
	.p-about__sub{
		font-size: 40px;
	}
	.p-about__sub > span{
		font-size: 50px;
	}
  .p-about__message {
    gap: 20px;
  }
	.p-aboutKnow__titleSub > span{
		font-size: 16px;
	}
	.p-aboutKnow__titleSub > span > span{
		font-size: 30px;
	}
	.p-aboutKnow--people .p-aboutKnow__titleSub::before,
	.p-aboutKnow--environment .p-aboutKnow__titleSub::before,
	.p-aboutKnow--reason .p-aboutKnow__titleSub::before {
        width: 60px;
        height: 60px;
    }
}

@media (max-width: 767px) {
  .p-about {
    padding: 80px 0 100px;
  }

  .p-about__index {
    position: static;
    margin-bottom: 10px;
  }

	.p-about__indexNo,
	.p-about__indexNo:before{
		font-size:34px;
	}
	.p-about__indexLabel{
		font-size: 20px;
	}
	
	.p-about__sub{
		font-size: 26px;
		padding-left: 0;
	}
	
	.p-about__sub span{
		font-size: 28px;
	}
	
	.p-about__title {
    padding-left: 0;
  }
	
	.p-about__title > span {
		font-size: 28px;
		padding: 10px 40px 16px;;
	}

	.p-about__title > span > span{
		font-size: 32px;
		padding: 0;
	}
	
	.p-about__message {
		flex-direction: column;
		margin-top:-40px;
  }

  .p-about__messageImg {
    order: -1;
  }
	
  .p-about__knowArea {
    margin-top: 140px;
  }

	.p-aboutKnow--people{
		margin-top:-20px;
	}
	
	.p-aboutKnow--environment,
	.p-aboutKnow--reason{
		margin-top: 40px;
	}
	
	.p-aboutKnow--people .p-aboutKnow__body,
	.p-aboutKnow--reason .p-aboutKnow__inner {
    flex-direction: column-reverse;
	}
	.p-aboutKnow--environment .p-aboutKnow__inner{
		flex-direction: column;
	}

  .p-aboutKnow--people .p-aboutKnow__body,
  .p-aboutKnow--environment .p-aboutKnow__body,
  .p-aboutKnow--reason .p-aboutKnow__body {
    width: 100%;
    padding: 0;
  }
	.p-aboutKnow .p-aboutKnow__text{
		padding:30px 20px;
	}
	
	.p-aboutKnow__titleSub{
		padding-bottom: 10px;
		margin: 0 0 10px;
	}
	
	.p-aboutKnow__titleSub > span{
		font-size: 18px;
		line-height: 1.3;
	}
	
	.p-aboutKnow__titleSub > span > span{
		font-size: 26px;
	}
	
	.p-aboutKnow--people .p-aboutKnow__titleSub::before,
	.p-aboutKnow--environment .p-aboutKnow__titleSub::before,
	.p-aboutKnow--reason .p-aboutKnow__titleSub::before{
		width: 50px;
		height: 50px;
	}
  .p-aboutKnow__photoSingle,
  .p-aboutKnow--environment .p-aboutKnow__mainImg,
  .p-aboutKnow--reason .p-aboutKnow__mainImg {
    width: 100%;
	  margin: 0;
  }
  .p-aboutKnow__photoSingle img,
  .p-aboutKnow--environment .p-aboutKnow__mainImg img,
  .p-aboutKnow--reason .p-aboutKnow__mainImg img{
		border-radius:0;
	}

  .p-aboutKnow__btnGroup {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .c-btn {
    width: 100%;
    min-width: auto;
  }
	
	.p-aboutKnow__btnGroup a + a{
		font-size: 15px;
		letter-spacing: -1px;
		padding: 13px 0;
	}
}


/* =========================================
   REQUIREMENTS
   ========================================= */

.p-requirements {
  margin-top: 160px;
}

/* --------------------
   上部エリア
   左：青、右：白
   -------------------- */

.p-requirements__top {
  /* 左半分青・右半分白 */
  background: linear-gradient(90deg, #0072d5 0 42.5%, #ffffff00 42.5% 100%);
}

.p-requirements__topInner {
	display: grid;
	grid-template-columns: minmax(0, 40%) minmax(0, 60%);
	min-height: 260px;
	padding:0;
}

/* 左：#03 REQUIREMENTS 募集要項 */

.p-requirements__topLeft {
  display: flex;
  align-items: center;
  padding: 40px 40px 120px 0;
  color: #fff;
}

.p-requirements__head {}

.p-requirements__index {
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1;
  letter-spacing: .16em;
}

.p-requirements__indexNo {
	font-size: 60px;
    font-weight: 100;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: -0.6px;
}

.p-requirements__indexNo::before {
	content: "#";
    font-size: 64px;
	color: #fff;
    font-weight: 100;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: -0.6px;
}

.p-requirements__indexLabel {
	font-size: 26px;
    font-weight: 500;
    font-family: "Oswald", sans-serif;
    letter-spacing: 0;
    margin-top: 4px;
}

.p-requirements__title {
  margin-top: 20px;
  font-size: 60px;
  line-height: 1.2;
  font-weight: 400;
}

/* 右：コピー部分（白背景） */

.p-requirements__topRight {
  position: relative;
  padding: 60px 0 60px 60px;
  color: #333;
  background: transparent; /* 背景は right 側が白になっている */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.p-requirements__catch {
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 2px;
	line-height:2;
	color: #0072d5;
	margin:0;
}

.p-requirements__text {
	font-size: 18px;
	font-weight: 400;
	letter-spacing:2px;
	line-height: 2;
	color: #555;
	padding-left:1em;
}

/* 右上リンク「募集一覧はこちら」 */

.p-requirements__archiveLinkTop {
	text-align:right;
	padding:20px;
}

.p-requirements__archiveLinkTopAnchor {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  letter-spacing: 1px;
  color: var(--c-accent);
  text-decoration: none;
}

.p-requirements__archiveLinkTopAnchor::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

/* --------------------
   下部：カードリスト領域
   背景：上側だけ青い帯
   -------------------- */

.p-requirements__bottom {
	padding: 70px 0 100px;
	margin-top: -160px;
}


/* カード一覧 4×3 */

.p-requirements__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px 24px;
	max-width: 1400px;
    margin: 0 0 0 auto;
}

/* 1件カード */

.p-requirements__item {}

.p-requirements__link {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	height: 100%;
	padding: 20px;
	background: #ffffff;
	border-radius: 0;
	border: 2px solid #0072d5;
	text-decoration: none;
}

/* 部署ラベル（楕円） */

.p-requirements__dept {
  display: inline-block;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  font-size: 14px;
  letter-spacing: .16em;
  color: #0072d5;
  border-radius: 999px;
  border: 1px solid #0072d5;
}

/* 募集職種名（ACF type） */

.p-requirements__itemTitle {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 2px;
	line-height:2;
	color: #0072d5;
	margin:0;
}

/* MORE */

.p-requirements__more {
  align-self: flex-end;
  font-size: 16px;
	font-weight:500;
  letter-spacing: 1px;
  color: var(--c-accent);
  position: relative;
  padding-right: 18px;
}

.p-requirements__more::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

/* ホバー：線色そのまま、少しだけ浮かせる */

.p-requirements__link {
  transition: transform .15s ease, box-shadow .15s ease;
}

.p-requirements__item:hover .p-requirements__link {
	text-decoration:none;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

/* 空メッセージ */

.p-requirements__empty {
  margin-top: 24px;
  text-align: center;
  color: #fff;
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 1024px) {

  .p-requirements__topInner {
    grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  }

	.p-requirements__topLeft{
		padding: 40px 40px 120px;
	}
	
	.p-requirements__topRight{
		padding: 40px;
	}
	.p-requirements__title {
		font-size: 32px;
	}
	.p-requirements__bottom{
		margin-top:-100px;
	}
	.p-requirements__bottom .l-inner{
		padding:0 40px;
	}
  .p-requirements__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {

  .p-requirements {
    margin-top: 40px;
  }

  .p-requirements__top {
    background: #0072d5;
  }

  .p-requirements__topInner {
    grid-template-columns: 1fr;
  }

  .p-requirements__topLeft,
  .p-requirements__topRight {
    padding: 30px;
  }

  .p-requirements__topRight {
    background: #ffffff;
  }
	
	.p-requirements__catch{
		font-size: 24px;
	}

	.p-requirements__text{
		font-size:16px;
		padding-left: 0;
	}
	
	.p-requirements__archiveLinkTop {
		position: static;
		margin-top: 16px;
		text-align: right;
		padding: 0;
  }

	.p-requirements__archiveLinkTopAnchor{
		font-size:14px;
	}
	
	.p-requirements__indexNo,
	.p-requirements__indexNo:before{
		font-size:34px;
	}
	
	.p-requirements__indexLabel{
		font-size:20px;
	}
	
  .p-requirements__title {
    font-size: 28px;
  }

  .p-requirements__bottom {
	  padding: 20px;
	  margin-top: 0;
  }

  .p-requirements__bottom::before {
    height: 120px;
  }

  .p-requirements__list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 14px;
  }

  .p-requirements__link {
    padding: 16px;
  }
	
	.p-requirements__dept{
		font-size:13px;
		padding: 0 10px;
	}
	
	.p-requirements__itemTitle{
		font-size: 16px;
	}
	
	.p-requirements__more{
		font-size: 14px;
	}
}

/* =========================================
   NEWS
   ========================================= */

.p-news {
  margin-top: 100px;
}

.p-news__inner {
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  align-items: flex-start;
}

/* --------- 左：#04 NEWS --------- */

.p-news__head {
	display: flex;
    gap: 20px;
    align-items: center;
}

.p-news__sectitle{
	font-size: 38px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 2;
    color: #0072d5;
    margin: 0;
}

.p-news__index {
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1;
  color: #0072d5;
}

.p-news__indexNo {
  position: relative;
  padding-left: 20px;
  font-size: 34px;
  font-weight: 100;
}

.p-news__indexNo::before {
  content: "#";
  position: absolute;
  left: 0;
  font-size: 34px;
  font-weight: 100;
}

.p-news__indexLabel {
  font-size: 20px;
  font-weight: 700;
}

/* --------- 右：NEWS本体 --------- */

.p-news__body {
	position: relative;
	padding-top: 140px;
}

/* 3件横並び */

.p-news__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 個別アイテム */

.p-news__item {
	padding: 0 40px;
	position: relative;
}
/* 縦仕切り線（2・3列目の左側） */
.p-news__item + .p-news__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 1px;
  background: #dddddd;
}

/* 日付 */

.p-news__date {
  display: block;
  font-size: 13px;
  letter-spacing: .2em;
  color: #999999;
}

/* タイトル */

.p-news__title {
	font-size: 16px;
	line-height: 1.8;
	font-weight: 700;
	letter-spacing: .09em;
	margin:10px 0;
}

.p-news__title a {
  color: #0072d5;
  text-decoration: none;
}

.p-news__title a:hover {
  text-decoration: underline;
}

/* カテゴリーボタン */

.p-news__catWrap {
  margin-bottom: 10px;
}

.p-news__cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 15px;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0;
	border-radius: 999px;
	background: #0072d5;
	color: #fff;
	text-decoration: none;
}

.p-news__cat:hover {
	opacity: 0.9;
	text-decoration:none;
}

.p-news__thumb {
  width: 320px;
  max-width:100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 8px;
}

.p-news__thumb a,
.p-news__thumb img {
    display: block;
    width: 100%;
    height: 100%;
	transition: 0.3s ease;
}

.p-news__thumb img {
    object-fit: cover;
}

.p-news__thumb a:hover{
	opacity:0.8;
}

/* 一覧リンク（右下） */

.p-news__archiveLink {
  margin-top: 18px;
  text-align: right;
}

.p-news__archiveAnchor {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  letter-spacing: .16em;
  color: #0072d5;
  text-decoration: none;
}

.p-news__archiveAnchor::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

/* 空メッセージ */

.p-news__empty {
  font-size: 14px;
  color: #666;
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media (max-width: 1024px) {

  .p-news__inner {
    display:block;
  }

	.p-news__body{
		padding-top: 20px;
	}
  .p-news__item {
    padding: 0 20px;
  }
}

@media (max-width: 767px) {

  .p-news {
    margin-top: 100px;
  }
	
  .p-news__inner {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
	
	.p-news__index{
		margin:0;
	}
	
	.p-news__sectitle{
		font-size: 28px;
	}
	
  .p-news__head {
	  align-items: flex-start;
	  flex-direction: column;
	  gap:0;
	  text-align: left;
  }
	
	.p-news__body{
		padding-top:0;
	}

  .p-news__list {
    grid-template-columns: 1fr;
  }

  .p-news__item {
    padding: 10px 0;
  }

  .p-news__item + .p-news__item::before {
    left: 50%;
    top: 0;
    bottom: auto;
    width: 100%;
    height: 1px;
    transform: translateX(-50%);
  }
	
	.p-news__date{
		letter-spacing: 1px;
	}

	.p-news__title{
		margin:0;
	}
	
	.p-news__cat{
		font-size: 13px;
		padding: 2px 10px;
	}
	
	.p-news__catWrap{
		margin:10px 0;
	}
	
  .p-news__archiveLink {
    margin-top: 8px;
  }
}

/* =========================================
   病院サイトリンクセクション
   ========================================= */

.p-hospitalLink {
  position: relative;
  height: 350px; /* PC固定 */
  background: url("../img/img_hospital-bg.webp") center center / cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

.p-hospitalLink__inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

/* テキスト中央配置 */

.p-hospitalLink__content {
	max-width:300px;
	text-align: center;
	color: #fff;
}

.p-hospitalLink__sub {
  font-size: 18px;
  letter-spacing: .1em;
  margin-bottom: 14px;
}

.p-hospitalLink__title img {
	display: block;
	width:100%;
	height: auto;
	margin: 0 auto 32px;
}

/* ボタン */

.p-hospitalLink__btn {
	width:100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 42px;
	border-radius: 40px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .12em;
	background: var(--c-accent);
	color: #fff;
	border: solid 2px var(--c-accent);
	text-decoration: none;
	transition: .3s ease;
}

.p-hospitalLink__btn::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.p-hospitalLink__btn:hover {
	background: #fff;
	color: var(--c-accent);
	text-decoration:none;
}

/* =========================================
   SP
   ========================================= */

@media (max-width: 767px) {
  .p-hospitalLink {
    height: 240px; /* SPは調整版 */
    background-position: center;
  }

  .p-hospitalLink__sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .p-hospitalLink__title img {
    margin-bottom: 24px;
  }

  .p-hospitalLink__btn {
    padding: 12px 28px;
    font-size: 15px;
  }
}

.p-footer {
  padding: 5rem 2rem;
  font-family: 'Noto Sans JP', sans-serif;
  color: #444;
}

.p-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.p-footer__infoBlock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.p-footer__logo img {
  height: 70px;
}

.p-footer__info {
  width: 45%;
}

.p-footer__logo{
	margin-bottom:10px;
}

.p-footer__address {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
}

.p-footer__address p {
  font-size: 14px;
  margin: 0;
  line-height: 1.6;
}

.p-footer__sns {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.p-footer__sns a {
  display: inline-block;
}

.p-footer__sns a img {
  width: 40px;
  height: 40px;
  transition: opacity 0.3s;
}

.p-footer__sns a img:hover {
  opacity: .7;
}

/* TEL ブロック */

.p-footer__tel {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  font-size: 1rem;
  margin-top: 1.2rem;
}

.p-footer__tel a {
	font-size: 30px;
	font-weight: 700;
	line-height:1.3;
	letter-spacing: 1px;
	position: relative;
	padding-left: 1.1em;
	color: inherit;
	text-decoration: none;
}

.p-footer__tel a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 30px;
  height: 30px;
  background-image: url('../img/icons/tel.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}

.p-footer__tel span {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-footer__tel span.sub {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
}

.p-footer__tel span > span {
  font-size: 14px;
  font-weight: 400;
}

/* MAP */

.p-footer__map {
  width: 55%;
}

.p-footer__map iframe {
  width: 100%;
  height: 250px;
  border: 0;
  border-radius: 20px;
}

/* コピーライト */

.p-footer__copy {
  margin-top: 2rem;
  font-size: 14px;
  letter-spacing: 1px;
  color: #333;
}

/* ---------------------------------
   SP
   --------------------------------- */

@media (max-width: 767px) {

  .p-footer__infoBlock,
  .p-footer__info,
  .p-footer__map {
    width: 100%;
  }

  .p-footer__infoBlock {
    flex-direction: column;
    align-items: center;
  }

  .p-footer__sns {
    justify-content: center;
  }

  .p-footer__tel {
    margin-top: 0.5em;
    margin-bottom: 1em;
    gap: 0;
  }

  .p-footer__tel a {
    font-size: 20px;
    padding-left: 1.125em;
  }

  .p-footer__tel a::before {
    top: 8px;
    width: 22px;
    height: 22px;
  }

  .p-footer__tel span {
    font-size: 16px;
    margin-left: 0.5em;
  }

  .p-footer__tel span.sub {
    font-size: 16px;
    font-weight: 500;
    padding-left: 2em;
    margin-left: 0;
  }

  .p-footer__tel span > span {
    font-size: 14px;
    font-weight: 400;
  }
	.p-footer__copy{
		font-size:13px;
	}
}


/* ------------------------------
 固定ページ 共通レイアウト
------------------------------ */

.p-pageParent,
.p-pageChild {
  padding: 120px 0 120px; /* ヘッダー固定分＋余白 */
}

.p-pageParent h1,
.p-pageParent h2,
.p-pageParent h3,
.p-pageParent h4,
.p-pageParent h5,
.p-pageChild h1,
.p-pageChild h2,
.p-pageChild h3,
.p-pageChild h4,
.p-pageChild h5{
	scroll-margin-top: 130px;
}
@media (max-width: 768px) {
  .p-pageParent,
  .p-pageChild {
    padding: 96px 0 96px;
  }
	
.p-pageParent h1,
.p-pageParent h2,
.p-pageParent h3,
.p-pageParent h4,
.p-pageParent h5,
.p-pageChild h1,
.p-pageChild h2,
.p-pageChild h3,
.p-pageChild h4,
.p-pageChild h5{
	scroll-margin-top: 110px;
}
}

.p-pageParent__heroInner,
.p-breadcrumb,
.p-pageParent__bodyInner,
.p-pageParent__childrenInner,
.p-pageChild__heroInner,
.p-pageChild__bodyInner {
  width: min(1120px, 100% - 40px);
  margin: 0 auto;
}

/* ------------------------------
 パンくず
------------------------------ */

.p-breadcrumb {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 16px;
  text-align: right;
}

.p-breadcrumb__list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
	list-style: none;
}

.p-breadcrumb__item {
  color: #666;
}

.p-breadcrumb__item a {
  color: #666;
  text-decoration: none;
}

.p-breadcrumb__item a:hover {
  text-decoration: underline;
}

.p-breadcrumb__item + .p-breadcrumb__item::before {
  content: ">";
  margin: 0 4px;
  color: #aaa;
}

.p-breadcrumb__item.is-current {
  font-weight: 500;
}

/* ------------------------------
 親ページ：タイトルブロック（第2階層）
------------------------------ */

.p-pageParent__hero {
	height: 500px;
	display: flex;
	justify-content: center;
    align-items: center;
	padding: 32px 0;
}

.p-pageParent__head {
	display: block;
	text-align: center;
}

.p-pageParent__en {
	font-size: clamp(14px, 2.2vw, 26px);
	font-family: 'Oswald', sans-serif;
	text-transform: uppercase;
	color: #f5a623;
	margin: 0 0 20px;
}

.p-pageParent__title {
	font-size: clamp(26px, 5vw, 60px);
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--c-main);
	margin: 20px 0 0;
}

@media (max-width: 768px) {
	.p-pageParent__hero {
		height:320px;
		}
}

/* ------------------------------
 親ページ：本文カード
------------------------------ */

.p-pageParent__body {
  margin-bottom: 72px;
}

.p-pageParent__article {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  padding: 40px 60px;
}

@media (max-width: 768px) {
  .p-pageParent__article {
    padding: 32px 20px 36px;
    border-radius: 24px;
  }
}

.p-pageParent__content {
  font-size: 15px;
  line-height: 2;
}

.p-pageParent__content h2 {
  font-size: 20px;
  margin: 0 0 16px;
  font-weight: 700;
}

.p-pageParent__content h3 {
  font-size: 18px;
  margin: 32px 0 8px;
  font-weight: 600;
}

.p-pageParent__content p {
  margin: 0 0 1.5em;
}

.p-pageParent__content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 24px auto;
  border-radius: 16px;
}

/* ------------------------------
 親ページ：子ページ一覧（第3階層カード）
------------------------------ */

.p-pageParent__children {
  margin-top: 40px;
}

.p-pageParent__childrenTitle {
  font-size: 18px;
  font-weight: 700;
  color: #0070d9;
  margin-bottom: 24px;
}

.p-pageParent__childList {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 30px;
	padding-left:0;
}

@media (max-width: 1024px) {
  .p-pageParent__childList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .p-pageParent__childList {
    grid-template-columns: minmax(0, 1fr);
  }
}

.p-pageParent__childItem {
  list-style: none;
}

.p-pageParent__childLink {
  display: block;
  text-decoration: none;
}

.p-pageParent__childThumb {
  margin: 0 0 12px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.p-pageParent__childThumb img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.p-pageParent__childTitle {
	font-size: clamp(18px, 2.4vw, 28px);
	font-weight: 700;
	color: var(--c-main);
	margin: 0 0 20px;
}

.p-pageParent__childTitle::first-letter {
  font-size: clamp(20px, 2.8vw, 32px);
  line-height: 1;
  display: inline-block;
}

.p-pageParent__childLink:hover {
  text-decoration: none;
}


/* ============================
   HERO（タイトル＋画像）
   ============================ */

.p-pageChild__hero {
	display:flex;
	position: relative;
	padding: 0 0 32px;
	overflow: visible;
	min-height: 500px;
}

@media (max-width: 640px) {
	.p-pageChild__hero {
		min-height: 300px;
	}
}
/* ----------------------------
   内側：タイトルはコンテンツ幅内、画像は独立
   ---------------------------- */
.p-pageChild__heroInner {
  width: min(1120px, 100% - 40px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2; /* タイトルを前面へ */
  gap: clamp(24px, 4vw, 64px);
}

/* ============================
   LEFT：タイトル
   ============================ */

.p-pageChild__titleArea {
  flex: 0 0 45%;
  z-index: 3;
}

.p-pageChild__title {
  font-size: clamp(20px, 3vw, 34px);
  font-weight: 700;
  color: var(--c-main);
  margin-bottom: 0;
}

/* 英字（スラッグ） */
.p-pageChild__en {
  font-family: 'Oswald', sans-serif;
  font-size: clamp(14px, 2.2vw, 26px);
  color: #f5a623;
  margin: 0;
  text-transform: uppercase;
}


/* ============================
   RIGHT：ヒーロー画像（右端FULL）
   ============================ */

.p-pageChild__eyecatch {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% + 20px);
  right: 0;
  width: auto;
  margin-right: calc(50% - 50vw);
  height: 500px;
  overflow: hidden;
  border-radius: 0 0 0 280px;
  z-index: 1;
}

.p-pageChild__eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	object-position: center;
}


/* ============================
   パンくず（HERO直下・右寄せ）
   ============================ */

.p-pageChild .p-breadcrumb {
  width: min(1120px, 100% - 40px);
  margin: 16px auto 0;
  text-align: right;
  font-size: 12px;
}

.p-breadcrumb__list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
}

.p-breadcrumb__item {
  color: #666;
}

.p-breadcrumb__item a {
  color: inherit;
  text-decoration: none;
}

.p-breadcrumb__item a:hover {
  text-decoration: underline;
}

.p-breadcrumb__item + .p-breadcrumb__item::before {
  content: ">";
  margin: 0 4px;
  color: #aaa;
}

@media (max-width: 768px) {

  .p-pageChild__heroInner {
    flex-direction: column;
    align-items: flex-start;
	  justify-content: center;
    position: static;
  }
	.p-pageChild__eyecatch{
		height: 300px;
	}
}

/* ============================
   本文カード
   ============================ */

.p-pageChild__body {
  margin: 56px 0 80px;
}

.p-pageChild__bodyInner {
  width: min(1120px, 100% - 40px);
  margin: 0 auto;
}

/* 白いカード */
.p-pageChild__article {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  padding: 48px 64px 56px;
}

@media (max-width: 768px) {
  .p-pageChild__article {
    padding: 32px 20px 36px;
    border-radius: 24px;
  }
}

/* 本文全体 */
.p-pageChild__content {
  font-size: 15px;
  line-height: 2;
  color: #333;
	position:relative;
}

/* 本文内見出し調整 */
.p-pageChild__content h2 {
  font-size: 20px;
  margin: 40px 0 16px;
  font-weight: 700;
  color: #0070d9;
}

.p-pageChild__content h3 {
  font-size: 18px;
  margin: 32px 0 12px;
  font-weight: 600;
  color: #333;
}

.p-pageChild__content p {
  margin: 0 0 1.6em;
}

.p-pageChild__content ul,
.p-pageChild__content ol {
  margin: 0 0 1.6em 1.5em;
}

/* 本文内画像 */
.p-pageChild__content img {
  display: block;
  max-width: 100%;
  margin: 24px auto;
  border-radius: 16px;
}

/* 引用など */
.p-pageChild__content blockquote {
  margin: 24px 0;
  padding: 16px 24px;
  border-left: 4px solid #0070d9;
  background: #f7faff;
  border-radius: 8px;
}

/* テーブル */
.p-pageChild__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 14px;
}

.p-pageChild__content th,
.p-pageChild__content td {
  padding: 12px 16px;
  border: 1px solid #ddd;
}

.p-pageChild__content th {
  background: #f0f6ff;
  font-weight: 600;
  color: #333;
}


/* ============================
   親ページへ戻るボタン
   ============================ */

.p-pageChild__back {
  text-align: center;
  margin: 40px 0 100px;
}

.p-pageChild__backBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 14px 36px;
	border:solid 2px var(--c-main);
	border-radius: 999px;
  background: var(--c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  position: relative;
  transition: ease .3s;
}

.p-pageChild__backBtn::after {
	content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transition: transform .25s 
ease;
    pointer-events: none;
}

.p-pageChild__backBtn:hover {
	text-decoration:none;
  background: #fff;
	color:var(--c-main);
}


/* ============================
   SP 調整
   ============================ */

@media (max-width: 768px) {

  .p-pageChild__body {
    margin: 40px 0 60px;
  }

  .p-pageChild__back {
    margin: 32px 0 64px;
  }
}

/* ------------------------------
 アーカイブページ 共通レイアウト
------------------------------ */

.p-archivePage {
  padding: 120px 0 120px;
}

@media (max-width: 768px) {
  .p-archivePage {
    padding: 96px 0 96px;
  }
}

.p-archivePage__heroInner,
.p-archivePage__bodyInner {
  width: min(1120px, 100% - 40px);
  margin: 0 auto;
}

/* ------------------------------
 HERO
------------------------------ */

.p-archivePage__hero {
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 32px 0;
}

.p-archivePage__head {
  text-align: center;
}

.p-archivePage__en {
  font-size: clamp(14px, 2.2vw, 26px);
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  color: #f5a623;
  margin: 0 0 20px;
}

.p-archivePage__title {
  font-size: clamp(26px, 5vw, 60px);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--c-main);
  margin: 20px 0 0;
}

@media (max-width: 768px) {
  .p-archivePage__hero {
    height: 300px;
  }
}

/* ------------------------------
 本文カード
------------------------------ */

.p-archivePage__body {
  margin-bottom: 72px;
}

.p-archivePage__article {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  padding: 40px;
}

@media (max-width: 768px) {
  .p-archivePage__article {
    padding: 32px 20px 36px;
  }
}

/* ------------------------------
 新着情報一覧：フィルター
------------------------------ */

.p-archive__filterRow {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.p-archive__filterRow--year {
  margin-top: 8px;
}

.p-archive__filterList {
  display: flex;
	align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-archive__filterItem {
  font-size: 14px;
}

.p-archive__filterItem a:hover{
	text-decoration:none;
}

/* 左側の ALL ボタン（青） */
.p-archive__filterBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 600;
	letter-spacing: 2px;
  text-decoration: none;
}

.p-archive__filterBtn.is-current {
	background-color: var(--c-main);
	color:#fff;
}

/* 右側のテキストフィルター（年・カテゴリ名） */
.p-archive__filterLink {
	display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 4px;
  color: #333;
  font-size: 16px;
  font-weight: 400;
	letter-spacing: 2px;
  text-decoration: none;
}

.p-archive__filterLink.is-current {
	background-color: var(--c-main);
	color: #fff;
	font-weight: 700;
}
.p-archive__filterLink:hover{
	background-color: var(--c-main);
	color:#fff;
}

@media (max-width: 768px) {
	.p-archive__filterBtn {
		font-size: 14px;
		letter-spacing: 0;
	}
}
/* ------------------------------
 新着情報一覧：リスト
------------------------------ */

.p-archive__list {
  list-style: none;
  padding: 24px 0 0;
  margin: 0;
}

.p-archive__item {
	padding: 20px;
}

.p-archive__link {
	display: inline-block;
	text-decoration: none;
	color: inherit;
	transition: 0.3s;
	position: relative;
}
.p-archive__link::before{
	background: var(--c-main);
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
}
.p-archive__link:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
 
.p-archive__link:hover{
	text-decoration: none;
}
.p-archive__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
  font-size: 14px;
	transition:0.2s;
}

.p-archive__meta a:hover{
	text-decoration: none;
}

.p-archive__date {
	color: #969696;
	letter-spacing:2px;
}

.p-archive__cat {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
	border:1px solid var(--c-main);
  background-color: var(--c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 300;
	transition:0.2s;
}
.p-archive__cat:hover{
	background:#fff;
	color:var(--c-main);
}
.p-archive__title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing:2px;
	line-height: 1.8;
	color: var(--c-main);
	margin:0;
}

.p-archive__title a:hover {
  text-decoration: none;
}

@media (max-width: 768px) {
	.p-archive__filterList{
		gap:8px;
	}
	.p-archive__filterLink{
		font-size: 14px;
		letter-spacing:0;
		padding: 8px;
	}
}

/* ------------------------------
 新着情報一覧：ページネーション
------------------------------ */

.p-archive__pagination {
  margin-top: 32px;
  text-align: center;
}

.p-archive__pagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 6px 10px;
  font-size: 14px;
  text-decoration: none;
  color: #333;
  border-radius: 4px;
}

.p-archive__pagination .page-numbers.current {
  background-color: var(--c-main);
  color: #fff;
}

.p-archive__pagination .page-numbers:hover:not(.current) {
  text-decoration: underline;
}

.p-archive__empty {
  padding: 40px 0 16px;
  text-align: center;
  color: #666;
}

@media (max-width: 768px) {
  .p-archive__filterRow {
    flex-wrap: wrap;
    gap: 4px 12px;
  }

  .p-archive__meta {
    flex-wrap: wrap;
    gap: 6px;
  }

  .p-archive__link {
    padding: 14px 4px;
  }
}

.p-archivePage__back {
  margin-top: 32px;
  text-align: center;
}

.p-archivePage__backBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 14px 40px;
	border: solid 2px var(--c-main);
  border-radius: 999px;
  background-color: #fff;
  color: var(--c-main);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
	position: relative;
	transition: .3s ease;
}
.p-archivePage__backBtn:after{
	content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
.p-archivePage__backBtn:hover {
	background-color: var(--c-main);
	color: #fff;
	text-decoration: none;
}

/* ------------------------------
 メディア情報一覧
------------------------------ */

.p-archive__list.media_article { 
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
} 
.media_article .p-archive__item {
	min-width: 0;
} 

.media_article .p-archive__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.media_article .p-archive__link:hover {
    opacity: 0.8;
}

.media_article .p-archive__link:hover::before{
	display:none;
}

.media_article .p-archive__link:hover h2{
	text-decoration:underline;
}

.media_article .p-archive__thumb {
	width: 100%;
	margin: 0 0 16px;
	overflow: hidden;
	aspect-ratio: 1;
} 

.media_article .p-archive__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
} 

.media_article .p-archive__date {
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.5;
}

.media_article .p-archive__title {
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.7;
} 

.media_article .p-archive__cat {
	width: fit-content;
	margin-top: auto;
	padding: 4px 12px;
	font-size: 13px;
	line-height: 1.5;
} 


@media screen and (max-width: 959px) {
	.p-archive__list.media_article {
		grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px;
	}
}

@media screen and (max-width: 599px) {
	.p-archive__list.media_article {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------
 single 新着情報 詳細ページ
------------------------------ */

.p-singlePage {
  padding: 120px 0 120px;
}

@media (max-width: 768px) {
  .p-singlePage {
    padding: 96px 0;
  }
}

.p-singlePage__bodyInner {
  width: min(1120px, 100% - 40px);
  margin: 0 auto;
}

/* カード */
.p-singlePage__article {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.08);
}

@media (max-width: 768px) {
  .p-singlePage__article {
    padding: 28px 20px 32px;
  }
}

/* 1. 日付＋カテゴリ */
.p-singlePage__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
	padding: 40px 40px 0;
  margin-bottom: 12px;
}

.p-singlePage__date {
  color: #969696;
	letter-spacing:2px;
}

.p-singlePage__cat {
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
	border:1px solid var(--c-main);
  background-color: var(--c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 300;
	letter-spacing:2px;
  text-decoration: none;
	transition:0.2s;
}
/*.p-singlePage__cat:hover { 
	background:#fff;
	color:var(--c-main);
}*/

/* 2. タイトル */
.p-singlePage__title {
  font-size: clamp(22px, 3.4vw, 32px);
  font-weight: 700;
  line-height: 1.5;
	letter-spacing:2px;
  color: #333333;
	padding: 0 40px 20px;
  margin: 0 0 12px;
}

/* 3. パンくず（タイトル下） */
.p-singlePage__breadcrumb {
}

/* 4. 本文（後でWPブロック調整） */
.p-singlePage__content {
	padding:40px;
}

/* 一覧へ戻る */
.p-singlePage__back {
  margin-top: 32px;
  text-align: center;
}

.p-singlePage__backBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  padding: 14px 40px;
	border: solid 2px var(--c-main);
  border-radius: 999px;
  background-color: #fff;
  color: var(--c-main);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
	position: relative;
	transition: .3s ease;
}
.p-singlePage__backBtn:after{
	content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
.p-singlePage__backBtn:hover {
	background-color: var(--c-main);
	color: #fff;
	text-decoration: none;
}
.p-singlePage__btn{
	display: flex;
    align-items: center;
    justify-content: center;
	padding: 40px 20px;
}
@media (max-width: 768px){
	.p-singlePage__content{
		padding:10px;
	}
}

/* ------------------------------
   フォーム
--------------------------------*/
.cf-wrap{
	max-width:800px;
	margin:60px auto;
}
.cf-row{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:16px;
  align-items:stretch;
  margin-bottom:16px;
}
.cf-row p{
	margin-bottom:0!important;
}
@media (max-width:720px){
  .cf-row{ 
	  grid-template-columns:1fr;
	}
}

.cf-label{
	background:#f8f8f8;
	color:#333;
	font-size:16px;
	font-weight:700;
	padding:12px 14px;
	border-radius:6px;
	display:flex;
	align-items:center;
}
.cf-label .req{ color: #e82b2b;}
.cf-field {padding: 12px 14px;}
.cf-field > div{ margin-bottom:10px; }
.cf-field input[type="text"],
.cf-field input[type="email"],
.cf-field input[type="tel"],
.cf-field input[type="url"],
.cf-field input[type="number"],
.cf-field textarea,
.cf-field select{
	width:100%;
	font-size: 16px;
	padding:12px 14px;
	border:1px solid #ddd;
	border-radius:6px;
	line-height:1.4;
	box-sizing:border-box;
}

.mwform-tel-field input{
	width: initial!important;
}
.cf-field label{
	font-size:16px;
	cursor:pointer;
}

.cf-actions{
	display:flex;
	justify-content: center;
    gap: 10px;
	margin-top:24px;
	text-align:center; }
.btn-confirm{
  display:inline-block; padding:14px 28px; border-radius:999px;
  background:#333; color:#fff; font-weight:700;
}
.cf-privacy{
  text-align:center;
  margin:24px 0;
}
.cf-field .note{
	font-size:14px;
	display:block;
}
.cf-field .mwform-file-delete{
	background: #efefef;
    width: 30px;
    height: 30px;
    display: inline-block;
    line-height: 30px;
    text-align: center;
    letter-spacing: 0;
    border-radius: 50%;
}
.mw_wp_form input[type=file]{
	font-size:16px;
}

@media (max-width: 767px){
	.cf-privacy .wpcf7-list-item-label{
		font-size:14px;
	}
}
.cf-actions input[type="submit"]{
	background: #006ec0;
    color: #fff !important;
	font-size:18px;
    font-weight: 700;
    padding: 1.25rem 3rem !important;
    border: solid 2px #006ec0;
    border-radius: 50px;
    transition: background .3s;
    letter-spacing: 1.5px !important;
    position: relative;
}
.cf-actions input[type="submit"]:hover,
.cf-actions input[type="submit"].back:hover{
	background: #fff;
    color: #006ec0 !important;
}
.cf-actions input[type="submit"]::after{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    width: 7px;
    height: 7px;
    margin: auto;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    box-sizing: border-box;
}
.cf-actions input[type="submit"].back{
	background:#cbcbcb;
	border:solid 2px #cbcbcb;
}
.cf-actions .prev,
.cf-actions input[type="reset"]{
	min-width: 221.5px;
	background: #fff;
    color: #9F9FA5 !important;
    font-weight: 700;
    padding: 1.25rem 3rem !important;
    border: solid 1px #9F9FA5;
    border-radius: 50px;
    transition: background .3s;
    letter-spacing: 1.5px !important;
    position: relative;
	margin-bottom:20px;
}
.cf-actions .prev:hover,
.cf-actions input[type="reset"]:hover{
	background: #9F9FA5;
    color: #fff !important;
}
.cf-actions .send{
	min-width: 221.5px;
}
/* ------------------------------
   ブロックパターン
--------------------------------*/
/*画像*/
.wp-block-image{
	margin-bottom: 40px;
}
.wp-block-image img{
	border-radius: 10px;
}
.wp-element-caption{
	padding-left: 1em;
	margin: 20px 0;
}
.wp-block-column .wp-block-image{
	margin-bottom: 0;
}
/*4:6（画像:テキスト）*/
/*6:4（テキスト:画像）*/
.box4_6{
	align-items: center!important;
	margin-bottom: 40px;
}

.box4_6 .lBox{
	flex: 4!important;
}
.box4_6 .rBox{
	flex: 6!important;
}
@media (max-width: 768px) {
	.box4_6{
		flex-direction: column-reverse;
		gap: 1em;
	}
}

/*センターボタン*/
.linkBTN_UL_1{
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.linkBTN_UL_1 a{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 14px 36px;
    border: solid 2px var(--c-main);
    border-radius: 999px;
    background-color: var(--c-main);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
    transition: .3s ease;
}
.linkBTN_UL_1 a:hover{
	background-color: #fff;
    color: var(--c-main);
}
.linkBTN_UL_1 a:after{
	content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
/*ボタン１個左寄せ*/
/*次へ*/
/*次の話へ＆ひとつ前へ*/
.linkBTN_UL_3{
	display: flex;
	flex-direction: row;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.linkBTN_UL_3.left{
	justify-content: flex-start;
}
.linkBTN_UL_3.previous-next{
	justify-content: center;
}
.linkBTN_UL_3 li{
	margin:0!important;
}
.linkBTN_UL_3 a{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 14px 36px;
    border: solid 2px var(--c-main);
    border-radius: 999px;
    background-color: #fff;
    color: var(--c-main);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
    transition: .3s ease;
}
.linkBTN_UL_3 a:hover{
	background-color: var(--c-main);
    color: #fff;
}
.linkBTN_UL_3 a:after{
	content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
@media (max-width: 768px) {
	.linkBTN_UL_3{
		flex-direction: column;
	}
	.linkBTN_UL_3 li{
		width: 100%;
	}
}
/*テキストリスト*/
.baseUL{
	padding-left: 1.875em;
	margin:20px 0;
}
.baseUL li{
	padding-left: .5em;
}
.baseUL li::marker{
	color: var(--c-main);
	font-size: 1.2em;
}
@media (max-width: 768px) {
	.baseUL {
		padding-left: 1em;
	}
	.baseUL li{
		font-size: 14px;
		padding-left: 0;
}
}
/*テキストリスト（2カラム）*/
.txtList_2colmBox{
	margin:20px 0;
}
.txtList_2colmBox .baseUL{
	padding-left: 1.875em;
}
.txtList_2colmBox li{
	padding-left: .5em;
}
.txtList_2colmBox li::marker{
	color: var(--c-main);
	font-size: 1.2em;
}
@media (max-width: 768px) {
	.txtList_2colmBox{
		margin:20px 0;
	}
	.txtList_2colmBox .baseUL {
		padding-left: 1em;
	}
	.txtList_2colmBox li{
		font-size: 14px;
		padding-left: 0;
}
}
/*注釈リスト*/
.cautionUL{
	background:#F9F9F9;
	border-radius:10px;
	padding: 20px 30px;
}
.cautionUL li{
	font-size: 14px;
	font-weight:400;
	padding-left: .5em;
}
.cautionUL li::marker{
	content:'※'
}
/*表組-左見出し*/
.tableHeaderLeft-wrap {
  width: 100%;
}
.tableHeaderLeft {
	width:100%;
	margin:20px 0;
}
.tableHeaderLeft tr{
	width: 100%;
	display:flex;
	gap:4px;
}
.tableHeaderLeft tr:first-child td:first-child{
	border-radius:10px 0 0 0;
}
.tableHeaderLeft tr:first-child td:last-child{
	border-radius:0 10px 0 0;
}
.tableHeaderLeft tr:last-child td:first-child{
	border-radius:0 0 0 10px;
}
.tableHeaderLeft tr:last-child td:last-child{
	border-radius:0 0 10px 0;
}
.tableHeaderLeft tr td{
	line-height:1.6;
	letter-spacing:1px;
	border:2px solid #fff;
	padding: 15px 20px;
}
.tableHeaderLeft tr td:first-child{
	background-color: var(--c-main);
	color:#fff;
	font-weight:700;
	flex: 0 0 auto;
	min-width:15%;
}
.tableHeaderLeft tr td:nth-child(n+2){
	background-color: #F2F9FF;
	flex: 1;
}
@media (max-width: 768px) {
	.tableHeaderLeft-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.tableHeaderLeft{
		min-width:400px;
	}
	.tableHeaderLeft tr td{
		font-size:14px;
	}
}
/*表組-左見出し （SP時縦組み）*/
.tableHeaderLeftSP {
	width:100%;
	margin:20px 0;
}
.tableHeaderLeftSP tr{
	width: 100%;
	display:flex;
	gap:4px;
}
.tableHeaderLeftSP tr:first-child td:first-child{
	border-radius:10px 0 0 0;
}
.tableHeaderLeftSP tr:first-child td:last-child{
	border-radius:0 10px 0 0;
}
.tableHeaderLeftSP tr:last-child td:first-child{
	border-radius:0 0 0 10px;
}
.tableHeaderLeftSP tr:last-child td:last-child{
	border-radius:0 0 10px 0;
}
.tableHeaderLeftSP tr td{
	line-height:1.4;
	letter-spacing:1px;
	border:2px solid #fff;
	padding: 15px 20px;
}
.tableHeaderLeftSP tr td:first-child{
	background-color: var(--c-main);
	color:#fff;
	font-weight:700;
	flex: 0 0 15%;
}
.tableHeaderLeftSP tr td:nth-child(n+2){
	background-color: #F2F9FF;
	flex: 1;
}
@media (max-width: 768px) {
	.tableHeaderLeftSP tr{
		flex-direction: column;
		gap:0;
		margin-bottom:10px;
	}
	.tableHeaderLeftSP tr:first-child td:first-child{
		border-radius:10px 10px 0 0;
	}
	.tableHeaderLeftSP tr:first-child td::nth-child(n+2){
		border-radius:0;
	}
	.tableHeaderLeftSP tr:last-child td:first-child{
		border-radius:0;
	}
	.tableHeaderLeftSP tr:last-child td:last-child{
		border-radius:0 0 10px 10px;
	}
}
/*表組-上見出し*/
.tableHeaderTop-wrap{
	width: 100%;
}
.tableHeaderTop{
	margin:20px 0;
}
.tableHeaderTop thead{
	border:none;
}
.tableHeaderTop thead tr th{ 
	background-color: var(--c-main);
	color:#fff;
	font-weight:700;
	border: 2px solid #fff;
	padding: 15px 20px;
}
.tableHeaderTop thead tr th:first-child{
	border-radius:10px 0 0 0;
}
.tableHeaderTop thead tr th:last-child{
	border-radius:0 10px 0 0;
}
.tableHeaderTop tbody tr:last-child td:first-child{
	border-radius:0 0 0 10px;
}
.tableHeaderTop tbody tr:last-child td:last-child{
	border-radius:0 0 10px 0;
}
.tableHeaderTop tbody tr td{
	line-height:1.4;
	letter-spacing:1px;
	border:2px solid #fff;
	padding: 15px 20px;
}
.tableHeaderTop tbody tr td:first-child{
	font-weight:600;
}
.tableHeaderTop tbody tr:nth-child(odd) td:first-child{
	background:#F2F9FF;
}
.tableHeaderTop tbody tr:nth-child(even) td:first-child{
	background:#DFF0FF;
}
.tableHeaderTop tbody tr:nth-child(even) td:nth-child(n+2){
	background:#F7FBFF;
}
@media (max-width: 768px) {
	.tableHeaderTop-wrap{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.tableHeaderTop{
		min-width:400px;
	}
	.tableHeaderTop tr th,
	.tableHeaderTop tr td{
		font-size:14px;
	}
}
/*アンカーリンクボタン*/
.ancUL{
	--gap: 10px;
	--cols: 5; /* PC */
	background: #f2f9ff;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	border-radius: 10px;
	list-style: none;
	padding: 10px;
	margin: 0 auto 1.75em!important;
	justify-content: flex-start;
	width: 100%;
	box-sizing: border-box;
}
.ancUL > li{
	flex: 0 0 calc((100% - (var(--gap) * (var(--cols) - 1))) / var(--cols));
	max-width: calc((100% - (var(--gap) * (var(--cols) - 1))) / var(--cols));
	min-width: 0; /
}
.ancUL a{
	display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 10px 10px 20px;
    font-size: 16px;
	text-decoration: none;
    position: relative;
    transition: .3s ease;
}
.ancUL a:hover{
	text-decoration: underline;
}
.ancUL a:before{
	content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}
.editor-styles-wrapper .ancUL{
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 1024px) {
  .ancUL {
	  --cols: 4;
	}
}
@media (max-width: 768px) {
	.ancUL {
		--cols: 2;
	}
	.ancUL a{
		font-size:14px;
	}
	
}


/*カラーボックス（塗り）*/
.colorBoxFill{
	background: #F2F9FF;
	padding: 10px 20px;
	line-height:1.4;
	letter-spacing:1px;
}
/*カラーボックス（ライン）青*/
.colorBoxLine{
	padding: 10px 20px;
	line-height:1.4;
	letter-spacing:1px;
	border: solid 2px var(--c-main);
    border-radius: 10px;
    background-color: #fff;
}
.colorBoxLine.or{
	border: solid 2px var(--c-accent);
}
.colorBoxLine.bk{
	border: solid 2px #0b1220;
}
.colorBoxLine h2,
.colorBoxLine h3,
.colorBoxLine h4,
.colorBoxLine h5{
	color:var(--c-main);
	font-weight:700;
}
.colorBoxLine.or h2,
.colorBoxLine.or h3,
.colorBoxLine.or h4,
.colorBoxLine.or h5{
	color:var(--c-accent);
}
.colorBoxLine.bk h2,
.colorBoxLine.bk h3,
.colorBoxLine.bk h4,
.colorBoxLine.bk h5{
	color:#0b1220;
}
/*番号リスト*/
.baseOL{
	counter-reset: item;
	list-style: none;
	padding-left: 0;
}
.baseOL > li {
	counter-increment: item;
	display: flex;
	align-items: flex-start;
	gap: 1em;
	line-height: 22px;
	margin-bottom: 1em;
}

.baseOL > li::before {
	content: counter(item, decimal-leading-zero);
	color:var(--c-main);
	font-size:20px;
	font-weight: 300;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.baseOL > li{
		font-size:14px;
	}
	.baseOL > li::before{
		font-size:18px;
	}
}
/*Q&A*/
.qaBox{
	margin:20px 0;
}
.qaBox_inr {
  margin: 24px 0;
}
.qaBox_qBox,
.qaBox_aBox {
  display: flex;
  align-items: flex-start;
}
.qaBox_qBox::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid #0082cc;
  color: #0082cc;
  font-weight: 900;
  font-size: 30px;
  flex-shrink: 0;
}
.qaBox_aBox::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
	border: 2px solid #f3f7fb;
  background: #f3f7fb;
  color: #0082cc;
  font-weight: 900;
  font-size: 30px;
  flex-shrink: 0;
}
.qaBox_qBox_inr,
.qaBox_aBox_inr {
  margin-left: 18px;
}
.qaBox_qBox_inr h2 {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  color: #333;
}

.qaBox_aBox_inr .aHeader {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: #333;
}

.qaBox_aBox_inr .aText {
  margin: 0;
  font-size: 16px;
	font-weight:500;
  line-height: 1.8;
  color: #555;
}
@media (max-width: 768px) {
	.qaBox_qBox,
	.qaBox_aBox {
		flex-wrap: nowrap!important;
		gap: 1em
	}
	.qaBox_qBox::before,
	.qaBox_aBox::before{
		width:40px;
		height:40px;
		font-size: 22px;
	}
	.qaBox_qBox_inr h2{
		font-size:20px;
	}
	}
/*吹き出し*/
.balloon-item {
	max-width: 900px;
	display: flex;
	align-items: center!important;
	gap: 40px;
	margin: 0 auto;
	position: relative;
}
.balloon-item__img {
	flex: 0 0 180px;
	width: 100%;
	height: auto;
	border-radius: 50%;
	overflow: hidden;
}
.balloon-item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius:50%;
}
.balloon {
	position: relative;
	flex: 1;
	border: 2px solid #0f6fcf;
	border-radius: 24px;
	padding: 28px 32px;
	line-height: 1.7;
	z-index: 2;
}
.balloon::before {
	content: "";
	position: absolute;
	bottom: 5%;
	width: 70px;
	height: 2px;
	background: #0f6fcf;
	transform-origin: left center;
}
.balloon::after {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	right: -12px;
	bottom: -12px;
	background: #f4f9ff;
	border-radius: 24px;
	mix-blend-mode: multiply;
	z-index: -1;
}
.balloon-item--right .balloon::before {
  left: -40px;
  transform: translateY(-50%) rotate(330deg);
}
.balloon-item--left .balloon::before {
	right: -50px;
	bottom:30%;
  transform: translateY(-50%) rotate(30deg);
}
@media (max-width: 768px) {
  .balloon-item,
  .balloon-item--right {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;	  
  }
	.balloon-item__img-wrap{
		order:1;
	}
  .balloon-item__img {
	  width: 70%;
	  height: auto;
	  margin: 0 auto;
  }
	.balloon-item__img img{
		margin: 24px auto 0;
	}
  .balloon {
	  order: 2;
    padding: 20px 16px;
  }
	.balloon-item--right .balloon::before,
	.balloon-item--left .balloon::before{
	  width: 60px;
	  top: 6%;
	  left: calc(50% - 20px);
	  transform: rotate(292deg);
  }
	.balloon::after{
		top: 8px;
		left: 8px;
		right: -8px;
		bottom: -8px;
	}
}

/* =========================================================
   西山病院を選んだ理由
   ========================================================= */
body.why-nishiyama .font-stick {
  font-family: "Stick", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em;
}

body.why-nishiyama .font-yusei {
  font-family: "Yusei Magic", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.06em;
}

body.why-nishiyama .font-aoboshi {
  font-family: "Aoboshi One", system-ui, -apple-system, serif;
  font-weight: 400;
  letter-spacing: 0.02em;
}

body.why-nishiyama .font-rock {
  font-family: "RocknRoll One", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

body.why-nishiyama .p-pageParent__article{
	background:none;
	border-radius:0;
	box-shadow: none;
	padding: 40px 60px 0;
}

body.why-nishiyama .p-pageParent__body{
	margin-bottom: 0;
	overflow:hidden;
}

body.why-nishiyama .p-pageParent{
	padding: 120px 0 0;
}

@media (max-width: 768px){
	body.why-nishiyama .p-pageParent{
		padding: 96px 0 96px;
	}
	body.why-nishiyama .p-pageParent__article{
		padding: 0;
	}
}

.reason-page{
  --line:#006dc0;
  --ink:#111;
  --muted:#666;
  --panel:#f3f3f3;
  --stroke:#e6e6e6;
  --radius:10px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 16px 0;
  color: var(--ink);
  line-height: 1.8;
}

@media (max-width: 768px){
	.reason-page{
		padding: 40px 10px 0;
	}
}

.reason-hero{
	text-align:center;
	padding: 10px 0 28px;
	margin-bottom: 60px;
	position: relative;
}
.reason-hero__eyebrow{
	margin:0!important;
	font-size:24px;
	font-weight: 500;
	font-family: "Yusei Magic", sans-serif;
	color: var(--c-main);
	letter-spacing:1px;
	display: inline-block;
    border-top: solid 2px;
    border-bottom: solid 2px;
}
.reason-hero__title{
	margin:0 0 12px;
	color: var(--c-accent);;
	font-size: clamp(30px, 5vw, 48px);
	font-weight: 600;
	font-family: "Stick", sans-serif;
	letter-spacing: 2px;
}
.reason-hero__title span{ 
	font-size: clamp(38px, 6vw, 60px);
	font-weight: 900;
}

.reason-hero__lead{
  margin:0 auto!important;
  max-width: 720px;
  font-size: 16px;
	font-weight: 500;
}
.reason-hero::before,
.reason-hero::after{
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: -1; 
  opacity: .9;
	filter: drop-shadow(0 20px 40px rgba(0,0,0,.18));
	border-radius: 50%;
}

.reason-hero::before{
  width: clamp(90px, 16vw, 230px);
  height: clamp(90px, 16vw, 230px);
  top: clamp(-30px, -3vw, -10px);
  left: -10vw;
  background-image: url("/recruit/cms/wp-content/themes/nishiyama-recruit/assets/img/reason/reason_hero01.webp");
}

.reason-hero::after{
  width: clamp(90px, 16vw, 220px);
  height: clamp(90px, 16vw, 220px);
  right: -10vw;
  bottom: clamp(-50px, -5vw, -16px);
	background-image: url("/recruit/cms/wp-content/themes/nishiyama-recruit/assets/img/reason/reason_hero02.webp");
}
@media (max-width: 768px){
	.reason-hero__title{
		line-height: 1.4;
		margin-top: 20px;
	}
	.reason-hero__lead{
		text-align:left;
	}
}

/* ===== Timeline ===== */
.reason-timeline{
  position: relative;
  padding: 0 0 30px;
}
.reason-timeline::before{
  content:"";
  position:absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 6px;
  transform: translateX(-50%);
  background: var(--line);
  border-radius: 999px;
}

/* ===== Blocks (左右) ===== */
.reason-block{
	position: relative;
	width: min(700px, 100%);
	margin: 0 0 60px;
}
.reason-block__title{
	font-size: clamp(20px, 3vw, 26px)!important;
	letter-spacing: .05em;
}
.reason-block.is-left{
	background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .08);
	padding: 30px;
	margin-right: auto;
	padding-right: 24px;
}
.reason-block.is-left.right-img::after{
	content: "";
	position: absolute;
	top: 90%;
	right: calc(50% - 58vw); /* ← 画面端に合わせるトリック */
	transform: translateY(-50%);
	width: clamp(220px, 28vw, 480px);
	aspect-ratio: 3 / 2;
	background-image: url("/recruit/cms/wp-content/themes/nishiyama-recruit/assets/img/reason/side-deco01.webp");
	background-repeat: no-repeat;
	background-size: contain;
	border-radius:0 0 0 30px;
	pointer-events: none;
	z-index: -1;
	opacity: .85;
	
}
.reason-block.is-left.right-img02::after{
	content: "";
	position: absolute;
	top: 70%;
	right: calc(50% - 58vw); /* ← 画面端に合わせるトリック */
	transform: translateY(-50%);
	width: clamp(220px, 28vw, 480px);
	aspect-ratio: 3 / 2;
	background-image: url("/recruit/cms/wp-content/themes/nishiyama-recruit/assets/img/reason/side-deco02.webp");
	background-repeat: no-repeat;
	background-size: contain;
	border-radius:0 0 0 30px;
	pointer-events: none;
	z-index: -1;
	opacity: .85;
}
.reason-block.is-right{
	background-color: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .08);
	padding: 30px;
	margin-left: auto;
	padding-left: 24px;
}
.reason-block.is-right.left-img::after{
	content: "";
	position: absolute;
	top: 50%;
	left: calc(50% - 58vw);  /* ← 左端へ押し出す */
	transform: translateY(-50%);
	width: clamp(220px, 28vw, 480px);
	aspect-ratio: 3 / 2;
	background-image: url("/recruit/cms/wp-content/themes/nishiyama-recruit/assets/img/reason/side-deco03.webp");
	background-repeat: no-repeat;
	background-size: contain;
	border-radius:0 0 30px 0;
	pointer-events: none;
	z-index: -1;
	opacity: .85;
	filter: drop-shadow(0 18px 36px rgba(0,0,0,.14));
}
@media (max-width: 768px){
	.reason-block.is-left.right-img::after,
	.reason-block.is-left.right-img02::after,
	.reason-block.is-right.left-img::after{
		display:none;
	}
	
}

/* ===== Center block (人物コメントは100%センター) ===== */
.reason-block.is-center{
  width: 100%;
  margin: 0 auto 28px;
  padding: 0;              /* 余白は中で管理 */
}
.reason-list{
	font-weight: 500;
	padding-left: 1.1em;
	margin: 0;
	list-style: none;
}
.reason-list li{
	font-size: clamp(14px, 1.6vw, 17px);;
	letter-spacing: .1em;
	padding-left: 1.6em;
	margin: .5em 0;
	position: relative;
}
.reason-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 0.4em;
  height: 0.9em;
  transform: rotate(45deg)
}
.reason-list.pk li::before{
	border-right: 3px solid #ff2d7a;
	border-bottom: 3px solid #ff2d7a;
}
.reason-list.gr li::before{
	border-right: 3px solid #00b3a4;
	border-bottom: 3px solid #00b3a4;
}
.reason-list.pp li::before{
	border-right: 3px solid #7b4cdf;
	border-bottom: 3px solid #7b4cdf;
}
.reason-pain{
  margin-top: 12px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--stroke);
  border-radius: var(--radius);
}

/* ===== Badge (circle) ===== */
.reason-marker{
  position: relative;
  margin: 18px 0 16px;
  min-height: 64px;
}
.reason-badge{
	position:absolute;
	top: -30px;
	left: -20px;
	font-size: clamp(20px, 3vw, 24px);
    font-weight: 700;
	font-family: 'Aoboshi One';
	letter-spacing: .1em;
	line-height:1;
	padding: 15px 20px;
}
.reason-badge:after{
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
}
.right-img .reason-badge{
	background: #ff2d7a;
    color: #fff;
}
.right-img .reason-badge:after{
	border-right: solid 20px #aa1e52;
}
.right-img02 .reason-badge{
	background: #7b4cdf;
    color: #fff;
}
.right-img02 .reason-badge:after{
	border-right: solid 20px #513292;
}
.left-img .reason-badge{
	background: #00b3a4;
    color: #fff;
}
.left-img .reason-badge:after{
	border-right: solid 20px #00746b;
}

.reason-marker.is-left .reason-badge{
  margin-right: auto;
  transform: translateX(-6px);
}

.reason-marker.is-right .reason-badge{
  margin-left: auto;
  transform: translateX(6px);
}
.reason-personQuote{
	max-width:780px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 auto;
}
.reason-personQuote__avatar{
  width: 88px;
  flex: 0 0 88px;
  text-align: center;
}
.reason-personQuote__avatar img{
  width: 72px;
  height: auto;
  object-fit: cover;
  display: block;
  margin: 0 auto 6px;
}
.reason-personQuote__name{
	font-size: 14px;
	line-height: 1.3;
	margin: 0;
}
.reason-quote{
	margin-top: 0;
	margin-bottom: 120px;
	padding: 30px;
	border: 3px solid #f5a724;
	border-radius: 20px;
	background: #fff;
	font-size: clamp(14px, 2vw, 18px);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing:.05em;
	flex: 1;
	min-width: 0;
	position: relative;
	box-shadow: 4px 4px 0 #f5a724;
}
.reason-quote span{
	font-size:115%;
	font-weight:900;
}
.reason-quote::before{
	content:"";
	position:absolute;
	left: -10px;
	top: 30px;
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 10px solid #f5a724;
}
.reason-quote::after{
  content:"";
  position:absolute;
  left: -6px;
  top: 30px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 12px solid #fff;
}
.reason-subtitle{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 900;
}

@media (max-width: 768px){

}
/* ===== CTA ===== */
.reason-cta{
	position: relative;
	padding: 80px 0 160px 0;
	z-index: 1;  
}

.reason-cta::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	width: 100vw;
	height: 100%;
	background: linear-gradient(rgb(255 255 255 / 20%), rgb(255 255 255 / 20%)),url("../img/reason/cta-bg.webp");
	background-size: cover;
    background-position: center;
	z-index: -1;
}

.reason-cta__text--block{
	background: #006dc0;
    padding: 60px 20px;
    font-size: 18px;
    letter-spacing: .1em;
    margin-top: -140px;
    display: block;
    margin-bottom: 80px;
    border-radius: 40px;
}

.reason-cta__text--block p{
	color: #fff;
    font-weight: 700;
    font-size: clamp(16px, 3vw, 24px);
    line-height: 2;
	text-align: center;
	margin: 0 !important;
}

.reason-cta__btn{
	text-align: center;
}
.reason-cta .btn-entry{
	font-size: 18px;
	padding: 20px 40px;
}
.reason-cta .btn-entry:hover{
	background:#fff;
	color:var(--c-main);
}

@media (max-width: 768px){
  .reason-timeline::before{
    left: 16px;
    transform: none;
    width: 4px;
  }

  .reason-block{
    width: 100%;
    padding-left: 18px;
    padding-right: 0;
  }
  .reason-block.is-left,
  .reason-block.is-right{
    margin-left: 0;
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
  }

  .reason-marker.is-left .reason-badge,
  .reason-marker.is-right .reason-badge{
    margin-left: 0;
    transform: none;
  }
	.reason-list{
		padding-left: .5em;
	}
  .reason-block.is-center{
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .reason-personQuote{
    flex-direction: column;
    gap: 10px;
  }
  .reason-personQuote__avatar{
    width: auto;
    flex: none;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
	  padding-left: 30px;
  }
  .reason-personQuote__avatar img{
    margin: 0;
    width: 64px;
    height: 64px;
	  object-position: top;
  }
  .reason-personQuote__name{
    font-size: 14px;
  }

  .reason-quote::before,
  .reason-quote::after{
    display:none;
  }
	.reason-cta__text--block{
		border-radius: 20px;
		padding: 40px 20px;
	}
	.reason-cta__text--block p{
		text-align:left;
	}
	.reason-cta .btn-entry{
		display:block;
		letter-spacing: 0;
	}
}

/* ============================
   西山病院を選んだ理由
   ============================ */
body.why-nishiyama .font-stick {
  font-family: "Stick", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.body.why-nishiyama .font-yusei {
  font-family: "Yusei Magic", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.06em;
}

body.why-nishiyama .font-aoboshi {
  font-family: "Aoboshi One", system-ui, -apple-system, serif;
  font-weight: 400;
  letter-spacing: 0.02em;
}

body.why-nishiyama .font-rock {
  font-family: "RocknRoll One", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}
