@charset "UTF-8";
/* CSS Document */
*, *:before, *:after{margin:0;padding:0;border: 0;vertical-align:baseline;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-family: "M PLUS Rounded 1c", sans-serif;
font-size:18px;
font-weight:400;
line-height:1.8;
color:#333333;
letter-spacing:0.03em;
width:100%;
max-width: 1920px;
margin: 0 auto;
overflow-wrap: anywhere;
word-break: normal;
line-break: strict;
}



.loading {width: 100vw;height: 100vh;transition: all 1.4s;background-color: #FFF;position: fixed;top: 0;left: 0;z-index: 9999;opacity: 1;visibility: visible;}
.loading.is-active {opacity: 0;visibility: hidden;}
.loading-animation {width: 100vw;height: 100vh;transition: all .4s;background-color: #003c88;z-index: 9999;display: flex;align-items:center;justify-content: center;opacity: 0;visibility: hidden;padding: 0 0 60px;}
.loading-animation img {width: 30vw;max-width: 180px;}
.loading-animation.is-active {opacity: 1;visibility: visible;}

.contents-wrap{opacity: 0;position: relative;z-index: 5;}
.wf-active .contents-wrap{opacity: 1;transition:.5s opacity;}


.sp-only{
display: none;
}
ol, ul {
list-style: none;
list-style-type: none;
}
a:focus, *:focus { outline:none; }
a{
text-decoration: none;
color:#555555;
}
a.link-ul{
text-decoration: underline;
color: #0000ff;
}
a.op07:hover{
opacity:0.7;
 transition: .4s opacity;
}
a:hover{
opacity:0.7;
transition: .4s opacity;
cursor: pointer;
}
a.link-text{
text-decoration:underline;
}
img{
vertical-align:bottom;
}
img.w100{
width: 100%;
}

.inner-1400{
width: 92%;
max-width: 1400px;
margin: 0 auto;
}
.inner-1300{
width: 88%;
max-width: 1300px;
margin: 0 auto;
}
.inner-1200{
width: 88%;
max-width: 1200px;
margin: 0 auto;
}
.inner-1100{
width: 88%;
max-width: 1100px;
margin: 0 auto;
}
.inner-1000{
width: 88%;
max-width: 1000px;
margin: 0 auto;
}
.inner-900{
width: 88%;
max-width: 900px;
margin: 0 auto;
}
.inner-800{
width: 92%;
max-width: 800px;
margin: 0 auto;
}



main{
padding: 76px 0 0;
overflow: hidden;
}

main.full-gradation{
background:url(../images/bg_blue.jpg) repeat-y top center;
background-size: 100% auto;
}
/*////////////////////////セクション////////////////////////*/
section{
position: relative;
}
.bg-gradation{
background:url(../images/bg_blue.jpg) repeat-y top center;
background-size: 100% auto;
padding: 80px 0 180px;
}
.bg-white{
padding: 80px 0 180px;
background: #fff;
}
.bg-light-blue{
position: relative;
background: #e5f6ff;
padding: 80px 0 180px;
}
.bg-non{
position: relative;
padding: 80px 0 180px;
}
.under-cover{
position: absolute;
width: 100%;
bottom: -1px;
left: 0;
}


.page-main-sec{
background:url(../images/bg_blue.jpg) repeat-y top center;
background-size: 100% auto;
position: relative;
padding: 120px 0 0;
}
.add-non-bg{
background: none;
}
.page-main{
position: relative;
padding: 120px 0 0;
}


.page-main-ttl{
width: 90%;
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 70px;
color: #fff4b8;
margin: 0 0 60px;
padding: 0 0 10px 58px;
line-height: 0.8;
background:url(../images/page-ttl-mark.svg) no-repeat 0 2px;
background-size: 30px auto;
position: relative;
left: 60px;
white-space:nowrap;
overflow:hidden;
letter-spacing: -0.01em;
}
.page-main-ttl span{
font-family: "M PLUS Rounded 1c", sans-serif;
font-size: 24px;
padding: 0 14px 0 4px;
position: relative;
top: -10px;
letter-spacing: 0.05em;
}


.page-main-ttl-box{
}






.page-main-ttl span.new-graduate{
background: #0063b2;
padding: 3px 20px 2px;
border-radius: 4px;
color: #fff;
letter-spacing: 0.1em;
}
.page-main-ttl span.career{
background: #10bf31;
padding: 3px 20px 2px;
border-radius: 4px;
color: #fff;
letter-spacing: 0.1em;
}

.page-main-img{
border-radius: 50px;
overflow: hidden;
position: relative;
z-index: 10;
}
.page-main-text-box{
padding: 40px 0 10px;
}

.page-main-lead{
font-size: 18px;
color: #fff;
margin: 0 0 60px;
}
.page-main-attack-lead{
font-weight: 500;
font-size: 30px;
margin: 0 0 40px;
color: #00a0e8;
line-height: 1.8;
}
.recruit-cont .page-main-attack-lead{
color: #0063b2
}
.page-main-attack-lead.add-plus{
font-size: 36px;
margin: 0 0 30px;
}
.bg-non .page-main-attack-lead{
color: #fff;
}
.add-center{
text-align: center;
}
.page-cont-text{
font-size: 20px;
}
.bg-gradation .page-cont-text,
.full-gradation .page-cont-text{
color: #fff;
}
.outer-link{
font-size: 16px;
text-align: right;
padding: 20px 0 0;
}
.outer-link a{
text-align: right;
color: #003C88;
padding: 12px 16px 12px 24px;
background: #e5f6ff;
border-radius: 100px;
}
.outer-link a img{
width: 31px;
margin: 0 0 0 0px;
position: relative;
}








h2{
text-align: center;
font-weight: 400;
font-size: 28px;
}
h2 span{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 58px;
line-height: 1.3;
}
h2.add-minus span{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 50px;
line-height: 1.3;
}
h2.mid-ttl span{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 32px;
line-height: 1.3;
}
.bg-white h2,
.bg-light-blue h2{
color: #399dec;
}


.bg-gradation h2,
.full-gradation h2{
color: #fff4b8;
}








.front-kv-wrap{
position: relative;
}
.front-kv-wrap .under-cover{
z-index: 10;
}

.front-kv-wrap .contents-wrap{
position: fixed;
width: 100%;
top: 76px;
left: 0;
z-index: -1;
}
.front-kv {
  display: none;
}
/* slick-initializedが付与されたら表示 */
.front-kv.slick-initialized {
display: block;
}
.front-kv-overlay{
width: 100%;
padding: 44% 0 0;
position: relative;
}


.front-kv-catch {
position: absolute;
right: 8%;
bottom: 14%;
}
.front-kv-catch h1{
font-family: "Shippori Antique B1", sans-serif;
font-weight: 400;
color: #fff;
font-size: 56px;
letter-spacing: -0.05em;
text-align: right;
line-height: 1.2;
}
.front-kv-catch h1 p{
display: inline-block;
padding: 0 0 6px 24px;
border-radius: 4px;
}
.front-kv-catch h1 p.line-1st{
background: url(../images/bg_blue.jpg) no-repeat right center;
background-size:150% auto;
margin: 0 0 10px;
}
.front-kv-catch h1 p.line-2nd{
background: url(../images/bg_blue.jpg) no-repeat right center;
background-size:200% auto;
}





h2.front-ttl{
font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-size: 70px;
    margin: 0 0 40px;
    padding: 0 0 0 58px;
    line-height: 0.8;
    background: url(../images/page-ttl-mark.svg) no-repeat 0 2px;
    background-size: 30px auto;
    text-align: left;
}
.front-work h2.front-ttl,
.front-recruit h2.front-ttl{
    background: url(../images/page-ttl-mark-blue.svg) no-repeat 0 2px;
    background-size: 30px auto;
}
h2.front-ttl span {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 24px;
    padding: 0 14px 0 0;
    position: relative;
    top: -10px;
}

.flont-btn-img{
border-radius: 20px;
margin: 0 0 14px;
}


.front-links{
font-size: 20px;
font-weight: 500;
text-align: right;
padding: 0 64px 0 0;
line-height: 50px;
position: relative;
letter-spacing: 0.09em;
}
.front-links::after{
position: absolute;
width: 50px;
height: 50px;
content: '';
top: 0;
right: 0;
background:url(../images/arrow-link.svg) no-repeat center center;
background-size: 50px;
}
.front-about .front-links{
color: #fff;
}







.front-message{
max-width: 1100px;
display: flex;
margin: 0 auto 140px;
padding: 4% 0 13%;
position: relative;
}
.front-message-ttl-box{
width: 50%;
}
.front-message-ttl-box p{
color: #fff;
font-size: 19px;
}
.front-message-img{
position: absolute;
width: 42%;
right: 0;
bottom: 0;
}
.front-message-btn-box{
padding: 90px 0 0;
}
.front-message-btn-box a{
width: 100%;
width: 380px;
background: #232d91;
color: #fff;
text-align: center;
line-height: 60px;
position: relative;
display: block;
border-radius: 90px;
font-size: 20px;
}
.front-message-btn-box a::after{
position: absolute;
width: 50px;
height: 50px;
content: '';
top: 5px;
right: 4px;
background:url(../images/arrow-link.svg) no-repeat center center;
background-size: 50px;
}

.front-about{
max-width: 1400px;
margin: 0 auto;
padding: 3% 0 0;
}
.front-about-ttl-box{
width: 100%;
margin: 0 0 90px;
padding: 0 0 0 14%;
}
.front-about-ttl-box .inner{
width: 100%;
}
.front-about-ttl-box h2{
display: inline-block;
margin: 0 34px 0 0;
}
.front-about-ttl-box p{
font-size: 20px;
position: relative;
top: -6px;
color: #fff;
display: inline-block;
text-align: left;
}
.front-about-upper{
width: 92%;
display: flex;
justify-content: space-between;
margin: 0 auto 40px;
padding: 0 7% 40px 0;
}
.front-about-once{
width: 48%;
max-width: 600px;
}
.front-about-once:nth-child(2){
position: relative;
top: 80px;
}
.front-about-lower{
width: 92%;
display: flex;
justify-content: space-between;
margin: 0 auto;
padding: 0 0 80px 7%;
}
.front-about-lower-once{
margin: 0 auto;
max-width: 620px;
}





.front-work{
width: 92%;
max-width: 1120px;
margin: 0 auto;
padding: 120px 0 0;
position: relative;
}
.front-work-inner{
max-width: 600px;
margin: 0 auto;
}
.front-work-once{
}
.front-work-once:nth-child(1){
position: relative;
left:42%;
margin: 0 0 50px;
}
.front-work-ttl-box,
.front-recruit-ttl-box{
position: absolute;
left: 0;
top: 0;
width: 100%;
}
.front-work-ttl-box p,
.front-recruit-ttl-box p{
font-size: 20px;
}
.front-recruit-ttl-box{
top: 70px;
}

.front-recruit{
width: 92%;
max-width: 1360px;
margin: 0 auto;
padding: 50px 0 0;
position: relative;
}
.front-recruit-upper{
position: relative;
display: flex;
justify-content: flex-end;
margin: 0 0 2%;
}
.front-recruit-upper-once{
width: 48%;
max-width: 600px;
}
/*
.front-recruit-lower{
max-width: 1000px;
text-align: center;
margin: 0 auto;
}
*/
.front-recruit-lower{
width: 100%;
display: flex;
justify-content: space-between;
margin: 0 auto 40px;
padding: 0 5% 0 0;
}
.front-recruit-lower-once{
width: 48%;
max-width: 600px;
display: inline-block;
letter-spacing: 0;
vertical-align: top;
}
/*
.front-recruit-lower-once:nth-child(1){
margin: 0 8% 0 0;
}
*/
.front-recruit-lower-once:nth-child(2){
padding: 80px 0 0;
}

.message-signature-ttl{
text-align: right;
margin: 0 0 14px;
}
.message-signature{
text-align: right;
}
.message-signature img{
max-width: 240px;
}
.mind-box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.mind-once{
width: 47%;
background: #fff;
margin: 100px 0 0;
padding: 70px 40px 50px;
border-radius: 50px;
position: relative;
}
.mind-once::after{
content: '';
position: absolute;
width: 110px;
height: 110px;
top: -55px;
left: 0;
right: 0;
margin: auto;
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 60px;
text-align: center;
line-height: 110px;
color: #fff;
border: 2px solid #fff;
border-radius: 90px;
}
.mind-once:nth-child(1)::after{
content: '1';
background: #30beac;
}
.mind-once:nth-child(2)::after{
content: '2';
background: #0fb9a4;
}
.mind-once:nth-child(3)::after{
content: '3';
background: #00ad98;
}
.mind-once:nth-child(4)::after{
content: '4';
background: #0c9c8b;
}
.mind-once h3{
  font-family: "Kosugi Maru", sans-serif;
text-align: center;
font-size: 28px;
font-weight: 500;
color: #00ad98;
margin: 0 0 18px;
padding: 0 0 18px;
line-height: 1.6;
border-bottom: 1px dashed #00ad98;
}





.works-box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.works-once{
width: calc(50% - 70px);
position: relative;
border-radius: 30px;
z-index: 10;
}
.works-once-wrap{
width: 100%;
height: 100%;
position: relative;
background: #fff;
border: 1px solid #0063b2;
border-radius: 30px;
z-index: 100;
}
.works-once:nth-child(1),
.works-once:nth-child(2){
margin: 0 0 140px;
position: relative;
}
.works-once:nth-child(1)::after{
content: '';
position: absolute;
width: 360px;
height: 360px;
bottom: -250px;
right: -250px;
background:url("../images/business-circle.png") no-repeat;
background-size: cover;
z-index: 0;
}

.works-once h3{
text-align: center;
font-weight: 500;
color: #fff;
font-size: 28px;
padding: 34px 14px 28px;
background: #0063b2;
border-radius: 28px 28px 0 0;
line-height: 1.2;
}
.works-once h3 span{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 20px;
}
.works-once-inner{
padding: 24px 30px 40px;
position: relative;
z-index: 10;
}
.works-once-point{
color: #0063b2;
font-size: 24px;
font-weight: 500;
margin: 0 0 12px;
text-align: center;
line-height: 1.8;
}
.works-once-img{
width: 70%;
margin: 0 auto;
}








.numbers-box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 40px 0 0;
}
.numbers-once{
width: 47%;
background: #fff;
margin: 0 0 6%;
padding: 40px 40px;
border-radius: 30px;
text-align: center;
}
.numbers-once-ttl{
max-width: 400px;
text-align: center;
background: #0063b2;
color: #fff;
font-size: 28px;
font-weight: 500;
margin: 0 auto 10px;
padding: 4px;
border-radius: 50px;
}
.numbers-once img{
width: 100%;
margin: 0 0 12px;
}
.numbers-once p{
text-align: left;
line-height: 1.8;
}
.att-text{
text-align: right;
color: #fff;
font-weight: 400;
font-size: 14px;
}



.category-exp{
display: flex;
margin: 0 0 0px;
justify-content: space-between;
}


.category-3circle-box{
width: 42%;
}
.category-page-copy{
font-size: 32px;
font-weight: 500;
margin: 0 0 30px;
line-height: 1.7;
padding: 0 0 30px;
border-bottom: 1px dashed #0063b2;
}
.category-exp-text{
width: 54%;
display: flex;
align-items: center;
font-size: 18px;
color: #0063b2;
padding: 0 0 50px ;
}


.category-matrix-box{
margin: 0 0 30px;
padding: 70px 4%;
background: #fff;
border-radius: 50px;

}
.category-matrix-box img{
width: 100%;
min-width: 1000px;
margin: 0 0 14px;
}

.accordion-content {
display: none;
}
.category-division-once{
margin: 0 0 70px;
background: #fff;
border-radius: 30px;
overflow: hidden;
position: relative;
}
.category-division-once-arrow{
position: absolute;
width: 80px;
height: 80px;
bottom: 24px;
left: 0;
right: 0;
margin: 0 auto;
background: #00a0e8;
background:#00a0e8 url("../images/arrow.svg") no-repeat center center;
background-size: 24px;
border-radius: 50%;
border: 2px solid #fff;
transition:transform 0.5s;
}
.active .category-division-once-arrow{
transform: rotate(180deg);
transition:transform 0.5s;
}
.category-division-ttl{
display: flex;
position: relative;
}
.category-division-ttl:hover{
cursor: pointer;
opacity: 0.7;
}
.division-name-box{
width: 50%;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
position: relative;
}
.division-name-ill{
position: absolute;
width: 15%;
left: 21%;
top: 20%;
}
.cs-div .division-name-ill{
position: absolute;
width: 15%;
left: 18%;
top: 20%;
}
.division-name-ill img{
width: 100%!important;
}
.division-name-box img{
width: 120px;
margin: 0 0 20px;
}
.sales-div{
background: #68cc83;
}
.cs-div{
background: #f8b830;
}
.technical-div{
background: #6aa8ee;
}
.division-name{
text-align: center;
display: inline-block;
font-size: 38px;
font-weight: 500;
color: #fff;
line-height: 1.3;
padding: 0 0;
}
.division-name p{
display: inline-block;
font-size: 24px;
color: #fff;
line-height: 1.3;
padding: 0 0;
}
.division-name span{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 22px;
line-height: 1.3;
}

.division-name p{
display: block;
}
.division-ph-box{
width: 50%;
}
.division-ph-box img{
width: 100%;
}

.category-division-cont{
background: #fff;
padding: 80px 5% 60px;
}
.category-division-lead{
max-width: 840px;
margin: 0 auto;
font-size: 20px;
}
.category-division-exp{
display: flex;
justify-content: space-between;
margin: 0 0 70px;
}
.category-division-exp-once{
width: 33.3333%;
text-align: center;
padding: 0 0 10px;
overflow: hidden;

}
.category-division-exp-once-inner{
height: 100%;
padding: 0 20px;
}
.no-bdr{
border-right: none;
}
.category-division-exp-once:nth-child(3){
border-right: none;
}
.category-division-exp-once-ttl{
font-size: 28px;
text-align: center;
color: #00a0e8;
margin: 0 0 24px;
background: #e5f6ff;
}
.category-division-exp-once img{
width: 70%;
margin: 0 0 30px;
}
.category-division-exp-once p{
text-align: left;
font-size: 18px;
margin: 0 0 6px;
line-height: 1.7;
}
.category-division-exp-once p span{
color: #00a0e8;
}

.cat-schedule-box-ttl{
position: relative;
text-align: center;
}
.cat-schedule-box-ttl::after{
content: '';
width: 100%;
height: 1px;
position: absolute;
left: 0;
top: 50%;
border-top: 1px dashed #0063b2;
z-index: 0;
}
.category-division-cont h2{
color: #0063b2;
display: inline-block;
padding: 0 40px;
background: #fff;
position: relative;
z-index: 10;
line-height: 1.6;
font-size: 34px;
font-weight: 500;
}
.category-division-cont h2 span{
font-size: 28px;
}
.cat-schedule-block h2{
background: #f6fcff;
}
.cat-schedule-icon{
text-align: center;
margin: 0 0;
}
.cat-schedule-icon img{
width: 50px;
}






.interview-page-copy{
text-align: center;
font-size: 36px;
color: #fff;
font-weight: 500;
margin: 0 0 60px;
line-height: 1.7;
}
.interview-page-lead{
text-align: center;
font-size: 20px;
color: #fff;
margin: 0 0 30px;
}

.interview-list-box{
display: flex;
justify-content: space-between;
position: relative;
}
.interview-once{
width: 45%;
background: #fff;
border-radius: 20px;
overflow: hidden;
position: relative;
}
.interview-once-div-tag{
position: absolute;
top: 0;
left: 30px;
color: #fff;
padding: 4px 14px;
border-radius: 0 0 10px 10px;
font-size: 22px;
}
.interview-once a{
display: block;
}
.interview-once a::after{
content: '';
position: absolute;
right: 0;
bottom: 0;
width: 70px;
height: 50px;
background:#003C88 url("../images/arrow-link.svg") no-repeat center center;
background-size: 44px;
border-radius: 20px 0 0;
}



.interview-once img{
width: 100%;
}
.interview-once-dev{
padding: 20px 34px 30px;
}
.interview-once h2{
font-size: 24px;
font-weight: 500;
color: #399dec;
margin: 0 0 20px;
line-height: 1.7;
text-align: left;
}
.interview-once-dev p{
color: #399dec;
}
.interview-once-dev p.name {
font-size: 28px;
}
.interview-once-dev p.name span {
font-size: 18px;
padding: 0 0 0 8px;
position: relative;
top: -2px;
}
.environment-lead-box{
text-align: center;
padding: 40px 0 20px;
}
.environment-lead-box .page-main-attack-lead{
font-size: 36px;
margin: 0 0 14px;
}

.environment-box{
display: flex;
flex-wrap: wrap;
padding: 20px 7% 50px;
background: #fff;
border-radius: 30px;
overflow: hidden;
}

.environment-once{
width: 50%;
overflow: hidden;
position: relative;
}
.environment-once-inner{
position: relative;
margin: 8% 0;
display: flex;
flex-flow: column;
justify-content: space-between;
}




.environment-once:nth-child(odd)::after{
content: '';
width: calc(100% - 8%);
height: 1px;
top: 0;
left: 0;
position: absolute;
border-top: 1px dotted #399dec;
}
.environment-once:nth-child(even)::after{
content: '';
width: calc(100% - 8%);
height: 1px;
top: 0;
right: 0;
position: absolute;
border-top: 1px dotted #399dec;
}
.environment-once:nth-child(1)::after{
border-top: none;
}
.environment-once:nth-child(2)::after{
border-top: none;
}


.environment-once h3{
text-align: left;
font-size: 28px;
font-weight: 500;
color: #399dec;
}
.environment-once h3 span{
color: #82ca1a;
}
.environment-once:nth-child(odd) .environment-once-inner{
padding: 0 8% 0 0;
border-right: 1px dotted #399dec;
}
.environment-once:nth-child(even) .environment-once-inner{
padding: 0 0 0 8%;
}
.environment-once p{
min-height: 94px;
margin: 10px 0 20px;
}
.environment-once img{
width: 100%;
border-radius: 12px;
}




dl.app-box,
dl.company-box,
dl.branch-box{
width: 100%;
border-top: 1px solid #399dec;
}
dl.app-box dt,
dl.company-box dt,
dl.branch-box dt{
clear: both;
width: 240px;
float: left;
font-size: 18px;
padding: 26px 0 28px 20px;
}
dl.app-box dt{
font-weight: 500;
color: #003C88;
}
dl.company-box dt{
color: #0063b2;
}
dl.branch-box dt{
color: #0063b2;
}
dl.app-box dd,
dl.company-box dd,
dl.branch-box dd{
padding: 28px 0 28px 250px;
width: 100%;
border-bottom: 1px dotted #399dec;
}
dl.app-box dd span,
dl.company-box dd span,
dl.branch-box dd span{
display: inline-block;
}
.for-blanch{display: none;}




.flow-once{
text-align: center;
font-size: 24px;
font-weight: 500;
padding: 30px 4% 30px;
border:2px dashed #399dec;
border-radius: 30px;
background: #f6fcff;
}
.for-new-graduate{
display: flex;
justify-content: center;
}
.flow-once-cont{
width: 35%;
text-align: left;
display: flex;
align-items: center;
}
.flow-once-step{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 28px;
color: #399dec;
line-height: 1.6;
}
.flow-once-step span{
font-family: "M PLUS Rounded 1c", sans-serif;
font-size: 28px;
color: #555;
font-weight: 500;
}
.flow-once-end{
font-size: 32px;
color: #399dec;
line-height: 1.6;
padding: 20px 0;
}
.flow-once-step-img{
width: 35%;
padding:0 3% 0 0;
}
.flow-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 30px solid #9ad2ff;
  border-right: 0;
  transform:rotate(90deg);
  margin: 30px auto;
  position: relative;
  top: -50px;
  opacity:0;
}
.flow-triangle.scrolled{
opacity:1;
top: 0;
transition:opacity 0.8s 0s,top 0.8s 0s;
}

.faq{
width: 100%;
background: #fff;
border-radius: 30px;
margin: 0 0 20px;
padding: 28px 6%;
}
dl.faq dt{
width: 100%;
position: relative;
color: #399dec;
font-weight: 500;
font-size: 22px;
padding: 14px 0 20px 70px;
border-bottom: 1px dotted #399dec;
}
dl.faq dd{
width: 100%;
position: relative;
padding: 20px 0 14px 70px;
}
dl.faq dt::before{
content: 'Q.';
position: absolute;
left: 0;
top: 12px;
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 38px;
line-height: 1;
color: #399dec;
}
dl.faq dd::before{
content: 'A.';
position: absolute;
left: 2px;
top: 14px;
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 38px;
line-height: 1;
color: #ee8342;
}


.voice-box{
background: #fff;
border-radius: 30px;
margin: 0 0 20px;
padding: 58px 6%;
text-align: center;
}
.voice-box img{
max-width: 800px;
}
.voice-cont{
display: flex;
justify-content: space-between;
margin: 0 auto;
}
.voice-once{
width: 48%;
display: flex;
flex-flow:column;
justify-content:space-between;	
}
.voice-img{
border-radius: 50%;
overflow: hidden;
width: 70%;
margin: 0 auto;
}
.voice-comment{
width: 100%;
margin: 0 0 40px;
padding: 18px 24px;
border: 1px solid #399dec;
border-radius: 30px;
position: relative;
}
.voice-comment::after{
width: 34px;
height: 34px;
position: absolute;
content: '';
bottom: -27px;
left: 0;
right: 0;
background: url("../images/voice-arrow.svg") no-repeat top center;
background-size: 100% auto;
margin: auto;
}
.voice-once p{
text-align: left;
line-height: 1.6;
margin-left: 1em;
text-indent: -1em;
padding: 8px 0;
}
.voice-once p span{
color: #399dec;
}
.to-interview-index{
width: 100%;
max-width: 280px;
margin: 0 auto;
padding: 40px 0 0;
}
.to-interview-index a{
display: block;
text-align: center;
color: #003C88;
padding: 12px 16px 12px 24px;
background: #e5f6ff;
border-radius: 100px;
}
.to-interview-index a img{
width: 23px;
vertical-align: middle;
position: relative;
top: -2px;
margin: 0 0 0 12px;
}




/*////////////////////////////////*/
.cat-schedule-block{
background: #f6fcff;
width: 100%;
max-width: 1300px;
margin: 0 auto;
padding: 60px 4% 80px;
border-radius: 0 0 36px 36px;
}
.cat-schedule-ttl{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 20px;
text-align: center;
line-height: 1.8;
margin: 0 auto;
border-bottom: 1px dotted #0063b2;
padding: 0 0 16px;
color: #0063b2;
}
.cat-schedule-ttl span{
font-size: 28px;
font-family: "M PLUS Rounded 1c", sans-serif;
font-weight: 500;
color: #0063b2;
}
.cat-schedule-line-box{
overflow: hidden;
width: 100%;
max-width: 1000px;
margin: 0 auto;
padding: 30px 0 0;
}
.cat-schedule-line-left{
width: 47%;
float: left;
}
.cat-schedule-line-right{
width: 47%;
float: right;
}
.cat-schedule-line-left dl,
.cat-schedule-line-right dl{
display: flex;
}
.cat-schedule-line-left dl dt,
.cat-schedule-line-right dl dt{
width: 84px;
padding: 0 20px 36px 0;
border-right: 2px solid #0063b2;
position: relative;
font-family: "Montserrat", sans-serif;
font-weight: 500;
font-size: 20px;
flex-shrink: 0;
text-align: right;
color: #0063b2;
}
.cat-schedule-line-point{
width: 19px;
height: 19px;
position: absolute;
top: 9px;
left: 74px;
background: #0063b2;
border-radius: 50%;
}
.cat-schedule-line-left dl dd,
.cat-schedule-line-right dl dd{
flex: 1;
padding: 4px 0 36px 26px;
line-height: 1.7;
}
.cat-schedule-act-ttl{
margin: 0 0 8px;
}

.cat-schedule-tag{
font-size: 18px;
background: #f69c44;
color: #fff;
padding: 4px 14px;
display: inline-block;
margin: 0 8px 14px 0;
border-radius: 4px;
}
.cat-schedule-tag.cat01{
background: #68cc83;
}
.cat-schedule-tag.cat02{
background: #f8b830;
}
.cat-schedule-tag.cat03{
background: #6aa8ee;
}

/*////////////////////////////////*/

.page-main-interview {
    position: relative;
    padding: 0 0 160px;
    background: url(../images/bg_blue.jpg) repeat-y bottom center;
    background-size: 100% auto;
}


.interview-main{
max-width: 1400px;
margin: 0 auto 140px;
}
.interview-main-copy {
    font-size: 36px;
    color: #fff;
    font-weight: 400;
    margin: 0 0 60px;
    line-height: 1.7;
}
.interview-main-img {
border-radius: 0 0 30px 30px;
position: relative;
overflow: hidden;
}
.interview-main-img img{
}
.interview-page-num {
position: absolute;
top: 0;
left: 10%;
font-family: "Montserrat", sans-serif;
font-weight: 500;
font-size: 28px;
background: #0063b2;
display: inline-block;
color: #fff;
margin: 0 0 4px;
padding: 0 34px;
border-radius: 0 0 20px 20px;
}
.interview-page-num span{
font-size: 42px;
}

.interview-main-img h1{
position: absolute;
bottom: 34%;
right: 6%;
text-align: right;
line-height: 1.2;
font-size: 54px;
font-weight: 500;
}
.interview-main-img h1 p{
font-family: "Shippori Antique B1", sans-serif;
font-weight: 400;
background: #399dec;
display: inline-block;
margin: 0 0 6px;
padding: 2px 6px;
color: #fff;
}


.interview-name-box {
position: absolute;
width: 50%;
max-width: 900px;
bottom: 0;
left: 0;
padding: 20px 4%;
background: #55d07b;
text-align: center;
border-radius:0 30px 0 0;
}
.interview-name {
font-family: "Montserrat", sans-serif;
font-weight: 500;
font-size: 40px;
color: #fff;
margin: 0 20px 0 0;
display: inline-block;
}
.interview-name-box p{
display: inline-block;
color: #fff;
}



.interview-main-intro-box{
position: absolute;
background: #fff;
left: 0;
bottom: -100px;
padding: 40px 6%;
border-radius: 30px;
}


.interview-prof{
width: 65%;
max-width: 800px;
display: flex;
color: #fff;
padding: 28px 20px;
border-radius: 0 30px 0 30px;
position:absolute;
bottom:0;
left: 0;
}
.interview-prof dt{
width: 40%;
display: flex;
flex-shrink:0;
align-items: center;
font-family: "Montserrat", sans-serif;
font-weight: 500;
font-size: 42px;
justify-content: flex-end;
border-right: 1px solid #fff;
padding: 0 40px 0 0;
line-height: 1.4;
}
.interview-prof dt span{
font-size: 24px;
font-family: "M PLUS Rounded 1c", sans-serif;
font-weight: 400;
padding: 0 0 0 10px;
position: relative;
top: 4px;
}
.interview-prof dd{
display: flex;
align-items: center;
padding: 0 0 0 40px;
line-height: 1.7;
font-size: 20px;
}

.interview-block{
}
.interview-block .text-box{
background: #fff;
position: relative;
padding: 0 50px;
border-radius: 20px;
z-index: 10;
min-height: 320px;
}
.interview-block .img-box{
border-radius: 20px;
overflow: hidden;
}
.interview-block .img-box{
top:0;
opacity:0;
transition:opacity 1s 0s;
}
.interview-block .img-box.scrolled{
opacity:1;
transition:opacity 1s 0s;
animation-name: move-up;
animation-duration: 1s;
animation-fill-mode: both;
}

.interview-block .inner{
padding: 50px 0 44px;
position: relative;
}
.interview-block-num{
font-family: "Montserrat", sans-serif;
font-weight: 500;
font-size: 18px;
background: #399dec;
border-radius: 50px;
display: inline-block;
color: #fff;
margin: 0 0 10px;
padding: 4px 60px 0;
line-height: 40px;
position: absolute;
left: 0;
top: -22px;
}
.interview-block-num span{
font-size: 30px;
position: relative;
top: 2px;
}
.interview-block-ttl{
font-size: 28px;
font-weight: 500;
margin: 0 0 14px;
color: #0063b2;
}


.interview-block.block-1st,
.interview-block.block-3rd{
max-width: 1300px;
margin: 0 auto 120px;
padding: 5% 0 0 0;
position: relative;
}
.interview-block.block-1st .text-box,
.interview-block.block-3rd .text-box{
width: 60%;
position: relative;
left: 8%;
}
.interview-block.block-1st .img-box,
.interview-block.block-3rd .img-box{
position: absolute;
width: 35%;
top: 0;
right: 0;
}

.interview-block.block-2nd,
.interview-block.block-4th{
max-width: 1300px;
margin: 0 auto;
padding: 5% 0 60px 0;
position: relative;
text-align: right;
}
.interview-block.block-4th{
margin: 0 auto 80px;
}
.interview-block.block-2nd .text-box,
.interview-block.block-4th .text-box{
width: 60%;
display: inline-block;
position: relative;
right: 8%;

}
.interview-block.block-2nd .img-box,
.interview-block.block-4th .img-box{
width: 35%;
position: absolute;
top: 0;
left: 0;
}

.interview-block.block-2nd .interview-block-ttl,
.interview-block.block-4th .interview-block-ttl{
text-align: right;
}
.interview-block.block-2nd .interview-block-num,
.interview-block.block-4th .interview-block-num{
left: auto;
right: 0;
}
.interview-block.block-2nd p,
.interview-block.block-4th p{
text-align: left;
text-align:justify;
}
.for-itv-index{display: none;}











.text-white{
}
.interview-schedule-box {
    margin: 0 0 90px;
    padding: 60px 6%;
    background: #fff;
    border-radius: 50px;
}
.interview-schedule-box-ttl{
position: relative;
text-align: center;
}
.interview-schedule-box-ttl::after{
content: '';
width: 100%;
height: 1px;
position: absolute;
left: 0;
top: 50%;
border-top: 1px dashed #0063b2;
z-index: 0;
}
.interview-schedule-box h2{
color: #0063b2;
display: inline-block;
padding: 0 40px;
background: #fff;
position: relative;
z-index: 10;
line-height: 1.6;
}
.interview-schedule-icon{
text-align: center;
margin: 0 0 14px;
}
.interview-schedule-icon img{
width: 50px;
}

.interview-to-index{
width: 80px;
margin: 0 auto;
text-align: center;
}
.interview-to-index img{
width: 50px;
}
.interview-to-index p{
font-family: "Montserrat", sans-serif;
font-weight: 500;
text-align: center;
color: #0063b2;
font-size: 24px;
padding: 4px 0 0;
}

.interview-comment-box{

}
.interview-comment-once-ttl{
font-size: 24px;
color: #399dec;
text-align: center;
margin: 0 0 20px;
padding: 0 0 8px;
border-bottom: 1px dashed #399dec;
}
.interview-comment-once{
width: 100%;
background: #fff;
border-radius: 20px;
position: relative;
overflow: hidden;
}

.interview-comment-num{
width: 100%;
top: 0;
left: 0;
right: 0;
background: #68be83;
color: #fff;
font-size: 28px;
font-weight: 500;
text-align: center;
margin: 0 auto;
padding: 16px 7% 18px;
line-height: 40px;
border-radius: 0 0;
}
.interview-comment-once p{
padding: 4% 7% 4%;
}
.interview-comment-once p.interview-comment-num-ttl{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 22px;
line-height: 1.9;
margin: 0;
padding: 0;
}







.page-wrap {
padding: 150px 0 80px;
overflow: hidden;
}
.page-cat-wrap{
padding: 150px 0 0;
overflow: hidden;
}
.page-ttl-box{
width:fit-content;
position: relative;
}
.page-ttl-box-cover{
position: absolute;
width: 100%;
height: 100%;
background: #fff;
top: 0;
right: 0;
animation-name: ttl-animation;
animation-duration: 2.4s;
animation-fill-mode: both;
}
@keyframes ttl-animation{
0%{width: 100%;}
80%{width: 0%;}
100%{width: 0%;}
}
.page-ttl-box h1{
font-optical-sizing: auto;
font-weight:600;
font-size: 40px;
line-height: 1.3;
padding: 0 30px 14px 0;
letter-spacing: 0.1em;
display: inline-block;
}
.page-ttl-en{
font-size: 19px;
}
.page-ttl-line{
background: #93c9e1;
width: 28px;
height: 3px;
margin: 0 0 20px;
}







#global-header-wrap{
position: fixed;
top:0;
left: 0;
width: 100%;
z-index: 5000;
background: #fff;
}
#global-header{
position: relative;
width: 100%;
max-width: 1400px;
margin: 0 auto;
}
#global-header-logo {
width: 380px;
height: 76px;
z-index: 201;
margin: 0 0 0 2%;
padding: 16px 0 10px 0;
position: relative;
overflow: hidden;
}
#global-header-logo img {
width: 170px;
float: left;
}
#global-header-logo p {
font-family: "Montserrat", sans-serif;
font-weight: 400;
color:#232d91;
font-size: 0px;
float: left;
display: inline-block;
padding: 4px 0 0 22px;
}
.wf-active #global-header-logo p{
font-size: 20px;
}
#global-header-links{
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 76px;
}








/*////////////////////////フッター////////////////////////*/

footer{
background:url(../images/bg_blue.jpg) repeat-y bottom center;
background-size: 100% auto;
padding: 80px 0 30px;
}

footer .inner-1000{
display: flex;
margin: 0 auto 100px;
padding: 0 2%;
}
footer .link-box{
width: 25%;
}
footer .link-box p{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 28px;
color: #fff;
margin: 0 0 10px;
}
footer .link-box a{
display: block;
line-height: 2.7;
color: #fff;
font-size: 17px;
}
footer .copy-r{
text-align: center;
font-size: 12px;
color: #fff;
font-family: "Montserrat", sans-serif;
font-weight: 400;
}
.to-corp-site{
width: 240px;
margin: 0 auto 40px;
}
.to-corp-site a{
display: block;
color: #fff;
line-height: 2.5;
border: 1px solid #fff;
border-radius: 40px;
text-align: center;
}
/*////////////////////////エントリーセクション////////////////////////*/
.foot-head{
position: absolute;
width: 100%;
left: 0;
bottom: 0;
}
.footer-entry-sec{
background: #e3ecfc;
padding: 60px 0 100px;
}
.footer-entry-sec .inner-1100{
display: flex;
}
.footer-entry-box{
width: 50%;
display: flex;
justify-content: center;
align-items: center;
}
.footer-entry-box a{
background: #ed3e30;
color: #fff;
font-size: 18px;
text-align: center;
min-width: 460px;
border-radius: 80px;
line-height: 1.4;
padding: 16px 0;
border: 4px solid #fff;
}
.footer-entry-box a span{
font-family: "Montserrat", sans-serif;
font-weight: 400;
font-size: 32px;
letter-spacing: 0.3em;
}
.footer-entry-box a.new-g-entry{
background: #fe7b2c;
}
.footer-entry-box a.career-entry{
background: #00ad98;
}
/*////////////////////////メニューボタン////////////////////////*/
.menu-btn,
.menu-btn.active{
position: absolute;
top: 0;
z-index: 5000;
width: 76px;
height: 76px;
background: #0063b2;
}
.menu-btn{
right: 0;
}
.menu-btn.active .close-overlay-menu-wrap {
display: block;
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
z-index: 5001;
}
@media (hover: hover) {
.menu-btn.active .close-overlay-menu-wrap:hover {
cursor: pointer;
}
}
.menu-btn a{
position: relative;
display:block;
width:100%;
height:100%;
}
.menu-btn span{
display: inline-block;
transition: all .4s;
position: absolute;
left: 33%;
height: 1px;
background: #fff;
width: 34%;
}
.menu-btn span:nth-of-type(1) {top:20px;}
.menu-btn span:nth-of-type(2) {top:28px;}
.menu-btn span:nth-of-type(3) {top:36px;}
.menu-btn.active span:nth-of-type(1) {
top: 23px;
left: 30%;
transform: translateY(6px) rotate(-45deg);
width: 40%;
}
.menu-btn.active span:nth-of-type(2) {
opacity: 0;
}
.menu-btn.active span:nth-of-type(3){
top: 35px;
left: 30%;
transform: translateY(-6px) rotate(45deg);
width: 40%;
}
.menu-btn p{
width: 100%;
font-family: "Montserrat", sans-serif;
font-weight: 400;
text-align: center;
color: #fff;
font-size: 14px;
position: absolute;
top: 42px;
}
/*////////////////////////モーダルメニュー////////////////////////*/
.modal-menu-wrap{
width:100%;
min-height: 100%;
display: flex;
align-items: center;
padding: 110px 6% 180px;
flex-wrap: wrap;
justify-content: flex-start;
}
.modal-menu-inner{
width:100%;
margin:0 auto;
padding: 0 0 60px;
}
.modal-menu-left{
width:45%;
}
.modal-menu-right{
width:45%;
}
.modal-menu-cat-box a{
position: relative;
display:block;
line-height:38px;
margin:0 0 4px;
padding: 4px 0 4px 30px;
}
.modal-menu-cat-box a::after{
position: absolute;
content: '';
left: 0;
top: 14px;
width: 18px;
height: 18px;
background:url(../images/arrow-link.svg) no-repeat center center;
background-size: 18px;
}
.modal-menu-cat-ttl{
width:100%;
min-width: 240px;
font-size:38px;
margin:0 0 18px;
padding:0 0 4px;
border-bottom:1px dashed #399dec;
font-family: "Montserrat", sans-serif;
font-weight: 400;
position:relative;
color: #399dec;
line-height: 1.5;
}
.modal-menu-box{
width: 100%;
max-width: 1000px;
display: flex;
justify-content: space-between;
margin: 0 auto;
}
.modal-menu-cat-box a{
display: block;
}

/* =============================ADD============================= */
.add-mgb160{margin-bottom: 160px;}
.add-mgb140{margin-bottom: 140px;}
.add-mgb120{margin-bottom: 120px;}
.add-mgb100{margin-bottom: 100px;}
.add-mgb80{margin-bottom: 80px;}
.add-mgb60{margin-bottom: 60px;}
.add-mgb50{margin-bottom: 50px;}
.add-mgb40{margin-bottom: 40px;}
.add-mgb30{margin-bottom: 30px;}
.add-mgb20{margin-bottom: 20px;}
.add-mgb10{margin-bottom: 10px;}
.add-mgauto{margin-left: auto;margin-right: auto;}

.animatedModal-off{overflow:hidden;}
.animatedModal-on{overflow:scroll;}

@keyframes scroll-hint-appear {
0% {
transform: translateX(40px);
opacity: 0;
}
10% {
opacity: 1;
}
50%,
100% {
transform: translateX(-40px);
opacity: 0;
}
}
.scroll-hint.is-right-scrollable {
background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-right-scrollable.is-left-scrollable {
background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint.is-left-scrollable {
background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}
.scroll-hint-icon {
position: absolute;
top: 40%;
left: 0;
right: 0;
box-sizing: border-box;
width: 100px;
height: 74px;
border-radius: 10px;
transition: opacity .3s;
opacity: 0;
background: rgba(254, 123, 44, 1);
text-align: center;
margin: auto;
padding: 10px 4px 20px 4px;
}
.scroll-hint-icon-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
max-height: 100%;
pointer-events: none;
}
.scroll-hint-text {
font-size: 10px;
color: #FFF;
margin-top: 2px;
letter-spacing: 0;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
opacity: .9;
}
.scroll-hint-icon:before {
display: inline-block;
width: 24px;
height: 28px;
color: #FFF;
vertical-align: middle;
text-align: center;
content: "";
background-position: center center;
background-repeat: no-repeat;
background-image:url(../images/finger-scroll.png);
background-size:100% auto; 
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
opacity: 1;
}
.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
animation: scroll-hint-appear 1.8s linear;
animation-iteration-count: 2;
}
.scroll-hint-icon-white {
background-color: #FFF;
box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

@media print {
body {width:1100px;}
}