@charset "UTF-8";
/* 01｜基本色・文字：色の変更はここだけで全体に反映 */
:root{--purple:#8c118c;--deep:#5c155f;--teal:#098b9d;--text:#233b4e;--muted:#5f7383;--lime:#bde58b;--gold:#eebd00;--width:1320px;--soft-shadow:0 12px 24px rgba(68,49,82,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}body.modal-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #14b8c4;outline-offset:3px}.skip-link{position:absolute;top:-100px;left:16px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}
/* 02｜ヘッダー：デスクトップは左ロゴ／右3メニューの薄いカプセル */
.site-header{position:relative;z-index:3;width:min(1336px,calc(100% - 76px));margin:10px auto 0;height:72px;border-radius:50px;background:rgba(255,255,255,.96);box-shadow:0 12px 20px #7c4f8a20,0 3px 0 #e8bef0;border:1px solid #f8eefa}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 42px 0 70px;gap:16px}.brand{display:flex;align-items:center;min-width:0;gap:6px}.brand-symbol{object-fit:contain;flex:none;width:76px;height:70px}.brand-wordmark{object-fit:contain;flex:none;width:162px;height:auto}.header-nav{display:flex;align-items:center;gap:0;margin-left:auto}.header-nav>button{min-height:42px;min-width:153px;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:0;border-left:1px solid #e2b6e6;color:#86108b;font-size:17px;font-weight:800;letter-spacing:.025em;transition:background .2s}.header-nav>button:first-child{border-left:0}.header-nav>button:hover{background:#fef4ff;border-radius:20px}.header-nav img{width:25px;height:25px;object-fit:contain}
/* 03｜ヒーロー：葉と手の画像パーツ以外はHTMLの文字 */
.hero{position:relative;isolation:isolate;width:100%;min-height:242px;margin-top:-2px;padding:34px 12px 12px;overflow:hidden;background:radial-gradient(ellipse at 11% 30%,#f2ffe7 0%,transparent 41%),radial-gradient(ellipse at 91% 22%,#e1f5ff 0%,transparent 42%),linear-gradient(90deg,#fcfff8,#fff 45%,#fbffff)}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 40% 80%,#fff 25%,transparent 75%);pointer-events:none}.hero-leaves,.hero-hands{position:absolute;z-index:-1;pointer-events:none}.hero-leaves{left:0;top:0;width:min(350px,27%)}.hero-hands{right:0;top:0;width:min(360px,29%)}.hero-content{position:relative;z-index:1;text-align:center;max-width:1090px;margin:auto}.hero-kicker{font-size:21px;font-weight:800;letter-spacing:.065em;color:#3d6547;margin:0 0 10px}.hero-kicker em{color:var(--purple);font-style:normal}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(26px,2.7vw,40px);line-height:1.35;letter-spacing:.07em;font-weight:700;color:#701171;margin:0 auto 13px;text-shadow:0 0 8px #fff,0 1px 0 #fff;white-space:nowrap}.hero h1::after{content:"";display:block;height:3px;background:#bbeb71;border-radius:100%;width:40%;margin:5px auto 0;transform:rotate(-1deg)}.hero-description{font-size:16px;font-weight:650;line-height:1.55;letter-spacing:.015em;margin:0 auto;max-width:1000px;text-shadow:0 1px 6px white}
/* 04｜関連事業：6分割グリッド。3事業各2列・4/5事業は下段中央に配置 */
.services{width:100%;padding:0 22px}.service-grid{max-width:var(--width);margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}.service-card{--accent:#ad31b1;--pale:#fff7ff;--tint:#f8d5f8;grid-column:span 2;position:relative;display:grid;grid-template-rows:108px 166px 1fr 49px;min-width:0;min-height:516px;padding:17px 23px 24px;overflow:hidden;border-radius:38px;border:2px solid #f0d6f0;background:linear-gradient(137deg,#fff 0%,var(--pale) 57%,var(--tint) 148%);box-shadow:0 12px 24px #79578a24,0 2px 2px #fff inset;isolation:isolate}.service-card::after{content:"";position:absolute;bottom:-62px;left:-15%;right:-15%;height:138px;z-index:-1;opacity:.55;border-radius:60% 55% 0 0;background:var(--tint);transform:rotate(5deg)}.service-card::before{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid #ffffffbe;border-radius:34px}.theme-ren{--accent:#930a99;--pale:#fff7ff;--tint:#f2d1f7;border-color:#f5ccf5}.theme-connect{--accent:#079aaf;--pale:#f3ffff;--tint:#a5f4f6;border-color:#b4edf0}.theme-cad{--accent:#a77b00;--pale:#fffcf0;--tint:#ffe596;border-color:#ffecb5}.service-visual{display:contents}.service-logo{grid-row:1;align-self:center;justify-self:center;object-fit:contain;object-position:center;max-height:105px;max-width:88%;width:auto;filter:none}.logo-ren{height:103px}.logo-connect{height:72px;width:260px}.logo-cad{height:104px}.service-photo{grid-row:2;justify-self:center;align-self:center;object-fit:contain;object-position:center;width:min(330px,94%);height:160px;max-width:100%;filter:none}.service-text{grid-row:3;text-align:center;align-self:start;padding:13px 0 3px;min-width:0}.service-text h2{font-size:27px;line-height:1.25;letter-spacing:.015em;color:var(--accent);margin:0 0 11px;font-weight:850;white-space:nowrap}.service-text p{font-size:15.5px;font-weight:650;line-height:1.55;margin:0 auto;color:#25374c}.service-btn{grid-row:4;position:relative;display:flex;justify-content:center;align-items:center;align-self:end;justify-self:center;width:min(298px,91%);min-height:48px;padding:8px 30px;border-radius:999px;background:linear-gradient(180deg,#c65dbe,#8d098e 93%);box-shadow:0 6px 10px #81257a33,0 2px 2px #ffffffa5 inset;color:#fff;font-size:18px;font-weight:900;letter-spacing:.07em;transition:transform .2s,filter .2s}.service-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.theme-connect .service-btn{background:linear-gradient(180deg,#62d9e0,#0394aa 95%);box-shadow:0 6px 10px #049aa733,0 2px 2px #fffc inset}.theme-cad .service-btn{background:linear-gradient(180deg,#ffe45a,#e9b900 95%);box-shadow:0 6px 10px #b69b0933,0 2px 2px #fffc inset}.service-btn img{position:absolute;right:15px;top:50%;transform:translateY(-50%);filter:brightness(0) invert(1);height:21px;width:21px}.service-grid>.service-card:nth-child(4):last-child{grid-column:3/span 2}.service-grid>.service-card:nth-child(4):nth-last-child(2){grid-column:2/span 2}.service-grid>.service-card:nth-child(5):last-child{grid-column:4/span 2}
/* 05｜お知らせ：1件のみ、ボタン・一覧導線なし */
.news{max-width:var(--width);width:calc(100% - 44px);min-height:50px;margin:26px auto 19px;padding:6px 27px;display:flex;align-items:center;gap:36px;border:1.4px solid #eccbf3;border-radius:999px;background:linear-gradient(90deg,#fffaff,#fff 55%,#fef9ff);box-shadow:0 2px 7px #ab80b40c}.news-heading{min-width:212px;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--purple);font-size:21px;font-weight:800;padding-right:26px;border-right:1px solid #d7aad8;white-space:nowrap}.news-heading img{height:31px;width:31px}.news time{font-weight:650;font-size:15px;white-space:nowrap}.news p{font-weight:610;font-size:15px;margin:0;min-width:0}
/* 06｜フッター：背景を敷かず原本ロゴ・住所・電話を横並び */
.site-footer{padding:0 24px 12px;background:#fff}.footer-inner{max-width:var(--width);margin:auto;min-height:105px;border-top:1px solid #e9ddeb;display:grid;grid-template-columns:315px minmax(0,1fr) 325px;align-items:center;gap:25px}.brand--footer{padding-left:16px}.brand--footer .brand-symbol{width:82px;height:80px}.brand--footer .brand-wordmark{width:172px}.footer-inner address{padding:0 27px 0 47px;border-left:1.5px solid #a4b3bd;border-right:1.5px solid #a4b3bd;font-style:normal;font-weight:620;font-size:15.5px;line-height:1.5}.footer-contacts{display:flex;flex-direction:column;gap:9px;font-size:21px;font-weight:680;white-space:nowrap}.footer-contacts a,.footer-contacts span{display:flex;align-items:center;gap:10px}.footer-contacts img{filter:grayscale(1) brightness(.3)}.copyright{text-align:center;color:#72808c;font-size:10px;margin:0}
/* 07｜ポップアップ共通：大枠／淡色ヘッダー／背面ブラー */
.modal{position:fixed;margin:auto;padding:0;border:1px solid rgba(228,196,236,.75);width:min(1270px,calc(100vw - 34px));height:min(910px,calc(100dvh - 36px));max-height:none;max-width:none;border-radius:35px;background:linear-gradient(125deg,#fff 0%,#fff 80%,#fefcff);box-shadow:0 32px 80px #3441537d;overflow:hidden;color:var(--text)}.modal::backdrop{background:#1e29488f;backdrop-filter:blur(7px)}.modal-head{height:66px;display:flex;justify-content:space-between;align-items:center;padding:0 30px 0 48px;border-bottom:1px solid #e7c5ed;background:linear-gradient(100deg,#f1fff2,#fff7fd 54%,#e1f5ff);color:var(--purple);font-size:17px;letter-spacing:.12em;font-weight:850}.modal-close{width:44px;height:44px;background:#fff;border:1.5px solid #e9c1f2;border-radius:100%;display:grid;place-items:center;box-shadow:0 2px 6px #82338a1b;transition:background .2s,transform .2s}.modal-close:hover{background:#fbeafd;transform:rotate(90deg)}.modal-close img{height:23px;width:23px}.modal-scroll{height:calc(100% - 66px);overflow-y:auto;overscroll-behavior:contain;padding:23px 32px 30px;position:relative;isolation:isolate}.modal-scroll::before,.modal-scroll::after{content:"";position:absolute;z-index:-1;pointer-events:none;opacity:.24;background-repeat:no-repeat;background-size:contain}.modal-scroll::before{top:0;left:0;width:300px;height:230px;background-image:url('../img/hero-leaves.png')}.modal-scroll::after{top:0;right:0;width:320px;height:212px;background-image:url('../img/hero-hands.png')}.modal-intro{text-align:center;margin:12px auto 33px;position:relative}.modal-intro .intro-icon{width:37px;height:37px;margin:0 auto 4px}.modal-intro h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--purple);font-weight:800;font-size:48px;letter-spacing:.045em;line-height:1.3;margin:0 auto 6px}.modal-intro h2::after{content:"";display:block;height:3px;width:46%;background:#c8e884;margin:2px auto;border-radius:99px;transform:rotate(-1deg)}.modal-intro p{font-size:17px;font-weight:570;line-height:1.5;margin:10px auto 0}
/* 08｜お問合せモーダル：ミント／ラベンダーの2カードを共通余白で配置 */
.contact-grid,.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:stretch;max-width:1145px;margin:0 auto}.premium-panel{position:relative;min-width:0;border-radius:27px;border:2px solid #c6eef1;background:linear-gradient(140deg,#fff,#edfbff);padding:37px 40px 33px;box-shadow:0 10px 22px #406d7f0c,0 1px 3px #fff inset;overflow:hidden;isolation:isolate}.premium-panel::after{content:"";position:absolute;z-index:-1;bottom:-80px;left:-12%;right:-15%;height:180px;border-radius:50%;background:#b6f2f7a1;transform:rotate(4deg)}.panel-lavender{background:linear-gradient(140deg,#fff,#fcf0ff);border-color:#f0c8f4}.panel-lavender::after{background:#f2d3fac9}.premium-panel h3{font-size:25px;color:var(--purple);font-weight:900;margin:0 0 22px;line-height:1.2}.premium-panel>p{font-size:16.5px;line-height:1.7;margin:0 0 20px}.contact-grid .premium-panel{min-height:415px}.pill-button{position:relative;display:flex;align-items:center;justify-content:center;gap:13px;min-height:56px;padding:9px 31px;border-radius:100px;color:#fff;font-weight:850;font-size:21px;letter-spacing:.025em;white-space:nowrap;box-shadow:0 5px 14px #7c2b853b,0 2px 2px #fff9 inset}.purple-button{background:linear-gradient(180deg,#bf53c2 0%,#930b99 86%)}.pill-button img{height:28px;width:28px;filter:brightness(0) invert(1)}.pill-button span{position:absolute;right:20px;font-size:28px;font-weight:400;line-height:1}.mail-note{font-size:12.5px!important;color:#657586;text-align:center;margin:14px 0 15px!important;line-height:1.65!important}.email-address{font-size:22px;font-weight:800;color:#0390a2;word-break:break-all}.contact-number{display:block;color:#0794a3;font-size:clamp(27px,3vw,43px);font-weight:900;letter-spacing:.025em;margin:13px 0 2px;white-space:nowrap}.premium-panel .fax{margin:0 0 20px}.address-inside{border-top:1px solid #e1cfe8;margin-top:22px;padding-top:20px}.address-inside h4{font-size:20px;color:#79527d;margin:0 0 12px}.address-inside p{font-size:17px;line-height:1.62;font-weight:530;margin:0}
/* 09｜アクセスモーダル：大きい住所と地図を同一高さで配置 */
.access-grid .premium-panel{min-height:415px}.premium-panel .large-address{font-size:23px;line-height:1.85;font-weight:760;margin:19px 0 28px}.access-grid .premium-panel>p:not(.large-address){font-size:15.5px}.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;color:var(--purple);border:2px solid #d281df;border-radius:100px;padding:10px 24px;font-size:18px;font-weight:800;background:#fff}.outline-button img{width:23px;height:23px}.map-panel{padding:20px 18px 14px}.map-frame{width:100%;height:320px;border-radius:17px;overflow:hidden;border:1px solid #cfe0e8;background:linear-gradient(130deg,#e8f1f9,#d9e9f4)}.map-frame iframe{border:0;display:block;width:100%;height:100%}.map-help{font-size:12px!important;color:#617a8b;text-align:center;margin:10px 0 0!important}
/* 10｜求人モーダル：2事業×2列の読みやすい比較表、下部の相談導線 */
.modal--recruit .modal-scroll{padding:12px 30px 27px}.recruit-intro{margin:0 auto 10px}.recruit-intro .intro-icon{width:26px;height:26px;margin-bottom:1px}.recruit-intro h2{font-size:37px}.recruit-intro p{font-size:14px;margin-top:2px}.recruit-intro h2:after{display:none}.recruit-disclaimer{max-width:1100px;margin:0 auto 14px;background:linear-gradient(90deg,#f8efff,#f6f9ff,#f8eeff);border-radius:100px;text-align:center;padding:8px 17px;font-size:12.5px;font-weight:610;color:#54687c;line-height:1.4}.job-group{max-width:1140px;margin:0 auto 15px;overflow:hidden;border:2px solid #b6ebf2;border-radius:25px;padding:0 19px 17px;background:linear-gradient(130deg,#fff,#f5fdff 60%,#e9ffff);box-shadow:0 6px 18px #5296aa1d}.job-group--ren{border-color:#edc6f2;background:linear-gradient(125deg,#fff,#fcf4fd 63%,#fae3ff);margin-bottom:9px}.job-heading{height:52px;display:flex;align-items:center;gap:20px;margin:0 -19px 13px;padding:6px 21px;background:linear-gradient(90deg,#dffbff,#f5ffff);color:#087990;font-size:19px;font-weight:840}.job-group--ren .job-heading{background:linear-gradient(90deg,#fff0ff,#fdf7ff);color:#85118f}.job-heading img{object-fit:contain;object-position:center;width:116px;height:42px}.job-group--ren .job-heading img{height:46px;width:108px}.job-heading span{border-left:1px solid #94bece;padding-left:17px}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.job-card{border:1px solid #ccebf1;border-radius:19px;overflow:hidden;background:#ffffffd6;min-width:0}.job-group--ren .job-card{border-color:#ebd0f0}.job-card h4{margin:0;padding:8px 18px;background:#ddf8fc;color:#077d91;font-size:17px}.job-group--ren .job-card h4{background:#f6e4fb;color:#941092}.job-card dl{margin:0;padding:0 13px 7px}.job-card dl div{display:grid;grid-template-columns:91px minmax(0,1fr);gap:9px;align-items:start;padding:6px 3px;min-height:31px;border-bottom:1px solid #dce8ed;font-size:13.5px;line-height:1.25}.job-card dl div:last-child{border-bottom:none}.job-card dt{font-weight:800;color:#007c92;background:#def6f8;border-radius:7px;text-align:center;line-height:1.4;padding:1px 3px}.job-group--ren .job-card dt{color:#93108f;background:#f5ddfa}.job-card dd{margin:0;color:#243748;font-weight:620}.recruit-footer{max-width:1140px;margin:9px auto 0;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:13px;padding:5px 8px;position:relative}.recruit-footer p{font-size:15px;color:#682070;font-weight:780;white-space:nowrap;text-align:center;margin:0}.recruit-cta{min-width:0}.recruit-cta .pill-button{font-size:18px;min-height:48px;max-width:400px;margin:auto}.recruit-cta small{display:block;text-align:center;font-size:9px;white-space:normal;margin-top:5px;color:#76808c}.recruit-phone{display:flex;align-items:center;justify-content:center;gap:8px;font-size:19px;font-weight:900;color:#078a9d;white-space:nowrap}.recruit-phone img{height:23px;width:23px;filter:hue-rotate(85deg)}
/* 11｜iPad横（1024×768）など：配置を圧縮し1画面内に収めやすくする */
@media(min-width:900px) and (max-width:1199px){
 .site-header{height:56px;margin-top:6px;width:calc(100% - 30px)}.header-inner{padding:0 24px}.brand--header .brand-symbol{width:59px;height:54px}.brand--header .brand-wordmark{width:122px}.header-nav>button{font-size:14px;min-width:113px}.header-nav img{width:22px;height:22px}
 .hero{min-height:174px;padding:22px 8px 7px}.hero-leaves{width:220px}.hero-hands{width:250px}.hero-kicker{font-size:15px;margin-bottom:6px}.hero h1{font-size:27px;margin-bottom:7px}.hero-description{font-size:11.8px}.service-grid{gap:14px}.services{padding:0 18px}.service-card{min-height:353px;grid-template-rows:72px 110px 1fr 40px;padding:11px 15px 15px;border-radius:27px}.service-logo{max-height:70px}.logo-ren{height:66px}.logo-connect{height:53px;width:180px}.logo-cad{height:70px}.service-photo{width:min(214px,92%);height:107px}.service-text{padding:8px 0 2px}.service-text h2{font-size:19px;margin-bottom:7px}.service-text p{font-size:11.5px}.service-btn{min-height:38px;font-size:13.5px}.news{min-height:39px;margin:16px auto 11px;padding:5px 16px}.news-heading{font-size:16px;min-width:150px;gap:8px;padding-right:12px}.news-heading img{width:24px;height:24px}.news time,.news p{font-size:12.5px}.footer-inner{grid-template-columns:200px 1fr 230px;min-height:83px;gap:14px}.brand--footer .brand-symbol{width:59px;height:59px}.brand--footer .brand-wordmark{width:119px}.footer-inner address{font-size:11.7px;padding:0 14px}.footer-contacts{font-size:14.7px;gap:5px}.footer-contacts img{width:18px;height:18px}.copyright{font-size:9px}
 .modal-head{height:53px;font-size:13px}.modal-close{width:36px;height:36px}.modal-scroll{height:calc(100% - 53px);padding:12px 21px 20px}.modal-intro{margin:0 auto 16px}.modal-intro h2{font-size:36px}.modal-intro p{font-size:13px}.modal-intro .intro-icon{height:27px;width:27px}.contact-grid,.access-grid{gap:17px}.premium-panel{padding:23px 24px;min-height:320px!important}.premium-panel h3{font-size:20px;margin-bottom:10px}.premium-panel>p{font-size:13px}.pill-button{font-size:16px;min-height:44px}.contact-number{font-size:29px}.address-inside{margin-top:14px;padding-top:14px}.address-inside p{font-size:14px}.premium-panel .large-address{font-size:18px}.map-frame{height:245px}
 .recruit-intro h2{font-size:29px}.recruit-intro p{font-size:12px}.recruit-disclaimer{font-size:11px;margin-bottom:8px;padding:6px 12px}.job-heading{height:38px;font-size:15px;margin-bottom:6px}.job-heading img{height:29px}.job-group{padding:0 12px 9px;margin-bottom:8px}.job-grid{gap:11px}.job-card h4{font-size:13px;padding:4px 12px}.job-card dl div{grid-template-columns:64px minmax(0,1fr);gap:6px;padding:3px 2px;min-height:24px;font-size:10.5px}.recruit-footer{margin-top:2px}.recruit-footer p{font-size:12px}.recruit-cta .pill-button{min-height:37px;font-size:13px}.recruit-phone{font-size:13px}
}
/* 12｜スマホ：3事業は1列、ロゴと本文・ボタンは縦に積む */
@media(max-width:899px){
 .site-header{width:calc(100% - 16px);margin-top:5px;height:73px;border-radius:0 0 25px 25px}.header-inner{padding:0 10px;gap:6px}.brand--header{gap:0}.brand--header .brand-symbol{width:48px;height:49px}.brand--header .brand-wordmark{width:80px}.header-nav>button{min-width:0;flex:1;display:flex;flex-direction:column;gap:0;padding:3px 5px;font-size:9.5px}.header-nav img{width:21px;height:21px}.header-nav{flex:1;min-width:0}.hero{min-height:0;padding:23px 15px 25px}.hero-leaves{width:34%;top:0;opacity:.5}.hero-hands{width:34%;top:22px;opacity:.34}.hero-kicker{font-size:13px}.hero h1{font-size:clamp(21px,4.3vw,32px);white-space:normal;letter-spacing:0;max-width:680px}.hero-description{font-size:12px;line-height:1.7;max-width:690px}.only-pc{display:none}.services{padding:0 13px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-card{grid-column:auto!important;height:auto;min-height:420px;grid-template-rows:84px 138px 1fr 44px;padding:13px 14px 18px;border-radius:25px}.service-logo{max-height:80px}.logo-ren{height:76px}.logo-connect{height:56px;width:180px}.logo-cad{height:80px}.service-photo{height:130px;width:min(260px,96%)}.service-text{padding:8px 0}.service-text h2{font-size:18px;margin-bottom:8px;white-space:normal}.service-text p{font-size:12px}.service-btn{min-height:41px;font-size:13px;width:96%}.news{margin:14px 13px 12px;width:calc(100% - 26px);border-radius:17px;gap:11px;padding:9px 14px;flex-wrap:wrap}.news-heading{min-width:0;font-size:13px;padding-right:10px;gap:6px}.news-heading img{width:20px;height:20px}.news time{font-size:11px}.news p{flex:1;font-size:11px}.site-footer{padding:4px 14px 13px}.footer-inner{grid-template-columns:1fr 1.3fr;gap:7px 15px;padding:12px 0 9px}.brand--footer{padding-left:0}.brand--footer .brand-symbol{width:55px;height:55px}.brand--footer .brand-wordmark{width:112px}.footer-inner address{border:0;border-left:1px solid #ccd6d9;padding:0 0 0 13px;font-size:11px;line-height:1.5}.footer-contacts{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-evenly;gap:8px;font-size:12px}.footer-contacts img{width:17px;height:17px}.copyright{font-size:9px}
 .modal{width:calc(100vw - 14px);height:calc(100dvh - 15px);border-radius:22px}.modal-head{height:49px;font-size:12px;padding:0 16px}.modal-close{width:33px;height:33px}.modal-scroll{height:calc(100% - 49px);padding:15px 12px 20px}.modal-intro{margin:9px auto 18px}.modal-intro .intro-icon{width:28px;height:28px}.modal-intro h2{font-size:30px}.modal-intro p{font-size:12px}.modal-scroll::before{width:130px;height:100px;opacity:.15}.modal-scroll::after{width:160px;height:110px;opacity:.13}.contact-grid,.access-grid{grid-template-columns:1fr;gap:12px}.premium-panel{padding:21px;min-height:0!important;border-radius:21px}.premium-panel h3{font-size:20px;margin-bottom:11px}.premium-panel>p{font-size:13px;line-height:1.6}.pill-button{font-size:15px;min-height:44px}.email-address{font-size:16px}.contact-number{font-size:28px}.address-inside h4{font-size:15px}.address-inside p{font-size:13px}.premium-panel .large-address{font-size:18px}.map-frame{height:260px}.recruit-intro h2{font-size:28px}.recruit-disclaimer{font-size:10.5px;line-height:1.5;border-radius:12px}.job-group{border-radius:17px;padding:0 8px 9px}.job-heading{height:40px;font-size:14px;margin:0 -8px 9px;padding:4px 9px;gap:6px}.job-heading img{width:85px;height:30px}.job-group--ren .job-heading img{width:62px;height:38px}.job-heading span{padding-left:7px}.job-grid{grid-template-columns:1fr;gap:10px}.job-card h4{font-size:14px;padding:6px 12px}.job-card dl{padding:0 8px 4px}.job-card dl div{grid-template-columns:63px 1fr;font-size:11.5px;line-height:1.4;padding:5px 2px}.recruit-footer{grid-template-columns:1fr;gap:6px}.recruit-footer p{font-size:12px}.recruit-phone{font-size:15px}
}
@media(max-width:600px){.service-grid{grid-template-columns:1fr;max-width:420px;margin:auto}.service-card{min-height:475px;grid-template-rows:105px 167px 1fr 47px;padding:15px 22px 20px}.service-logo{max-height:104px}.logo-ren{height:97px}.logo-connect{height:70px;width:250px}.logo-cad{height:99px}.service-photo{height:157px;width:min(323px,96%)}.service-text h2{font-size:23px}.service-text p{font-size:14px}.service-btn{font-size:16px;min-height:45px}.hero h1{font-size:clamp(24px,6.5vw,32px)}.hero-kicker{font-size:11px}.hero-description{font-size:11.5px}.header-nav>button{font-size:9px}.footer-contacts{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* 13｜最終余白整合：情報量の少ない2画面は大きさを揃え、求人の最下部も表示 */
@media(min-width:1200px){
 #modal-contact .modal-intro,#modal-access .modal-intro{margin-top:65px;margin-bottom:36px}
 #modal-contact .premium-panel,#modal-access .premium-panel{min-height:444px}
 .job-group{padding-bottom:11px;margin-bottom:11px}
 .job-heading{height:45px;margin-bottom:8px}
 .job-card h4{padding:6px 16px}
 .job-card dl div{padding:4px 3px;min-height:26px}
 .recruit-disclaimer{margin-bottom:10px}
 .recruit-footer{margin-top:2px}
}
@media(min-width:900px) and (max-width:1199px){
 .modal--recruit .modal-scroll{padding:7px 15px 12px}
 .job-group{padding-bottom:6px;margin-bottom:6px}
 .job-heading{height:34px;margin-bottom:5px}
 .job-card h4{padding:3px 10px}
 .job-card dl div{padding:2px 2px;min-height:22px}
 .recruit-disclaimer{margin-bottom:5px}
 .recruit-footer{margin-top:0;padding:1px 3px}
 .recruit-cta small{font-size:8px;line-height:1.1;margin-top:2px}
}

/* 14｜v5：ポップアップ上部の葉・手を明瞭に。生成画像は使わず既存画像パーツを使用 */
.modal-scroll{
  background:linear-gradient(180deg,#f1fbf5 0%,#f9fbff 130px,#fff 270px);
}
.modal-scroll::before,.modal-scroll::after{
  z-index:0;
  opacity:.80;
  background-size:contain;
  background-position:top center;
  filter:saturate(1.05);
}
.modal-scroll::before{width:345px;height:235px;left:-7px;top:-3px}
.modal-scroll::after{width:350px;height:231px;right:-5px;top:-3px}
.modal-scroll > *{position:relative;z-index:1}
/* 15｜v5：見出しは中央へ。大きな長い下線をやめ短いグラデーションラインへ */
.modal-intro{padding-top:2px}
.modal-intro .intro-icon{
  box-sizing:content-box;
  background:rgba(255,255,255,.83);
  border:1px solid #e7cbe9;
  border-radius:50%;
  box-shadow:0 5px 14px rgba(94,35,105,.07);
  padding:9px;
  margin-bottom:7px;
}
.modal-intro h2{letter-spacing:.09em;font-weight:750;text-shadow:0 2px 0 #fff}
.modal-intro h2::after{
  width:91px;height:4px;
  margin:11px auto 0;
  border-radius:8px;
  transform:none;
  background:linear-gradient(90deg,#d4f4a5 0%,#bde8ac 40%,#c3b0e9 100%);
}
.modal-intro p{margin-top:15px;font-weight:650;letter-spacing:.025em}
/* 16｜v5：左右パネルの楕円装飾を廃止。下辺の細いアクセント＋角の斜線モチーフへ */
.premium-panel{
  --panel-accent:#51cbd4;
  background:linear-gradient(150deg,#ffffff 0%,#f6feff 52%,#e9faff 100%);
  border:1.5px solid rgba(129,216,228,.72);
  box-shadow:0 14px 35px rgba(39,90,115,.095),0 1px 0 rgba(255,255,255,.92) inset;
  border-radius:24px;
  isolation:isolate;
}
.panel-lavender{
  --panel-accent:#ba67c3;
  background:linear-gradient(148deg,#ffffff 0%,#fefafe 52%,#f7edfa 100%);
  border-color:rgba(216,167,225,.70);
}
.premium-panel::after{
  content:"";position:absolute;bottom:0;left:0;right:0;
  height:5px;width:auto;border-radius:0;transform:none;
  background:linear-gradient(90deg,transparent,var(--panel-accent) 35%,var(--panel-accent) 65%,transparent);
  opacity:.72;z-index:1;
}
.premium-panel::before{
  content:"";position:absolute;right:0;bottom:0;width:136px;height:118px;
  background:repeating-linear-gradient(135deg,transparent 0,transparent 10px,rgba(60,177,195,.13) 10px,rgba(60,177,195,.13) 12px);
  clip-path:polygon(42% 100%,100% 18%,100% 100%);
  opacity:.72;z-index:0;pointer-events:none;
}
.panel-lavender::before{background:repeating-linear-gradient(135deg,transparent 0,transparent 10px,rgba(185,110,199,.13) 10px,rgba(185,110,199,.13) 12px)}
.premium-panel > *{position:relative;z-index:1}
.premium-panel h3{
  padding-left:17px;
  padding-bottom:11px;
  border-bottom:1px solid rgba(135,190,204,.28);
  position:relative;
  font-weight:850;
  letter-spacing:.02em;
}
.premium-panel h3::before{
  content:"";width:4px;height:23px;border-radius:3px;
  background:linear-gradient(#8f228e,#e9b5e3);
  position:absolute;left:0;top:1px;
}
.premium-panel .address-inside h4{letter-spacing:.035em}
/* 17｜v5：連絡先と地図は視認性を優先し、画像装飾の上に重ねない */
#modal-contact .contact-grid,#modal-access .access-grid{width:100%}
#modal-contact .modal-scroll,#modal-access .modal-scroll{align-content:center}
.contact-number{letter-spacing:.03em}
.map-panel{background:linear-gradient(145deg,#f8fdff,#effaff 85%)}
.map-frame{box-shadow:0 2px 12px rgba(29,104,135,.10);border-radius:17px;overflow:hidden}
/* 18｜v5：求人は表を資料のように端正に、細い罫線と明確なカテゴリ分け */
.job-group{
  box-shadow:0 12px 26px rgba(32,131,148,.08);
  border-width:1.5px;
  background:linear-gradient(125deg,#fff,#f3feff 70%,#edfaff);
}
.job-group--ren{
  box-shadow:0 12px 26px rgba(137,52,151,.075);
  background:linear-gradient(125deg,#fff,#fdf7ff 70%,#f9effd);
}
.job-card{
  border:1px solid rgba(125,202,217,.47);
  box-shadow:0 3px 12px rgba(29,95,115,.045);
  background:#fff;
}
.job-group--ren .job-card{border-color:rgba(210,158,224,.46)}
.job-heading{letter-spacing:.015em}
.job-card h4{background:linear-gradient(90deg,#dff6fa,#f0fcff)}
.job-group--ren .job-card h4{background:linear-gradient(90deg,#f6e9fa,#fff8ff)}
.job-card dl div{border-color:rgba(162,194,210,.32)}
.job-card dt{font-weight:800}
.recruit-disclaimer{border:1px solid #eadcf0;background:linear-gradient(90deg,#fff8ff,#faf8fd);color:#52647a}
.recruit-footer{border-top:1px solid #eaddea;padding-top:10px}
/* 19｜v5：空白の多い2ポップアップは本文カードを縦方向に中央揃え */
@media(min-width:900px){
  #modal-contact .modal-scroll,#modal-access .modal-scroll{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
  }
  #modal-contact .modal-intro,#modal-access .modal-intro{margin:7px auto 27px;width:100%}
  #modal-contact .premium-panel,#modal-access .premium-panel{min-height:390px}
}
/* 20｜v5：iPad横・スマートフォンでは装飾が内容と重ならないよう縮小 */
@media(min-width:900px) and (max-width:1199px){
  .modal-scroll::before{width:245px;height:174px;opacity:.76}
  .modal-scroll::after{width:258px;height:178px;opacity:.72}
  #modal-contact .modal-intro,#modal-access .modal-intro{margin:0 auto 17px}
  #modal-contact .premium-panel,#modal-access .premium-panel{min-height:317px!important}
  .premium-panel h3{padding-bottom:8px;margin-bottom:12px}
  .premium-panel h3::before{height:18px}
}
@media(max-width:899px){
  .modal-scroll::before{width:165px;height:115px;opacity:.45}
  .modal-scroll::after{width:174px;height:123px;opacity:.43}
  .modal-intro h2::after{width:70px;margin-top:7px}
  .premium-panel h3{padding-bottom:8px;margin-bottom:13px}
  .premium-panel h3::before{height:19px}
  .premium-panel::before{height:85px;width:95px}
}


/* 21｜v6 ポップアップ刷新：見出し・背景・余白・カードの情報優先度を共通設計 */
.modal{
 width:min(1120px,calc(100vw - 40px));height:min(696px,calc(100dvh - 30px));
 border:1px solid #e9d5ed;border-radius:27px;
 background:#fff;box-shadow:0 25px 72px rgba(30,35,55,.35);
}
.modal::backdrop{background:rgba(27,37,56,.64);backdrop-filter:blur(8px)}
.modal-head{
 height:52px;padding:0 24px 0 30px;font-size:12px;letter-spacing:.16em;
 background:linear-gradient(95deg,#eefbed 0%,#fbf4fb 52%,#e8f7fc 100%);
 border-bottom:1px solid #e8e0ea;
}
.modal-close{width:35px;height:35px;border:1px solid #e7caeb;box-shadow:none}
.modal-close img{height:18px;width:18px}
.modal-scroll{
 height:calc(100% - 52px);padding:19px 29px 24px;
 background:linear-gradient(180deg,#f6fbf7 0%,#f7faff 70px,#fff 186px);
}
.modal-scroll::before,.modal-scroll::after{
 top:-12px;background-size:contain;background-position:top center;
 opacity:.48;filter:saturate(.98);z-index:0;
}
.modal-scroll::before{width:238px;height:177px;left:0}
.modal-scroll::after{width:252px;height:178px;right:0}
.modal-scroll > *{position:relative;z-index:1}
.modal-intro{margin:0 auto 24px;padding-top:0;max-width:850px;text-align:center}
.intro-eyebrow{
 display:block;font-size:10px;font-weight:820;letter-spacing:.19em;
 color:#937195;margin:0 auto 7px;
}
.modal-intro .intro-icon{
 box-sizing:content-box;width:23px;height:23px;padding:8px;margin:0 auto 4px;
 background:rgba(255,255,255,.85);border:1px solid #eed9f0;
 border-radius:999px;box-shadow:0 3px 12px rgba(75,39,86,.08);
}
.modal-intro h2{
 font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
 font-size:33px;line-height:1.22;font-weight:800;letter-spacing:.06em;
 color:#83148b;margin:0;
}
.modal-intro h2::after{content:"";display:block;width:54px;height:3px;border-radius:99px;
 background:linear-gradient(90deg,#ccefa3,#afd9ea,#d0a4de);margin:8px auto 0;transform:none;}
.modal-intro p{font-size:13px;font-weight:620;letter-spacing:.02em;line-height:1.55;margin:11px 0 0;color:#465e70}
/* 22｜左右情報カード：数値とCTAを主役に、過剰な楕円・斜線装飾を撤去 */
.contact-grid,.access-grid{max-width:990px;grid-template-columns:1fr 1fr;gap:18px;margin:0 auto;align-items:stretch}
.premium-panel{
 --panel-accent:#22a9ba;position:relative;overflow:hidden;isolation:isolate;
 min-height:318px!important;padding:24px 29px 23px;border:1px solid #d6ebee;
 background:linear-gradient(144deg,#fff 0%,#fbfeff 58%,#f0fcff 100%);
 border-radius:20px;box-shadow:0 7px 22px rgba(39,82,102,.075),inset 0 1px #fff;
}
.panel-lavender{--panel-accent:#a75cae;border-color:#efdfed;
 background:linear-gradient(144deg,#fff 0%,#fefcff 58%,#fbf1fc 100%)}
.premium-panel::before{
 content:"";position:absolute;top:0;left:0;right:0;bottom:auto;
 clip-path:none;width:auto;height:3px;opacity:1;
 background:linear-gradient(90deg,var(--panel-accent),transparent 82%);
}
.premium-panel::after{content:none}
.premium-panel>*{position:relative;z-index:1}
.panel-overline{display:block;font-size:9px;font-weight:850;letter-spacing:.14em;color:#6e8998;margin:0 0 9px}
.panel-lavender .panel-overline{color:#95759a}
.premium-panel h3{
 margin:0 0 15px;padding:0;border:0;font-size:21px;line-height:1.22;
 letter-spacing:0;color:#83198b;font-weight:850;
}
.premium-panel h3::before{display:none}
.premium-panel>p{font-size:13.5px;line-height:1.68;margin:0 0 15px;color:#455d70}
.pill-button{
 min-height:48px;font-size:16px;padding:9px 20px;
 box-shadow:0 6px 14px rgba(132,32,133,.18),inset 0 1px rgba(255,255,255,.35);
 transition:transform .18s,filter .18s;
}
.pill-button:hover{filter:brightness(1.07);transform:translateY(-1px)}
.pill-button img{height:23px;width:23px}
.pill-button span{font-size:21px;right:16px}
.mail-note{font-size:10.5px!important;font-weight:560!important;line-height:1.55!important;
 color:#758697!important;margin:12px 0 13px!important}
.email-address{display:block;margin-top:5px;font-size:16px;font-weight:850;color:#008d9d}
.contact-number{font-size:34px;margin:0 0 2px;color:#058c9f;letter-spacing:.015em}
.premium-panel .fax{font-size:13px;margin:0 0 15px}
.address-inside{margin-top:15px;padding-top:13px;border-top:1px solid #ebdfec}
.address-inside h4{font-size:14px;color:#8c448f;margin:0 0 6px}
.address-inside p{font-size:13px;line-height:1.5}
.premium-panel .large-address{font-size:18px;line-height:1.55;font-weight:760;margin:8px 0 18px}
.outline-button{font-size:13px;padding:9px 18px;border:1.2px solid #c890d2;gap:6px}
.outline-button img{height:17px;width:17px}
.map-panel{padding:18px 20px 15px}
.map-frame{height:238px;border-radius:13px;border:1px solid #d3e7ec;box-shadow:0 3px 8px #1c67700f}
.map-help{font-size:10.5px!important;line-height:1.45!important;margin-top:9px!important}
/* 23｜お問合せ・アクセス：全体を中央にまとめ、タイトルとカードを近づける */
@media(min-width:900px){
 #modal-contact .modal-scroll,#modal-access .modal-scroll{
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 }
 #modal-contact .modal-intro,#modal-access .modal-intro{width:100%;margin:0 auto 22px}
 #modal-contact .premium-panel,#modal-access .premium-panel{min-height:320px!important}
}
/* 24｜求人：二つの事業を色別ブロックに整理、重要項目の読みやすさを高める */
.modal--recruit .modal-scroll{padding:12px 25px 17px}
.modal--recruit .modal-intro{margin:0 auto 10px}
.recruit-intro .intro-icon{width:19px;height:19px;padding:5px;margin-bottom:1px}
.recruit-intro h2{font-size:26px}
.recruit-intro h2::after{width:48px;height:2px;margin:5px auto 0;display:block}
.recruit-intro p{font-size:11.5px;margin-top:6px}
.recruit-intro .intro-eyebrow{font-size:9px;margin-bottom:1px}
.recruit-disclaimer{
 max-width:1060px;font-size:10.5px;line-height:1.3;font-weight:650;
 border:1px solid #efdef0;background:#faf6fc;
 padding:6px 12px;margin:0 auto 10px;border-radius:999px;
}
.job-group,.job-group--ren{
 max-width:1060px;border:1px solid #c8e6eb;border-radius:16px;padding:0 12px 10px;
 margin:0 auto 9px;box-shadow:0 4px 12px #0d67720c;
 background:linear-gradient(150deg,#f7fcff,#ffffff);
}
.job-group--ren{border-color:#ead4eb;background:linear-gradient(150deg,#fff9ff,#fff)}
.job-heading,.job-group--ren .job-heading{
 height:36px;margin:0 -12px 7px;padding:5px 13px;gap:10px;
 border-radius:15px 15px 0 0;font-size:15px;
 background:linear-gradient(90deg,#e9fafd,#f5ffff 67%,#fff);
}
.job-group--ren .job-heading{background:linear-gradient(90deg,#f9eafa,#fff8ff 67%,#fff)}
.job-heading img{width:85px;height:27px;object-fit:contain}
.job-group--ren .job-heading img{width:70px;height:34px}
.job-heading span{padding-left:12px;border-left:1px solid #bdd9df}
.job-grid{gap:10px}
.job-card{border:1px solid #d9ecf0;border-radius:12px;background:#fff;box-shadow:none}
.job-group--ren .job-card{border-color:#eedcf0}
.job-card h4,.job-group--ren .job-card h4{font-size:13px;padding:4px 11px;
 background:linear-gradient(90deg,#e6f7fa,#fff);color:#077b91}
.job-group--ren .job-card h4{background:linear-gradient(90deg,#f8eafa,#fff);color:#8f208e}
.job-card dl{padding:0 9px 4px}
.job-card dl div{grid-template-columns:60px minmax(0,1fr);gap:7px;
 padding:3px 2px;min-height:20px;font-size:10.5px;line-height:1.25;border-color:#e7edf0}
.job-card dt{font-size:10px;font-weight:800;background:#e3f5f7;color:#097b90;border-radius:5px}
.job-group--ren .job-card dt{background:#f4e7f7;color:#93248e}
.job-card dd{font-weight:610;color:#2b4354}
.recruit-footer{
 max-width:1060px;grid-template-columns:1fr 1.25fr .9fr;
 padding:6px 8px 0;margin:3px auto 0;gap:12px;border-top:1px solid #e9e2eb;
}
.recruit-footer p{font-size:12px}
.recruit-cta .pill-button{font-size:14px;min-height:39px;max-width:300px}
.recruit-cta small{font-size:9px;margin-top:4px;line-height:1.3}
.recruit-phone{font-size:15px}
.recruit-phone img{width:19px;height:19px}
/* 25｜iPad横向き：求人を含め、スクロール発生を最小化 */
@media(min-width:900px) and (max-width:1199px){
 .modal{width:calc(100vw - 22px);height:calc(100dvh - 24px);border-radius:22px}
 .modal-head{height:45px}
 .modal-scroll{height:calc(100% - 45px);padding:11px 16px 14px}
 .modal-scroll::before{width:185px;height:135px}
 .modal-scroll::after{width:190px;height:135px}
 .intro-eyebrow{font-size:9px;margin-bottom:2px}
 .modal-intro .intro-icon{width:21px;height:21px;padding:6px;margin-bottom:2px}
 .modal-intro h2{font-size:27px}
 .modal-intro p{font-size:11px;margin-top:6px}
 #modal-contact .modal-intro,#modal-access .modal-intro{margin-bottom:16px}
 .contact-grid,.access-grid{gap:13px}
 #modal-contact .premium-panel,#modal-access .premium-panel{min-height:294px!important}
 .premium-panel{padding:19px 21px 17px}
 .premium-panel h3{font-size:19px;margin-bottom:9px}
 .panel-overline{margin-bottom:5px;font-size:9px}
 .premium-panel>p{font-size:12px;margin-bottom:13px}
 .pill-button{min-height:43px;font-size:14px}
 .contact-number{font-size:30px}
 .premium-panel .large-address{font-size:16px;margin:7px 0 11px}
 .map-frame{height:209px}
 .map-help{font-size:9px!important}
 .modal--recruit .modal-scroll{padding:9px 13px 9px}
 .recruit-intro h2{font-size:24px}
 .recruit-disclaimer{margin-bottom:6px;padding:4px 7px;font-size:9.5px}
 .job-group,.job-group--ren{padding-bottom:7px;margin-bottom:6px}
 .job-heading,.job-group--ren .job-heading{height:29px;margin-bottom:5px;font-size:13px}
 .job-heading img{width:70px;height:24px}
 .job-group--ren .job-heading img{width:54px;height:26px}
 .job-card h4,.job-group--ren .job-card h4{font-size:11.5px;padding:3px 9px}
 .job-card dl div{font-size:9.4px;min-height:19px;padding:2px 2px;grid-template-columns:55px 1fr}
 .job-card dt{font-size:9px}
 .recruit-footer{margin-top:2px;padding-top:4px}
 .recruit-footer p{font-size:10px}
 .recruit-cta .pill-button{min-height:34px;font-size:12px}
 .recruit-cta small{font-size:8px}
 .recruit-phone{font-size:12px}
}
/* 26｜スマートフォン：内側を自然に縦積み。背景装飾は本文を邪魔しない濃度 */
@media(max-width:899px){
 .modal{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:21px}
 .modal-head{height:48px;padding:0 16px}
 .modal-scroll{height:calc(100% - 48px);padding:18px 15px 26px}
 .modal-scroll::before{width:125px;height:98px;opacity:.28}
 .modal-scroll::after{width:128px;height:100px;opacity:.28}
 .modal-intro{margin:0 auto 19px}
 .intro-eyebrow{font-size:9px;letter-spacing:.08em}
 .modal-intro .intro-icon{width:21px;height:21px;padding:6px}
 .modal-intro h2{font-size:28px}
 .modal-intro p{font-size:12px;margin-top:8px}
 .contact-grid,.access-grid{grid-template-columns:1fr;gap:12px}
 .premium-panel{min-height:0!important;padding:21px 21px 20px;border-radius:17px}
 .premium-panel h3{font-size:19px;margin-bottom:12px}
 .premium-panel>p{font-size:13px}
 .panel-overline{font-size:9px}
 .mail-note{font-size:10px!important}
 .email-address{font-size:15px}
 .contact-number{font-size:27px}
 .premium-panel .large-address{font-size:16px}
 .map-frame{height:220px}
 .modal--recruit .modal-scroll{padding:14px 11px 21px}
 .recruit-intro h2{font-size:26px}
 .recruit-disclaimer{font-size:10px;line-height:1.45;border-radius:11px}
 .job-group,.job-group--ren{border-radius:15px;padding:0 9px 10px;margin-bottom:11px}
 .job-heading,.job-group--ren .job-heading{height:38px;margin:0 -9px 8px;font-size:13px}
 .job-grid{grid-template-columns:1fr;gap:9px}
 .job-card h4,.job-group--ren .job-card h4{font-size:13px;padding:6px 11px}
 .job-card dl div{font-size:11px;line-height:1.35;padding:5px 2px;grid-template-columns:59px 1fr}
 .recruit-footer{grid-template-columns:1fr;gap:6px;padding-top:9px}
 .recruit-footer p{font-size:12px}
 .recruit-cta .pill-button{font-size:14px;min-height:43px}
 .recruit-phone{font-size:15px}
}

/* 27｜v6 QA補正：求人の最下部のメール補足まで、デスクトップ画面内に収める */
@media(min-width:1200px){
 .modal{height:min(716px,calc(100dvh - 30px))}
 .modal-scroll{height:calc(100% - 52px)}
 .job-group,.job-group--ren{margin-bottom:6px;padding-bottom:8px}
 .job-heading,.job-group--ren .job-heading{height:34px;margin-bottom:6px}
 .recruit-footer{padding-top:4px}
}
