@charset "utf-8";
html {  scroll-behavior: smooth; scroll-padding-top: 130px; line-height: 1.8; }
body { line-height: 1.5;}
.wrapper { width: 100% ; margin: 0;  }
img { max-width: 100%; height: auto; }
@media screen and (max-width: 768px) {
}
em { font-weight: bold; }

.wrapper { overflow-x: hidden; }
.conts-width { width: 90%; max-width: 800px; margin: 0 auto; }
.conts-width-m { width: 90%; max-width: 1000px; margin: 0 auto; }

.conts-section-l { padding: 100px 0; }
.conts-section { padding: 70px 0; }
.conts-section-t { padding-top: 70px; }
.conts-section-s { padding: 50px 0; }
.sp-only { display: none; }
@media screen and (max-width: 768px) {
  
  .conts-section { padding: 40px 0; }
  
  .pc-only { display: none; }
  .sp-only { display: initial; }
}

.conts-round { border-radius: 100px; }
@media screen  and (max-width: 1000px) {
  .conts-round { border-radius: 10vw; }
}


.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }
.t-white { color: #FFF; }
.t-navy { color: #164EA8; }



.header {  padding: 1rem; display: flex; justify-content: space-between; align-items: center;  position: absolute; top: 0; left: 0; right: 0; z-index: 99; }
.header .logo { width: 226px; height: auto; }
.header-menu { display: flex; color: #FFF; align-items: center; font-size: .8375rem; }
.header-menu > li + li { margin-left: 2em;  }
.header-menu a.btn { background: #FFEC5D; padding: 1em 2em; font-weight: bold; display: block; border-radius: 2em; color: #003FA3; box-shadow: 0 3px 6px rgba(0,0,0,.16); }

.btn-hamburger { display: none;}
@media screen and (max-width: 1100px) {
  
  .btn-hamburger { display: block; width: 3em; height: 3em; background: #003FA3; border: none; white-space: nowrap; padding: 0; text-indent: 200%; position: fixed; right: 1em; top: 1em; margin: auto; z-index: 999; }
  .btn-hamburger::before,
  .btn-hamburger::after { content: ''; width: 50%; height: 2px; display: block; background: #FFF; position: absolute; inset: 0; margin: auto; transition: transform .3s; }
  .btn-hamburger::before { transform: translateY(-8px); box-shadow: 0 8px 0 #FFF;  }
  .btn-hamburger::after { transform: translateY(8px); }
  .btn-hamburger.open::before { transform: rogate(45deg); box-shadow: 0; }
  .btn-hamburger.open::after { transform: rogate(-45deg); }
  .header-menu { transform: translateX(100%); position: fixed; top: 0;right: 0; background: #FFF; z-index: 98; max-width: 400px; width: 70%; height: 100%; display: block; color: #003FA3; padding: 5rem 8%; transition: transform .3s; }
  
  .header-menu.open  { transform: translateX(0); font-weight: bold; box-shadow: 0 0 10px rgba(0,0,0,.1); }
  .header-menu > li + li { margin-left: 0; margin-top: 2em; }
  .header-menu .btn { text-align: center; }
}

.footer { background: #FBFBFB; padding: 60px 50px 30px; }
.footer .top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1em;  }
.footer .logo { width: 226px;}
.footer-menu { display: flex; align-items: center; font-size: .8375rem; flex-wrap: wrap; }
.footer-menu > li + li { margin-left: 1em; }

.copyright { font-size: .8375rem; color:#777777; text-align: center; display: block; }


@media screen and (max-width: 1000px) {
  .footer .top { flex-direction: column; justify-content: center; align-items: center; }
  .footer .logo  { margin-bottom: 2em; }
  
  .footer-menu { justify-content: center; }
  .footer-menu > li + li { margin-left: 1em; }
  .footer-menu > li { margin: 0 1em 2em; }
}


a.right-fixed-button { position: fixed; right: 0; bottom: 0; margin: auto; z-index: 10; font-size: 1.25rem; font-weight: bold; color: #003FA3; padding: .7em 4em .7em 1em; border-radius: 20px 0 0 0; background: #FFEC5D; border: 2px solid #FFF; }

a.right-fixed-button img { position: absolute; right: 0; bottom: 0; margin: auto; width: 4em; }

/*------------------*/
.title-section { text-align: center; font-weight: bold; font-size: 2.4rem; margin-bottom: 1em;  }


@media screen and (max-width: 900px) {
  .title-section { font-size: 2rem; }
}

@media screen and (max-width: 600px) {
  .title-section { font-size: 1.6rem; }
}
.btn-round,
a.btn-round{ background: #FFEC5D url(../img/btn-arrow.svg) no-repeat right 1em center; color: #003FA3; font-weight: bold; padding: 1em 4em 1em 3em; border-radius: 2em; width: fit-content; margin: 0 auto; display: block; font-size: 1.25rem; box-shadow: 0 3px 6px rgba(0,0,0,.16); }


.list-dot > li { padding-left: 1em; }
.list-dot > li::before { content: ''; width: .5em ;height: .5em; margin-left: -.75em; margin-right: .25em; background: #164EA8; border-radius: 50%; display: inline-block; }



.mainvisual { position: relative; padding: 80px 0 50px; overflow: hidden; }
.mainvisual::before { content: ''; width: 70%; height: 100%;  background: #003FA3; position: absolute; top: 0; left: 50%; margin: auto; display: block; z-index: 2; opacity: .9; transform: skewX(30deg); transform-origin: left bottom; }
.mainvisual::after { content: ''; width: 40%; height: 100%;  background: #197EC4; position: absolute; top: 0; left: 50%; margin: auto; display: block; z-index: 2; transform: skewX(-30deg); transform-origin: left bottom; }

.mainvisual .img { position: absolute; top: 0; left: 0; bottom: 0; width: 60%;  height: 100%; margin: auto; }
.mainvisual .img img { width: 100%; height: 100%; object-fit: cover; object-position: 20% 30%;  }
.mainvisual .text { width: fit-content; margin: 0 0 0 auto; position: relative; z-index: 3; text-align: center;color: #FFF;  }
.mainvisual .text .target { font-size: 2rem; font-weight: 500; display: flex; align-items: center; color: #FFEC5D; white-space: nowrap; }
.mainvisual .text .target span { margin: 0 1em; }
.mainvisual .text .target::before,
.mainvisual .text .target::after { content: ''; width: 100%; height: 1px; background: #FFF; flex-shrink: 1; }
.mainvisual .text .sub { font-size: 1.5rem; font-weight: bold; margin: .5em 0; display: block; }
.mainvisual .text .main { font-family: 'Noto serif JP', serif; font-size: 3.7rem; display: block; line-height: 1; width: fit-content; margin: 0 auto; position: relative; padding: 0 .4em; }
.mainvisual .text .main .l { display: block; font-size: 1.6em; letter-spacing: .15em;}
.mainvisual .text .main::before,
.mainvisual .text .main::after { content: ''; width: .3em; height: .8em; display: block; position: absolute; margin: auto; }
.mainvisual .text .main::before { border-top: 1px solid; border-left: 1px solid;  top: 0; left: 0; }
.mainvisual .text .main::after { border-right: 1px solid; border-bottom: 1px solid;  right: 0; bottom: 0; }

.mainvisual .subtitle { margin: 1em 0; font-weight: 500; }
.mainvisual .feature { display: flex; justify-content: center; margin-bottom: 1em; }
.mainvisual .feature > li { border: 1px solid; border-radius: 2em; padding: .5em 2em; font-size: 1.125rem; font-weight: bold; }
.mainvisual .feature > li + li { margin-left: 10px; }

.mainvisual .btn-round {  margin-top: 1.5em; padding: 1em 4em 1em 3em; }

.mainvisual .badge { color: #003FA3; width: 4.5em; height: 4.5em; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 2.3em; font-family: 'Noto Serif JP', serif; border-radius: 50%; background: #FFF; position: absolute; bottom: 2.5em; left: 100%; line-height: 1; transform: rotate(15deg); }
.mainvisual .badge::before { content: ''; width: calc(100% - 10px); height: calc(100% - 10px); border: 2px solid #42AAEB; position: absolute; inset: 0; margin: auto; border-radius: 50%; }
.mainvisual .badge .online { font-size: .8375rem; font-weight: bold; text-decoration: underline;     text-underline-offset: -.2em; text-decoration-color: #FFEC5D; text-decoration-thickness: .4em;
font-family: 'Noto Sans JP', sans-serif; color: #222222; margin-top: .5em; }

@media screen and (max-width: 1300px) {
  .mainvisual .text {margin-right: 10%; }
  .mainvisual .feature > li { font-size: .9rem; }
}
@media screen and (max-width: 1100px) {
  .header .logo { max-width: 30%; }
  .mainvisual { padding-top: 80vw; }
  .mainvisual .img { height: 80vw; bottom: auto; width: 100%; }
  .mainvisual .img img { width: 120%; max-width: none; object-position: 0% top;  }
  
  .mainvisual .text { margin: 0 auto; }
  .mainvisual::before { width: 180%; left: -60%; transform: skewY(20deg); top: auto; bottom: 0; height: calc(100% - 30vw); transform-origin: top left; }
  .mainvisual::after { width: 250%; left: 0%; opacity: .9; background: linear-gradient(to right, #197EC4 70%, #003FA3 70%); transform: skewY(-20deg); transform-origin: right top; }
  
  .mainvisual .text .sub { font-size: 1.1rem; }
  .mainvisual .text .target { font-size: 1.5rem; }
  .mainvisual .text .main { font-size: 3.3rem; }
  .mainvisual .text .main .l { font-size: 1.4em; }
  .mainvisual .badge { bottom: 100%; left: auto; right: -10%; top: auto; font-size: 2rem; }
  .mainvisual .feature > li { padding: 1em; }
}



.conts-reccomend { background: #F4F8FB;  border-bottom: 10px solid #FFF; box-shadow: 0 1px 0 0 #164EA8; position: relative;  }
.conts-reccomend::before { content: ''; width: 200px; height: 200px; display: block; position: absolute; top: 100%; left: 0; right: 0; margin: auto; background: #F4F8FB; transform:  translateY(-50%) scaleY(0.5)  rotate(45deg); border: 10px solid #FFF; clip-path: polygon(0 100%, 100% 0, 100% 100%); }

.conts-reccomend::after { content: ''; width: 200px; height: 200px; display: block; position: absolute; top: 100%; left: 0; right: 0; margin: auto; background: #F4F8FB; transform:  translateY(-50%) scaleY(0.5)  rotate(45deg); border: 10px solid #FFF; box-shadow: 0 1px 0 0 #164EA8, 1px 0 0 0 #164EA8; z-index: -1;}

.conts-apply .title { font-size: 1.8rem; font-weight: bold; text-align: center; margin-bottom: 1em ;}

@media screen  and (max-width: 900px) {
  .conts-reccomend::before,
  .conts-reccomend::after { width: 100px; height: 100px;}
  
  .conts-apply .title  { font-size: 1.5rem; }
}

.title-recommend { width: fit-content; margin: 0 auto 1em; background: repeating-linear-gradient( -45deg, #fff 0 4px, #78CCFF 4px 8px); background-size: 22px 12px; background-repeat: repeat-x; background-position: left bottom; line-height: 1.3; }


.conts-reccomend .text { width: fit-content; position: relative; margin: 0 auto; }
.conts-reccomend .img1 { right: 105%; bottom: -80px; position: absolute; margin: auto; }
.conts-reccomend .img2 { left: 105%; bottom: -80px; position: absolute; margin: auto; }

@media screen  and (max-width: 900px) {
  .conts-reccomend .img { display: flex; justify-content: space-between; }
  .conts-reccomend .img1,
  .conts-reccomend .img2 { left: auto; right: auto; bottom: auto; position: relative; margin: auto; width: 25%;  }
}
.list-check { font-size: 1.25rem; width: fit-content; margin: 0 auto;}
.list-check > li { margin-bottom: 1em; padding-left: 1.5em; background: url("../img/check.svg") no-repeat left center / 1em auto; }
.list-check em { font-weight: bold; }
@media screen  and (max-width: 900px) {
  .list-check { font-size: 1rem;}
}

.conts-job-fair-bg { background: linear-gradient(#FFF 50%, #FFF18B 50%); }
.conts-job-fair { background: #5ABFE5 url("../img/job-fair-bg.svg") no-repeat center center / cover; }
.conts-job-fair .inner { position: relative; }
.conts-job-fair .job-fair-img { position: absolute; right: -14%; bottom: -70px; margin: auto; pointer-events: none; }

.title-job-fair { color: #FFF; font-size: 1.8rem; text-align: center; margin-bottom: 1em; font-weight: bold; }
.title-job-fair span { color: #FFEC5D; }

.list-job-fair > li { display: grid; grid-template-columns: 38% minmax(0, 1fr); border-radius: 10px; background: #FFF; overflow: hidden; margin-bottom: 2em; line-height: 1.7; }
.list-job-fair .img img { height: 100%; width: 100%; object-fit: cover; }
.list-job-fair .text { padding: 2.5em 2em;  }
.list-job-fair .title { color: #0B67A8; font-size: 1.5rem; font-weight: bold; margin-bottom: .5em; }

@media screen  and (max-width: 900px) {
  .title-job-fair { font-size: 1.5rem; }
  .list-job-fair .text { padding: 1.5em; }
  .list-job-fair .title { font-size: 1.2rem; }
  
  .conts-job-fair .job-fair-img { right: -3%; width: 20%; }
}
@media screen  and (max-width: 768px) {
  .title-job-fair { font-size: 1.3rem; }
  .conts-job-fair .job-fair-img {bottom: -40px; }
}
@media screen  and (max-width: 600px) {
  .list-job-fair > li { grid-template-columns: 1fr; }
  
}

.conts-flow { background: #FFF18B; }
.conts-flow .inner { position: relative; }
.conts-flow .img { position: absolute; right: -20%; bottom: -20px; margin: auto; }

.list-flow { counter-reset: listnum; }
.list-flow > li { background: #FFF; border-radius: 10px; margin-bottom: 10px; display: grid; grid-template-columns: 12em minmax(0, 1fr); padding: .57em; counter-increment: listnum; font-size: 1.25rem; font-weight: bold; }
.list-flow .title {  color: #164EA8; font-weight: bold; }
.list-flow .title::before { content: counter(listnum, decimal-leading-zero); margin-right: .5em; font-family: "Plus Jakarta Sans", sans-serif;}
.list-flow .conts { padding-left: 1em; border-left: 2px solid #164EA8;  }

@media screen  and (max-width: 900px) {
  
  .list-flow > li { grid-template-columns: 1fr; padding: 1em; font-size: 1rem;  }
  .list-flow .conts { border-left: 0; border-top: 2px solid #164EA8; padding-left: 0; padding-top: .5em; margin-top: .5em; ;  }
  .conts-flow .img { right: -5%; max-width: 50%; }
}
  
.conts-job-bg { background: linear-gradient(#FFF18B 50%, #164EA8 50%); position: relative; z-index: 2; }
.conts-job { background: #FFF; }
.conts-job .conts { display: grid; grid-template-columns: 50% minmax(0, 1fr); gap: 5%; margin-bottom: 2em; }
.conts-job .conts .title { color: #FFF; background: #164EA8; font-weight: bold; padding: .2em .5em; font-size: 1.25rem; margin-bottom: .5em; border-radius: 5px; }
.conts-job .conts .list-dot { margin: .5em 0; }

@media screen  and (max-width: 900px) {
  .conts-job .conts { grid-template-columns: 1fr;  }
  .conts-job .conts .img { margin-bottom: 2em; text-align: center; }
  .conts-job .conts .img img { width: 360px; max-width: 90%;  }
}
.conts-view { background:#164EA8;  }
.list-view { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; }
.list-view > li { background: #FFF; text-align: center; color: #164EA8;  padding: 1em; justify-content: space-between; flex-direction: column; display: flex; }

.list-view .title { font-size: 1.125rem; font-weight: bold; margin-bottom: .5em; }
.list-view .title span{ display: block; font-size: .6em; }
.list-view img { width: 90%; object-fit: contain; aspect-ratio: 2 / 1; margin: auto; display: block; }
.list-view .num { font-size: 1.125rem; font-weight: bold; }
.list-view .num span { font-size: 1.7em; margin-top: .5em; }

@media screen  and (max-width: 900px) {
  .list-view { display: flex; justify-content: center; gap: 0; flex-wrap: wrap; }
  .list-view > li { width: 48%; margin-bottom: 1em ;}
  .list-view > li:nth-child(2n) { margin-left: 4%; }
}

.conts-voice-bg { background: linear-gradient(#164EA8 50%, #088DC8 50%); }
.conts-voice { background: #FFF; }
.list-voice .comment { background: #F4F8FB; border-radius: 10px; padding: 1em; padding: 1.5em; font-size: 1.125rem;  }
.list-voice .comment .prof { color: #164EA8; text-align: right; margin-top: 1em;}
.list-voice > li { position: relative; margin-bottom: 1.5em; }
.list-voice > li .img { position: absolute; right: 100%; bottom: 0; margin: auto; width: 18%; margin-right: 1em; }
.list-voice > li:nth-child(2n) .img { width: 16%; left: 100%;  right: auto; margin-left: 1em; margin-right: auto; }

@media screen  and (max-width: 1100px) {
  .conts-voice .conts-width { width: 60%; }
}
@media screen  and (max-width: 900px) {
  .conts-voice .conts-width { width: 90%; }
  .list-voice > li { width: 80%; margin-left: auto; }
  .list-voice > li:nth-child(2) { width: 80%; margin-left: 0; margin-right: auto; }
}



.conts-faq-bg { background: #088DC8 url(../img/bg-faq.png) top center/ cover; }

.list-faq .item { border: 2px solid #164EA8; border-radius: 10px; cursor: pointer; overflow: hidden; }
.list-faq .item + .item { margin-top: 20px; }

.list-faq .item > dt,
.list-faq .item > dd .inner { padding: 1rem 4rem; position: relative; }
.list-faq .item > dt { font-size: 1.125rem; font-weight: 600; background: #FFF; }
.list-faq .item > dt::after { content: '＋'; position: absolute; right: 1rem; top: 1rem; margin: auto; font-size: 1.125rem; font-family: 'Noto Sans JP', sans-serif; font-weight: normal; color: #164EA8; }
.list-faq .item > dt.open::after { content: 'ー'; }
.list-faq .item > dd { display: none; }
.list-faq .item > dd .inner  { padding-right: 1rem; background: rgba(255, 255,255, .97); min-height: 4em; }
.list-faq .item > dt::before,
.list-faq .item > dd .inner::before { position: absolute; top: .5rem; left: 1rem; margin: auto; font-size: 1.8rem;  font-family: 'Plus Jakarta sans', sans-serif; }
.list-faq .item > dt::before { content: 'Q.'; color: #164EA8; }
.list-faq .item > dd .inner::before { content: 'A.'; color: #FF821A; }


.conts-requirement-bg { background: linear-gradient(#088DC8 50%, #FFF 50%); }
.conts-requirement { background: #FFF; }

.table-requirement-wrap { max-width: 560px; margin: 0 auto; }
.table-requirement { width: 100%; border: 2px solid #164EA8; border-radius: 10px; overflow: hidden;  margin-bottom: .5em;}
.table-requirement table { border-collapse: collapse; width: 100%; table-layout: fixed; }
.table-requirement tr + tr { border-top: 1px solid #164EA8;}
.table-requirement th { width: 30%; padding: 1em; background: #F4F8FB; color: #164EA8; border-right: 1px solid; font-weight: normal; }
.table-requirement td { padding: 1em; }


.list-recruit-flow { counter-reset: listnum; margin-bottom: 1.5em; }
.list-recruit-flow > li { counter-increment: listnum; font-size: 1.125rem; padding-left: 4em; position: relative; }
.list-recruit-flow > li::before { content: counter(listnum); width: 2em; height: 2em; display: block; font-size: 1.5rem; color: #0071BE; font-family: 'Plus Jakarta Sans', sans-serif; text-align: center; line-height: 2; background: #FFEC5D; border-radius: 50%; position: absolute; top: .7em; left: 0; margin: auto; }
.list-recruit-flow .inner {  border-bottom: 1px solid #91AEDB; padding: 1.5em 25% 1.5em 0 ; font-weight: 500; }
.list-recruit-flow .inner .sub{ display: flex; font-size: 1rem; font-weight: normal; margin-top: .3em; }


.list-recruit-flow .img1 { position: absolute; right: 3%; bottom: 0; margin: auto; }
.list-recruit-flow .img2 { position: absolute; right: 5%; top: 0%;  margin: auto; }
.list-recruit-flow .img3 { position: absolute; right: -2%; top: -30px; margin: auto; z-index: 2; }
.list-recruit-flow .img4 { position: absolute; right: -5%; bottom: -18px; margin: auto; }

.recruit-flow-note { padding-left: 4em; }

@media screen  and (max-width: 900px) {
  .list-recruit-flow .img1 { max-width: 10%; }
  .list-recruit-flow .img2 { max-width: 25%; }
  .list-recruit-flow .img3 { max-width: 25%; }
  .list-recruit-flow .img4 { max-width: 30%; }
}
@media screen  and (max-width: 450px) {
  .list-recruit-flow .inner  { padding-right: 0; }
  .list-recruit-flow .img2 { max-width: 35%; }
  .list-recruit-flow .img3 { max-width: 35%; }
  .list-recruit-flow .img4 { max-width: 40%; }
  .list-recruit-flow > li:nth-child(6) { padding-bottom: 15vw; }
  
  .recruit-flow-note { font-size: .9rem; padding: 0; margin: 0; }
}


.list-note > li { padding-left: 1em; }
.list-note > li::before { content: '※'; margin-left: -1em; width: 1em; display: inline-block; }


.cocnts-bottom-cv { background: url(../img/bg-bottom.jpg) no-repeat center center / cover; text-align: center; color: #FFF; padding: 138px 0; }
.cocnts-bottom-cv .title { font-size: 1.5rem; font-weight: bold; margin-bottom: 1em; }

@media screen  and (max-width: 900px) {
  .cocnts-bottom-cv .title { font-size: 1.2rem; }
}


.form-wrap { width: 100%; height:2830px;}
.form-wrap iframe { width: 100%; height: 100%; }
@media screen  and (max-width: 900px) {
.form-wrap { height:2980px;}
}