@charset "utf-8";
/*home*/
/*fv*/
#home_fv{ width: 1120px; margin: auto; padding: 80px 0; position: relative;}
#home_fv .home_fv_img{ width: 640px; margin: 0 0 0 auto;}
#home_fv .home_fv_img #home_slide{ width: 680px; max-width: 680px; max-height: 416px; overflow: hidden;}
.load #home_fv .home_fv_img #home_slide{ max-height: 420px;}
#home_fv .home_fv_img #home_slide img{ border-radius: 20px;}
#home_fv .home_fv_tit01{ width: calc(100% - 640px); height: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 5; overflow: hidden;}
#home_fv .home_fv_tit01 h3{ font-size: 2.7rem; line-height: 1.5em; width: 1120px; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#home_fv .home_fv_tit01 h3 strong{ font-size: 3rem; line-height: 1.5em;}
#home_fv .home_fv_tit02{ width: calc(100% - 640px); height: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); z-index: 3;}
#home_fv .home_fv_tit02 h3{ font-size: 2.7rem; line-height: 1.5em; color: #fff; width: 1120px; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#home_fv .home_fv_tit02 h3 strong{ font-size: 3rem; line-height: 1.5em;}
#home_fv .home_fv_tit02 h3:before{ content: ""; width: 54px; height: 54px; background: url("../images/home/fv_ico1.png") center center; background-size: 100%; position: absolute; left: 0; top: -48px;}
#home_fv .home_fv_tit02 h3:after{ content: ""; width: 54px; height: 54px; background: url("../images/home/fv_ico2.png") center center; background-size: 100%; position: absolute; left: 5em; top: -48px;}
@media screen and (max-width:767px){
#home_fv{ width: 92.5%; padding: 15% 0 5%;}
#home_fv .home_fv_tit01{ display: none; width: 100%; position: static; transform: none;}
#home_fv .home_fv_tit01 h3{ font-size: 5vw; width: 100%; text-align: center; position: static; transform: none;}
#home_fv .home_fv_tit01 h3 strong{ font-size: 7.5vw;}
#home_fv .home_fv_tit02{ width: 100%; transform: none; position: relative; left: 0; top: 0;}
#home_fv .home_fv_tit02 h3{ font-size: 1.5rem; color: #392D1F; width: 100%; text-align: center; position: static; transform: none;}
#home_fv .home_fv_tit02 h3 strong{ font-size: 1.75rem;}
#home_fv .home_fv_tit02 h3:before{ width: 8.75vw; height: 8.75vw; left: 0vw; top: -7.5vw;}
#home_fv .home_fv_tit02 h3:after{ width: 8.75vw; height: 8.75vw; left: 33.75vw; top: -7.5vw;}
#home_fv .home_fv_img{ width: 100%; position: static; margin-top: 5%;}
#home_fv .home_fv_img #home_slide{ width: 100%; max-height: 55vw;}
.load #home_fv .home_fv_img #home_slide{ max-height: 60vw;}
#home_fv .home_fv_img #home_slide img{ border-radius: 2.5vw;}
}

/*slide*/
#home_slide_thum_wrap{ width: 100%; max-height: 225px; position: relative; overflow: hidden;}
.load #home_slide_thum_wrap{ max-height: 240px;}
#home_slide_thum{ min-width: calc(364px*5); position: relative; left: 50%; transform: translateX(-50%);}
#home_slide_thum ul li{ width: 364px; padding: 0 12px;}
#home_slide_thum ul li img{ border-radius: 16px;}
@media screen and (max-width:767px){
#home_slide_thum_wrap{ max-height: 19vw;}
.load #home_slide_thum_wrap{ max-height: 25vw;}
#home_slide_thum{ min-width: calc(30vw*5);}
#home_slide_thum ul li{ width: 30vw; padding: 0 1.25vw;}
#home_slide_thum ul li img{ border-radius: 1.25vw;}
}

/*philosophy*/
#home_philosophy{ margin: 80px auto 0;}
#home_philosophy dl{ display: flex; align-items: center; justify-content: space-between;}
#home_philosophy dl dt h2{ font-size: 1.9rem; margin-bottom: 40px; font-feature-settings: "palt";}
#home_philosophy dl dt p{ font-size: 0.9rem; line-height: 2em;}
#home_philosophy dl dt figure.btn a{ margin: 0; position: relative;}
#home_philosophy dl dt figure.btn a span.ico{ margin-left: 2em; line-height: 0;}
#home_philosophy dl dt figure.btn a span.ico svg{ fill: #fff; stroke: #fff; width: 6px; height: 12px;}
#home_philosophy dl dt figure.btn a span.ico svg *{ fill: #fff; stroke: #fff;}
#home_philosophy dl dd{ width: 240px;}
#home_philosophy dl dd ul{ position: relative; right: -60px;}
#home_philosophy dl dd ul li{ margin-bottom: 20px;}
#home_philosophy dl dd ul li:last-child{ margin-bottom: 0;}
@media screen and (max-width:767px){
#home_philosophy{ margin: 15% auto 0;}
#home_philosophy dl{ display: block;}
#home_philosophy dl dt h2{ font-size: 1.4rem; margin-bottom: 5%;}
#home_philosophy dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 1.75em;}
#home_philosophy dl dt figure.btn { margin: 10% auto;}
#home_philosophy dl dt figure.btn a{ width: 60vw;}
#home_philosophy dl dt figure.btn a span.ico{ margin-left: 1em; line-height: 0;}
#home_philosophy dl dt figure.btn a span.ico svg{ width: 1.25vw; height: 2.5vw;}
#home_philosophy dl dd{ width: 100%; margin-top: 7.5%;}
#home_philosophy dl dd ul{ display: flex; width: calc(100% + 2.5vw); margin-left: -1.25vw; position: static;}
#home_philosophy dl dd ul li{ width: calc(33.33% - 2.5vw); margin: 0 1.25vw;}
}

/*story*/
#home_story{ margin-top: 120px; background: #009FB9; border-radius: 0 140px 0 140px; padding: 100px 0;}
#home_story h2{ display: flex; align-items: center; color: #fff; margin-bottom: 50px;}
#home_story h2 strong{ font-size: 1.5rem;}
#home_story h2 span{ font-size: 0.9rem; margin-left: 50px;}
#home_story ul{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#home_story ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#home_story ul li:nth-child(2){ margin-top: 30px;}
#home_story ul li a{ display: block; transition: 0.3s;}
#home_story ul li a:hover{ opacity: 0.7;}
#home_story ul li figure{ margin-bottom: 20px;}
#home_story ul li figure img{ border-radius: 12px;}
#home_story ul li h4{ display: flex; flex-direction: column; margin-bottom: 5px; font-size: 1rem; line-height: 1.25em; color: #fff;}
#home_story ul li h4 span{ display: flex; align-items: center; justify-content: center; background: #fff; color: #009FB9; font-size: 0.8rem; padding: 0 1em; height: 30px; border-radius: 4px; margin: 0 auto 10px 0;}
#home_story ul li h5{ font-size: 0.8rem; color: #fff;}
@media screen and (max-width:767px){
#home_story{ margin-top: 20%; border-radius: 0 10vw 0 10vw; padding: 15% 0;}
#home_story h2{ flex-direction: column; align-items: flex-start; margin-bottom: 7.5%;}
#home_story h2 strong{ font-size: 1.5rem;}
#home_story h2 span{ font-size: 0.9rem; margin: 3.75% 0 0;}
#home_story ul{ display: block; width: 100%; margin: 0;}
#home_story ul li{ width: 90%; margin: 7.5% 0 0 auto;}
#home_story ul li:nth-child(2){ margin: 7.5% auto 0 0;}
#home_story ul li figure{ margin-bottom: 2.5%;}
#home_story ul li figure img{ width: 100%; border-radius: 1.25vw;}
#home_story ul li h4{ align-items: center; margin-bottom: 1.25%; font-size: 0.95rem; text-align: center;}
#home_story ul li h4 span{ font-size: 0.8rem; height: 6.25vw; border-radius: 1.25vw; margin: 0 auto 2.5%;}
#home_story ul li h5{ font-size: 0.8rem; text-align: center;}
}

/*recruit*/
#home_recruit{ margin-top: 120px; background: #009FB9; border-radius: 140px 0 140px 0; padding: 100px 0;}
#home_recruit h2{ display: flex; align-items: center; color: #fff; font-size: 1.5rem; margin-bottom: 20px;}
#home_recruit p{ font-size: 0.9rem; color: #fff; margin-bottom: 40px;}

#home_recruit ul{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#home_recruit ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#home_recruit ul li:nth-child(2){ margin-top: 25px;}
#home_recruit ul li:nth-child(3){ margin-top: 50px;}
#home_recruit ul li a{ display: block; transition: 0.3s;}
#home_recruit ul li a:hover{ opacity: 0.7;}
#home_recruit ul li figure{ margin-bottom: 15px;}
#home_recruit ul li figure img{ border-radius: 12px;}
#home_recruit ul li h4{ display: flex; flex-direction: column; margin-bottom: 10px; font-size: 1rem; color: #fff; position: relative;}
#home_recruit ul li h4 span.ico{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #fff; border-radius: 50%;}
#home_recruit ul li h4 span.ico svg{ fill: #009FB9; stroke: #009FB9; width: 6px; height: 12px;}
#home_recruit ul li h4 span.ico svg *{ fill: #009FB9; stroke: #009FB9;}
#home_recruit ul li p{ font-size: 0.8rem; text-align: justify; color: #fff; margin: 0;}

#home_recruit .qa_follow{ margin-top: 60px;}
#home_recruit .qa_follow a{ display: flex; flex-direction: column; background: #D4F1F5; padding: 30px 50px; border-radius: 16px; transition: 0.3s;}
#home_recruit .qa_follow a:hover{ opacity: 0.7;}
#home_recruit .qa_follow h4{ font-size: 1rem; color: #009FB9; margin-bottom: 15px; position: relative;}
#home_recruit .qa_follow h4 span.ico{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #009FB9; border-radius: 50%;}
#home_recruit .qa_follow h4 span.ico svg{ fill: #fff; stroke: #fff; width: 6px; height: 12px;}
#home_recruit .qa_follow h4 span.ico svg *{ fill: #fff; stroke: #fff;}
#home_recruit .qa_follow p{ font-size: 0.9rem; color: #333; margin: 0;}
@media screen and (max-width:767px){
#home_recruit{ margin-top: 20%; border-radius: 10vw 0 10vw 0; padding: 15% 0;}
#home_recruit h2{ flex-direction: column; align-items: flex-start; margin-bottom: 3.75%;}
#home_recruit p{ font-size: 0.8rem; margin-bottom: 7.5%;}

#home_recruit ul{ display: block; width: 100%; margin: 0;}
#home_recruit ul li{ width: 90%; margin: 7.5% auto 0 0;}
#home_recruit ul li:nth-child(2){ margin: 7.5% auto 0;}
#home_recruit ul li:nth-child(3){ margin: 7.5% 0 0 auto;}
#home_recruit ul li figure{ margin-bottom: 2.5%;}
#home_recruit ul li figure img{ width: 100%; border-radius: 1.25vw;}
#home_recruit ul li h4{ margin-bottom: 1.25%; font-size: 1rem;}
#home_recruit ul li h4 span.ico{ width: 6.25vw; height: 6.25vw;}
#home_recruit ul li h4 span.ico svg{ width: 1.5vw; height: 3vw;}
#home_recruit ul li p{ font-size: 0.8rem;}

#home_recruit .qa_follow{ margin-top: 10%;}
#home_recruit .qa_follow a{ padding: 5%; border-radius: 2.5vw;}
#home_recruit .qa_follow h4{ font-size: 1rem; margin-bottom: 2.5%;}
#home_recruit .qa_follow h4 span.ico{ width: 6.25vw; height: 6.25vw;}
#home_recruit .qa_follow h4 span.ico svg{ width: 1.5vw; height: 3vw;}
#home_recruit .qa_follow p{ font-size: 0.9rem; color: #333; margin: 0;}
}

/*job*/
#home_job{ margin-top: 120px;}
#home_job .maincontent{ padding-right: 460px; position: relative;}
#home_job h2{ font-size: 1.5rem; color: #009FB9; margin-bottom: 20px;}
#home_job p{ font-size: 0.9rem;}
#home_job .home_job_list{ margin-top: 40px;}
#home_job .home_job_list ul li{ padding: 40px 0; border-bottom: 2px solid #009FB9;}
#home_job .home_job_list ul li a{ display: flex; flex-direction: column; position: relative; transition: 0.3s;}
#home_job .home_job_list ul li a:hover{ opacity: 0.7;}
#home_job .home_job_list ul li h4{ font-size: 1.2rem; padding-left: 20px; border-left: 2px solid #009FB9; margin-bottom: 20px;}
#home_job .home_job_list ul li p{ font-size: 0.9rem; padding: 0 70px 0 20px; position: relative;}
#home_job .home_job_list ul li p span.ico{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #009FB9; border-radius: 50%;}
#home_job .home_job_list ul li p span.ico svg{ fill: #fff; stroke: #fff; width: 6px; height: 12px;}
#home_job .home_job_list ul li p span.ico svg *{ fill: #fff; stroke: #fff;}

#home_job .home_job_img figure.img01{ position: absolute; right: 80px; top: 0; width: 310px;}
#home_job .home_job_img figure.img02{ position: absolute; right: 0; bottom: 0; width: 310px;}
#home_job .home_job_img figure.img01 img,
#home_job .home_job_img figure.img02 img{ border-radius: 16px;}
@media screen and (max-width:767px){
#home_job{ margin-top: 20%;}
#home_job .maincontent{ padding: 0;}
#home_job h2{ font-size: 1.5rem; margin-bottom: 3.75%;}
#home_job p{ font-size: 0.8rem;}
#home_job .home_job_list{ margin-top: 5%;}
#home_job .home_job_list ul li{ padding: 5% 0;}
#home_job .home_job_list ul li h4{ font-size: 1rem; padding-left: 3.75vw; margin-bottom: 2.5%;}
#home_job .home_job_list ul li p{ font-size: 0.8rem; padding: 0 10vw 0 3.75vw;}
#home_job .home_job_list ul li p span.ico{ width: 6.25vw; height: 6.25vw;}
#home_job .home_job_list ul li p span.ico svg{ width: 1.5vw; height: 3vw;}

#home_job .home_job_img{ display: flex; justify-content: space-between; margin-top: 7.5%;}
#home_job .home_job_img figure.img01{ width: 47.5%; position: static;}
#home_job .home_job_img figure.img02{ width: 47.5%; position: static;}
}

/*benefit*/
#home_benefit{ margin-top: 120px;}
#home_benefit .maincontent{ padding-left: 460px; position: relative;}
#home_benefit h2{ font-size: 1.5rem; color: #009FB9; margin-bottom: 20px;}
#home_benefit p{ font-size: 0.9rem;}
#home_benefit .home_benefit_list{ margin-top: 40px;}
#home_benefit .home_benefit_list ul li{ padding: 40px 0; border-bottom: 2px solid #009FB9;}
#home_benefit .home_benefit_list ul li a{ display: flex; flex-direction: column; position: relative; transition: 0.3s;}
#home_benefit .home_benefit_list ul li a:hover{ opacity: 0.7;}
#home_benefit .home_benefit_list ul li h4{ font-size: 1.2rem; padding-left: 20px; border-left: 2px solid #009FB9; margin-bottom: 20px;}
#home_benefit .home_benefit_list ul li p{ font-size: 0.9rem; padding: 0 70px 0 20px; position: relative;}
#home_benefit .home_benefit_list ul li p span.ico{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #009FB9; border-radius: 50%;}
#home_benefit .home_benefit_list ul li p span.ico svg{ fill: #fff; stroke: #fff; width: 6px; height: 12px;}
#home_benefit .home_benefit_list ul li p span.ico svg *{ fill: #fff; stroke: #fff;}

#home_benefit .home_benefit_img figure.img01{ position: absolute; left: 100px; top: 0; width: 320px;}
#home_benefit .home_benefit_img figure.img02{ position: absolute; left: 0; bottom: 0; width: 320px;}
#home_benefit .home_benefit_img figure.img01 img,
#home_benefit .home_benefit_img figure.img02 img{ border-radius: 16px;}
@media screen and (max-width:767px){
#home_benefit{ margin-top: 20%;}
#home_benefit .maincontent{ padding: 0;}
#home_benefit h2{ font-size: 1.5rem; margin-bottom: 3.75%;}
#home_benefit p{ font-size: 0.8rem;}
#home_benefit .home_benefit_list{ margin-top: 5%;}
#home_benefit .home_benefit_list ul li{ padding: 5% 0;}
#home_benefit .home_benefit_list ul li h4{ font-size: 1rem; padding-left: 3.75vw; margin-bottom: 2.5%;}
#home_benefit .home_benefit_list ul li p{ font-size: 0.8rem; padding: 0 10vw 0 3.75vw;}
#home_benefit .home_benefit_list ul li p span.ico{ width: 6.25vw; height: 6.25vw;}
#home_benefit .home_benefit_list ul li p span.ico svg{ width: 1.5vw; height: 3vw;}

#home_benefit .home_benefit_img{ display: flex; justify-content: space-between; margin-top: 7.5%;}
#home_benefit .home_benefit_img figure.img01{ width: 47.5%; position: static;}
#home_benefit .home_benefit_img figure.img02{ width: 47.5%; position: static;}
}

/*award*/
#home_award{ margin-top: 120px; padding: 80px 0; background: url("../images/home/award_bg.jpg") center center no-repeat; background-size: cover; border-radius: 16px; overflow: hidden; position: relative; z-index: 1;}
#home_award:after{ content: ""; width: 100%; height: 100%; background: rgba(0,0,0,0.6); position: absolute; left: 0; top: 0; z-index: -1;}
#home_award h2{ display: flex; flex-direction: column; font-size: 1.5rem; margin-bottom: 15px; color: #fff;}
#home_award h2 span{ display: flex; align-items: center; justify-content: center; width: 160px; height: 32px; border: 2px solid #fff; font-size: 0.9rem; font-weight: 400; border-radius: 8px; margin-bottom: 0.5em;}
#home_award p{ font-size: 0.9rem; color: #fff;}
#home_award figure.btn2{ margin-top: 40px;}
#home_award figure.btn2 a{ margin: 0 0 0 auto; background: #009FB9; color: #fff; width: 280px;}
@media screen and (max-width:767px){
#home_award{ margin-top: 20%; padding: 15% 0; background: url("../images/home/award_bg_smp.jpg") center center no-repeat; background-size: cover; border-radius: 2.5vw;}
#home_award h2{ font-size: 1.5rem; margin-bottom: 2.5%;}
#home_award h2 span{ width: 33.33vw; height: 7.5vw; font-size: 0.9rem; border-radius: 1.25vw;}
#home_award p{ font-size: 0.8rem;}
#home_award figure.btn2{ margin-top: 7.5%;}
#home_award figure.btn2 a{ width: 50vw;}
}





/*pages*/
/*pagfe_tit*/
#page_tit h2{ display: flex; align-items: center; justify-content: flex-start; width: 1020px; font-size: 1.9rem; margin: 160px auto;}
@media screen and (max-width:767px){
#page_tit h2{ width: 92.5%; font-size: 1.5rem; margin: 20% auto;}
}

/*pankuzu*/
#pankuzu{ width: 1020px; margin: 60px auto;}
#pankuzu ul{ display: flex; font-size: 0.8rem; font-weight: bold;}
#pankuzu ul li:not(:first-child):before{ content: ">"; margin: 0 1em;}
#pankuzu ul li a:hover{ text-decoration: underline;}
@media screen and (max-width:767px){
#pankuzu{ width: 92.5%; margin: 10% auto;}
#pankuzu ul{ font-size: 0.8rem;}
}



/*requirements*/
#requirements h2{ font-size: 1.5rem; line-height: 2em; margin-bottom: 20px;}
#requirements p{ margin-bottom: 40px;}
#requirements .requirements_btn{ position: absolute; right: 0; top: 0; display: flex;}
#requirements .requirements_btn a{ display: flex; align-items: center; padding: 20px 60px 20px 30px; font-size: 1rem; letter-spacing: 0.1em; line-height: 1em; background: #0275C2; color: #fff; border-radius: 8px; position: relative;}
#requirements .requirements_btn a span{ line-height: 0; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
#requirements .requirements_btn a span img{ line-height: 0; height: 10px; filter: invert(100%) sepia(24%) saturate(345%) hue-rotate(58deg) brightness(114%) contrast(104%);}
@media screen and (max-width:767px){
#requirements h2{ font-size: 1.4rem; margin-bottom: 2.5%;}
#requirements p{ margin-bottom: 5%;}
#requirements .requirements_btn{ justify-content: flex-end; position: static; margin-bottom: 7.5%;}
#requirements .requirements_btn a{ font-size: 0.9rem; padding: 2.5vw 10vw 2.5vw 3.75vw; border-radius: 1.25vw;}
#requirements .requirements_btn a span{ right: 3.75vw;}
#requirements .requirements_btn a span img{ height: 2.5vw;}
}

#requirements table{ width: 100%; border-collapse: collapse; border-spacing: 0;}
#requirements table th{ vertical-align: middle; width: 200px; font-size: 0.9rem; line-height: 1.75em; padding: 20px 30px; background: #E4F6FA; border-bottom: 1px solid #D8D8D8;}
#requirements table td{ vertical-align: middle; font-size: 0.9rem; line-height: 1.75em; padding: 20px 30px; background: #fff; border-bottom: 1px solid #D8D8D8;}
#requirements table tr:last-child th,
#requirements table tr:last-child td{ border-bottom: none;}
#requirements table td p{ font-size: 0.9rem; line-height: 1.75em;}
#requirements table td h5{ font-weight: normal;}
#requirements table td h5:not(:first-child){ margin-top: 2em;}
#requirements table td dl{ display: flex; margin: 0.5em 1em;}
#requirements table td dl dt{ width: 3.25em;}
#requirements table td dl dd{ width: calc(100% - 3.25em);}
#requirements table td ul li{ padding-left: 1.25em; line-height: 1.75em; position: relative;}
#requirements table td ul li:before{ content: "＊"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#requirements table th{ display: block; width: 100%; padding: 1em; border: none;}
#requirements table td{ display: block; width: 100%; padding: 1em 1em 2em; border: none; font-size: 0.8rem;}
#requirements table td p{ font-size: 0.8rem;}
#requirements table td dl{ display: block; margin: 0.5em 1em;}
#requirements table td dl dt{ width: 100%; font-size: 0.7rem;}
#requirements table td dl dd{ width: 100%; font-size: 0.7rem;}
}



/*message*/
#message_lead h2{ font-size: 1.5rem; margin-bottom: 30px;}
#message_lead dl{ display: flex; justify-content: space-between;}
#message_lead dl dt{ width: 540px;}
#message_lead dl dd{ width: 440px;}
#message_lead dl dd img{ border-radius: 20px;}
#message_lead dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:767px){
#message_lead h2{ font-size: 1.4rem; margin-bottom: 5%;}
#message_lead dl{ display: block;}
#message_lead dl dt{ width: 100%; margin-bottom: 5%;}
#message_lead dl dd{ width: 100%;}
#message_lead dl dd img{ border-radius: 2.5vw;}
#message_lead dl dt p{ font-size: 0.8rem; line-height: 1.75em;}
}

#message_target{ margin-top: 120px;}
#message_target h2{ font-size: 1.5rem; margin-bottom: -50px;}
#message_target h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#message_target p{ font-size: 0.9rem; text-align: justify;}
#message_target .target_list{ margin: 30px auto;}
#message_target .target_list ul{ display: flex; width: calc(100% + 20px); margin: 0 0 0 -10px;}
#message_target .target_list ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc(33.33% - 20px); height: 326px; margin: 0 10px; background: #fff; border: 2px solid #009FB9; border-radius: 16px;}
#message_target .target_list ul li h4{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.95rem; line-height: 1.5em; height: 3em; margin-bottom: 20px;}
#message_target .target_list ul li figure img{ height: 150px;}
@media screen and (max-width:767px){
#message_target{ margin-top: 20%;}
#message_target h2{ font-size: 1.4rem; margin-bottom: -7.5%;}
#message_target h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#message_target p{ font-size: 0.8rem;}
#message_target .target_list{ margin: 5% auto;}
#message_target .target_list ul{ display: block; width: 100%; margin: auto;}
#message_target .target_list ul li{ width: 100%; height: auto; margin: 5% auto 0; padding: 5%; border-radius: 2.5vw;}
#message_target .target_list ul li h4{ font-size: 1.1rem; margin-bottom: 2.5%;}
#message_target .target_list ul li figure img{ height: 25vw;}
}

#message_growth{ margin-top: 120px;}
#message_growth h2{ font-size: 1.5rem; margin-bottom: 30px;}
#message_growth p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#message_growth{ margin-top: 20%;}
#message_growth h2{ font-size: 1.4rem; margin-bottom: 5%;}
#message_growth p{ font-size: 0.8rem;}
}
#message_growth .growth_table{ margin: 30px auto; font-size: 0.9rem; overflow: hidden;}
#message_growth .growth_table table{ width: 100%; border-collapse: collapse; border-spacing: 0; text-align: center; position: relative; z-index: 1;}
#message_growth .growth_table table:before{ content: ""; width: calc(100% - 200px); height: 100%; background: url("../images/message/growth_zu.png") center center no-repeat #fff; background-size: auto 70%; position: absolute; right: 0; top: 0; z-index: -1;}
#message_growth .growth_table table th{ background: #E4F6FA; width: 200px; padding: 1em; font-size: 0.9rem; line-height: 1.5em; position: relative;}
#message_growth .growth_table table th:after{ content: ""; width: 1020px; height: 1px; background: #D8D8D8; position: absolute; left: 0; bottom: 0;}
#message_growth .growth_table table td{ width: 380px; padding: 1em; font-size: 0.9rem; line-height: 1.5em;}
#message_growth .growth_table table td:nth-child(3){ width: 60px;}
#message_growth .growth_table table tr td:nth-child(2){ padding-left: 120px;}
#message_growth .growth_table table tr td:nth-child(4){ padding-right: 120px;}
#message_growth .growth_table table tr:last-child th,
#message_growth .growth_table table tr:last-child td{ border-bottom: none;}
#message_growth .growth_table table tr:nth-child(1) td{ width: calc(100% - 200px); padding: 1em;}
@media screen and (max-width:767px){
#message_growth .growth_table{ margin: 5% auto; font-size: 0.9rem;}
#message_growth .growth_table table:before{ width: 85%; background: url("../images/message/growth_zu_smp.png") center center no-repeat #fff; background-size: auto 70%;}
#message_growth .growth_table table th{ width: 15%; padding: 1em 0; font-size: 0.9rem;}
#message_growth .growth_table table th:after{ width: 92.5vw;}
#message_growth .growth_table table td{ width: 40%; font-size: 0.9rem;}
#message_growth .growth_table table td:nth-child(3){ width: 5%; padding: 1em 0;}
#message_growth .growth_table table tr td:nth-child(2){ padding: 1em 0;}
#message_growth .growth_table table tr td:nth-child(4){ padding: 1em 0;}
#message_growth .growth_table table tr:nth-child(1) td{ width: calc(100% - 4em);}
}

#message_last{ margin-top: 120px;}
#message_last h2{ font-size: 1.5rem; margin-bottom: 30px;}
#message_last dl{ display: flex; justify-content: space-between;}
#message_last dl dt{ width: 540px;}
#message_last dl dd{ width: 440px;}
#message_last dl dd img{ border-radius: 20px;}
#message_last dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:767px){
#message_last{ margin-top: 20%;}
#message_last h2{ font-size: 1.4rem; margin-bottom: 5%;}
#message_last dl{ display: block;}
#message_last dl dt{ width: 100%; margin-bottom: 5%;}
#message_last dl dd{ width: 100%;}
#message_last dl dd img{ border-radius: 2.5vw;}
#message_last dl dt p{ font-size: 0.8rem; line-height: 1.75em;}
}



/*form*/
#form h3{ font-size: 1.2rem; color: #009FB9; margin-bottom: 10px;}
#form p.lead{ font-size: 0.9rem;}
#form .form_btn{ position: absolute; right: 0; top: 0; display: flex;}
#form .form_btn a{ display: flex; align-items: center; padding: 20px 60px 20px 30px; font-size: 1rem; letter-spacing: 0.1em; line-height: 1em; background: #0275C2; color: #fff; border-radius: 8px; position: relative;}
#form .form_btn a span{ line-height: 0; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);}
#form .form_btn a span img{ line-height: 0; height: 10px; filter: invert(100%) sepia(24%) saturate(345%) hue-rotate(58deg) brightness(114%) contrast(104%);}
@media screen and (max-width:767px){
#form h3{ font-size: 1.2rem; margin-bottom: 1.25%;}
#form p.lead{ font-size: 0.9rem; margin-bottom: 5%;}
#form .form_btn{ justify-content: flex-end; position: static; margin-bottom: 7.5%;}
#form .form_btn a{ font-size: 0.9rem; padding: 2.5vw 10vw 2.5vw 3.75vw; border-radius: 1.25vw;}
#form .form_btn a span{ right: 3.75vw;}
#form .form_btn a span img{ height: 2.5vw;}
}

/*form-parts*/
form ::placeholder{ color: #9B9B9B; line-height: 1.5em;}
form ::-ms-input-placeholder{ color: #9B9B9B; line-height: 1.5em;}
form input[type=submit], form button{ -webkit-appearance: none;}
form input, form textarea, form select, form button{ width:100%; padding: 0.5em 1.5em; font-size: 1rem; line-height: 1.5em; box-sizing: border-box; outline: none; border: 1px solid #66C5D5; border-radius: 4px; background: #fff; color: #392D1F; font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif; font-weight: 500;}
form textarea{ text-align: left; height: 10em;}
form input[type=radio],
form input[type=checkbox]{ width: auto; padding: 0; margin: 0 0.25em 0 0;}
form label{ cursor: pointer;}
@media screen and (max-width:768px){
form input, #form textarea, #form select, #form button{ padding: 0.5em; letter-spacing: 0;}
form textarea{ height: 7.5em;}
}

#form table{ width: 100%; border-collapse: separate; border-spacing: 0 40px; margin: 0 0 20px;}
#form table th{ width: 320px; vertical-align: top; font-size: 0.9rem; line-height: 1.75em; padding: 0.5em 0;}
#form table th span{ float: right; display: flex; align-items: center; justify-content: center; background: #009FB9; color: #fff; font-size: 0.75rem; line-height: 1em; padding: 0.25em 0.75em; border-radius: 4px;}
#form table td{ vertical-align: top; font-size: 0.9rem; line-height: 1.75em; padding-left: 80px;}
#form table td ul.radio{ display: flex;}
#form table td ul.radio li:not(:last-child){ margin-right: 1.5em;}
#form table td ul.radio li input[type="radio"]{ accent-color: #009FB9; inline-size: 1rem; block-size: 1rem;}
#form p.pv_chekc_txt{ text-align: center; font-size: 0.9rem;}
#form p.pv_chekc_txt a{ color: #009FB9; text-decoration: underline;}
#form p.pv_chekc_txt a:hover{ text-decoration: none;}
#form #submit_btn{ margin-top: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#form #submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; background: #0275C2; color: #fff; font-size: 1rem; border-radius: 8px; transition: 0.3s; cursor: pointer;}
#form #submit_btn button:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
#form table{ border-collapse: collapse; border-spacing: 0; margin: 7.5% auto 0;}
#form table th{ display: block; width: 100%; font-size: 0.9rem; padding: 0;}
#form table th span{ font-size: 0.75rem;}
#form table td{ display: block; width: 100%; font-size: 0.9rem; padding: 1em 1em 2em;}
#form p.pv_chekc_txt{ font-size: 0.75rem;}
#form #submit_btn{ margin-top: 10%;}
#form #submit_btn button{ width: 60vw; height: 12.5vw; border-radius: 1.25vw;}
}



/*about*/
#about_lead dl{ display: flex; justify-content: space-between;}
#about_lead dl dt{ width: 540px;}
#about_lead dl dd{ width: 440px;}
#about_lead dl dd img{ border-radius: 20px;}
#about_lead dl dt h2{ font-size: 1.5rem; margin-bottom: 30px;}
#about_lead dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:767px){
#about_lead dl{ display: block;}
#about_lead dl dt{ width: 100%; margin-bottom: 5%;}
#about_lead dl dd{ width: 100%;}
#about_lead dl dd img{ border-radius: 2.5vw;}
#about_lead dl dt h2{ font-size: 1.4rem; margin-bottom: 5%;}
#about_lead dl dt p{ font-size: 0.8rem; line-height: 1.75em;}
}

#about_date{ margin-top: 80px;}
#about_date ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
#about_date ul li{ display: flex; flex-direction: column; align-items: center; padding: 30px 25px; width: calc(33.33% - 20px); height: 326px; margin: 10px; background: #fff; border: 2px solid #009FB9; border-radius: 16px;}
#about_date ul li h3{ text-align: center; font-size: 0.95rem;}
#about_date ul li figure{ margin: 10px auto;}
#about_date ul li figure img{ height: 140px;}
#about_date ul li p{ font-size: 0.7rem; text-align: justify; margin-top: 0.5em;}

#about_date ul li.w2{ width: calc(66.66% - 20px);}
#about_date ul li.w2 p{ margin-top: 2em;}
#about_date ul li.w3{ width: calc(100% - 20px); height: auto; padding: 30px 25px 50px;}
#about_date ul li.w3 .date_zu{ display: flex; width: 100%; margin: 10px 0 0; position: relative;}
#about_date ul li.w3 .date_zu figure{ width: calc(50% - 50px); height: auto; margin: 0 25px;}
#about_date ul li.w3 .date_zu figure img{ height: auto;}
#about_date ul li.w3 p{ position: absolute; left: calc(50% + 25px); bottom: -1em; font-size: 0.7rem; line-height: 1.5em;}
@media screen and (max-width:767px){
#about_date{ margin-top: 15%;}
#about_date ul{ display: block; width: 100%; margin: 0 auto;}
#about_date ul li{ padding: 3.75%; width: 100%; height: auto; margin: 5% auto 0; border-radius: 2.5vw;}
#about_date ul li h3{ font-size: 1rem;}
#about_date ul li figure{ margin: 2.5% auto 0;}
#about_date ul li figure img{ height: 25vw;}
#about_date ul li p{ font-size: 0.8rem; margin-top: 1em;}

#about_date ul li.w2{ width: 100%;}
#about_date ul li.w2 p{ margin-top: 1em;}
#about_date ul li.w3{ width: 100%; padding: 3.75% 3.75% 3.75%;}
#about_date ul li.w3 .date_zu{ display: block; margin: 2.5%;}
#about_date ul li.w3 .date_zu figure{ width: 100%; margin: 3.75% auto 0;}
#about_date ul li.w3 .date_zu figure img{ height: auto;}
#about_date ul li.w3 p{ position: static; font-size: 0.8rem; line-height: 1.75em;}
}

#about_vision{ margin-top: 120px;}
#about_vision h2{ font-size: 1.5rem; margin-bottom: 40px;}
#about_vision .vision_list ul{ display: flex; justify-content: space-between;}
#about_vision .vision_list ul li{ width: 490px;}
#about_vision .vision_list ul li h3{ display: flex; flex-direction: column; justify-content: center; width: 100%; height: 120px; padding: 30px; background: #009FB9; color: #fff; border-radius: 12px; position: relative; z-index: 1; overflow: hidden;}
/*
#about_vision .vision_list ul li h3:after{ content: ""; width: 100%; height: 100%; background: rgba(0,0,0,0.5); position: absolute; left: 0; top: 0; z-index: -1;}
#about_vision .vision_list ul li.vision h3{ background: url("../images/about/vision_bg.jpg") center center; background-size: cover;}
#about_vision .vision_list ul li.mission h3{ background: url("../images/about/mission_bg.jpg") center center; background-size: cover;}
*/
#about_vision .vision_list ul li h3 strong{ font-size: 1.3rem; line-height: 1.5em;}
#about_vision .vision_list ul li h3 span{ font-size: 1rem; line-height: 1.5em;}
#about_vision .vision_list ul li p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#about_vision{ margin-top: 20%;}
#about_vision h2{ font-size: 1.4rem; margin-bottom: 5%;}
#about_vision .vision_list ul{ display: block;}
#about_vision .vision_list ul li{ width: 100%; margin-top: 7.5%;}
#about_vision .vision_list ul li h3{ height: 25vw; padding: 3.75%; border-radius: 2.5vw;}
#about_vision .vision_list ul li h3 strong{ font-size: 1.2rem;}
#about_vision .vision_list ul li h3 span{ font-size: 0.9rem;}
#about_vision .vision_list ul li p{ font-size: 0.8rem;}
}

#about_vision .element{ margin-top: 80px;}
#about_vision .element h3{ font-size: 1.2rem; color: #009FB9; margin-bottom: 30px;}
#about_vision .element ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#about_vision .element ul li{ width: calc(50% - 30px); margin: 15px; padding: 30px; background: #fff; border: 2px solid #009FB9; border-radius: 16px;}
#about_vision .element ul li h4{ font-size: 0.95rem; margin-bottom: 10px;}
#about_vision .element ul li dl{ display: flex; align-items: center; justify-content: space-between;}
#about_vision .element ul li dl dt{ width: calc(100% - 135px);}
#about_vision .element ul li dl dd{ width: 120px;}
#about_vision .element ul li dl dt p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:767px){
#about_vision .element{ margin-top: 15%;}
#about_vision .element h3{ font-size: 1.2rem; margin-bottom: 5%;}
#about_vision .element ul{ display: block; width: 100%; margin: 0;}
#about_vision .element ul li{ width: 100%; margin: 5% auto 0; padding: 3.75%; border-radius: 2.5vw;}
#about_vision .element ul li h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#about_vision .element ul li dl dt{ width: 72.5%;}
#about_vision .element ul li dl dd{ width: 25%;}
#about_vision .element ul li dl dt p{ font-size: 0.7rem;}
}

#about_point{ margin-top: 120px;}
#about_point h2{ font-size: 1.5rem; margin-bottom: 30px;}
#about_point ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#about_point ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#about_point ul li figure{ margin-bottom: 20px;}
#about_point ul li figure img{ border-radius: 12px;}
#about_point ul li h3{ font-size: 0.9rem; margin-bottom: 0.25em;}
#about_point ul li p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#about_point{ margin-top: 20%;}
#about_point h2{ font-size: 1.4rem; margin-bottom: 5%;}
#about_point ul{ display: block; width: 100%; margin: 0;}
#about_point ul li{ width: 100%; margin: 7.5% auto 0;}
#about_point ul li figure{ margin-bottom: 2.5%;}
#about_point ul li figure img{ border-radius: 2.5vw;}
#about_point ul li h3{ font-size: 0.9rem;}
#about_point ul li p{ font-size: 0.8rem;}
}

#about_point2{ margin-top: 120px;}
#about_point2 h2{ font-size: 1.5rem; margin-bottom: 30px;}
#about_point2 dl{ display: flex; flex-direction: row-reverse; justify-content: space-between;}
#about_point2 dl dt{ width: 540px;}
#about_point2 dl dd{ width: 440px;}
#about_point2 dl dd img{ border-radius: 20px;}
#about_point2 dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:767px){
#about_point2{ margin-top: 20%;}
#about_point2 h2{ font-size: 1.4rem; margin-bottom: 5%;}
#about_point2 dl{ display: block;}
#about_point2 dl dt{ width: 100%; margin-bottom: 5%;}
#about_point2 dl dd{ width: 100%;}
#about_point2 dl dd img{ border-radius: 2.5vw;}
#about_point2 dl dt p{ font-size: 0.8rem; line-height: 1.75em;}
}



/*about*/
#job_lead dl{ display: flex; justify-content: space-between;}
#job_lead dl dt{ width: 540px;}
#job_lead dl dd{ width: 440px;}
#job_lead dl dd img{ border-radius: 20px;}
#job_lead dl dt h2{ font-size: 1.5rem; margin-bottom: 30px;}
#job_lead dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 2em;}
@media screen and (max-width:767px){
#job_lead dl{ display: block;}
#job_lead dl dt{ width: 100%; margin-bottom: 5%;}
#job_lead dl dd{ width: 100%;}
#job_lead dl dd img{ border-radius: 2.5vw;}
#job_lead dl dt h2{ font-size: 1.4rem; margin-bottom: 5%;}
#job_lead dl dt p{ font-size: 0.8rem; line-height: 1.75em;}
}

#job_feature{ margin-top: 120px;}
#job_feature h2{ font-size: 1.5rem; margin-bottom: 30px;}
#job_feature ul{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#job_feature ul li{ width: calc(50% - 30px); margin: 0 15px;}
#job_feature ul li h3{ font-size: 1.2rem; margin-bottom: 20px;}
#job_feature ul li figure img{ border-radius: 12px; margin-bottom: 20px;}
#job_feature ul li p{ font-size: 0.9rem; line-height: 2em; text-align: justify;}
@media screen and (max-width:767px){
#job_feature{ margin-top: 20%;}
#job_feature h2{ font-size: 1.4rem; margin-bottom: 5%;}
#job_feature ul{ display: block; width: 100%; margin: 0;}
#job_feature ul li{ width: 100%; margin: 7.5% auto 0;}
#job_feature ul li h3{ font-size: 1.1rem; margin-bottom: 2.5%;}
#job_feature ul li figure img{ border-radius: 2.5vw; margin-bottom: 2.5%;}
#job_feature ul li p{ font-size: 0.8rem; line-height: 1.75em;}
}

#job_nursing_home{ margin-top: 120px;}
#job_nursing_home h2{ font-size: 1.5rem; margin-bottom: 15px;}
#job_nursing_home p{ font-size: 0.9rem;}
#job_nursing_home .nursing_home_list{ margin-top: 30px;}
#job_nursing_home .nursing_home_list ul{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#job_nursing_home .nursing_home_list ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#job_nursing_home .nursing_home_list ul li figure{ margin-bottom: 20px;}
#job_nursing_home .nursing_home_list ul li figure img{ border-radius: 12px;}
#job_nursing_home .nursing_home_list ul li h3{ font-size: 0.9rem;}
#job_nursing_home .nursing_home_list ul li p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#job_nursing_home{ margin-top: 20%;}
#job_nursing_home h2{ font-size: 1.4rem; margin-bottom: 2.5%;}
#job_nursing_home p{ font-size: 0.8rem;}
#job_nursing_home .nursing_home_list{ margin-top: 0;}
#job_nursing_home .nursing_home_list ul{ display: block; width: 100%; margin: 0;}
#job_nursing_home .nursing_home_list ul li{ width: 100%; margin: 7.5% auto 0;}
#job_nursing_home .nursing_home_list ul li figure{ margin-bottom: 2.5%;}
#job_nursing_home .nursing_home_list ul li figure img{ border-radius: 2.5vw;}
#job_nursing_home .nursing_home_list ul li h3{ font-size: 1rem;}
#job_nursing_home .nursing_home_list ul li p{ font-size: 0.8rem;}
}

#job_nursing_home .map{ margin-top: 80px;}
#job_nursing_home .map figure.map_img{ width: 840px; margin: 40px auto;}
#job_nursing_home .map .map_area{ display: flex; justify-content: space-between; margin-top: 40px;}
#job_nursing_home .map .map_area .map_area_in h4{ margin-bottom: 20px;}
#job_nursing_home .map .map_area .map_area_in h4 span{ display: block; font-size: 0.85rem; line-height: 1em; font-weight: 500;}
#job_nursing_home .map .map_area .map_area_in h4 span span{ display: inline; color: #009FB9;}
#job_nursing_home .map .map_area .map_area_in h4 strong{ display: block; font-size: 1.4rem; line-height: 1.5em;}
#job_nursing_home .map .map_area .map_area_in ul li{ padding-left: 28px; margin: 15px 0; font-size: 0.9rem; line-height: 1.25em; position: relative;}
#job_nursing_home .map .map_area .map_area_in ul li:before{ content: ""; width: 10px; height: 10px; border: 5px solid #0275C2; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#job_nursing_home .map .map_area .map_area_in ul li a{ transition: 0.3s;}
#job_nursing_home .map .map_area .map_area_in ul li a:hover{ color: #0275C2;}
@media screen and (max-width:767px){
#job_nursing_home .map{ margin-top: 15%;}
#job_nursing_home .map figure.map_img{ width: 100%; margin: 5% auto;}
#job_nursing_home .map .map_area{ display: block; margin-top: -7.5%;}
#job_nursing_home .map .map_area .map_area_in{ margin-top: 7.5%;}
#job_nursing_home .map .map_area .map_area_in h4{ margin-bottom: 2.5%;}
#job_nursing_home .map .map_area .map_area_in h4 span{ font-size: 0.8rem;}
#job_nursing_home .map .map_area .map_area_in h4 strong{ font-size: 1.4rem;}
#job_nursing_home .map .map_area .map_area_in ul li{ padding-left: 6.25vw; margin: 2.5% 0; font-size: 0.9rem;}
#job_nursing_home .map .map_area .map_area_in ul li:before{ width: 2.5vw; height: 2.5vw; border: 1.25vw solid #0275C2;}
}



/*job2*/
#job2_lead dl{ display: flex; justify-content: space-between;}
#job2_lead dl dt{ width: 540px;}
#job2_lead dl dd{ width: 440px;}
#job2_lead dl dd img{ border-radius: 20px;}
#job2_lead dl dt h2{ font-size: 1.5rem; margin-bottom: 30px;}
#job2_lead dl dt p{ text-align: justify; font-size: 0.9rem; line-height: 2em;}
#job2_lead  dl dt ul{ margin: 1.5em auto;}
#job2_lead  dl dt ul li{ padding-left: 20px; font-size: 0.9rem; line-height: 2em; position: relative;}
#job2_lead  dl dt ul li:before{ content: ""; width: 12px; height: 12px; background: #009FB9; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border-radius: 50%;}
@media screen and (max-width:767px){
#job2_lead dl{ display: block;}
#job2_lead dl dt{ width: 100%; margin-bottom: 5%;}
#job2_lead dl dd{ width: 100%;}
#job2_lead dl dd img{ border-radius: 2.5vw;}
#job2_lead dl dt h2{ font-size: 1.4rem; margin-bottom: 5%;}
#job2_lead dl dt p{ font-size: 0.8rem; line-height: 1.75em;}
#job2_lead  dl dt ul li{ padding-left: 3.75vw; font-size: 0.8rem; line-height: 1.75em;}
#job2_lead  dl dt ul li:before{ width: 2.5vw; height: 2.5vw;}
}

#job2_nav{ margin: 140px auto 80px;}
#job2_nav ul{ display: flex; align-items: center; justify-content: center; margin: auto;}
#job2_nav ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#job2_nav ul li a{ display: flex; align-items: center; justify-content: center; width: 100%; height: 70px; background: #009FB9; color: #fff; font-size: 1.2rem; font-weight: bold; border-radius: 8px; position: relative; z-index: 1; transition: 0.3s;}
#job2_nav ul li a:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: #009fb9 transparent transparent transparent; border-width: 30px 25px 0px 25px; position: absolute; left: 0; right: 0; bottom: -10px; margin: auto; z-index: -1;}
#job2_nav ul li a:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
#job2_nav{ margin: 15% auto 10%;}
#job2_nav ul{ width: calc(100% + 1.25vw); margin-left: -0.625vw;}
#job2_nav ul li{ width: calc(33.33% - 1.25vw); margin: 0 0.625vw;}
#job2_nav ul li a{ height: 10vw; font-size: 0.7rem;}
#job2_nav ul li a:after{ border-width: 5vw 4vw 0px 4vw; bottom: -1.875vw;}
}

.job2_sec{ margin-bottom: 160px;}
.job2_sec#job2_sec03{ margin-bottom: 0;}
.job2_sec h2{ font-size: 1.5rem; margin-bottom: 60px;}
.job2_sec .work h3{ font-size: 1.2rem; color: #009FB9; margin-bottom: 40px;}
.job2_sec .work dl{ display: flex; justify-content: space-between;}
.job2_sec .work dl dt{ width: calc(100% - 480px);}
.job2_sec .work dl dd{ width: 440px;}
.job2_sec .work dl dt p{ font-size: 0.9rem;}
.job2_sec .work dl dd figure img{ border-radius: 20px;}
.job2_sec .schedule{ margin-top: 60px;}
.job2_sec .schedule h3{ text-align: center; font-size: 1.75rem; margin-bottom: 40px;}
.job2_sec .schedule dl{ display: flex; flex-direction: row-reverse; justify-content: space-between;}
.job2_sec .schedule dl dt{ width: calc(100% - 480px);}
.job2_sec .schedule dl dd{ width: 440px;}
.job2_sec .schedule dl dt p{ font-size: 0.9rem;}
.job2_sec .schedule dl dd figure img{ border-radius: 20px;}
.job2_sec .schedule ul{ padding-left: 40px; position: relative;}
.job2_sec .schedule ul:before{ content: ""; width: 6px; height: calc(100% - 40px); background: #009FB9; position: absolute; left: 10px; top: 10px;}
.job2_sec .schedule ul li{ position: relative; padding-left: 80px; margin-bottom: 20px;}
.job2_sec .schedule ul li:last-child{ margin-bottom: 0;}
.job2_sec .schedule ul li:before{ content: ""; width: 26px; height: 26px; background: #009FB9; position: absolute; left: -40px; top: 5px; border-radius: 50%;}
.job2_sec .schedule ul li strong{ font-size: 1.3rem; color: #009FB9; position: absolute; left: 0; top: -0.1em;}
.job2_sec .schedule ul li p{ font-size: 0.9rem; line-height: 2em; font-weight: bold; letter-spacing: -0.05em;}
.job2_sec .schedule ul li p span{ display: block; font-size: 0.75rem; font-weight: normal;}
@media screen and (max-width:767px){
.job2_sec{ margin-bottom: 20%;}
.job2_sec h2{ font-size: 1.5rem; margin-bottom: 5%;}
.job2_sec .work h3{ font-size: 1.2rem; margin-bottom: 5%;}
.job2_sec .work dl{ display: block;}
.job2_sec .work dl dt{ width: 100%; margin-bottom: 5%;}
.job2_sec .work dl dd{ width: 100%;}
.job2_sec .work dl dt p{ font-size: 0.8rem;}
.job2_sec .work dl dd figure img{ border-radius: 2.5vw;}
.job2_sec .schedule{ margin-top: 10%;}
.job2_sec .schedule h3{ font-size: 1.5rem; margin-bottom: 5%;}
.job2_sec .schedule dl{ display: block;}
.job2_sec .schedule dl dt{ width: 100%; margin-bottom: 5%;}
.job2_sec .schedule dl dd{ width: 100%;}
.job2_sec .schedule dl dt p{ font-size: 0.8rem;}
.job2_sec .schedule dl dd figure img{ border-radius: 2.5vw;}
.job2_sec .schedule ul{ padding-left: 5vw;}
.job2_sec .schedule ul:before{ width: 1.25vw; height: calc(100% - 7.5vw); left: 0; top: 1.25vw;}
.job2_sec .schedule ul li{ padding-left: 12.5vw; margin-bottom: 5%;}
.job2_sec .schedule ul li:before{ width: 5vw; height: 5vw; left: -6.875vw; top: 0;}
.job2_sec .schedule ul li strong{ font-size: 0.9rem; top: 0;}
.job2_sec .schedule ul li p{ font-size: 0.75rem;}
.job2_sec .schedule ul li p span{ font-size: 0.6rem;}
}



/*benefit*/
#benefit_lead p{ text-align: center; font-size: 1.1rem; font-weight: bold;}
@media screen and (max-width:767px){
#benefit_lead p{ text-align: justify; font-size: 1rem;}
}

#benefit01{ margin-top: 80px;}
#benefit01 h2{ font-size: 1.5rem; margin-bottom: -50px;}
#benefit01 h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#benefit01 p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#benefit01{ margin-top: 15%;}
#benefit01 h2{ font-size: 1.4rem; margin-bottom: -7.5%;}
#benefit01 h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#benefit01 p{ font-size: 0.8rem;}
}

#benefit01 .support_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
#benefit01 .support_list ul li{ display: flex; flex-direction: column; width: calc(33.33% - 20px); margin: 10px; background: #fff; border: 2px solid #009FB9; border-radius: 16px; padding: 30px 25px;}
#benefit01 .support_list ul li h4{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; height: 2.4em; font-size: 1rem; letter-spacing: 0;}
#benefit01 .support_list ul li h4 span{ display: block; font-size: 0.6rem; letter-spacing: 0; line-height: 1em; margin-top: 0.5em;}
#benefit01 .support_list ul li figure{ margin: 10px auto;}
#benefit01 .support_list ul li figure img{ width: 160px;}
#benefit01 .support_list ul li p{ font-size: 0.7rem; text-align: justify;}
#benefit01 .support_list ul li p.att{ font-size: 0.6rem; text-align: right;}
@media screen and (max-width:767px){
#benefit01 .support_list ul{ display:block; width: 100%; margin: 0;}
#benefit01 .support_list ul li{ width: 100%; margin: 5% auto 0; border-radius: 2.5vw; padding: 5% 3.75%;}
#benefit01 .support_list ul li h4{ height: auto; font-size: 1.2rem;}
#benefit01 .support_list ul li h4 span{ font-size: 0.7rem;}
#benefit01 .support_list ul li figure{ margin: 1.25% auto;}
#benefit01 .support_list ul li figure img{ width: 33.33%;}
#benefit01 .support_list ul li p{ font-size: 0.7rem;}
#benefit01 .support_list ul li p.att{ font-size: 0.6rem;}
}

#benefit01 dl{ display: flex;justify-content: space-between; margin: 40px auto 0;}
#benefit01 dl dt{ width: 580px;}
#benefit01 dl dd{ width: 380px;}
#benefit01 dl dd img{ border-radius: 16px;}
#benefit01 dl dt h5{ font-size: 1.2rem; padding-left: 16px; border-left: 3px solid #009FB9; margin: 30px auto 20px;}
#benefit01 dl dt h5:first-child{ margin-top: 0;}
#benefit01 dl dt p{ font-size: 0.9rem; font-weight: bold;}
@media screen and (max-width:767px){
#benefit01 dl{ display: block; margin: 7.5% auto 0;}
#benefit01 dl dt{ width: 100%; margin-bottom: 5%;}
#benefit01 dl dd{ width: 100%;}
#benefit01 dl dd img{ border-radius: 2.5vw;}
#benefit01 dl dt h5{ font-size: 1rem; padding-left: 2.5vw; margin: 5% auto 3.75%;}
#benefit01 dl dt p{ font-size: 0.8rem;}
}

#benefit02{ margin-top: 120px;}
#benefit02 h2{ font-size: 1.5rem; margin-bottom: 30px;}
#benefit02 h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#benefit02 p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#benefit02{ margin-top: 15%;}
#benefit02 h2{ font-size: 1.4rem; margin-bottom: 5%;}
#benefit02 h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#benefit02 p{ font-size: 0.8rem;}
}

#benefit02 .benefit_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#benefit02 .benefit_list ul li{ width: calc(50% - 30px); margin: 15px; padding: 30px; background: #fff; border: 2px solid #009FB9; border-radius: 16px;}
#benefit02 .benefit_list ul li h4{ font-size: 0.95rem; margin-bottom: 10px;}
#benefit02 .benefit_list ul li dl{ display: flex; align-items: center; justify-content: space-between;}
#benefit02 .benefit_list ul li dl dt{ width: calc(100% - 135px);}
#benefit02 .benefit_list ul li dl dd{ width: 120px;}
#benefit02 .benefit_list ul li dl dt p{ font-size: 0.8rem; text-align: justify;}
@media screen and (max-width:767px){
#benefit02 .benefit_list ul{ display: block; width: 100%; margin: 0;}
#benefit02 .benefit_list ul li{ width: 100%; margin: 5% auto 0; padding: 3.75%; border-radius: 2.5vw;}
#benefit02 .benefit_list ul li h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#benefit02 .benefit_list ul li dl dt{ width: 72.5%;}
#benefit02 .benefit_list ul li dl dd{ width: 25%;}
#benefit02 .benefit_list ul li dl dt p{ font-size: 0.7rem;}
}

#benefit02 .award{ margin-top: 60px;}
#benefit02 .award dl{ display: flex; justify-content: space-between;}
#benefit02 .award dl dt{ width: 580px;}
#benefit02 .award dl dd{ width: 380px;}
#benefit02 .award dl dd img{ border-radius: 16px;}
#benefit02 .award dl dt h5{ font-size: 1.2rem; padding-left: 16px; border-left: 3px solid #009FB9; margin: 0 auto 20px;}
#benefit02 .award dl dt h6{ font-size: 0.9rem; margin: 20px 0 10px 16px;}
#benefit02 .award dl dt ul{ font-size: 0.8rem; line-height: 1.75em; margin-left: 16px;}
#benefit02 .award dl dt ul li{ padding-left: 1em; text-align: justify; position: relative;}
#benefit02 .award dl dt ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#benefit02 .award{ margin-top: 10%;}
#benefit02 .award dl{ display: block;}
#benefit02 .award dl dt{ width: 100%; margin-bottom: 5%}
#benefit02 .award dl dd{ width: 100%;}
#benefit02 .award dl dd img{ border-radius: 2.5vw;}
#benefit02 .award dl dt h5{ font-size: 1rem; padding-left: 2.5vw; margin: 0 auto 3.75%;}
#benefit02 .award dl dt h6{ font-size: 0.8rem; margin: 3.75% 0 1.25% 2.5vw;}
#benefit02 .award dl dt ul{ font-size: 0.8rem; margin-left: 2.5vw;}
}



/*training*/
#training h2{ font-size: 1.5rem; margin-bottom: 30px;}
#training h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#training p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#training h2{ font-size: 1.4rem; margin-bottom: 5%;}
#training h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#training p{ font-size: 0.8rem;}
}

#training .training01 ul{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#training .training01 ul li{ width: calc(33.33% - 30px); margin: 0 15px;}
#training .training01 ul li figure{ margin: 0 0 20px;}
#training .training01 ul li figure img{ border-radius: 12px;}
#training .training01 ul li h4{ font-size: 0.9rem; margin-bottom: 15px;}
#training .training01 ul li p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#training .training01 ul{ display: block; width: 100%; margin: 0 auto;}
#training .training01 ul li{ width: 100%; margin: 7.5% auto 0;;}
#training .training01 ul li figure{ margin: 0 0 3.75%;}
#training .training01 ul li figure img{ border-radius: 2.5vw;}
#training .training01 ul li h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#training .training01 ul li p{ font-size: 0.8rem;}
}

#training .training02{ margin-top: 80px;}
#training .training02 ul{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#training .training02 ul li{ width: calc(50% - 30px); margin: 0 15px;}
#training .training02 ul li figure{ margin: 0 0 20px;}
#training .training02 ul li figure img{ border-radius: 12px;}
#training .training02 ul li h4{ font-size: 0.9rem; margin-bottom: 15px;}
#training .training02 ul li p{ font-size: 0.9rem; text-align: justify;}
@media screen and (max-width:767px){
#training .training02{ margin-top: 15%;}
#training .training02 ul{ display: block; width: 100%; margin: 0 auto;}
#training .training02 ul li{ width: 100%; margin: 7.5% auto 0;;}
#training .training02 ul li figure{ margin: 0 0 3.75%;}
#training .training02 ul li figure img{ border-radius: 2.5vw;}
#training .training02 ul li h4{ font-size: 0.9rem; margin-bottom: 2.5%;}
#training .training02 ul li p{ font-size: 0.8rem;}
}



/*carrier*/
#carrier01 h2{ font-size: 1.5rem; margin-bottom: 30px;}
#carrier01 h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#carrier01 p{ font-size: 0.9rem; text-align: justify;}
#carrier01 figure.zu{ margin-top: 30px;}
@media screen and (max-width:767px){
#carrier01 h2{ font-size: 1.4rem; margin-bottom: 5%;}
#carrier01 h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#carrier01 p{ font-size: 0.8rem;}
#carrier01 figure.zu{ margin-top: 5%;}
}

#carrier02{ margin-top: 120px;}
#carrier02 h2{ font-size: 1.5rem; margin-bottom: 30px;}
#carrier02 h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#carrier02 p{ font-size: 0.9rem; text-align: justify;}
#carrier02 .skill{ display: flex; width: calc(100% + 30px); margin: 0 0 0 -15px;}
#carrier02 .skill .skill_in{ width: calc(50% - 30px); margin: 0 15px;}
#carrier02 .skill .skill_in h4{ font-size: 1.2rem; margin-bottom: 15px;}
#carrier02 .skill .skill_in figure{ margin-bottom: 20px;}
#carrier02 .skill .skill_in figure img{ border-radius: 12px;}
#carrier02 .skill .skill_in ul{ font-size: 0.9rem; line-height: 1.5em;}
#carrier02 .skill .skill_in ul li{ margin-bottom: 0.5em; padding-left: 1em; position: relative;}
#carrier02 .skill .skill_in ul li:before{ content: "・"; position: absolute; left: 0; top: 0;}
@media screen and (max-width:767px){
#carrier02{ margin-top: 20%;}
#carrier02 h2{ font-size: 1.4rem; margin-bottom: 5%;}
#carrier02 h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#carrier02 p{ font-size: 0.8rem;}
#carrier02 .skill{ display: block; width: 100%; margin: 0;}
#carrier02 .skill .skill_in{ width: 100%; margin: 7.5% auto 0;;}
#carrier02 .skill .skill_in h4{ font-size: 1rem; margin-bottom: 2.5%;}
#carrier02 .skill .skill_in figure{ margin-bottom: 2.5%;}
#carrier02 .skill .skill_in figure img{ border-radius: 2.5vw;}
#carrier02 .skill .skill_in ul{ font-size: 0.8rem;}
}

#carrier03{ margin-top: 120px;}
#carrier03 h2{ font-size: 1.5rem; margin-bottom: 30px;}
#carrier03 h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#carrier03 p{ font-size: 0.9rem; text-align: justify;}
#carrier03 figure.zu{ margin-top: 30px;}
@media screen and (max-width:767px){
#carrier03{ margin-top: 20%;}
#carrier03 h2{ font-size: 1.4rem; margin-bottom: 5%;}
#carrier03 h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#carrier03 p{ font-size: 0.8rem;}
#carrier03 figure.zu{ margin-top: 5%;}
}

#carrier04{ margin-top: 120px;}
#carrier04 h2{ font-size: 1.5rem; margin-bottom: 30px;}
#carrier04 h3{ font-size: 1.2rem; color: #009FB9; margin: 80px auto 20px;}
#carrier04 p{ font-size: 0.9rem; text-align: justify;}
#carrier04 table{ margin: 30px auto 40px; width: 100%; border-collapse: collapse; border-spacing: 0;}
#carrier04 table tr th{ background: #E4F6FA; vertical-align: middle; width: 200px; padding: 1.5em; font-size: 0.9rem; line-height: 1.75em; border-bottom: 1px solid #D8D8D8;}
#carrier04 table tr td{ background: #fff; vertical-align: middle; padding: 1.5em; font-size: 0.9rem; line-height: 1.75em; border-bottom: 1px solid #D8D8D8;}
#carrier04 table tr:last-child th,
#carrier04 table tr:last-child td{ border-bottom: none;}
@media screen and (max-width:767px){
#carrier04{ margin-top: 20%;}
#carrier04 h2{ font-size: 1.4rem; margin-bottom: 5%;}
#carrier04 h3{ font-size: 1.1rem; margin: 15% auto 3.75%;}
#carrier04 p{ font-size: 0.8rem;}
#carrier04 table{ margin: 5% auto;}
#carrier04 table tr th{ display: block; width: 100%; padding: 1em; font-size: 0.9rem; line-height: 1.5em; border-bottom: none;}
#carrier04 table tr td{ display: block; width: 100%; padding: 1em; font-size: 0.8rem; line-height: 1.5em;}
}



/*qa*/
#qa_nav{ padding-top: 10px; margin-bottom: 40px;}
#qa_nav ul{ display: flex;}
#qa_nav ul li{ width: calc(33.33% - 30px); height: 60px; display: flex; align-items: center; justify-content: center; text-align: center; margin: 0 15px; border-radius: 8px; font-size: 1.2rem; line-height: 1.25em; letter-spacing: 0.1em; font-weight: 600; border: 2px solid #009FB9; background: #fff; color: #009FB9; position: relative; top: 0; transition: 0.3s; cursor: pointer;}
#qa_nav ul li.active{ background: #009FB9; color: #fff; top: -10px;}
#qa_nav ul li:before{ content: ""; width: 0; height: 0; border-style: solid; border-color: #009FB9 transparent transparent transparent; border-width: 8px 12px 0px 12px; position: absolute; left: 0; right: 0; bottom: -10px; margin: auto;}
#qa_nav ul li:after{ content: ""; width: 0; height: 0; border-style: solid; border-color: #fff transparent transparent transparent; border-width: 8px 12px 0px 12px; position: absolute; left: 0; right: 0; bottom: -7px; margin: auto; transition: 0.3s;}
#qa_nav ul li.active:after{ border-color: #009FB9 transparent transparent transparent;}
@media screen and (max-width:767px){
#qa_nav{ padding-top: 1.25vw; margin-bottom: 7.5%;}
#qa_nav ul{ width: calc(100% + 2.5vw); margin-left: -1.25vw;}
#qa_nav ul li{ width: calc(33.33% - 2.5vw); height: 15vw; margin: 0 1.25vw; border-radius: 1.25vw; font-size: 0.9rem;}
#qa_nav ul li.active{ top: -1.25vw;}
#qa_nav ul li:before{ border-width: 8px 12px 0px 12px; bottom: -10px;}
#qa_nav ul li:after{ border-width: 8px 12px 0px 12px; bottom: -7px;}
}

.qa_cont{ display: none;}
.qa_cont.active{ display: block;}
.qa_cont dl{ margin-top: 10px; border: 2px solid #009FB9; background: #009FB9; border-radius: 12px; overflow: hidden;}
.qa_cont dl dt{ background: #009FB9; color: #fff; font-size: 0.9rem; font-weight: 600; padding: 1em 50px 1em 80px; position: relative; cursor: pointer;}
.qa_cont dl dt p{ line-height: 1.5em; text-align: justify; margin: 0;}
.qa_cont dl dt span.ico{ display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #fff; color: #009FB9; border-radius: 50%; position: absolute; left: 30px; top: 15px;}
.qa_cont dl dt span.toggle{ position: absolute; right: 30px; top: calc(50% + 0.25em); transform: translateY(-50%) rotateX(180deg); transform-origin: center center; transition: 0.3s;}
.qa_cont dl dt span.toggle svg{ width: 16px; height: 8px;}
.qa_cont dl dt span.toggle svg{ fill: #fff;}
.qa_cont dl dt span.toggle svg *{ fill: #fff;}
.qa_cont dl dt.active span.toggle{ top: 50%; transform: translateY(-50%) rotateX(0deg);}
.qa_cont dl dt.active span.toggle svg{ fill: #009FB9;}
.qa_cont dl dt.active span.toggle svg *{ fill: #009FB9;}
.qa_cont dl dd{ display: none; background: #fff; font-size: 0.9rem; padding: 1em 50px 1em 80px; position: relative;}
.qa_cont dl dd p{ line-height: 1.5em; text-align: justify; margin: 0;}
.qa_cont dl dd span.ico{ display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: #009FB9; color: #fff; border-radius: 50%; position: absolute; left: 30px; top: 15px; font-weight: 600;}
@media screen and (max-width:767px){
.qa_cont dl{ margin-top: 2.5%; border-radius: 2.5vw;}
.qa_cont dl dt{ font-size: 0.8rem; padding: 1em 8.75vw 1em 11.25vw;}
.qa_cont dl dt span.ico{ width: 6.25vw; height: 6.25vw; left: 2.5vw; top: 3.25vw;}
.qa_cont dl dt span.toggle{ right: 2.5vw;}
.qa_cont dl dt span.toggle svg{ width: 3.75vw; height: 1.875vw;}
.qa_cont dl dd{ font-size: 0.8rem; padding: 1em 8.75vw 1em 11.25vw;}
.qa_cont dl dd span.ico{ width: 6.25vw; height: 6.25vw; left: 2.5vw; top: 3.25vw;}
}



/*story*/
#story p{ font-size: 0.9rem; text-align: justify;}
#story .story_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#story .story_list ul li{ width: calc(33.33% - 30px); margin: 15px;}
#story .story_list ul li a{ display: block;}
#story .story_list ul li a figure{ position: relative; overflow: hidden; border-radius: 20px; margin-bottom: 20px;}
#story .story_list ul li a figure:after{ content: "新卒\A採用"; white-space: pre; display: flex; align-items: flex-start; justify-content: flex-end; width: 86px; height: 86px; background: url("../images/story/list_ico1.png") center center no-repeat; background-size: 100%; color: #fff; font-size: 0.95rem; line-height: 1.25em; font-weight: bold; position: absolute; right: 0; top: 0; padding-right: 0.75em; padding-top: 0.5em; box-sizing: border-box;}
#story .story_list ul li.new a figure:after{ content: "新卒\A採用"; background: url("../images/story/list_ico1.png") center center no-repeat; background-size: 100%;}
#story .story_list ul li.mid a figure:after{ content: "中途\A採用"; background: url("../images/story/list_ico2.png") center center no-repeat; background-size: 100%;}
#story .story_list ul li p{ font-size: 0.9rem; line-height: 1.5em; font-weight: bold; text-align: justify; margin-bottom: 0;}
#story .story_list ul li p span{ display: block; font-size: 0.8rem; line-height: 1.5em;}
#story .story_list ul li p.name{ text-align: right; font-size: 0.8rem; font-weight: normal; margin-top: 0.5em;}
@media screen and (max-width:767px){
#story p{ font-size: 0.8rem;}
#story .story_list ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
#story .story_list ul li{ width: calc(50% - 2.5vw); margin: 1.25vw;}
#story .story_list ul li a figure{ border-radius: 2.5vw; margin-bottom: 3.75%;}
#story .story_list ul li a figure:after{ width: 15vw; height: 15vw; font-size: 0.8rem;}
#story .story_list ul li p{ font-size: 0.7rem;}
#story .story_list ul li p span{ font-size: 0.6rem;}
#story .story_list ul li p.name{ font-size: 0.6rem;}
}

/*story_detail*/
#story_tit{ width: 1020px; margin: 80px auto;}
#story_tit dl{ display: flex; align-items: center; justify-content: center;}
#story_tit dl dt{ width: 560px;}
#story_tit dl dd{ width: 520px;}
#story_tit dl dd img{ border-radius: 16px;}
#story_tit dl dt h2{ font-size: 2.1rem; margin-bottom: 20px;}
#story_tit dl dt h2 span{ display: block; font-size: 1.4rem; line-height: 1.5em;}
#story_tit dl dt h3{ font-size: 1.4rem; line-height: 1.5em; font-weight: normal;}
#story_tit dl dt span.age{ display: flex; align-items: center; justify-content: center; margin: 0 auto 0 0; background: #000; color: #fff; width: 120px; height: 30px; border-radius: 8px; font-size: 1rem; line-height: 1em; font-weight: bold; padding-top: 0.125em; margin-bottom: 10px;}
#story_tit dl dt span.age.new{ background: #009FB9;}
#story_tit dl dt span.age.mid{ background: #01A73C;}
@media screen and (max-width:767px){
#story_tit{ width: 92.5%; margin: 10% auto;}
#story_tit dl{ display: block;}
#story_tit dl dt{ width: 100%; margin-bottom: 5%;}
#story_tit dl dd{ width: 100%;}
#story_tit dl dd img{ border-radius: 2.5vw;}
#story_tit dl dt h2{ font-size: 1.6rem; margin-bottom: 2.5%;}
#story_tit dl dt h2 span{ font-size: 1.2rem;}
#story_tit dl dt h3{ font-size: 1.2rem;}
#story_tit dl dt span.age{ width: 22.5vw; height: 7.5vw; border-radius: 1.25vw; font-size: 0.9rem; margin-bottom: 1.25%;}
}

#story_detail .interview dl{ display: flex; justify-content: space-between; margin: 80px auto 20px;}
#story_detail .interview dl:first-child{ margin-top: 0;}
#story_detail .interview dl.even{ flex-direction: row-reverse;}
#story_detail .interview dl dt{ width: 560px;}
#story_detail .interview dl dd{ width: 420px;}
#story_detail .interview dl dd figure img{ border-radius: 16px;}
#story_detail .interview h2{ font-size: 1.6rem; letter-spacing: 0; margin: 80px auto 20px;}
#story_detail .interview dl dt h2{ margin-top: 0;}
#story_detail .interview h2 span{ color: #009FB9;}
#story_detail .interview p{ font-size: 0.9rem; text-align: justify; margin: 20px auto;}
@media screen and (max-width:767px){
#story_detail .interview dl{ display: block; margin-top: 15%; margin: 10% auto 3.75%;}
#story_detail .interview dl dt{ width: 100%; margin-bottom: 5%;}
#story_detail .interview dl dd{ width: 100%;}
#story_detail .interview dl dd figure img{ border-radius: 2.5vw;}
#story_detail .interview h2{ font-size: 1.4rem; margin: 10% auto 2.5%;}
#story_detail .interview p{ font-size: 0.8rem; margin: 3.75% auto;}
}

#story_detail .shcedule{ margin-top: 120px;}
#story_detail .shcedule h2{ text-align: center; font-size: 1.9rem; margin-bottom: 40px;}
#story_detail .shcedule dl{ display: flex; justify-content: space-between;}
#story_detail .shcedule dl dt{ width: 520px;}
#story_detail .shcedule dl dd{ width: 420px;}
#story_detail .shcedule dl dd figure img{ border-radius: 16px;}
#story_detail .shcedule dl dt ul{ margin-left: 48px;}
#story_detail .shcedule dl dt ul li{ display: flex; margin-bottom: 20px; position: relative;}
#story_detail .shcedule dl dt ul li:before{ content: ""; width: 6px; height: calc(100% + 20px); background: #009FB9; position: absolute; left: -39px; top: 8px;}
#story_detail .shcedule dl dt ul li:after{ content: ""; width: 24px; height: 24px; background: #009FB9; border-radius: 50%; position: absolute; left: -48px; top: 8px;}
#story_detail .shcedule dl dt ul li:last-child:before{ display: none;}
#story_detail .shcedule dl dt ul li strong{ font-size: 1.4rem; color: #009FB9; width: 100px;}
#story_detail .shcedule dl dt ul li span{ font-size: 1.1rem; font-weight: bold; margin-left: 20px; width: calc(100% - 120px); margin-top: 0.1875em;}
@media screen and (max-width:767px){
#story_detail .shcedule{ margin-top: 20%;}
#story_detail .shcedule h2{ font-size: 1.5rem; margin-bottom: 5%;}
#story_detail .shcedule dl{ flex-direction: column-reverse;}
#story_detail .shcedule dl dt{ width: 100%;}
#story_detail .shcedule dl dd{ width: 100%; margin-bottom: 5%;}
#story_detail .shcedule dl dd figure img{ border-radius: 2.5vw;}
#story_detail .shcedule dl dt ul{ margin-left: 7.5vw;}
#story_detail .shcedule dl dt ul li{ margin-bottom: 3.75vw;}
#story_detail .shcedule dl dt ul li:before{ width: 1.5vw; height: calc(100% + 3.75vw); left: -5.75vw; top: 0.75vw;}
#story_detail .shcedule dl dt ul li:after{ width: 5vw; height: 5vw; left: -7.5vw; top: 0.75vw;}
#story_detail .shcedule dl dt ul li strong{ font-size: 1.2rem; width: 17.5vw;}
#story_detail .shcedule dl dt ul li span{ font-size: 0.9rem; margin-left: 2.5vw; width: calc(100% - 20vw); margin-top: 0.25em;}
}



/*404*/
.not-found #page_tit h2{ flex-direction: column; align-items: flex-start; justify-content: center;}
.not-found #page_tit h2 span{ font-size: 1rem;}
#not-found p{ font-size: 0.9rem;}
#not-found #submit_btn{ margin-top: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
#not-found #submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; background: #0275C2; color: #fff; font-size: 1rem; border-radius: 8px; transition: 0.3s; cursor: pointer;}
#not-found #submit_btn button:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
.not-found #page_tit h2 span{ font-size: 0.9rem;}
#not-found p{ font-size: 0.8rem;}
#not-found #submit_btn{ margin-top: 10%;}
#not-found #submit_btn button{ width: 60vw; height: 12.5vw; border-radius: 1.25vw;}
}





/*special*/
#special_tit{ width: 100%; height: 290px; background: url("../images/special/fv.jpg")center center no-repeat; background-size: cover; position: relative;}
#special_tit h2{ width: 1120px; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#special_tit h2 strong{ width: 500px; height: 140px; display: flex; align-items: center; justify-content: center; background: #fff; font-size: 1.9rem; letter-spacing: 0.1em; position: relative; top: 70px;}
#special_tit h2 strong span{ color: #009EB8;}
@media screen and (max-width:767px){
#special_tit{ height: 40vw;}
#special_tit h2{ width: 100%;}
#special_tit h2 strong{ width: 72.5vw; height: 15vw; font-size: 1.5rem; top: 7.5vw;}
}

body.special #pankuzu{ margin: 20px auto;}
body.special #pankuzu ul{ justify-content: flex-end; text-align: right;}
@media screen and (max-width:767px){
body.special #pankuzu{ margin: 10% auto 5%;}
}

body.special h2.tit_h2{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 40px;}
body.special h2.tit_h2 span{ display: flex; font-size: 0.65rem; line-height: 1em; padding-bottom: 0.25em; color: #009FB9; border-bottom: 1px solid #009FB9; margin-bottom: 20px;}
body.special h2.tit_h2 strong{ font-size: 1.7rem;}
@media screen and (max-width:767px){
body.special h2.tit_h2{ margin-bottom: 7.5%;}
body.special h2.tit_h2 span{ font-size: 0.7rem; margin-bottom: 2.5%;}
body.special h2.tit_h2 strong{ font-size: 1.25rem;}
}

/*lead*/
#special_lead{ margin: 90px auto;}
#special_lead p{ text-align: center; font-size: 0.9rem;}
@media screen and (max-width:767px){
#special_lead{ margin: 15% auto;}
#special_lead p{ text-align: justify;}
}

/*nav*/
#special_nav{ margin: 90px auto 60px;}
#special_nav ul{ display: flex; align-items: center; justify-content: center;}
#special_nav ul li{ display: flex; align-items: center; justify-content: center; margin: 0 15px; width: 270px; height: 60px; border: 2px solid #009FB9; background: #fff; color: #009FB9; font-size: 1.2rem; border-radius: 12px; transition: 0.3s; cursor: pointer;}
#special_nav ul li:hover,
#special_nav ul li.active{ background: #009FB9; color: #fff;}
@media screen and (max-width:767px){
#special_nav{ margin: 15% auto 15%;}
#special_nav ul li{ margin: 0 1.875vw; width: 40vw; height: 10vw; font-size: 1.1rem; border-radius: 2.5vw;}
}

/*cont*/
.special_cont{ width: 1120px; margin: auto; display: none;}
.special_cont.active{ display: block;}
.special_cont section{ margin: 90px auto;}
.special_cont .maincontent{ width: 100%; background: #fff; padding: 80px 60px; border-radius: 24px;}
.special_cont h3{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 40px; position: relative;}
.special_cont h3 figure.ico{ position: absolute; left: 390px; top: -36px; width: 64px;}
.special_cont h3 span{ font-size: 1.15rem; line-height: 1.25em; margin-bottom: 0.5em; padding-bottom: 0.75em; position: relative;}
.special_cont h3 span:after{ content: ""; width: 36px; height: 2px; background: #009FB9; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
.special_cont h3 strong{ font-size: 1.3rem; line-height: 1.25em;}
.special_cont p.lead{ font-size: 0.9rem; font-weight: bold; text-align: center; margin-bottom: 60px;}
.special_cont .special_staff_list dl{ margin: 40px auto; display: flex; justify-content: space-between;}
.special_cont .special_staff_list dl:last-child{ margin-bottom: 0;}
.special_cont .special_staff_list dl dt{ width: 320px;}
.special_cont .special_staff_list dl dd{ width: 640px; background: #FAFAFA; padding: 40px; border-radius: 20px;}
.special_cont .special_staff_list dl:nth-child(2n){ flex-direction: row-reverse;}
.special_cont .special_staff_list dl dd h4{ display: flex; margin-bottom: 20px;}
.special_cont .special_staff_list dl dd h4 strong{ font-size: 1.3rem; color: #009FB9;}
.special_cont .special_staff_list dl dd h4 span{ font-size: 0.9rem; margin-left: 1em;}
.special_cont .special_staff_list dl dd p{ font-size: 0.9rem; text-align: justify;}
.special_cont hr{ width: 100%; height: 0; border: none; border-bottom: 5px dotted #C2EAF0; margin: 60px auto;}
@media screen and (max-width:767px){
.special_cont{ width: 92.5%;}
.special_cont section{ margin: 15% auto;}
.special_cont .maincontent{ padding: 7.5% 3.75%; border-radius: 2.5vw;}
.special_cont h3{ margin-bottom: 5%;}
.special_cont h3 figure.ico{ left: 22.5vw; top: -3.75vw; width: 10vw;}
.special_cont h3 span{ font-size: 1rem;}
.special_cont h3 span:after{ width: 10vw;}
.special_cont h3 strong{ font-size: 1.2rem;}
.special_cont p.lead{ font-size: 0.9rem; text-align: justify; margin-bottom: 7.5%;}
.special_cont .special_staff_list dl{ margin: 7.5% auto; display: block;}
.special_cont .special_staff_list dl dt{ width: 100%; text-align: center; margin-bottom: 3.75%;}
.special_cont .special_staff_list dl dt img{ width: 50%;}
.special_cont .special_staff_list dl dd{ width: 100%; padding: 5% 3.75%; border-radius: 1.25vw;}
.special_cont .special_staff_list dl dd h4{ margin-bottom: 3.75%;}
.special_cont .special_staff_list dl dd h4 strong{ font-size: 1.1rem;}
.special_cont .special_staff_list dl dd h4 span{ font-size: 0.8rem;}
.special_cont .special_staff_list dl dd p{ font-size: 0.8rem; text-align: justify;}
.special_cont hr{ border-bottom: 1.25vw dotted #C2EAF0; margin: 10% auto;}
}

/*follow*/
#special_follow{ margin: 90px auto;}
#special_follow .maincontent{ width: 1120px; background: #fff; border: 2px solid #65C4D4; padding: 60px;}
#special_follow h2{ text-align: center; font-size: 1.8rem; margin-bottom: 20px;}
#special_follow h2{
background: linear-gradient(175deg,  #1a92cf 20%,#78ddf2 40%,#0078c4 70%,#0073c7 100%);
-webkit-background-clip:text;
-webkit-text-fill-color: transparent;
}
#special_follow p{ text-align: center; font-size: 0.9rem;}
#special_follow figure.btn{ margin-top: 40px;}
#special_follow figure.btn a{ width: 400px; height: 72px; border-radius: 40px; font-size: 1.2rem; letter-spacing: 0.1em; font-weight: bold; position: relative;}
#special_follow figure.btn a{ background: linear-gradient(135deg, #78ddf2 0%, #0078c4 100%);}
#special_follow figure.btn a:after{ content: ""; width: 20px; height: 20px; background: url("../images/special/arrow.png") center center no-repeat; background-size: 100%; position: absolute; right: 24px; top: 50%; transform: translateY(-50%);}
@media screen and (max-width:767px){
#special_follow{ margin: 20% auto;}
#special_follow .maincontent{ width: 92.5%; padding: 7.5% 3.75%;}
#special_follow h2{ font-size: 1.66rem; line-height: 1.25em; margin-bottom: 5%;}
#special_follow p{ text-align: justify; font-size: 0.9rem;}
#special_follow figure.btn{ margin-top: 7.5%;}
#special_follow figure.btn a{ width: 100%; height: 15vw; border-radius: 15vw; font-size: 1.2rem;}
#special_follow figure.btn a:after{ width: 3.75vw; height: 3.75vw; right: 5vw;}
}





