@charset "utf-8";
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var, b, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video { list-style:none; margin:0; padding:0; border:0; outline:0;font-size:100%; vertical-align:baseline; background:transparent;}
body { line-height:1;}
article, aside, dialog, figure, footer, header,hgroup, nav, section { display:block;}
nav ul { list-style:none;}
li { margin:0; padding:0;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,q:before, q:after { content:''; content:none;}
a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent;}
ins { background-color:#ff9; color:#423a2b; text-decoration:none;}
mark { background-color:#ff9; color:#423a2b; font-style:italic; font-weight:bold;}
del { text-decoration: line-through;}
abbr[title], dfn[title] { border-bottom:1px dotted #423a2b; cursor:help;}
table { border-collapse:collapse; border-spacing:0;}
hr {display:block;height:1px;border:0;border-top: 1px solid #e5dcc8;margin:1em 0;padding:0;}
input, select { vertical-align:middle;}
input[type="submit"], input[type="button"],input[type="checkbox"],input[type="radio"],input[type="text"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}

html { font-size: 16px; -webkit-text-size-adjust: 100%;}
body { font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 font-weight: 400; font-size: 16px; line-height: 1.8;background: #fdfdfd;color: #201616; margin:0 auto; overflow: visible;
 position: relative; z-index:1; visibilty: hidden; -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; }
main {position:relative;}
body * {box-sizing: border-box;}
@media only screen and (max-width: 1200px) {
main {padding-top:240px;}
}
@media only screen and (max-width: 860px) {
body { min-width: 0; }
main {padding-top: 117px;padding-bottom: 62px;}
}
@media only screen and (max-width:440px) {
body {font-size: 4vw;font-weight: normal;}
}
a { color: #201616; }
a:hover { color: #B85400; }
:where(a, button, summary):focus-visible { outline: 3px solid #0F6CB6; outline-offset: 2px; border-radius: 6px; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
section[id], li[id] {scroll-margin-top: 104px;}
@keyframes scrollDash { 0% { transform: translateY(-110%); } 55% { transform: translateY(110%); } 100% { transform: translateY(110%); } }
@keyframes spinSlow { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
*:focus { outline: none;}
ul {list-style: none; }
img {max-width:100%;vertical-align: bottom;}


/* =========================================================
   汎用ユーティリティ
   ========================================================= */
.accent {color: #f89828;}                                          /* 強調（オレンジ文字） */
.en-tag {color:#B85400;font-weight:500;} /* 見出し脇の英字ラベル */
.txt-blue { color:#1D6FA8; font-weight:700; }
.txt-accent { color:#B85400; font-weight:700; }
.mem1 {margin-top:1.5em;}
.mem3 {margin-top:3em;}
.inner {max-width: calc(1200px + 8%);margin:auto;padding: 0 6%;}
.txtc { text-align:center;}
.txtr { text-align:right;}
.txtl { text-align:left;}
.ja { font-family: 'Noto Sans JP';font-weight: 400;}
.en {font-family: 'Oswald'; font-weight: 700;}

/* 矢印アイコン（＞）: SVG を background で描画。色は fill 違いの背景画像で切り替える */
.arrow { display:inline-block; flex:none; width:6px; height:10px; vertical-align:middle; background:url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20152.5%20253.1%22%20style%3D%22enable-background%3Anew%200%200%20152.5%20253.1%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23B85400%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M24.7%2C253.1c-6.4%2C0-12.8-3.2-17.6-8c-9.6-9.6-9.6-25.5%2C0-36.7l83-83L7.1%2C44c-9.6-9.6-9.6-25.5%2C0-36.7%20c9.6-9.6%2C25.5-9.6%2C36.7%2C0l100.6%2C100.6c4.8%2C4.8%2C8%2C11.2%2C8%2C17.6s-3.2%2C14.4-8%2C19.2L43.9%2C245.1C37.5%2C251.5%2C31.1%2C253.1%2C24.7%2C253.1z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E) no-repeat center center; background-size:100% auto; }
.arrow.arrow-dark { background-image:url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20152.5%20253.1%22%20style%3D%22enable-background%3Anew%200%200%20152.5%20253.1%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23201616%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M24.7%2C253.1c-6.4%2C0-12.8-3.2-17.6-8c-9.6-9.6-9.6-25.5%2C0-36.7l83-83L7.1%2C44c-9.6-9.6-9.6-25.5%2C0-36.7%20c9.6-9.6%2C25.5-9.6%2C36.7%2C0l100.6%2C100.6c4.8%2C4.8%2C8%2C11.2%2C8%2C17.6s-3.2%2C14.4-8%2C19.2L43.9%2C245.1C37.5%2C251.5%2C31.1%2C253.1%2C24.7%2C253.1z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E); }
.arrow.arrow-white {background-image:url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20152.5%20253.1%22%20style%3D%22enable-background%3Anew%200%200%20152.5%20253.1%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23201616%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M24.7%2C253.1c-6.4%2C0-12.8-3.2-17.6-8c-9.6-9.6-9.6-25.5%2C0-36.7l83-83L7.1%2C44c-9.6-9.6-9.6-25.5%2C0-36.7%20c9.6-9.6%2C25.5-9.6%2C36.7%2C0l100.6%2C100.6c4.8%2C4.8%2C8%2C11.2%2C8%2C17.6s-3.2%2C14.4-8%2C19.2L43.9%2C245.1C37.5%2C251.5%2C31.1%2C253.1%2C24.7%2C253.1z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);}

/* =========================================================
   全体ラッパー
   ========================================================= */
#top { min-width:1180px; overflow-x:clip; }


/* =========================================================
   ヘッダー / グローバルナビ
   ========================================================= */
header.header { position:fixed; top:0; left:0; right:0; z-index:70; height:84px; display:flex; align-items:center; gap:20px; padding:0 clamp(20px,2.2vw,36px); background:transparent; border-bottom:1px solid transparent; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; transition:background .25s, box-shadow .25s, border-color .25s; }

/* スクロールで背景・影が付く（クラスは js/main.js が付与） */
header.header.is-scrolled { background:rgba(253,253,253,.95); border-bottom-color:#EFEAE0; box-shadow:0 10px 30px rgba(32,22,22,.08); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }

header.header .logo { display:flex; align-items:center; height:46px; text-decoration:none; }
header.header .logo img { height:100%; width:auto; }

/* ハンバーガーボタン（スマホのみ表示。レスポンシブ末尾のメディアクエリで有効化） */
header.header .menu-toggle { display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:44px; margin-left:auto; padding:0; background:none; border:0; cursor:pointer; }
header.header .menu-toggle .bar { width:22px; height:2px; border-radius:2px; background:#201616; display:block; transition:transform .25s, opacity .25s; }
header.header.menu-open .menu-toggle .bar:nth-child(1) { transform:translateY(7px) rotate(45deg); }
header.header.menu-open .menu-toggle .bar:nth-child(2) { opacity:0; }
header.header.menu-open .menu-toggle .bar:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* 3本線の下の「MENU / CLOSE」文字（表示はスマホのみ） */
header.header .menu-toggle .menu-label { display:none; font-size:9px; line-height:1; letter-spacing:.06em; color:#201616; }
header.header .menu-toggle .menu-label::before { content:"MENU"; }
header.header.menu-open .menu-toggle .menu-label::before { content:"CLOSE"; }

header.header nav.nav { margin-left:auto; }
header.header nav.nav > ul { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
header.header nav.nav > ul > li { display:flex; }
header.header nav.nav > ul > li.dropdown { position:relative; }
header.header nav.nav > ul > li.cta { margin-left:14px; }

/* トップ（通常リンク） */
header.header nav.nav > ul > li.home > a { padding:10px 14px; font-weight:700; text-decoration:none; border-bottom:2px solid transparent; transition:color .15s, border-color .15s; }
header.header nav.nav > ul > li.home > a:hover { color:#B85400; border-bottom-color:#f89828; }

/* ドロップダウンを開くボタン */
header.header nav.nav > ul > li.dropdown > button {appearance:none;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:7px;padding:10px 14px;font-weight:700;color:#201616;font-size: 100%;transition:color .15s, border-color .15s;}
header.header nav.nav > ul > li.dropdown > button:hover { color:#B85400; border-bottom-color:#f89828; }
header.header nav.nav > ul > li.dropdown > button .caret { width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; display:inline-block; }

/* ドロップダウン中身 */
/* 親メニューをリンク化したもの（トップ・当院について・お仕事紹介）はボタンと同じ見た目 */
header.header nav.nav > ul > li.dropdown > a { display:flex; align-items:center; gap:7px; padding:10px 14px; border-bottom:2px solid transparent; font-weight:700; color:#201616; font-size:100%; text-decoration:none; transition:color .15s, border-color .15s; }
header.header nav.nav > ul > li.dropdown > a:hover { color:#B85400; border-bottom-color:#f89828; }
header.header nav.nav > ul > li.dropdown > a .caret { width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; display:inline-block; }

header.header nav.nav > ul > li .submenu { position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%); width:300px; background:#fdfdfd; border:1px solid #EFEAE0; border-radius:16px; box-shadow:0 24px 48px rgba(32,22,22,.14); padding:14px; z-index:60; }
header.header nav.nav > ul > li .submenu.wide { width:460px; }

/* 募集要項のメガメニュー（職種グループ×雇用形態） */
header.header nav.nav > ul > li .submenu.mega {width: min(545px, calc(100vw - 32px));left:auto;right:-40px;transform:none;}
header.header nav.nav > ul > li .submenu.mega .recruit-groups {display: flex;flex-wrap: wrap;gap: .5em;}
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group {background:#FFF3E2;border-radius:.5em;padding: 10px;}
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(1) {width: 50%;}
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(2) {width: 48%;}
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(3) {width: 27%;}

header.header nav.nav > ul > li .submenu.mega .group-head {display:flex;align-items:center;gap: .5em;padding: 0 .5em 0;font-weight: 600;}
header.header nav.nav > ul > li .submenu.mega .hiring-tag { flex-shrink:0; background:#f89828; color:#fdfdfd; font-size:10.5px; font-weight:700; letter-spacing:.04em; border-radius:999px; padding:3px 10px; }
header.header nav.nav > ul > li .submenu .label {margin:0 0 8px;padding:0 8px;color:#B85400;}
header.header nav.nav > ul > li .submenu .moremenu { display:grid; grid-template-columns:1fr; gap:2px; list-style:none; margin:0; padding:0; }
header.header nav.nav > ul > li .submenu .moremenu.cols2 { grid-template-columns:1fr 1fr; }
header.header nav.nav > ul > li .submenu .moremenu > li { display:flex; }
header.header nav.nav > ul > li .submenu .moremenu a {flex:1;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;line-height: 1.4;font-weight:500;text-decoration:none;transition:background .15s, color .15s;}
header.header nav.nav > ul > li .submenu .moremenu a:hover { background:#FFF3E2; color:#B85400; }
header.header nav.nav > ul > li .submenu.mega .recruit-groups .moremenu { gap:.3em; }
header.header nav.nav > ul > li .submenu.mega .recruit-groups .moremenu a { background:#fff; }
header.header nav.nav > ul > li .submenu.mega .recruit-groups .moremenu a:hover { color:#B85400; }

/* 採用エントリー（ナビ右端ボタン） */
header.header nav.nav > ul > li.cta > a { display:flex; align-items:center; gap:8px; background:#f89828; color:#201616; padding:12px 22px; border-radius:999px;font-weight:700; text-decoration:none; box-shadow:0 6px 16px rgba(248,152,40,.35); transition:background .15s; }
header.header nav.nav > ul > li.cta > a:hover { background:#EA8C13; color:#201616; }


/* =========================================================
   FV（ファーストビュー） section.mainvisual
   ========================================================= */
.mainvisual {position:relative;overflow:hidden;height:calc(100vh - 64px);min-height: 760px;background:#fdfdfd;}
.mainvisual .sidebar {position:absolute;left:0;bottom:0;width:clamp(220px,17.7vw,340px);background:#f89828;height: calc(100% - 80px);}

.mainvisual .img {position:absolute;box-sizing:border-box;background: #FBF7F0;overflow:hidden;z-index:1;}
.mainvisual .img.img1 {left:10.4vw;top:15%;width: 44.6vw;height:78%;}
.mainvisual .img.img1:before {content:"";display:block;width:100%;height:100%;background: #ff8200;z-index: 2;position: absolute;mix-blend-mode: multiply;opacity: 0.3;}
.mainvisual .img.img2 {right:0;top:max(88px, 7%);width:42vw;height: 74%;}

/* FV写真のクロスフェード（各エリア3枚を12秒で1周） */
.mainvisual .img picture { position:absolute; inset:0; opacity:0; animation:fvFade 12s linear infinite; }
.mainvisual .img picture:first-of-type { opacity:1; } /* アニメ無効環境でも1枚目を表示 */
.mainvisual .img picture:nth-of-type(2) { animation-delay:4s; }
.mainvisual .img picture:nth-of-type(3) { animation-delay:8s; }
.mainvisual .img img { width:100%; height:100%; object-fit:cover; }
@keyframes fvFade { 0%{opacity:0} 6%{opacity:1} 33.333%{opacity:1} 39.333%{opacity:0} 100%{opacity:0} }
/* JOIN US: 右側写真に大きくかぶせ、上にニッコリマークを添える */
.mainvisual > .en {position:absolute;right:clamp(60px,6vw,140px);bottom:-24px;margin:0;font-size:clamp(150px,14vw,220px);font-weight:900;line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:2px rgba(248,152,40,.45);user-select:none;z-index:2;}
.mainvisual > .en::before {content:"";position:absolute;left:50%;top: .4em;transform:translateX(-50%);width:.75em;height:.3em;background:url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2046.47%2018.85%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23EA8C13%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22Capa_1%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M46.22%2C4.23c-3.84%2C8.89-12.84%2C14.63-22.93%2C14.63S3.94%2C13.08.23%2C4.15C-.41%2C2.62.32.87%2C1.85.23c.38-.16.77-.23%2C1.15-.23%2C1.18%2C0%2C2.29.7%2C2.77%2C1.85%2C2.78%2C6.68%2C9.65%2C11%2C17.52%2C11s14.53-4.32%2C17.42-11.01c.66-1.52%2C2.42-2.22%2C3.94-1.56%2C1.52.66%2C2.22%2C2.42%2C1.56%2C3.94Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E) no-repeat center center;background-size:contain;}

.mainvisual .txtbox {position:absolute;z-index:3;left:clamp(48px,4.6vw,88px);top: 150px;display:flex;flex-direction:column;align-items:flex-start;}
.mainvisual .txtbox .sitetitle {margin:0 0 clamp(14px,2.2vh,22px);display:inline-block;background: #fff3e2;color: #f89828;font-size:clamp(14px,0.9vw,17px);font-weight:900;padding:9px 22px;border-radius:999px;}
.mainvisual .txtbox .title {margin:0;font-size: clamp(56px,4.4vw,104px);font-weight:900;line-height:1.34;display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.mainvisual .txtbox .title > span {display:inline-block;background:#fdfdfd;box-shadow:0 6px 28px rgba(32,22,22,.1);padding: 4px 0 8px 26px;}
.mainvisual .txtbox .sub {margin: 1em 0 0;display:inline-block;background:rgba(253,253,253,.95);padding:12px 22px;}
.mainvisual .txtbox .mvli { display:flex; gap:12px; list-style:none; padding:0; margin:clamp(20px,3.4vh,34px) 0 0; }
.mainvisual .txtbox .mvli > li { background:#fdfdfd; border:2px solid #201616; border-radius:999px; font-size:clamp(15px,1vw,20px); font-weight:700; box-shadow:3px 4px 0 #201616; overflow:hidden; }
.mainvisual .txtbox .mvli > li a { display:block; padding:10px 26px; color:#201616; text-decoration:none; transition:background .15s, color .15s; }
.mainvisual .txtbox .mvli > li a:hover { background:#f89828; color:#fff; }

.mainvisual .scrool_nav { position:absolute; left:clamp(52px,4.4vw,84px); bottom:22px; z-index:3; display:flex; align-items:center; gap:12px; }
.mainvisual .scrool_nav .bar { position:relative; width:2px; height:54px; background:rgba(32,22,22,.22); overflow:hidden; display:inline-block; }
.mainvisual .scrool_nav .bar .dash {position:absolute;left:0;top:0;width:100%;height:100%;background: #fdfdfd;animation:scrollDash 2.4s cubic-bezier(.6,0,.4,1) infinite;display:block;}
.mainvisual .scrool_nav .label {font-weight:700;color: #fdfdfd;}


/* =========================================================
   院長メッセージ section.top_message
   ========================================================= */
.top_message { background:#fdfdfd; padding:0 0 104px; }
.top_message .head {position:relative;height:clamp(360px,44vh,480px);background: #f89828;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.top_message .head .bgimg {position:absolute;inset:0;opacity: .6;}
.top_message .head .bgimg img { width:100%; height:100%; object-fit:cover; }
.top_message .head .txt {position:absolute;text-align:center;border-radius:1em 1em 0 0;bottom:-1px;background:#fdfdfd;padding: 28px 40px 0;word-break: auto-phrase;font-feature-settings: "palt";}
.top_message .head .txt .title { margin:0; font-size:clamp(26px,1.8vw,34px); font-weight:900; line-height:1.6; }


.top_message .maincopy {padding-top: 3em;padding-bottom: 3em;}
.top_message .maincopy .sub {font-size: 70%;text-align:center;font-weight:700;line-height: 1.4;}
.top_message .maincopy .title {font-size:200%;text-align:center;font-weight:700;padding: .8em;background: #fff3e2;margin: 1em 0;border-radius: .5em;line-height: 1.2;}
.top_message .maincopy .quote-mark { color:#f89828; font-size:1.3em; vertical-align:-5px; }
.top_message .txtarea .subtitle {font-size: 130%;font-weight:700;}
.top_message .txtarea .marker {background: linear-gradient(transparent 62%, rgb(255 209 156 / 45%) 62%);}
.top_message .txtarea .author {display:flex;align-items:center;justify-content:flex-end;gap: 1em;margin-top: 2.5em;}
.top_message .txtarea .author .photo {width:6em;height: 6em;border-radius:50%;background:#F3ECE1; overflow:hidden;}
.top_message .txtarea .author .photo img {width:100%;height:100%; object-fit:cover;}
.top_message .txtarea .author .namebox .sub {  font-size:100%;}
.top_message .txtarea .author .namebox .name {font-size: 170%;font-weight:900;color: #f89828;}
/* 続きを表示ボタン（スマホのみ表示。開閉は js/main.js） */
.top_message .readmore-btn { display:none; }


/* =========================================================
   5つの魅力（スクロール連動） section.top_reasons
   ========================================================= */
.top_reasons { position:relative; height:480vh; background:#fdfdfd; }
.top_reasons .sticky { position:sticky; top:0; height:100vh; overflow:hidden; box-sizing:border-box; padding:0 clamp(32px,4vw,72px); }

/* 背景（切り替わる写真エリア。表示切替は js/main.js が opacity で制御） */
.top_reasons .imgarea { position:absolute; inset:0; }
.top_reasons .imgarea .bg { position:absolute; inset:0; opacity:0; transition:opacity .6s ease; background:repeating-linear-gradient(45deg, #F5EFE6 0px, #F5EFE6 20px, #FCF9F3 20px, #FCF9F3 40px); }
.top_reasons .imgarea .bg[data-reason-bg="0"] { opacity:1; }
.top_reasons .imgarea .bg picture { position:absolute; inset:0; }
.top_reasons .imgarea .bg img { width:100%; height:100%; object-fit:cover; }
.top_reasons .imgarea .overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(253,253,253,.97) 0%, rgba(253,253,253,.92) 34%, rgba(253,253,253,.6) 58%, rgba(253,253,253,.22) 100%); }
.top_reasons .imgarea .intro { position:absolute; inset:0; background:#f89828; opacity:1; transition:opacity .55s ease; }

.top_reasons .grid { position:relative; max-width:1180px; margin:0 auto; width:100%; height:100%; display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(36px,4.5vw,72px); min-height:0; }

/* 左：テキスト側 */
.top_reasons .reasons-text { display:flex; flex-direction:column; min-height:0; padding:calc(84px + 2vh) 0 3.5vh; }
.top_reasons .reasons-text .title {margin:0;font-size: clamp(24px,6vw,52px);font-weight:900;line-height: 1.3;}
.top_reasons .reasons-text .title .big {font-size:1.5em;color: #f89828;padding:0 4px;position:relative;top:3px;transition:color .3s;}
.top_reasons.is-intro .reasons-text .title .big { color:#FFF; } /* 背景がオレンジ（イントロ）の間は白（クラスは js/main.js が付与） */

.top_reasons .panels { position:relative; flex:1; min-height:0; margin-top:8px; }
.top_reasons .panels .panel { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; opacity:0; transform:translateY(28px); transition:opacity .45s ease, transform .45s ease; }
.top_reasons .panels .panel[data-reason-panel="0"] { opacity:1; transform:translateY(0px); }
.top_reasons .panels .panel .no {margin:0;font-size:clamp(72px,7vw,104px);font-weight:900;line-height:.9;color: #f89828;}
.top_reasons .panels .panel h3 {margin:18px 0 0;font-size:clamp(20px,1.8vw,25px);font-weight:900;line-height: 1.4;}
.top_reasons .panels .panel p { margin:16px 0 0;max-width:540px; }
.top_reasons .panels .panel .cont { margin-top:12px; }

.top_reasons .counter { display:flex; align-items:center; gap:18px; }
.top_reasons .counter p { margin:0;color:#595151; }
.top_reasons .counter .current { font-size:18px; font-weight:700; color:#201616; }
.top_reasons .counter .dots { display:flex; gap:7px; }
.top_reasons .counter .dots .dot { appearance:none; border:0; padding:0; cursor:pointer; width:12px; height:12px; border-radius:50%; background:#E0D6C6; display:inline-block; transition:background .3s; }
.top_reasons .counter .dots .dot[data-reason-dot="0"] { background:#f89828; }

/* 右：カード側（縦スクロールで流れる。transform は js/main.js が上書き） */
.top_reasons .cards {position:relative;min-height:0;/* overflow:hidden; */}
.top_reasons .cards .card {position:absolute;left:0;right:0;top:calc(84px + 2vh);display:flex;flex-direction:column;gap: 1.5em;will-change:transform, opacity;}
.top_reasons .cards .card[data-reason-card="0"] { transform:translateY(-36vh); }
.top_reasons .cards .card[data-reason-card="1"] { transform:translateY(0vh); opacity:1; }
.top_reasons .cards .card[data-reason-card="2"] { transform:translateY(37vh); opacity:1; }
.top_reasons .cards .card[data-reason-card="3"] { transform:translateY(74vh); opacity:1; }
.top_reasons .cards .card[data-reason-card="4"] { transform:translateY(111vh); opacity:1; }
.top_reasons .cards .card[data-reason-card="5"] { transform:translateY(148vh); opacity:1; }
.top_reasons .cards .card .card-img {height:min(28vh,300px);border-radius:20px;overflow:hidden;background:#F3ECE1;box-shadow: 5px 5px 24px rgba(32, 22, 22, .14);}
.top_reasons .cards .card .card-img img { width:100%; height:100%; object-fit:cover; }
.top_reasons .cards .card .card-meta { display:flex; align-items:center; gap:14px; }
.top_reasons .cards .card .card-meta .no {margin:0;font-size:40px;font-weight:900;line-height:1;color: #f89828;}
.top_reasons .cards .card .card-meta .label { margin:0; font-size:110%; font-weight:900; }
.top_reasons .cards .card .card-meta .en-tag { font-weight:700; }
.top_reasons .cards .card .card-cta {height: min(30vh,299px);border-radius: 1em;background:#f89828;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-decoration:none;color:#201616;}
.top_reasons .cards .card a.card-cta:hover { color:#201616; }
.top_reasons .cards .card .card-cta .smile {width:44px;height:18px;background:url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2046.47%2018.85%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22Capa_1%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M46.22%2C4.23c-3.84%2C8.89-12.84%2C14.63-22.93%2C14.63S3.94%2C13.08.23%2C4.15C-.41%2C2.62.32.87%2C1.85.23c.38-.16.77-.23%2C1.15-.23%2C1.18%2C0%2C2.29.7%2C2.77%2C1.85%2C2.78%2C6.68%2C9.65%2C11%2C17.52%2C11s14.53-4.32%2C17.42-11.01c.66-1.52%2C2.42-2.22%2C3.94-1.56%2C1.52.66%2C2.22%2C2.42%2C1.56%2C3.94Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center;background-size:contain;}
.top_reasons .cards .card .card-cta .lead {margin:0;font-size: 200%;font-weight:900;text-align:center;line-height: 1.4;}
.top_reasons .cards .card .card-cta .btn { margin:0; background:#201616; color:#fdfdfd; border-radius:999px; padding:10px 26px; font-weight:700; }


/* =========================================================
   数字でわかる里村医院 section.numbers
   ========================================================= */
.numbers {background: #eaf5fc;padding:88px 32px 96px;}
.numbers .head .badge {display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;background:#fdfdfd;border-radius:999px;padding:8px 20px;font-weight:700;color: #B85400;}

/* 4枚の白カード（上段: 年齢層＋男女比 / 下段: 平均残業＋年間休日数） */
.numbersUL {display:flex;flex-wrap:wrap;gap:24px;margin-top: 3em;}
.numbersUL > li {background:#fdfdfd;border-radius:1em;padding: 1.5em 32px 36px;}
.numbersUL > li:nth-child(1) { width:calc(56% - 12px); }
.numbersUL > li:nth-child(2) { width:calc(44% - 12px); }
.numbersUL > li:nth-child(3) { width:calc(48% - 12px); }
.numbersUL > li:nth-child(4) { width:calc(52% - 12px); }
.numbersUL > li picture { display:block; margin-top:24px; }
.numbersUL > li img { display:block; width:100%; height:auto; }

/* カード見出し「●―― 見出し ――●」（両端に丸付きのオレンジ線） */
.midashi_en2 { display:flex; align-items:center; gap:16px; }
.midashi_en2 p {font-size: 200%;font-weight:900;line-height:1.4;}
.midashi_en2::before,
.midashi_en2::after { content:""; flex:1; height:10px; background-repeat:no-repeat; }
.midashi_en2::before { background-image:radial-gradient(circle 5px at 5px 50%, #f89828 99%, transparent), linear-gradient(#f89828, #f89828); background-size:10px 10px, calc(100% - 5px) 2px; background-position:left center, left center; }
.midashi_en2::after { background-image:radial-gradient(circle 5px at calc(100% - 5px) 50%, #f89828 99%, transparent), linear-gradient(#f89828, #f89828); background-size:10px 10px, calc(100% - 5px) 2px; background-position:right center, right center; }

/* 淡いオレンジの帯（幅広い年代が力を合わせて活躍中！） */
.midashi_orgbg {background:#FBE7CC;color:#B85400;font-weight:700;text-align:center;padding:.5em 1em;font-size: 150%;line-height: 1.3;}
.midashi_en2 + .midashi_orgbg {margin-top: .4em;}

/* =========================================================
   大切にしていること section.checkhere
   ========================================================= */
.checkhere .inner { position:relative; }
.checkhere .head .title strong { color:#f89828; }
.checkhere .head .txt {margin: 2em auto 0;max-width:490px;}
.checkhere .head .txt strong { color:#f89828; }
.tsume { font-feature-settings:"palt"; }

/* リード文の左右に回り込むイラスト */
.checkhereimg {width:100%;height: 193px;position: relative;z-index: -1;top: -125px;}
.checkhereimg .img1, .checkhereimg .img2 {position:absolute;width: 342px;bottom: 0;}
.checkhereimg .img1 {left: -90px;bottom: 0;}
.checkhereimg .img2 {right: -50px;width: 348px;}

/* 2枚のカード（左: クリーム地＋オレンジピル / 右: グレー地＋グレー帯） */
.checkhereUL {display:grid;grid-template-columns:1fr 1fr;gap:4%;margin-top: -128px;}
.checkhereUL > li {padding: 1.5em 36px .8em;}
.checkhereUL > li.dark {position:relative;border-radius: 1.5em;}
.checkhereUL > li:nth-child(1) {background:#FDF3E6;}
.checkhereUL > li:nth-child(2) { background:#F4F4F6; }

/* カード見出し: 左はカード上辺にまたがるピル、右は内側の帯 */
.midashi_bgradius {font-weight:900;text-align:center;line-height:1.5;color: #fdfdfd;}
.checkhereUL > li:nth-child(1) .midashi_bgradius {position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:#f89828;border-radius:999px;padding:.55em 1.6em;font-size: 150%;white-space:nowrap;}
.checkhereUL > li:nth-child(2) .midashi_bgradius {background: #6a6a75;border-radius:1em;padding:.6em 1.5em;color: #ffffff;font-size:110%;}

.checkhereUL .Fbox {}
.checkhereUL > li:nth-child(2) .Fbox { margin-top:1em; }
.checkhereUL .Fbox .flex {display:flex;align-items:center;gap: 1em;line-height:1.7;padding: 1em 0;}
.checkhereUL > li:nth-child(1) .Fbox .flex + .flex { border-top:1px dashed #EFD9BC; }
.checkhereUL > li:nth-child(2) .Fbox .flex + .flex { border-top:1px dashed #DBDBE0; }
.checkhereUL .Fbox .flex img { width:73px; height:auto; flex:none; }
.checkhereUL .Fbox .flex p { font-weight:500; }
.checkhereUL .Fbox .flex p span { display:block; font-weight:400; color:#595151; margin-top:.2em; }


/* =========================================================
   お仕事紹介 section.top_jobs
   ========================================================= */
/* 左: テキスト / 右: 無限スライドギャラリー（画面右端で切れる） */
.top_jobs {padding: 0 0 96px;overflow:hidden;}
.top_jobs .jobs-grid {display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:clamp(32px,5vw,80px);align-items: end;padding-left:clamp(24px,6vw,120px);}
.top_jobs .jobs-text .title { margin:0; font-size:clamp(28px,3vw,44px); font-weight:900; line-height:1.4; }
.top_jobs .jobs-text .lead { margin:28px 0 0; line-height:2.1; color:#4A4141; }
.top_jobs .jobs-text .more { display:flex; align-items:center; justify-content:space-between; gap:12px; width:min(100%,340px); margin-top:36px; background:#fdfdfd; color:#201616; border:2px solid #201616; padding:16px 26px; border-radius:999px; font-weight:700; text-decoration:none; box-shadow:0 10px 24px rgba(32,22,22,.12); transition:transform .15s, background .15s; }
.top_jobs .jobs-text .more:hover { transform:translateY(-2px); background:#FFF3E2; color:#201616; }

/* ギャラリー（リンクなしの装飾。写真は .shot 内に <img> を配置） */
.top_jobs .jobs-gallery { overflow:hidden; }
.top_jobs .jobs-gallery .track { display:flex; gap:20px; width:max-content; margin:0; padding:0; list-style:none; animation:jobsScroll 48s linear infinite; }
.top_jobs .jobs-gallery .shot {width: 350px;flex-shrink:0;border-radius:10px;overflow:hidden;perspective:1px;position:relative;height:clamp(420px,58vh,640px);background:#F3ECE1;}
.top_jobs .jobs-gallery .shot picture { display:block; width:100%; height:100%; }
.top_jobs .jobs-gallery .shot img { width:100%; height:100%; object-fit:cover; }
@keyframes jobsScroll { to { transform:translateX(calc(-50% - 10px)); } }


/* =========================================================
   現在募集中の職種 section.top_openings
   ========================================================= */
.top_openings .inner { max-width:980px; margin:0 auto; }
.top_openings .table { margin-top:44px; border-top:1px solid #E9E2D6; }
.top_openings .table .row { display:grid; grid-template-columns:280px 1fr; gap:24px; align-items:center; padding:26px 8px; border-bottom:1px solid #E9E2D6; }
.top_openings .table .row[id] { scroll-margin-top:104px; } /* ナビの職種リンク（#job-doctor 等）の着地点 */
.top_openings .table .row .job { margin:0; font-size:120%; font-weight:900; }
.top_openings .table .row .tags { display:flex; flex-wrap:wrap; gap:8px; }
.top_openings .table .row .tag { border-radius:999px; padding:6px 14px; font-weight:700; color:#201616; text-decoration:none; transition:background .15s, color .15s; }
.top_openings .table .row a.tag:hover { background:#f89828; color:#fff; }
.top_openings .table .row .tag.tag-orange { background:#FFF3E2; }
.top_openings .table .row .tag.tag-blue { background:#EAF5FC; }
.top_openings .table .row .tag.tag-beige { background:#F5F1EA; }
.top_openings .note { margin:20px 8px 0;}

/* 一覧ページへのボタン（白背景・黒枠・黒文字） */
.top_openings .morebtn { text-align:center; margin-top:40px; }
.top_openings .morebtn .more { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-width:min(100%,340px); background:#fdfdfd; color:#201616; border:2px solid #201616; padding:16px 26px; border-radius:999px; font-weight:700; text-decoration:none; box-shadow:0 10px 24px rgba(32,22,22,.12); transition:transform .15s, background .15s; }
.top_openings .morebtn .more:hover { transform:translateY(-2px); background:#FFF3E2; color:#201616; }


/* =========================================================
   採用の流れ section.flow
   ========================================================= */
.flow .flowlist { list-style:none; margin:52px 0 0; padding:0; display:flex; flex-direction:column; }
.flow .flowlist .step { display:grid; grid-template-columns:72px 1fr; gap:24px; position:relative; padding-bottom:40px; }
.flow .flowlist .step.last { padding-bottom:0; }

/* スクロールに合わせて各ステップをふわっと表示（.is-visible は js/main.js が付与） */
.flow .flowlist .step { opacity:0; transform:translateY(28px); transition:opacity .6s ease, transform .6s ease; }
.flow .flowlist .step.is-visible { opacity:1; transform:none; }
.flow .flowlist .step .line { position:absolute; left:35px; top:64px; bottom:0; width:2px; background:#E0D6C6; display:block; }
.flow .flowlist .step .no { width:64px; height:64px; border-radius:50%; background:#f89828; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:900; position:relative; z-index:1; }
.flow .flowlist .step.highlight .no { background:#3FA9E8; }
.flow .flowlist .step .body { background:#fdfdfd; border:1px solid #E9E2D6; border-radius:16px; padding:24px 28px; }
.flow .flowlist .step.highlight .body { border:1.5px solid #201616; box-shadow:3px 4px 0 #201616; }
.flow .flowlist .step .body h3 {font-size:130%;}
.flow .flowlist .step .body h3 .rec { margin-left:10px; font-weight:700; color:#B85400; background:#FFF3E2; padding:4px 10px; border-radius:999px; font-size:80%;}
.flow .flowlist .step .body p { margin:10px 0 0; line-height:2; color:#4A4141; }

/* Step1（応募）内のCTAボタン */
.flow .flowlist .step .body .btns { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.flow .flowlist .step .body .btns a { display:inline-flex; align-items:center; gap:12px; padding:12px 24px; border-radius:999px; font-weight:700; text-decoration:none; color:#201616; transition:background .15s; }
.flow .flowlist .step .body .btns .entry { background:#f89828; box-shadow:0 6px 16px rgba(248,152,40,.35); }
.flow .flowlist .step .body .btns .entry:hover { background:#EA8C13; color:#201616; }
.flow .flowlist .step .body .btns .application { background:#fdfdfd; border:2px solid #201616; }
.flow .flowlist .step .body .btns .application:hover { background:#FFF3E2; color:#201616; }


/* =========================================================
   よくある質問 section.faq
   ========================================================= */
.faq .faqlist { margin-top:44px; display:flex; flex-direction:column; gap:14px; }
.faq .faqlist details { background:#fdfdfd; border:1.5px solid #201616; border-radius:16px; padding:0 24px; box-shadow:3px 4px 0 #201616; }
.faq .faqlist summary { display:flex; align-items:center; gap:14px; padding:20px 0; font-weight:700; }
.faq .faqlist summary .q {flex:none;width:30px;height:30px;border-radius:50%;background:#f89828;display:flex;align-items:center;justify-content:center;font-weight:900;font-family: 'Oswald';}
.faq .faqlist summary .caret { margin-left:auto; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #B85400; display:inline-block; transition:transform .25s ease; }
.faq .faqlist details[open] summary .caret { transform:rotate(180deg); }
/* 開閉アニメーション（高さは js/main.js が制御） */
.faq .faqlist .answer { display:flex; gap:14px; padding:4px 0 22px; overflow:hidden; transition:height .3s ease, padding .3s ease; }
.faq .faqlist .answer .a {flex:none;width:30px;height:30px;border-radius:50%;background:#201616;color:#fdfdfd;display:flex;align-items:center;justify-content:center;font-weight:900;font-family: 'Oswald';}
.faq .faqlist .answer p { margin:2px 0 0; line-height:2; }


/* =========================================================
   採用エントリーCTA section.entry
   ========================================================= */
section.entry {position:relative;overflow:hidden;background: #f7f1e7;border-radius: 3em 3em 0 0;padding: 10em 32px 60px;text-align:center;}
section.entry .en {position:absolute;left:50%;top:18px;transform:translateX(-50%);margin:0;font-size: clamp(90px,15vw,250px);font-weight:900;line-height:1;white-space:nowrap;color: #FFF;user-select:none;}
section.entry .inner { position:relative; max-width:760px; margin:0 auto; }
section.entry .inner .smile {width: 38vw;height: 2.5em;margin: 1em auto 2em;background:url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2046.47%2018.85%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23EA8C13%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22Capa_1%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M46.22%2C4.23c-3.84%2C8.89-12.84%2C14.63-22.93%2C14.63S3.94%2C13.08.23%2C4.15C-.41%2C2.62.32.87%2C1.85.23c.38-.16.77-.23%2C1.15-.23%2C1.18%2C0%2C2.29.7%2C2.77%2C1.85%2C2.78%2C6.68%2C9.65%2C11%2C17.52%2C11s14.53-4.32%2C17.42-11.01c.66-1.52%2C2.42-2.22%2C3.94-1.56%2C1.52.66%2C2.22%2C2.42%2C1.56%2C3.94Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E') no-repeat center center;background-size:contain;}
section.entry .inner .title {margin:0;font-size: clamp(32px,6.2vw,56px);font-weight:900;line-height: 1.2;}
section.entry .inner .lead {margin-top: 1em;font-weight:500;}
section.entry .inner .tag {display:inline-block;font-size: 170%;font-weight: 900;color: #EA8C13;}
section.entry .inner .actions { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:34px; }
section.entry .inner .actions .primary {display:inline-flex;align-items:center;gap:12px;background: #f89828;padding:19px 46px;border-radius:999px;font-size:110%;font-weight:700;text-decoration:none;box-shadow:0 14px 30px rgba(32,22,22,.35);transition:transform .15s;}
section.entry .inner .actions .primary:hover { transform:translateY(-2px); color:#201616; }
section.entry .inner .actions .secondary {display:inline-flex;align-items:center;gap:10px;background:#fdfdfd;color:#201616;padding:16px 30px;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid #201616;transition:background .15s;}
section.entry .inner .actions .secondary:hover { background:#FFF3E2; color:#201616; }
section.entry .inner .insta {display:inline-flex;align-items:center;gap: .5em;margin-top: 2em;font-weight:700;text-decoration:none;color:#201616;font-size: 120%;}
section.entry .inner .insta:hover {color:#B85400; }
section.entry .inner .insta .ico { width:1em; height:1em; border:3px solid #B85400; border-radius:5px; display:inline-block; }

/* Instagram写真スライダー*/
section.entry .insta-slider {margin: 1.5em -32px 0;overflow:hidden;}
section.entry .insta-slider .track { display:flex; gap:14px; width:max-content; margin:0; padding:0; list-style:none; animation:instaScroll 36s linear infinite; }
section.entry .insta-slider .shot { flex:none; width:220px; height:220px; verflow:hidden; }
section.entry .insta-slider .shot img { width:100%; height:100%; object-fit:cover; border-radius:.5em; }
@keyframes instaScroll { to { transform:translateX(calc(-50% - 7px)); } }


/* =========================================================
   フッター footer.footer
   ========================================================= */
.footer {background: #fdfdfd;padding:72px clamp(24px,3vw,48px) 0;}
.footer .inner {margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px;align-items:start;}
.footer .info .logo { display:flex; align-items:center; height:46px; }
.footer .info .logo img { height:100%; width:auto; }
.footer .info .name { margin:22px 0 0; font-weight:900; }
.footer .info .address { margin:10px 0 0;}
.footer nav .en { margin:0 0 14px; color:#f89828; }
.footer nav ul {display:flex; flex-direction:column; gap:12px; }
.footer .sites a {text-decoration:none; display:inline-flex; gap:8px; align-items:center; }
.footer .sites a:hover { color:#f89828; }
.footer .sitemap a {text-decoration:none; }
.footer .sitemap a:hover { color:#f89828; }
.footer .bottom { max-width:1200px; margin:56px auto 0; border-top:1px solid #c9beb2; padding:20px 0 24px; display:flex; justify-content:space-between; align-items:center; }
.footer .bottom .copyright {}
.footer .bottom .en {font-weight: 300;}


/* =========================================================
   5つの魅力のモーダル（スマホでカードをタップすると表示。生成と開閉は js/main.js）
   ========================================================= */
.reason-modal { position:fixed; inset:0; z-index:120; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; transition:opacity .25s ease; }
.reason-modal.is-open { opacity:1; }
.reason-modal[hidden] { display:none; }
.reason-modal__overlay { position:absolute; inset:0; background:rgba(32,22,22,.55); }
.reason-modal__box { position:relative; background:#fdfdfd; border-radius:16px; padding:30px 22px 26px; width:min(100%,480px); max-height:80vh; overflow-y:auto; box-shadow:0 24px 48px rgba(32,22,22,.3); }
.reason-modal__close { position:absolute; top:10px; right:10px; width:36px; height:36px; border:0; border-radius:50%; background:#201616; cursor:pointer; }
.reason-modal__close::before,
.reason-modal__close::after { content:""; position:absolute; left:50%; top:50%; width:16px; height:2px; background:#fdfdfd; }
.reason-modal__close::before { transform:translate(-50%,-50%) rotate(45deg); }
.reason-modal__close::after { transform:translate(-50%,-50%) rotate(-45deg); }
.reason-modal__photo { margin:-30px -22px 18px; }
.reason-modal__photo img { display:block; width:100%; height:44vw; max-height:220px; object-fit:cover; border-radius:16px 16px 0 0; }
.reason-modal__body .no {font-size: 200%;font-weight:900;line-height:1;color: #f89828;}
.reason-modal__body h3 {font-weight: 700;line-height:1.6;font-size: 150%;}
.reason-modal__body p:not(.no) { margin-top:1em; font-size:100%; line-height:1.6; color:#4A4141; }


/* =========================================================
   追従CTA（右下固定） .fixedCTA
   ========================================================= */
.fixedCTA { position:fixed; right:24px; bottom:24px; z-index:80; display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.fixedCTA .entry {display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f89828;color:#201616;padding:17px 26px;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 14px 30px rgba(248,152,40,.42);transition:background .15s, transform .15s;}
.fixedCTA .entry:hover { background:#EA8C13; color:#201616; transform:translateY(-2px); }
.fixedCTA .application { display:flex; align-items:center; justify-content:space-between; gap:16px; background:#fdfdfd; color:#201616; border:2px solid #201616; padding:13px 24px; border-radius:999px; font-weight:700; text-decoration:none; box-shadow:0 10px 24px rgba(32,22,22,.14); transition:background .15s; }
.fixedCTA .application:hover { background:#FFF3E2; color:#201616; }


/* =========================================================
   セクション共通の見出しブロック（複数セクションで共通の値）
   ========================================================= */
.checkhere, .top_openings, .faq { background:#fdfdfd; padding:88px 32px 96px; }
.top_openings.second { padding-top:0; padding-bottom:10em; background:none;}
.flow { background:#F7F1E7; padding:88px 32px 96px; }

.numbers .inner, .checkhere .inner {max-width:1140px;margin:0 auto;padding:0;z-index: 2;}
.flow .inner, .faq .inner { max-width:860px; margin:0 auto; }

.numbers .head,
.checkhere .head,
.top_openings .head,
.flow .head,
.faq .head { text-align:center; }

.numbers .head .title,
.checkhere .head .title,
.top_openings .head .title,
.flow .head .title,
.faq .head .title {margin:0;font-size: clamp(26px,6.4vw,50px);font-weight:900;line-height: 1.3;word-break: auto-phrase;font-feature-settings: "palt";}

/* バッジ（見出し上の小さなピル） */
.top_message .head .txt .badge,
.top_reasons .reasons-text .badge { }
.head .badge,
.faq .head .badge,
.jobs-text .badge{display:inline-flex;align-items:center;margin-bottom: 1em;background:#FBE7CC;border-radius:999px;padding:10px 26px;font-weight:700;color:#B85400;letter-spacing:.3em;text-indent:.3em;word-break: auto-phrase;font-feature-settings: "palt";}
.flow .head .badge {background:#fdfdfd;}


/* =========================================================
   レスポンシブ
   - ~1200px: タブレット（グリッド段数を減らす）
   - ~860px : スマホ（ハンバーガーメニュー・1カラム・下部固定CTA）
   ========================================================= */

/* ---------- タブレット ---------- */
@media only screen and (max-width: 1200px) {
#top { min-width:0; }
main { padding-top:0; }

.numbersUL { gap:20px; }
.checkhere .head .txt { max-width:490px; }
.checkhereUL { gap:32px; }
.top_reasons .grid { grid-template-columns:1fr 1fr; gap:28px; }
}

@media only screen and (max-width:950px) {
.checkhereimg { height: 193px; top: -5vw;}
.checkhereUL { margin-top: -5vw;}
}

@media only screen and (max-width: 1000px) and (min-width: 861px) {
header.header { gap:10px; }
header.header nav.nav > ul > li.home > a,
header.header nav.nav > ul > li.dropdown > button,
header.header nav.nav > ul > li.dropdown > a { padding:10px 8px; font-size:14px; }
header.header nav.nav > ul > li.cta > a { padding:10px 14px; font-size:14px; }
header.header .logo { height:38px; }
}

/* ---------- スマホ ---------- */
@media only screen and (max-width: 860px) {
main { padding-top:0; padding-bottom:0; }
section[id], li[id] {scroll-margin-top: 72px;}

/* --- ヘッダー: 常に白背景＋ハンバーガー --- */
header.header { height:60px; padding:0 8px 0 16px; background:rgba(253,253,253,.97); border-bottom-color:#EFEAE0; backdrop-filter:none; -webkit-backdrop-filter:none; }
header.header.is-scrolled { backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:0 6px 20px rgba(32,22,22,.08); }
header.header .logo { height:36px; }
 header.header .menu-toggle { display:flex; width:auto; min-width:48px; height:auto; padding:6px; gap:4px; }
 header.header .menu-toggle .menu-label { display:block; }

/* --- ドロワーメニュー（menu-open で表示） --- */
header.header nav.nav { position:fixed; top:60px; left:0; right:0; bottom:0; margin:0; background:#fdfdfd; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:12px 20px 120px; opacity:0; visibility:hidden; transform:translateY(-12px); transition:opacity .25s, transform .25s, visibility .25s; }
header.header.menu-open nav.nav { opacity:1; visibility:visible; transform:none; }

header.header nav.nav > ul { display:flex; flex-direction:column; align-items:stretch; gap:0; }
header.header nav.nav > ul > li { display:block; }

/* 行動導線: エントリーCTAをメニューの最上部に置く */
header.header nav.nav > ul > li.cta { order:-1; margin:8px 0 16px; }
header.header nav.nav > ul > li.cta > a { justify-content:center; padding:16px; font-size:16px; }

header.header nav.nav > ul > li.home > a { display:flex; width:100%; padding:16px 4px; font-size:16px; border-bottom:1px solid #EFEAE0; }

/* グループ見出し（開閉不要で全リンクを常時表示） */
header.header nav.nav > ul > li.dropdown > button {pointer-events:none;width:100%;padding:18px 4px 6px;color:#B85400;border-bottom:none;}
header.header nav.nav > ul > li.dropdown > button .caret { display:none; }
/* リンク化した親（トップ等）は見た目はグループ見出し、タップでページへ移動できる */
header.header nav.nav > ul > li.dropdown > a { width:100%; padding:18px 4px 6px; font-size:12.5px; color:#B85400; border-bottom:none; }
header.header nav.nav > ul > li.dropdown > a .caret { display:none; }
header.header nav.nav > ul > li .submenu,
header.header nav.nav > ul > li .submenu.wide,
header.header nav.nav > ul > li .submenu.mega { position:static; transform:none; width:100%; border:0; box-shadow:none; padding:0; background:transparent; }
/* メガメニューはドロワー内では1カラムに積む */
header.header nav.nav > ul > li .submenu.mega .recruit-groups {grid-template-columns:1fr;gap: 10px 2%;}
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(1),
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(2),
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(3),
header.header nav.nav > ul > li .submenu.mega .recruit-groups .group:nth-child(4) {width: 49%;}
header.header nav.nav > ul > li .submenu.mega .group-head {padding: 0 0 0.3em .4em;}
header.header nav.nav > ul > li .submenu[hidden] { display:block; }
header.header nav.nav > ul > li .submenu .label { display:none; }
header.header nav.nav > ul > li .submenu .moremenu,
header.header nav.nav > ul > li .submenu .moremenu.cols2 { grid-template-columns:1fr; gap:0; }
header.header nav.nav > ul > li .submenu .moremenu > li.none {display:none;}
header.header nav.nav > ul > li .submenu .moremenu a { padding:15px 8px; font-size:15px; border-bottom:1px solid #F2ECE3; border-radius:0; }

/* メニュー展開中は背面ページのスクロールを止める */
html.menu-lock { overflow:hidden; }

/* --- FV: キャッチコピー→写真2枚（img2がメイン・img1を重ねる）→JOIN USの順 --- */
.mainvisual {display:flex;flex-direction:column;height:auto;min-height:0;padding: 60px 0 12vw;}
.mainvisual .sidebar { display:none; }
.mainvisual .txtbox { order:1; }
.mainvisual .img.img2 { order:2; }
.mainvisual .img.img1 { order:3; }
.mainvisual .en { order:4; }
.mainvisual .txtbox {position:static;padding: 49vw 0px 0;}
.mainvisual .txtbox .sitetitle {display:none;}
.mainvisual .txtbox .title {font-size: 9vw;gap:8px;word-break: auto-phrase;font-feature-settings: "palt";width: 100%;}
.mainvisual .txtbox .title > span {padding: 2px 0 6px 6%;}
.mainvisual .txtbox .sub {font-size: 4vw;padding: 0 0 0 4%;}
.mainvisual .txtbox .mvli {flex-wrap:wrap;gap:8px;margin-left: 4%;margin-top: 1em;}
.mainvisual .txtbox .mvli > li { font-size:14px; box-shadow:2px 3px 0 #201616; }
.mainvisual .txtbox .mvli > li a { padding:8px 18px; }
/* メイン写真（右端まで届く） */
.mainvisual .img.img2 {display:block;inset:auto;width: 96%;height:70vw;max-height:420px;right: 0;}
/* サブ写真を左下に重ねてコラージュに */
.mainvisual .img.img1 {position:relative;inset:auto;width: 80vw;height: 48vw;margin: -4vw 0 0 0;z-index: 0;box-shadow:0 10px 24px rgba(32,22,22,.18);}
/* JOIN US: 写真に重ねる */
.mainvisual > .en {display:block;font-size: 26vw;line-height:1;margin: -7vw 0 0 0;text-align: right;-webkit-text-stroke-width:1.5px;z-index:3;right: 1%;bottom: 0;}
.mainvisual .scrool_nav { display:none; }

/* --- 院長メッセージ --- */
.top_message { padding:0 0 64px; }
.top_message .head { height:300px; }
.top_message .head .txt {width:calc(100% - 32px);padding: 4% 4% 0;}
.top_message .head .txt .title { font-size:120%; }
.top_message .maincopy {padding-top:4vw;}
.top_message .maincopy .title {margin-top: 0;font-size: 120%;word-break: auto-phrase;font-feature-settings: "palt";}
.top_message .maincopy .sub {font-size:100%;margin-bottom: .3em;}
.top_message .txtarea .author { justify-content:center; }
.top_message .txtarea .author .namebox .name {font-size: 170%; }
/* 本文を約5行で折りたたみ、「続きを表示」で開閉（.author は対象外） */
.top_message .txtarea .readmore { position:relative; overflow:hidden; max-height:10.5em; transition:max-height .4s ease; }
.top_message .txtarea .readmore:not(.is-open)::after { content:""; position:absolute; left:0; right:0; bottom:0; height:3em; background:linear-gradient(rgba(253,253,253,0), #fdfdfd); }
.top_message .readmore-btn { display:flex; align-items:center; justify-content:center; gap:10px; margin:16px auto 0; background:#fdfdfd; border:2px solid #201616; border-radius:999px; padding:10px 26px; font-family:inherit; font-weight:700; font-size:13.5px; color:#201616; cursor:pointer; }
.top_message .readmore-btn .arrow { transform:rotate(90deg); transition:transform .25s; }
.top_message .readmore-btn[aria-expanded="true"] .arrow { transform:rotate(-90deg); }

/* --- 5つの魅力: カード6枚を2列3行で並べ、タップでモーダル表示（開閉は js/main.js） --- */
.top_reasons {height:auto;background: #fff3e2;}
.top_reasons .sticky { position:static; height:auto; overflow:visible; padding:64px 20px; }
.top_reasons .imgarea { display:none; }
.top_reasons .panels { display:none; } /* テキストはモーダル内に表示する */
.top_reasons .counter { display:none; }
.top_reasons .grid { display:block; height:auto; max-width:none; gap:0; }
.top_reasons .reasons-text {display:block;padding:0;text-align: center;}

.top_reasons .cards { display:grid; position:static; min-height:0; overflow:visible; grid-template-columns:1fr 1fr; gap:20px 12px; margin-top:28px; }
.top_reasons .cards .card[data-reason-card] { position:relative; inset:auto; transform:none; width:auto; max-width:none; display:block; cursor:pointer; }
.top_reasons .cards .card .card-img { height:36vw; max-height:180px; border-radius:12px; }
.top_reasons .cards .card .card-cta { height:36vw; max-height:180px; border-radius:12px; gap:6px; padding:8px; }
.top_reasons .cards .card .card-cta .smile { width:26px; height:11px; }
.top_reasons .cards .card .card-cta .lead { font-size:12.5px; line-height:1.5; }
.top_reasons .cards .card .card-cta .btn { font-size:10.5px; padding:6px 12px; }
.top_reasons .cards .card .card-meta { margin-top:8px; gap:8px; align-items:flex-start; }
.top_reasons .cards .card .card-meta .no {font-size: 7vw;}
.top_reasons .cards .card .card-meta .label {font-size: 3.8vw;line-height:1.5;font-weight: 700;word-break: auto-phrase;font-feature-settings: "palt";}
/* タップできることを示す「＋」（写真の右下に重ねる） */
.top_reasons .cards .card .card-img { position:relative; }
.top_reasons .cards .card .card-img::after { content:"＋"; position:absolute; right:8px; bottom:8px; width:26px; height:26px; border-radius:50%; background:#f89828; color:#fdfdfd; font-weight:700; font-size:16px; line-height:26px; text-align:center; box-shadow:0 2px 8px rgba(32,22,22,.25); }

/* --- 各セクション共通: 余白と1カラム化 --- */
.numbers, .checkhere, .top_openings, .flow, .faq {padding: 64px 5% 72px;}

/* 数字でわかる里村医院: カードを1カラムに */
.numbersUL { gap:14px; margin-top:32px; }
.numbersUL > li:nth-child(n) { width:100%; padding:24px 20px 28px; }
.numbersUL > li picture { margin-top:18px; }
.midashi_en2 { gap:12px; }
.midashi_en2 p {font-size: 163%;}
.midashi_orgbg { margin-top:14px; font-size:90%; }

/* 大切にしていること: イラストを通常フローの縦積みに戻し、カードを1カラムに */
.checkhere {padding-bottom:0;}
.checkhereimg {display:flex;gap:10px;align-items: end;justify-content: center;top: 0;height: 24vw;}
.checkhereimg .img1, .checkhereimg .img2 {position:static;width: 40vw;}
.checkhereimg .img2 {position:static;width: 42vw;}
.checkhereUL {grid-template-columns:1fr;gap: 2em;margin-top: 0;}
.checkhereUL > li:nth-child(1) {padding: 1em 16px;}
.checkhereUL > li:nth-child(2) {padding: 1em 16px;}
.checkhereUL > li:nth-child(1) .midashi_bgradius {word-break: auto-phrase;font-feature-settings: "palt";position: static;transform: initial;}
.checkhereUL > li:nth-child(2) .midashi_bgradius {word-break: auto-phrase;font-feature-settings: "palt";}
.checkhereUL .Fbox { padding:0 4px; }
.checkhereUL .Fbox .flex { gap:14px; padding:12px 0; }
.checkhereUL .Fbox .flex img { width:56px; }
br.pc { display:none; }

/* お仕事紹介: テキストの下にギャラリーを縦積み */
.top_jobs { padding:64px 0 72px; }
.top_jobs .jobs-grid { grid-template-columns:1fr; gap:32px; padding-left:0; }
.top_jobs .jobs-text {padding: 0 6%;max-width: 500px;margin: auto;text-align: center;}
.top_jobs .jobs-text .lead {text-align:left;}
.top_jobs .jobs-text .title { font-size:clamp(24px,6.4vw,32px); }
.top_jobs .jobs-text .more { width:100%; }
.top_jobs .jobs-gallery .track { animation-duration:36s; }
.top_jobs .jobs-gallery .shot { width:75vw; max-width:340px; height:100vw; max-height:460px; }

.top_openings .inner {padding:0;}
.top_openings .table { margin-top:32px; }
.top_openings .table .row { grid-template-columns:1fr; gap:8px; padding:18px 4px; }
.top_openings .table .row .job { font-size:16px; }

.flow .inner {padding:0;}
.flow .flowlist { margin-top:36px; }
.flow .flowlist .step { grid-template-columns:48px 1fr; gap:14px; padding-bottom:28px; }
.flow .flowlist .step .no { width:44px; height:44px; font-size:16px; }
.flow .flowlist .step .line { left:21px; top:52px; }
.flow .flowlist .step .body { padding:18px; }
.flow .flowlist .step .body .btns { gap:10px; }
.flow .flowlist .step .body .btns a { width:100%; justify-content:center; padding:14px; }

.faq .inner { padding:0;}
.faq .faqlist { margin-top:32px; gap:12px; }
.faq .faqlist details { padding:0 16px; }
.faq .faqlist summary { gap:10px; padding:16px 0; font-size:14.5px; }
.faq .faqlist summary .q, .faq .faqlist .answer .a { width:26px; height:26px; font-size:12px; }
.faq .faqlist .answer { gap:10px; }

/* --- 採用エントリーCTA --- */
section.entry {padding: 3em 0 3em;}
section.entry .inner { padding:0 5%;}
section.entry .en {font-size: 26vw;}
section.entry .inner .title {font-size:9vw;}
section.entry .inner .tag { font-size:15px; }
section.entry .inner .actions { flex-direction:column; gap:12px; margin-top:26px; }
section.entry .inner .actions .primary,
section.entry .inner .actions .secondary { width:100%; justify-content:center; padding:16px; }
section.entry .inner .insta {margin-top: 3em;font-size: 100%;padding: 0;white-space:nowrap;}
section.entry .inner .insta .ico { width:14px; height:14px; }
section.entry .insta-slider {margin: 1em -20px 0;}
section.entry .insta-slider .track { gap:10px; animation-duration:30s; }
section.entry .insta-slider .shot { width:150px; height:150px; border-radius:12px; }
@keyframes instaScroll { to { transform:translateX(calc(-50% - 5px)); } }

/* --- フッター --- */
.footer {padding: 3em 5% 0;}
.footer .inner {grid-template-columns:1fr;gap:28px;padding: 0;}
.footer .bottom { margin-top:36px; flex-direction:column; gap:6px; align-items:flex-start; padding:16px 0 96px; }

/* --- 追従CTA: 親指の届く下部固定バーに変形（行動導線の最優先） --- */
.fixedCTA { left:12px; right:12px; bottom:12px; flex-direction:row; gap:8px; }
.fixedCTA a.entry, .fixedCTA a.application { flex:1; justify-content:center; gap:8px; padding:14px 8px; font-size:13px; text-align:center; }
}

/* ---------- 小型スマホ ---------- */
@media only screen and (max-width: 440px) {
.checkhereUL .Fbox .flex img { width:48px; }
.fixedCTA a.entry, .fixedCTA a.application { font-size:3.2vw; }
}


/* =========================================================
   下層ページ共通
   ========================================================= */
body.subpage { background:#fffaef; }

/* --- ページタイトルFV（ヘッダーに被らない・左右マージン・角丸写真＋白タイトルボックス） --- */
.pageFV { padding:100px clamp(16px,3vw,40px) 0; }
.pageFV .fvframe {position:relative;height:clamp(260px,36vh,420px);}
.pageFV .bgimg {position:absolute;inset:0;overflow: hidden;width: 100%;height: 100%;box-shadow: 0 14px 34px rgba(32, 22, 22, .12);border-radius: 24px;}
.pageFV .bgimg img { width:100%; height:100%; object-fit:cover; }
.pageFV .titlebox { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:#fdfdfd; border-radius:20px; padding:clamp(24px,3.4vw,40px) clamp(36px,5.5vw,72px); box-shadow:0 12px 30px rgba(32,22,22,.16); }
.pageFV .title { display:flex; flex-direction:column; align-items:center; gap:8px; color:#f89828; font-size:clamp(22px,2.6vw,34px); font-weight:900; line-height:1.3; text-align:center; white-space:nowrap; font-feature-settings:"palt"; }
.pageFV .title .en { font-size:44%; font-weight:500; letter-spacing:.26em; text-indent:.26em; color:#8A8080; }

/* --- パンくず（長い場合は横スクロール） --- */
.breadcrumb { max-width:1140px; margin:22px auto 0; padding:0 clamp(20px,3vw,40px); overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.breadcrumb::-webkit-scrollbar { display:none; }
.breadcrumb ol { display:flex; align-items:center; margin:0; padding:0; list-style:none; white-space:nowrap; font-size:13px; font-weight:700; }
.breadcrumb li { display:flex; align-items:center; }
.breadcrumb li + li::before { content:"›"; margin:0 12px; color:#B7A995; font-weight:400; }
.breadcrumb a { color:#201616; text-decoration:none; }
.breadcrumb a:hover { color:#f89828; }
.breadcrumb li[aria-current] { color:#f89828; }

/* --- ページ内リンク --- */
.pagelinks {max-width:1140px;margin: 1.5em auto 2em;padding:0 clamp(20px,3vw,40px);}
.pagelinks ul {display:flex;flex-wrap:wrap;gap:6px clamp(14px,2vw,28px);margin:0;padding:18px clamp(20px,2.6vw,34px);background:#fdfdfd;border-radius:16px;}
.pagelinks a { display:inline-flex; align-items:center; gap:8px; padding:6px 2px; color:#201616; font-size:14px; font-weight:700; text-decoration:none; }
.pagelinks a::before { content:""; width:0; height:0; border-left:8px solid #f89828; border-top:5px solid transparent; border-bottom:5px solid transparent; }
.pagelinks a:hover { color:#f89828; }

/* --- 下層セクション共通 --- */
.about_sec { padding:88px 32px 0; }
.about_sec:last-of-type { padding-bottom:96px; }
/* 左右の余白はセクション側(.about_sec)で管理するため、共通.innerの6%paddingを打ち消して二重余白を防ぐ */
.about_sec .inner { max-width:1140px; margin:0 auto; padding:0; }
.about_sec .head { text-align:center; }
.about_sec .head .title { margin:0; font-size:clamp(24px,3.2vw,38px); font-weight:900; line-height:1.4; word-break:auto-phrase; font-feature-settings:"palt"; }
.about_sec .head .title .accent { color:#f89828; }
.about_sec .head .title::after { content:""; display:block; width:150px; margin:20px auto 0; border-bottom:3px dotted #CBBFA9; }
.about_sec .lead { max-width:820px; margin:28px auto 0; line-height:2; color:#4A4141; text-align:center; }
.about_sec .morebtn, .job_sec .morebtn { text-align:center; margin-top:56px; }
.about_sec .morebtn .more, .job_sec .morebtn .more { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-width:min(100%,340px); background:#fdfdfd; color:#201616; border:2px solid #201616; padding:16px 26px; border-radius:999px; font-weight:700; text-decoration:none; box-shadow:0 10px 24px rgba(32,22,22,.12); transition:transform .15s, background .15s; }
.about_sec .morebtn .more:hover, .job_sec .morebtn .more:hover { transform:translateY(-2px); background:#FFF3E2; color:#201616; }
.about_sec.gallerybtn { padding:56px 32px 0; }
.about_sec.gallerybtn .morebtn { margin-top:0; }

/* 白の角丸カード（コンテンツの器） */
.about_sec .panelcard {position:relative;margin-top: 2em;}

/* 左にオレンジ線の小見出しバー */
.about_sec .barhead, .job_sec .barhead { margin:0 0 18px; background:#fdfdfd; border-left:6px solid #f89828; border-radius:0 12px 12px 0; padding:14px 20px; font-size:clamp(16px,1.7vw,19px); font-weight:900; box-shadow:0 6px 16px rgba(32,22,22,.06); font-feature-settings:"palt"; }

/* 表組み風の定義リスト（角丸の行ボックス） */
.about_sec .info-table { margin:0; }
.about_sec .info-table > div {display:grid;grid-template-columns: 122px 1fr;gap:20px;align-items:start;background: #FFF;border-radius:12px;padding: 20px;}
.about_sec .info-table > div + div { margin-top:14px; }
.about_sec .info-table dt { font-weight:900; color:#B85400; }
.about_sec .info-table dd { line-height:1.9; color:#4A4141; }
.about_sec .info-table dd a { color:#4A4141; text-decoration:none; }
.aten {display:block;font-size:90%;position:relative; padding-left:1.2em; }
.aten:before {content:"\203B"; position:absolute; left:0;}

/* --- 福利厚生（アイコン付きパネル・PC5列2行） --- */
.about_welfare .welfare-list { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin:48px 0 0; padding:0; list-style:none; }
.about_welfare .welfare-list li {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;background:#fdfdfd;border-radius:18px;padding:30px 14px 26px;text-align:center;}
.about_welfare .welfare-list .ico { display:block; width:96px; height:96px; margin-bottom:12px; }
.about_welfare .welfare-list .ico svg { width:100%; height:100%; display:block; }
.about_welfare .welfare-list .name { font-size:15px; font-weight:900; line-height:1.6; font-feature-settings:"palt"; }
.about_welfare .welfare-list .note { font-size:11.5px; line-height:1.6; color:#8A8080; }

/* --- 診療時間（表の挿入場所のみ確保） --- */
.consultation_table {border: 15px solid #ffffff; border-radius:1em;}
.consultation_table table { border: 1px solid #5f665e; width: 100%;}
.consultation_table table th { border: 1px solid #868a7c; text-align: center; vertical-align: middle;}
.consultation_table table th.vertical_th {width: 26%;background: #fef7e3;font-size: 87.5%;padding: 6px 0;}
.consultation_table table th.vertical_th .time { font-size: 19px; line-height: 1.2;}
.consultation_table table th.vertical_th .time span { font-size: 12px; display: block; font-weight: 700; line-height: 1.2;}

.consultation_table table th.empty {background: #fdeac1;}
.consultation_table table th.weekday {background: #f9cf7d;font-weight: 500;}
.consultation_table table th.holiday { background: #b4b4b4; color: #fff; font-weight: 500;}

.consultation_table table td { border: 1px solid #868a7c; width: 10%; text-align: center; vertical-align: middle; font-size: 87.5%; background: #fff;}

.consultation_table table td.null { background: #f5f3ee; overflow: hidden;}
.consultation_table table td.null img { width: 100%; height: auto;}
.consultation_table table td .circle01 {width: 14px;height: 14px;border: 3px solid #f8b600;display: inline-block;border-radius: 50%;}
.consultation_table table td .circle02 {width: 14px;height: 14px;background: #f89828;display: inline-block;border-radius: 50%;}
.consultation_table table td span { line-height: 1; display: block; margin-top: -5px;}
.consultation_table .caution_box { margin-top: 15px; counter-reset: caution_num 0;}
.consultation_table .caution_box .list_caution li { position: relative; counter-increment: caution_num 1; padding-left: 2.5em; font-size: 87.5%;}
.consultation_table .caution_box .list_caution li::before { content: "※" counter(caution_num); position: absolute; top: 0; left: 0;}
.consultation_table .caution_box .list_caution li.dccalendar_li { display:none;}
.consultation_table .caution_box p { margin-top: 10px; font-size: 87.5%;}

/* --- アクセス --- */
.about_access .map { margin-top:44px; }
.about_access .map iframe { display:block; width:100%; height:420px; border:0; border-radius:20px; box-shadow:0 12px 30px rgba(32,22,22,.1); }
.about_access .access-grid { display:grid; grid-template-columns:1fr minmax(240px,320px); gap:clamp(24px,3.4vw,48px); align-items:start; margin-top:44px; }
/* 再生マークはサムネイル画像自体に入っているため、CSSでは重ねない */
.about_access .video-wrapper { position:relative; border-radius:16px; overflow:hidden; cursor:pointer; box-shadow:0 12px 30px rgba(32,22,22,.12); }
.about_access .video-wrapper img { display:block; width:100%; }
.about_access .video-wrapper .video-element { display:none; width:100%; }
.about_access .video-wrapper.is-playing picture { display:none; }
.about_access .video-wrapper.is-playing .video-element { display:block; }
.about_access .video-wrapper.is-playing { cursor:default; }

/* --- 理事長紹介・挨拶 --- */
.about_greeting .greeting-grid { display:grid; grid-template-columns:minmax(220px,300px) 1fr; gap:clamp(28px,4vw,56px); align-items:start; }
.about_greeting .photo img { width:100%; border-radius:16px; }
.about_greeting .txt p { line-height:2.1; color:#4A4141; }
.about_greeting .txt p + p { margin-top:1.4em; }
.about_greeting .txt .sign { margin-top:2em; text-align:right; font-weight:900; color:#201616; }
.about_greeting .txt .sign .name { margin-left:.8em; font-size:160%; }

/* --- 医師・スタッフ紹介（写真カード・1列4名×2列） --- */
.about_staff .staff-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(18px,2.4vw,28px); margin:48px 0 0; padding:0; list-style:none; }
.about_staff .staff-grid figure {margin:0;background: #fff9f0;border-radius: 1em;overflow:hidden;text-align: center;}
.about_staff .staff-grid img {display:block;width:100%;}
.about_staff .staff-grid figcaption {display:flex;flex-direction:column;padding:16px 18px 18px;}
.about_staff .staff-grid .name {font-weight: 700;font-size: 130%;}
.about_staff .staff-grid .role {background:#FFF3E2;color:#B85400;border-radius:999px;padding: 2px .8em;}
.about_staff .staff-note {margin-top: 2em;text-align:center;font-weight:700;background: #FFF;border-radius: 1em;padding: 30px;}
.about_staff .staff-note small {display:block;margin-top: .5em;font-weight:400;color:#8A8080;}

/* --- 医院ギャラリー（横長写真の中央寄せカルーセル。操作は js/main.js） --- */
.about_gallery { padding-left:0; padding-right:0; }
.about_gallery .head { padding:0 32px; }
.about_gallery .gallery-carousel { position:relative; margin-top:52px; overflow:hidden; }
.about_gallery .gallery-carousel::before { content:""; position:absolute; left:0; right:0; top:34%; bottom:0; background:#f89828; }
.about_gallery .track { position:relative; display:flex; gap:clamp(16px,2.4vw,32px); width:max-content; margin:0; padding:0 0 20px; list-style:none; transition:transform .5s ease; }
.about_gallery .slide { width:min(72vw,780px); flex-shrink:0; }
.about_gallery .slide figure { margin:0; }
.about_gallery .slide img {display:block;width:100%;object-fit:cover;border:6px solid #fdfdfd;border-radius: 1em;box-shadow:0 12px 28px rgba(32,22,22,.18);}
.about_gallery .slide figcaption {margin-top: 1em;padding:0 6px;color:#fdfdfd;font-weight:700;}
.about_gallery .cnav { position:absolute; top:52%; transform:translateY(-50%); z-index:2; width:52px; height:52px; border:0; border-radius:50%; background:#fdfdfd; box-shadow:0 8px 20px rgba(32,22,22,.25); cursor:pointer; transition:transform .15s, background .15s; }
.about_gallery .cnav:hover { background:#FFF3E2; }
.about_gallery .cnav::before { content:""; position:absolute; left:50%; top:50%; width:12px; height:12px; border-top:3px solid #201616; border-right:3px solid #201616; }
.about_gallery .cnav.prev { left:clamp(10px,3vw,44px); }
.about_gallery .cnav.prev::before { transform:translate(-30%,-50%) rotate(-135deg); }
.about_gallery .cnav.next { right:clamp(10px,3vw,44px); }
.about_gallery .cnav.next::before { transform:translate(-70%,-50%) rotate(45deg); }
/* ココに注目: オレンジ帯の上に白カードを載せて掲載（左テキスト・右写真・小鳥の装飾） */
.about_gallery .gallery-noteband { background:#f89828; padding:64px 32px 140px; }
.about_gallery .note-grid { position:relative; max-width:1000px; margin:0 auto; background:#fdfdfd; border-radius:20px; box-shadow:0 14px 32px rgba(32,22,22,.16); padding:clamp(26px,3.4vw,44px); display:grid; grid-template-columns:1fr minmax(240px,360px); gap:clamp(24px,3.6vw,48px); align-items:center; }
.about_gallery .note-grid h3 { display:flex; align-items:center; gap:9px; font-size:clamp(17px,1.9vw,21px); font-weight:900; color:#B85400; font-feature-settings:"palt"; }
.about_gallery .note-grid h3 .ico { width:24px; height:24px; flex-shrink:0; }
.about_gallery .note-grid h3 .ico svg { display:block; width:100%; height:100%; }
.about_gallery .note-grid p { margin-top:1em; line-height:2; color:#4A4141; }
.about_gallery .note-grid .photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; box-shadow:0 8px 20px rgba(32,22,22,.12); }
/* カードの角の飾りイラスト: 左上に花をくわえた小鳥・右下に風船（少しはみ出す） */
.about_gallery .note-grid .deco-pickup-top {position:absolute;top: -34px;left:26px;width:156px;}
.about_gallery .note-grid .deco-pickup-top img { display:block; width:100%; }
.about_gallery .note-grid .deco-pickup-bottom {position:absolute;bottom: -22px;right:10px;width:104px;}
.about_gallery .note-grid .deco-pickup-bottom img { display:block; width:100%; }

/* 採用エントリーCTAの上角丸を見せる（下層のみ: オレンジ帯に重ねる。トップページには影響しない） */
body.subpage section.entry { margin-top:-64px; }

/* --- 下層ページの装飾 --- */
/* 背景全体: 対角に置いた2つの大きなフラットな円（スクロールしても固定） */
body.subpage::before,
body.subpage::after { content:""; position:fixed; z-index:0; border-radius:50%; pointer-events:none; }
body.subpage::before { width:min(60vw,780px); height:min(60vw,780px); right:-16vw; top:-18vh; background:rgba(253,253,253,.6); }
body.subpage::after { width:min(46vw,600px); height:min(46vw,600px); left:-14vw; bottom:-16vh; background:rgba(248,152,40,.07); }
body.subpage #top { position:relative; z-index:1; }

/* FVの飾りイラスト（写真の枠の角に重ねて、少しはみ出させる） */
.pageFV { position:relative; }
.pageFV .deco-il1 { position:absolute; left:clamp(2px,1vw,18px); bottom:-16px; width:clamp(240px,26vw,330px); z-index:2; }
.pageFV .deco-il1 img { display:block; width:100%; }
.pageFV .deco-il2 { position:absolute; right:clamp(2px,1.2vw,20px); bottom:-18px; width:clamp(150px,17vw,220px); z-index:2; }
.pageFV .deco-il2 img { display:block; width:100%; }

/* 白カード右下の建物と木の挿絵（医院概要） */
.about_sec .panelcard .deco-corner { position:absolute; right:30px; bottom:22px; width:132px; pointer-events:none; }
.about_sec .panelcard .deco-corner svg { display:block; width:100%; }


.LIUl { margin:0; padding:0; list-style:none; }
.LIUl li { position:relative; padding-left:1.25em; line-height:1.9; }
.LIUl li + li { margin-top:.4em; }
.LIUl li::before {content:"";position:absolute;left:0;top: .65em;width: .65em;height: .65em;border-radius:50%;background:#f89828;}

/* 表の項目名アイコン */
.about_sec .info-table dt { display:flex; align-items:center; gap:9px; }
.about_sec .info-table .dt-ico { width:22px; height:22px; flex-shrink:0; }
.about_sec .info-table .dt-ico svg { display:block; width:100%; height:100%; }

/* 小見出しバーのアイコン */
.about_sec .barhead, .job_sec .barhead { display:flex; align-items:center; gap:10px; }
.about_sec .barhead .ico, .job_sec .barhead .ico { width:24px; height:24px; flex-shrink:0; }
.about_sec .barhead .ico svg, .job_sec .barhead .ico svg { display:block; width:100%; height:100%; }

/* 診療時間の時計 */
.about_hours .hours-placeholder .ico { display:block; width:64px; height:64px; margin:0 auto 14px; }
.about_hours .hours-placeholder .ico svg { display:block; width:100%; height:100%; }

/* 理事長写真の下のハート */
.about_greeting .photo .deco-heart { display:block; width:88px; margin:22px auto 0; }
.about_greeting .photo .deco-heart svg { display:block; width:100%; }

/* 理事長写真の角に重ねる飾りイラスト（右上・左下に少しはみ出す） */
.about_greeting .photo .photo-frame { position:relative; }
.about_greeting .photo .deco-ph-top { position:absolute; top:-18px; right:-16px; width:80px; }
.about_greeting .photo .deco-ph-top img { display:block; width:100%; }
.about_greeting .photo .deco-ph-bottom { position:absolute; bottom:-16px; left:-18px; width:76px; }
.about_greeting .photo .deco-ph-bottom img { display:block; width:100%; }

/* スタッフ人数の人物アイコン */
.about_staff .staff-note .ico {display:block;width: 3em;height: 3em;margin: 0 auto .5em;}
.about_staff .staff-note .ico svg { display:block; width:100%; height:100%; }


/* =========================================================
   お仕事紹介ページ（works.html）
   ========================================================= */
/* --- 導入: 矩形の重なりを使ったエディトリアル構成（画面全幅） --- */
.works_intro {position:relative;}
.works_intro .panel { position:relative; margin-right:clamp(40px,9vw,150px); background:#fdfdfd; padding:clamp(64px,8vw,120px) 0 clamp(64px,8vw,110px); }
/* テキストの書き出しは他セクションの共通コンテナ（max-width:1140px）の左端に揃える。写真は自由 */
.works_intro .head-row { display:grid; grid-template-columns:1fr minmax(320px,500px); gap:clamp(32px,4.5vw,72px); align-items:center; padding-left:max(32px, calc((100vw - 1140px) / 2 + 32px)); }
.works_intro .catch {margin:0;font-size:clamp(21px,2.3vw,31px);font-weight:500;letter-spacing:.16em;font-feature-settings:"palt";}
.works_intro .catch .accent { color:#EA8C13; }
/* 写真はパネルの右端を越えて帯の上に重なる */
.works_intro .ph { margin:0 calc(-1 * clamp(24px,6vw,100px)) 0 0; }
.works_intro .ph img { display:block; width:100%; }
/* リード文はキャッチコピーの真下（左カラム内） */
.works_intro .lead-wrap {max-width:560px;margin: 2em 0 0;}
.works_intro .lead-wrap p { line-height:2.2; color:#4A4141; }
.works_intro .lead-wrap p + p { margin-top:1.5em; }

/* --- 職種セクション共通（冒頭に全画面のキービジュアル） --- */
.job_sec {padding:96px 0 0;}
.works_intro + .job_sec { padding:0;}
.job_sec.last { padding-bottom:120px; }
.job_sec .hero { position:relative; height:clamp(240px,38vh,420px); overflow:hidden; }
.job_sec .hero img { width:100%; height:100%; object-fit:cover; }
.job_sec .hero::after { content:""; position:absolute; inset:0; background:rgba(32,22,22,.32); }
.job_sec .hero .titlebox { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:1; background:#fdfdfd; border-radius:18px; padding:clamp(18px,2.6vw,30px) clamp(30px,4.5vw,56px); box-shadow:0 12px 30px rgba(32,22,22,.16); max-width:calc(100% - 40px); }
.job_sec .hero .title { display:flex; flex-direction:column; align-items:center; gap:6px; margin:0; color:#f89828; font-size:clamp(20px,2.4vw,30px); font-weight:900; line-height:1.4; text-align:center; font-feature-settings:"palt"; }
.job_sec .hero .title .en { font-size:46%; font-weight:500; letter-spacing:.22em; text-indent:.22em; color:#8A8080; white-space:nowrap; }
.job_sec .inner { max-width:1140px; margin:0 auto; padding:56px 32px 0; }
.job_sec .lead {margin:0 auto;line-height:2;color:#4A4141;}
.job_sec .lead .catchline {display:block;margin-bottom: .5em;color:#B85400;font-size: 180%;font-weight: 700;}
.job_sec .block {margin:44px auto 0;}

/* 2カラム行（求める人物像×主な業務内容。看護師はリード文×求める人物像） */
.job_sec .block-row { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3.5vw,48px); align-items:start; max-width:1140px; margin:44px auto 0; }
.job_sec .block-row .block { max-width:none; margin:0; }
.job_sec .block-row .lead { max-width:none; margin:0; }

/* 募集要項＋エントリーの2ボタン並び */
.job_sec .morebtn { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:14px; }
.job_sec .morebtn .more { min-width:min(100%,300px); }
.job_sec .morebtn .more.entrybtn,
.about_sec .morebtn .more.entrybtn {background:#f89828;border-color:#f89828;box-shadow:0 10px 24px rgba(248,152,40,.35);font-size: 100%; }
.job_sec .morebtn .more.entrybtn:hover,
.about_sec .morebtn .more.entrybtn:hover { background:#EA8C13; border-color:#EA8C13; }
.about_sec form .morebtn .more.entrybtn { display: block;margin: auto;}


/* =========================================================
   募集要項ページ（recruit.html）
   ========================================================= */
/* ページ内リンクが無いぶん上の余白を詰め、下は採用CTAの重ね上げ(-64px)に被られないよう確保する */
.recruit_sec { padding-top:56px; padding-bottom:130px; }
.pagelinks + .recruit_sec {padding-top:0;}
.recruit_sec .reqtitle {padding-left:16px;border-left:6px solid #f89828;font-size:clamp(20px,2.2vw,26px);font-weight:900;font-feature-settings:"palt";margin-bottom: .5em;}
.recruit_sec .panelcard { margin-top:32px; }
.recruit_sec .req-table dd .em { display:inline-block; font-size:125%; font-weight:900; color:#B85400; }
.recruit_sec .morebtn { margin-top:1.5em; }
.recruit_sec .morebtn + .reqtitle { margin-top:3em; }

/* 1ページに複数の募集要項を掲載する場合（panelcard.req-item を積み重ねる） */
.recruit_sec .req-subtitle { display:flex; align-items:center; gap:12px; margin:0 0 24px; font-size:clamp(17px,1.9vw,22px); font-weight:900; font-feature-settings:"palt"; }
.recruit_sec .req-subtitle .num { flex-shrink:0; width:32px; height:32px; border-radius:50%; background:#f89828; color:#fdfdfd; display:flex; align-items:center; justify-content:center; font-family:'Oswald', sans-serif; font-size:17px; }

/* 募集停止中の表示（「現在募集はしておりません。」＋お知らせ受け取りボタン） */
.recruit_sec .req-closed { margin-top:36px; text-align:center; font-weight:900; color:#B85400; }
.recruit_sec .req-closed + .morebtn { margin-top:14px; }
/* お知らせ受け取りボタンはエントリー（オレンジ）と区別して白×黒枠に */
.recruit_sec .notify-btn { background:#fdfdfd; color:#201616; border-color:#201616; box-shadow:0 10px 24px rgba(32,22,22,.12); }
.recruit_sec .notify-btn:hover { background:#FFF3E2; color:#201616; }
.recruit_sec .notify-btn .bell { flex-shrink:0; width:17px; height:17px; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23f89828" d="M12 2a1.5 1.5 0 0 1 1.5 1.5v.6a6 6 0 0 1 4.5 5.8v3.3l1.4 2.3a1 1 0 0 1-.86 1.5H5.46a1 1 0 0 1-.86-1.5L6 13.2V9.9a6 6 0 0 1 4.5-5.8v-.6A1.5 1.5 0 0 1 12 2z"/><path fill="%23f89828" d="M9.5 19a2.5 2.5 0 0 0 5 0z"/></svg>') center/contain no-repeat; }

/* =========================================================
   採用エントリーページ（entry.html / Contact Form 7互換）
   ========================================================= */
.entryform_sec { padding-top:48px; padding-bottom:110px; }
.entryform_sec .entry-note { text-align:center; font-size:clamp(19px,2.3vw,29px); font-weight:900; line-height:1.8; font-feature-settings:"palt"; }
.entryform_sec .panelcard { margin-top:36px; }

.entryform .form-row + .form-row {margin-top: 1em;padding-top: 1em;border-top:1px dashed #E5DCCB;}
.entryform .form-label {display:flex;align-items:center;gap:10px;margin-bottom: .5em;font-weight: 700;}
.entryform .req { flex-shrink:0; background:#f89828; color:#fdfdfd; font-size:11px; font-weight:700; border-radius:6px; padding:3px 8px; }
.entryform .field-note { margin:-6px 0 12px; font-size:13px; color:#8A8080; }

/* 職種ラジオ: 選べるピル型（Contact Form 7のwpcf7-radio構造に対応） */
.entryform .job-radio { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.entryform .wpcf7-list-item { display:block; margin:0; }
.entryform .wpcf7-list-item label { position:relative; display:flex; align-items:center; gap:10px; height:100%; padding:13px 16px; background:#fdfdfd; border:1.5px solid #D9CDB9; border-radius:12px; cursor:pointer; font-weight:700; line-height:1.5; transition:border-color .15s, background .15s; }
.entryform .wpcf7-list-item label:hover { border-color:#f89828; }
.entryform .wpcf7-list-item input { position:absolute; opacity:0; pointer-events:none; }
.entryform .wpcf7-list-item-label { display:flex; align-items:center; gap:10px; }
.entryform .wpcf7-list-item-label::before { content:""; flex-shrink:0; width:18px; height:18px; border:2px solid #C9BEB2; border-radius:50%; background:#fdfdfd; transition:border-color .15s, background .15s; }
.entryform .wpcf7-list-item input:checked ~ .wpcf7-list-item-label::before {border-color:#f89828;background:#f89828;box-shadow: inset 0 0 0 2px #ffffff;}
.entryform .wpcf7-list-item label:has(input:checked) {border-color:#f89828;background: #fff;}
.entryform .wpcf7-list-item input:focus-visible ~ .wpcf7-list-item-label { outline:2px solid #f89828; outline-offset:4px; }

/* テキスト系入力（font-sizeは16px以上を維持: 16px未満だとiPhoneがフォーカス時に自動ズームするため） */
.entryform input:not([type="radio"]):not([type="submit"]), .entryform textarea { width:100%; padding:14px 16px; background:#fdfdfd; border:1.5px solid #D9CDB9; border-radius:12px; font:inherit; font-size:16px; line-height:1.6; transition:border-color .15s, box-shadow .15s; }
.entryform input[type="radio"], .entryform input[type="checkbox"] { font-size:16px; }
.entryform input:not([type="radio"]):not([type="submit"]):focus, .entryform textarea:focus { outline:none; border-color:#f89828; box-shadow:0 0 0 3px rgba(248,152,40,.18); }
.entryform .input-s { max-width:160px; }
.entryform .input-m { max-width:320px; }
.entryform textarea { resize:none; overflow:hidden; }

/* 募集停止中の職種を選んだときの案内＋お知らせ受け取りチェック
   ※Contact Form 7の [checkbox notify-restart] 出力に合わせる。
     CF7は .notice-check を付けず .wpcf7-checkbox 構造で出力するため .job-paused-notice を起点にする。
     職種ラジオ用の丸マーカーを継承しないよう、四角チェックボックスに上書きする。 */
.entryform .job-paused-notice { margin-top:14px; background:#FFF3E2; border:1.5px solid #f89828; border-radius:12px; padding:16px 18px; }
.entryform .job-paused-notice .notice-text {font-weight: 700;color:#B85400;}
.entryform .job-paused-notice .wpcf7-form-control-wrap { display:block; margin-top:12px; }
/* 職種ラジオのような白い大きなピル装飾を解除し、素のチェックボックス表示に戻す
   （選択時に白背景になる label:has(input:checked) も打ち消す） */
.entryform .job-paused-notice .wpcf7-list-item label,
.entryform .job-paused-notice .wpcf7-list-item label:hover,
.entryform .job-paused-notice .wpcf7-list-item label:has(input:checked) { padding:0; background:none; border:none; border-radius:0; font-weight:700; }
/* マーカーを丸→四角に */
.entryform .job-paused-notice .wpcf7-list-item-label::before { border-radius:5px; }
.entryform .job-paused-notice input:checked ~ .wpcf7-list-item-label::before { border-color:#f89828; background:#f89828 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="%23fdfdfd" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M5 13l5 5 9-11"/></svg>') center/12px no-repeat; box-shadow:none; }

/* 送信ボタン（buttonでもaと同じ見た目に） */
.entryform .morebtn {margin-top: 1em;}
.entryform button.more { font:inherit; font-size:16px; font-weight:700; cursor:pointer; }
.entryform button.more:disabled { opacity:.4; cursor:not-allowed; box-shadow:none; transform:none; }
.entryform button.more:disabled:hover { background:#f89828; border-color:#f89828; transform:none; }
/* Contact Form 7の[submit]はinput要素で矢印スパンを持てないため、背景画像で＞を表示 */
.entryform input.wpcf7-submit { width:auto; background-image:url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20152.5%20253.1%22%20style%3D%22enable-background%3Anew%200%200%20152.5%20253.1%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23201616%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M24.7%2C253.1c-6.4%2C0-12.8-3.2-17.6-8c-9.6-9.6-9.6-25.5%2C0-36.7l83-83L7.1%2C44c-9.6-9.6-9.6-25.5%2C0-36.7%20c9.6-9.6%2C25.5-9.6%2C36.7%2C0l100.6%2C100.6c4.8%2C4.8%2C8%2C11.2%2C8%2C17.6s-3.2%2C14.4-8%2C19.2L43.9%2C245.1C37.5%2C251.5%2C31.1%2C253.1%2C24.7%2C253.1z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E); background-repeat:no-repeat; background-position:right 26px center; background-size:9px auto; padding-right:56px; cursor:pointer; }
.entryform input.wpcf7-submit:disabled { opacity:.4; cursor:not-allowed; box-shadow:none; }

/* 注記 */
.entryform .form-notes {margin-top: 1.5em;line-height:2;color:#8A8080;}
.entryform .form-notes a { color:#B85400; }

/* =========================================================
   エントリー完了ページ（thanks.html）
   ========================================================= */
/* 採用の流れ・よくある質問は下層ではセクション背景を敷かず、ページ背景（クリーム＋円）を活かす */
body.subpage .flow, body.subpage .faq { background:transparent; }

.thanks_lead { padding-top:48px; padding-bottom:0; }
.thanks_lead .entry-note { text-align:center; font-size:clamp(19px,2.3vw,29px); font-weight:900; line-height:1.8; font-feature-settings:"palt"; }

/* 採用の流れ: 現在地（今ここ）表示 */
.flow .flowlist .step.current .body { position:relative; border:1.5px solid #f89828; box-shadow:3px 4px 0 #f89828; }
.flow .flowlist .step .now-badge { position:absolute; top:-15px; left:-12px; z-index:2; background:#f89828; color:#fdfdfd; font-size:13px; font-weight:900; letter-spacing:.06em; border-radius:999px; padding:7px 16px; box-shadow:0 8px 18px rgba(248,152,40,.45); }

/* Instagramのご案内（お知らせ待ちの間の導線） */
.thanks_insta { padding-bottom:110px; text-align:center; }
.thanks_insta .insta-lead { font-size:clamp(15px,1.7vw,19px); font-weight:700; line-height:2.1; }
.thanks_insta .insta { display:inline-flex; align-items:center; gap:.5em; margin-top:1.6em; font-weight:700; text-decoration:none; color:#201616; font-size:120%; }
.thanks_insta .insta:hover { color:#B85400; }
.thanks_insta .insta .ico { width:1em; height:1em; border:3px solid #B85400; border-radius:5px; display:inline-block; }
.thanks_insta .insta-slider { margin-top:2.5em; overflow:hidden; }
.thanks_insta .insta-slider .track { display:flex; gap:14px; width:max-content; margin:0; padding:0; list-style:none; animation:instaScroll 36s linear infinite; }
.thanks_insta .insta-slider .shot { flex:none; width:220px; height:220px; }
.thanks_insta .insta-slider .shot img { width:100%; height:100%; object-fit:cover; border-radius:.5em; }

/* 送信完了についての注意（フォーム最下部） */
.entryform_sec .submit-note { margin-top:28px; background:#FCFAF4; border:1.5px dashed #DFD3BE; border-radius:12px; padding:18px 20px; }
.entryform_sec .submit-note-title { margin-bottom:8px; font-weight:900; color:#B85400; }
.entryform_sec .submit-note p:not(.submit-note-title) { font-size:13.5px; line-height:2; color:#4A4141; }

/* 入力の進行状況（見た目。配置は下のレイアウト側で指定） */
.form-progress { background:#f89828; color:#201616; border-radius:999px; padding:14px 24px; font-weight:900; box-shadow:0 14px 30px rgba(248,152,40,.42); transition:background .25s, color .25s; }
.form-progress .num { font-size:135%; margin:0 2px; }
.form-progress.done { background:#201616; color:#fdfdfd; box-shadow:0 14px 30px rgba(32,22,22,.35); }

/* 広い画面: 左に案内文＋進行状況（追従）・右にフォームの2カラム */
.entryform_sec .entry-grid { display:grid; grid-template-columns:minmax(300px,430px) 1fr; gap:clamp(32px,4.5vw,72px); align-items:start; }
.entryform_sec .entry-grid .panelcard { margin-top:0; }
.entryform_sec .entry-side { position:sticky; top:110px; }
.entryform_sec .entry-side .entry-note { text-align:left; }
.entryform_sec .entry-side .form-progress { display:inline-block; margin-top:32px; }

/* 〜1100px: 縦積みに戻し、進行状況は右下固定 */
@media (max-width:1100px) {
.entryform_sec .entry-grid { grid-template-columns:1fr; gap:0; }
.entryform_sec .entry-grid .panelcard { margin-top:36px; }
.entryform_sec .entry-side { position:static; }
.entryform_sec .entry-side .entry-note { text-align:center; }
.entryform_sec .entry-side .form-progress { position:fixed; right:20px; bottom:20px; margin:0; z-index:80; }
}

/* チェック付きリスト（求める人物像・業務内容） */
.job_sec .check-list { margin:20px 0 0; padding:0; list-style:none; }
.job_sec .check-list li { position:relative; padding:11px 0 11px 34px; line-height:1.9; color:#4A4141; border-bottom:1px dashed #E0D6C2; }
.job_sec .check-list li::before { content:""; position:absolute; left:2px; top:17px; width:19px; height:19px; border-radius:50%; background:#f89828 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="%23fdfdfd" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" d="M5 13l5 5 9-11"/></svg>') center/11px no-repeat; }
.job_sec .duty-list { display:grid; grid-template-columns:1fr 1fr; gap:0 36px; }

/* 職種カード（医師） */
.job_sec .role-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:1000px; margin:48px auto 0; }
.job_sec .role-card { background:#fdfdfd; border-radius:16px; padding:28px 28px 30px; box-shadow:0 10px 24px rgba(32,22,22,.07); }
.job_sec .role-card h4 { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:clamp(18px,1.9vw,21px); font-weight:900; font-feature-settings:"palt"; }
.job_sec .role-card .count { display:inline-block; margin-top:10px; background:#FFF3E2; color:#B85400; border-radius:999px; padding:5px 14px; font-size:13px; font-weight:700; }
.job_sec .role-card h4 .count { margin-top:0; }
.job_sec .role-card .count.hiring { background:#f89828; color:#fdfdfd; }
.job_sec .role-card p:not(.count) { margin-top:12px; line-height:1.9; color:#4A4141; }

/* 職種内の小分類（看護師/看護助手など） */
.job_sec .subjob {margin:72px auto 0;}
.job_sec .subjob-title { padding-left:16px; border-left:6px solid #f89828; font-size:clamp(20px,2.2vw,26px); font-weight:900; font-feature-settings:"palt"; }
.job_sec .subjob .lead { margin-top:24px; }
.job_sec .subjob .block { margin-top:32px; }
.acc + .acc { margin-top:1em;}

/* インタビュー */
.job_sec .interview {margin: 3em auto 0;background:#fdfdfd;border-radius: 1em;padding: 30px;box-shadow:0 10px 28px rgba(32,22,22,.07);}
.job_sec .interview-title { display:flex; align-items:center; gap:10px; font-size:clamp(17px,1.9vw,21px); font-weight:900; color:#B85400; font-feature-settings:"palt"; }
.job_sec .interview-title .ico { width:30px; height:30px; flex-shrink:0; }
.job_sec .interview-title .ico svg { display:block; width:100%; height:100%; }
.job_sec .qa { margin:10px 0 0; }
.job_sec .qa dt { position:relative; margin-top:24px; padding:12px 16px 12px 46px; background:#FFF3E2; border-radius:12px; font-weight:900; line-height:1.7; }
.job_sec .qa dt::before { content:"Q."; position:absolute; left:16px; top:12px; color:#f89828; font-weight:900; }
.job_sec .qa dd { position:relative; margin:14px 4px 0; padding-left:46px; line-height:1.9; color:#4A4141; }
.job_sec .qa dd::before { content:"A."; position:absolute; left:16px; top:0; color:#B85400; font-weight:900; }

/* 職種メニュー（追従）: PCは医師セクションに達したら右側に表示。1359px以下はヘッダー下のボタンで開閉 */
.sidelinks { position:fixed; z-index:60; }
.sidelinks ul {margin:0;padding:16px 18px;list-style:none;background:#fdfdfd;border-radius: 1em 0 0 1em;box-shadow:0 10px 26px rgba(32,22,22,.12);}
.sidelinks li + li { margin-top:2px; }
.sidelinks a {display:flex;align-items:center;gap: .5em;padding:6px 2px;font-weight:700;color:#8A8080;text-decoration:none;transition:color .15s;}
.sidelinks a::before { content:""; width:0; height:0; border-left:7px solid #E0D6C2; border-top:4px solid transparent; border-bottom:4px solid transparent; transition:border-left-color .15s; }
.sidelinks a:hover { color:#201616; }
.sidelinks a.is-active { color:#B85400; }
.sidelinks a.is-active::before { border-left-color:#f89828; }
.sidelinks-toggle { display:none; }
@media (min-width:1360px) {
/* 上部のページ内リンクと役割が重なるため、医師セクションに達してから表示（.is-shownはjs/main.js） */
.sidelinks {display:block;right: 0;top:50%;transform:translateY(-50%) translateX(14px);opacity:0;pointer-events:none;transition:opacity .3s ease, transform .3s ease;}
.sidelinks.is-shown { opacity:1; pointer-events:auto; transform:translateY(-50%); }
}
@media (max-width:1359px) {
.sidelinks-toggle { position:fixed; top:96px; right:14px; z-index:60; display:inline-flex; align-items:center; gap:8px; padding:10px 16px; background:#fdfdfd; border:1.5px solid #201616; border-radius:999px; font-weight:700; font-size:13px; color:#201616; cursor:pointer; box-shadow:3px 4px 0 #201616; }
.sidelinks-toggle .caret { width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #B85400; transition:transform .25s ease; }
.sidelinks-toggle[aria-expanded="true"] .caret { transform:rotate(180deg); }
.sidelinks { display:none; right:14px; top:146px; }
.sidelinks.is-open { display:block; }
}

/* アコーディオン（インタビュー・働くスタッフの一日） */
.acc > summary { cursor:pointer; list-style:none; }
.acc > summary::-webkit-details-marker { display:none; }
.acc > summary .caret { margin-left:auto; flex-shrink:0; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid #B85400; transition:transform .25s ease; }
.acc[open] > summary .caret { transform:rotate(180deg); }
.acc .answer { overflow:hidden; transition:height .3s ease, padding .3s ease; }

/* 働くスタッフの一日（タイムライン）: インタビューと同じ白カード・見出し形式 */
.job_sec .day {background:#fdfdfd;border-radius: 1em;padding: 30px;box-shadow:0 10px 28px rgba(32,22,22,.07);}
.job_sec .day-list { position:relative; margin:26px 0 0; padding:0; list-style:none; }
.job_sec .day-list::before { content:""; position:absolute; left:8px; top:10px; bottom:10px; width:2px; background:#F2CD97; }
.job_sec .day-list li { position:relative; display:grid; grid-template-columns:118px 1fr; gap:14px; padding:0 0 20px 34px; }
.job_sec .day-list li:last-child { padding-bottom:0; }
.job_sec .day-list li::before { content:""; position:absolute; left:2px; top:7px; width:14px; height:14px; border-radius:50%; background:#f89828; box-shadow:0 0 0 3px #FBE7CC; }
.job_sec .day-list .time { font-weight:900; color:#B85400; line-height:1.9; }
.job_sec .day-list .desc { line-height:1.9; color:#4A4141; }

.midashi_m {font-size:130%; font-weight:600;}
* + .midashi_m,* + .midashi_line {margin-top: 1em;}

ol.numli {margin-left:1em;}
ol.numli li {list-style: outside decimal;}
ol.numli > li ol {margin-top:.5em;margin-left:1em;}
ol.numli li + li {margin-top:.5em;}


/* ---------- 下層ページ: スマホ ---------- */
@media only screen and (max-width: 860px) {
.pageFV { padding:76px 14px 0; }
.pageFV .fvframe { height:220px; border-radius:16px; }
.pageFV .titlebox { padding:20px 30px; border-radius:14px; width:max-content; max-width:86%; }
.pageFV .title { font-size:20px; gap:5px; }

.breadcrumb { margin-top:16px; padding:0 20px; }
.pagelinks { margin-top:14px; padding:0 14px; }
.pagelinks ul { display:grid; grid-template-columns:1fr 1fr; gap:2px 14px; padding:16px 18px; }
.pagelinks a { font-size:13px; padding:8px 2px; }

.about_sec { padding:64px 20px 0; }
.about_sec:last-of-type { padding-bottom:72px; }
.about_sec .lead { margin-top:22px; line-height:1.9; text-align:left; }
.about_sec .morebtn, .job_sec .morebtn { margin-top:40px; }
.about_sec .info-table + .morebtn{ margin-top:1em;}
.about_sec .morebtn .more, .job_sec .morebtn .more { width:100%; }
.about_sec.gallerybtn { padding:40px 20px 0; }
.about_sec .panelcard { margin-top:36px; border-radius:16px; }
.about_sec .info-table > div { grid-template-columns:1fr; gap:6px; padding:16px 18px; }
.about_sec .info-table > div + div { margin-top:10px; }

/* 福利厚生: スマホは2列（アイコンを大きく見せる） */
.about_welfare .welfare-list { grid-template-columns:1fr 1fr; gap:12px; margin-top:36px; }
.about_welfare .welfare-list li { padding:22px 10px 20px; border-radius:14px; }
.about_welfare .welfare-list .ico { width:76px; height:76px; margin-bottom:10px; }
.about_welfare .welfare-list .name { font-size:13.5px; }
.about_welfare .welfare-list .note { font-size:10.5px; }

.about_hours .hours-placeholder { padding:44px 16px; }

.about_access .map { margin-top:36px; }
.about_access .map iframe { height:300px; border-radius:16px; }
.about_access .access-grid { grid-template-columns:1fr; gap:28px; margin-top:36px; }

.about_greeting .greeting-grid { grid-template-columns:1fr; gap:22px; }
.about_staff .staff-grid { grid-template-columns:1fr 1fr; gap:14px; margin-top:36px; }
.about_staff .staff-grid figcaption { padding:12px 12px 14px; gap:6px; }
.about_staff .staff-grid .name { font-size:14px; }
.about_staff .staff-grid .role { font-size:10.5px; padding:3px 10px; }

/* オレンジ帯とカルーセルを全幅に（.about_sec の左右paddingがこのブロックで再指定され勝つため打ち消す） */
.about_gallery { padding-left:0; padding-right:0; }
.about_gallery .head { padding:0 20px; }
.about_gallery .gallery-carousel { margin-top:40px; }
.about_gallery .slide { width:82vw; }
.about_gallery .slide img { height:56vw; border-width:4px; border-radius:14px; }
.about_gallery .cnav { width:42px; height:42px; top:46%; }
.about_gallery .cnav::before { width:10px; height:10px; border-width:2.5px; }
.about_gallery .gallery-noteband { padding:52px 20px 96px; }
.about_gallery .note-grid {grid-template-columns:1fr;gap:20px;padding: 3em 4% 4%;}
.about_gallery .note-grid .photo { max-width:100%; margin:0; }
.about_gallery .note-grid h3 {text-align:center;display: block;font-size: 130%;}
body.subpage section.entry { margin-top:-48px; }

/* 装飾の縮小 */
.pageFV .deco-il1 { width:172px; left:4px; bottom:-10px; }
.pageFV .deco-il2 { width:112px; right:2px; bottom:-12px; }
.about_sec .panelcard .deco-corner { right:16px; bottom:12px; width:92px; }
.about_greeting .photo .deco-heart { width:68px; margin-top:16px; }
.about_gallery .note-grid .deco-pickup-top {width: 31%;top: -10vw;left: -3%;}
.about_gallery .note-grid .deco-pickup-bottom {width: 23%;bottom: -4%;right: -3%;}
.about_greeting .photo .deco-ph-top { width:62px; top:-12px; right:-8px; }
.about_greeting .photo .deco-ph-bottom { width:58px; bottom:-10px; left:-8px; }

/* --- お仕事紹介ページ --- */
.works_intro { margin-top:48px; padding-top:32px; }
.works_intro::before { width:56vw; height:300px; }
.works_intro .panel { margin-right:16px; padding:44px 0 52px; }
.works_intro .head-row { grid-template-columns:1fr; gap:30px; padding-left:0; }
.works_intro .catch { font-size:19px; letter-spacing:.12em; padding:0 20px; }
.works_intro .ph { margin:0 -36px 0 15%; }
.works_intro .lead-wrap { margin:36px 0 0; padding:0 20px; }
.works_intro .lead-wrap p { line-height:2; }
.job_sec { padding:64px 0 0; }
.job_sec.last { padding-bottom:88px; }
.job_sec .hero { height:210px; }
.job_sec .inner { padding:40px 20px 0; }
.job_sec .lead { line-height:1.9; }
.job_sec .block { margin-top:36px; }
.job_sec .block-row { grid-template-columns:1fr; gap:32px; margin-top:36px; }
.job_sec .block-row .block { margin-top:0; }
.job_sec .duty-list { grid-template-columns:1fr; }
.job_sec .role-grid { grid-template-columns:1fr; gap:14px; margin-top:36px; }
.job_sec .role-card { padding:22px 20px 24px; }
.job_sec .subjob { margin-top:56px; }
.job_sec .interview, .job_sec .day {border-radius: .5em;}
.job_sec .qa dt { margin-top:20px; padding:10px 14px 10px 42px; font-size:14.5px; }
.job_sec .qa dt::before { left:14px; top:10px; }
.job_sec .qa dd { margin:12px 0 0; padding-left:34px; }
.job_sec .qa dd::before { left:8px; }
.job_sec .day-list li { grid-template-columns:1fr; gap:2px; padding:0 0 18px 30px; }
.job_sec .day-list .time { line-height:1.6; }

/* 職種メニュー: スマホはヘッダー(60px)の直下にボタン */
.sidelinks-toggle { top:70px; right:12px; padding:9px 14px; font-size:12.5px; }
.sidelinks { right:12px; top:118px; }

/* 募集要項ページ */
.recruit_sec { padding-top:36px; padding-bottom:96px; }

/* エントリー完了ページ */
.thanks_lead { padding-top:32px; }
.thanks_insta { padding-bottom:80px; }
.thanks_insta .insta { font-size:100%; white-space:nowrap; }
.thanks_insta .insta-slider .track { gap:10px; animation-duration:30s; }
.thanks_insta .insta-slider .shot { width:150px; height:150px; }
.flow .flowlist .step .now-badge { top:-13px; left:-8px; font-size:12px; padding:6px 13px; }

/* 採用エントリーページ */
.entryform_sec { padding-top:32px; padding-bottom:88px; }
.entryform .job-radio { grid-template-columns:1fr; gap:8px; }
.entryform .wpcf7-list-item label { padding:12px 14px; font-size:14px; }
.entryform .input-s { max-width:130px; }
.entryform .input-m { max-width:100%; }
.entryform .form-row + .form-row { margin-top:22px; padding-top:22px; }
.entryform_sec .entry-side .form-progress { right:12px; bottom:12px; padding:11px 18px; font-size:13px; }
}
