:root{
    --corner-cut:1.5rem;
    --voice-margin: 6.5%;
}
.full_vh{ min-height:100vh; }
.page-mv{ padding-bottom:0; }
.has-bg-blue{ background-color:#5096e6; }
section{padding:17rem 0;}
.middle_container{ width:87.1%;margin-left: auto;margin-right: auto; }
.intro{ background:url(../img/recruit/bg_recruit_intro.webp) no-repeat center center/cover;padding:0; }
.intro_th, .intro .note{ color:#fff; }
.intro_th{font-size: 197%;margin-bottom: 6.2%;text-align:center;line-height: 150%;}
.intro_th span{ display:inline-block; }
.intro .note_wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;width: 65%;font-size: 120%;letter-spacing: 1px;}
.intro .note{line-height: 195%;}
.section_ttl{position:relative;width: 340px;margin-bottom: 9.3%;font-size: 168.5%;font-weight: normal;letter-spacing: 0.3cqw;margin-left: auto;margin-right: auto;}
.section_ttl .main_text{ color:#fff; }
.section_ttl .sub_text{position:absolute;top:0;left:50%;transform: translate(-50%, -98%);height: clamp(35px, 3vw, 40px);width: auto;}
.benefit .section_ttl .sub_text{ transform:translate(-50%, -83%); }
.title-bg.recruit-title{ background:url(../img/recruit/title-bg-recruit01.svg) no-repeat center center/100% 100%; }
.title-bg.recruit-title-white{ background:url(../img/recruit/title-bg-recruit02.svg) no-repeat center center/100% 100%; }
.title-bg.recruit-title-white .main_text{ color:#5096e6; }
.benefit_wrap{display:flex;flex-wrap:wrap;margin: 0 auto;margin-bottom: 5.3%;}
.each_benefit{width: calc((100% - 6.9%)/ 4);margin-right: 2.3%;margin-bottom: 2.5%;}
.each_benefit:nth-of-type(4n){ margin-right:0; }
.benefit{ padding:0;overflow:hidden; }
.benefit .inner{position:relative;padding: min(171px, 17.1rem) 0 min(184px, 18.6rem);}
.benefit_th{position:relative;padding-left: 9%;font-size: 120%;margin-top: 5.7%;line-height: 136%;margin-bottom: 1.3%;}
.benefit_th:before{content:'';width: 8%;border-radius:999px;background-color:#cadff7;left:0;top: 4px;aspect-ratio:1;position: absolute;}
.benefit_sub{font-size:90%;padding-left: 9%;line-height: 127%;}
.benefit .kosodate{ width:15%;min-width:110px;margin-left:auto;margin-right:auto; }
.benefit .link_note{font-size: 180%;display: block;text-align: center;}
.benefit .link_note a{color:#5096e6;padding-bottom: 7px;border-bottom:1px solid #5096e6;}
.benefit .person{position:absolute;bottom: -84px;right: -2%;transform: translateX(-50%);display: block;width: 16.6%;}
.corner-cut{ clip-path: polygon(var(--corner-cut) 0, calc(100% - var(--corner-cut)) 0,100% var(--corner-cut),100% calc(100% - var(--corner-cut)),calc(100% - var(--corner-cut)) 100%,var(--corner-cut) 100%,0 calc(100% - var(--corner-cut)),0 var(--corner-cut)); }
.voice .section_ttl{ margin-bottom:25%; }
.voice_wrap{display:flex;justify-content: center;margin-bottom: 21%;width:min(837px, 90%);margin-left: auto;margin-right: auto; }
.voice_wrap:last-of-type{ margin-bottom: 0; }
.voice_wrap.reverse{ flex-direction:row-reverse; }
.profile_col{width: 240px;width:28.8%; margin-right:var(--voice-margin);margin-left:0;position:relative;flex-shrink:0;}
.voice_wrap.reverse .profile_col{ flex-direction:row-reverse;margin-left:var(--voice-margin);margin-right:0; }
.profile_col .case_num{position:absolute;top: 3.3cqw;left:50%;transform:translate(-50%, -100%);width: 75%;height:auto;z-index:1;}
.profile_col .col_inner{ display:flex;flex-direction:column;overflow:hidden; }
.profile_col .staff_img{width:100%;aspect-ratio: 0.75;object-fit:cover;object-position: 50% -9%;}
.profile_col .name_wrap{background-color:#f5f5f5;display:flex;justify-content:center;align-items:center;padding: 13% 0 9% 0;flex-direction:column;font-size:min(20px, 1.7cqw);line-height: 130%;text-align: center;}
.profile_col .join_year{font-size: 63%;display: block;margin-top: 1%;}
.profile_col .comment{background-color:#fff;color:#5096e6;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;line-height: 210%;display:flex;justify-content:center;align-items:center;padding: 17% 0;font-size:min(140%, 2.1vw);text-orientation:upright; }
.qa_wrap{border-bottom:2px solid #fff;padding-bottom: 4.2%;margin-bottom: 7.3%;}
.faq_col{max-width: 545px;}
.faq_col .question, .faq_col .answer{ color:#fff; }
.faq_col .question{display:flex;align-items:center;font-size: 177%;padding-bottom: 3.7%;margin-bottom:5%;position:relative;line-height:120%; }
.faq_col .question:after{ content:'';background:url(../img/recruit/faq_dotted.svg) no-repeat center center/cover;width:100%;height:2px;bottom:0;left:0;position:absolute; }
.faq_col .answer{font-size:120%;line-height: 140%;letter-spacing: 0.5px;}
.faq_col .q_num{width: 13%;display:block;margin-right: 3.7%;}

section.positions{padding-top: min(169px, 17rem);padding-bottom: min(200px, 20rem);}
.position_wrap{overflow:hidden;background-color:#fff;margin-bottom: 4.5%;}
.position_wrap:nth-of-type(2){ margin-bottom:9%; }
.position_wrap .service__detail-box-th{ display:flex;background-color:#b3b3b3;font-size:120%; }
.position_wrap .service__detail-box-th h4{flex-grow:1;text-align:center;font-size: 132%;padding: 1.5% 0;font-weight: normal;padding-right: 8%;letter-spacing: 5px;}
.position_wrap .service__detail-box-th *{ color:#fff; }
.position_wrap .num{background-color:#5096e6;color:#fff;width: 8%;height:auto;display:flex;align-items:center;justify-content:center;}
.position_wrap .table_wrap{padding: 1.3% 7.4% 6.5%;}
.position_wrap:nth-of-type(2) .table_wrap{ padding-bottom:4%; }
.position_wrap .table_wrap .row{border-bottom:1px solid #b3b3b3;display:flex;padding: 4% 0 4.2% 0;margin-bottom: 0%;}
.position_wrap .table_wrap .th{color:#b3b3b3;width:max(137px, 18.7%);flex-shrink:0;flex-grow:0;}
.position_wrap .table_wrap .th, .position_wrap .table_wrap .td{font-size: 119%;line-height: 142%;text-align:left; }
.position_wrap .table_wrap .td span{ display:inline-block; }

section.process .service_title, section.application_form .service_title{height: min(60px, 8.3vw);margin: 0 auto 4.4% auto;}
.flow__item__step{ font-size: 3.5rem;letter-spacing: 0.1em;transform: scaleX(0.9) translateX(-6.3%); }
.flow__items{ margin-bottom:8%;width:93%; }
.service__flow.inner{ width:90%; }

section.application_form{ padding-bottom:min(10px, 1rem); }
form#mail_form input#mail_address, form#mail_form input#mail_address_confirm, form#mail_form input#phone, form#mail_form input#area, form#mail_form input#start_date{ width:80%!important; }

@media screen and (max-width:768px){
    section, .benefit .inner, section.positions{ padding:10rem 0; }
    .intro .note_wrap{ width:100%;padding:20% 0; }
    .intro_th{ margin-bottom: 8%;font-size: 180%; }
    .intro .note{ width:90%; }
    .each_benefit{ width:48%;margin-right:4%;margin-bottom: 5%; }
    .each_benefit:nth-of-type(2n){ margin-right:0; }
    .middle_container{ width:95%;margin-bottom:7.5%; }
    .benefit_th{ margin-top: 4.7%;font-size:110%; }
    .benefit_th br{ display:none; }

    .benefit .link_note{ font-size:160%; }
    .benefit_th:before{ top:-2px; }
    .voice_wrap{ margin-bottom:min(260px, 65%); }
    .voice_wrap, .voice_wrap.reverse{ flex-direction:column; }
    .voice .section_ttl{ margin-bottom:min(240px, 70%); }
    .profile_col, .voice_wrap.reverse .profile_col{ margin-left: auto;margin-right: auto;margin-bottom: 12%; }
    /* .profile_col .case_num{ top:10.3cqw; } */
    .profile_col{ width:41%; }
    .profile_col .case_num{ top:4.3cqw; }
    .profile_col .name_wrap{ font-size:clamp(15px, 5.9cqw, 20px); }
    .profile_col .comment{ font-size: min(140%, 2.7vw); }
    .faq_col{ max-width:100%; }
    .faq_col .question{ line-height:130%;padding-bottom: 4.7%;margin-bottom: 4%;font-size: 148%; }  
    .faq_col .q_num{ width:min(65px, 17%); } 
    .qa_wrap{ padding-bottom: 7.7%;margin-bottom: 7.8%; }
    .position_wrap .service__detail-box-th h4{ line-height: 128%;font-size: 115%;padding:min(12px, 4%);letter-spacing: 3px; }
    .position_wrap .num{ width:min(70px, 18%); }    
    .inner{ width:90%; }
    section.process .service_title{ width:min(300px, 80%);height:auto; }
    section.application_form .service_title{ width:min(390px, 100%);height:auto; }
    form#mail_form input[type="text"], form#mail_form input[type="email"], form#mail_form input[type="tel"], form#mail_form textarea{ font-size:16px!important; }
}
@media screen and (max-width:575px){
    .benefit .person{ bottom:-5%;right:0;transform:translateX(0);width:36.6%; }
    .benefit_th:before{ top:4px; }
    .voice .section_ttl{ margin-bottom:min(210px, 70%); }
    .profile_col{ width:67%; }
    .profile_col .case_num{ top:11.3cqw; }
    .profile_col .comment{ font-size: min(140%, 4.7vw); }
    .position_wrap .table_wrap .row{ flex-direction:column;padding:5% 0; }
    .position_wrap .table_wrap .th{ width:100%;margin-bottom:1.5%; }
    .position_wrap .table_wrap .td span{ display:inline; }  
    .position_wrap .table_wrap, .position_wrap:nth-of-type(2) .table_wrap{ padding-bottom:6%; }
    .flow__items{ width:100%;}
    form#mail_form input#mail_address, form#mail_form input#mail_address_confirm, form#mail_form  input#phone, form#mail_form input#area, form#mail_form input#start_date, form#mail_form textarea{ width:98%!important;max-width:98%!important; }
    form#mail_form input#name_1, form#mail_form input#name_2, form#mail_form input#read_1, form#mail_form input#read_2, form#mail_form input#postal, form#mail_form input#schedule, form#mail_form input#name_kana_1, form#mail_form input#name_kana_2{ width:48%!important; }
}

