:root{--green:#1d5c4d;--green2:#123f35;--green3:#e3efe9;--orange:#ef8a4c;--orange2:#d9733a;--cream:#fbf6ee;--ink:#23302c;--sub:#5f6d68;--line:#dfe5e1;--head:"M PLUS Rounded 1c","Zen Maru Gothic",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"Zen Maru Gothic",sans-serif;font-size:16px;line-height:1.9;font-weight:500}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.5;font-weight:900}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff;text-decoration:none;font:inherit;font-weight:700;padding:14px 30px;border-radius:999px;border:2px solid var(--green);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--green2);border-color:var(--green2)}
.btn.orange{background:var(--orange);border-color:var(--orange);color:#fff}
.btn.orange:hover{background:var(--orange2);border-color:var(--orange2)}
.btn.line{background:#fff;color:var(--green);border-color:var(--green)}
.btn.line:hover{background:var(--green3)}
.btn.small{padding:8px 20px;font-size:14px}
.eyebrow{margin:0 0 4px;color:var(--orange2);font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.stitle{display:flex;align-items:flex-end;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.stitle h2{font-size:30px;margin:0;font-family:var(--head);font-weight:800;color:var(--green2)}
.more{margin-left:auto;font-weight:700;text-decoration:none;color:var(--green);font-size:15px;display:inline-flex;align-items:center;gap:10px}
.more::after{content:"";width:22px;height:22px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3.5 2l3 3-3 3' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") center/10px no-repeat}
.note{font-size:13px;color:var(--sub);margin:12px 0 0}
.lead{font-size:17px;margin:0 0 32px}
.wrap{max-width:1160px;margin:0 auto;padding:48px 20px 88px}
.wrap.narrow{max-width:860px}
.sec{max-width:1160px;margin:0 auto;padding:88px 20px}
.sec.cream,.sec.green{max-width:none}
.sec.cream{background:var(--cream)}
.sec.green{background:var(--green);color:#fff}
.sec.cream>*,.sec.green>*{max-width:1120px;margin-left:auto;margin-right:auto}
.sec.green .stitle h2{color:#fff}
.sec.green .eyebrow{color:#ffc79f}
.sec.green .more{color:#fff}
.sec-in{margin-top:76px;scroll-margin-top:100px}
.ph{background:repeating-linear-gradient(45deg,#e6ece8,#e6ece8 10px,#eff3f0 10px,#eff3f0 20px);display:grid;place-items:center;color:var(--sub);font-size:13px;aspect-ratio:3/2;width:100%;text-align:center;padding:8px}
.checks{list-style:none;padding:0;margin:0}
.checks li{position:relative;padding-left:26px;margin:6px 0}
.checks li::before{content:"";position:absolute;left:2px;top:.55em;width:13px;height:7px;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);transform:rotate(-45deg)}
.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.tags li{font-size:12px;font-weight:700;background:var(--green3);color:var(--green2);padding:2px 10px;border-radius:999px}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.hd-in{max-width:1240px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:24px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:18px;line-height:1.3;color:var(--green2)}
.logo small{display:block;font-size:12px;font-weight:700;color:var(--orange2)}
.mark{width:38px;height:38px;border-radius:50%;background:var(--green);position:relative;flex:none}
.mark::before,.mark::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;top:12px}
.mark::before{left:7px;background:#fff}
.mark::after{right:7px;background:var(--orange)}
.logo.w{color:#fff}
.logo.w .mark{background:#fff}
.logo.w .mark::before{background:var(--green)}
.gnav{display:flex;gap:22px;margin-left:auto}
.gnav a{text-decoration:none;font-weight:700;font-size:15px;padding:6px 0;border-bottom:3px solid transparent}
.gnav a:hover,.gnav a[aria-current]{border-color:var(--orange)}
.hd-tel{text-decoration:none;font-family:var(--head);font-size:20px;line-height:1.2;color:var(--green2);text-align:right}
.hd-tel small{display:block;font-family:"Zen Maru Gothic",sans-serif;font-size:11px;color:var(--sub);font-weight:700}
.menu-btn{display:none}

/* トップ */
.kv{max-width:1240px;margin:0 auto;padding:56px 20px 72px;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.kv-tag{display:inline-block;margin:0 0 18px;background:var(--green3);color:var(--green2);font-weight:700;font-size:14px;padding:4px 16px;border-radius:999px}
.kv h1{font-family:var(--head);font-weight:800;font-size:44px;line-height:1.45;margin:0 0 20px;color:var(--green2)}
.kv-lead{margin:0 0 32px;font-size:17px;color:var(--sub)}
.kv-btns{display:flex;gap:12px;flex-wrap:wrap}
.kv-pic{position:relative}
.kv-pic img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:40px 40px 40px 140px}
.kv-badge{position:absolute;left:-24px;bottom:24px;margin:0;width:150px;height:150px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-content:center;text-align:center;font-weight:700;font-size:14px;line-height:1.5;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.kv-badge b{font-family:var(--head);font-size:40px;line-height:1}
.nums{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.nums li{background:var(--cream);border-radius:20px;padding:24px 16px;text-align:center;display:flex;flex-direction:column;gap:6px}
.nums span{font-weight:700;font-size:14px;color:var(--sub)}
.nums b{font-family:var(--head);font-size:44px;line-height:1.1;color:var(--green)}
.nums small{font-size:16px;margin-left:4px;color:var(--ink)}
.msg{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}
.msg img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}
.msg h3{font-size:22px;margin:0 0 12px}
.msg .more{margin:12px 0 0}
.msg.in{scroll-margin-top:100px;margin-top:40px}
.sign{text-align:right;font-size:14px;color:var(--sub)}
.sign b{display:block;font-size:20px;color:var(--ink)}
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.job-card{display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;transition:box-shadow .2s,transform .2s}
.job-card:hover{box-shadow:0 10px 26px rgba(29,92,77,.12);transform:translateY(-2px)}
.jc-pic{position:relative}
.jc-pic img,.jc-pic .ph{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;min-height:200px}
.jc-emp{display:inline-block;background:var(--green);color:#fff;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px}
.jc-pic .jc-emp{position:absolute;left:12px;top:12px}
.jc-body{padding:20px 22px;display:flex;flex-direction:column;gap:10px}
.jc-body h3{margin:0;font-size:19px;color:var(--green2)}
.jc-spec{margin:0;display:grid;gap:4px}
.jc-spec div{display:flex;gap:10px;font-size:14px}
.jc-spec dt{flex:none;width:52px;color:var(--sub);font-weight:700}
.jc-spec dd{margin:0;font-weight:700}
.jc-spec div:first-child dd{color:var(--orange2)}
.jc-more{margin-top:auto;align-self:flex-end;font-size:14px;font-weight:700;color:var(--green)}
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.staff-card{background:#fff;color:var(--ink);border-radius:20px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s}
.staff-card:hover{transform:translateY(-3px)}
.sc-pic img,.sc-pic .ph{width:100%;aspect-ratio:3/2;object-fit:cover}
.sc-body{padding:18px 22px 22px}
.sc-dept{margin:0;font-size:13px;font-weight:700;color:var(--orange2);display:flex;gap:10px;flex-wrap:wrap}
.sc-dept span{color:var(--sub)}
.sc-body h3{margin:6px 0 8px;font-size:18px;color:var(--green2)}
.sc-name{margin:0;font-size:14px;font-weight:700}
.sc-name small{display:block;font-weight:500;color:var(--sub)}
.wrap .staff-card{border:1px solid var(--line)}
.systems{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sys{display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;text-decoration:none;scroll-margin-top:100px}
a.sys:hover{border-color:var(--green)}
.sys h3{margin:12px 0 6px;font-size:19px;color:var(--green2)}
.sys p{margin:0;font-size:14px;color:var(--sub)}
.sys .checks{margin-top:14px;font-size:15px}
.sys-ic{display:block;width:48px;height:48px;border-radius:14px;background:var(--green3);position:relative}
.sys-ic::after{content:"";position:absolute;inset:12px;background:var(--green);-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
.sys-holiday{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v15H4zM4 9h16M8 3v4M16 3v4' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.sys-pay{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M8 7l4 5 4-5M12 12v6M8.5 13h7M8.5 16h7' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.sys-allow{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='6' width='18' height='12' rx='2' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.sys-family{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='8' cy='7' r='3' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='17' cy='10' r='2.2' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M3 20c0-4 2.5-7 5-7s5 3 5 7M13 20c0-3 2-5.5 4-5.5s4 2.5 4 5.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.sys-study{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6c3-1 6-1 9 1 3-2 6-2 9-1v13c-3-1-6-1-9 1-3-2-6-2-9-1zM12 7v13' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.sys-life{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-8-5-8-11a4.5 4.5 0 0 1 8-2.5A4.5 4.5 0 0 1 20 9c0 6-8 11-8 11z' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")}
.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:f}
.flow li{background:#fff;border-radius:20px;padding:22px 20px;position:relative;border:1px solid var(--line)}
.flow li:not(:last-child)::after{content:"";position:absolute;right:-13px;top:34px;width:10px;height:10px;border-top:3px solid var(--orange);border-right:3px solid var(--orange);transform:rotate(45deg);z-index:1}
.fl-n{display:inline-block;font-family:var(--head);font-size:13px;color:#fff;background:var(--orange);padding:2px 12px;border-radius:999px}
.flow h3{margin:10px 0 6px;font-size:17px;color:var(--green2)}
.flow p{margin:0;font-size:14px;color:var(--sub)}
.newslist{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.newslist a{display:grid;grid-template-columns:110px 120px 1fr;gap:16px;align-items:center;padding:18px 8px;border-bottom:1px solid var(--line);text-decoration:none}
.newslist a:hover .t{color:var(--green)}
.newslist time{color:var(--sub);font-size:14px}
.cat{font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px;text-align:center;justify-self:start}
.c-a{background:var(--green);color:#fff}
.c-b{background:var(--orange);color:#fff}
.c-c{background:var(--green3);color:var(--green2)}
.c-d{background:#eceeed;color:var(--sub)}
.entry{background:var(--green2);color:#fff}
.entry-in{max-width:1160px;margin:0 auto;padding:64px 20px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.entry-sub{margin:0;color:#ffc79f;font-weight:700;font-size:14px}
.entry-h{margin:4px 0 10px;font-family:var(--head);font-size:30px;font-weight:800;line-height:1.4}
.entry-p{margin:0;color:#cfe0d9;font-size:15px}
.entry-btns{display:flex;flex-direction:column;gap:16px;align-items:stretch}
.entry-btns .btn{padding:18px 30px;font-size:17px}
.entry-tel{text-decoration:none;font-family:var(--head);font-size:28px;line-height:1.2;text-align:center}
.entry-tel small{display:block;font-family:"Zen Maru Gothic",sans-serif;font-size:12px;font-weight:700;color:#cfe0d9;margin-bottom:4px}

/* 下層ページ */
.phead{background:var(--cream);position:relative;overflow:hidden}
.phead::after{content:"";position:absolute;right:-60px;top:-80px;width:280px;height:280px;border-radius:50%;background:var(--green3)}
.phead-in{max-width:1160px;margin:0 auto;padding:56px 20px 58px;position:relative;z-index:1}
.phead-sub{margin:0;color:var(--orange2);font-weight:700;font-size:14px}
.phead h1{margin:4px 0 0;font-family:var(--head);font-weight:800;font-size:34px;color:var(--green2)}
.crumb{max-width:1160px;margin:0 auto;padding:12px 20px;font-size:13px;color:var(--sub);display:flex;gap:10px;flex-wrap:wrap}
.crumb a{text-decoration:none}
.crumb span::before{content:"／";margin-right:10px}
.anchors{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.anchors a{text-decoration:none;font-weight:700;font-size:14px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:#fff}
.anchors a:hover{border-color:var(--green);color:var(--green)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vl{background:var(--cream);border-radius:20px;padding:28px 24px}
.vl-n{font-family:var(--head);font-size:32px;color:var(--orange);line-height:1}
.vl h3{margin:10px 0 8px;font-size:18px;color:var(--green2)}
.vl p{margin:0;font-size:15px;color:var(--sub)}
.tbl{width:100%;border-collapse:collapse;border-top:2px solid var(--green)}
.tbl th,.tbl td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{width:200px;background:var(--cream);font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.chips button,.tabs button{font:inherit;font-size:14px;font-weight:700;padding:7px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer}
.chips .on,.tabs .on{background:var(--green);border-color:var(--green);color:#fff}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.two-col{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}
.side{position:sticky;top:90px;display:grid;gap:20px}
.side-box{border:1px solid var(--line);border-radius:20px;padding:22px}
.side-box h3{margin:0 0 10px;font-size:16px;color:var(--green2)}
.side-box ul{list-style:none;padding:0;margin:0}
.side-box li a{display:block;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}
.side-box li small{display:block;color:var(--orange2);font-size:12px}
.side-box.green{background:var(--green);color:#fff;border-color:var(--green)}
.side-box.green h3{color:#fff}
.side-box.green p{font-size:14px;color:#cfe0d9;margin:0 0 16px}
.side-box .btn{width:100%}
.post h1{font-size:30px;margin:8px 0 20px}
.post h2{font-size:21px;margin:44px 0 12px;padding:4px 0 4px 16px;border-left:5px solid var(--orange);color:var(--green2)}
.post img{width:100%;border-radius:16px;margin-bottom:20px}
.post-meta{display:flex;gap:12px;align-items:center;margin:0}
.post-meta time{color:var(--sub)}
.post-nav{display:flex;justify-content:space-between;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.post-nav a{text-decoration:none;font-weight:700;color:var(--green);font-size:14px}
.jd-pic img,.jd-pic .ph{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;margin:0}
.jd-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0 14px}
.jd-key{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jd-key div{background:var(--cream);border-radius:16px;padding:14px 18px}
.jd-key dt{font-size:13px;font-weight:700;color:var(--sub)}
.jd-key dd{margin:0;font-weight:900;font-size:18px;color:var(--green2)}
.jd-key div:first-child dd{color:var(--orange2)}
.jd-entry{display:flex;gap:12px;flex-wrap:wrap;margin-top:40px;padding:28px;background:var(--cream);border-radius:20px;justify-content:center}
.pd-top{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
.pd-pic img,.pd-pic .ph{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;margin:0}
.pd-prof{margin:0;display:grid;gap:10px}
.pd-prof div{display:grid;grid-template-columns:52px 1fr;gap:10px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.pd-prof dt{font-size:13px;font-weight:700;color:var(--orange2)}
.pd-prof dd{margin:0;font-weight:700}
.day{list-style:none;padding:0;margin:0;border-left:3px solid var(--green3);margin-left:8px}
.day li{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:10px 0 10px 22px;position:relative}
.day li::before{content:"";position:absolute;left:-9px;top:17px;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--orange)}
.day time{font-family:var(--head);color:var(--green)}
.systems.full{grid-template-columns:repeat(2,1fr)}
.places{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.places figure{margin:0}
.places img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.places figcaption{font-size:14px;color:var(--sub);margin-top:8px}
.career{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.career li{background:var(--cream);border-radius:20px;padding:22px;position:relative}
.career b{display:block;font-family:var(--head);color:var(--green);font-size:18px;margin-bottom:6px}
.career span{font-size:15px;color:var(--sub)}
.faqg{margin-bottom:48px}
.faqg h2{font-size:21px;margin:0 0 16px;color:var(--green2)}
.faqg details{border:1px solid var(--line);border-radius:16px;margin-bottom:10px;background:#fff}
.faqg summary{cursor:pointer;padding:16px 20px;font-weight:700;list-style:none;display:flex;gap:12px}
.faqg summary::before{content:"Q";font-family:var(--head);color:var(--orange)}
.faqg summary::-webkit-details-marker{display:none}
.faqg details p{margin:0;padding:0 20px 18px 46px;color:var(--sub)}
.pager{display:flex;justify-content:center;gap:8px;margin-top:40px}
.pager a,.pager span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);text-decoration:none;font-weight:700}
.pager span{background:var(--green);color:#fff;border-color:var(--green)}
/* 応募フォーム */
.contact-ways{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px}
.contact-ways>div{background:var(--cream);border-radius:20px;padding:24px}
.contact-ways h3{margin:0 0 6px;font-size:16px;color:var(--green2)}
.contact-ways p{margin:0;font-size:14px;color:var(--sub)}
.tel{font-family:var(--head);font-size:30px;text-decoration:none;color:var(--green)}
.contact-ways small{display:block;color:var(--sub)}
.form{display:grid;gap:20px}
.form label{display:block;font-weight:700}
.form input,.form select,.form textarea{display:block;margin-top:8px;font:inherit;font-weight:500;padding:12px 14px;border:1px solid #c6d0cb;border-radius:12px;width:100%;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--green)}
.req{font-size:11px;background:var(--orange);color:#fff;padding:1px 8px;border-radius:999px;margin-left:8px;vertical-align:2px}
.kinds{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kinds legend{font-weight:700;padding:0;margin-bottom:10px}
.kinds label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-weight:500;cursor:pointer}
.kinds input,.form .agree input{width:auto;margin:0}
.form .agree{display:flex;align-items:center;gap:10px;justify-content:center;font-weight:500}
.agree-link{margin:-12px 0 0;text-align:center;font-size:14px}
.form button{justify-self:center;margin-top:8px;padding:15px 48px}
/* フッター */
.ft{background:var(--green);color:#d6e6df}
.ft-in{max-width:1200px;margin:0 auto;padding:56px 20px;display:grid;grid-template-columns:1fr 1.5fr;gap:48px}
.ft-addr{font-size:14px;margin:16px 0 0}
.ft-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ft-nav div{display:flex;flex-direction:column;gap:8px}
.ft-nav a{text-decoration:none;font-size:14px}
.ft-nav a:hover{color:#fff}
.copy{margin:0;text-align:center;font-size:12px;padding:16px;border-top:1px solid rgba(255,255,255,.12)}
.fixbar{display:none}
@media (max-width:1180px){
  .gnav{display:none}
  .hd-tel{margin-left:auto}
  .menu-btn{display:grid;gap:5px;background:none;border:0;padding:10px;cursor:pointer}
  .menu-btn span{width:26px;height:2px;background:var(--ink)}
  .nav-open .gnav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:12px 20px 20px;box-shadow:0 12px 20px rgba(0,0,0,.08);gap:4px}
  .hd-in{position:relative}
  .flow{grid-template-columns:1fr 1fr 1fr}
  .flow li::after{display:none}
  .job-grid{grid-template-columns:1fr}
  .nums{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:800px){
  body{font-size:15px;padding-bottom:56px}
  .hd-tel,.hd .btn{display:none}
  .menu-btn{margin-left:auto}
  .stitle h2{font-size:24px}
  .sec{padding:60px 20px}
  .kv{grid-template-columns:1fr;padding:32px 20px 48px;gap:28px}
  .kv h1{font-size:30px}
  .kv-pic{order:-1}
  .kv-pic img{border-radius:24px 24px 24px 80px;aspect-ratio:3/2}
  .kv-badge{left:auto;right:12px;bottom:-24px;width:110px;height:110px;font-size:12px}
  .kv-badge b{font-size:30px}
  .kv-btns .btn{flex:1 1 100%}
  .nums b{font-size:34px}
  .msg,.staff-grid,.systems,.systems.full,.values,.two-col,.places,.career,.contact-ways,.kinds,.ft-in,.entry-in,.pd-top{grid-template-columns:1fr}
  .msg{gap:28px}
  .job-card{grid-template-columns:1fr}
  .jc-pic img,.jc-pic .ph{aspect-ratio:16/9;min-height:0}
  .flow{grid-template-columns:1fr}
  .newslist a{grid-template-columns:auto auto;gap:6px 12px}
  .newslist .t{grid-column:1/-1}
  .phead-in{padding:40px 20px 42px}
  .phead h1{font-size:26px}
  .side{position:static}
  .entry-h{font-size:24px}
  .tbl th{width:auto;white-space:nowrap;padding:12px 10px;font-size:14px}.tbl td{padding:12px 10px}
  .ft-nav{grid-template-columns:1fr 1fr}
  .fixbar{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:30;box-shadow:0 -4px 14px rgba(0,0,0,.15)}
  .fixbar a{display:grid;place-items:center;height:56px;text-decoration:none;font-weight:900;font-size:15px;color:#fff}
  .fb-tel{background:var(--green)}
  .fb-web{background:var(--orange)}
}
@media (max-width:480px){
  .kv h1{font-size:26px}
  .phead h1{font-size:23px}
  .nums{gap:10px}
  .nums li{padding:18px 8px}
  .nums b{font-size:30px}
  .jd-key{grid-template-columns:1fr}
  .tbl th,.tbl td{display:block;width:100%;border:0}
  .tbl th{padding-bottom:6px}
  .tbl tr{display:block;border-bottom:1px solid var(--line)}
}
