@charset "utf-8";


/*==============================
    基本設定
==============================*/
body{
    color:#333;
    font-size:12px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;;
    margin:0;
    padding:0;
    text-align:left;
    background:#fff;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:rgba(0,0,0,0.25);
    position:relative;
    word-break:break-all;
    overflow-y: scroll;
    min-width: 1400px;
}
@media only screen and (max-width:767px){
    body{
        min-width:0;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fSerif{font-family:'Noto Serif Japanese', serif;}
.fMontserrat{font-family:"Montserrat", sans-serif;}


/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover{ opacity:0.8; }
.ro a,
a.ro,
a .ro,
.cursorPointer{
    transition:opacity 0.2s ease-out;
}
.cursorPointer{cursor:pointer;}
@media only screen and (max-width:767px){
    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover{ opacity:1; }
}

/*rollover(brightnessによる変化)*/
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.brt a,
a.brt,
a .brt{
    transition:filter 0.2s ease-out;
}
@media only screen and (max-width:767px){
    .brt a:hover,a.brt:hover,a .brt:hover{ filter:none; }
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover,
.ro .no_ro .cursorPointer:hover,
.ro .cursorPointer.no_ro:hover{ opacity:1; }

/* 電話リンクの無効化 */
a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
}
@media only screen and (max-width:767px){
    a[href^="tel:"]{
        pointer-events:auto;
        cursor:pointer;
    }
}

/* container */
#container{
    overflow:hidden;
    max-width:1920px;
    margin:0 auto;
    width: 100%;
}

#main{
    padding-top: 110px;
}
@media only screen and (max-width:767px){
    #main{
        padding-top: 55px;
    }
}

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.spOnly,
.brSp,
.imgSp{
    display:none;
}
.img100{
    width:100%;
    height:auto;
}
@media only screen and (max-width:767px){
    .spNone,
    .brPc,
    .imgPc{
        display:none;
    }
    .spOnly{
        display:block;
    }
    .brSp,
    .imgSp{
        display:inline;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCont{
    position:relative;
}
.imgCover img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
}
.imgCont img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper960{
    width: 960px;
    margin: 0 auto;
    max-width: calc(100% - 100px);
}
.wrapper1200{
    width: 1200px;
    margin: 0 auto;
    max-width: calc(100% - 100px);
}
.wrapper1500{
    width: 1500px;
    margin: 0 auto;
    max-width: calc(100% - 100px);
}
.wrapper1540{
    width: 1540px;
    margin: 0 auto;
    max-width: calc(100% - 100px);
}
.wrapper1720{
    width: 1720px;
    margin: 0 auto;
    max-width: calc(100% - 100px);
}
@media only screen and (max-width:767px){
    .wrapper960,
    .wrapper1200,
    .wrapper1500,
    .wrapper1540,
    .wrapper1720{
        width: 100%;
        max-width: none;
    }
    .wrapperSp{
        width: 92%;
        margin: 0 auto;
    }
    .wrapperSp335{
        width:89.335%;
        margin: 0 auto;
    }
}

/*-----------------------------------------------
    secCmnTop
-----------------------------------------------*/
.secCmnTop{
    width: 100%;
    height: 500px;
    display: flex;
    align-items: flex-end;
    color: #fff;
    padding-bottom: 55px;
}
.secCmnTop .mainTit{
    font-size: 64px;
    font-weight: 700;
}
.secCmnTop .spanShadow{
    text-shadow: 0 0px 10px rgba(0, 0, 0, .50)
}
.secCmnTop .mainTxt{
    font-size: 19px;
    font-weight: 700;
    margin-top: 15px;
    letter-spacing: 1px;
}
@media only screen and (max-width:767px){
    .secCmnTop{
        height:80vw;
        padding-bottom: 9vw;
    }
    .secCmnTop .mainTit{
        font-size: 38px;
    }
    .secCmnTop .mainTxt{
        font-size: 14px;
        margin-top: 13px;
        letter-spacing: 0px;
    }
}

/*-----------------------------------------------
    pnkz
-----------------------------------------------*/
#pnkz{
    padding: 28px 0;
    background: #f9fafc;
}
#pnkz a{
    color: inherit;
    text-decoration: none;
}
#pnkz li a{
    color: #A6ACB3;
}
#pnkz li{
    display: inline-block;
    font-size: 10px;
    line-height: 1.6;
    overflow: hidden;
    padding-bottom: 1em;
    color: #202F40;
}
#pnkz li::after{
    content: "―";
    margin: 0 7px;
    color: #A6ACB3;
}
#pnkz li:last-child::after{
    display: none;
}
@media only screen and (max-width:767px){
    #pnkz{
        padding: 22px 0;
    }
    #pnkz li{
        font-size: 10px;
        line-height: 1.6;
    }
    #pnkz li::after{
        content: "―";
        margin: 0 7px;
    }
    #pnkz li:last-child::after{
        display: none;
    }
}

/*-----------------------------------------------
   secBnr
-----------------------------------------------*/
.secBnr{
    position: relative;
    height: 408px;
    padding-top: 70px;
    z-index: 10;
}
.secBnr.lazyloaded{
    background: url(../img/global/bgBnr.jpg) center top / cover;
}
.secBnr .topTit{
    font-size: 24px;
    font-weight: bold;
    position: relative;
    color: #fff;
}
.secBnr .topTit::before {
    position: absolute;
    content: "";
    background: #fff;
    width: 40px;
    height: 3px;
    bottom: -20px;
    left: 0px;
}
.secBnr .list{
    display: flex;
    padding: 54px 161px 0;
}
.secBnr .item{
    width: calc(50% - 15px);
    margin-right: 30px;
}
.secBnr .item:last-child{
    margin-right: 0;
}
.secBnr .inner{
    display: flex;
    align-items: center;
    font-size: 22px;
    color: #fff;
    background: #00B0EC;
    text-decoration: unset;
    height: 120px;
    padding-left: 40px;
    letter-spacing: 1.5px;
    position: relative;
}
.secBnr .inner::before{
    position: absolute;
    content: "";
    width: 24px;
    height: 16px;
    right: 40px;
    top: calc(50% - 8px);
    transition: all .3s;
}
.secBnr .inner.lazyloaded::before {
    background: url(../img/global/btnArrow_hover.png) center top / cover;
}
.secBnr .item:last-child .inner{
    background: #0078BE;
}
.secBnr .inner:hover{
    background: #fff;
    border: 1px solid #00B0EC;
    color: #00B0EC;
}
.secBnr .inner:hover::before{
    right: 35px;
}
.secBnr .inner.lazyloaded:hover:before{
    background: url(../img/global/btnArrow_hover02.png) center top / cover;
}
.secBnr .item:last-child .inner:hover{
    background: #fff;
    border: 1px solid #0078BE;
    color: #0078BE;
}
.secBnr .item:last-child .inner.lazyloaded:hover::before{
    background: url(../img/global/btnArrow_hover03.png) center top / cover;
}
@media only screen and (max-width:767px){
    .secBnr{
        height: auto;
        padding: 15vw 0 19.8vw;
    }
    .secBnr.lazyloaded{
        background: url(../img/global/bgBnr_sp.jpg) center top / cover;
    }
    .secBnr .topTit{
        font-size: 21px;
    }
    .secBnr .topTit::before{
        width: 34px;
        height: 2px;
        bottom: -17px;
        background: #00B0EC;
    }
    .secBnr .list{
        display: block;
        padding: 62px 13.5px 0;
    }
    .secBnr .item{
        width: 100%;
        margin-right: 0%;
    }
    .secBnr .item:last-child{
        margin-top: 12px;
    }
    .secBnr .inner{
        font-size: 15px;
        height: 100%;
        letter-spacing: 0px;
        padding: 38.5px 20px 42.5px;
    }
    .secBnr .inner::before{
        width: 15px;
        height: 10px;
        right: 18px;
        top: calc(50% - 6.5px);
    }
    .secBnr .inner:hover::before{
        right: 13px;
    }
    .secBnr .inner:hover{
        padding: 37.5px 20px 41.5px;
    }
    .secBnr .item:last-child .inner:hover{
        padding: 37.5px 20px 41.5px;
    }
}

/* header */
#header{
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    transition: all ease-out .3s;
    min-width: 1400px;
    background: #fff;
}
#header.hide{
    transform: translateY(-100%);
}
#header .headerWrapper{
    height: 110px;
    display: flex;
    align-items: center;
    padding: 0 34px;
    background: #fff;
}
#header .boxLeft{
    display: flex;
    align-items: center;
}
#header .logoTxt{
    font-size: 14px;
    font-weight: 700;
    margin-left: 18px;
    color: #00B0EC;
}
#header .boxRight{
    margin-left: auto;
}
#header .list{
    display: flex;
}
#header .item{
    width: 160px;
    margin-right: 10px;
}
#header .item:last-child{
    margin-right: 0;
}
#header .linkInner{
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}
#header .linkInner.newGraduate{
    background: #00B0EC;
}
#header .linkInner.career{
    background: #0078BE;
}
#header .linkInner.job{
    background: #232323;
}
#header .menuBtn{
    width: 72px;
    height: 72px;
    margin-left: 33px;
    background: #202F40;
    font-size: 13px;
    color: #fff;
    text-align: center;
    padding-top: 42px;
    text-decoration: none;
    font-weight: 700;
    position: relative;
}
#header .menuBtn::before,#header .menuBtn::after{
    position: absolute;
    content: "";
    width: 38px;
    height: 2px;
    background: #fff;
    left: calc(50% - 19px);
    top: 18px;
}
#header .menuBtn::after{
    top: 26px;
}
@media only screen and (max-width:767px){
    #header{
        min-width: 0;
        z-index: 9999;
    }
    #header .headerWrapper{
        height: 55px;
        padding: 0 0 0 12.5px;
    }
    #header.naviOpen .headerWrapper{
        background: #F9FAFC;
    }
    #header .boxLeft{
        padding-bottom: 4px;
    }
    #header .logo{
        display: block;
        width: 118px;
    }
    #header .logoTxt{
        font-size: 10px;
        margin-left: 3px;
        transform: scale(0.9);
        transform-origin: center center;
        padding-top: 4px;
    }
    #header .boxRight{
        display: none;
    }
    #header .menuBtn{
        width: 55px;
        height: 55px;
        margin-left: auto;
        font-size: 11px;
        padding-top: 32px;
    }
    #header .menuBtn::before,#header .menuBtn::after{
        width: 30px;
        height: 1px;
        background: #fff;
        left: calc(50% - 15px);
        top: 15px;
        transition: all 0.5s ease-out;
    }
    #header .menuBtn::after{
        top: 21px;
    }
    #header.naviOpen .menuBtn::before{
        transform: rotate(25deg);
        top: 19px;
    }
    #header.naviOpen .menuBtn::after{
        top: 19px;
        transform: rotate(-25deg);
    }
    #header .closeTxt{
        display: none;
    }
    #header.naviOpen .closeTxt{
        display: block;
    }
    #header.naviOpen .openTxt{
        display: none;
    }
}

/* menu */
#menu{
    position: absolute;
    z-index: 9999;
    min-height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    transition: all ease-out .3s;
    min-width: 1400px;
    background: #f9fafc;
}
#menu.naviOpen{
    transform: translateY(0);
}
#menu .menuWrapper{
    display: flex;
}
#menu .leftBox{
    width: 33.021%;
    background: #fff;
    display: flex;
    min-height: 100vh;
    padding: 42px 0 40px 50px;
    flex-flow: column;
    align-items: flex-end;
}
#menu .logoWrapper{
    display: flex;
    align-items: center;
    padding-right: 4.1vw;
}
#menu .logoTxt{
    font-size: 13px;
    font-weight: 700;
    margin-left: 14px;
    color: #00B0EC;
}

@media only screen and (max-width:1460px){
    #menu .logoTxt{
        font-size: 11px;
        margin-left: 10px;
    }
    
}

#menu .leftInner{
    width: 346px;
}
#menu .leftList{
    margin-top: 57px;
}
#menu .leftItem:nth-child(n+2){
    margin-top: 49px;
}
#menu .leftItem:nth-child(3){
    margin-top: 49px;
}
#menu .leftItem:last-child{
    margin-top: 43px;
}
#menu .leftTitBox{
    display: flex;
    color: #202F40;
    text-decoration: none;
}
#menu .tit{
    font-size: 24px;
    font-weight: 700;
}
#menu .titEng{
    font-size: 12px;
    font-weight: 700;
    color: #00B0EC;
    margin: 13px 0 0 10px;
}
#menu .innerList{
    margin-top: 20px;
}
#menu .innerLink{
    font-size: 13px;
    color: #202F40;
    text-decoration: none;
}
#menu .innerItem:nth-child(n+2){
    margin-top: 14px;
}
#menu .rightBox{
    width: 1071px;
    max-width: calc(100% - 60px);
    margin: 0 auto 0 0;
    display: flex;
    padding: 19px 0 0 0;
    flex-flow: column;
    align-items: flex-end;
}
#menu .rightTop{
    width: 100%;
    position: relative;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
@media only screen and (max-width:1650px){
    #menu .rightTop{
        margin-right: 30px;
    }
}
#menu .list{
    display: flex;
}
#menu .item{
    width: 160px;
    margin-right: 12px;
}
#menu .item:last-child{
    margin-right: 0;
}
#menu .linkInner{
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}
#menu .linkInner.newGraduate{
    background: #00B0EC;
}
#menu .linkInner.career{
    background: #0078BE;
}
#menu .linkInner.job{
    background: #232323;
}
#menu .menuBtn{
    width: 72px;
    height: 72px;
    margin-left: 31px;
    background: #202F40;
    font-size: 13px;
    color: #fff;
    text-align: center;
    padding-top: 43px;
    text-decoration: none;
    font-weight: 700;
    position: relative;
}
#menu .menuBtn::before,#menu .menuBtn::after{
    position: absolute;
    content: "";
    width: 32px;
    height: 2px;
    background: #fff;
    left: calc(50% - 16px);
    top: 23px;
    transform: rotate(30deg);
}
#menu .menuBtn::after{
    transform: rotate(-30deg);
}



#menu .linkRecruit{
    width: 142px;
    height: 35px;
    font-size: 12px;
    background: #ECEEEF;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #202F40;
    margin-top: 70px;
    text-decoration: none;
}
#menu .underList{
    display: flex;
    justify-content: flex-end;
    margin-top: 91px;
}
#menu .underItem:nth-child(2){
    margin-left: 30px;
}
#menu .underItem:nth-child(3){
    margin-left: 30px;
}
#menu .underLink{
    font-size: 12px;
    color: #202F40;
    position: relative;
    text-decoration: underline;
}
#menu .underLink.corp{
    padding-right: 15px;
}
#menu .underLink.corp::after{
    position: absolute;
    content: "";
    width: 9px;
    height: 9px;
    right: 0;
    top: calc(50% - 4.5px);
}
#menu .underLink.corp.lazyloaded::after{
    background: url(../img/common/iconCorporateArrow.gif) center top / cover;
}
#menu .rightMain{
    width: 904px;
    margin: 34px 3.75vw 0 30px;
    overflow: hidden;
}
#menu .rightTit{
    font-size: 24px;
    font-weight: 700;
    padding-bottom: 14px;
    border-bottom: solid 1px #A6ACB3;
}
#menu .subTitBox{
    display: flex;
    margin-top: 34px;
    position: relative;
    padding-left: 24px;
}
#menu .subTitBox::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 1.5px;
    background: #202F40;
    left: 4px;
    top: 10px;
}
#menu .subTit{
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px;
}
#menu .subTitEng{
    font-size: 12px;
    font-weight: 700;
    color: #00B0EC;
    margin: 6px 0 0 8px;
}
#menu .boxSlider{
    margin-top: 24px;
    position: relative;
}
#menu .disabled .swiper-slide{
    width: 48.231%;
    margin-right: 3.538%;
}
#menu .disabled .swiper-slide:last-child{
    margin-right: 0;
}
#menu .voiceItem:nth-child(n+2){
    margin-top: 15px;
}
#menu .linkVoice{
    display: flex;
    align-items: center;
    background: #fff;
    text-decoration: none;
    color: #202F40;
}
#menu .imgVoice{
    width: 176px;
}
#menu .txtBox{
    width: calc(100% - 176px);
    padding: 7px 14px;
}
#menu .titVoice{
    font-size: 13px;
    line-height: 1.33;
}
#menu .txtVoice{
    font-size: 10px;
    line-height: 1.36;
    margin-top: 4px;
    color: #A6ACB3;
}
#menu .bnrInner{
    display: inline-block;
    margin-top: 20px;
}
#menu .rightItem:nth-child(n+2){
    margin-top: 79px;
}
#menu .linkCross{
    display: block;
    text-decoration: none;
    color: #202F40;
}
#menu .crossTit{
    font-size: 13px;
    margin-top: 6px;
    line-height: 1.5;
}
#menu .disabled.cross .swiper-slide{
    width: 23.937%;
    margin-right: 1.4173%;
}
#menu .disabled.cross .swiper-slide:last-child{
    margin-right: 0;
}
/* btn */
#menu .btnBox{
    position: absolute;
    width: 66px;
    height: 30px;
    right: 0;
    top: -40px;
    display: flex;
}
#menu .swiper-button-prev,#menu .swiper-button-next{
    width: 30px;
    height: 30px;
    position: static;
    margin: 0;
}
#menu .swiper-button-prev{
    margin-right: 6px;
}
#menu .swiper-button-prev.lazyloaded{
    background: url(../img/common/iconSlideArrow01.png?241203) center center / 12px auto #202F40 no-repeat;
}
#menu .swiper-button-next.lazyloaded{
    background: url(../img/common/iconSlideArrow02.png) center center / 12px auto #202F40 no-repeat;
}
#menu .swiper-button-prev::after,#menu .swiper-button-next::after{
    display: none;
}
#menu .swiper-button-next.swiper-button-disabled,#menu .swiper-button-prev.swiper-button-disabled {
    background-color: #DBDDE0;
    opacity: 1;
}
#menu .menuBtn.spOnly{
    display: none;
}
/* ipad */
.isDesktopIpad #menu .disabled .swiper-slide{
    width: 49%;
    margin-right: 1%;
}
.isDesktopIpad #menu .disabled .swiper-slide:last-child{
    margin-right: 0;
}
.isDesktopIpad #menu .disabled.cross .swiper-slide{
    width: 23.937%;
    margin-right: 1.4173%;
}
.isDesktopIpad #menu .titVoice{
    font-size: 11px;
}
.isDesktopIpad #menu .txtVoice{
    font-size: 10px;
    margin-top: 5px;
}
.isDesktopIpad #menu .txtBox{
    padding: 8px;
}
@media only screen and (max-width:767px){
    #menu{
        min-width: 0;
        background: #fff;
        display: none;
        transform: translateY(0);
        z-index: 9998;
        padding: 95px 0 30px;
        transition: opacity 4s ease-out;
        opacity: 0;
    }
    #menu.naviOpen{
        display: block;
        opacity: 1;
    }
    #menu .menuWrapper{
        display: block;
    }
    #menu .spLinkBtn{
        width: 100%;
        height: 50px;
        display: flex;
        align-items: center;
        padding: 0 10px;
        font-size: 14px;
        text-decoration: none;
        color: #fff;
        font-weight: 700;
    }
    #menu .spLinkBtn:nth-child(2){
        margin-top: 10px;
    }
    #menu .spLinkBtn.newGraduate.lazyloaded{
        background: url(../img/common/iconArrowWhite.png) right 9px center / 15px auto no-repeat #00B0EC;
    }
    #menu .spLinkBtn.career.lazyloaded{
        background: url(../img/common/iconArrowWhite.png) right 9px center / 15px auto no-repeat #0078BE;
    }
    #menu .leftBox{
        width: 100%;
        min-height: 0;
        padding: 0 5.333%;
        display: block;
    }
    #menu .logoWrapper{
        display: none;
    }
    #menu .leftInner{
        padding-left: 0;
    }
    #menu .leftList{
        margin-top: 48px;
    }
    #menu .leftItem:nth-child(n+2){
        margin-top: 55px;
    }
    #menu .leftItem:nth-child(3),#menu .leftItem:last-child{
        margin-top: 45px;
    }
    #menu .leftTitBox{
        padding-bottom: 10px;
        border-bottom: solid 1px #00B0EC;
    }
    #menu .tit{
        font-size: 21px;
    }
    #menu .titEng{
        font-size: 10px;
        margin: 4px 0 0 auto;
    }
    #menu .innerList{
        margin-top: 0;
    }
    #menu .innerItem{
        border-bottom: solid 1px #DCDCDC;
    }
    #menu .innerLink{
        font-size: 13px;
        padding: 18px 0 17px;
        display: block;
    }
    #menu .innerItem:nth-child(n+2){
        margin-top: 0;
    }
    #menu .linkRecruit.spNone,#menu .underList.spNone{
        display: none;
    }
    #menu .rightBox{
        max-width: 100%;
        width: 100%;
        padding: 55px 5.333% 50px;
        background: #F9FAFC;
        margin-top: 70px;
        margin: 70px auto 0;
        display: block;
    }
    #menu .rightTop{
        display: none;
        right: 0;
    }
    #menu .rightMain{
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }
    #menu .rightTit{
        font-size: 21px;
        padding-bottom: 10px;
        border-bottom: solid 1px #00B0EC;
    }
    #menu .btnBox{
        display: none;
    }
    #menu .swiper-button-prev,#menu .swiper-button-next{
        display: none;
    }
    #menu .subTitBox{
        margin-top: 28px;
        padding-left: 23px;
    }
    #menu .subTitBox::after{
        width: 10px;
        height: 1px;
        left: 3px;
        top: 10px;
    }
    #menu .subTit{
        font-size: 17px;
        letter-spacing: normal;
    }
    #menu .subTitEng{
        font-size: 10px;
        margin: 4px 0 0 auto;
    }
    #menu .boxSlider{
        margin-top: 18px;
    }
    #menu .swiper-wrapper{
        display: block;
    }
    #menu .voiceItem:nth-child(n+2){
        margin-top: 0;
    }
    #menu .linkVoice{
        display: block;
        background: transparent;
    }
    #menu .imgVoice{
        display: none;
    }
    #menu .txtBox{
        width: 100%;
        padding: 15px 0 13px;
    }
    #menu .titVoice{
        font-size: 13px;
        line-height: 1.375;
    }
    #menu .txtVoice{
        font-size: 10px;
        line-height: 1.6;
        margin-top: 10px;
    }

    #menu .rightItem:nth-child(n+2){
        margin-top: 38px;
    }
    #menu .linkCross{
        display: block;
        padding: 15px 0 13px;
    }
    #menu .crossTit{
        font-size: 13px;
        margin-top: 0;
    }
    #menu .disabled.cross .swiper-slide{
        width: 100%;
        margin-right: 0;
    }
    #menu .disabled.cross .swiper-slide:last-child{
        margin-right: 0;
    }
    #menu .voiceItem{
        border-bottom: solid 1px #DCDCDC;
    }
    #menu .boxSlider{
        border-top: solid 1px #DCDCDC;
    }
    #menu .boxSlider.cross .swiper-slide{
        border-bottom: solid 1px #DCDCDC;
    }
    #menu .imgCross{
        display: none;
    }
    #menu .spUnder{
        margin-top: 40px;
    }
    #menu .linkRecruit{
        width: 144px;
        height: 32px;
        margin: 0;
        font-size: 12px;
    }
    #menu .spanSpArrow{
        position: relative;
        padding-right: 20px;
    }
    #menu .spanSpArrow::after{
        position: absolute;
        content: "";
        width: 11px;
        height: 7px;
        right: 0;
        top: 3px;
    }
    #menu .spanSpArrow.lazyloaded::after{
        background: url(../img/common/iconArrowRcruit.gif) center top / cover;
    }
    #menu .underList{
        display: block;
        margin-top: 44px;
    }
    #menu .underLink {
        font-size: 13px;
        letter-spacing: normal;
    }
    #menu .underLink.corp{
        padding-right: 20px;
    }
    #menu .underLink.corp::after{
        width: 9px;
        height: 9px;
        top: calc(50% - 4.5px);
    }
    #menu .underItem:nth-child(2){
        margin: 26px 0 0;
    }
    #menu .underItem:nth-child(3){
        margin: 26px 0 0;
    }
    #menu .underLink.privacy{
        font-size: 12px;
    }

    #menu .bnrInner.spNone{
        display: none;
    }
    #menu .bnrInner{
        width: 270px;
        display: block;
    }
}

/* footer */
#footer{
    position: relative;
    z-index: 10;
}
#footer .bgFooter{
    padding: 174px 0 40px;
}
#footer .bgFooter.lazyloaded{
    background: url(../img/common/bgFooter.gif?250125) left bottom / 760px auto no-repeat #F9FAFC;
}
#footer .footerWrapper{
    width: 1200px;
    max-width: calc(100% - 100px);
    margin: 0 auto;
    display:flex;
    flex-wrap: wrap;
}
#footer .infoBox{
    width: 232px;
    padding-bottom: 23px;
    border-bottom: solid 1px #DBDDE0;
}
#footer .logoLink{
    display: inline-block;
    color: #A6ACB3;
    text-decoration: none;
}
#footer .logoTxt{
    font-size: 11px;
    font-weight: 700;
    margin-top: 14px;
}
#footer .addressTxt{
    font-size: 13px;
    line-height: 1.7;
    margin-top: 30px;
    letter-spacing: 0.5px;
}
#footer .linkRecruit{
    width: 142px;
    height: 35px;
    font-size: 13px;
    background: #ECEEEF;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #202F40;
    margin-top: 23px;
    text-decoration: none;
}
#footer .underLink{
    font-size: 13px;
    color: #202F40;
    position: relative;
    /* padding-right: 22px; */
    letter-spacing: 0.5px;
    margin-top: 34px;
    display: block;
    width: 140px;
}
#footer .underLink02{
    font-size: 13px;
    color: #202F40;
    position: relative;
    /* padding-right: 22px; */
    letter-spacing: 0.5px;
    margin-top: 34px;
    display: block;
    width: 120px;
}
#footer .underLink.corp::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    right: 0;
    top: calc(50% - 5px);
}
#footer .underLink02.corp::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    right: 0;
    top: calc(50% - 5px);
}
#footer .underLink.corp.lazyloaded::after{
    background: url(../img/common/iconCorporateArrow.gif) center top / cover;
}
#footer .underLink02.corp.lazyloaded::after{
    background: url(../img/common/iconCorporateArrow.gif) center top / cover;
}
/* rightBox */
#footer .rightBox{
    display: flex;
    margin-top: 6px;
    margin: 6px 0px 0 auto;
}
.isDesktopIpad #footer .rightBox{
    max-width: calc(100% - 300px);
    margin: 6px 0 0 auto;
}
#footer .titBox{
    display: inline-flex;
    color: #202F40;
    text-decoration: none;
}
#footer .tit {
    font-size: 24px;
    font-weight: 700;
}
#footer .titEng {
    font-size: 11px;
    font-weight: 700;
    color: #00B0EC;
    margin: 7px 0 0 17px;
}
#footer .subList{
    margin-top: 21px;
}
#footer .interviewBox .subList{
    margin-top: 18px;
}
#footer .subItem:nth-child(n+2){
    margin-top: 5.5px;
}
#footer .subList.voice .subItem:nth-child(n+2){
    margin-top: 13px;
}
#footer .subLink{
    font-size: 14px;
    line-height: 1.75;
    color: #202F40;
    text-decoration: none;
}
#footer .interviewBox .subLink{
    line-height: 1.5;
}
#footer .spanSmall{
    font-size: 12px;
}
#footer .item:nth-child(2){
    margin-top: 64px;
}
#footer .item:nth-child(3){
    margin-top: 64px;
}
#footer .item:nth-child(4){
    margin-top: 41px;
}
#footer .interviewBox{
    margin-left: 168px;
    position: relative;
    /* right: -11px; */
}
@media only screen and (max-width:1420px){
    #footer .interviewBox{
        margin-left: 100px;
    }
}
#footer .subBox{
    padding-left: 18px;
}
#footer .subTitBox{
    display: inline-flex;
    margin-top: 31px;
    position: relative;
    text-decoration: none;
    color: #202F40;
}
#footer .subTitBox.cross{
    margin-top: 31px;
}
#footer .subTitBox::after{
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    background: #202F40;
    left: -16px;
    top: 9px;
}
#footer .subTit{
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}
#footer .subTitEng{
    font-size: 11px;
    font-weight: 700;
    color: #00B0EC;
    margin: 4px 0 0 8px;
}
#footer .underBox{
    width: 100%;
    text-align: right;
    margin-top: 66px;
}
#footer .linkPrivacy{
    position: relative;
    color: #A6ACB3;
    font-size: 12px;
    letter-spacing: 0.25px;
}
#footer #copy{
    font-size: 10px;
    font-weight: 700;
    margin-top: 17px;
    color: #A6ACB3;
    letter-spacing: 0.35px;
}


#footer .bnrInner {
    display: inline-block;
    margin-top: 16px;
}
@media only screen and (max-width:767px){
    #footer .bgFooter{
        padding: 60px 0 38px;
    }
    #footer .bgFooter.lazyloaded{
        background: #F9FAFC;
    }
    #footer .footerWrapper{
        width: 89.334%;
        max-width: 100%;
        display: block;
    }
    #footer .infoBox{
        width: 100%;
        padding-bottom: 12px;
    }
    #footer .logoLink{
        display: inline-block;
        color: #A6ACB3;
        text-decoration: none;
    }
    #footer .imgLogo{
        width: 190px;
    }
    #footer .logoTxt{
        font-size: 12px;
        margin-top: 9px;
    }
    #footer .addressTxt{
        font-size: 13px;
        line-height: 1.73;
        margin-top: 30px;
        letter-spacing: normal;
    }
    #footer .linkRecruit{
        display: none;
    }
    #footer .underLink {
        font-size: 13px;
        letter-spacing: normal;
        margin-top: 18px;
    }
    #footer .underLink.corp{
        padding-right: 20px;
    }
    #footer .underLink.corp::after{
        width: 9px;
        height: 9px;
        top: calc(50% - 4.5px);
    }
    /* rightBox */
    #footer .rightBox{
        display: none;
    }
    #footer .underBox{
        width: 100%;
        text-align: left;
        margin-top: 84px;
    }
    #footer .linkPrivacy{
        font-size: 12px;
        letter-spacing: normal;
    }
    #footer #copy{
        font-size: 11px;
        font-weight: 700;
        margin-top: 18px;
        letter-spacing: normal;
    }

    #footer .bnrInner {
        display: block;
        margin-top: 20px;
        width: 270px;
    }
    #footer .underLink {
        width: 137px;
    }
}

.hoverZoom{
	overflow: hidden;
}
.hoverZoom img{
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.hoverZoom:hover img{
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

/*-----------------------------------------------
    topNavi
-----------------------------------------------*/
#topNavi{
    display: flex;
	display: -webkit-flex;
    position: fixed;
    bottom: -220px;
    right: 40px;
    z-index: 300;
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#topNavi.jsShow{
    bottom: 40px;
}
#topNavi .naviInner{
    display: block;
    width: 60px;
    height: 60px;
    background: url(../img/common/iconTopNavi.gif) center center / 12px auto no-repeat #a6acb3;
}
@media only screen and (max-width:767px){
    #topNavi{
        right: 20px;
    }
    #topNavi.jsShow{
        bottom: 20px;
    }
    #topNavi .naviInner{
        width: 40px;
        height: 40px;
    }
}