@charset "utf-8";
html {font-size: 62.5%}
body {
background-color: #FFFFFF;
color: #434343;
min-width: 1200px;
font-size: 1.8rem;
font-family: "Noto Sans JP", sans-serif;
-webkit-text-size-adjust: 100%;
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
 0% {opacity: 0}
 100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
 0% {opacity: 0}
 100% {opacity: 1}
}
select,input,button,textarea,button {font:99%;}
table {font-size:inherit;font:100%;}
pre,code,kbd,samp,tt {
font-family:monospace;
*font-size:108%;
line-height:100%;
}
a:link {
color: #000000;
transition: .3s;
}
a:visited {
color: #000000;
text-decoration: none;
}
a:hover {
color: #0099CC;
text-decoration: underline;
}
a:active {
color: #999999;
text-decoration: none;
}
@media (any-hover: hover) {
  a.btn img {
    transition: 0.3s ease-in-out;
    opacity: 1;
  }
  a.btn:hover img {
    opacity: .4;
  }
}

a {
outline: none;
}
::selection {
background: #000000;
color: #FFFFFF;
}
::-moz-selection {
background:#000000;
color:#FFFFFF;
}
::-webkit-selection {
background:#000000;
color:#FFFFFF;
}
strong {
font-weight: bold;
}
.pc {
display: inherit!important;
}
.sp {
display: none!important;
}
#wrapper {
overflow: hidden
}

/*--HEADER-------------*/
header {
position: fixed;
left: 0;
right: 0;
top: 0;
z-index: 99;
}
header .inner {
width: 96%;
margin-right: auto;
margin-left: auto;
height: 100px;
padding-top: 37px;
}
header h1 {
float: left;
}
header h1 img{
width: 300px;
height: auto
}
ul.btn_entry {
float: right;
display: flex;
gap: 17px;
margin-right: 100px;
}
ul.btn_entry li{
line-height: 45px;
width: 220px;
text-align: center
}
ul.btn_entry li a{
    font-size: 2.0rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #00347A;
    text-decoration: none;
    display: block;
    border-radius: 100px;
    background-color: #FFF;
    border: 3px solid #00347A;
}
ul.btn_entry li a:hover{
    color: #FFF;
    background-color: #00347A;
}
/*--PANEL_BTN--------*/
#panel-btn{
    display: inline-block;
    position: fixed;
    width: 110px;
    height: 100px;
    /*margin: 5px 0 10px;*/
    border-radius: 0% 0% 0% 50px;
    right: 0px;
    top: 0px;
    z-index: 9999999;
    animation-duration: 2s;
    border: 0;
    background-image: -webkit-linear-gradient(270deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 5px;
  margin: -3px 0 0 -20px;
  background: #FFF;
  border-radius: 100px;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 40px;
  height: 5px;
  background: #FFF;
  border-radius: 100px;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -17px;
}
#panel-btn-icon:after{
  margin-top: 11px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
/*--NAVIGATION-------------*/
#gnav {
clear: both;
background-color: #FFF;
position: fixed;
width: 100%;
height: 100vh;
z-index: 9;
display: none;
letter-spacing: 0.2em;
overflow-y: scroll
}
#gnav .inner {
margin-top: 180px;
width: 860px;
margin-right: auto;
margin-left: auto;
padding-bottom: 80px;
}
#gnav .ttl_heading {
font-size: 2.0rem;
font-weight: 600;
color: #575757;
margin-bottom: 35px;
}
#gnav .ttl_heading a {
color: #004A89;
margin-right: 0.2em;
text-decoration: none
}

#gnav ul.gnav_menu {
display: flex;
gap: 25px;
width: 100%;
margin-bottom: 35px;
flex-wrap: wrap
}
#gnav ul.gnav_menu li{
width: calc(calc(100% - 50px)/3);
text-align: center;
}
#gnav ul.gnav_menu li.wide{
width: calc( calc(calc(100% - 15px)/3) *2);
text-align: center;
}
#gnav ul.gnav_menu a {
    display: block;
    line-height: 50px;
    background-color: #FFF;
    border: 2px solid #969696;
    color: #434343;
    font-size: 1.6rem;
    text-decoration: none;
}
#gnav ul.gnav_menu a:hover {
    background-color: #004A89;
    border: 2px solid #004A89;
    color: #FFF;
}
/*--MAINVIS-------------*/
#mainVis {
width: 100%;
height: 100vh;
}
#mainVis video{
width: 100%;
height: 100vh;
object-fit: cover
}

/*--CONTENTS-------------*/
.contents {
width: 1200px;
margin-right: auto;
margin-left: auto;
}

/*--HEADING_TTL_BX-------------*/
.heading_ttl_bx{
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 50px;
}
.heading_ttl_bx h2.en{
font-size: 1.7rem;
font-weight: 600;
line-height: 1;
letter-spacing: 0.3em;
margin-bottom: 20px;
}
.heading_ttl_bx h2.en span{
    border-bottom: 3px solid #FFFFFF;
    padding-bottom: 2px;
}

/*--INDEX_INTRODUCTION-------------*/
#index_introduction{
    background-color: #EAF5FF;
    padding-top: 100px;
    line-height: 2.2;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 280px;
}
#index_introduction .contents{
position: relative
}
#index_introduction .read{
margin-bottom: 50px;
}
#index_introduction .ill{
position: absolute;
top:190px;
right: -190px;
}
#index_introduction .copy{
font-size: 40px;
font-weight: 600;
margin-bottom: 50px;
}

/*--INDEX_ABOUT-------------*/
#index_about{
    background-image: url(../../images/index_about_bg.svg);
    background-position: center top;
    background-repeat: no-repeat;
    margin-top: -145px;
    background-size: auto;
    text-align: center;
    padding-top: 60px;
    color: #FFF
}
@media screen and (min-width: 1920px){
#index_about{
background-size: 100% auto;
}
}

ul.index_about_list{
text-align: center;
display: flex;
justify-content: center;
gap: 70px;
margin-left: auto;
margin-right: auto;
margin-bottom: 100px;
}
ul.index_about_list li{
width: 340px;
}
ul.index_about_list li .thum img{
    width: 100%;
    height: auto;
}
ul.index_about_list li .btn_rounde a{
    font-size: 2.0rem;
    font-weight: 600;
    color: #FFF;
    text-decoration: none;
    display: block;
    border-radius: 100px;
    border: 3px solid #FFF;
    line-height: 74px;
    background-image: url(../../images/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 17px center;
}
ul.index_about_list li .btn_rounde a:hover{
    color: #FFF;
    background-color: #FFA143;
    border: 3px solid #FFA143;
    background-image: url(../../images/arrow_or_02.svg);
}
#index_about .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
}

/*--INDEX_JOBS-------------*/
#index_jobs{
    background-image: url(../../images/index_jobs_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 180px;
    color: #FFF
}
.index_job_cont{
position: relative;
    width: 470px;
    padding: 90px 70px 70px 70px;
    margin-bottom: 100px;
}
.index_job_cont::after {
  content: '';
  background: #004A89;
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.index_job_cont .txt_bx{
  position: relative;
  z-index: 2;
}
.index_job_cont .btn_more{
text-align: right;
margin-top: 30px;
font-size: 2.0rem;
color: #FFF;
}
.index_job_cont .btn_more a{
    text-decoration: none;
    color: #FFF;
    line-height: 28px;
    padding-right: 35px;
    background-image: url(../../images/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right center;
}
.index_job_cont .btn_more a:hover{
    background-image: url(../../images/arrow_or_02.svg);
}
#index_jobs .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center
}

/*--INDEX_INTERVIEW-------------*/
#index_interview{
    background-color: #EAF5FF;
    padding-top: 80px;
    padding-bottom: 110px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.index_interview_bx{
    width: 1480px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 70px;
    text-align: center;
    color: #FFF;
    background-image: -webkit-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    border-top-right-radius: 50px 50px;
    border-bottom-left-radius: 50px 50px;
}
ul.indexinterview_list{
margin-top: 60px;
margin-bottom: 60px;
display: flex;
justify-content: center;
gap: 40px;
}
ul.indexinterview_list li{
    width: 400px;
    border-top-right-radius: 30px 30px;
    border-bottom-left-radius: 30px 30px;
    background-color: #FFF;
    -webkit-box-shadow: 5px 5px #00347A;
    box-shadow: 5px 5px #00347A;
}
ul.indexinterview_list li a{
    text-decoration: none
}
ul.indexinterview_list li a:hover{
    text-decoration: none;
    color: #434343;
    opacity: .6;
}
ul.indexinterview_list li .thum img{
width: 100%;
height: auto;
border-top-right-radius: 30px 30px;
}
ul.indexinterview_list li .meta{
border-bottom-left-radius: 30px 30px;
text-align: left;
padding: 18px 32px;
font-size: 1.9rem;
}
ul.indexinterview_list li .meta .name{
font-size: 2.4rem;
}
ul.indexinterview_list li .meta .name span{
font-size: 1.9rem;
}
#index_interview .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center
}

/*--INDEX_SUPPORT-------------*/
#index_support{
    background-image: url(../../images/index_support_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 150px;
    color: #FFF
}
.index_support_cont{
position: relative;
    width: 627px;
    padding: 30px;
    margin-bottom: 100px;
margin-right: 0;
margin-left: auto;
text-align: center
}
.index_support_cont::after {
  content: '';
  background: #004A89;
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.index_support_cont .txt_bx{
  position: relative;
  z-index: 2;
}
ul.index_support_list{
display: flex;
flex-wrap: wrap;
gap: 26px;
margin-top: 40px;
}
ul.index_support_list li {
width: calc(calc(100% - 26px)/2)
}
ul.index_support_list li:first-child {
width: 100%
}
ul.index_support_list li .btn_rounde a{
    font-size: 1.8rem;
    font-weight: 600;
    color: #FFF;
    text-decoration: none;
    display: block;
    border-radius: 100px;
    border: 3px solid #FFF;
    line-height: 67px;
    background-image: url(../../images/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 17px center;
}
ul.index_support_list li .btn_rounde a:hover{
    color: #FFF;
    background-color: #FFA143;
    border: 3px solid #FFA143;
    background-image: url(../../images/arrow_or_02.svg);
}
#index_support .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: left
}

/*--INDEX_INFO-------------*/
#index_info{
    background-color: #EAF5FF;
    padding-top: 90px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.index_info_cont{
width: 550px;
float: left
}
.index_info_cont .heading_ttl_bx h2.en span{
    border-bottom: 3px solid #434343;
    padding-bottom: 2px;
}
#index_info .ph_wrap{
    margin-left: auto;
margin-right: calc(calc(calc(100vw - 1200px) / 2) * -1);
    width: calc(544px + calc(calc(100vw - 1200px) / 2));
    height: 630px;
    background-image: url(../../images/index_info_ph.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    border-top-left-radius: 100px 100px;
}
ul.index_info_list{
    margin-top: 45px;
    border-top: 1px solid #434343;
}
ul.index_info_list li{

}
ul.index_info_list li a{
    display: block;
    line-height: 60px;
    padding: 12px;
    font-weight: 600;
    text-decoration: none;
    background-image: url(../../images/arrow_bl_01.svg), -webkit-linear-gradient(0deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-image: url(../../images/arrow_bl_01.svg), -moz-linear-gradient(0deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-image: url(../../images/arrow_bl_01.svg), -o-linear-gradient(0deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-image: url(../../images/arrow_bl_01.svg), linear-gradient(90deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-position: right 20px center, right 0px center;
    background-repeat: no-repeat, no-repeat;
    border-bottom: 1px solid #434343;    
}
ul.index_info_list li a:hover{
    color: #FFF;
        background-image: url(../../images/arrow_bl_02.svg), -webkit-linear-gradient(0deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: url(../../images/arrow_bl_02.svg), -moz-linear-gradient(0deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: url(../../images/arrow_bl_02.svg), -o-linear-gradient(0deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: url(../../images/arrow_bl_02.svg), linear-gradient(90deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-position: right 20px center, right 0px center;
    background-repeat: no-repeat, no-repeat;
    border-bottom: 1px solid rgba(67,67,67,0.00);
}

/*--FOOTER-------------*/
#footer_ph{
    width: 100%;
    height: 370px;
    background-image: url(../../images/ft_ph.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
footer {
    background-color: #E5D0F5;
    clear: both;
    padding-top: 50px;
    padding-bottom: 70px;
    background-image: -webkit-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    color: #FFF;
}
footer .cont {
display: flex;
justify-content: center;
gap: 80px;
margin-bottom: 60px;
}
footer .ft_nav_bx {}
footer .ft_nav_bx a {
text-decoration: none;
color: #FFF
}
footer .ft_nav_bx a:hover {
text-decoration: underline;
}
footer .ft_nav_bx .ttl_heading {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 25px;
}
footer .ft_nav_bx ul.gnav_menu {
font-size: 1.5rem;
}
footer li {
margin-bottom: 10px;
}
.ft_copy{
text-align: center;
font-size: 1.6rem;
}

/*--SUB_PAGE-------------*/
#mainVis_sub {
    width: 100%;
    height: 763px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    overflow: hidden
}
#heading_bx{
    width: 100%;
    padding-bottom: 50px;
    background-image: -webkit-linear-gradient(270deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    color: #FFF;
    text-align: center;
    line-height: 2
}
#heading_bx .read{
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 0.3em
}

.anc{
display: block;
padding-top: 150px;
margin-top: -150px;
}

/*--ABOUT_PAGE-------------*/
#mainVis_sub.mv_about {
    background-image: url(../../images/_about/mv.jpg);
}
#mainVis_sub.mv_about .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center;
position: absolute;
bottom: 25px;
left: 0;
right: 0;
color: #FFF
}
#about_outline {
width: 100%;
padding-top: 100px;
    padding-bottom: 170px;
    color: #FFF;
text-align: center;
    background-image: url(../../images/_about/about_outline_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#about_outline .ttl {
font-size: 5.0rem;
font-weight: 600;
margin-bottom: 50px;
}
#about_outline .read {
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 60px;
}
#about_outline p {
line-height: 2.6
}

.cont_about_wrap{
    background-color: #EAF5FF;
    padding-top: 190px;
}
.about_bx{
    background-color: #FFFFFF;
    border: 10px solid #5FA6EF;
    border-top-right-radius: 150px 150px;
    border-bottom-right-radius: 150px 150px;
    border-bottom-left-radius: 150px 150px;
    padding: 70px;
    position: relative;
     margin-bottom: 210px;
}
.about_bx .heading_ttl{
    width: 560px;
    line-height: 130px;
    font-size: 5.0rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #FFF;
    background-image: -webkit-linear-gradient(180deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: -moz-linear-gradient(180deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: -o-linear-gradient(180deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: linear-gradient(270deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    position: absolute;
    left: -10px;
    top: -70px;
}
.about_num_bx{
    text-align: center;
    margin-bottom: 40px;
    border-bottom: 5px solid #B1B3B6;
}
.about_num_bx.end{
    border-bottom: none;
}
.about_num_bx .ttl{
color: #004A89;
font-size: 2.5rem;
font-weight: 600;
margin-bottom: 30px;
}
.about_num_bx p {
line-height: 2
}
.about_num_bx .fig {
padding-top: 40px;
padding-bottom: 60px;
}
.about_bx .ttl_txt{
color: #004A89;
font-size: 3.0rem;
font-weight: 600;
text-align: center;
margin-top: 70px;
margin-bottom: 90px;
}

ul.facilities{
width: 820px;
display: flex;
flex-wrap: wrap;
gap: 100px;
margin-left: auto;
margin-right: auto;
}
ul.facilities li{
width: 360px;
font-size: 1.74rem;
}
ul.facilities li .thum{
margin-bottom: 27px;
}
ul.facilities li .thum img{
width: 100%;
height: auto
}
ul.facilities li .ttl{
    background-color: #EAF5FF;
    border: 2px solid #707070;
    border-radius: 100px;
    text-align: center;
    line-height: 1;
    font-size: 2.5rem;
    font-weight: 600;
    padding: 15px;
    margin-bottom: 25px;
}
.about_bx .floor{
text-align: center;
margin-top: 40px;
margin-bottom: 40px;
}
.about_bx .ttl_small{
margin-bottom: 1em
}
ul.ph_floor_ph{
display: flex;
flex-wrap: wrap;
gap: 40px;
margin-left: auto;
margin-right: auto;
}
ul.ph_floor_ph li{
width: calc(calc(100% - 40px)/2);
}
ul.ph_floor_ph li  img{
width: 100%;
height: auto
}

/*--JOBS_PAGE-------------*/
#mainVis_sub.mv_jobs {
    background-image: url(../../images/_jobs/mv.jpg);
}
#mainVis_sub.mv_jobs .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1.2;
text-align: center;
position: absolute;
bottom: 25px;
left: calc(calc(100% - 1200px )/2);
right: auto;
color: #004A89
}

.ttl_job{
white-space: nowrap;
font-size: 3.5rem;
font-weight: 600;
text-align: center;
margin-top: 90px;
margin-bottom: 70px;
letter-spacing: 0.2em;
}
.ttl_job span{
    white-space: nowrap;
    font-size: 3.5rem;
    font-weight: 600;
    text-align: center;
    border-bottom: 3px solid #72C1B7;
    padding-bottom: 5px;
    padding-left: 0.2em;
}
.ttl_job.jimu span{
    border-bottom: 3px solid #AA93DB;
}
.ph_job{
display: flex;
gap:40px;
margin-bottom: 110px;
}
.ph_job li img{
width: 100%;
height: auto
}
table.tbl_jobs{
    border-top: 1px solid #707070;
    border-left: 1px solid #707070;
    margin-bottom: 60px;
}
table.tbl_jobs th,table.tbl_jobs td{
    border-bottom: 1px solid #707070;
    border-right: 1px solid #707070;
    padding: 30px;
}
table.tbl_jobs th{
vertical-align: middle;
white-space: nowrap;
font-size: 2.2rem;
font-weight: 600;
text-align: center;
background-color: #ACDED8
}
table.tbl_jobs .cate{
vertical-align: middle;
white-space: nowrap;
font-size: 2.2rem;
font-weight: 600;
text-align: center;
background-color: #E8E8E8
}
table.tbl_jobs.jimu th{
background-color: #C9B4DE;
color: #FFF
}
table.tbl_jobs.jimu th.kanri{
background-color: #A39FD9;
color: #FFF
}
.ttl_job_middle{
font-size: 3.0rem;
font-weight: 600;
margin-bottom: 30px;
}
.btn_job_interview{
text-align: center;
margin-top: 50px;
margin-bottom: 20px;
}
.btn_job_interview a{
    background-color: #71BFB6;
    color: #FFF;
    text-decoration: none;
    font-weight: 600;
    line-height: 1;
    border-radius: 100px;
    padding: 20px 80px;
    background-image: url(../../images/_jobs/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 30px center;
    -webkit-box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.16);
    box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.16);
    border: 3px solid #71BFB6;
}
.btn_job_interview a:hover{
    background-color: #FFF;
    color: #71BFB6;  
    border: 3px solid #71BFB6;
}
.btn_job_interview.jimu a{
    background-color: #A39FD9;
    color: #FFF;
    border: 3px solid #A39FD9;
}
.btn_job_interview.jimu a:hover{
    background-color: #FFF;
    color: #A39FD9;  
    border: 3px solid #A39FD9;
}

/*--INTERVIEW 01-------------*/
#mainVis_sub.interview01{
    background-image: url(../../images/_interview/mv01.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.interview02{
    background-image: url(../../images/_interview/mv02.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.interview03{
    background-image: url(../../images/_interview/mv03.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.interview01 .copy_big,
#mainVis_sub.interview02 .copy_big,
#mainVis_sub.interview03 .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center;
position: absolute;
bottom: 25px;
left: 0;
right: 0;
color: #FFF
}
#mainVis_sub.interview01 .copy_big{
color: #004A89
}
.mv_interview_cont{
position: relative;
    width: 400px;
    height: 400px;
    margin-bottom: 100px;
    color: #FFF;
    margin-right: 0;
    margin-left: auto;
    top: 150px;
}
.mv_interview_cont::after {
  content: '';
  background: #004A89;
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.mv_interview_cont .txt_bx{
  position: relative;
  z-index: 2;
  width: 400px;
    height: 400px;
  padding: 70px 0px 40px 30px;
}
.mv_interview_cont .read{
font-size: 3.0rem;
}
.mv_interview_cont .meta{
position: absolute;
bottom: 40px;
}
.mv_interview_cont .meta .label{
font-size: 2.3rem;
}
.mv_interview_cont .meta .name{
font-size: 3.0rem;
}
.mv_interview_cont .meta .name span{
font-size: 2.0rem;
}
.interview_wrap{
    background-color: #EAF5FF;
    background-image: url(../../images/_interview/bg_daen.png), url(../../images/index_introduction_bg.png);
    background-position: center top 250px, center bottom;
    background-repeat: no-repeat, no-repeat;
    padding-bottom: 120px;
}
.interview_ttl_bx{
padding-top: 70px;
text-align: center;
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 116px;
}
.interview_ttl_bx h2{
margin-bottom: 15px;
}
.itv_cont{
margin-bottom: 50px;
}
.itv_cont .txt{
width: 530px;
float: left;
padding-top: 74px;
}
.itv_cont .txt .itv_txt{
letter-spacing: 0.05em;
line-height: 1.8
}
.itv_cont .txt .heading{
display: flex;
margin-bottom: 30px;
}
.itv_cont .txt .heading p{
padding-top: 40px;
color: #004A89;
font-size: 2.5rem;
}
.itv_cont .ph{
float: right;
width: 50vw;
height: 580px;
margin-right: calc(calc(calc(100vw - 1200px) / 2) * -1);
}
.itv_cont .ph img{
width: 50vw;
height: 580px;
object-fit: cover
}
.itv_cont.even .txt{
float: right;
}
.itv_cont.even .ph{
float: left;
margin-right: auto;
margin-left: calc(calc(calc(100vw - 1200px) / 2) * -1);
}
.interview_wrap_talk{
    background-color: #EAF5FF;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.ttl_itv_line{
white-space: nowrap;
font-size: 2.5rem;
font-weight: 600;
text-align: center;
margin-bottom: 70px;
letter-spacing: 0.2em;
}
.ttl_itv_line span{
    border-bottom: 3px solid #707070;
    padding-bottom: 5px;
    padding-left: 0.2em;
}
.itv_talk{
    width: 1200px;
    border-radius: 50px;
    padding: 100px 90px;
    background-image: -webkit-linear-gradient(270deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
    background-image: -o-linear-gradient(270deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
    background-image: linear-gradient(180deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
}
.chat_row{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:18px;
  position:relative;
  z-index:1;
}
.icon{
  width:88px;
  flex-shrink:0;
}
.icon img{
  width:100%;
  height:auto;
  display:block;
}
.balloon{
  position:relative;
  border-radius:12px;
  line-height:2;
  box-sizing:border-box;
}
.balloon.q{
  background:#f89a2b;
  color:#fff;
  padding:20px 40px;
  min-width:430px;
}
.balloon.q::before{
  content:"";
  position:absolute;
  left:-18px;
  top:24px;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-right:18px solid #f89a2b;
}
.balloon.a{
  background:#FFFFFF;
  padding:24px 38px;
}
.balloon.a::before{
  content:"";
  position:absolute;
  left:-18px;
  top:24px;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-right:18px solid #FFF;
}
.day_schedule{
    background-image: url(../../images/_interview/bg_flow.png);
    padding-top: 65px;
    padding-bottom: 110px;
    text-align: center
}
.itv_mov_wrap{
    background-color: #EAF5FF;
    padding-top: 140px;
    padding-bottom: 110px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.itv_mov_wrap .btn_inv_mov{
cursor: pointer
}
.itv_mov_wrap .btn_inv_mov img{
width: 100%;
height: auto
}
.modal-video-body {
  max-width: 1300px!important;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}
.itv_offtime{
background-color: #66B9FF;
padding-top: 50px;
padding-bottom: 90px;
color: #FFF
}
.itv_offtime .ttl_itv_line{
color: #FFF
}
.itv_offtime .ttl_itv_line span{
    border-bottom: 3px solid #FFF;
}
.itv_offtime .txt{
margin-top: 70px;
padding-left: 60px;
width: 460px;
min-height: 340px;
}
.itv_offtime .txt .ttl_offtime{
font-size: 2.2rem;
text-align: center;
margin-bottom: 25px;
 position: relative;
 display:inline-block;
 line-height: 32px;
}
.itv_offtime .contents{
position: relative;
}
.itv_offtime .contents .ph{
position: absolute;
right: -90px;
bottom: -90px;
}
.itv_other_bx{
    background-color: #EAF5FF;
    padding-top: 140px;
    padding-bottom: 110px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
/*--SUPPOET TALK-------------*/
#mainVis_sub.sup_talk{
    background-image: url(../../images/_support/mv.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.sup_talk .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center;
position: absolute;
top: 140px;
left: calc(calc(100% - 1200px) / 2);
right: auto;
color: #004A89
}
#mainVis_sub.sup_talk .sup_talk_read{
font-size:4.5rem;
line-height: 2.2;
text-align: right;
position: absolute;
bottom: 46px;
right: calc(calc(100% - 1200px) / 2);
color: #FFF
}
#mainVis_sub.sup_talk .sup_talk_read span{
background-color: rgba(6,40,70,0.84);
padding: 0px 20px;
}
.sup_talk_wrap{
    background-color: #EAF5FF;
    background-image: 
    url(../../images/_interview/bg_daen.png);
    background-position: center top 450px;
    background-repeat: no-repeat;
    padding-bottom: 120px;
}
.sup_talk_ttl_bx{
padding-top: 70px;
text-align: center;
margin-bottom: 116px;
line-height: 2;
}
.sup_talk_ttl_bx .ttl_sub{
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 15px;
}
.sup_talk_ttl_bx h2{
margin-bottom: 15px;
}
ul.member_list{
display: flex;
gap: 40px;
margin-bottom: 30px;
}
ul.member_list li{
width: calc(calc(100% - 120px)/4);
text-align: center;
color: #004A89;
font-size: 2.3rem
}
ul.member_list li .thum{
margin-bottom: 20px;
}
ul.member_list li .thum img{
width: 100%;
height: auto
}
ul.member_list li .name{
font-size: 3.0rem
}
ul.member_list li .year{
font-size: 2.0rem
}
ul.talk_nav{
margin-bottom: 75px;
}
ul.talk_nav li{
margin-bottom: 25px;
}
ul.talk_nav li a{
    border: 5px solid #004A89;
    background-color: #FFF;
    font-size: 3.0rem;
    color: #004A89;
    text-decoration: none;
    border-radius: 100px;
    background-image: url(../../images/_support/ico_arrow_blue.svg);
    background-position: right 25px center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    padding-left: 25px;
} 
ul.talk_nav li a .num{
    font-size: 5.0rem;
    margin-right: 0.5em
}
ul.talk_nav li a:hover{
    background-image: url("../../images/_support/ico_arrow_or.svg");
} 
.talk_cont_wrap{
background: #FFF
}
.talk_cont_block{
padding-top: 100px;
margin-bottom: 100px;
width: 860px;
margin-left: auto;
margin-right: auto;
}
.ttl_parentheses{
    background-image: 
    url(../../images/_support/ttl_bg01.svg), 
    url(../../images/_support/ttl_bg02.svg);
    background-position: left top, right bottom;
    background-repeat: no-repeat, no-repeat;
    width: 390px;
    padding-top: 30px;
    padding-bottom: 30px;
    color: #004A89;
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto
}
.talk_bx{
display: flex;
gap: 50px;
margin-bottom: 44px;
line-height: 2.1;
}
.talk_bx .thum{
text-align: center;
font-size: 1.4rem;
color: #004A89;
width: 130px;
}
.talk_bx .thum img{
width: 100%;
height: auto;
}
.talk_bx .txt{
width: 680px;
}
.talk_ph{}
.talk_ph img{
width: 100%;
height: auto
}

.sup_other_bx{
padding-top: 90px;
padding-bottom: 110px;
}
.sup_other_list{
display: flex;
gap: 30px;
}
.sup_other_list li{
width: calc(calc(100% - 30px)/2);
}
.sup_other_list li img{
width: 100%;
height: auto
}

/*--SUPPOET 人材育成・教育制度-------------*/
#mainVis_sub.support_jinzai{
    background-image: url(../../images/_support/mv_support.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.support_jinzai .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center;
position: absolute;
bottom: 30px;
left: 0;
right: 0;
color: #FFF
}
.support_col{
background-color: #EAF5FF;
padding-top: 74px;
padding-bottom: 54px;
}
.ttl_sup{
white-space: nowrap;
font-size: 3.5rem;
font-weight: 600;
text-align: center;
margin-top: 90px;
margin-bottom: 70px;
letter-spacing: 0.2em;
}
.ttl_sup span{
    white-space: nowrap;
    font-size: 3.5rem;
    font-weight: 600;
    text-align: center;
    border-bottom: 3px solid #FFA143;
    padding-bottom: 5px;
    padding-left: 0.2em;
}
.ttl_sup.no_mt{
margin-top: 0px;
}
.jinzai_txt{
width: 920px;
margin-left: auto;
margin-right: auto;
margin-bottom: 70px;
}
.jinzai_txt .ttl{
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 30px;
text-align: center
}
/* 研修スケジュール */
.schedule_head{
  background: #004A89;
  color: #FFF;
  padding: 7px 20px;
  font-size: 2.5rem;
  font-weight: bold;
  display: inline-block;
}
.schedule_table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #707070;
  margin-bottom: 200px;
}
.schedule_table td{
    vertical-align: middle;
    padding: 40px 0;
    border-bottom: 1px dotted #707070;
}
.schedule_table .month{
  width: 124px;
  background: #EAF5FF;
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  color: #004A89;
  position: relative;
}
.schedule_table .line{
  width: 3px;
  position: relative;
  background-color: #004A89
}
.schedule_table .line::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 25px;
  background: #fff;
  border: 3px solid #004A89;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.schedule_table .cont{
  padding: 40px 40px;
  min-height: 200px;
  position: relative
}
.schedule_table .cont h3{
  margin-bottom: 12px;
  color: #004A89;
  font-size: 2.2rem;
  font-weight: bold;
}
.schedule_table .cont p{
  line-height: 2;
}
.schedule_table .flex{
  display: flex;
  gap: 60px;
}
.schedule_table .flex .item{
  width: 50%;
}
.schedule_table .cont .kenshu_bx{
    position: absolute;
    border: 3px solid #7C9EEB;
    border-radius: 44px;
    padding: 30px 50px;
    width: 960px;
    top: 270px;
}
.schedule_table .cont .kenshu_bx h3{
margin-top: -50px;
display: block;
}
.schedule_table .cont .kenshu_bx h3 span{
background-color: #FFF;
padding-left: 0.5em;
padding-right: 0.5em
}
.schedule_table .cont .kenshu_bx .kenshu_flex{
display: flex;
gap: 60px;
}
.schedule_table .cont .kenshu_bx .kenshu_flex .txt{
width: 420px;
}
.schedule_table .cont .kenshu_bx .kenshu_flex .ph{
width: 390px;
}
.schedule_table .cont .kenshu_bx .kenshu_flex .ph img{
width: 100%;
height: auto
}
.spacer_4gatsu{
height: 180px;
}
.spacer_5gatsu{
height: 160px;
}
.support_flow{
display: flex;
gap: 40px;
align-items: flex-end;
position: relative
}
.support_flow .step_bx{
width: calc(calc(100% - 80px)/3);
border-radius: 10px;
padding: 30px;
background-color: #50C5F0;
color: #FFF;
position: relative;
line-height: 2;
}
.support_flow .step_bx .ttl{
text-align: center;
background-color: #FFF;
font-size: 2.2rem;
font-weight: 600;
color: #4D9FF0;
border-radius: 100px;
padding: 14px;
line-height: 1;
margin-bottom: 30px;
}
.support_flow .step_bx.step01{
    height: 515px;
    background-image: -webkit-linear-gradient(0deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
}
.support_flow .step_bx.step02{
    height: 570px;
    background-image: -webkit-linear-gradient(0deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
}
.support_flow .step_bx.step03{
    height: 620px;
    background-image: -webkit-linear-gradient(0deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
}
.support_flow .kaisou_fig{
position: absolute;
left: 172px;
top: -229px;
}

/*--SUPPOET 福利厚生-------------*/
#mainVis_sub.support_benefit{
    background-image: url(../../images/_support/mv_benefit.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.support_benefit .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center;
position: absolute;
bottom: 30px;
left: auto;
right: calc(calc(100% - 1200px )/2);
color: #004A89
}
.benefit_txt{
width: 990px;
margin-left: auto;
margin-right: auto;
margin-bottom: 70px;
line-height: 2;
}
.benefit_txt .ttl{
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 30px;
color: #004A89
}
.benefit_topics{
    margin-top: 140px;
    margin-bottom: 120px;
    border: 2px solid #707070;
    border-radius: 63px;
    padding-top: 100px;
    padding-left:80px;
    padding-right: 80px;
    padding-bottom: 60px;
    position: relative
}
.benefit_topics .ttl_circle{
position: absolute;
width: 174px;
line-height: 174px;
border-radius: 200px;
background-color: #004A89;
color: #FFF;
text-align: center;
font-size: 2.5rem;
font-weight: 600;
left: -50px;
top: -100px;
}
.benefit_topics .bt_flex{
display: flex;
gap:40px;
}
.benefit_topics .bt_flex .txt{
width: 480px;
}
.benefit_topics .bt_flex .txt .ttl{
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 1em
}
.benefit_topics .bt_flex .ph{
width: 520px;
}
.benefit_topics .bt_flex .ph img{
width: 100%;
height: auto
} 

/*--INFO 募集コース-------------*/
#mainVis_sub.info{
    background-image: url(../../images/_info/mv.jpg);
    background-position: center center;
    background-size: cover;
}
.info_anc_nav{
display: flex;
gap:10px;
margin-bottom: 50px;
}
.info_anc_nav li{
width: calc(calc(100% - 30px)/4);
}
.info_anc_nav li a{
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
    color: #FFF;
    background-color: #FFA143;
    line-height: 1;
    padding: 30px;
    -webkit-box-shadow: 3px 3px 0px rgba(0,0,0,0.16);
    box-shadow: 3px 3px 0px rgba(0,0,0,0.16);
    text-decoration: none;
    display: block
}
.info_tbl_head{
background-color: #004A89;
color: #FFF;
text-align: center;
font-size: 2.0rem;
font-weight: 600;
padding: 30px;
}
.info_tbl_head .ttl{
font-size: 2.5rem;
} 
table.tbl_info{
    width: 100%;
    border-top: 1px solid #707070;
    border-left: 1px solid #707070;
    margin-bottom: 80px;
}
table.tbl_info th,table.tbl_info td{
    padding: 50px 40px;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
}
table.tbl_info td.for_tble_in{
    padding: 0px 0px;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
}
table.tbl_info td.for_tble_in p.for_tble_in_txt{
    padding: 20px 40px;
}
table.tbl_info th{
background-color: #EAF5FF;
font-size: 2.2rem;
font-weight: 600;
text-align: center;
white-space: nowrap
}
table.tbl_info_in{
    width: 100%;
    border-top: 0px solid #707070;
    border-left: 0px solid #707070;
    margin-bottom: 10px;
}
table.tbl_info_in th,table.tbl_info_in td{
    padding: 25px 20px;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
    text-align: center
}
table.tbl_info_in th{
background-color: #F0F0F0;
font-size: 2.2rem;
font-weight: 600;
text-align: center;
white-space: nowrap
}
a.txt_red{
color: #FF5050
}
.motomeru_jinzai_bx{
width: 1028px;
margin-left: auto;
margin-right: auto;
    background-image: 
    url(../../images/_info/motomeru_bg01.svg), 
    url(../../images/_info/motomeru_bg02.svg);
    background-position: left top, right bottom;
    background-repeat: no-repeat, no-repeat;
    padding-top: 80px;
    padding-bottom: 100px;
    padding-left: 80px;
    padding-right: 100px;
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 50px;
line-height: 2.5
}
.motomeru_jinzai_bx .ttl{
    font-size: 2.5rem;
   text-align: center;
    margin-bottom: 50px;

}
/* フロー */
.saiyou_flow{
margin-bottom: 100px;
}
.saiyou_flow li{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:90px;
  margin-bottom:46px;
  padding:20px 40px;
  border-radius:16px;
  background:#004A89;
  color:#FFF;
  font-size:2.2rem;
  font-weight:600;
  line-height:1.6;
  text-align:center;
}
.saiyou_flow li span.notice{
display: block;
font-size: 1.8rem;
font-weight: normal
}
.saiyou_flow li::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-30px;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:26px solid transparent;
  border-right:26px solid transparent;
  border-top:30px solid #005193;
}
.saiyou_flow li:last-child::after{
  display:none;
}
.saiyou_flow li:last-child{
  margin-bottom:0;
  background:linear-gradient(
    90deg,
    #4e88ea 0%,
    #72c3e3 100%
  );
  font-size:3.5rem;
  font-weight:600;
}
.saiyou_flow li a{
  color:#F47A7A;
  text-decoration:none;
  position:relative;
}
.saiyou_flow li a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  background:#F47A7A;
}

/* =========================
   SP
========================= */

@media screen and (max-width:768px){
  .saiyou_flow li{
    min-height:72px;
    padding:18px 20px;
    font-size:16px;
    border-radius:12px;
    margin-bottom:36px;
  }
  .saiyou_flow li::after{
    bottom:-24px;
    border-left:20px solid transparent;
    border-right:20px solid transparent;
    border-top:24px solid #005193;
  }
  .saiyou_flow li:last-child{
    font-size:34px;
  }
}

/* FAQ */
.faq_item{
  background:#FFF;
  margin-bottom:40px;
}
.faq_q{
  width:100%;
  border:none;
  background:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  position:relative;
  padding:46px 70px;
  text-align:left;
}
.faq_icon{
  width:40px;
  height:40px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-right:16px;
  color:#fff;
  font-size:2.2rem;
  font-weight:600;
}
.faq_icon.q{
  background:#004A89;
}
.faq_icon.a{
  background:#FFA143;
}
.faq_text,
.faq_a p{
  line-height:2;
  font-weight:600;
  font-size:1.8rem;
}
.faq_toggle{
  width:36px;
  height:36px;
  border:2px solid #888;
  border-radius:50%;
  position:absolute;
  right:45px;
  top:50%;
  transform:translateY(-50%);
}
.faq_toggle::before,
.faq_toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:#888;
  transform:translate(-50%,-50%);
  transition:.3s;
}
.faq_toggle::before{
  width:14px;
  height:2px;
}
.faq_toggle::after{
  width:2px;
  height:14px;
}
.faq_item.active .faq_toggle::after{
  opacity:0;
}
.faq_a_wrap{
  max-height:0;
  overflow:hidden;
  transition:
    max-height .45s ease,
    padding .45s ease;
  padding: 0 70px;
}
.faq_item.active .faq_a_wrap{
  max-height:400px;
  padding:0 70px 55px 70px;
}
.faq_a{
  display:flex;
  align-items:flex-start;
}
.faq_a p{
  margin:0;
}

/*--INFO インターンシップ-------------*/
#mainVis_sub.info_internship{
    background-image: url(../../images/_info/mv_internship.jpg);
    background-position: center center;
    background-size: cover;
}
.info_internship{
width: 990px;
margin-left: auto;
margin-right: auto;
line-height: 2.2;
font-size: 2.2rem;
}
table.internship_timetable{
margin-top: 2em;
margin-bottom: 2em;
}
table.internship_timetable th{
padding-right: 2em
}
.btn_internship{
margin-top: 3em;
margin-bottom: 3em
}
.btn_internship a{
    border: 5px solid #00347A;
    border-radius: 20px;
    display: block;
    text-decoration: none;
    text-align-last: center;
    font-size: 2.0rem;
    font-weight: 600;
    line-height: 90px;
    color: #00347A;
    -webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.26);
    box-shadow: 3px 3px 3px rgba(0,0,0,0.26);
    background-image: url(../../images/_info/arrow_blue_01.svg);
    background-repeat: no-repeat;
    background-position: right 270px center;
}
.btn_internship a:hover{
background-color: #00347A;
color: #FFF;
    background-image: url(../../images/_info/arrow_blue_02.svg);
}


/*--INFO 中途採用-------------*/
#mainVis_sub.info_middle{
    background-image: url(../../images/_info/mv_middle.jpg);
    background-position: center center;
    background-size: cover;
}
table.tble_in_plain{}
table.tble_in_plain th,table.tble_in_plain td{
    padding: 5px 0px;
    border-right: 0px solid #707070;
    border-bottom: 0px solid #707070;
    text-align: left;
    vertical-align: top;
    padding-right: 1em
}
table.tble_in_plain td:last-child{
    padding-right: 0em
}
table.tbl_info.or th{
background-color: #FFF7EA;
}
.middle_houhou_wrap{
margin-bottom: 50px;
width: 740px;
margin-left: auto;
margin-right: auto
}
.middle_houhou_wrap .mh_bx{
margin-bottom: 40px;
}
.middle_houhou_wrap .mh_bx .ttl{
color: #004A89;
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 0.2em
}
.middle_info{
    border: 3px solid #00347A;
    border-radius: 65px;
    padding: 70px 330px;
    font-size: 2.2rem;
    font-weight: 600;
    position: relative;
    line-height: 2.2
}
.middle_info .ttl{
color: #004A89;
font-size: 2.8rem;
position: absolute;
text-align: center;
left: 0;
right: 0;
top: -25px;
}
.middle_info .ttl span{
background-color: #FFF;
padding-left: 1em;
padding-right: 1em
}
.middle_info .strong{
margin-top: 1em;
color: #004A89;
}








































@media screen and (max-width: 520px) {
html {font-size: 62.5%}
body {
background-color: #FFFFFF;
color: #434343;
min-width: 320px;
font-size: 1.6rem;
font-family: "Noto Sans JP", sans-serif;
-webkit-text-size-adjust: 100%;
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

select,input,button,textarea,button {font:99%;}
table {font-size:inherit;font:100%;}
pre,code,kbd,samp,tt {
font-family:monospace;
*font-size:108%;
line-height:100%;
}
a:link {
color: #000000;
transition: .3s;
}
a:visited {
color: #000000;
text-decoration: none;
}
a:hover {
color: #0099CC;
text-decoration: underline;
}
a:active {
color: #999999;
text-decoration: none;
}
@media (any-hover: hover) {
  a.btn img {
    transition: 0.3s ease-in-out;
    opacity: 1;
  }
  a.btn:hover img {
    opacity: .4;
  }
}

a {
outline: none;
}
::selection {
background: #000000;
color: #FFFFFF;
}
::-moz-selection {
background:#000000;
color:#FFFFFF;
}
::-webkit-selection {
background:#000000;
color:#FFFFFF;
}
strong {
font-weight: bold;
}
.pc {
display: none!important;
}
.sp {
display: inherit!important;
}
#wrapper {
overflow: hidden
}

/*--HEADER-------------*/
header {
position: fixed;
left: 0;
right: 0;
top: 0;
z-index: 99;
}
header .inner {
width: 90%;
margin-right: auto;
margin-left: auto;
height: auto;
padding-top: 15px;
}
header h1 {
float: left;
}
header h1 img{
width: 55%;
height: auto
}
ul.btn_entry {
float: none;
display: none;
gap: 17px;
margin-right: auto;
margin-left: auto;
width: 100%;
margin-bottom: 50px;
}
ul.btn_entry li{
line-height: 45px;
width: 100%;
text-align: center;
margin-bottom: 10px;
}
ul.btn_entry li a{
    font-size: 2.0rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #00347A;
    text-decoration: none;
    display: block;
    border-radius: 100px;
    background-color: #FFF;
    border: 3px solid #00347A;
}
ul.btn_entry li a:hover{
    color: #FFF;
    background-color: #00347A;
}
/*--PANEL_BTN--------*/
#panel-btn{
    display: inline-block;
    position: fixed;
    width: 60px;
    height: 55px;
    /*margin: 5px 0 10px;*/
    border-radius: 0% 0% 0% 20px;
    right: 0px;
    top: 0px;
    z-index: 9999999;
    animation-duration: 2s;
    border: 0;
    background-image: -webkit-linear-gradient(270deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(255,161,67,1.00) 0%,rgba(255,0,0,1.00) 100%);
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 3px;
  margin: -3px 0 0 -10px;
  background: #FFF;
  border-radius: 100px;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 3px;
  background: #FFF;
  border-radius: 100px;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -9px;
}
#panel-btn-icon:after{
  margin-top: 7px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}
/*--NAVIGATION-------------*/
#gnav {
clear: both;
background-color: #FFF;
position: fixed;
width: 100%;
height: 100vh;
z-index: 9;
display: none;
letter-spacing: 0.2em;
overflow-y: scroll
}
#gnav .inner {
margin-top: 100px;
width: 88%;
margin-right: auto;
margin-left: auto;
padding-bottom: 80px;
}
#gnav .ttl_heading {
font-size: 2.0rem;
font-weight: 600;
color: #575757;
margin-bottom: 35px;
}
#gnav .ttl_heading a {
color: #004A89;
margin-right: 0.2em;
text-decoration: none
}

#gnav ul.gnav_menu {
display: block;
gap: 25px;
width: 100%;
margin-bottom: 25px;
flex-wrap: wrap
}
#gnav ul.gnav_menu li{
width: 100%;
text-align: center;
margin-bottom: 10px;
}
#gnav ul.gnav_menu li.wide{
width: 100%;
text-align: center;
}
#gnav ul.gnav_menu a {
    display: block;
    line-height: 2.0;
    background-color: #FFF;
    border: 2px solid #969696;
    color: #434343;
    font-size: 1.6rem;
    text-decoration: none;
padding-top: 7px;
padding-bottom: 7px;
}
#gnav ul.gnav_menu a:hover {
    background-color: #004A89;
    border: 2px solid #004A89;
    color: #FFF;
}
/*--MAINVIS-------------*/
#mainVis {
width: 100%;
height: auto;
background-color: #EAF5FF;
}
#mainVis video{
width: 100%;
height: auto;
object-fit: cover
}

/*--CONTENTS-------------*/
.contents {
width: 90%;
margin-right: auto;
margin-left: auto;
}

/*--HEADING_TTL_BX-------------*/
.heading_ttl_bx{
font-size: 2.0rem;
font-weight: 600;
margin-bottom: 25px;
}
.heading_ttl_bx h2.en{
font-size: 1.7rem;
font-weight: 600;
line-height: 1;
letter-spacing: 0.3em;
margin-bottom: 20px;
}
.heading_ttl_bx h2.en span{
    border-bottom: 3px solid #FFFFFF;
    padding-bottom: 2px;
}

/*--INDEX_INTRODUCTION-------------*/
#index_introduction{
    background-color: #EAF5FF;
    padding-top: 20px;
    line-height: 2.2;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 90px;
    background-size: 230% auto;
}
#index_introduction .contents{
position: relative
}
#index_introduction .read{
margin-bottom: 0px;
}
#index_introduction .read img{
width: 100%;
height: auto
}
#index_introduction .ill{
position: relative;
top:auto;
right: auto;
margin-bottom: 20px;
}
#index_introduction .ill img{
width: 100%;
height: auto
}
#index_introduction .copy{
font-size: 38px;
    font-weight: 600;
    margin-bottom: 30px;
    line-height: 1.5;
padding-left: 10vw
}

/*--INDEX_ABOUT-------------*/
#index_about{
    background-image: url(../../images/index_about_bg_sp.svg);
    background-position: center top;
    background-repeat: no-repeat;
    margin-top: -40px;
     background-size: 100% auto;
    text-align: center;
    padding-top: 53px;
    color: #FFF;
}
@media screen and (min-width: 1920px){
#index_about{
background-size: 100% auto;
}
}

ul.index_about_list{
text-align: center;
display: block;
justify-content: center;
gap: 70px;
margin-left: auto;
margin-right: auto;
margin-bottom: 50px;
width: 90%;
}
ul.index_about_list li{
width: 100%;
}
ul.index_about_list li .thum img{
    width: 100%;
    height: auto;
}
ul.index_about_list li .btn_rounde a{
    font-size: 2.0rem;
    font-weight: 600;
    color: #FFF;
    text-decoration: none;
    display: block;
    border-radius: 100px;
    border: 3px solid #FFF;
    line-height: 74px;
    background-image: url(../../images/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 17px center;
}
ul.index_about_list li .btn_rounde a:hover{
    color: #FFF;
    background-color: #FFA143;
    border: 3px solid #FFA143;
    background-image: url(../../images/arrow_or_02.svg);
}
#index_about .copy_big{
font-family: "Noto Serif JP", serif;
    font-size: 24vw;
    line-height: 1;
    text-align: center;
    padding-bottom: 30px;
}

/*--INDEX_JOBS-------------*/
#index_jobs{
    background-image: url(../../images/index_jobs_bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding-top: 20px;
    color: #FFF
}
.index_job_cont{
position: relative;
    width: 100%;
    padding: 30px 40px 40px 40px;
    margin-bottom: 100vw;
}
.index_job_cont::after {
  content: '';
  background: #004A89;
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.index_job_cont .txt_bx{
  position: relative;
  z-index: 2;
}
.index_job_cont .btn_more{
text-align: right;
margin-top: 0px;
font-size: 1.6rem;
color: #FFF;
}
.index_job_cont .btn_more a{
    text-decoration: none;
    color: #FFF;
    line-height: 28px;
    padding-right: 35px;
    background-image: url(../../images/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain
}
.index_job_cont .btn_more a:hover{
    background-image: url(../../images/arrow_or_02.svg);
}
#index_jobs .copy_big{
font-family: "Noto Serif JP", serif;
 font-size: 24vw;
    line-height: 1;
    text-align: center;
    padding-bottom: 30px;
}

/*--INDEX_INTERVIEW-------------*/
#index_interview{
    background-color: #EAF5FF;
    padding-top: 40px;
    padding-bottom: 50px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 230% auto;
}
.index_interview_bx{
width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
    text-align: center;
    color: #FFF;
    background-image: -webkit-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(65,131,255,1.00) 0%,rgba(123,219,255,1.00) 100%);
    border-top-right-radius: 50px 50px;
    border-bottom-left-radius: 50px 50px;
    padding-left: 5%;
    padding-right: 5%;
}
ul.indexinterview_list{
margin-top: 30px;
margin-bottom: 3px;
display: block;
justify-content: center;
gap: 40px;
}
ul.indexinterview_list li{
    width: 100%;
    border-top-right-radius: 30px 30px;
    border-bottom-left-radius: 30px 30px;
    background-color: #FFF;
    -webkit-box-shadow: 5px 5px #00347A;
    box-shadow: 5px 5px #00347A;
    margin-bottom: 30px;
}
ul.indexinterview_list li a{
    text-decoration: none
}
ul.indexinterview_list li a:hover{
    text-decoration: none;
    color: #434343;
    opacity: .6;
}
ul.indexinterview_list li .thum img{
width: 100%;
height: auto;
border-top-right-radius: 30px 30px;
}
ul.indexinterview_list li .meta{
border-bottom-left-radius: 30px 30px;
text-align: left;
padding: 18px 32px;
font-size: 1.4rem;
}
ul.indexinterview_list li .meta .name{
font-size: 1.6rem;
}
ul.indexinterview_list li .meta .name span{
font-size: 1.4rem;
}
#index_interview .copy_big{
font-family: "Noto Serif JP", serif;
 font-size: 20vw;
    line-height: 1;
    text-align: center;
    padding-bottom: 30px;
}

/*--INDEX_SUPPORT-------------*/
#index_support{
    background-image: url(../../images/index_support_bg_sp.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
    padding-top: 0px;
    color: #FFF
}
.index_support_cont{
position: relative;
    width: 100%;
    padding: 30px;
    margin-bottom: 100px;
margin-right: 0;
margin-left: auto;
text-align: center;
margin: 0 calc(50% - 50vw);
  width: 100vw;
  margin-bottom: 80vw;
}
.index_support_cont::after {
  content: '';
  background: #004A89;
  mix-blend-mode: normal;;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.index_support_cont .txt_bx{
  position: relative;
  z-index: 2;
}
ul.index_support_list{
display: block;
flex-wrap: wrap;
gap: 26px;
margin-top: 40px;
}
ul.index_support_list li {
width: 100%;
margin-bottom: 20px;
}
ul.index_support_list li:first-child {
width: 100%
}
ul.index_support_list li .btn_rounde a{
    font-size: 1.8rem;
    font-weight: 600;
    color: #FFF;
    text-decoration: none;
    display: block;
    border-radius: 100px;
    border: 3px solid #FFF;
    line-height: 67px;
    background-image: url(../../images/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 17px center;
}
ul.index_support_list li .btn_rounde a:hover{
    color: #FFF;
    background-color: #FFA143;
    border: 3px solid #FFA143;
    background-image: url(../../images/arrow_or_02.svg);
}
#index_support .copy_big{
font-family: "Noto Serif JP", serif;
 font-size: 20vw;
    line-height: 1;
    text-align: center;
    padding-bottom: 30px;
}

/*--INDEX_INFO-------------*/
#index_info{
    background-color: #EAF5FF;
    padding-top: 40px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 230% auto;
}
.index_info_cont{
width: 100%;
float: none;
text-align: center
}
.index_info_cont .heading_ttl_bx h2.en span{
    border-bottom: 3px solid #434343;
    padding-bottom: 2px;
}
#index_info .ph_wrap{
    margin-left: auto;
margin-right: -10%;
    width: 100vw;
    height: 85vw;
    background-image: url(../../images/index_info_ph.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    border-top-left-radius: 100px 100px;

}

ul.index_info_list{
    margin-top: 45px;
    border-top: 1px solid #434343;
    text-align: left;
    margin-bottom: 30px;
}
ul.index_info_list li{}
ul.index_info_list li a{
    display: block;
    line-height: 1.6;
    padding: 12px;
    font-weight: 600;
    text-decoration: none;
    background-image: url(../../images/arrow_bl_01.svg), -webkit-linear-gradient(0deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-image: url(../../images/arrow_bl_01.svg), -moz-linear-gradient(0deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-image: url(../../images/arrow_bl_01.svg), -o-linear-gradient(0deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-image: url(../../images/arrow_bl_01.svg), linear-gradient(90deg,rgba(123,219,255,0.00) 0%,rgba(65,131,255,0.00) 100%);
    background-position: right 20px center, right 0px center;
    background-repeat: no-repeat, no-repeat;
    border-bottom: 1px solid #434343; 
    padding-top: 30px;
    padding-bottom: 30px;
}
ul.index_info_list li a:hover{
    color: #FFF;
        background-image: url(../../images/arrow_bl_02.svg), -webkit-linear-gradient(0deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: url(../../images/arrow_bl_02.svg), -moz-linear-gradient(0deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: url(../../images/arrow_bl_02.svg), -o-linear-gradient(0deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: url(../../images/arrow_bl_02.svg), linear-gradient(90deg,rgba(123,219,255,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-position: right 20px center, right 0px center;
    background-repeat: no-repeat, no-repeat;
    border-bottom: 1px solid rgba(67,67,67,0.00);
}

/*--FOOTER-------------*/
#footer_ph{
    width: 100%;
    height: 370px;
    background-image: url(../../images/ft_ph_sp.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
footer {
    background-color: #E5D0F5;
    clear: both;
    padding-top: 50px;
    padding-bottom: 70px;
    background-image: -webkit-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(65,131,255,1.00) 0%,rgba(123,204,255,1.00) 100%);
    color: #FFF;
}
footer .cont {
display: flex;
justify-content: flex-start;
gap: 10px;
margin-bottom: 30px;
flex-wrap: wrap;
width: 90%;
margin-left: auto;
margin-right: auto
}
footer .ft_nav_bx {
width: calc(calc(100% - 10px)/2);
padding-bottom: 2em;
}
footer .ft_nav_bx:last-child{
flex-grow: 1;
}
footer .ft_nav_bx a {
text-decoration: none;
color: #FFF
}
footer .ft_nav_bx a:hover {
text-decoration: underline;
}
footer .ft_nav_bx .ttl_heading {
font-size: 1.8rem;
font-weight: 600;
margin-bottom: 25px;
}
footer .ft_nav_bx ul.gnav_menu {
font-size: 1.5rem;
}
footer li {
margin-bottom: 10px;
}
.ft_copy{
text-align: center;
font-size: 1.6rem;
}

/*--SUB_PAGE-------------*/
#mainVis_sub {
    width: 100%;
    height: 470px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: relative;
    overflow: hidden
}
#heading_bx{
    width: 100%;
    padding-bottom: 30px;
    background-image: -webkit-linear-gradient(270deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(0,74,137,1.00) 0%,rgba(1,44,82,1.00) 100%);
    color: #FFF;
    text-align: center;
    line-height: 2
}
#heading_bx h2 img{
width: 200px;
height: auto
}
#heading_bx .read{
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 0.3em
}

.anc{
display: block;
padding-top: 150px;
margin-top: -150px;
}

/*--ABOUT_PAGE-------------*/
#mainVis_sub.mv_about {
    background-image: url(../../images/_about/mv.jpg);
}
#mainVis_sub.mv_about .copy_big{
font-family: "Noto Serif JP", serif;
 font-size: 19vw;
line-height: 1;
text-align: center;
position: absolute;
bottom: 25px;
left: 0;
right: 0;
color: #FFF
}
#about_outline {
width: 100%;
padding-top: 50px;
    padding-bottom: 80px;
    color: #FFF;
text-align: center;
    background-image: url(../../images/_about/about_outline_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#about_outline .ttl {
font-size: 2.9rem;
font-weight: 600;
margin-bottom: 50px;
}
#about_outline .read {
font-size: 2.0rem;
font-weight: 600;
margin-bottom: 30px;
}
#about_outline p {
line-height: 2.2;
text-align: justify
}

.cont_about_wrap{
    background-color: #EAF5FF;
    padding-top: 90px;
}
.about_bx{
    background-color: #FFFFFF;
    border: 5px solid #5FA6EF;
    border-top-right-radius: 50px 50px;
    border-bottom-right-radius: 50px 50px;
    border-bottom-left-radius: 50px 50px;
    padding: 20px;
    position: relative;
     margin-bottom: 100px;
}
.about_bx .heading_ttl{
    width: 80%;
    line-height: 50px;
    font-size: 2.0rem;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #FFF;
    background-image: -webkit-linear-gradient(180deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: -moz-linear-gradient(180deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: -o-linear-gradient(180deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    background-image: linear-gradient(270deg,rgba(105,196,230,1.00) 0%,rgba(65,131,255,1.00) 100%);
    position: absolute;
    left: -5px;
    top: -35px;
}
.about_num_bx{
    text-align: center;
    margin-bottom: 40px;
    border-bottom: 5px solid #B1B3B6;
}
.about_num_bx.end{
    border-bottom: none;
}
.about_num_bx .ttl{
color: #004A89;
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 30px;
}
.about_num_bx p {
line-height: 2;
text-align: justify
}
.about_num_bx p br{
display: none
}
.about_num_bx .fig {
padding-top: 20px;
padding-bottom: 30px;
}
.about_num_bx .fig img{
width: 100%;
height: auto
}
.about_bx .ttl_txt{
color: #004A89;
font-size: 2.2rem;
font-weight: 600;
text-align: left;
margin-top: 30px;
margin-bottom: 50px;
}

ul.facilities{
width: 100%;
display: block;
flex-wrap: wrap;
gap: 100px;
margin-left: auto;
margin-right: auto;
}
ul.facilities li{
width: 100%;
margin-bottom: 30px;
font-size: 1.6rem;
}
ul.facilities li .thum{
margin-bottom: 27px;
}
ul.facilities li .thum img{
width: 100%;
height: auto
}
ul.facilities li .ttl{
    background-color: #EAF5FF;
    border: 2px solid #707070;
    border-radius: 100px;
    text-align: center;
    line-height: 1;
    font-size: 2.5rem;
    font-weight: 600;
    padding: 15px;
    margin-bottom: 25px;
}
.about_bx .floor{
text-align: center;
margin-top: 20px;
margin-bottom: 20px;
}
.about_bx .floor img{
width: 100%;
height: auto
}
.about_bx .ttl_small{
margin-bottom: 1em
}
ul.ph_floor_ph{
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-left: auto;
margin-right: auto;
}
ul.ph_floor_ph li{
width: calc(calc(100% - 10px)/2);
}
ul.ph_floor_ph li  img{
width: 100%;
height: auto
}

/*--JOBS_PAGE-------------*/
#mainVis_sub.mv_jobs {
    background-image: url(../../images/_jobs/mv_sp.jpg);
}
#mainVis_sub.mv_jobs .copy_big{
font-family: "Noto Serif JP", serif;
font-size:19vw;
line-height: 1.2;
text-align: center;
position: absolute;
bottom: 5px;
left: 0;
right: 0;
color: #FFF
}

.ttl_job{
white-space: nowrap;
font-size: 2.3rem;
font-weight: 600;
text-align: center;
margin-top: 50px;
margin-bottom: 40px;
letter-spacing: 0.2em;
}
.ttl_job span{
    white-space: nowrap;
    font-size: 2.3rem;
    font-weight: 600;
    text-align: center;
    border-bottom: 3px solid #72C1B7;
    padding-bottom: 5px;
    padding-left: 0.2em;
}
.ttl_job.jimu span{
    border-bottom: 3px solid #AA93DB;
}
.ph_job{
display: block;
gap:40px;
margin-bottom: 30px;
}
.ph_job li img{
width: 100%;
height: auto;
margin-bottom: 10px;
}
table.tbl_jobs{
    border-top: 1px solid #707070;
    border-left: 1px solid #707070;
    margin-bottom: 60px;
}
table.tbl_jobs th,table.tbl_jobs td{
    border-bottom: 1px solid #707070;
    border-right: 1px solid #707070;
    padding: 10px;
}
table.tbl_jobs th{
vertical-align: middle;
white-space: nowrap;
font-size: 1.5rem;
font-weight: 600;
text-align: center;
background-color: #ACDED8
}
table.tbl_jobs .cate{
vertical-align: middle;
white-space: nowrap;
font-size: 1.5rem;
font-weight: 600;
text-align: center;
background-color: #E8E8E8
}
table.tbl_jobs.jimu th{
background-color: #C9B4DE;
color: #FFF
}
table.tbl_jobs.jimu th.kanri{
background-color: #A39FD9;
color: #FFF
}
.ttl_job_middle{
font-size: 2.5rem;
font-weight: 600;
margin-bottom: 15px;
}
.btn_job_interview{
text-align: center;
margin-top: 50px;
margin-bottom: 20px;
}
.btn_job_interview a{
    background-color: #71BFB6;
    color: #FFF;
    text-decoration: none;
    font-weight: 600;
    line-height: 1;
    border-radius: 100px;
    padding: 20px 80px;
    background-image: url(../../images/_jobs/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 30px center;
    -webkit-box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.16);
    box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.16);
    border: 3px solid #71BFB6;
}
.btn_job_interview a:hover{
    background-color: #FFF;
    color: #71BFB6;  
    border: 3px solid #71BFB6;
}
.btn_job_interview.jimu a{
    background-color: #A39FD9;
    color: #FFF;
    border: 3px solid #A39FD9;
}
.btn_job_interview.jimu a:hover{
    background-color: #FFF;
    color: #A39FD9;  
    border: 3px solid #A39FD9;
}


table.tbl_jobs.trans th,table.tbl_jobs.trans td{
    display: block;
    padding: 10px;
}
table.tbl_jobs.trans th,
table.tbl_jobs.trans .cate{
font-size: 1.5rem;
}
table.tbl_jobs.trans .btn_job_interview{
text-align: center;
margin-top: 20px;
margin-bottom: 10px;
}
table.tbl_jobs.trans .btn_job_interview a{
    background-color: #71BFB6;
    color: #FFF;
    text-decoration: none;
    font-weight: 600;
    line-height: 1;
    border-radius: 100px;
    padding: 10px 10px;
    background-image: url(../../images/_jobs/arrow_or_01.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    -webkit-box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.16);
    box-shadow: 3px 3px 0px 0px rgba(0,0,0,0.16);
    border: 3px solid #71BFB6;
    font-size: 1.4rem;
    display: block
}
table.tbl_jobs img{
width: 20px;
height: auto
}


/*--INTERVIEW 01-------------*/
#mainVis_sub.interview01{
    background-image: url(../../images/_interview/mv01_sp.jpg);
    background-position: center top;
    height: 720px;
    background-size: auto 620px;
    background-repeat: no-repeat;
    background-color: #EAF5FF
}
#mainVis_sub.interview02{
    background-image: url(../../images/_interview/mv02_sp.jpg);
    background-position: center center;
    height: 720px;
    background-size: auto 620px;
    background-repeat: no-repeat;
    background-color: #EAF5FF
}
#mainVis_sub.interview03{
    background-image: url(../../images/_interview/mv03_sp.jpg);
    background-position: center center;
    height: 720px;
    background-size: auto 620px;
    background-repeat: no-repeat;
    background-color: #EAF5FF
}
#mainVis_sub.interview01 .contents,
#mainVis_sub.interview02 .contents,
#mainVis_sub.interview03 .contents{
width: 100%;

}
#mainVis_sub.interview01 .copy_big,
#mainVis_sub.interview02 .copy_big,
#mainVis_sub.interview03 .copy_big{
font-family: "Noto Serif JP", serif;
font-size:19vw;
line-height: 1;
text-align: center;
position: absolute;
bottom: 240px;
left: 0;
right: 0;
color: #FFF
}
#mainVis_sub.interview01 .copy_big{
color: #004A89
}
.mv_interview_cont{
position: absolute;
    width: 90%;
    height: auto;
    margin-bottom: 0px;
    color: #FFF;
    margin-right: 0;
    margin-left: auto;
    top: auto;
bottom: 0
}
.mv_interview_cont::after {
  content: '';
  background: #004A89;
  mix-blend-mode: multiply;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.mv_interview_cont .txt_bx{
  position: relative;
  z-index: 2;
  width: 90%;
    height: auto;
  padding: 30px 20px;
}
.mv_interview_cont .read{
font-size: 2.2rem;
margin-bottom: 1em
}
.mv_interview_cont .meta{
position: relative;
bottom: 0px;
}
.mv_interview_cont .meta .label{
font-size: 1.7rem;
}
.mv_interview_cont .meta .name{
font-size: 2.2rem;
}
.mv_interview_cont .meta .name span{
font-size: 1.5rem;
display: block
}
.interview_wrap{
    background-color: #EAF5FF;
    background-image: url(../../images/_interview/bg_daen.png), url(../../images/index_introduction_bg.png);
    background-position: center top 200px, center bottom;
    background-repeat: no-repeat, no-repeat;
    padding-bottom: 60px;
    background-size: 120% auto, 230% auto;
}
.interview_ttl_bx{
padding-top: 40px;
text-align: center;
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 60px;
}
.interview_ttl_bx h2{
margin-bottom: 15px;
}
.interview_ttl_bx h2 img{
width: 80%;
height: auto
}
.itv_cont{
margin-bottom: 25px;
}
.itv_cont .txt{
width: 100%;
float: none;
padding-top: 0px;
}
.itv_cont .txt .itv_txt{
letter-spacing: 0.05em;
line-height: 1.8
}
.itv_cont .txt .heading{
display: block;
margin-bottom: 30px;
text-align: center
}
.itv_cont .txt .heading p{
padding-top: 0px;
color: #004A89;
font-size: 2.3rem;
}
.itv_cont .ph{
float:  none;
width: 100%;
height: auto;
margin-right: 0;
margin: 0 calc(50% - 50vw);
width: 100vw;
margin-top: 20px;
}
.itv_cont .ph img{
width: 100%;
height: 100vw;
object-fit: cover
}
.itv_cont.even .txt{
float: none;
}
.itv_cont.even .ph{
float: none;
margin-right: 0;
margin-left: 0;
margin: 0 calc(50% - 50vw);
width: 100vw;
margin-top: 20px;
}
.interview_wrap_talk{
    background-color: #EAF5FF;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.ttl_itv_line{
white-space: nowrap;
font-size: 2.5rem;
font-weight: 600;
text-align: center;
margin-bottom: 70px;
letter-spacing: 0.2em;
}
.ttl_itv_line span{
    border-bottom: 3px solid #707070;
    padding-bottom: 5px;
    padding-left: 0.2em;
}
.itv_talk{
    width: 100%;
    border-radius: 20px;
    padding: 30px 20px;
    background-image: -webkit-linear-gradient(270deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
    background-image: -o-linear-gradient(270deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
    background-image: linear-gradient(180deg,rgba(123,219,255,0.40) 0%,rgba(65,131,255,0.40) 100%);
}
.chat_row{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:18px;
  position:relative;
  z-index:1;
}
.icon{
  width:50px;
  flex-shrink:0;
}
.icon img{
  width:100%;
  height:auto;
  display:block;
}
.balloon{
  position:relative;
  border-radius:12px;
  line-height:2;
  box-sizing:border-box;
}
.balloon.q{
  background:#f89a2b;
  color:#fff;
  padding:10px 20px;
  min-width:130px;
  line-height: 1.7
}
.balloon.q::before{
  content:"";
  position:absolute;
  left:-14px;
  top:18px;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-right:14px solid #f89a2b;
}
.balloon.a{
  background:#FFFFFF;
  padding: 10px 20px;
  line-height: 1.7
}
.balloon.a::before{
  content:"";
  position:absolute;
  left:-14px;
  top:18px;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-right:14px solid #FFF;
}
.day_schedule{
    background-image: url(../../images/_interview/bg_flow.png);
    padding-top: 3px;
    padding-bottom: 50px;
    text-align: center
}
.day_schedule fig img{
    width: 100%;
    height: auto
}
.itv_mov_wrap{
    background-color: #EAF5FF;
    padding-top: 70px;
    padding-bottom: 70px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.itv_mov_wrap .btn_inv_mov{
cursor: pointer
}
.itv_mov_wrap .btn_inv_mov img{
width: 100%;
height: auto
}
.modal-video-body {
  max-width: 1300px!important;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}
.itv_offtime{
background-color: #66B9FF;
padding-top: 20px;
padding-bottom: 0px;
color: #FFF
}
.itv_offtime .ttl_itv_line{
color: #FFF
}
.itv_offtime .ttl_itv_line span{
    border-bottom: 3px solid #FFF;
}
.itv_offtime .txt{
margin-top: 0px;
padding-left: 0px;
width: 100%;
min-height: auto;
}
.itv_offtime .txt .ttl_offtime{
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    display: block;
    line-height: 32px;
    background-image: 
    url(../../images/_interview/ttl_offtime_ico01.svg),
    url(../../images/_interview/ttl_offtime_ico02.svg);
    background-repeat: no-repeat,no-repeat;
    background-position: left 10px center,right 10px center;
}
.itv_offtime .txt .ttl_offtime img{
display: none
}
.itv_offtime .contents{
position: relative;
}
.itv_offtime .contents .ph{
position: relative;
right: 0px;
bottom: 0px;
margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.itv_offtime .contents .ph img{
width: 100%;
height: auto
}
.itv_other_bx{
    background-color: #EAF5FF;
    padding-top: 70px;
    padding-bottom: 50px;
    background-image: url(../../images/index_introduction_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.itv_other_bx ul.indexinterview_list{
width: 80%;
margin-left: auto;
margin-right: auto;
}



/*--SUPPOET TALK-------------*/
#mainVis_sub.sup_talk{
    background-image: url(../../images/_support/mv_sp.jpg);
    background-position: center center;
    background-position: top center;
    background-size: contain;
    background-color: #EAF5FF;
    height: 460px;
}
#mainVis_sub.sup_talk .copy_big{
font-family: "Noto Serif JP", serif;
font-size:14.8rem;
line-height: 1;
text-align: center;
position: absolute;
top: 140px;
left: calc(calc(100% - 1200px) / 2);
right: auto;
color: #004A89;
display: none
}
#mainVis_sub.sup_talk .sup_talk_read{
font-size: 2.5rem;
line-height: 2.2;
text-align: right;
position: absolute;
bottom: 35px;
right: 0;
color: #FFF
}
#mainVis_sub.sup_talk .sup_talk_read span{
background-color: rgba(6,40,70,0.84);
padding: 0px 20px;
}
.sup_talk_wrap{
    background-color: #EAF5FF;
    background-image: 
    url(../../images/_interview/bg_daen.png);
    background-position: center top 450px;
    background-repeat: no-repeat;
    padding-bottom: 120px;
    background-size: 120% auto;
}
.sup_talk_ttl_bx{
padding-top: 30px;
text-align: center;
margin-bottom: 50px;
line-height: 2;
width: 90%;
margin-left: auto;
margin-right: auto
}
.sup_talk_ttl_bx .ttl_sub{
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 15px;
}
.sup_talk_ttl_bx h2{
margin-bottom: 15px;
}
.sup_talk_ttl_bx h2 img{
margin-bottom: 15px;
width: 80%;
height: auto
}
.sup_talk_ttl_bx p.ttl_sub{
text-align: center
}
.sup_talk_ttl_bx p{
text-align: justify
}
.sup_talk_ttl_bx p br{
display: none
}
ul.member_list{
display: block;
gap: 40px;
margin-bottom: 30px;
width: 70%;
margin-left: auto;
margin-right: auto
}
ul.member_list li{
width: 100%;
text-align: center;
color: #004A89;
font-size: 2.3rem;
margin-bottom: 25px;
}
ul.member_list li .thum{
margin-bottom: 20px;
}
ul.member_list li .thum img{
width: 100%;
height: auto
}
ul.member_list li .name{
font-size: 3.0rem
}
ul.member_list li .year{
font-size: 2.0rem
}
ul.talk_nav{
margin-bottom: 75px;
}
ul.talk_nav li{
margin-bottom: 25px;
}
ul.talk_nav li a{
    border: 4px solid #004A89;
    background-color: #FFF;
    font-size: 1.6rem;
    color: #004A89;
    text-decoration: none;
    border-radius: 100px;
    background-image: url(../../images/_support/ico_arrow_blue.svg);
    background-position: right 25px center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    padding-left: 25px;
    padding-top: 10px;
    padding-bottom: 10px;
    background-size: 25px auto;
} 
ul.talk_nav li a .num{
    font-size: 3.0rem;
    margin-right: 0.5em
}
ul.talk_nav li a .head_txt{
    text-align: center;
    width: 70%
}
ul.talk_nav li a:hover{
    background-image: url("../../images/_support/ico_arrow_or.svg");
} 
.talk_cont_wrap{
background: #FFF
}
.talk_cont_block{
padding-top: 50px;
margin-bottom: 50px;
width: 90%;
margin-left: auto;
margin-right: auto;
}
.ttl_parentheses{
    background-image: 
    url(../../images/_support/ttl_bg01.svg), 
    url(../../images/_support/ttl_bg02.svg);
    background-position: left top, right bottom;
    background-repeat: no-repeat, no-repeat;
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    color: #004A89;
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto
}
.talk_bx{
display: flex;
gap: 20px;
margin-bottom: 44px;
line-height: 1.8;
}
.talk_bx .thum{
text-align: center;
font-size: 1.4rem;
color: #004A89;
width: 30%;
}
.talk_bx .thum img{
width: 100%;
height: auto;
}
.talk_bx .txt{
width: 70%;
}
.talk_ph{}
.talk_ph img{
width: 100%;
height: auto
}

.sup_other_bx{
padding-top: 40px;
padding-bottom: 0px;
}
.sup_other_list{
display: block;
gap: 30px;
}
.sup_other_list li{
width: 100%;
margin-bottom: 25px;
}
.sup_other_list li img{
width: 100%;
height: auto
}

/*--SUPPOET 人材育成・教育制度-------------*/
#mainVis_sub.support_jinzai{
    background-image: url(../../images/_support/mv_support.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.support_jinzai .copy_big{
font-family: "Noto Serif JP", serif;
font-size:19vw;
line-height: 1;
text-align: center;
position: absolute;
bottom: 30px;
left: 0;
right: 0;
color: #FFF
}
.support_col{
background-color: #EAF5FF;
padding-top: 30px;
padding-bottom: 30px;
}
.ttl_sup{
white-space: nowrap;
font-size: 3.5rem;
font-weight: 600;
text-align: center;
margin-top: 40px;
margin-bottom: 60px;
letter-spacing: 0.2em;
}
.ttl_sup span{
    white-space: nowrap;
    font-size: 2.3rem;
    font-weight: 600;
    text-align: center;
    border-bottom: 3px solid #FFA143;
    padding-bottom: 5px;
    padding-left: 0.2em;
}
.ttl_sup.no_mt{
margin-top: 0px;
}
.jinzai_txt{
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 30px;
}
.jinzai_txt .ttl{
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 30px;
text-align: center
}
/* 研修スケジュール */
.schedule_head{
  background: #004A89;
  color: #FFF;
  padding: 7px 20px;
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
}
.schedule_table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #707070;
  margin-bottom: 200px;
}
.schedule_table td{
    vertical-align: middle;
    padding: 40px 0;
    border-bottom: 1px dotted #707070;
}
.schedule_table .month{
  width: 70px;
  background: #EAF5FF;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #004A89;
  position: relative;
}
.schedule_table .line{
  width: 3px;
  position: relative;
  background-color: #004A89
}
.schedule_table .line::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 3px solid #004A89;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.schedule_table .cont{
  padding: 10px 20px;
  min-height: 200px;
  position: relative;
}
.schedule_table .cont h3{
  margin-bottom: 12px;
  color: #004A89;
  font-size: 1.8rem;
  font-weight: bold;
}
.schedule_table .cont p{
  line-height: 1.7;
}
.schedule_table .flex{
  display: block;
  gap: 60px;
}
.schedule_table .flex .item{
  width: 100%;
  margin-bottom: 1em
}
.schedule_table .cont .kenshu_bx{
    position: absolute;
    border: 2px solid #7C9EEB;
    border-radius: 25px;
    padding: 30px 20px 20px;;
    width: 87%;
    top: 410px;
}
.schedule_table .cont .kenshu_bx h3{
margin-top: -45px;
display: block;
}
.schedule_table .cont .kenshu_bx h3 span{
background-color: #FFF;
padding-left: 0.5em;
padding-right: 0.5em
}
.schedule_table .cont .kenshu_bx .kenshu_flex{
display: block;
gap: 60px;
}
.schedule_table .cont .kenshu_bx .kenshu_flex .txt{
width: 100%;
}
.schedule_table .cont .kenshu_bx .kenshu_flex .ph{
width: 100%;
}
.schedule_table .cont .kenshu_bx .kenshu_flex .ph img{
width: 100%;
height: auto
}
.spacer_4gatsu{
height: 180px;
}
.spacer_5gatsu{
height: 320px;
}
.support_flow{
display: block;
gap: 40px;
align-items: flex-end;
position: relative
}
.support_flow .step_bx{
width: 100%;
border-radius: 10px;
padding: 15px;
background-color: #50C5F0;
color: #FFF;
position: relative;
line-height: 2;
margin-bottom: 25px;
}
.support_flow .step_bx .ttl{
text-align: center;
background-color: #FFF;
font-size: 2.2rem;
font-weight: 600;
color: #4D9FF0;
border-radius: 100px;
padding: 14px;
line-height: 1;
margin-bottom: 30px;
}
.support_flow .step_bx.step01{
    height: auto;
    background-image: -webkit-linear-gradient(0deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(80,196,240,1.00) 0%,rgba(80,180,240,1.00) 100%);
}
.support_flow .step_bx.step02{
    height: auto;
    background-image: -webkit-linear-gradient(0deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(80,180,240,1.00) 0%,rgba(77,154,240,1.00) 100%);
}
.support_flow .step_bx.step03{
    height: auto;
    background-image: -webkit-linear-gradient(0deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
    background-image: -moz-linear-gradient(0deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
    background-image: -o-linear-gradient(0deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
    background-image: linear-gradient(90deg,rgba(77,154,240,1.00) 0%,rgba(68,136,252,1.00) 100%);
}
.support_flow .kaisou_fig{
position: absolute;
left: 172px;
top: -229px;
display: none
}

/*--SUPPOET 福利厚生-------------*/
#mainVis_sub.support_benefit{
    background-image: url(../../images/_support/mv_benefit.jpg);
    background-position: center center;
    background-size: cover;
}
#mainVis_sub.support_benefit .copy_big{
font-family: "Noto Serif JP", serif;
font-size:18vw;
line-height: 1;
text-align: center;
position: absolute;
bottom: 30px;
left: auto;
right: auto;
color: #004A89
}
.benefit_txt{
width: 100%;
margin-left: auto;
margin-right: auto;
margin-bottom: 70px;
line-height: 2;
}
.benefit_txt .ttl{
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 30px;
color: #004A89
}
.benefit_topics{
    margin-top: 70px;
    margin-bottom: 120px;
    border: 2px solid #707070;
    border-radius: 63px;
    padding-top: 50px;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 30px;
    position: relative
}
.benefit_topics .ttl_circle{
position: absolute;
    width: 100px;
    line-height: 100px;
    border-radius: 200px;
    background-color: #004A89;
    color: #FFF;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
    left: 0px;
    top: -61px;
}
.benefit_topics .bt_flex{
display: block;
gap:40px;
}
.benefit_topics .bt_flex .txt{
width: 100%;
}
.benefit_topics .bt_flex .txt .ttl{
font-size: 2.2rem;
font-weight: 600;
margin-bottom: 1em
}
.benefit_topics .bt_flex .ph{
width: 100%;
margin-top: 25px;
}
.benefit_topics .bt_flex .ph img{
width: 100%;
height: auto
} 

/*--INFO 募集コース-------------*/
#mainVis_sub.info{
    background-image: url(../../images/_info/mv.jpg);
    background-position: center center;
    background-size: cover;
}
.info_anc_nav{
display: block;
gap:10px;
margin-bottom: 50px;
}
.info_anc_nav li{
width: 100%;
margin-bottom: 15px;
}
.info_anc_nav li a{
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    color: #FFF;
    background-color: #FFA143;
    line-height: 1;
    padding: 12px;
    -webkit-box-shadow: 3px 3px 0px rgba(0,0,0,0.16);
    box-shadow: 3px 3px 0px rgba(0,0,0,0.16);
    text-decoration: none;
    display: block
}
.info_tbl_head{
background-color: #004A89;
color: #FFF;
text-align: center;
font-size: 1.4rem;
font-weight: 600;
padding: 15px;
}
.info_tbl_head .ttl{
font-size: 1.8rem;
} 
table.tbl_info{
    width: 100%;
    border-top: 1px solid #707070;
    border-left: 1px solid #707070;
    margin-bottom: 40px;
}
table.tbl_info th,table.tbl_info td{
    padding: 10px 10px;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
    display: block
}
table.tbl_info td.for_tble_in{
    padding: 0px 0px;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
}
table.tbl_info td.for_tble_in p.for_tble_in_txt{
    padding: 10px 20px;
}
table.tbl_info th{
background-color: #EAF5FF;
font-size: 1.6rem;
font-weight: 600;
text-align: center;
white-space: nowrap
}
table.tbl_info_in{
    width: 100%;
    border-top: 0px solid #707070;
    border-left: 0px solid #707070;
    margin-bottom: 5px;
}
table.tbl_info_in th,table.tbl_info_in td{
    padding: 10px 10px;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
    text-align: center;
    display: table-cell;
    font-size: 1.2rem
}
table.tbl_info_in th{
background-color: #F0F0F0;
font-size: 1.2rem;
font-weight: 600;
text-align: center;
white-space: nowrap
}
a.txt_red{
color: #FF5050
}
.motomeru_jinzai_bx{
width: 100%;
margin-left: auto;
margin-right: auto;
    background-image: 
    url(../../images/_info/motomeru_bg01.svg), 
    url(../../images/_info/motomeru_bg02.svg);
    background-position: left top, right bottom;
    background-repeat: no-repeat, no-repeat;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 50px;
line-height: 2.0;
background-size: 80% auto,80% auto;
}
.motomeru_jinzai_bx .ttl{
    font-size: 1.8rem;
   text-align: center;
    margin-bottom: 20px;

}
/* フロー */
.saiyou_flow{
margin-bottom: 100px;
}
.saiyou_flow li{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:70px;
  margin-bottom:46px;
  padding:10px 20px;
  border-radius:16px;
  background:#004A89;
  color:#FFF;
  font-size:1.4rem;
  font-weight:600;
  line-height:1.6;
  text-align:center;
}
.saiyou_flow li span.notice{
display: block;
font-size: 1.4rem;
font-weight: normal
}
.saiyou_flow li::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-15px;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:20px solid transparent;
  border-right:20px solid transparent;
  border-top:24px solid #005193;
}
.saiyou_flow li:last-child::after{
  display:none;
}
.saiyou_flow li:last-child{
  margin-bottom:0;
  background:linear-gradient(
    90deg,
    #4e88ea 0%,
    #72c3e3 100%
  );
  font-size:1.8rem;
  font-weight:600;
}
.saiyou_flow li a{
  color:#F47A7A;
  text-decoration:none;
  position:relative;
}
.saiyou_flow li a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:100%;
  height:2px;
  background:#F47A7A;
}



/* FAQ */
.faq_item{
  background:#FFF;
  margin-bottom:20px;
}
.faq_q{
  width:100%;
  border:none;
  background:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  position:relative;
  padding:10px 15px;
  text-align:left;
}
.faq_icon{
  width:30px;
  height:30px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-right:16px;
  color:#fff;
  font-size:2.0rem;
  font-weight:600;
}
.faq_icon.q{
  background:#004A89;
}
.faq_icon.a{
  background:#FFA143;
}
.faq_text,
.faq_a p{
  line-height:1.6;
  font-weight:600;
  font-size:1.4rem;
  padding-right: 30px;
}
.faq_toggle{
  width:26px;
  height:26px;
  border:2px solid #888;
  border-radius:50%;
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
}
.faq_toggle::before,
.faq_toggle::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:#888;
  transform:translate(-50%,-50%);
  transition:.3s;
}
.faq_toggle::before{
  width:14px;
  height:2px;
}
.faq_toggle::after{
  width:2px;
  height:14px;
}
.faq_item.active .faq_toggle::after{
  opacity:0;
}
.faq_a_wrap{
  max-height:0;
  overflow:hidden;
  transition:
    max-height .45s ease,
    padding .45s ease;
  padding:0px 15px 0px 15px;
}
.faq_item.active .faq_a_wrap{
  max-height:400px;
  padding:10px 15px 10px 15px;
}
.faq_a{
  display:flex;
  align-items:flex-start;
}
.faq_a p{
  margin:0;
}

/*--INFO インターンシップ-------------*/
#mainVis_sub.info_internship{
    background-image: url(../../images/_info/mv_internship.jpg);
    background-position: center center;
    background-size: cover;
}
.info_internship{
width: 100%;
margin-left: auto;
margin-right: auto;
line-height: 2.2;
font-size: 1.6rem;
}
table.internship_timetable{
margin-top: 2em;
margin-bottom: 2em;
}
table.internship_timetable th{
padding-right: 2em
}
table.internship_timetable th,table.internship_timetable td{
display: block
}

.btn_internship{
margin-top: 3em
}
.btn_internship a{
    border: 5px solid #00347A;
    border-radius: 20px;
    display: block;
    text-decoration: none;
    text-align-last: left;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 75px;
    color: #00347A;
    -webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.26);
    box-shadow: 3px 3px 3px rgba(0,0,0,0.26);
    background-image: url(../../images/_info/arrow_blue_01.svg);
    background-repeat: no-repeat;
    background-position: right 20px center;
    padding-left: 7%
}
.btn_internship a:hover{
background-color: #00347A;
color: #FFF;
    background-image: url(../../images/_info/arrow_blue_02.svg);
}

/*--INFO 中途採用-------------*/
#mainVis_sub.info_middle{
    background-image: url(../../images/_info/mv_middle.jpg);
    background-position: center center;
    background-size: cover;
}
table.tble_in_plain{}
table.tble_in_plain th,table.tble_in_plain td{
    padding: 5px 0px;
    border-right: 0px solid #707070;
    border-bottom: 0px solid #707070;
    text-align: left;
    vertical-align: top;
    padding-right: 1em
}
table.tbl_info.or th{
background-color: #FFF7EA;
}
.middle_houhou_wrap{
margin-bottom: 25px;
width: 100%;
margin-left: auto;
margin-right: auto
}
.middle_houhou_wrap .mh_bx{
margin-bottom: 40px;
}
.middle_houhou_wrap .mh_bx .ttl{
color: #004A89;
font-size: 1.6rem;
font-weight: 600;
margin-bottom: 0.2em
}
.middle_info{
    border: 2px solid #00347A;
    border-radius: 20px;
    padding: 20px 20px;
    font-size: 1.6rem;
    font-weight: 600;
    position: relative;
    line-height: 2.1;
    text-align: center
}
.middle_info .ttl{
color: #004A89;
font-size: 1.8rem;
position: absolute;
text-align: center;
left: 0;
right: 0;
top: -25px;
}
.middle_info .ttl span{
background-color: #FFF;
padding-left: 1em;
padding-right: 1em
}
.middle_info .strong{
margin-top: 0.5em;
color: #004A89;
}



}
