@charset "utf-8";
/*
採用LP（page-recruitment.php）専用CSS
このファイルは採用LPページでのみ読み込まれます。
*/

/* RESET */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure { margin: 0; padding: 0; border: 0; outline: 0; font-size: 1em; box-sizing:border-box;}
body, table, input, textarea, select, option { font-family: 'Noto Sans JP',sans-serif; font-size: 1em; } article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } :focus { outline: 0; } ins { text-decoration: none; } del { text-decoration: line-through; }

html{ overflow-y:scroll; scroll-behavior:smooth; }

img{ vertical-align:middle;}
img{vertical-align:middle;max-width:100%; height:auto;}
img {
    width: inherit\9;
    max-width: 100%\9;
    height: auto\9;
}
table{border-collapse:collapse;}

a{ text-decoration:none; }

.mb0 { margin-bottom:0 !important; }





/* SP */

.pconly{ display:none; }
.sponly{ display:block; }

body{
font-size:4.10vw;
line-height:1.9;
color:#1E1E1E;
width:100%;
overflow:hidden;
letter-spacing:.06em;
}



header{
width:100%;
height:17.95vw;
position:fixed;
z-index:999;
display:flex;
justify-content:space-between;
align-items:center;
}


.site-logo{
width:62.56vw;
margin-left:3.59vw;
}
.site-logo img{
width:100%;
}


/* SPハンバーガーメニュー */
.rec-header.is-open .site-logo{
display:none;
}
.menu-logo.sponly{
display:none;
width:62.56vw;
margin-left:3.59vw;
}
.rec-header.is-open .menu-logo.sponly{
display:block;
}
.menu-logo-mask{
display:block;
width:100%;
aspect-ratio:244/35;
background-color:#fff;
-webkit-mask-image:url(../img/p8rec-logo.svg);
mask-image:url(../img/p8rec-logo.svg);
-webkit-mask-repeat:no-repeat;
mask-repeat:no-repeat;
-webkit-mask-size:contain;
mask-size:contain;
-webkit-mask-position:left center;
mask-position:left center;
}

#menubtn{
width:10vw;
height:9.49vw;
margin-right:3.59vw;
padding:0;
background:none;
border:0;
position:relative;
z-index:1000;
cursor:pointer;
}
#menubtn img{
width:100%;
height:100%;
display:block;
}

#menubox{
position:fixed;
top:17.95vw;
left:0;
width:100%;
height:calc(100% - 17.95vw);
overflow-y:auto;
background:#2A74D2;
opacity:0;
visibility:hidden;
transform:translateY(-10px);
transition:opacity .3s ease, transform .3s ease, visibility .3s ease;
z-index:998;
}
.rec-header.is-open{
background:#2A74D2;
}
.rec-header.is-open #menubox{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.menu-wrapper{
padding:8vw 7.69vw;
}
.sp-menu ul{
display:flex;
flex-direction:column;
gap:8.21vw;
}
.sp-menu li a{
display:block;
color:#fff;
font-size:4.62vw;
font-weight:bold;
letter-spacing:.06em;
text-align:center;
}
.sp-menu li.entrybtn{
margin:2.05vw auto 0;
width:61.54vw;
height:12.82vw;
border-radius:6.41vw;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
}
.sp-menu li.entrybtn a{
width:61.54vw;
height:12.82vw;
display:flex;
align-items:center;
justify-content:center;
color:#2A74D2;
padding:1vw 0 0;
font-family:'Josefin Sans';
}

body.menu-open{
overflow:hidden;
}


#container{
padding:17.95vw 0 26.67vw;
}

section[id]{
scroll-margin-top:17.95vw;
}



#fv{
width:100%;
margin:0 auto;
position:relative;
padding:79.49vw 0 0;
}
.fv-catch{
width:98.72vw;
height:83.08vw;
position:absolute;
top:6.67vw;
left:3.85vw;
z-index:10;
}



.fv-slider{
width:92.31vw;
margin:0 auto;
position:relative;
}
.fv-slider .slick-slide{
line-height:0;
}
.slide01,
.slide02,
.slide03{
width:100%;
aspect-ratio:360/234;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
}
.slide01{ background-image:url(../img/fv01-sp.png); }
.slide02{ background-image:url(../img/fv02-sp.png); }
.slide03{ background-image:url(../img/fv03-sp.png); }

/* FVスライダー dots（横線タイプ） */
.fv-slider .slick-dots{
position:absolute;
top:calc(100% + 4.359vw); /* 100vw=390px換算で17px下 */
bottom:auto;
left:0;
width:100%;
margin:0;
padding:0;
list-style:none;
display:flex;
justify-content:center;
align-items:center;
gap:10px;
}
.fv-slider .slick-dots li{
width:50px;
height:4px;
margin:0;
padding:0;
line-height:0;
}
.fv-slider .slick-dots li button{
display:block;
width:50px;
height:4px;
padding:0;
border:0;
outline:none;
background:rgba(255,255,255,.4);
font-size:0;
line-height:0;
color:transparent;
cursor:pointer;
}
.fv-slider .slick-dots li button:before{
content:none;
}
.fv-slider .slick-dots li.slick-active button{
background:#fff;
}


#index1{
padding:32.82vw 0 15.38vw;
}
.i1-col{
width:87.18vw;
margin:0 auto;
}
.i1L{
margin:0 auto 6.15vw;
width:87.18vw;
}
#index1 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:12.56vw;
line-height:1.1;
margin:0 0 11.54vw;
}
#index1 h2 span{
display:block;
font-size:5.13vw;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.i1-cont p{
font-size:4.10vw;
line-height:1.9;
margin:0 0 1em;
}

.i1R{
width:82.05vw;
margin:0 auto;
}



#index2{
background:#2A74D2;
position:relative;
padding:15.90vw 0 20.51vw;
}

#index2::before{
content:'';
width:0;
height:0;
border-bottom:5.13vw solid #2A74D2;
border-left:5.90vw solid transparent;
border-right:5.90vw solid transparent;
position:absolute;
top:-5vw;
left:50%;
margin-left:-5.90vw;
z-index:10;
}


.i2-col{
width:100%;
margin:0 auto;
}

.i2L{
width:58.72vw;
margin:0 auto 10.26vw;
}
.i2L img{
border-radius:4vw;
}
.i2R{
width:100%;
padding:0 6.15vw;
color:#fff;
}
.ceo-name{
font-size:6.67vw;
font-weight:bold;
line-height:1.7;
letter-spacing:.06em;
display:flex;
gap:1em;
margin:0 0 5.64vw;
}
.ceo-name span{
font-family:'Josefin Sans';
position:relative;
top:1.28vw;
}

.profile dt{
font-weight:bold;
font-size:5.13vw;
letter-spacing:.06em;
}
.profile dd{
letter-spacing:.06em;
margin:0 0 2em;
}




#index3{
padding:30.77vw 0 36.92vw;
}
.i3-col{
width:87.69vw;
margin:0 auto 14.62vw;
display:grid;
grid-template-columns:1fr;
row-gap:10.77vw;
}
.i3L{
grid-area:2 / 1;
width:87.69vw;
margin:0;
}
.i3R{
grid-area:1 / 1;
width:82.05vw;
margin:0 auto;
}

#index3 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:12.56vw;
line-height:1.1;
margin:0 0 11.54vw;
}
#index3 h2 span{
display:block;
font-size:5.13vw;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}


.job-list{
width:87.69vw;
display:flex;
flex-direction:column;
gap:12.56vw;
margin:0 auto;
}
.job-list li{
position:relative;
width:87.69vw;
background:#F0F4F6;
padding:36.41vw 7.18vw 8.21vw 8.21vw;
border-radius:7.69vw;
}

.job-icon{
width:37.69vw;
height:37.69vw;
position:absolute;
top:-4.87vw;
left:50%;
transform:translate(-50%, 0);
}

.job01{ background:url(../img/icon-job01.svg) no-repeat; background-size:cover; }
.job02{ background:url(../img/icon-job02.svg) no-repeat; background-size:cover; }
.job03{ background:url(../img/icon-job03.svg) no-repeat; background-size:cover; }
.job04{ background:url(../img/icon-job04.svg) no-repeat; background-size:cover; }
.job05{ background:url(../img/icon-job05.svg) no-repeat; background-size:cover; }



.job-list li h3{
text-align:center;
font-size:6.15vw;
line-height:1.7;
letter-spacing:.06em;
margin:0 0 4.36vw;
}





#index4{
}
.i4-ttl{
width:87.69vw;
height:73.85vw;
margin:0 auto;
background:url(../img/recruit-ill.png) no-repeat center bottom;
background-size:87.18vw;
}
#index4 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:12.56vw;
line-height:1.1;
margin:0 0 11.54vw;
}
#index4 h2 span{
display:block;
font-size:5.13vw;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.i4-container{
width:100%;
background:#2A74D2;
padding:12.31vw 0 13.85vw;
}

#index4 h3{
width:87.69vw;
text-align:center;
color:#fff;
font-size:6.67vw;
letter-spacing:.06em;
margin:0 auto 3.33vw;
}
.no-exp{
text-align:center;
margin:0 0 8.46vw;
}
.no-exp span{
display:inline-block;
font-size:5.13vw;
color:#fff;
font-weight:bold;
letter-spacing:.06em;
padding:0 4.10vw;
border:0.26vw solid #fff;
}

.job-cont{
width:87.18vw;
margin:0 auto;
background:#fff;
border-radius:5.13vw;
padding:9.49vw 6.41vw;
}

.job dt{
text-align:center;
color:#2A74D2;
font-weight:bold;
font-size:6.15vw;
letter-spacing:.06em;
margin:0 0 2.82vw;
}
.job dd{
padding-bottom:6.67vw;
border-bottom:0.26vw solid #ddd;
margin:0 0 8.21vw;
}

.job dd:last-child{
margin:0 !important;
border:0 !important;
padding:0 !important;
}


.job dd p{
margin:0 auto;
text-align:center;
}


.job-flows{
display:flex;
flex-direction:column;
gap:9.74vw;
margin-top:4.36vw;
}
.job-flows li{
width:74.36vw;
position:relative;
}
.flow-ttl{
font-size:4.62vw;
font-weight:bold;
margin:0 0 1.54vw;
}

.job-flows li::after{
content:'';
width:0;
height:0;
border-top:4.23vw solid #808080;
border-left:4.10vw solid transparent;
border-right:4.10vw solid transparent;
position:absolute;
bottom:-3.85vw;
right:calc(50% - 4.10vw);
}

.job-flows li:last-child::after{
border:none;
}

.twrap{
background:#F0F4F6;
border-radius:2.56vw;
padding:6.92vw 6.41vw 
}
.appT{
width:100%;
}
.appT th{
font-size:5.13vw;
line-height:1.7;
letter-spacing:.06em;
text-align:left;
display:block;
padding:7.18vw 0 0;
}
.appT td{
font-size:3.59vw;
padding:2.82vw 0 7.69vw;
border-bottom:0.26vw dotted #1e1e1e;
display:block;
}

.appT th.npb,
.appT td.npb{
border:none !important;
padding-bottom:0 !important;
}

#index5{
padding:24.36vw 0 26.67vw;
}

.entry-ttl{
width:87.69vw;
margin:0 auto 5.90vw;
height:33.59vw;
padding-right:30.77vw;
text-align:center;
display:flex;
justify-content:center;
align-items:center;
background:url(../img/entry-ill.png) no-repeat center right;
background-size:30.77vw;
}
#index5 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:12.82vw;
line-height:1.1;
}
#index5 h2 span{
display:block;
font-size:5.13vw;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.form-desc{
width:87.69vw;
margin:0 auto 12.82vw;
}



.form{
width:87.69vw;
margin:0 auto;
letter-spacing:.06em;
}


.req{
color:#f00;
}

::placeholder{
color:#959595;
}


.form-item{
font-size:4.62vw;
font-weight:bold;
line-height:1.7;
margin:0 0 0.51vw;
letter-spacing:.06em;
}

.form-col{
display:flex;
flex-wrap:wrap;
margin:0 0 7.69vw;
align-items:center;
gap:6.41vw 2.05vw;
}
input[type=text].sei,
input[type=text].mei{
width:42.56vw;
background:#F0F4F6;
padding:3.59vw 2.56vw;
border:0;
box-sizing:border-box;
}

select.bornfirst{
width:34.87vw;
background:#F0F4F6;
padding:3.59vw 2.56vw;
border:0;
flex:1;
}
select.born{
width:34.87vw;
background:#F0F4F6;
padding:3.59vw 2.56vw;
border:0;
}


.radio-wrap{
background:#F0F4F6;
height:14.36vw;
width:100%;
display:flex;
align-items:center;
margin:0 0 7.69vw;
}

.form-input input[type=email],
.form-input input[type=tel],
.form-input input[type=text]{
width:100%;
background:#F0F4F6;
padding:3.59vw 2.56vw;
border:0;
margin:0 0 7.69vw;
box-sizing:border-box;
}


.form-item-col{
}
.form-itemL{
}
.form-itemR{
}
select.pref{
width:64.87vw;
background:#F0F4F6;
padding:3.59vw;
border:0;
}

.file-wrap{
background:#F0F4F6;
padding:3.85vw 6.15vw 7.18vw;
margin:0 0 7.69vw;
}

.file-send{
display:flex;
flex-direction:column;
gap:4vw;
}
.file-send-item{
width:28.21vw;
flex-wrap:wrap;
}

.file-upload-btn{
display:flex;
align-items:center;
gap:4.10vw;
flex-wrap:wrap;
}
.file-upload-btn input[type=file]{
position:absolute;
width:0.26vw;
height:0.26vw;
padding:0;
margin:-0.26vw;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}
.file-upload-btn label.upload{
display:flex;
align-items:center;
justify-content:center;
width:53.08vw;
height:10.26vw;
text-align:center;
line-height:10.26vw;
background:#fff;
border:0.26vw solid #9a9a9a;
border-radius:2.05vw;
cursor:pointer;
}
.file-name{
font-size:3.59vw;
color:#959595;
}
.file-name.is-selected{
color:#1e1e1e;
}
.file-att{
font-size:3.59vw;
}



.file-send li{
display:flex;
flex-direction:column;
gap:1.5vw;
}


.pp-ttl{
text-align:center;
font-size:4.62vw;
font-weight:bold;
color:#2A74D2;
margin:0 0 3.08vw;
}

.pp-box{
width:87.69vw;
height:67.69vw;
overflow:auto;
border:0.26vw solid #1e1e1e;
padding:5.13vw 6.15vw 5.13vw 4.10vw;
font-size:3.59vw;
line-height:1.7;
margin:0 0 5.13vw;
}

.pp-md01{
font-size:4.62vw;
font-weight:bold;
margin:0 0 7.69vw;
}
.pp-md02{
font-size:3.59vw;
line-height:1.7;
font-weight:bold;
}

.pp-box p{
margin-bottom:1.5em;
}
.pp-decimal{
margin-left:1.5em;
margin-bottom:7.69vw;
}
.pp-decimal li{
list-style-type:decimal;
}

.pp-sign{
text-align:right;
margin:0 0 5.64vw;
}
.pp-contact{
border:0.26vw solid #1e1e1e;
padding:3.08vw 4.10vw;
margin:0 0 6.41vw;
}

.pp-chk-box{
background:#F0F4F6;
height:31.79vw;
padding:5.13vw 7.69vw;
margin:0 0 7.69vw;
}

.pp-chk-item{
font-size:4.62vw;
font-weight:bold;
}

.pp-chk-label{
text-align:center;
}
.pp-chk-label .wpcf7-list-item{
margin:0 !important;
}
.sbmbtn{
width:64.10vw;
height:15.38vw;
margin:0 auto;
position:relative;
text-align:center;
}

.sbmbtn::after{
content:'';
width:3.59vw;
height:3.59vw;
background:url(../img/icon-arrow.svg) no-repeat;
background-size:3.59vw;
position:absolute;
top:5.90vw;
right:5.90vw;
}


input[type=submit].sbm{
border:0;
width:64.10vw;
height:15.38vw;
text-align:center;
color:#fff;
font-size:5.13vw;
font-weight:bold;
border-radius:7.69vw;
background:#2A74D2;
cursor:pointer;
transition:all .2s;
}

input[type=submit].sbm:hover:not(:disabled){
background:#24B9E0;
}

input[type=submit].sbm:disabled{
background:#9AA2AB;
cursor:not-allowed;
}

.wpcf7-form .wpcf7-not-valid-tip{
display:none;
}





footer{
background:#2A74D2;
padding:0 0 9.49vw;
}
.footer-wrapper{
width:87.69vw;
margin:0 auto;
padding:9.49vw 0 24.36vw;
}
.footerL{
width:87.69vw;
color:#fff;
margin:0 0 10.77vw;
}
.footer-logo{
width:77.18vw;
height:12.05vw;
margin:0 0 8.46vw;
}
.footer-add{
margin:0 0 2.82vw;
}
.footer-tel{
font-size:7.44vw;
font-weight:bold;
padding-left:10.77vw;
position:relative;
}
.footer-tel::before{
content:'';
width:8.46vw;
height:8.46vw;
background:url(../img/icon-tel.svg) no-repeat;
background-size:8.46vw;
position:absolute;
top:2.05vw;
left:0;
}

.footerR{
width:87.69vw;
}
.footer-navi ul{
display:flex;
justify-content:space-between;
flex-direction:column;
gap:4.36vw;
}
.footer-navi ul li{
width:66.67vw;
height:12.82vw;
}
.footer-navi ul li a{
width:66.67vw;
height:12.82vw;
display:flex;
justify-content:center;
align-items:center;
background:#fff;
font-size:4.62vw;
font-weight:bold;
color:#2A74D2;
border-radius:6.41vw;
text-align:center;
border:0.26vw solid #FFF;
transition:all .2s;
}



.copy{
width:87.69vw;
margin:0 auto;
font-size:3.08vw;
color:#fff;
}








/* PC */
@media screen and (min-width:768px){

.pconly{ display:block; }
.sponly{ display:none; }

body{
font-size:16px;
line-height:1.7;
color:#1E1E1E;
}



header{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
width:100%;
height:90px;
position:fixed;
background:#fff;
z-index:999;
}

.site-logo{
width:100%;
max-width:341px;
margin-left:clamp(16px,3.6vw,46px);
}
.site-logo img{
width:100%;
}

.head-navi{
width:auto;
max-width:555px;
margin-right:clamp(16px,3.6vw,46px);
flex-shrink:0;
}
.rec-navi{
display:flex;
font-size:1.125rem;
font-weight:bold;
gap:clamp(14px,2.2vw,30px);
align-items:center;
white-space:nowrap;
}
.rec-navi li a{
color:#1e1e1e;
}
.rec-navi li.entrybtn{
margin-left:5px;
flex-shrink:0;
width:194px;
height:44px;
border-radius:22px;
text-align:center;
align-items:center;
display:flex;
justify-content:center;
position:relative;
background:#2A74D2;
transition:all .2s;
}
.rec-navi li.entrybtn a{
width:194px;
height:44px;
color:#fff;
align-items:center;
display:flex;
justify-content:center;
font-family:'Josefin Sans';
padding-top:5px;
}
.rec-navi li.entrybtn::after{
content:'';
width:14px;
height:14px;
background:url(../img/icon-arrow.svg) no-repeat;
background-size:14px;
position:absolute;
top:15px;
right:15px;
}
.rec-navi li.entrybtn:hover{
background:#24B9E0;
}


#container{
padding:90px 0 150px;
}

section[id]{
scroll-margin-top:90px;
}


#fv{
width:100%;
max-width:1350px;
margin:0 auto;
position:relative;
/* 1350px時に390px。画面幅に合わせて縮む */
padding:min(28.89%, 390px) 0 0;
}
.fv-catch{
width:min(48.15%, 650px); /* 1350px時に650px */
height:auto;
position:absolute;
top:min(4.07vw, 55px);
left:50%;
transform:translate(-50%, 0);
z-index:10;
}
.fv-catch img{
width:100%;
}

.fv-slider{
width:100%;
max-width:1350px;
height:auto;
margin:0 auto;
}
.fv-slider .slide01,
.fv-slider .slide02,
.fv-slider .slide03{
width:100%;
height:auto;
aspect-ratio:1350/630;
}
.slide01{ background:url(../img/fv01.png) no-repeat center center; background-size:cover; }
.slide02{ background:url(../img/fv02.png) no-repeat center center; background-size:cover; }
.slide03{ background:url(../img/fv03.png) no-repeat center center; background-size:cover; }

.fv-slider .slick-dots{
top:calc(100% + 24px);
}




#index1{
padding:126px 0 96px;
}
.i1-col{
width:calc(100% - 48px);
max-width:1120px;
margin:0 auto;
display:flex;
justify-content:space-between;
gap:42px;
}
.i1L{
padding:66px 0 0;
width:100%;
max-width:605px;
}
#index1 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:70px;
line-height:1.1;
margin:0 0 45px;
}
#index1 h2 span{
display:block;
font-size:20px;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.i1-cont p{
font-size:16px;
line-height:1.7;
margin:0 0 1em;
}

.i1R{
width:100%;
max-width:473px;
margin:0;
}
.i1R img{
width:100%;
position:relative;
right:-38px;
}

#index2{
background:#2A74D2;
position:relative;
padding:75px 0 83px;
}

#index2::before{
content:'';
width:0;
height:0;
border-bottom:40px solid #2A74D2;
border-left:43px solid transparent;
border-right:43px solid transparent;
position:absolute;
top:-40px;
left:50%;
margin-left:-43px;
z-index:10;
}


.i2-col{
width:100%;
max-width:1180px;
margin:0 auto;
display:flex;
gap:7%;
}

.i2L{
width:100%;
max-width:413px;
margin:0;
padding:0 0 0 30px;
}
.i2L img{
border-radius:24px;
width:100%;
}
.i2R{
width:100%;
max-width:631px;
color:#fff;
padding:0 30px 0 0;
}
.ceo-name{
font-size:30px;
font-weight:bold;
line-height:1.7;
letter-spacing:.06em;
display:flex;
gap:1em;
margin:0 0 30px;
}
.ceo-name span{
font-family:'Josefin Sans';
position:relative;
top:5px;
}

.profile dt{
font-weight:bold;
font-size:20px;
letter-spacing:.06em;
}
.profile dd{
letter-spacing:.06em;
margin:0 0 2em;
}



#index3{
padding:158px 0 100px;
}
.i3-col{
display:grid;
/* 996px時 → 左20px＋画像388px＋間60px＋テキスト528px */
grid-template-columns:408fr 528fr;
column-gap:6.024%;
row-gap:0;
width:calc(100% - 48px);
max-width:996px;
margin:0 auto 95px;
justify-content:stretch;
align-items:center;
}
.i3L{
grid-area:1 / 1;
width:100%;
padding-left:4.902%;
margin-left:0;
}
.i3L img{
width:100%;
}
.i3R{
grid-area:1 / 2;
width:100%;
}

#index3 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:70px;
line-height:1.1;
margin:0 0 45px;
}
#index3 h2 span{
display:block;
font-size:20px;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.job-list{
width:calc(100% - 48px);
max-width:1350px;
display:flex;
flex-wrap:wrap;
justify-content:center;
flex-direction:row;
gap:38px 43px;
margin:0 auto;
}
.job-list li{
position:relative;
width:421px;
background:#F0F4F6;
padding:142px 42px 40px 52px;
border-radius:30px;
}

.job-list li:nth-child(1){ top:-40px; }
.job-list li:nth-child(3){ top:40px; }
.job-list li:nth-child(5){ top:40px; }

.job-icon{
width:147px;
height:147px;
position:absolute;
top:-19px;
left:50%;
transform:translate(-50%, 0);
}

.job01{ background:url(../img/icon-job01.svg) no-repeat; background-size:cover; }
.job02{ background:url(../img/icon-job02.svg) no-repeat; background-size:cover; }
.job03{ background:url(../img/icon-job03.svg) no-repeat; background-size:cover; }
.job04{ background:url(../img/icon-job04.svg) no-repeat; background-size:cover; }
.job05{ background:url(../img/icon-job05.svg) no-repeat; background-size:cover; }



.job-list li h3{
text-align:center;
font-size:24px;
line-height:1.7;
letter-spacing:.06em;
margin:0 0 22px;
}



#index4{
}
.i4-ttl{
width:calc(100% - 48px);
max-width:1120px;
height:auto;
aspect-ratio:1120/350;
margin:0 auto;
/* 1120px時 → 左511px・幅583px */
background:url(../img/recruit-ill.png) no-repeat 95.16% 0;
background-size:52.05%;
}
#index4 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:clamp(38px,6.25vw,70px);
line-height:1.1;
padding:16.25% 0 0 14.82%; /* 1120px時 → 182px / 166px */
}
#index4 h2 span{
display:block;
font-size:20px;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.i4-container{
width:100%;
background:#2A74D2;
padding:87px 0 100px;
}

#index4 h3{
width:auto;
text-align:center;
color:#fff;
font-size:30px;
letter-spacing:.06em;
margin:0 0 13px;
}
.no-exp{
text-align:center;
margin:0 0 44px;
}
.no-exp span{
display:inline-block;
font-size:20px;
color:#fff;
font-weight:bold;
letter-spacing:.06em;
padding:0 16px;
border:1px solid #fff;
}

.job-cont{
width:calc(100% - 48px);
max-width:1120px;
margin:0 auto;
background:#fff;
border-radius:50px;
padding:47px clamp(24px,5.36%,60px) 54px;
}

.job dt{
text-align:center;
color:#2A74D2;
font-weight:bold;
font-size:24px;
letter-spacing:.06em;
margin:0 0 11px;
}
.job dd{
padding-bottom:55px;
border-bottom:1px solid #ddd;
margin:0 0 50px;
}

.job dd:last-child{
margin:0 !important;
border:0 !important;
padding:0 !important;
}


.job dd p{
width:100%;
max-width:780px;
margin:0 auto;
text-align:center;
}


.job-flows{
--flow-gap:clamp(28px,6%,60px);
display:flex;
gap:var(--flow-gap);
margin-top:17px;
flex-direction:row;
}
.job-flows li{
width:100%;
max-width:286px;
flex:1 1 0;
min-width:0;
position:relative;
}
.flow-ttl{
font-size:18px;
font-weight:bold;
margin:0 0 6px;
}

.job-flows li::after{
content:'';
width:0;
height:0;
border-left:22px solid #808080;
border-top:19px solid transparent;
border-bottom:19px solid transparent;
border-right:0;
position:absolute;
top:calc(50% - 38px);
right:calc(var(--flow-gap) / -2 - 11px);
bottom:0;
}

.job-flows li:last-child::after{
border:none;
}

.twrap{
background:#F0F4F6;
border-radius:30px;
padding:47px clamp(20px,5%,50px);
}
.appT{
width:100%;
}
.appT th{
display:table-cell;
font-size:20px;
line-height:1.7;
letter-spacing:.06em;
text-align:left;
padding:21px 27px;
white-space:nowrap;
width:227px;
border-bottom:1px dotted #1e1e1e;
vertical-align:top;
}
.appT td{
display:table-cell;
font-size:16px;
padding:25px 21px 25px 0;
border-bottom:1px dotted #1e1e1e;
}

.appT th.npb,
.appT td.npb{
border:none !important;
padding-bottom:0 !important;
}


#index5{
padding:145px 0 0;
}

.entry-ttl{
width:calc(100% - 48px);
max-width:1120px;
margin:0 auto 12px;
height:auto;
aspect-ratio:1120/228;
text-align:center;
display:flex;
justify-content:center;
align-items:center;
/* 1120px時 → 左755px・幅207px */
background:url(../img/entry-ill.png) no-repeat 82.69% 0;
background-size:18.48%;
padding:0;
}
#index5 h2{
font-family:'Josefin Sans';
color:#2A74D2;
font-size:clamp(38px,6.25vw,70px);
line-height:1.1;
}
#index5 h2 span{
display:block;
font-size:20px;
line-height:1.7;
font-family:'Noto Sans JP';
color:#1E1E1E;
}

.form-desc{
width:calc(100% - 48px);
max-width:770px;
margin:0 auto 50px;
}

.form{
width:calc(100% - 48px);
max-width:770px;
margin:0 auto;
letter-spacing:.06em;
}


.req{
color:#f00;
}

::placeholder{
color:#959595;
}


.form-item{
font-size:18px;
font-weight:bold;
line-height:1.7;
margin:0 0 2px;
letter-spacing:.06em;
}

.form-col{
display:flex;
margin:0 0 30px;
align-items:center;
gap:0 18px;
}
input[type=text].sei,
input[type=text].mei{
width:100%;
max-width:376px;
flex:1 1 0;
min-width:0;
background:#F0F4F6;
padding:14px;
border:0;
}
select.bornfirst{
width:100%;
max-width:208px;
flex:1 1 0;
min-width:0;
background:#F0F4F6;
padding:14px;
border:0;
box-sizing:border-box;
}
select.born{
width:100%;
max-width:208px;
flex:1 1 0;
min-width:0;
background:#F0F4F6;
padding:14px;
border:0;
box-sizing:border-box;
}

.radio-wrap{
background:#F0F4F6;
height:56px;
width:100%;
display:flex;
align-items:center;
margin:0 0 30px;
}

.form-input input[type=email],
.form-input input[type=tel],
.form-input input[type=text]{
width:100%;
background:#F0F4F6;
padding:14px;
border:0;
margin:0 0 30px;
}

.form-item-col{
display:flex;
gap:clamp(24px,7.5%,58px);
}
.form-itemL{
width:100%;
max-width:253px;
flex:1 1 0;
min-width:0;
}
.form-itemR{
width:100%;
max-width:253px;
flex:1 1 0;
min-width:0;
}
select.pref{
width:100%;
max-width:253px;
background:#F0F4F6;
padding:14px;
border:0;
}

.file-wrap{
background:#F0F4F6;
padding:33px clamp(20px,6%,48px);
margin:0 0 30px;
}

.file-send{
display:flex;
flex-direction:column;
gap:22px;
}
.file-send-item{
width:110px;
flex-wrap:wrap;
}

.file-upload-btn{
display:flex;
align-items:center;
gap:16px;
flex-wrap:wrap;
}
.file-upload-btn input[type=file]{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}
.file-upload-btn label.upload{
display:flex;
align-items:center;
justify-content:center;
width:207px;
height:40px;
text-align:center;
line-height:40px;
background:#fff;
border:1px solid #9a9a9a;
border-radius:8px;
cursor:pointer;
}
.file-name{
font-size:14px;
color:#959595;
}
.file-name.is-selected{
color:#1e1e1e;
}
.file-att{
font-size:14px;
}

.file-send li{
display:flex;
flex-direction:row;
align-items:center;
gap:16px;
}

.pp-ttl{
text-align:center;
font-size:18px;
font-weight:bold;
color:#2A74D2;
margin:0 0 12px;
}

.pp-box{
width:100%;
height:264px;
overflow:auto;
border:1px solid #1e1e1e;
padding:18px 35px 18px 16px;
font-size:14px;
line-height:1.7;
margin:0 0 20px;
}

.pp-md01{
font-size:18px;
font-weight:bold;
margin:0 0 30px;
}
.pp-md02{
font-size:14px;
line-height:1.7;
font-weight:bold;
}

.pp-box p{
margin-bottom:1.5em;
}
.pp-decimal{
margin-left:1.5em;
margin-bottom:30px;
}
.pp-decimal li{
list-style-type:decimal;
}

.pp-sign{
text-align:right;
margin:0 0 32px;
}
.pp-contact{
border:1px solid #1e1e1e;
padding:12px 21px 15px;
margin:0 0 45px;
}

.pp-chk-box{
background:#F0F4F6;
min-height:71px;
height:100%;
display:flex;
flex-wrap:wrap;
align-items:center;
gap:12px clamp(20px,6%,47px);
padding:12px 30px;
margin:0 0 40px;
}

.pp-chk-item{
font-size:18px;
font-weight:bold;
}

.sbmbtn{
width:250px;
height:60px;
margin:0 auto;
position:relative;
text-align:center;
}

.sbmbtn::after{
content:'';
width:14px;
height:14px;
background:url(../img/icon-arrow.svg) no-repeat;
background-size:14px;
position:absolute;
top:23px;
right:23px;
}


input[type=submit].sbm{
border:0;
width:250px;
height:60px;
text-align:center;
color:#fff;
font-size:20px;
font-weight:bold;
border-radius:30px;
background:#2A74D2;
cursor:pointer;
transition:all .2s;
}

input[type=submit].sbm:hover:not(:disabled){
background:#24B9E0;
}

input[type=submit].sbm:disabled{
background:#9AA2AB;
cursor:not-allowed;
}

.wpcf7-form .wpcf7-not-valid-tip{
display:none;
}



footer{
background:#2A74D2;
padding:0 0 40px;
}
.footer-wrapper{
width:100%;
padding:40px clamp(20px,4vw,48px) 53px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
gap:30px 40px;
}
.footerL{
width:100%;
max-width:395px;
margin:0;
color:#fff;
}
.footer-logo{
width:100%;
max-width:396px;
height:auto;
margin:0 0 36px;
}
.footer-logo img{
width:100%;
}
.footer-add{
margin:0 0 7px;
}
.footer-tel{
font-size:24px;
font-weight:bold;
padding-left:34px;
position:relative;
}
.footer-tel::before{
content:'';
width:28px;
height:28px;
background:url(../img/icon-tel.svg) no-repeat;
background-size:28px;
position:absolute;
top:6px;
left:0;
}

.footerR{
width:100%;
max-width:541px;
margin:0;
}
.footer-navi ul{
display:flex;
justify-content:flex-end;
flex-direction:row;
gap:clamp(12px,4%,21px);
}
.footer-navi ul li{
width:100%;
max-width:260px;
height:50px;
}
.footer-navi ul li a{
width:100%;
height:50px;
display:flex;
justify-content:center;
align-items:center;
background:#fff;
font-size:18px;
font-weight:bold;
color:#2A74D2;
border-radius:25px;
text-align:center;
border:1px solid #FFF;
transition:all .2s;
}

.footer-navi ul li a:hover{
background:#2A74D2;
color:#fff;
border:1px solid #fff;
}



.copy{
width:auto;
font-size:14px;
color:#fff;
margin:0;
padding:0 clamp(20px,4vw,48px);
}






/* END PC CSS */
}


/* ---------------------------------------------------------------
   PC内の幅調整（PCブロックの後に置いて上書き）
   --------------------------------------------------------------- */

/* .job-list 2列時の段差調整
   3列→2列は「左右24px余白＋421px×3＋43px×2」を割り込む幅で発生 */
@media screen and (min-width:768px) and (max-width:1411px){
.job-list li:nth-child(3){ top:-40px; }
.job-list li:nth-child(5){ top:0; }
}

/* .job-list 1列時の段差解除 */
@media screen and (min-width:768px) and (max-width:947px){
.job-list li:nth-child(1){ top:0; }
.job-list li:nth-child(3){ top:0; }
}

/* 余白に余裕がある時だけ about の画像を右にはみ出させる */
@media screen and (min-width:768px) and (max-width:1219px){
.i1R img{ right:0; }
}

/* タブレット幅ではヘッダーのナビを詰める */
@media screen and (min-width:768px) and (max-width:1023px){
.rec-navi{ font-size:1rem; }
.rec-navi li.entrybtn,
.rec-navi li.entrybtn a{ width:160px; }
}
