@charset "UTF-8";

/*------------------------------------------------------------
  common
------------------------------------------------------------*/
#front .cmHd{
    position:relative;
}
#front .cmHd img{
    width:100%;
}
#front .cmHd .deco{
    font-weight: 700;
}
#front .cmLink:hover{
    background:#0070c5!important;
}
#front .pcBr{
    display:block;
}

/*------------------------------------------------------------
  mainView
------------------------------------------------------------*/
#front #mainView{
    position:relative;
    background:url(../img/index/mcBg.jpg)no-repeat;
    background-size:cover;
    margin-top:97px;
    background-position: center;
}
#front #mainView .txtWrap{
    width: 60%;
    padding: 35vw 0 2vw 0;
}
#front #mainView .pr{
    position: absolute;
    max-width: 290px;
    right: 2%;
    top: 10%;
}
#front #mainView h2{
    width: 80%;
    margin-bottom: 2rem;
}
#front #mainView h2 img{
    width:100%;
}
#front #mainView .label{
    background: #0070c6;
    color: #FFF;
    font-weight: 600;
    text-align: center;
    font-size: 1.6rem;
    width: 77%;
    margin: 0 0 0 13px;
    padding: 10px;
    border-radius: 80px;
}

/*------------------------------------------------------------
  info
------------------------------------------------------------*/
#front #info{
    background: #014599;
    padding: 2.5rem 0;
}
#front #info .infoFlex{
    justify-content:center;
}
#front #info .infoFlex a{
    margin:0;
    display:block;
    color:#FFF;
}
#front #info .infoFlex a:hover{
    opacity:0.6;
}
#front #info .infoFlex a.title{
    text-align:right;
    font-weight:700;
    font-size: 1.2rem;
}
#front #info .infoFlex .srCont{
    align-items: center;
    border-left: 1px solid #FFF;
    margin-left:20px;
    padding-left:20px;
}
#front #info .infoFlex .srCont time{
    margin: 0;
    color: #6b6b6b;
    font-weight: 600;
    font-size: 1.2rem;
    color:#FFF;
}
#front #info .infoFlex .srCont a{
    margin: 0;
    font-weight: 600;
    font-size: 1.2rem;
    padding-left: 20px;
    color:#FFF;
}

/*------------------------------------------------------------
  speach
------------------------------------------------------------*/
#front #speach{
    background: #f1f6ff;
    padding: 2.5rem 0;
}
#front #speach .infoFlex{
    justify-content:center;
}
#front #speach .infoFlex a{
    margin:0;
    display:block;
}
#front #speach .infoFlex a:hover{
    opacity:0.6;
}
#front #speach .infoFlex a img{
    max-width: 220px;
    margin: 6px 0 0 auto;
}
#front #speach .infoFlex .srCont{
    align-items: center;
    border-left: 1px solid;
    margin-left:20px;
    padding-left:20px;
}
#front #speach .infoFlex .srCont time{
    margin: 0;
    color: #6b6b6b;
    font-weight: 600;
    font-size: 1.2rem;
}
#front #speach .infoFlex .srCont a{
    margin: 0;
    font-weight: 600;
    font-size: 1.2rem;
    padding-left: 20px;
}

/*------------------------------------------------------------
  info
------------------------------------------------------------*/
#front #aboutus{
    padding:3rem;
}
#front #aboutus h2{

}
#front #aboutus h2 .deco{
    display: block;
    width: 80%;
    padding-left: 2rem;
    margin: 2.5rem 0 0 0;
    font-size: 2rem;
    line-height: 160%;
}
#front #aboutus .innerWrap{
    justify-content:center;
}
#front #aboutus .txtWrap{
    flex: 1;
    padding: 3rem 3rem 3rem 1rem;
}
#front #aboutus .txtWrap .txtInner{
    margin-left: 2rem;  
    width: 72%;
    margin-top: 2rem;
}
#front #aboutus .txtWrap p{
    line-height: 170%;
}
#front #aboutus .txtWrap a{
    background: #014599;
    color: #FFF;
    text-align: center;
    width: 210px;
    padding: 0.8rem 1rem;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 4px;
    margin: 2rem auto;
    display: block;
}
#front #aboutus .imgWrap{
    flex:1;
    padding: 3rem 1rem 3rem 3rem;
}


/*------------------------------------------------------------
  service
------------------------------------------------------------*/
#front #service{
    padding:6rem 3rem;
    background:#f6f6f6;
    position:relative;
    overflow: hidden;
}
#front #service::before{
    content: "";
    background: url(../img/common/dotBg.png) no-repeat;
    background-size: 200%;
    position: absolute;
    top: -130px;
    left: 0%;
    width: 500px;
    height: 500px;
}
#front #service::after{
    content: "";
    background: url(../img/common/dotBg.png) no-repeat;
    background-size: 200%;
    position: absolute;
    bottom: -130px;
    right: 0%;
    width: 500px;
    height: 500px;
}
#front #service h2{
    color: #0070c6;
    font-weight: 700;
    z-index: 1000;
    position: relative;
    font-size: 250%;
}
#front #service img{
    position:relative;
    z-index:1;
}
#front #service .frontWrap{
    background: #FFF;
    padding: 1rem;
    position: relative;
    z-index: 1;
    margin: 2rem 0;
}
#front #service .frontWrap h3{
    text-align: center;
    font-weight: 700;
    font-size: 160%;
    margin: 1rem 0;
    color: #4c4948;
}
#front #service .frontWrap p{
    width: 73%;
    margin: 0 auto 1rem auto;
}
#front #service .innerWrap{
    gap:8rem;
    position:relative;
    z-index:1;
}
#front #service .innerWrap .imgWrap{
    flex:1;
}
#front #service .innerWrap .txtWrap{
    flex:1;
}
#front #service  img.pr{
    width: 80%;
    margin: 8rem auto 3rem auto;
}
#front #service .innerWrap .txtWrap h3{
    color: #0070c6;
    font-weight: 700;
    font-size: 1.4rem;
    text-align: center;
    margin: 0 0 1.5rem 0;
}
#front #service .innerWrap .txtWrap p{
    line-height: 170%;
}
#front #service .innerWrap .txtWrap p.pr{
    background: #4c4948;
    color: #FFF;
    font-weight: 700;
    text-align: center;
    padding: 5px;
    border-radius: 80px;
    font-size: 140%;
}
#front #service .bottomFlex{
    justify-content:center;
    gap:2rem;
    position: relative;
    z-index: 1;
}
#front #service .bottomFlex a{
    background: #014599;
    color: #FFF;
    text-align: center;
    width: 280px;
    padding: 0.8rem 1rem;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 4px;
    margin: 2rem 0;
    display: block;
}
#front #service .ction{
    background:#FFF;
    padding:1rem;
    position: relative;
    z-index: 1;
}

/*------------------------------------------------------------
  voice
------------------------------------------------------------*/
#front #voice{
    padding:6rem 3rem;
    position: relative;
}
#front #voice::before{
    content: "";
    width: 60%;
    height: 1px;
    background: #ccc;
    position: absolute;
    right: 0;
    top: 330px;
}
#front #voice h2{
    position: absolute;
    max-width: 500px;
    text-align: right;
    right: 50px;
}
#front #voice h2 span.deco{
    color: #4c4948;
    display: block;
    font-size: 2rem;
    margin-top:2rem;
}
#front #voice  .visual {
    width: 60%;
    margin: 0 auto;
}
#front #voice  .visual button.slick-prev{
    background: #dedfdf;
    width: 50px;
    height: 50px;
    z-index: 100;
    left: -20%;
    border-radius: 80px;
}
#front #voice  .visual button.slick-next{
    background: #dedfdf;
    width: 50px;
    height: 50px;
    z-index: 100;
    right: -20%;
    border-radius: 80px;
}
#front #voice .voiceCont{
    padding: 8rem 0rem;
}
#front #voice .voiceCont:hover{
    opacity:0.6;
}
#front #voice .voiceCont .flex{
    gap: 3rem;
    align-items: end;
}
#front #voice .voiceCont .imgWrap{
    flex:1;
}
#front #voice .voiceCont .imgWrap .imgBox{
    width: 450px;
    height: 450px;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}
#front #voice .voiceCont .imgWrap .imgBox img{
    position: absolute;
    top: 0;
    left: 0;
}
#front #voice .voiceCont .txtWrap{
    flex:1.2;
}
#front #voice .voiceCont .txtWrap .title{
    font-size: 1.8rem;
    font-weight: 700;
    margin: 1rem 0;
}
#front #voice .voiceCont .txtWrap .status{
    
}
#front #voice .voiceCont .txtWrap ul{
    gap: 10px;
    margin: 2rem 0;
    align-items: normal;
}
#front #voice .voiceCont .txtWrap ul li{
    width: 70px;
}

/*------------------------------------------------------------
  news
------------------------------------------------------------*/
#front #news{
    padding: 9rem 3rem;
    background: url(../img/index/newsBg.png) no-repeat;
    background-size: cover;
}
#front #news .innerWrap{
    gap: 10%;
}
#front #news .leftWrap{
    flex: 1;
}
#front #news .leftWrap h2 img{
    max-width: 128px;
}
#front #news .leftWrap h2 span.deco{
    color: #4c4948;
    display: block;
    font-size: 2rem;
    margin-top: 1rem; 
}
#front #news .leftWrap a.cmLink{
    background: #014599;
    color: #FFF;
    text-align: center;
    width: 210px;
    padding: 0.8rem 1rem;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 4px;
    margin: 2rem 0;
    display: block;
}
#front #news .rightWrap{
    flex: 3;
}
#front #news .newsCont{
    border-bottom: 1px solid #B7B8B8;
    padding: 1.5rem 0;
}
#front #news .newsCont:first-child{
    padding-top:0;
}
#front #news .newsCont .imgWrap{
    width: 200px;
}
#front #news .newsCont .imgWrap .imgBox{
    position: relative;
    background: #FFF;
    border: 1px solid #9d9d9d;
    width: 170px;
    height: 120px;
    border-radius: 10px;
    overflow: hidden;
}
#front #news .newsCont .imgWrap .imgBox:hover{
    opacity:0.6;
}
#front #news .newsCont .imgWrap .imgBox img{
    position: absolute;
    top: 0;
    bottom:0;
    left: -8px;
    right:0;
    margin: auto;
    max-width: 110%;
    width: 110%;
}
#front #news .newsCont .txtWrap{
    flex: 2;
}
#front #news .newsCont .txtWrap .dateFlex time{
    color: #6b6b6b;
    font-weight: 700;
    font-size: 110%;
}
#front #news .newsCont .txtWrap .dateFlex ul{
    margin-left: 30px;
    display:flex;
}
#front #news .newsCont .txtWrap .dateFlex ul li a{
    background: #0070c6;
    color: #FFF;
    text-align: center;
    font-weight: 700;
    padding: 0 2rem;
    border-radius: 80px;
    line-height: 130%;
}
#front #news .newsCont .txtWrap a.title{
    font-weight: 700;
    font-size: 120%;
    margin: 1.5rem 0 0 0;
}

/*------------------------------------------------------------
  recruit
------------------------------------------------------------*/
#front #recruit{
    padding:9rem 3rem;
    background: url(../img/index/recBg.jpg) no-repeat;
    background-size: cover;
    background-position: center;
}
#front #recruit h2{
    text-align:center;
}
#front #recruit h2 img{
    max-width: 300px;
    margin: 0 auto;
}
#front #recruit h2 span.deco{
    color: #FFF;
    font-weight: 800;
    font-size: 140%;
    margin: 1rem 0 2rem 0;
    display: block;
}
#front #recruit p{
    color: #FFF;
    text-align: center;
    font-weight: 700;
    font-size: 110%;
    margin-top: 4rem;
}
#front #recruit a{
    color: #FFF;
    display: block;
    text-align: center;
    font-size: 170%;
    font-weight: 800;
    margin-top: 4rem;
}
#front #recruit a:hover{
    opacity:0.6;
}
#front #recruit span.icon{
    position:relative;
}
#front #recruit span.icon:after{
    content:"";
    background:url(../img/common/iconArrow.png) no-repeat;
    background-size:cover;
    position:absolute;
    width:50px;
    height:50px;
    left: 20px;
}


@media (max-width: 1600px) {

    #front #voice .visual{
        width:80%;
    }
    #front #voice .visual button.slick-prev{
        left: -10%;
    }
    #front #voice .visual button.slick-next{
        right: -10%;
    }
}

@media (max-width: 1490px) {
    #front #aboutus h2 .deco{
        width: 100%;
    }
}

@media (max-width: 1340px) {

    #front #mainView .label{
        font-size: 1.4rem;
    }
    #front #mainView .txtWrap{
        padding: 38vw 0 2vw 0;
    }
}

@media (max-width: 1190px) {

    #front #mainView{
        background-position: left 50% center;
    }
    #front #aboutus,#front #service,#front #voice,
    #front #news,#front #recruit{
        padding-left:1rem;
        padding-right:1rem;
    }
    #front #aboutus .txtWrap{
        padding: 3rem 0 3rem 1rem;
        flex: 1.2;
    }
    #front #aboutus h2 .deco{
        padding-left:0;
    }
    #front #aboutus .txtWrap .txtInner{
        margin-left: 0;
    }
    #front #aboutus .txtWrap .txtInner{
        width: 100%;
    }

}


@media (max-width: 1120px) {
    #front #voice .voiceCont{
        padding: 13rem 0rem;
    }
    #front #voice .voiceCont .imgWrap .imgBox{
        width: 400px;
        height: 400px;
    }

}

@media (max-width: 1073px) {

    #front #mainView .txtWrap{
        width: 70%;
        padding: 47vw 0 2vw 0;
    }
    #front #mainView .label{
        font-size: 1.2rem;
    }

}

@media (max-width: 970px) {

    #front #mainView .pr{
        top: 20px;
        max-width: 23vw;
    }
    #front #mainView .label{
        font-size: calc(21 / 970* 100vw);
    }#aboutus h2 .deco{
        font-size: calc(30 / 970* 100vw);
    }
    #front #service h2{
        width:100%;
    }
    #front #service h2 img{
        width: 100%;
        max-width: 460px;
    }
    #front #service .innerWrap .txtWrap h3{
        font-size: calc(22 / 970* 100vw);
    }
    #front #service .frontWrap p{
        width: 95%;
    }
    #front #service .innerWrap{
        display:block;
    }
    #front #service .innerWrap .txtWrap p{
        margin: 3rem 0;
    }
    #front #voice h2{
        max-width: 350px;
    }
    #front #voice .voiceCont{
        padding: 13rem 0rem 3rem 0rem;
    }
    #front #voice .voiceCont .imgWrap .imgBox{
        width: 280px;
        height: 280px;
    }
    #front #voice .voiceCont .txtWrap .title{
        font-size: calc(23 / 970* 100vw);
    }
    #front #voice::before{
        top: 280px;
        width: 100%;
    }
}

@media (max-width: 640px) {

    #front .pcBr{
        display:none;
    }
    #front .break{
        display:block;
    }
    #front #mainView .txtWrap{
        padding: 46vw 0 4vw 0;
        width: 100%;
    }
    #front #mainView .label{
        display: block;
        margin: 0 auto;
        font-size: calc(21 / 640* 100vw);
    }
    #front #mainView h2{
        margin: 0 auto;
    }
    #front #aboutus .innerWrap{
        display: block;
    }
    #front #aboutus .imgWrap{
        padding: 0 1rem;
    }
    #front #aboutus img{
        max-width:400px;
    }
    #front #aboutus h2 .deco{
        font-size: calc(30 / 640* 100vw);
    }
    #front #aboutus .txtWrap{
        padding: 3rem 0 0 1rem;
    }
    #front #service h2{
        font-size: calc(27 / 640 * 100vw);
    }
    #front #service img.pr{
        margin: 5rem auto 3rem auto;
    }
    #front #service .innerWrap{
        display: block;
    }
    #front #service .innerWrap .txtWrap h3{
        font-size: calc(24 / 640* 100vw);
        padding-top: 2rem;
    }
    #front #service .frontWrap h3{
        font-size: calc(26 / 640* 100vw);
    }
    #front #voice h2{
        max-width: 280px;
    }
    #front #voice .visual{

    }
    #front #voice .voiceCont .vcFlex{
        display: block;
    }
    #front #voice .voiceCont .imgWrap .imgBox{
        margin: 0 auto;
    }
    #front #voice .voiceCont .txtWrap .title{
        font-size: calc(23 / 640* 100vw);
        text-align: center;
        margin-bottom: 5px;
    }
    #front #voice .voiceCont .txtWrap .status{
        text-align: center;
        margin-top: 0;
    }
    #front #voice .voiceCont .txtWrap ul{
        justify-content:center;
    }
    #front #news .innerWrap{
        display:block;
    }
    #front #news{
        padding: 6rem 1rem;
    }
    #front #news .leftWrap{
        margin-bottom: 4rem;
    }

}

@media (max-width: 550px) {

    #front #service .bottomFlex{
        display:block;
        margin: 2rem 0;
    }
    #front #service .bottomFlex a{
        width: 100%;
        margin: 1rem 0;
    }
    #front #news .newsCont .imgWrap{
        width: 140px;
    }
    #front #news .newsCont .imgWrap .imgBox{
        width: 130px;
        height: 90px;
    }
    #front #news .newsCont .txtWrap a.title{
        margin:5px 0 0 0;
        font-size: calc(16 / 480* 100vw);
    }
    #front #news .newsCont .txtWrap .dateFlex ul{
        margin-left: 10px;
    }
    #front #news .newsCont .txtWrap .dateFlex ul li a{
        padding: 1px 1rem 2px 1rem;
    }
    #front #news .newsCont .txtWrap .dateFlex time,
    #front #news .newsCont .txtWrap .dateFlex ul li a{
        font-size: calc(14 / 480* 100vw);
    }

}

@media (max-width: 480px) {

    #front #mainView{
        background-position: left 49% bottom;
        background-size: 170%;
        margin-top: 0;
        height: 110vw;
    }
    #front #mainView .txtWrap{
        width: 100%;
        padding: 56vw 0 5vw 0;
    }
    #front #mainView .pr{
        top: 17vw;
        right: 0;
        max-width: 31vw;
    }
    #front #mainView h2{
        margin-bottom: 1rem;
    }
    #front #mainView .label{
        font-size: calc(15 / 480* 100vw);
    }
    #front #speach .infoFlex{
        display:block;
    }
    #front #speach{
        padding: 1rem 0;
    }
    #front #speach .infoFlex a img{
        margin: 0 auto;
        max-width: 160px;
    }
    #front #speach .infoFlex .srCont{
        border-left: none;
        margin-left: 0;
        padding-left: 0;
        margin-top: 9px;
    }
    #front #speach .infoFlex .srCont time,
    #front #speach .infoFlex .srCont a{
        font-size: calc(18 / 480* 100vw);
    }
    #front #speach .infoFlex .srCont time{
        flex:1;
        text-align: right;
    }
    #front #speach .infoFlex .srCont a{
        flex:3;
    }
    /** info **/
    #front #info .infoFlex{
        display:block;
    }
    #front #info{
        padding: 1rem 0;
        margin-top: -1px;
    }
    #front #info .infoFlex a.title{
        text-align:center;
    }
    #front #info .infoFlex .srCont{
        border-left: none;
        margin-left: 0;
        padding-left: 0;
        margin-top: 9px;
    }
    #front #info .infoFlex .srCont time,
    #front #info .infoFlex .srCont a{
        font-size: calc(18 / 480* 100vw);
    }
    #front #info .infoFlex .srCont time{
        flex:1;
        text-align: right;
    }
    #front #info .infoFlex .srCont a{
        flex:3;
    }
    #front #aboutus .txtWrap{
        padding: 2rem 1rem;
    }
    #front #service{
        padding-top: 3rem;
    }
    #front #service h2{
        font-size: calc(21 / 480 * 100vw);
        line-height: 180%;
    }
    #front #service img.pr{
        margin: 3rem auto 2rem auto;
        width: 100%;
    }
    #front #service .innerWrap .txtWrap p.pr{
        font-size: calc(19 / 480 * 100vw);
    }

}
@media (max-width: 380px) {

    #front .cmLink{
        font-size:calc(16 / 380* 100vw)!important;
    }
    #front p{
        font-size:calc(16 / 380* 100vw);
    }
    #front #mainView .txtWrap{
        padding: 67vw 0 2vw 0;
    }
    #front #mainView{
        height: 117vw;
    }
    #front #speach{
        padding: 8px 0;
    }
    #front #speach .infoFlex .srCont{
        margin-top: 2px;
    }
    #front #aboutus{
        padding:2rem 1rem 4rem 1rem;
    }
    #front #aboutus .txtWrap{
        padding: 2rem 1rem 0 1rem;
    }
    #front #service{
        padding:2rem 1rem 4rem 1rem;
    }
    #front #service h2{
        width: 80%;
        margin-bottom: 0;
    }
    #front #service h2 span.deco{
        margin-top: 10px;
    }
    #front #service .innerWrap .txtWrap h3{
        font-size: calc(18 / 380* 100vw);
        padding-top: 1rem;
    }
    #front #service .bottomFlex{
        display:block;
        margin-top: 2rem;
    }
    #front #service .bottomFlex a{
        width: 100%;
        margin: 10px 0;
    }
    #front #voice h2{
        max-width: 210px;
    }
    #front #voice h2 span.deco{
        font-size: calc(26 / 380* 100vw);
        margin-top: 1rem;
    }
    #front #voice .visual{
        width:100%;
    }
    #front #voice .visual button.slick-prev{
        left: 0%;
    }
    #front #voice .visual button.slick-next{
        right: 0%;
    }
    #front #voice .voiceCont .txtWrap .title{
        font-size: calc(23 / 380* 100vw);
    }
    #front #voice .voiceCont{
        padding: 13rem 0rem 0 0;
    }
    #front #voice::before{
        top: 250px;
    }
    #front #news .newsCont .txtWrap a.title{
        font-size: calc(14 / 380* 100vw);
    }
    #front #recruit h2 img{
        max-width: 210px;
    }
    #front #recruit p{
        font-size: calc(17 / 380* 100vw);
    }





}