@charset "UTF-8";
/* ==========================================================
   サポート株式会社 採用ページ
   ========================================================== */
:root{
	--blue:#005CFC;
	--navy:#00285E;
	--bg:#E7EDF4;
	--light-blue:#4487F8;
	--green:#1DAF8E;
	--txt:#222;
	--header-h:64px;
	--v:64px;/* V字・斜めカットの深さ */
	--t:.06;/* REASON帯・MESSAGE写真上辺の共通の傾き（右上がり） */
	--t2:.06;/* MESSAGE写真下辺・WORK背景上辺・WORK写真上辺の共通の傾き（右下がり） */
	--g:40px;/* MESSAGE写真とWORK背景の間の余白 */
	--f-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	--f-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
	--f-en:"Oswald",sans-serif;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;padding-top:var(--header-h);background:#fff;font-family:var(--f-sans);font-size:16px;line-height:1.8;color:var(--txt);-webkit-text-size-adjust:100%;}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0;}
ul,ol{list-style:none;}
img{max-width:100%;height:auto;vertical-align:bottom;}
a{transition:opacity .3s,background-color .3s,color .3s;color:inherit;text-decoration:none;}
button{font:inherit;}
table{border-collapse:collapse;}
section{scroll-margin-top:var(--header-h);}
.sp{display:none;}

/* ---------- 共通 ---------- */
.inner{max-width:1220px;margin:0 auto;padding:0 20px;position:relative;}
.sec_en{font-family:var(--f-en);font-size:13px;font-weight:500;letter-spacing:.12em;color:var(--green);line-height:1.4;}
.sec_ttl{margin-top:4px;font-size:26px;font-weight:700;color:var(--navy);line-height:1.5;letter-spacing:.04em;font-feature-settings:"palt";}
.sec_ttl-white{color:#fff;}
.sec_ttl_s{margin-top:4px;font-size:20px;font-weight:700;color:var(--navy);line-height:1.5;}
.btn_navy{display:inline-flex;align-items:center;width:238px;height:50px;padding:0 22px;position:relative;background:var(--navy);color:#fff;font-size:15px;}
.btn_navy::after{content:"";position:absolute;right:20px;top:50%;width:7px;height:7px;transform:translateY(-50%) rotate(45deg);border-top:1px solid #fff;border-right:1px solid #fff;transition:right .3s;}
.btn_navy:hover{background:var(--blue);}
.btn_navy:hover::after{right:16px;}

/* フェードイン（JS有効時のみ） */
.js .fade{transform:translateY(24px);opacity:0;transition:opacity .8s ease,transform .8s ease;}
.js .fade.is-show{transform:none;opacity:1;}

/* ==========================================================
   0. ヘッダー
   ========================================================== */
.header{position:fixed;top:0;left:0;width:100%;height:var(--header-h);z-index:100;background:#fff;box-shadow:0 2px 8px rgba(0,40,94,.06);}
.header_inner{display:flex;align-items:center;justify-content:space-between;height:100%;}
.header_logo{padding-left:20px;line-height:1;}
.header_logo img{width:190px;}
.gnav{display:flex;align-items:center;height:100%;}
.gnav_list{display:flex;margin-right:24px;}
.gnav_list li{position:relative;}
.gnav_list li+li::before{content:"";position:absolute;left:0;top:50%;width:1px;height:14px;transform:translateY(-50%);background:var(--navy);}
.gnav_list a{display:block;padding:0 24px;font-size:15px;font-weight:500;color:var(--navy);letter-spacing:.06em;}
.gnav_list a:hover{color:var(--blue);}
.gnav_entry{display:flex;align-items:center;justify-content:center;width:230px;height:100%;background:var(--light-blue);color:#fff;font-size:15px;font-weight:500;letter-spacing:.06em;}
.gnav_entry:hover{background:var(--blue);}
.gnav_insta{display:flex;align-items:center;justify-content:center;width:var(--header-h);height:100%;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff;font-size:32px;}
.gnav_insta:hover{opacity:.8;}
.menu_btn{display:none;}

/* ==========================================================
   1. MV
   ========================================================== */
.mv{position:relative;height:640px;overflow:hidden;}
.mv_img,.mv_img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mv_img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,20,50,.35) 0%,rgba(0,20,50,0) 60%);}
.mv_inner{position:relative;z-index:1;max-width:1220px;margin:0 auto;padding:64px 20px 0;color:#fff;}
.mv_catch{font-family:var(--f-serif);font-size:56px;font-weight:700;line-height:1.45;letter-spacing:.06em;text-shadow:0 2px 12px rgba(0,0,0,.45);font-feature-settings:"palt";}
.mv_sub{margin-top:40px;font-size:20px;font-weight:700;line-height:1.5;letter-spacing:.04em;text-shadow:0 2px 8px rgba(0,0,0,.5);}

/* ==========================================================
   2. REASON
   ========================================================== */
/*
  MV下端の斜めラインとカード上辺を同じ傾き（--t）で揃える
  --t：傾き（横1pxあたりの高さ）／--yR：右端でのライン位置／--gap：写真とカードの間の白ライン幅
  --x0：見出しエリア幅（＝帯の開始位置、コンテンツ幅1180pxに連動）
*/
.reason{
	--s:44px;--yR:40px;--gap:8px;
	--pl:max(20px,calc(50vw - 590px));
	--x0:calc(var(--pl) + 270px);
	--bandTop:calc(var(--yR) + var(--gap) + var(--t) * (100vw - var(--x0)));
	position:relative;z-index:2;display:flex;margin-top:-170px;overflow:hidden;
}
.reason::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;clip-path:polygon(0 calc(var(--yR) + var(--t) * 100vw),100% var(--yR),100% 100%,0 100%);}
.reason_head{flex:0 0 var(--x0);width:var(--x0);padding:calc(var(--yR) + var(--t) * 100vw + 60px) 0 0 var(--pl);}
.reason_ttl{margin-top:4px;white-space:nowrap;font-size:24px;font-weight:700;line-height:1.5;color:var(--navy);letter-spacing:.04em;}
.reason_list{flex:1;display:flex;clip-path:polygon(var(--s) calc(var(--bandTop) - var(--t) * var(--s)),100% calc(var(--yR) + var(--gap)),100% calc(100% - var(--t) * (100vw - var(--x0))),0 100%);}
.reason_item{flex:1;position:relative;margin-left:calc(var(--s) * -1 + 4px);background-color:var(--navy);background-size:cover;background-position:center;clip-path:polygon(var(--s) 0,100% 0,calc(100% - var(--s)) 100%,0 100%);}
.reason_item:first-child{margin-left:0;}
.reason_item:last-child{margin-right:calc(var(--s) * -1);}
.reason_item::before{content:"";position:absolute;inset:0;background:rgba(0,40,94,.9);}
.reason_body{position:relative;padding:calc(var(--bandTop) + 34px) 40px calc(40px + var(--t) * (100vw - var(--x0))) calc(var(--s) + 48px);color:#fff;}
.reason_num{position:absolute;top:calc(var(--bandTop) - 6px);right:calc(var(--s) + 6px);font-family:var(--f-en);font-size:82px;font-weight:500;line-height:1;color:rgba(255,255,255,.2);}
.reason_icon{font-size:44px;line-height:1;}
.reason_item_ttl{margin-top:22px;font-size:22px;font-weight:700;line-height:1.5;letter-spacing:.04em;}
.reason_body p{margin-top:16px;font-size:14px;line-height:1.8;}
/* 最後のカードは右へはみ出させているので、その分内側に寄せる */
.reason_item:last-child .reason_body{padding-right:calc(var(--s) + 12px);}
.reason_item:last-child .reason_num{right:calc(var(--s) * 2 + 6px);}

/* ==========================================================
   3. MESSAGE
   ========================================================== */
.message{display:flex;align-items:center;margin-top:10px;position:relative;z-index:1;}
/* 上辺：REASON帯の下辺と平行（右上がり--t）／下辺：右下角(84%,100%)から左へ傾き--t2で上がる（写真幅40vw×84%） */
.message_img{flex:0 0 40%;align-self:flex-end;height:520px;clip-path:polygon(0 calc(var(--t) * 40vw),100% 0,84% 100%,0 calc(100% - var(--t2) * 33.6vw));}
.message_img img{width:100%;height:100%;object-fit:cover;}
.message_body{flex:1;max-width:600px;margin-left:4%;padding:20px 20px 60px 0;}
.message_lead{margin-top:24px;font-size:30px;font-weight:700;line-height:1.6;color:var(--navy);letter-spacing:.04em;font-feature-settings:"palt";}
.message_txt{margin-top:26px;font-size:15px;line-height:1.85;}
.message .btn_navy{margin-top:26px;}

/* ==========================================================
   4. WORK STYLE
   ========================================================== */
/* --wA：左端での背景上辺の位置（MESSAGE写真下辺＋余白--g と平行になるよう算出） */
.work{--wA:calc(60px + var(--g) - var(--t2) * 33.6vw);position:relative;margin-top:-60px;padding:120px 0 130px;}
.work::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);clip-path:polygon(0 var(--wA),100% calc(var(--wA) + var(--t2) * 100vw),100% 100%,0 100%);}
.work_top{position:relative;min-height:420px;}
.work_intro{width:56%;padding-top:30px;}
.work_lead{margin-top:18px;font-size:15px;line-height:1.8;}
/* 上辺：写真幅44vw×91%の区間で--t2だけ下げ、背景上辺と平行に */
.work_img{position:absolute;top:-60px;right:0;width:44%;height:440px;clip-path:polygon(9% 0,100% calc(var(--t2) * 40vw),100% 100%,0 100%);}
.work_img img{width:100%;height:100%;object-fit:cover;}

/* 数値サークル */
.stat_list{display:flex;gap:26px;margin-top:36px;}
.stat{position:relative;flex:0 0 184px;width:184px;height:184px;border-radius:50%;}
.stat img{width:100%;height:100%;}
.stat_in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;text-align:center;}
.stat_label{font-size:14px;font-weight:700;line-height:1.4;}
.stat_num{font-family:var(--f-en);font-size:62px;font-weight:500;line-height:1;}
.stat_num small{margin-left:2px;font-size:20px;}
.stat-ring{background:conic-gradient(var(--blue) 0 calc(var(--rate) * 1%),#CBDDF1 0);}
.stat-ring .stat_in{inset:16px;background:#fff;color:var(--navy);}
.stat-ring .stat_num{margin-top:4px;}
.stat-fill{background:linear-gradient(145deg,#0a8fdc 0%,#005CFC 55%,#0042AD 100%);}
.stat-fill .stat_in{color:#fff;}
.stat_icon{margin-bottom:8px;font-size:36px;}
.stat-fill .stat_label{margin-top:6px;}

/* 福利厚生カード */
.benefit_list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;}
.benefit{padding:38px 18px 32px;background:#fff;}
.benefit_icon{display:block;text-align:center;font-size:48px;line-height:1;color:var(--navy);}
.benefit_ttl{margin-top:26px;text-align:center;font-size:22px;font-weight:700;line-height:1.4;color:var(--navy);letter-spacing:.06em;}
.benefit p{margin-top:20px;font-size:16px;line-height:1.65;}
.benefit p.benefit_note{margin-top:6px;font-size:13px;}

/* イベント */
.event_list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;}
.event_img{aspect-ratio:3/2;overflow:hidden;}
.event_img img{width:100%;height:100%;object-fit:cover;}
.event_ttl{margin-top:20px;font-size:18px;font-weight:700;line-height:1.4;color:var(--navy);}
.event p{margin-top:2px;font-size:15px;line-height:1.7;}

/* ==========================================================
   5. JOB OPENINGS
   ========================================================== */
.jobs{position:relative;padding:130px 0 140px;z-index:1;background:var(--bg);}
.jobs::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,40,94,.9),rgba(0,40,94,.9)),url(../img/job_bg.jpg) center/cover no-repeat;clip-path:polygon(0 0,50% var(--v),100% 0,100% calc(100% - var(--v)),50% 100%,0 calc(100% - var(--v)));}
.job_list{display:grid;grid-template-columns:repeat(2,1fr);gap:44px;margin-top:30px;}
.job{display:flex;background:#fff;}
.job_img{flex:0 0 190px;}
.job_img img{width:100%;height:100%;object-fit:cover;}
.job_body{flex:1;padding:28px 22px 26px;}
.job_ttl{font-size:22px;font-weight:700;line-height:1.4;color:var(--navy);letter-spacing:.04em;}
.job_salary{margin-top:14px;font-size:18px;font-weight:700;color:var(--navy);line-height:1.5;}
.job_tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;}
.job_tags li{padding:2px 10px;border:1px solid #ccc;border-radius:3px;font-size:14px;line-height:1.7;}
.job_txt{margin-top:18px;font-size:15px;line-height:1.75;}

/* ==========================================================
   6. VOICE
   ========================================================== */
.voice{position:relative;padding:60px 0 150px;}
.voice::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);clip-path:polygon(0 0,100% 0,100% calc(100% - var(--v)),50% 100%,0 calc(100% - var(--v)));}
.voice_soon{position:relative;z-index:1;max-width:720px;margin:70px auto 0;padding:34px 20px 38px;background:#B8C6D8;text-align:center;color:var(--navy);}
.voice_soon_ttl{font-family:var(--f-en);font-size:56px;font-weight:600;line-height:1.1;letter-spacing:.02em;}
.voice_soon_txt{margin-top:16px;font-size:16px;font-weight:700;line-height:1.7;}
.voice_sil{position:absolute;right:60px;top:-10px;width:270px;z-index:2;}

/* ==========================================================
   7. GUIDE
   ========================================================== */
.guide{padding:80px 0 60px;}
.guide_tables{display:flex;gap:44px;margin-top:40px;}
.guide_tbl{flex:1;width:50%;}
.guide_tbl th,.guide_tbl td{border:1px solid #ccc;font-size:15px;line-height:1.6;vertical-align:middle;}
.guide_tbl th{width:168px;padding:20px 24px;background:#EFEFEF;color:var(--navy);font-weight:700;text-align:left;}
.guide_tbl td{padding:16px 26px;height:63px;}

/* ==========================================================
   8. HOW TO APPLY
   ========================================================== */
.flow{padding:40px 0 110px;}
.flow_list{display:flex;gap:18px;margin:60px 0 0 11%;}
.flow_item{flex:1;}
.flow_head{position:relative;display:flex;align-items:flex-end;}
.flow_head::before{content:"";position:absolute;left:62px;right:0;top:14px;height:2px;background:var(--navy);}
.flow_head::after{content:"";position:absolute;right:0;top:14px;width:14px;height:2px;transform:rotate(45deg);transform-origin:right center;background:var(--navy);}
.flow_item:last-child .flow_head::after{top:9px;width:12px;height:12px;transform:none;right:-4px;border-radius:50%;}
.flow_num{display:flex;align-items:center;justify-content:center;flex:0 0 62px;width:62px;height:62px;background:var(--navy);color:#fff;font-family:var(--f-en);font-size:34px;font-weight:400;line-height:1;}
.flow_ttl{padding:0 0 2px 16px;font-size:18px;font-weight:700;line-height:1.4;color:var(--navy);}
.flow_txt{margin-top:4px;padding-left:78px;font-size:14px;line-height:1.7;}
.flow_btn{margin-top:100px;text-align:center;}
.btn_entry{display:inline-flex;align-items:center;justify-content:center;width:604px;max-width:100%;height:84px;background:linear-gradient(90deg,#0088D0 0%,#0047D6 100%);color:#fff;font-size:22px;font-weight:500;letter-spacing:.08em;}
.btn_entry:hover{opacity:.85;}

/* ==========================================================
   9. クロージング
   ========================================================== */
.closing{position:relative;height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.closing_img,.closing_img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.closing_img::after{content:"";position:absolute;inset:0;background:rgba(0,30,80,.35);}
.closing_inner{position:relative;z-index:1;padding:0 20px;text-align:center;color:#fff;font-family:var(--f-serif);text-shadow:0 2px 10px rgba(0,0,0,.5);}
.closing_catch{font-size:46px;font-weight:700;line-height:1.5;letter-spacing:.06em;font-feature-settings:"palt";}
.closing_sub{margin-top:14px;font-size:22px;font-weight:600;letter-spacing:.08em;}

/* ==========================================================
   10. CONTACT
   ========================================================== */
.contact{padding:38px 0;background:var(--navy);color:#fff;}
.contact_inner{display:flex;align-items:center;max-width:1220px;margin:0 auto;padding:0 20px;}
.contact_head{flex:0 0 206px;padding:6px 0;border-right:1px solid #fff;}
.contact_ttl{font-size:26px;font-weight:700;line-height:1.4;}
.contact_tel{flex:1;display:flex;align-items:center;gap:18px;padding:6px 30px 6px 56px;min-height:84px;border-right:1px solid #fff;}
.contact_tel_icon{font-size:44px;}
.contact_tel_num{display:block;white-space:nowrap;font-family:var(--f-en);font-size:42px;font-weight:500;line-height:1.1;letter-spacing:.04em;}
.contact_tel_time{margin-top:4px;font-size:12px;line-height:1.5;}
.contact_mail{flex:0 0 auto;padding-left:50px;}
.btn_mail{display:flex;align-items:center;justify-content:center;gap:30px;width:470px;height:84px;background:#fff;border-radius:4px;color:var(--navy);font-size:24px;font-weight:700;letter-spacing:.04em;}
.btn_mail i{font-size:50px;font-weight:400;}
.btn_mail:hover{opacity:.85;}

/* ==========================================================
   11. フッター
   ========================================================== */
.footer{padding:50px 20px;text-align:center;}
.footer_copy{font-size:13px;color:var(--navy);}

/* ==========================================================
   レスポンシブ
   ========================================================== */
@media (max-width:1280px){
	.gnav_list a{padding:0 16px;font-size:14px;}
	.gnav_entry{width:190px;font-size:14px;}
	.contact_tel{padding-left:40px;}
	.contact_mail{padding-left:40px;}
	.btn_mail{width:420px;gap:20px;font-size:20px;}
	.btn_mail i{font-size:40px;}
}

@media (max-width:1100px){
	:root{--header-h:60px;}
	.header_logo img{width:170px;}
	/* ドロワーメニュー */
	.menu_btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:var(--header-h);height:var(--header-h);padding:0;cursor:pointer;border:0;background:var(--navy);}
	.menu_btn span{display:block;width:26px;height:2px;background:#fff;transition:transform .3s,opacity .3s;}
	.menu_btn.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
	.menu_btn.is-open span:nth-child(2){opacity:0;}
	.menu_btn.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
	.gnav{position:fixed;top:var(--header-h);left:0;width:100%;height:auto;max-height:calc(100vh - var(--header-h));overflow-y:auto;flex-direction:column;align-items:stretch;padding:10px 20px 30px;visibility:hidden;transform:translateY(-10px);background:var(--navy);opacity:0;transition:opacity .3s,transform .3s,visibility .3s;}
	.gnav.is-open{visibility:visible;transform:none;opacity:1;}
	.gnav_list{flex-direction:column;margin:0;}
	.gnav_list li+li::before{display:none;}
	.gnav_list li{border-bottom:1px solid rgba(255,255,255,.2);}
	.gnav_list a{padding:16px 4px;color:#fff;font-size:15px;}
	.gnav_list a:hover{opacity:.7;color:#fff;}
	.gnav_entry{width:100%;height:56px;margin-top:24px;}
	.gnav_insta{width:56px;height:56px;margin:16px auto 0;border-radius:12px;font-size:30px;}

	/* REASON */
	.reason{--s:30px;--x0:calc(var(--pl) + 240px);}
	.reason_body{padding:calc(var(--bandTop) + 26px) 22px 50px calc(var(--s) + 26px);}
	.reason_num{font-size:60px;}
	.reason_item_ttl{font-size:19px;}
	.reason_body p br{display:none;}
	.reason_item:last-child .reason_body{padding-right:calc(var(--s) + 22px);}

	/* WORK */
	.work_intro{width:100%;}
	.work_img{position:relative;top:auto;width:100%;height:auto;aspect-ratio:16/9;margin-top:40px;clip-path:polygon(6% 0,100% calc(var(--t2) * 94vw),100% 100%,0 100%);}
	.work_top{min-height:0;}
	.benefit_list,.event_list{grid-template-columns:repeat(2,1fr);}
	.event_list{gap:30px 12px;}

	/* JOBS */
	.job_list{grid-template-columns:1fr;gap:24px;}

	/* CONTACT */
	.contact_inner{flex-wrap:wrap;justify-content:center;}
	.contact_head{flex:0 0 auto;width:100%;border-right:0;text-align:center;}
	.contact_tel{flex:0 0 auto;padding:10px 0;border-right:0;}
	.contact_mail{flex:0 0 100%;padding:14px 0 0;display:flex;justify-content:center;}
}

@media (max-width:767px){
	:root{--v:32px;}
	body{font-size:15px;}
	.pc{display:none;}
	.sp{display:inline;}
	.header_logo{padding-left:14px;}
	.header_logo img{width:150px;}
	.sec_ttl{font-size:22px;}

	/* MV */
	.mv{height:auto;aspect-ratio:375/440;clip-path:polygon(0 0,100% 0,100% 90%,0 100%);}
	.mv_img img{object-position:65% center;}
	.mv_img::after{background:linear-gradient(180deg,rgba(0,20,50,.45) 0%,rgba(0,20,50,0) 70%);}
	.mv_inner{padding-top:30px;}
	.mv_catch{font-size:clamp(24px,7.4vw,34px);}
	.mv_sub{margin-top:20px;font-size:15px;}

	/* REASON */
	.reason{display:block;margin-top:0;}
	.reason::before{display:none;}
	.reason_head{flex:none;}
	.reason_head{width:100%;padding:36px 20px 0;}
	.reason_ttl{font-size:22px;white-space:normal;}
	.reason_ttl br{display:none;}
	.reason_list{display:block;margin-top:20px;min-height:0;clip-path:none;}
	.reason_item,.reason_item:first-child,.reason_item:last-child{margin:0;clip-path:none;}
	.reason_item+.reason_item{border-top:3px solid #fff;}
	.reason_body{padding:28px 24px 30px;}
	.reason_num{top:12px;right:16px;font-size:54px;}
	.reason_item:last-child .reason_body{padding-right:24px;}
	.reason_item:last-child .reason_num{right:16px;}
	.reason_icon{font-size:36px;}
	.reason_item_ttl{margin-top:14px;font-size:20px;}
	.reason_body p{margin-top:10px;}

	/* MESSAGE */
	.message{display:block;margin-top:40px;}
	.message_img{width:92%;height:auto;aspect-ratio:4/3;clip-path:polygon(0 0,100% 0,90% 100%,0 92%);}
	.message_body{margin:0;padding:30px 20px 50px;max-width:none;}
	.message_lead{margin-top:16px;font-size:22px;}
	.message_txt{margin-top:18px;font-size:15px;}
	.message .btn_navy{display:flex;margin:26px auto 0;}

	/* WORK */
	.work{margin-top:0;padding:70px 0 90px;}
	.work::before{clip-path:polygon(0 0,100% 40px,100% 100%,0 100%);}
	.work_intro{padding-top:0;}
	.work_lead{font-size:14px;}
	.stat_list{justify-content:center;flex-wrap:wrap;gap:14px;}
	.stat{flex-basis:calc(50% - 7px);width:calc(50% - 7px);max-width:160px;height:auto;aspect-ratio:1;}
	.stat-ring .stat_in{inset:12px;}
	.stat_label{font-size:12px;}
	.stat_num{font-size:44px;}
	.stat_num small{font-size:16px;}
	.stat_icon{margin-bottom:4px;font-size:26px;}
	.work_img{width:calc(100% - 20px);margin:30px 0 0 auto;}
	.benefit_list{grid-template-columns:1fr;}
	.benefit{padding:28px 20px 26px;}
	.benefit_icon{font-size:40px;}
	.benefit_ttl{margin-top:16px;font-size:20px;}
	.benefit p{margin-top:14px;font-size:15px;}
	.event_list{gap:24px 10px;}
	.event_ttl{margin-top:10px;font-size:15px;}
	.event p{font-size:13px;}

	/* JOBS */
	.jobs{padding:70px 0 90px;}
	.job{display:block;}
	.job_img{aspect-ratio:16/9;}
	.job_body{padding:22px 18px 24px;}
	.job_ttl{font-size:20px;}
	.job_salary{margin-top:8px;font-size:17px;}
	.job_tags li{padding:2px 10px;font-size:13px;}
	.job_txt{font-size:14px;}

	/* VOICE */
	.voice{padding:50px 0 100px;overflow:hidden;}
	.voice_soon{margin-top:30px;padding:26px 16px 28px;background:rgba(184,198,216,.92);}
	.voice_soon_ttl{font-size:clamp(32px,10vw,40px);}
	.voice_soon_txt{font-size:13px;text-align:left;}
	.voice_soon_txt br{display:none;}
	.voice_sil{position:static;display:block;width:130px;margin:-30px 10px 0 auto;}

	/* GUIDE */
	.guide{padding:50px 0 40px;}
	.guide_tables{display:block;margin-top:24px;}
	.guide_tbl{width:100%;}
	.guide_tbl+.guide_tbl tr:first-child th,.guide_tbl+.guide_tbl tr:first-child td{border-top:0;}
	.guide_tbl th{width:90px;padding:14px 12px;font-size:14px;}
	.guide_tbl td{padding:14px 14px;height:auto;font-size:14px;}

	/* FLOW */
	.flow{padding:30px 0 70px;}
	.flow_list{display:block;margin:30px 0 0;}
	.flow_item+.flow_item{margin-top:26px;}
	.flow_item{position:relative;}
	.flow_item:not(:last-child)::after{content:"";position:absolute;left:30px;top:62px;bottom:-26px;width:2px;background:var(--navy);}
	.flow_head::before,.flow_head::after{display:none;}
	.flow_num{flex-basis:52px;width:52px;height:52px;font-size:28px;}
	.flow_head{align-items:center;}
	.flow_txt{padding-left:68px;margin-top:-14px;font-size:13px;}
	.flow_txt br{display:none;}
	.flow_btn{margin-top:50px;}
	.btn_entry{height:64px;font-size:17px;}

	/* CLOSING */
	.closing{height:220px;}
	.closing_catch{font-size:clamp(20px,6vw,28px);}
	.closing_sub{margin-top:8px;font-size:14px;}

	/* CONTACT */
	.contact{padding:36px 0 40px;}
	.contact_ttl{font-size:22px;}
	.contact_tel{gap:12px;}
	.contact_tel_icon{font-size:32px;}
	.contact_tel_num{font-size:32px;}
	.contact_tel_time{font-size:11px;}
	.btn_mail{width:100%;height:64px;gap:14px;font-size:17px;}
	.btn_mail i{font-size:30px;}

	.footer{padding:24px 16px;}
	.footer_copy{font-size:11px;}
}
