.only_sp {display: none!important;}
.only_sp440 {display: none!important;}
.only_pc {display: block!important;}

/* ------------------ common ------------------ */
h2{
    position: relative;
    margin: 60px 0 0;
    font-size: 22px !important;
    line-height: 33px;
    color: #1F5488;
    text-align: center;
    vertical-align: middle;
    }

h2.l1{padding: 86px 0 66px;}

h2.l2{padding: 70px 0 50px;}

h2:before {
    content: "";
    position: absolute;
    background:url(../images/h2_bg.png);
    width: 178px;
    height: 205px;
    top: calc(50% + 10px);
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: -1;
    }

section{margin:0 30px 90px 30px;}
.chu{float: right;}

/* ------------ recruit top-page ------------ */

/* ------ recruit top ------ */
.recruit-top{
    background:#fff url(../images/recruit-top.jpg) center top no-repeat;
    height: 590px;
    background-size: auto;
    position: relative;
    width: 100%;
    }
.recruit-top img{
    position: absolute;
    width: 199px;
    height: 230px;
    top: 40px;
    left: 0;
    right: 0;
    margin:0;
    }
/* ------ recruit news ------ */
.recruit-news-container{
    position: relative;
    background: #F7F7F7 center;
    }
.recruit-news{
    padding: 57px 15px ;
    width:calc(100% - 300px);
    max-width: 900px;
    max-height: 400px;
    height: auto;
    justify-content: center;
    display: block;
    }
.recruit-news p{
    font-size: 16px;
    line-height: 25px;
    overflow: hidden;
    }
/*.recruit-news img.ric-navi{
    margin:6px 20px 6px 0;
    float:left;
    }
.recruit-news .entry_btn:hover{opacity: 1;}

.recruit-news .entry_btn{
    position: absolute;
    right:0;
    top: -81px;
    }*/
/*2024/3追加*/
.recruit-news .recruit-news-block {
    max-width: 100%;
    border-radius: 10px;
    padding: 15px;
    margin: 5px;
    text-align: center;
    }
.recruit-news-block .ric-navi {
    display: block;
    width: 550px;
    height: auto;
    }
.recruit-news-block .recruit-news-link1 {
    max-width: 100%;
    height: auto;
    }
.recruit-news-block .recruit-news-link2 {
    max-width: 100%;
    height: auto;
    }
.recruit-news-block .recruit-news-link3 {
    max-width: 100%;
    height: auto;
    }

.recruit-news-block p {
    font-size: 20px;
    line-height: 25px;
    overflow: hidden;
    text-align: center;
    }


/* ------ recruit-detail ------ */
.recruit-detail{
    clear: both;
    max-width: 960px;
    margin:0 auto;
    }

/* ------ equirements ------ */
.requirements{position: relative;}

table.requirements-tbl{
    text-align: left;
    margin: 0;
    line-height: 28px;
    color: #434242;
    }

table.requirements-tbl th,
table.requirements-tbl td{
    font-size: 16px;
    padding: 20px 1em;
    line-height: 28px;
    }

table.requirements-tbl th{
    width: 160px;
    background: #F4F4F4;
    border-top: 1px solid #296DAF;
    border-bottom: 1px solid #296DAF;
    vertical-align: text-top;
    }

table.requirements-tbl td{
    vertical-align: text-top;
    border-top: 1px solid #C8D6E3;
    border-bottom: 1px solid #C8D6E3;
    background: rgba(0,0,0,0);
    }

/* ------ flow ------ */
.flow img{
    display: block;
    margin: 30px auto 0;
    max-width: 900px;
    }

/* ------ wanted ------ */
.wanted{text-align: center;}

.wanted h3{
    font-size: 25px;
    font-family: "Yu Mincho", "YuMincho";
    position: relative;
    display: inline-block;
    line-height:1.4em;
    margin-bottom: 0;
    }

.wanted h3:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -30px;
    display: inline-block;
    width:60%;
    max-width: 690px;
    height: 1px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #C8D6E3;
    }

.wanted-txt {margin-top: 70px;}

.wanted p{margin-top: 20px;}


/* ------ interview ------ */
.interview{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding-bottom: 90px;
    }

ul.interview-list{
    margin: 0 auto;
    padding: 0 ;
    width: 100%;
    max-width: 900px;
    display: inline-block;    
    }

ul.interview-list a{
    width: 30%;
    max-width: 270px;
    max-height:	270px;
    overflow: hidden;
    margin-right:5%;
    position: relative;
    float: left;
    display: block;
    }

ul.interview-list a:last-child {margin-right:0;}

ul.interview-list li img{
    width: 100%;
    vertical-align: middle;
    }

ul.interview-list li .caption {
    text-align: center;
    color: #1F5488;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin:0;
    padding:0;
    min-width: 90%;
    }

ul.interview-list li .caption p{font-size: 16px;}

ul.interview-list li .caption p.dep {margin-bottom: 10px;}

ul.interview-list li .caption p.name {font-size: 18px;}

ul.interview-list li .mask {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    background-color: rgba(255,255,255,0.6);
    -webkit-transition:	all 0.6s ease;
    transition: all 0.6s ease;
    border: 3px solid #1F5488;
    }

ul.interview-list li:hover .mask {opacity:1;}

/* ------------ interview page ------------ */
.career{
    width: 380px;
    height: auto;
    background: rgba(255,255,255,.8);
    padding: 30px;
    position: absolute;
    margin: 80px 60px;
    left: calc(50% - 500px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    }

.career_right{
    right: calc(50% - 500px);
    left: auto;
    }

.career img{
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    }

.career p{
    color: #1F5488;
    font-size: 14px;
    line-height: 2em;
    }

.career p span{
    font-size: 20px;
    margin-left: 20px;
    }

.career::before,
.career::after {
    position: absolute;
    content: '';
    width: 40px;
    height: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    }

.career::before {
    top: 0;
    left: 0;
    border-top: 3px solid #1F5488;
    border-left: 3px solid #1F5488;
    }

.career::after {
    bottom: 0;
    right: 0;
    border-bottom: 3px solid #1F5488;
    border-right: 3px solid #1F5488;
    }

.interview-menu{
    background: #F8F8F8;
    padding: 57px 15px ;
    width:100%;
    }

.interview-menu ul{
    max-width: 740px;
    margin: 0 auto;
    padding: 0;
    }

.interview-menu li:hover{text-decoration:none;}

.interview-menu li{
    text-decoration:none;
    color: #434242;
    font-size: 16px;
    line-height: 1em;
    display: inline-block;
    padding: .4em 1.4em .4em .6em;
    margin: 0 .4em;
    border-right: 1px solid #434242;
    }

.interview-detail{
    clear: both;
    max-width: 960px;
    margin:0 auto;
    }

.interview-detail section{
    display: inline-block;
    margin:90px 30px 30px;
    text-align:justify;
    }


.interview01-top{
    background:#fff url(../images/interview01_top.jpg) center top no-repeat;
    height: 530px;
    background-size: auto;
    position: relative;
    width: 100%;
    }

.interview02-top{
    background:#fff url(../images/interview02_top.jpg) center top no-repeat;
    height: 530px;
    background-size: auto;
    position: relative;
    width: 100%;
    }

.interview03-top{
    background:#fff url(../images/interview03_top.jpg) center top no-repeat;
    height: 530px;
    background-size: auto;
    position: relative;
    width: 100%;
    }

#interview01-1,
#interview02-1,
#interview03-1{
    margin-top: 90px;
    }

#interview01-3,
#interview02-3,
#interview03-3{
    max-width: 580px;
    margin: 120px auto;
    display: block;
    }

.interview01-1_txt,
.interview02-1_txt,
.interview03-1_txt{
    width: calc(60% - 40px);
    float:left;
    }

.interview01-2_txt,
.interview02-2_txt,
.interview03-2_txt{
    width: calc(55% - 40px);
    float:right;
    }

.interview01-3_txt,
.interview02-3_txt,
.interview03-3_txt{
    width: calc(100% - 190px);
    float:left;
    }



.interview-detail h2{
    position: relative;
    display: inline-block;
    margin: 60px 0 30px;
    padding:  60px 0 0 180px;
    font-size: 22px;
    line-height: 33px;
    color: #1F5488;
    text-align: left;
    vertical-align: middle;
    }

.interview-detail .interview h2{
    position: relative;
    display: block;
    margin: 60px 0 0;
    padding: 86px 0 66px;
    font-size: 22px;
    line-height: 33px;
    color: #1F5488;
    text-align: center;
    vertical-align: middle;
    }



#interview01-1 h2:before,
#interview02-1 h2:before,
#interview03-1 h2:before{
    content: "";
    position: absolute;
    background:url(../images/h2_bg_01.png);
    width: 250px;
    height: 205px;
    top: 0;
    left: 38px;
    z-index: 10;
    }

#interview01-2 h2:before,
#interview02-2 h2:before,
#interview03-2 h2:before{
    content: "";
    position: absolute;
    background:url(../images/h2_bg_02.png);
    width: 250px;
    height: 205px;
    top: 0;
    left: 38px;
    z-index: 10;
    }

#interview01-3 h2:before,
#interview02-3 h2:before,
#interview03-3 h2:before{
    content: "";
    position: absolute;
    background:url(../images/h2_bg_03.png);
    width: 250px;
    height: 205px;
    top: 0;
    left: 38px;
    z-index: 10;
    }

#interview01-3 h2,
#interview02-3 h2,
#interview03-3 h2{
    display: block;
    }

.interview-detail p{
    margin:0 auto;
    font-size: 14px;
    line-height: 2em;
    }

section p.right-img{
    position: relative;
    float: right;
    margin: 40px 0 30px 30px;
    max-width: 40%;
    }

#interview01-3 p.right-img,
#interview02-3 p.right-img,
#interview03-3 p.right-img{
    position: relative;
    float: right;
    margin: -90px 0 30px 30px;
    max-width: 160px;
    }

section p.left-img{
    position: relative;
    float: left;
    margin: 190px 40px 30px 0 ;
    max-width: 45%;
    }

section p.right-img img,
section p.left-img img{
    width: 100%;  
    }

section p.right-img:before {
    position: absolute;
    border: 1px solid #707070;
    bottom:-10px;
    left:-10px;
    content:"";
    height:100%;
    width:100%;
    z-index:10;
    }

#interview01-3 p.right-img:before,
#interview02-3 p.right-img:before,
#interview03-3 p.right-img:before {
    display: none;
    }

section p.left-img:before {
    position: absolute;
    border: 1px solid #707070;
    bottom:-10px;
    left:10px;
    content:"";
    height:100%;
    width:100%;
    z-index:10;
    }

/* ------------------------- */

#interview01-oneday{
    background:#fbfbf9 url(../images/interview01-oneday.jpg) center top no-repeat;
    height: 600px;
    background-size: auto;
    position: relative;
    width: 100%;
    margin: 90px 0 30px;
    }

#interview02-oneday{
    background:#fbfbf9 url(../images/interview02-oneday.jpg) center top no-repeat;
    height: 600px;
    background-size: auto;
    position: relative;
    width: 100%;
    margin: 90px 0 30px;
    }

#interview03-oneday{
    background:#fbfbf9 url(../images/interview03-oneday.jpg) center top no-repeat;
    height: 600px;
    background-size: auto;
    position: relative;
    width: 100%;
    margin: 90px 0 30px;
    }


.oneday{
    position: absolute;
    background: rgba(255,255,255,.8);
    padding: 30px;
    margin: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    top: calc(50% - 30px);
    transform:translateY(-50%);
    -webkit- transform:translateY(-50%);
    }


.oneday p{
    color: #000;
    font-size: 12px;
    line-height: 1.8em;
    }

.oneday h3{
    color: #1F5488;
    font-size: 16px;
    font-weight: bold;
    margin:20px 0 4px;
    text-align: center;
    position: relative;
    }

.oneday h3:before{
    content: "";
    position: absolute;
    background:url(../images/oneday.svg);
    width: 16px;
    height: 16px;
    top: -20px;
    left: calc(50% - 8px);
    z-index: 10;
    }

.oneday h4{
    color: #1F5488;
    font-size: 14px;
    font-weight: 500;
    margin:10px 0 4px;
    }

.oneday>div{
    width: 46%;
    float: left;
    margin: 0 2%;
    }
@media screen and (min-width:960px) {
main{overflow: hidden;}
    
.recruit-top img{
    position: absolute;
    width: 199px;
    height: 230px;
    top: 40px;
    left: 0;
    right: 0;
    margin: 0 auto 0 calc(50% - 480px);
    }

/*.recruit-news .entry_btn{
    position: absolute;
    right:0;
    top: -81px;
    margin: 0 calc(50% - 480px) 0 auto;
    }*/
.recruit-news {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    flex-direction: column;
    max-height: 500px;
    margin: 0 auto 0 auto;
    justify-content: center;
    gap: 0px 0px;
    }
.recruit-news-block .ric-navi {
    width: auto;
    }
.recruit-news-block .ric-navi a {
    display: flex;
    }
.recruit-news-block .recruit-news-link1 {
    width: 55%;
    height: auto;
    }
.recruit-news-block .recruit-news-link2 {
    width: 55%;
    height: auto;
    }
.recruit-news-block .recruit-news-link3 {
    width: 820px;
    height: auto;
}
    

}
/* ------------------------------------------------------------ */

@media screen and (max-width:980px) {

.recruit-news{
    padding: 57px 30px;
    width:100%;
    }

.recruit-news p{margin-top: 10px;}

.recruit-news img.ric-navi{float:none;}

.recruit-news-block .ric-navi {
    Width: 100%;
    Height: 30px;
    }
    
.career{left: calc(50% - 400px);}
    
.career_right{
    right: calc(50% - 400px);
    left: auto;
    }
    
}

/* ------------------------------------------------------------ */

@media screen and (max-width:960px) {

.interview{
    margin-left: 30px;
    margin-right: 30px; 
    }

}
/* ------------------------------------------------------------ */

@media screen and (max-width:768px) {
    
.only_sp {display: block!important;}
.only_pc {display: none!important;}
section{margin: 0 20px 90px;}
    
table.requirements-tbl{
    margin: 0 auto;
    }
    
table.requirements-tbl th{
    width: 84px; 
    }
    
table.requirements-tbl th,
table.requirements-tbl td{
    font-size: 14px;
    padding: 16px 1em;
    line-height: 24px;
    }

.wanted{text-align: center;}

.wanted h3{font-size: 21px;}
    
.wanted-txt {margin-top: 60px;}
    
.wanted-txt p{font-size: 14px;}
 
.career{
    margin: 0 auto;
    height: auto;
    bottom: 30px;
    left: 50%;
    transform:translateX(-50%);
    -webkit- transform:translateX(-50%);
    }
    
.career_right{
    right: 50%;
    left: 50%;
    }
    
.career img{
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    }

.career p{
    color: #1F5488;
    font-size: 14px;
    line-height: 2em;
    }

.career::before,
.career::after {
    position: absolute;
    content: '';
    width: 40px;
    height: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    }
    
.career::before {
    top: 0;
    left: 0;
    border-top: 3px solid #1F5488;
    border-left: 3px solid #1F5488;
    }
    
.career::after {
    bottom: 0;
    right: 0;
    border-bottom: 3px solid #1F5488;
    border-right: 3px solid #1F5488;
    }
    
.interview-menu{
    padding: 30px;
    width:100%;
    }
    
.interview-menu li{font-size: 14px;}

.interview-detail h2,
.recruit-detail-page h2{
    font-size: 20px;
}
    
.interview01-1_txt,
.interview01-2_txt,
.interview02-1_txt,
.interview02-2_txt,
.interview03-1_txt,
.interview03-2_txt{
    width: 100%;
    float:none;
    }

section p.right-img,
section p.left-img{
    position: relative;
    max-width:calc(100% - 10px);
    }
section p.right-img{margin: 20px 0 10px 10px;}
    
section p.left-img{margin: 20px 10px 10px 0;}
    
.interview01-top{
    background:#fff url(../images/interview01_top_sp.jpg) center top no-repeat;
    height: 530px;
    background-size: auto 530px;
    position: relative;
    width: 100%;
    }
    
.interview02-top{
    background:#fff url(../images/interview02_top_sp.jpg) center top no-repeat;
    height: 530px;
    background-size: auto 530px;
    position: relative;
    width: 100%;
    }
    
.interview03-top{
    background:#fff url(../images/interview03_top_sp.jpg) center top no-repeat;
    height: 530px;
    background-size: auto 530px;
    position: relative;
    width: 100%;
    }

#interview01-oneday{
    background:#fff url(../images/interview01-oneday_sp.jpg) center top no-repeat;
    height: 800px;
    background-size:800px auto;
    position: relative;
    width: 100%;
    margin: 90px 0 30px;
    }
    
#interview02-oneday{
    background:#fff url(../images/interview02-oneday_sp.jpg) center top no-repeat;
    height: 800px;
    background-size:800px auto;
    position: relative;
    width: 100%;
    margin: 90px 0 30px;
    }
    
#interview03-oneday{
    background:#fff url(../images/interview03-oneday_sp.jpg) center top no-repeat;
    height: 800px;
    background-size:800px auto;
    position: relative;
    width: 100%;
    margin: 90px 0 30px;
    }

.oneday h4{
    color: #1F5488;
    font-size: 14px;
    font-weight: 500;
    margin:10px 0 4px;
    }

.oneday>div{
    width: 100%;
    float: none;
    margin: 0;
    }
    
.interview{
    margin-left: 20px;
    margin-right: 20px;
    }
    
}
/* ------------------------------------------------------------ */
@media screen and (max-width:710px) {

.recruit-news{
    background: #F7F7F7;
    padding: 57px 15px;
    }

.recruit-news p{
    font-size: 14px;
    line-height: 21px;
    }
    
.recruit-news .entry_btn{
    width: 40%;
    height:auto;
    }
}
/* ------------------------------------------------------------ */

@media screen and (max-width:640px) {
ul.interview-list a{
    width: 46%;
    max-width: 280px;
    height: auto;
    overflow: hidden;
    margin:	0 2% 4%;
    position: relative;
    float: left;
    display: block;
    }

#interview01-oneday,
#interview02-oneday,
#interview03-oneday{
    height: 900px;
    background-size: 900px auto;
    }
    
.interview01-3_txt,
.interview02-3_txt,
.interview03-3_txt{
    width: 100%;
    }
    
#interview01-3 p.right-img,
#interview02-3 p.right-img,
#interview03-3 p.right-img{
    margin:0 0 10px 20px;
    max-width: 30%;
    }   
    
#interview01-3,
#interview02-3,
#interview03-3{
    margin-left: 30px;
    margin-right: 30px;
    }

}
/* ------------------------------------------------------------ */

@media screen and (max-width:440px) {
    
.only_sp440 {display: block!important;}
ul.interview-list li .caption p{font-size: 14px;}
ul.interview-list li .caption p.name {font-size: 16px;}
    
.career{width: calc(100% - 60px);}
.career p span{margin-left: 0;}
    
.interview-menu li{
    width: 49%;
    display: inline-block;
    padding: .4em 0;
    margin: 0;
    border-right: none;
    }
    
#interview01-oneday,
#interview02-oneday,
#interview03-oneday{
    height: 1000px;
    background-size:1000px auto;
    }
    
}
/* ------------------------------------------------------------ */