/*
Theme Name: Reengagement Group v3.3
Theme URI: https://mentalhealth.co.jp/
Author: Reengagement Group
Description: リエンゲージメントグループ公式サイト用オリジナルWordPressテーマ。グループ紹介、施設紹介、採用情報、お知らせ管理に対応。
Version: 3.11.0
Text Domain: reengagement-group
*/

:root{--ink:#302523;--muted:#756662;--red:#c94f3d;--red2:#e27460;--soft:#fff7f3;--line:#ecd9d2;--green:#557d5a;--purple:#7451a0;--cream:#fffdfb;--shadow:0 12px 30px rgba(92,54,42,.10);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.7;letter-spacing:.02em}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #f0e5e0}.head{min-height:118px;padding:18px 0;display:grid;grid-template-columns:300px 1fr auto;align-items:center;gap:24px}.brand{display:flex;align-items:center;min-width:0;height:68px;overflow:visible}.brand img{display:block;width:280px;height:58px;object-fit:contain;object-position:left center}.recruit-btn{white-space:nowrap}.nav{display:flex;justify-content:center;gap:30px;font-weight:700;font-size:.86rem}.nav a:hover{color:var(--red)}.head-tools{display:flex;gap:10px;align-items:center}.mini{font-size:.74rem;color:#825f56}.recruit-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--red),#d55d49);color:#fff;padding:13px 20px;border-radius:8px;font-weight:800;box-shadow:0 8px 18px rgba(184,65,48,.22)}
.hero{background:radial-gradient(circle at 10% 20%,#fff4ec 0,transparent 33%),linear-gradient(180deg,#fff 0,#fffaf7 100%)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;min-height:440px;overflow:hidden}.hero-copy{padding:55px 0 42px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.25rem,4.25vw,4rem);line-height:1.35;font-weight:500;margin:0 0 22px;letter-spacing:.04em}.hero h1 span{color:var(--red)}.hero-copy p{max-width:610px;margin:0 0 30px;font-weight:600}.hero-photo{position:relative;min-height:420px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,0) 18%)}
.quick{margin-top:-12px;position:relative;z-index:4}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{background:#fff;border:1px solid #f1e3dd;border-radius:12px;padding:19px;display:grid;grid-template-columns:50px 1fr;gap:13px;align-items:center;box-shadow:0 10px 24px rgba(111,66,49,.05)}.qicon{width:46px;height:46px;border:1.7px solid var(--red2);border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:1.4rem}.quick-card strong{display:block;color:#b84436}.quick-card small{color:#5e514d}
.section{padding:55px 0}.section-title{text-align:center;margin:0 0 28px}.section-title h2{font-family:"Yu Mincho",serif;color:#7b2e27;font-size:1.75rem;margin:0 0 5px}.section-title p{margin:0;color:var(--muted);font-size:.9rem}.category{border:1px solid #eaded8;border-radius:13px;overflow:hidden;background:#fff;box-shadow:var(--shadow);margin-bottom:22px}.cat-head{color:#fff;text-align:center;font-weight:800;padding:8px 18px;font-size:1.05rem}.cat-head.red{background:linear-gradient(90deg,#cf533e,#d66450)}.cat-head.green{background:linear-gradient(90deg,#4e7654,#688b6b)}.cat-head.purple{background:linear-gradient(90deg,#7650a1,#8a65b0)}.cards-5{display:grid;grid-template-columns:repeat(5,1fr)}.service-card{padding:14px;border-right:1px solid #eee2dd}.service-card:last-child{border-right:0}.service-card .tag{display:inline-block;background:#fff1ec;color:#b64a3c;border-radius:6px;padding:3px 9px;font-size:.68rem;font-weight:800;margin-bottom:8px}.service-card img{width:100%;height:130px;object-fit:cover;border-radius:8px}.service-card h3{font-size:1rem;margin:12px 0 6px;line-height:1.45;display:flex;gap:9px;align-items:flex-start}.service-card p{font-size:.77rem;color:#584d49;margin:8px 0}.meta{font-size:.72rem;color:#a25345}.ico-line{width:28px;height:28px;min-width:28px;border:1.6px solid currentColor;border-radius:50%;display:grid;place-items:center;color:var(--red);font-size:.9rem}
.second-row{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.cards-2{display:grid;grid-template-columns:1fr 1fr}.wide-card{padding:14px}.wide-card .tag{display:inline-block;background:#f1f7f1;color:var(--green);border:1px solid #b9d0bb;border-radius:6px;padding:4px 11px;font-size:.72rem;font-weight:800;margin-bottom:8px}.wide-card+.wide-card{border-left:1px solid #e8ddd7}.wide-card img{width:100%;height:150px;object-fit:cover;border-radius:8px}.wide-card h3{margin:10px 0 4px;font-size:1.02rem;display:flex;gap:10px;align-items:center}.wide-card p{font-size:.8rem;margin:5px 0;color:#564b47}.recruit-service{padding:14px}.recruit-service .tag{display:inline-block;background:#f5eefb;color:#6f4b97;border:1px solid #cbb7df;border-radius:6px;padding:4px 11px;font-size:.72rem;font-weight:800;margin-bottom:8px}.recruit-service img{width:100%;height:150px;object-fit:cover;border-radius:8px}.recruit-service h3{margin:10px 0 4px;display:flex;gap:10px;align-items:center}.recruit-service p{font-size:.8rem;color:#564b47}
.why{padding:26px 0 44px}.why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.why-card{text-align:center;padding:12px 10px}.why-icon{width:70px;height:70px;margin:0 auto 10px;border-radius:50%;background:#fff3ee;color:var(--red);display:grid;place-items:center;font-size:1.7rem;border:1px solid #f2ddd5}.why-card strong{display:block;font-size:.9rem}.why-card p{font-size:.72rem;color:#635651;margin:7px 0 0}
.recruit-cta{margin-bottom:28px}.cta-box{display:grid;grid-template-columns:.36fr .64fr;min-height:220px;border-radius:14px;overflow:hidden;background:linear-gradient(105deg,#b83d2f,#da624e);color:#fff;box-shadow:0 16px 34px rgba(137,46,34,.18)}.cta-photo img{width:100%;height:100%;object-fit:cover}.cta-copy{padding:35px 44px;display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:center}.cta-copy h2{font-family:"Yu Mincho",serif;font-size:1.7rem;margin:0 0 10px}.cta-copy p{margin:0;color:#fff8f5}.cta-panel{background:rgba(255,255,255,.95);color:var(--ink);border-radius:12px;padding:18px;text-align:center}.cta-panel strong{display:block;color:#a73b2e;margin-bottom:10px}.cta-panel a{display:block;background:var(--red);color:#fff;border-radius:8px;padding:12px;font-weight:800}
footer{border-top:1px solid #efe1db;background:#fffaf7;padding:28px 0}.foot{display:grid;grid-template-columns:290px 1fr auto;gap:28px;align-items:center}.foot img{width:255px}.foot-nav{display:flex;flex-wrap:wrap;gap:10px 25px;font-size:.78rem;color:#645650}.copyright{font-size:.72rem;color:#8a7670;text-align:right}
.mobile-recruit{display:none}
@media(max-width:1050px){.head{min-height:104px;padding:14px 0;grid-template-columns:250px 1fr}.brand{height:58px;overflow:visible}.brand img{width:235px;height:52px}.nav{display:none}.head-tools{justify-self:end}.hero-grid{grid-template-columns:1fr}.hero-photo{min-height:350px}.quick-grid{grid-template-columns:1fr 1fr}.cards-5{grid-template-columns:repeat(2,1fr)}.service-card{border-bottom:1px solid #eee2dd}.service-card:nth-child(2n){border-right:0}.service-card:last-child{grid-column:1/-1}.second-row{grid-template-columns:1fr}.why-grid{grid-template-columns:repeat(3,1fr)}.cta-copy{grid-template-columns:1fr}.foot{grid-template-columns:1fr}.copyright{text-align:left}}
@media(max-width:700px){.wrap{width:min(calc(100% - 24px),var(--max))}.head{min-height:94px;height:auto;padding:13px 0;grid-template-columns:1fr auto;gap:12px}.brand{height:48px;overflow:visible}.brand img{width:195px;height:44px}.mini{display:none}.recruit-btn{padding:10px 12px;font-size:.78rem}.hero-copy{padding:38px 0 24px}.hero h1{font-size:2.1rem}.hero-photo{min-height:280px}.quick{margin-top:12px}.quick-grid{grid-template-columns:1fr}.section{padding:38px 0}.cards-5{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid #eee2dd}.service-card:last-child{grid-column:auto}.cards-2{grid-template-columns:1fr}.wide-card+.wide-card{border-left:0;border-top:1px solid #e8ddd7}.why-grid{grid-template-columns:1fr 1fr}.cta-box{grid-template-columns:1fr}.cta-photo{max-height:220px}.cta-copy{padding:28px 20px}.foot-nav{display:grid;grid-template-columns:1fr 1fr}.mobile-recruit{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:100;background:#ca4f3c;color:#fff;text-align:center;padding:14px;border-radius:999px;font-weight:800;box-shadow:0 12px 28px rgba(120,45,34,.28)}body{padding-bottom:78px}}



:root{--ink:#4c3730;--muted:#7b6962;--red:#b84b3c;--soft:#fff7f3;--line:#eaded8;--green:#557c65;--purple:#76558d;--max:1180px;--shadow:0 14px 34px rgba(80,45,35,.08)}*{box-sizing:border-box}body{margin:0;background:#fffdfa;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75}a{text-decoration:none;color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);border-bottom:1px solid #f0e5e0}.head{min-height:118px;padding:18px 0;display:grid;grid-template-columns:300px 1fr auto;align-items:center;gap:24px}.brand{display:flex;align-items:center;height:68px}.brand img{width:280px;height:58px;object-fit:contain;object-position:left center}.nav{display:flex;justify-content:center;gap:28px;font-weight:700;font-size:.86rem}.nav a:hover,.nav a.active{color:var(--red)}.recruit-btn,.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;padding:12px 20px;border-radius:9px;font-weight:800}.page-hero{padding:64px 0 48px;background:linear-gradient(135deg,#fff8f4,#f7eee9)}.eyebrow{color:var(--red);font-weight:800;font-size:.82rem;letter-spacing:.08em}.page-hero h1{font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.35;margin:10px 0 14px;color:#71362e}.page-hero p{max-width:760px;color:#6e5b55}.section{padding:64px 0}.section-title{text-align:center;margin-bottom:34px}.section-title h2{font-family:"Yu Mincho",serif;font-size:2rem;margin:0 0 8px}.section-title p{color:var(--muted);margin:0}footer{background:#6b4037;color:#fff;padding:38px 0}.foot{display:grid;grid-template-columns:300px 1fr auto;gap:28px;align-items:center}.foot img{width:260px;filter:brightness(0) invert(1)}.foot-nav{display:flex;gap:18px;font-size:.78rem}.copyright{font-size:.7rem;color:#ead8d1}@media(max-width:900px){.head{grid-template-columns:1fr auto}.nav{display:none}.foot{grid-template-columns:1fr}.foot-nav{flex-wrap:wrap}}@media(max-width:650px){.wrap{width:min(calc(100% - 24px),var(--max))}.head{min-height:88px;padding:10px 0}.brand{height:48px}.brand img{width:205px;height:44px}.recruit-btn{padding:10px 12px;font-size:.76rem}.section{padding:44px 0}}
.facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.facility{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.site-preview{position:relative;height:250px;background:#eee;overflow:hidden}.site-preview img{width:100%;height:100%;object-fit:cover;display:block}.site-preview:after{content:"公式サイトイメージ";position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.92);padding:5px 10px;border-radius:999px;font-size:.66rem;font-weight:800;color:#755}.facility-body{padding:24px}.tag{display:inline-block;border:1px solid #d8a79d;color:var(--red);border-radius:999px;padding:4px 11px;font-size:.68rem;font-weight:800}.facility h2{font-size:1.2rem;margin:10px 0 3px}.sub{font-size:.78rem;font-weight:800;color:#8c6259}.facility p{font-size:.84rem;color:#685750}.official{display:inline-flex;margin-top:8px;color:var(--red);font-weight:800;font-size:.8rem}@media(max-width:760px){.facility-grid{grid-template-columns:1fr}.site-preview{height:210px}}


:root{--ink:#4c3730;--muted:#7b6962;--red:#b84b3c;--soft:#fff7f3;--line:#eaded8;--green:#557c65;--purple:#76558d;--max:1180px;--shadow:0 14px 34px rgba(80,45,35,.08)}*{box-sizing:border-box}body{margin:0;background:#fffdfa;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.75}a{text-decoration:none;color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);border-bottom:1px solid #f0e5e0}.head{min-height:118px;padding:18px 0;display:grid;grid-template-columns:300px 1fr auto;align-items:center;gap:24px}.brand{display:flex;align-items:center;height:68px}.brand img{width:280px;height:58px;object-fit:contain;object-position:left center}.nav{display:flex;justify-content:center;gap:28px;font-weight:700;font-size:.86rem}.nav a:hover,.nav a.active{color:var(--red)}.recruit-btn,.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;padding:12px 20px;border-radius:9px;font-weight:800}.page-hero{padding:64px 0 48px;background:linear-gradient(135deg,#fff8f4,#f7eee9)}.eyebrow{color:var(--red);font-weight:800;font-size:.82rem;letter-spacing:.08em}.page-hero h1{font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1.35;margin:10px 0 14px;color:#71362e}.page-hero p{max-width:760px;color:#6e5b55}.section{padding:64px 0}.section-title{text-align:center;margin-bottom:34px}.section-title h2{font-family:"Yu Mincho",serif;font-size:2rem;margin:0 0 8px}.section-title p{color:var(--muted);margin:0}footer{background:#6b4037;color:#fff;padding:38px 0}.foot{display:grid;grid-template-columns:300px 1fr auto;gap:28px;align-items:center}.foot img{width:260px;filter:brightness(0) invert(1)}.foot-nav{display:flex;gap:18px;font-size:.78rem}.copyright{font-size:.7rem;color:#ead8d1}@media(max-width:900px){.head{grid-template-columns:1fr auto}.nav{display:none}.foot{grid-template-columns:1fr}.foot-nav{flex-wrap:wrap}}@media(max-width:650px){.wrap{width:min(calc(100% - 24px),var(--max))}.head{min-height:88px;padding:10px 0}.brand{height:48px}.brand img{width:205px;height:44px}.recruit-btn{padding:10px 12px;font-size:.76rem}.section{padding:44px 0}}
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.intro-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}.intro-card h2{font-family:"Yu Mincho",serif;font-size:1.7rem;margin:0 0 12px}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pill{background:#fff1ec;color:#9e4437;border-radius:999px;padding:6px 12px;font-size:.72rem;font-weight:800}.jobs{display:grid;gap:22px}.job{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.job-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #f0e4df;padding-bottom:16px;margin-bottom:18px}.job h3{font-size:1.3rem;margin:4px 0}.status{font-size:.68rem;font-weight:800;color:var(--red)}.salary{font-size:1rem;font-weight:900;color:#7d382f}.job-grid{display:grid;grid-template-columns:150px 1fr;gap:0}.job-grid dt,.job-grid dd{padding:10px 0;border-bottom:1px solid #f3e9e5;margin:0}.job-grid dt{font-size:.76rem;font-weight:800;color:#8b6d64}.job-grid dd{font-size:.84rem}.apply-box{margin-top:22px;background:#fff6f2;border-radius:12px;padding:18px}.apply-box strong{display:block;color:#8e3b30}.apply-box p{font-size:.78rem;margin:5px 0 0;color:#6e5a54}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.benefit{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center}.benefit b{display:block;margin-bottom:5px}.benefit span{font-size:.75rem;color:var(--muted)}.note{font-size:.72rem;color:#8b7770;margin-top:18px}@media(max-width:800px){.intro{grid-template-columns:1fr}.benefits{grid-template-columns:1fr 1fr}.job-head{display:block}.salary{margin-top:8px}.job-grid{grid-template-columns:1fr}.job-grid dt{border-bottom:0;padding-bottom:0}}@media(max-width:520px){.benefits{grid-template-columns:1fr}}
.apply-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.apply-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;padding:11px 18px;border-radius:9px;font-weight:800;font-size:.82rem}.apply-btn.secondary{background:#fff;color:var(--red);border:1px solid #d9988d}.quick-apply{margin-top:28px;background:linear-gradient(135deg,#fff3ee,#fffaf7);border:1px solid #efd8d0;border-radius:18px;padding:28px}.quick-apply h3{font-family:"Yu Mincho",serif;font-size:1.45rem;margin:0 0 8px;color:#7a382f}.quick-apply p{margin:0 0 14px;color:#6e5a54}.quick-apply .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.quick-apply .step{background:#fff;border:1px solid #eedfd9;border-radius:12px;padding:14px;text-align:center;font-size:.78rem}.quick-apply .step b{display:block;color:var(--red);margin-bottom:3px}@media(max-width:700px){.quick-apply .steps{grid-template-columns:1fr}}

/* WordPress additions */
.admin-bar header{top:32px}
@media(max-width:782px){.admin-bar header{top:46px}}
.news-list-wp{margin-top:18px;border-top:1px solid #f0e4df}
.news-row-wp{display:grid;grid-template-columns:120px 110px 1fr;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #f3e9e5;font-size:.84rem}
.news-row-wp time{color:#8b7770}.news-row-wp .news-type{display:inline-block;text-align:center;background:#fff1ec;color:#a34638;border-radius:999px;padding:3px 9px;font-size:.69rem;font-weight:800}.news-row-wp a:hover{color:var(--red)}
.news-more-wp{margin-top:16px;text-align:right}.news-more-wp a{display:inline-flex;border:1px solid #d9978b;color:#a44739;border-radius:999px;padding:7px 14px;font-size:.76rem;font-weight:800}
.page-content-wp{padding:56px 0}.entry-card-wp{background:#fff;border:1px solid #eaded8;border-radius:14px;padding:28px;box-shadow:0 12px 30px rgba(80,45,35,.06)}.entry-card-wp h1{font-family:"Yu Mincho",serif;color:#71362e}.entry-meta-wp{color:#8b7770;font-size:.78rem;margin-bottom:18px}.entry-content-wp img{height:auto}.archive-grid-wp{display:grid;gap:14px}.archive-item-wp{background:#fff;border:1px solid #eaded8;border-radius:12px;padding:20px}.archive-item-wp h2{font-size:1.08rem;margin:5px 0}.archive-item-wp time{font-size:.75rem;color:#8b7770}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.news-row-wp{grid-template-columns:1fr;gap:4px}}

/* v2: WordPress管理画面から編集するコンテンツ */
.editable-page-intro{background:#fff;border:1px solid #efe2dc;border-radius:14px;padding:24px 28px;margin:0 0 34px;box-shadow:0 8px 24px rgba(76,42,32,.04)}
.editable-page-intro > *:first-child{margin-top:0}.editable-page-intro > *:last-child{margin-bottom:0}
.facility-description p:first-child,.job-grid dd p:first-child{margin-top:0}.facility-description p:last-child,.job-grid dd p:last-child{margin-bottom:0}
.recruit-editable{margin-top:28px}
@media(max-width:760px){.editable-page-intro{padding:20px}}


/* v3.2: 募集職種を固定ページ（Gutenberg）で編集 */
.jobs-page-content > .job{margin-bottom:22px}
.jobs-page-content > .job:last-child{margin-bottom:0}
.jobs-page-content .job > p.status{margin:0 0 4px}
.jobs-page-content .job > h3{margin:4px 0 4px}
.jobs-page-content .job > p.salary{margin:10px 0 14px;color:#7d382f;font-weight:900}
.jobs-page-content .job-table{margin:16px 0 0}
.jobs-page-content .job-table table{width:100%;border-collapse:collapse}
.jobs-page-content .job-table th,.jobs-page-content .job-table td{padding:11px 10px;border:0;border-bottom:1px solid #f3e9e5;vertical-align:top;text-align:left}
.jobs-page-content .job-table th{width:150px;font-size:.76rem;font-weight:800;color:#8b6d64;background:transparent}
.jobs-page-content .job-table td{font-size:.84rem}
.jobs-page-content .apply-box{margin-top:22px}
.jobs-page-content .apply-box h4{margin:0 0 5px;color:#8e3b30}
.jobs-page-content .apply-box p{margin:5px 0;color:#6e5a54;font-size:.78rem}
.jobs-page-content .wp-block-button__link{background:var(--red);color:#fff;border-radius:9px;padding:11px 18px;font-weight:800;font-size:.82rem}
.jobs-edit-link{text-align:right;margin-top:18px;font-size:.78rem}.jobs-edit-link a{color:var(--red);font-weight:800}
@media(max-width:800px){.jobs-page-content .job-table th{width:auto}.jobs-page-content .job-table table,.jobs-page-content .job-table tbody,.jobs-page-content .job-table tr,.jobs-page-content .job-table th,.jobs-page-content .job-table td{display:block}.jobs-page-content .job-table th{padding-bottom:2px;border-bottom:0}.jobs-page-content .job-table td{padding-top:2px}}


/* =========================================================
   v3.4 Contact / Contact Form 7
   ========================================================= */
.contact-page .contact-section{padding:54px 0 72px;background:#fffaf7}
.contact-page .contact-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid #ead7d0;border-radius:20px;padding:34px;box-shadow:0 12px 34px rgba(90,50,40,.06)}
.contact-page .contact-content>p:first-child{margin-top:0}
.contact-page .wpcf7 form{margin:0}
.contact-page .wpcf7 p{margin:0 0 18px;color:#5b443d}
.contact-page .wpcf7 label{display:block;font-weight:700;color:#653b33}
.contact-page .wpcf7 input[type="text"],
.contact-page .wpcf7 input[type="email"],
.contact-page .wpcf7 input[type="tel"],
.contact-page .wpcf7 input[type="url"],
.contact-page .wpcf7 select,
.contact-page .wpcf7 textarea{
  width:100%;margin-top:7px;padding:12px 14px;border:1px solid #dbc7c0;border-radius:10px;background:#fff;box-shadow:none;font:inherit;color:#4b3732
}
.contact-page .wpcf7 textarea{min-height:170px;resize:vertical}
.contact-page .wpcf7 input:focus,.contact-page .wpcf7 select:focus,.contact-page .wpcf7 textarea:focus{outline:2px solid rgba(184,93,77,.18);border-color:#b85d4d}
.contact-page .wpcf7 input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:50px;padding:0 24px;border:0;border-radius:999px;background:#b85d4d;color:#fff;font-weight:700;cursor:pointer}
.contact-page .wpcf7 input[type="submit"]:hover{background:#8e4439}
.contact-page .wpcf7 .wpcf7-not-valid-tip{font-size:.82rem;margin-top:5px}
.contact-page .wpcf7 form .wpcf7-response-output{margin:22px 0 0;padding:12px 14px;border-radius:10px}
@media(max-width:700px){.contact-page .contact-section{padding:34px 0 50px}.contact-page .contact-card{padding:22px}.contact-page .wpcf7 input[type="submit"]{width:100%}}

/* v3.5 recruit tabs */
.rg-recruit-tabs{padding:34px 0 0}.rg-tab-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:840px;margin:0 auto 30px;padding:7px;background:#f7ece8;border:1px solid var(--line);border-radius:16px}.rg-tab-btn{border:1px solid transparent;background:transparent;border-radius:11px;min-height:58px;padding:10px 16px;font-weight:800;color:#76524a;cursor:pointer;font-family:inherit}.rg-tab-btn.active{background:#fff;color:#8f4338;border-color:#e6c9c1;box-shadow:0 4px 16px rgba(93,53,43,.08)}.rg-tab-panel{display:none}.rg-tab-panel.active{display:block}.rg-tab-panel .jobs-page-content>.job,.rg-tab-panel .psych-page-content>.job{margin-bottom:24px}.rg-tab-edit{text-align:right;margin:12px 0 24px;font-size:.8rem}.rg-tab-edit a{color:var(--red);font-weight:700}.psych-page-content{background:#fff}.psych-page-content h2{font-family:Yu Mincho,serif;color:#7b2e27}.psych-page-content .psych-intro{background:linear-gradient(135deg,#fffaf7,#fff0ea);border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:24px}.psych-page-content .psych-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.psych-page-content .psych-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.psych-page-content .psych-card strong{display:block;color:#8f4338;margin-bottom:6px}.psych-page-content .psych-card p{margin:0;font-size:.84rem;color:var(--muted)}@media(max-width:800px){.rg-tab-nav{grid-template-columns:1fr}.psych-page-content .psych-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.psych-page-content .psych-grid{grid-template-columns:1fr}}


/* v3.7: recruit page - standalone design reproduction */
.rg-recruit-v36{--rr-red:#b85d4d;--rr-red-dark:#8f4338;--rr-soft:#fff5f1;--rr-cream:#fffaf7;--rr-ink:#493631;--rr-muted:#75645f;--rr-line:#ead8d2;color:var(--rr-ink);line-height:1.8}
.rg-recruit-v36 *{box-sizing:border-box}.rg-recruit-v36 a{text-decoration:none}.rg-recruit-v36 .rr-wrap{width:min(1120px,calc(100% - 32px));margin:auto}.rg-recruit-v36 .rr-intro{padding:42px 0 28px;text-align:center}.rg-recruit-v36 .rr-eyebrow{display:inline-block;margin-bottom:8px;color:var(--rr-red);font-size:.78rem;font-weight:800;letter-spacing:.14em}.rg-recruit-v36 h2,.rg-recruit-v36 h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#5c3029;line-height:1.45}.rg-recruit-v36 h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 12px}.rg-recruit-v36 .rr-intro p{max-width:780px;margin:0 auto;color:var(--rr-muted)}
.rg-recruit-v36 .rr-tab-nav{display:grid;grid-template-columns:1fr 1fr;max-width:820px;margin:22px auto 34px;background:#f7ece8;border:1px solid var(--rr-line);border-radius:16px;padding:7px;gap:7px}.rg-recruit-v36 .rr-tab-btn{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px 16px;border:1px solid transparent;border-radius:11px;cursor:pointer;font-weight:800;color:#76524a;background:transparent;font-family:inherit}.rg-recruit-v36 .rr-tab-btn small{display:block;font-size:.68rem;font-weight:500;color:#9b7c74}.rg-recruit-v36 .rr-tab-btn.active{background:#fff;color:var(--rr-red-dark);box-shadow:0 4px 16px rgba(93,53,43,.08);border-color:#e6c9c1}.rg-recruit-v36 .rr-panel{display:none}.rg-recruit-v36 .rr-panel.active{display:block}
.rg-recruit-v36 .rr-psych-hero{display:grid;grid-template-columns:1.15fr .85fr;background:linear-gradient(135deg,#fffaf7,#fff0ea);border:1px solid var(--rr-line);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(83,52,44,.06);margin-bottom:36px}.rg-recruit-v36 .rr-psych-copy{padding:42px}.rg-recruit-v36 .rr-psych-copy h2{font-size:clamp(2rem,3.4vw,3.3rem)}.rg-recruit-v36 .rr-psych-copy h2 span{color:var(--rr-red)}.rg-recruit-v36 .rr-psych-copy p{color:var(--rr-muted)}.rg-recruit-v36 .rr-psych-visual{min-height:360px;position:relative;background:linear-gradient(135deg,#e6d8ce,#f7e9df 48%,#d9b9a7)}.rg-recruit-v36 .rr-psych-visual:before{content:none}.rg-recruit-v36 .rr-psych-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#6c463e;font-size:1.12rem;line-height:1.65;box-shadow:0 14px 30px rgba(83,52,44,.1);padding:28px}.rg-recruit-v36 .rr-psych-circle span{display:block;width:100%;white-space:nowrap;margin:2px 0}
.rg-recruit-v36 .rr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.rg-recruit-v36 .rr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:800}.rg-recruit-v36 .rr-btn.primary{background:var(--rr-red);color:#fff!important}.rg-recruit-v36 .rr-btn.secondary{background:#fff;color:var(--rr-red-dark)!important;border:1px solid #ddb5aa}
.rg-recruit-v36 .rr-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:42px}.rg-recruit-v36 .rr-summary div{padding:14px 9px;text-align:center;background:#fff;border:1px solid var(--rr-line);border-radius:13px}.rg-recruit-v36 .rr-summary strong{display:block;color:#8b554b;font-size:.72rem;margin-bottom:2px}.rg-recruit-v36 .rr-summary span{font-size:.86rem}
.rg-recruit-v36 .rr-section{padding:28px 0 46px}.rg-recruit-v36 .rr-section-head{margin-bottom:22px}.rg-recruit-v36 .rr-section-head p{color:var(--rr-muted);margin:0;max-width:820px}.rg-recruit-v36 .rr-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.rg-recruit-v36 .rr-field{background:#fff;border:1px solid var(--rr-line);border-radius:16px;padding:20px}.rg-recruit-v36 .rr-field .ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f8e7e2;color:var(--rr-red-dark);font-weight:800;margin-bottom:11px}.rg-recruit-v36 .rr-field h3{font-size:1rem;margin:0 0 6px}.rg-recruit-v36 .rr-field p{font-size:.84rem;color:var(--rr-muted);margin:0}
.rg-recruit-v36 .rr-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rg-recruit-v36 .rr-benefit{background:#fff;border:1px solid var(--rr-line);border-radius:16px;padding:20px}.rg-recruit-v36 .rr-benefit strong{display:block;color:#743f36;margin-bottom:6px}.rg-recruit-v36 .rr-benefit p{font-size:.86rem;color:var(--rr-muted);margin:0}
.rg-recruit-v36 .rr-job-card{position:relative;background:#fff;border:2px solid #dfb7ad;border-radius:20px;padding:28px;margin-bottom:24px;box-shadow:0 10px 28px rgba(75,55,50,.06)}.rg-recruit-v36 .rr-job-card:before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:var(--rr-red);border-radius:18px 0 0 18px}.rg-recruit-v36 .rr-job-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--rr-line);padding:0 0 18px 5px;margin-bottom:8px}.rg-recruit-v36 .rr-badge{display:inline-block;padding:5px 11px;border-radius:999px;background:#f9e6e0;color:var(--rr-red-dark);font-size:.74rem;font-weight:800;margin-bottom:7px}.rg-recruit-v36 .rr-job-head h3{font-size:1.42rem;margin:0 0 3px}.rg-recruit-v36 .rr-place{margin:0;color:var(--rr-muted);font-size:.88rem}.rg-recruit-v36 .rr-pay{flex:0 0 auto;background:var(--rr-soft);border:1px solid #e7c8bf;border-radius:11px;padding:9px 13px;font-weight:800;color:var(--rr-red-dark)}.rg-recruit-v36 .rr-table{display:grid;grid-template-columns:170px 1fr}.rg-recruit-v36 .rr-table dt,.rg-recruit-v36 .rr-table dd{margin:0;padding:13px 14px;border-bottom:1px solid #eee2de}.rg-recruit-v36 .rr-table dt{background:#fffaf8;color:#70453d;font-weight:800}.rg-recruit-v36 .rr-apply{margin-top:18px;padding:17px 19px;border:1px solid #ecd5ce;border-radius:13px;background:var(--rr-soft)}.rg-recruit-v36 .rr-apply strong{display:block;color:#66372f}.rg-recruit-v36 .rr-apply p{margin:2px 0 11px;color:var(--rr-muted);font-size:.86rem}
.rg-recruit-v36 .rr-faq details{background:#fff;border:1px solid var(--rr-line);border-radius:13px;padding:15px 17px;margin-bottom:10px}.rg-recruit-v36 .rr-faq summary{cursor:pointer;font-weight:800;color:#653a32}.rg-recruit-v36 .rr-faq p{margin:10px 0 0;color:var(--rr-muted);font-size:.87rem}.rg-recruit-v36 .rr-other-lead{background:#fff9f6;border:1px solid var(--rr-line);border-radius:18px;padding:28px;margin-bottom:26px}.rg-recruit-v36 .rr-other-lead h2{margin-bottom:8px}.rg-recruit-v36 .rr-other-lead p{margin:0;color:var(--rr-muted)}
.rg-recruit-v36 .rr-common-env{margin:40px 0 58px;padding:30px;background:linear-gradient(135deg,#fffaf7,#fff5f1);border:1px solid var(--rr-line);border-radius:20px}.rg-recruit-v36 .rr-env-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.rg-recruit-v36 .rr-env-grid div{background:#fff;border:1px solid var(--rr-line);border-radius:13px;padding:17px;text-align:center}.rg-recruit-v36 .rr-env-grid strong{display:block;color:#704037;margin-bottom:3px}.rg-recruit-v36 .rr-env-grid span{font-size:.8rem;color:var(--rr-muted)}
@media(max-width:960px){.rg-recruit-v36 .rr-psych-hero{grid-template-columns:1fr}.rg-recruit-v36 .rr-psych-visual{min-height:280px}.rg-recruit-v36 .rr-summary{grid-template-columns:repeat(3,1fr)}.rg-recruit-v36 .rr-fields{grid-template-columns:repeat(2,1fr)}.rg-recruit-v36 .rr-benefits{grid-template-columns:1fr}}
@media(max-width:700px){.rg-recruit-v36 .rr-tab-nav{grid-template-columns:1fr}.rg-recruit-v36 .rr-psych-copy{padding:30px 22px}.rg-recruit-v36 .rr-summary{grid-template-columns:1fr 1fr}.rg-recruit-v36 .rr-fields{grid-template-columns:1fr}.rg-recruit-v36 .rr-job-card{padding:21px 18px 21px 23px}.rg-recruit-v36 .rr-job-head{display:block}.rg-recruit-v36 .rr-pay{display:inline-block;margin-top:11px}.rg-recruit-v36 .rr-table{grid-template-columns:1fr}.rg-recruit-v36 .rr-table dt{padding-bottom:3px;border-bottom:0}.rg-recruit-v36 .rr-table dd{padding-top:3px}.rg-recruit-v36 .rr-env-grid{grid-template-columns:1fr 1fr}.rg-recruit-v36 .rr-btn{width:100%}}


/* v3.10 mobile hamburger navigation */
.mobile-menu-toggle{display:none;width:48px;height:48px;padding:7px 8px 5px;border:1px solid #ead8d2;border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px;box-shadow:0 5px 14px rgba(83,52,44,.06)}
.mobile-menu-toggle span{display:block;width:23px;height:2px;border-radius:2px;background:#8f4338;transition:transform .22s ease,opacity .22s ease}
.mobile-menu-toggle b{font-size:9px;line-height:1;letter-spacing:.08em;color:#8f4338;margin-top:1px}
.mobile-menu-panel{display:none;position:fixed;left:0;right:0;top:var(--rg-mobile-header-h,88px);bottom:0;z-index:79;background:rgba(255,253,251,.98);backdrop-filter:blur(10px);overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;border-top:1px solid #f0e5e0}
.mobile-menu-inner{width:min(calc(100% - 32px),620px);margin:0 auto;padding:18px 0 42px}
.mobile-nav{display:grid;gap:0;background:#fff;border:1px solid #ead8d2;border-radius:16px;overflow:hidden;box-shadow:0 14px 32px rgba(80,45,35,.08)}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:13px 18px;border-bottom:1px solid #f0e5e0;font-weight:800;color:#5d4039}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav a span{font-size:1.15rem;color:#c06a5b}
.mobile-nav a.mobile-nav-recruit{background:linear-gradient(135deg,#fff5f1,#fffaf7);color:#a34335}
body.mobile-menu-open{overflow:hidden}
body.mobile-menu-open .mobile-menu-panel{opacity:1;visibility:visible;transform:none}
body.mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
body.mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
body.mobile-menu-open .mobile-menu-toggle b{font-size:0}
body.mobile-menu-open .mobile-menu-toggle b:after{content:"CLOSE";font-size:8px}

@media(max-width:1050px){
  .head{grid-template-columns:minmax(0,1fr) auto auto}
  .mobile-menu-toggle{display:flex}
  .mobile-menu-panel{display:block}
}
@media(max-width:700px){
  .head{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .head-tools{display:none}
  .mobile-menu-toggle{width:46px;height:46px}
  .brand img{max-width:195px}
}
@media(min-width:1051px){
  .mobile-menu-panel{display:none!important}
}
