@charset "utf-8";







/* secCmnTit */

.gro .secCmnTit{

    text-align: center;

    padding-top: 0;

}

.gro .secCmnTit .animeWrapper{

    padding-top: 70px;

}

.gro .secCmnTit .cmnEngTit{

    position: relative;

}

.gro .secCmnTit .cmnEngTit::before{

    position: absolute;

    content: "";

    width: 20px;

    height: 1px;

    background: rgb(0, 7, 80);

    left: calc(50% - 10px);

    top: -45px;

}

.gro .secCmnTit .cmnEngTit::after{

    position: absolute;

    content: "";

    width: 50px;

    height: 1px;

    background: rgb(0, 7, 80);

    left: calc(50% - 25px);

    top: -45px;

    transform: rotate(-60deg);

}

.gro .secCmnTit .cmnJpnTit{

    font-size: 24px;

    font-weight: bold;

    letter-spacing: 4px;

    margin-top: 38px;

}

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

    .gro .secCmnTit .animeWrapper{

        padding-top: 35px;

    }

    .gro .secCmnTit .cmnEngTit img{

        width: auto;

        height: 20px;

    }

    .gro .secCmnTit .cmnEngTit::before{

        width: 10px;

        left: calc(50% - 5px);

        top: -20px;

    }

    .gro .secCmnTit .cmnEngTit::after{

        width: 23px;

        left: calc(50% - 11.5px);

        top: -20px;

    }

    .gro .secCmnTit .cmnJpnTit{

        font-size: 17px;

        letter-spacing: 1px;

        margin-top: 14px;

    }

}



/* cmnTit */

.cmnTitEng{

    position: relative;

    text-align: center;

    color: #fff;

}

.cmnTitEng::before{

    position: absolute;

    content: "";

    width: 20px;

    height: 1px;

    background: linear-gradient( 0deg, rgb(198,0,128) 0%, rgb(84,27,134) 100%);

    left: calc(50% - 10px);

    bottom:100px;

}

.cmnTitEng::after{

    position: absolute;

    content: "";

    width: 50px;

    height: 1px;

    background: linear-gradient( 0deg, rgb(198,0,128) 0%, rgb(84,27,134) 100%);

    left: calc(50% - 25px);

    bottom: 100px;

    transform: rotate(-60deg);

}

.cmnTitJpn{

    font-size: 26px;

    font-weight: 700;

    text-align: center;

    margin-top: 30px;

    letter-spacing: 4.5px;

}

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

    .cmnTitEng img{

        height: 24px;

        width: auto;

    }

    .cmnTitEng::before{

        width: 17px;

        left: calc(50% - 8.5px);

        bottom: 43px;

    }

    .cmnTitEng::after{

        width: 25px;

        left: calc(50% - 12.5px);

        bottom: 43px;

    }

    .cmnTitJpn{

        font-size: 18px;

        margin-top: 10px;

        letter-spacing: 2px;

    }

    #header{

        padding: 15px 15px;

        border-bottom: solid 1px #3e3a39;

    }

    #btnNavi {

        width: 60px;

        height: 60px;

        right: 0;

        top: 0;

        border-left: solid 1px #3e3a39;

    }

    #btnNavi .naviCover{

        flex-flow: column;

        display: flex;

    }

}



/* secBox */

.gro .secBox{

    margin-top: 70px;

    height: 680px;

    background: url(../img/about/bgTop.jpg) center top no-repeat;

    display: flex;

    justify-content: center;

    align-items: center;

}

.gro .secBox .tit{

    display: flex;

    justify-content: center;

    align-items: center;

}

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

    .gro .secBox{

        margin-top: 40px;

        height:224px;

        background: url(../img/about/bgTop_sp.jpg)center center / cover;

    }

    .gro .secBox .tit{
        padding: 0;
        width: 64.534%;
    }

    .gro .secBox .tit img{

        width: 100%;

        position: relative;

        left: unset;

    }

}



/* secAbout */

.gro .secAbout{

    position: relative;

}

.gro .secAbout .bgBox{

    background: #f4f5f5;

    padding: 249px 0 247px 108px;

    position: relative;

}

.gro .secAbout .txt{

    font-size: 20px;

    font-weight: bold;

    line-height: 2.5;

    letter-spacing: 2px;

}

.gro .secAbout .txt + .txt{

    margin-top: 0px;

}

.gro .secAbout .rightBox{

    position: absolute;

    right: calc(50% - 960px);

    top: 99px;

}

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

    .gro .secAbout .bgBox{

    }

    .gro .secAbout .rightBox{

    }

}

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

    .gro .secAbout .txt{

        /* font-size: 16px; */

    }

}

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

    .gro .secAbout .bgBox{

        /* padding: 130px 0 140px 30px; */

    }

    .gro .secAbout .rightBox{

        right: calc(50% - 730px);

        top: 95px;

    }

    .gro .secAbout .rightBox img{

        width: 700px;

        height: 618px;

    }

    .gro .secAbout .txt{

        font-size: 15px;

    }

    .gro .secAbout .txt + .txt{

        margin-top: 20px;

    }

}

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

    .gro .secAbout{

        display: flex;

        flex-direction: column-reverse;

        background: #f4f5f5;

    }

    .gro .secAbout .rightBox img{

        width: 100%;

        height: auto;

    }

    .gro .secAbout .bgBox{

        padding:0 4% 50px;

        position: relative;

    }

    .gro .secAbout .txt{

        font-size: 13px;

        line-height: 1.72;

        letter-spacing: 0px;

    }

    .gro .secAbout .txt + .txt{

        margin-top: 15px;

    }

    .gro .secAbout .rightBox{

        position: static;

        right:unset;

        padding: 38px 4%;

    }

}



/* secMission */

.gro .secMission{

    margin-top: 145px;

}

.gro .secMission .list{

    display: flex;

}

.gro .secMission .list:nth-child(n+2){

    margin-top: 90px;

}

.gro .secMission .item:nth-child(1){width: 470px;}

.gro .secMission .item:nth-child(2){

    flex: 1;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}

.gro .secMission .item .action1 {

    position: relative;

    display: inline-block;

}
.gro .secMission .item .action1.mt30 {
    margin-top: 30px;
}

.gro .secMission .item .action1 .txtBox{

    display: flex;

    align-items: center;

}



.gro .secMission .item .action1 .txtBox,

.gro .secMission .item .action1 .actionIn{

    opacity: 0;

    transform: translate3d(0, 0, 0);

}

.gro .secMission .item.jsShow .action1 .txtBox{

    animation: passing-txt 0.6s ease .3s 1 normal forwards;

}

.gro .secMission .item.jsShow .action1 .actionIn {

    animation: passing-txt 0.6s ease .7s 1 normal forwards;

}

.gro .secMission .item .action1::before {

    content: '';

    display: block;

    position: absolute;

    top: 0;

    left: 0;

    width: 0;

    height: 100%;

    background: rgb(0, 7, 80);

    z-index: 1;

}

.gro .secMission .item.jsShow .action1::before {

  animation: passing-bar 0.6s ease .4s 1 normal forwards;

}

.gro .secMission .item.jsShow:nth-child(2) .action1::before {

    animation: passing-bar 0.6s ease .8s 1 normal forwards;

}



@keyframes passing-txt {

    0% {

      opacity: 0;

    }

    50% {

      opacity: 0;

    }

    100% {

      opacity: 1;

    }

  }

@keyframes passing-bar {

  0% {

    left: 0;

    width: 0;

  }

  50% {

    left: 0;

    width: 100%;

  }

  51% {

    left: 0;

    width: 100%;

  }

  100% {

    left: 100%;

    width: 0;

  }

}

.gro .secMission .item.it01{

    padding-right: 246px;

}

.gro .secMission .itemBox.bo01{

    margin-right: 125px;

}

.gro .secMission .itemBox.bo02{

    margin-right: 80px

}

.gro .secMission .flBox{

    display: flex;

    align-items: center;

}

.gro .secMission .eng{

    font-size: 56px;

    display: inline-block;

    background: rgb(0, 7, 80);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    margin-right: 27px;

    font-weight: 500;

    letter-spacing: 1.5px;

    min-height: 60px;

}

.gro .secMission .tit{

    position: relative;

    font-size: 16px;

    margin-top: 15px;

    letter-spacing: 1px;

}

.gro .secMission .tit::before{

    position: absolute;

    content: '';

    margin: auto;

    display: block;

    bottom: -1px;

    left: 0;

    width: 100%;

    height: 1px;

    background: rgb(0, 7, 80);

}

.gro .secMission .itemTit{

    font-size: 36px;

    font-weight: bold;

    line-height: 59px;

    letter-spacing: 5.5px;

}

.gro .secMission .itemTit.ti02{

    padding-top: 20px;

}

.gro .secMission .itemTxt{

    font-size: 16px;

    line-height: 32px;

    margin-top: 15px;

    letter-spacing: 1.5px;

    font-weight: bold;

}

.gro .secMission .item.it02 .itemTxt{

    margin-top: 5px;

}

.gro .secMission .spanLeft{

    display: inline-block;

    padding-left: 80px;

}

.gro .secMission .nameBox{
    margin-top: 40px;
}
.gro .secMission .titName{
    font-size: 13px;
    padding-top: 16px;
}
.gro .secMission .nameBox .img{
    margin-top: 20px;
}

@media only screen and (max-width:767px){
    .gro .secMission .item .action1.mt30 {
        margin-top: 0px;
    }
    .gro .secMission{

        margin-top: 60px;

        padding: 0px;

    }

    .gro .secMission img{

       width: 48px;

    }

    .gro .secMission .list.li04 img{

        width: 61px;

    }

    .gro .secMission .img{

        position: relative;

    }

    .gro .secMission .img::before{

        position: absolute;

        content: "";

        background: linear-gradient( 45deg, rgb(198,0,128) 0%, rgb(84,27,134) 100%);

        width: 61px;

        height: 1px;

        top: 65px;

    }

    .gro .secMission .list{

        display: block;

    }

    .gro .secMission .list:nth-child(n+2){

        position: relative;

        margin-top: 45px;

        padding-top: 45px;

    }

    .gro .secMission .list:nth-child(n+2)::before{

        position: absolute;

        content: '';

        margin: auto;

        display: block;

        top: 0;

        left: 0;

        right: 0;

        width:85px;

        height: 1px;

        background-color: #000;

    }

    .gro .secMission .item:nth-child(1){

        padding-right: 0px;

    }

    .gro .secMission .item.it01{

        padding-right: 0px;

    }

    .gro .secMission .itemBox.bo01{

        margin-right: 0px;

    }

    .gro .secMission .itemBox.bo02{

        margin-right: 0px;

    }

    .gro .secMission .flBox{

        display: block;

    }

    .gro .secMission .item .action1 .txtBox{

        align-items: flex-start;

        flex-direction: column;

    }

    .gro .secMission .eng{

        font-size: 22px;

        margin: 0;

        min-height: 25px;

        font-weight: bold;

    }

    .gro .secMission .tit{

        font-size: 12px;

        margin-top: 4px;

        letter-spacing: 0;

    }

    .gro .secMission .tit::before{

        top: 0;

        bottom: 0;

        right: -25px;

        left: auto;

        width: 20px;

    }

    .gro .secMission .itemTit{

        font-size: 20px;

        padding-top: 15px;

        line-height: 31px;

        letter-spacing: 1px;

    }

    .gro .secMission .itemTit.pd{

        padding-top: 32px;

    }

    .gro .secMission .itemTit.ti02{

        padding-top: 30px;

    }

    .gro .secMission .itemTxt{

        font-size: 12px;

        line-height: 20px;

        margin-top: 10px;

        letter-spacing: 0;

    }

    .gro .secMission .item.it02 .itemTxt{

        margin-top: 5px;

    }

    .gro .secMission .spanLeft{

        padding-left: 20px;

    }

    .gro .secMission .item.jsShow:nth-child(2) .action1::before {

        animation: passing-bar2 0.6s ease .6s 1 normal forwards;

    }

    @keyframes passing-bar2 {

      0% {

        left: 0;

        width: 0;

      }

      50% {

        left: 0;

        width: 100%;

      }

      51% {

        left: 0;

        width: 100%;

      }

      100% {

        left: 100%;

        width: 0;

      }

    }

    @keyframes passing-bar {

        0% {

          left: 0;

          width: 0;

        }

        50% {

          left: 0;

          width: 130%;

        }

        51% {

          left: 0;

          width: 130%;

        }

        100% {

          left: 130%;

          width: 0;

        }

      }

    .gro .secMission .nameBox{
        
        margin-top: 0px;
    }
    .gro .secMission .titName{
        font-size: 10px;
        padding-top: 20px;
    }
    .gro .secMission .nameBox .img{
        margin-top: 10px;
        width: 92px;
    }
    .gro .secMission .nameBox img{
        width: 100%;
    }

    .gro .secMission .nameBox .img::before{
        display: none;
    }
}

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

    .gro .secMission .itemTit {

        font-size: 13px;

    }

}



/* secMesasge */

.gro .secMesasge{

    margin-top: 200px;

    position: relative;

}

.gro .secMesasge .img{

    position: absolute;

    right: 136px;

    top: 0;

    width: 1650px;

}

.gro .secMesasge .txtBox {

    display: flex;

    justify-content: space-between;

    flex-direction: column;

}

.gro .secMesasge .txt{

    width: 100%;

    font-size: 14px;

    line-height: 32px;

    margin-top: 0;

    letter-spacing: 1.4px;

}

.gro .secMesasge .txt + .txt{

    margin-top: 40px;

}

.gro .secMesasge .secCmnTit{

    position: absolute;

    left: calc(50% - 845px);

    top: 0;

}

.gro .secMesasge .secCmnTit .cmnEngTit{

    position: relative;

}

.gro .secCmnTit .animeWrapper {

    padding-top: 70px;

}

.gro .secMesasge .secCmnTit .cmnEngTit::before{

    position: absolute;

    content: "";

    width: 20px;

    height: 1px;

    background: rgb(0, 7, 80);

    left: calc(50% - 10px);

    top: -45px;

}

.gro .secMesasge .secCmnTit .cmnEngTit::after{

    position: absolute;

    content: "";

    width: 50px;

    height: 1px;

    background: rgb(0, 7, 80);

    left: calc(50% - 25px);

    top: -45px;

    transform: rotate(-60deg);

}

.gro .secMesasge .nameBox{

    margin-top: 40px;

}

.gro .secMesasge .tit{

    font-size: 13px;

    padding-top: 16px;

}

.gro .secMesasge .nameBox .img{

    position: static;

    width: auto;

    margin-top: 18px;

}

.gro .secMesasge .nameBox img{

}

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

    .gro .secMesasge .secCmnTit{

        left: calc(50% - 836px);

    }

}

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

    .gro .secMesasge .secCmnTit{

        left: calc(50% - 760px);

    }

    .gro .secMesasge .txt {

        padding-left: 70px;

    }

    .gro .secMesasge .nameBox{

        padding-left: 70px;

    }

}

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

    .gro .secMesasge .secCmnTit{

        left: calc(50% - 735px);

    }

}

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

    .gro .secMesasge .txtBox{

        padding-left: 80px;

    }

    .gro .secMesasge .secCmnTit{

        left: calc(50% - 675px);

    }

}

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

    .gro .secMesasge .secCmnTit{

        left: calc(50% - 650px);

    }

}

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

    .gro .secMesasge{

        margin-top:286px;

        padding-top: 0;

    }

    .gro .secMesasge .img{

        position: static;

        width: 42.4%;

        height: auto;

        margin: 0 auto;

    }

    .gro .secMesasge .txtBox{

        flex-direction: column;
    }

    .gro .secMesasge .txt{

        width: 100%;

        font-size: 13px;

        line-height: 1.72;

        margin-top: 30px;

        position: relative;

    }

    .gro .secMesasge .txt + .txt{

        margin-top: 20px;

    }

    .gro .secMesasge .secCmnTit{

        left: unset;

        bottom: unset;

        top: 0;

        right: 0%;

    }

    .gro .secMesasge .secCmnTit img{

        width: 50%;

        height: auto;

    }

    .gro .secCmnTit .animeWrapper {

        padding-top: 35px;

    }

    .gro .secCmnTit.messasge .animeWrapper {

        padding-top: 137px;

    }

    .gro .secMesasge .secCmnTit .cmnEngTit{

        position: relative;

    }

    .gro .secMesasge .secCmnTit .cmnEngTit::before{

        width: 10px;

        left: calc(50% - 5px);

        top: -20px;

    }

    .gro .secMesasge .secCmnTit .cmnEngTit::after{

        width: 23px;

        left: calc(50% - 11.5px);

        top: -20px;

    }

    .gro .secMesasge .nameBox{

        text-align: right;

    }

    .gro .secMesasge .tit{

        font-size: 10px;

        padding-top: 40px;

    }

    .gro .secMesasge .nameBox img{

        top: 10px;

        width: 92px;

    }

    .gro .secMesasge .spanTop{

        position: relative;

    }

    .gro .secMesasge .spanTop{

        position: absolute;

        content: ".";

        background: #fff;

        font-size: 13px;

        left: 0;

    }

    .gro .secMesasge .txt,

    .gro .secMesasge .txtBox{

        padding-left: 0;

    }

    .gro .secMesasge .nameBox .img{

        margin-top:10px;

    }

}



/* secCompany */

.gro .secCompany {

    margin-top: 144px;

}

.gro .secCompany .cmnTitJpn{

    color: #3e3a39;

}

.gro .secCompany table{

    width: 100%;

}

.gro .secCompany .tableCover{

    margin:  64px auto 0;

}

.gro .secCompany .trTop{

    border-top: 1px solid #e6e6e6;

    position: relative;

}

.gro .secCompany th{

    width: 265px;

    font-size: 16px;

    font-weight: 700;

    position: relative;

    vertical-align: middle;

    line-height: 1.75;

    padding: 34px 0 35px;

    letter-spacing: 2px;

}

.gro .secCompany th::after{

    position: absolute;

    content: "";

    height: 1px;

    width: 100%;

    background: rgb(0, 7, 80);

    bottom: 0px;

    left: 0;

}

.gro .secCompany th.thTop::before{

    position: absolute;

    content: "";

    height: 1px;

    width: 100%;

    background: rgb(0, 7, 80);

    top: -1px;

    left: 0;

}

.gro .secCompany td{

    width: calc(100% - 265px);

    font-size: 16px;

    padding: 35px 0 33px 35px;

    border: 1px solid #e6e6e6;

    border-right: none;

    border-left: none;

    line-height: 1.75;

    vertical-align: middle;

    letter-spacing: 2px;

}

.gro .secCompany .spanTd{

    font-size: 14px;

    display: block;

    margin-top: 7px;

    letter-spacing: 0.75px;

}

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

    .gro .secCompany {

        margin-top: 97px;

    }

    .gro .secCompany .tableCover{

        width: 100%;

        margin:  39px auto 0;

    }

    .gro .secCompany .tbody{

        display: block

    }

    .gro .secCompany table{

        width: 100%;

    }

    .gro .secCompany th{

        width: 90px;

        font-size: 12px;

        padding: 17px 0 16px;

        line-height: 1.5;

        letter-spacing: 0.5px;

    }

    .gro .secCompany th::after{

        position: absolute;

        content: "";

        height: 1px;

        width: 100%;

        background: rgb(0, 7, 80);

        bottom: 0;

        left: 0;

    }

    .gro .secCompany th.thTop::before{

        position: absolute;

        content: "";

        height: 1px;

        width: 100%;

        background: rgb(0, 7, 80);

        top: -1px;

        left: 0;

    }

    .gro .secCompany td{

        width: calc(100% - 90px);

        font-size: 12px;

        line-height: 1.5;

        padding: 17px 10px 16px 10px;

        letter-spacing: 0.5px;

    }

    .gro .secCompany .spanTd{

        font-size: 10px;

        margin-top: 4px;

        letter-spacing: 0.5px;

    }

}

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

    .gro .secCompany th{

        width: 80px;

        font-size: 11px;

    }

    .gro .secCompany td{

        width: calc(100% - 80px);

        font-size: 11px;

    }

}

/* bnrStep */
.gro .bnrStep{
    width: 936px;
    margin: 100px auto 0;
}
@media only screen and (max-width:767px){
    .gro .bnrStep{
        width: 120px;
        margin: 30px auto 0;
    }
}
/* secAccess */

.gro .secAccess{

    margin-top: 100px;

    padding-bottom: 48px

}



.gro .secAccess .flBox{

    display: flex;

    margin-top: 60px;

}

.gro .secAccess .bgBox{

    background: rgb(0, 7, 80);

    color: #fff;

    padding: 176px 20px 115px 120px;

    width: calc(100% - 850px);

}

.gro .secAccess .access{

    font-size: 20px;

    font-weight: bold;

    line-height: 1.7;

    letter-spacing: 3px;

}

.gro .secAccess .linkInner{

    color: #fff;

}

.gro .secAccess .txt{

    font-size: 14px;

    line-height: 2.14;

    padding-top: 17px;

    position: relative;

    letter-spacing: 2.5px;

}

.gro .secAccess .txt::before{

    position: absolute;

    content: "";

    background: #fff;

    width: 60px;

    height: 1px;

    bottom: -31px;

}

.gro .secAccess .tel{

    font-size: 22px;

    padding-top: 66px;

}

.gro .secAccess .telInner{

    text-decoration: none;

    font-size: 40px;

    font-weight: bold;

    display: inline-block;

    padding-left: 7px;

    letter-spacing: 2px;

    color: #ffffff;

}

.gro .secAccess .telTxt{

    padding-top: 17px;

    font-size: 14px;

    letter-spacing: 2.5px;

}



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

    .gro .secAccess .bgBox{

        padding: 176px 19px 115px 50px;

    }

}

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

    .gro .secAccess .bgBox{

        padding: 176px 19px 115px 40px;

    }

}

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

    .gro .secAccess .bgBox{

        padding: 176px 10px 115px 30px;

    }

    .gro .secAccess .access {

        font-size: 19px;

    }

    .gro .secAccess .txt {

        font-size: 13px;

    }

}

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

    .gro .secAccess .bgBox {

        padding: 176px 10px 115px 20px;

        width: 100%;

    }

    .gro .secAccess .mapCover iframe{

        width: 750px;

    }

}

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

    .gro .secAccess .access {

        font-size: 16px;

    }

    .gro .secAccess .mapCover iframe{

        width: 700px;

    }

}



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

    .gro .secAccess{

        margin-top: 30px;

        padding-bottom: 0px;

    }

    .gro .secAccess .flBox{

        display: block;

        margin-top: 41px;

    }

    .gro .secAccess .bgBox{

        padding: 25px 4% 59px;

        width: 100%;

    }

    .gro .secAccess .access{

        font-size: 13px;

        line-height: 1.7;

        letter-spacing: 0.5px;

    }

    .gro .secAccess .txt{

        font-size: 12px;

        line-height: 1.5;

        padding-top: 8px;

        letter-spacing: 0.5px;

    }

    .gro .secAccess .txt::before{

        width: 60px;

        height: 1px;

        bottom: -17px

    }

    .gro .secAccess .tel{

        font-size: 15px;

        padding-top: 33px;

    }

    .gro .secAccess .telInner{

        font-size: 28px;

        padding-left: 5px;

        letter-spacing: 1.5px;

    }

    .gro .secAccess .telTxt{

        padding-top: 7px;

        font-size: 12px;

        letter-spacing: 1px;

    }

    .gro .secAccess .mapCover iframe {

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

    }

    .gro .secAccess .mapCover {

        margin-top: 30px;

        position: relative;

        padding-top: 61.334vw;

        overflow: hidden;

    }

    .gro .secAccess .cmnTitEng img {

        height: 19px;

    }

}



/* secTopBnr */

.gro .secTopBnr{

    position: relative;

    margin: 190px auto 0;

}

.gro .secTopBnr .bnrInner.lazyloaded{

    background: url(../img/index/bgTopBnr.jpg) center top / cover;

}

.gro .secTopBnr .bnrInner{

    position: relative;

    height: 600px;

    display: block;

    text-decoration: none;

    color: #fff;

}

.gro .secTopBnr .wrapper{

    position: relative;

    display: flex;

    align-items: center;

    height: 100%;

}

.gro .secTopBnr .bnrIcon{

    position: absolute;

    top: -40px;

    left: -5px;

}

.gro .secTopBnr .flexBox{

    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

}

.gro .secTopBnr .leftBox{

    position: relative;

}

.gro .secTopBnr .jpnImg{

    position: absolute;

    top: calc(50% - 50px);

    left: 175px;

}

.gro .secTopBnr .btnBox{

    width: 200px;

    padding-bottom: 18px;

    border-bottom: solid 1px #fff;

    position: relative;

}

.gro .secTopBnr .btnBox::before{

    content: "";

    margin: auto;

    position: absolute;

    top: 5px;

    right: 4px;

    width: 5px;

    height: 5px;

    border-top: 1px solid #fff;

    border-right: 1px solid #fff;

    transform: rotate(45deg);

}

.gro .secTopBnr .btnBox::after{

    content: "";

    margin: auto;

    position: absolute;

    top: 7px;

    right: 4px;

    width: 17px;

    height: 1px;

    background: #fff;

}

.gro .secTopBnr .btnTxt{

    font-size: 13px;

    font-weight: 300;

    letter-spacing: 1.5px;

}

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

    .gro .secTopBnr{

        margin: 80px 0 0px;

    }

    .gro .secTopBnr .bnrInner.lazyloaded{

        background: url(../img/index/bgTopBnr_sp.jpg) center top / cover;

    }

    .gro .secTopBnr .bnrInner{

        height: 104vw;

        min-height: 390px;

    }

    .gro .secTopBnr .bnrIcon{

        width: 127px;

        top: -20px;

        left: 0;

    }

    .gro .secTopBnr .flexBox{

        display: block;

        padding-bottom: 15px;

    }

    .gro .secTopBnr .engImg{

        width: 245px;

        margin-left: -5px;

    }

    .gro .secTopBnr .jpnImg{

        position: static;

        width: 285px;

        margin-top: -20px;

    }

    .gro .secTopBnr .btnBox{

        width: 165px;

        padding-bottom: 13px;

        margin-top: 42px;

    }

    .gro .secTopBnr .btnTxt{

        font-size: 12px;

        font-weight: 300;

        letter-spacing: 1px;

    }

}

/* 230926 */

.gro .secMission .item:nth-child(1) .img{

    position: relative;

    display: inline-block;

    padding-right: 121px;

}

.gro .secMission .item:nth-child(1) .img::after{

    content: "";

    position: absolute;

    right: 0;

    bottom: 8px;

    width: 100px;

    height: 1px;

    background-image: -moz-linear-gradient( 0deg, rgb(198,0,128) 0%, rgb(84,27,134) 100%);

    background-image: -webkit-linear-gradient( 0deg, rgb(198,0,128) 0%, rgb(84,27,134) 100%);

    background-image: -ms-linear-gradient( 0deg, rgb(198,0,128) 0%, rgb(84,27,134) 100%);

}

.gro .secMission .item .titlist{

    padding-top: 16px;

}

.gro .secMission .item .titlist li{

    text-align: left;

}

.gro .secMission .item .titlist li:nth-child(n + 2){

    margin-top: 34px;

}

.gro .secMission .item .titlist .subtit{

    font-size: 16px;

    display: inline-block;

    background: rgb(198,0,128);

    background: linear-gradient(90deg, rgba(198,0,128,1) 0%, rgba(139,32,132,1) 50%, rgba(84,27,134,1) 100%);

    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;

    font-weight: bold;

    letter-spacing: 1.5px;

}

.gro .secMission .item .titlist .txt{

    font-size:28px;

    font-weight: bold;

    margin-top: 20px;

    letter-spacing: 1px;

    line-height: 1.5;

}

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

    .gro .secMission .item:nth-child(1) .img{

        display: block;

        padding-right: 0;

    }

    .gro .secMission .item:nth-child(1) .img::after{

        display: none;

    }

    .gro .secMission .item:nth-child(2){

        margin-top: 20px;

    }

    .gro .secMission .item .titlist{

        padding-top: 0;

    }

    .gro .secMission .item .titlist li{

        text-align: left;

    }

    .gro .secMission .item .titlist li:nth-child(n + 2){

        margin-top: 20px;

    }

    .gro .secMission .item .titlist .subtit{

        font-size: 14px;

        line-height: 1;

        letter-spacing: 1px;

    }

    .gro .secMission .item .titlist .txt{

        font-size: 20px;

        margin-top: 10px;

        line-height: 28px;

        letter-spacing: 0;

    }

}



/* secProfile */

.gro .secProfile{}

.gro .secProfile{

    position: relative;

    margin-top: 120px;

}

.gro .secProfile .titbox{

    position: absolute;

    left: 70px;

    top: -23px;

    z-index: 5;

}

.gro .secProfile .onbox{

    height: 435px;

    padding: 71px 69px 59px;

}

.gro .secProfile.lazyloaded .onbox{

    background: url(../img/about/imgbackProfile02.jpg) center top no-repeat;

}

.gro .secProfile .onbox .txtlist{}

.gro .secProfile .onbox .txtlist .item{

    display: flex;

    align-items: flex-start;

}

.gro .secProfile .onbox .txtlist .item:nth-child(n + 2){

    margin-top: 7px;

}

.gro .secProfile .onbox .txtlist .item .tit{

    width: 79px;

}

.gro .secProfile .onbox .txtlist .item .tit .num{

    font-size:13px;

    line-height: 30px;

    letter-spacing: 1px;

}

.gro .secProfile .onbox .txtlist .item .txtbox{

    flex: 1;

}

.gro .secProfile .onbox .txtlist .item .txtbox .txt{

    font-size: 13px;

    line-height: 30px;

    letter-spacing: 1.5px;

}

.gro .secProfile .underbox{

    background: #3e3a39;

    color: #fff;

    padding: 60px 69px 56px;

}

.gro .secProfile .underbox .underlist{

    display: flex;

    flex-wrap: wrap;

}

.gro .secProfile .underbox .underlist .txtlist{

    width: calc((100% - 60px) / 2);

    margin-right: 60px;

}

.gro .secProfile .underbox .underlist .txtlist:nth-child(2n){

    margin-right: 0;

}

.gro .secProfile .underbox .underlist .txtlist:nth-child(n + 3){}

.gro .secProfile .underbox .underlist .txtlist .txt{

    font-size:13px;

    line-height: 36px;

}

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

    .gro .secProfile{

        margin-top: 80px;

    }

    .gro .secProfile .titbox{

        left: 25px;

        top: -10px;

    }

    .gro .secProfile .titbox img{

        width: auto;

        height: 20px;

    }

    .gro .secProfile .onbox{

        height:auto;

        padding: 40px 25px 20px;

        background: #f4f5f5;

    }

    .gro .secProfile.lazyloaded .onbox{

        background: #f4f5f5;

    }

    

    .gro .secProfile .onbox .txtlist{}

    .gro .secProfile .onbox .txtlist .item{

        display: flex;

        align-items: flex-start;

    }

    .gro .secProfile .onbox .txtlist .item:nth-child(n + 2){

        margin-top: 7px;

    }

    .gro .secProfile .onbox .txtlist .item .tit{

        width: 55px;

    }

    .gro .secProfile .onbox .txtlist .item .tit .num{

        font-size:12px;

        line-height:1.8;

        letter-spacing: 1px;

    }

    .gro .secProfile .onbox .txtlist .item .txtbox{

        flex: 1;

    }

    .gro .secProfile .onbox .txtlist .item .txtbox .txt{

        font-size:12px;

        line-height:1.8;

        letter-spacing: 1.5px;

    }

    .gro .secProfile .underbox{

        background: #3e3a39;

        color: #fff;

        padding: 20px 25px;

    }

    .gro .secProfile .underbox .underlist{

        display:block;

    }

    .gro .secProfile .underbox .underlist .txtlist{

        width: 100%;

        margin-right: 0;

    }

    .gro .secProfile .underbox .underlist .txtlist:nth-child(2n){

        margin-right: 0;

    }

    .gro .secProfile .underbox .underlist .txtlist:nth-child(n + 2){

        margin-top: 5px;

    }

    .gro .secProfile .underbox .underlist .txtlist .txt{

        font-size: 13px;

        line-height: 1.8;

    }

}