@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/
@media only screen and (max-width:767px){
    #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;
    }
}
@media only screen and (max-width:767px){
    #main.co,
    #main.ok{
        display: block;
    }
}

/* secBox */
.gro .secBox{
    background: url(../img/saiyou/imgBox01.jpg) center top no-repeat;
    height: 680px;
    margin-top: 69px;
}
.gro .secBox .tit{
    font-size: 48px;
    font-weight: bold;
    color: #fff;
    line-height: 1.63;
    padding: 210px 0 0 0 ;
    letter-spacing: 15px;
}
@media only screen and (max-width:767px){
    .gro .secBox{
        background: url(../img/saiyou/imgBox01_sp.jpg) center center / cover;
        height: 224px;
        margin-top: 38px;
        

    }
    .gro .secBox .tit{
        font-size: 19px;
        line-height: 1.6;
        padding: 64px 0 99px 4%;
        letter-spacing: 5px;
    }
}

/* secMesasge */
.gro .secMesasge{
    position: relative;
}
.gro .secMesasge  .bgBox{
    background: #f4f5f5;
    padding: 320px 0 308px 108px;
    position: relative;
}
.gro .secMesasge  .tit{
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 6px;
    line-height: 1.5;
}
.gro .secMesasge  .txt{
    font-size: 14px;
    line-height: 2.15;
    margin-top: 35px;
    letter-spacing: 1.5px;
}
.gro .secMesasge .txt + .txt{
    margin-top: 30px;
}
.gro .secMesasge .rightBox{
    position: absolute;
    right: calc(50% - 960px);
    top: 150px;
}
.gro .secMesasge .secCmnTit{
    position: absolute;
    left: calc(50% - 835px);
    bottom: 300px;
}
.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% - 2px);
    top: -51px;
}
.gro .secMesasge .secCmnTit .cmnEngTit::after{
    position: absolute;
    content: "";
    width: 50px;
    height: 1px;
    background: rgb(0, 7, 80);
    left: calc(50% - 17px);
    top: -51px;
    transform: rotate(-60deg);
}
@media only screen and (max-width:1800px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 820px);
    }
}
@media only screen and (max-width:1665px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 800px);
    }
    .gro .secMesasge {
        padding-left: 35px;
    }
}
@media only screen and (max-width:1640px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 780px);
    }
}
@media only screen and (max-width:1600px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 765px);
    }
}
@media only screen and (max-width:1580px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 755px);
    }
}
@media only screen and (max-width:1560px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 740px);
    }
}
@media only screen and (max-width:1530px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 730px);
    }
}
@media only screen and (max-width:1500px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 715px);
    }
}
@media only screen and (max-width:1480px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 705px);
    }
}
@media only screen and (max-width:1450px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 685px);
    }
    .gro .secMesasge .bgBox {
        padding: 320px 0 308px 100px;
    }
}
@media only screen and (max-width:1430px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 685px);
    }
}
@media only screen and (max-width:1425px){
    .gro .secMesasge .secCmnTit {
        left: calc(50% - 675px);
    }
    .gro .secMesasge .bgBox {
        padding: 320px 0 308px 90px;
    }
}
@media only screen and (max-width:767px){
    .gro .secMesasge{
        display: flex;
        flex-direction: column-reverse;
        padding-top: 80px;
        background: #f4f5f5;
    }
    .gro .secMesasge  .bgBox{
        padding: 40px 4% 52px 8%;
    }
    .gro .secMesasge  .tit{
        font-size: 19px;
        letter-spacing: 2.5px;
    }
    .gro .secMesasge  .txt{
        font-size: 13px;
        line-height: 1.72;
        margin-top: 24px;
        letter-spacing: 0.5px;
    }
    .gro .secMesasge .txt + .txt{
        margin-top: 25px;
    }
    .gro .secMesasge .rightBox{
        position: static;
        width: 100%;
        margin: 0 0 0 auto;
    }
    .gro .secMesasge .secCmnTit{
        left: 0%;
        bottom: unset;
        top: 35px;
        right: unset;
    }
    .gro .secMesasge .secCmnTit img{
        width: 50%;
    }
    .gro .secCmnTit .animeWrapper {
        padding-top: 35px;
    }
    .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 .bgBox{
        padding-left: 0;
    }
}


/* secInterview */
.gro .secInterview{
    padding: 145px 0 150px;
}
.gro .secInterview.lazyloaded{
    background: url(../img/saiyou/bgInterview.jpg) center top / cover no-repeat;
}
.gro .secInterview .list{
    display: flex;
    justify-content: center;
    width: 1418px;
    margin: 85px auto 0;
}
.gro .secInterview .item{
    position: relative;
    width: 46.41%;
    margin-right: 7.18%;
}
.gro .secInterview .item:nth-child(2){
    margin-right: 0;
}
.gro .secInterview .nameImg{
    position: absolute;
    right: 14px;
    bottom: 186px;
}
.gro .secInterview .itemInner{
    text-decoration: none;
}
.gro .secInterview .tit{
    font-size: 24px;
    line-height: 2.1;
    color: #fff;
    font-weight: bold;
    margin-top: 23px;
    padding-left: 18px;
    letter-spacing: 2px;
}
.gro .secInterview .txtBox{
    color: #fff;
    margin: 27px 0 0 19px;
}
.gro .secInterview .name{
    font-size: 18px;
    letter-spacing: 2px;
}
.gro .secInterview .txt{
    font-size: 14px;
    margin-top: 19px;
    letter-spacing: 1.5px;
}
.gro .secInterview .btnBox {
    width: 200px;
    padding-bottom: 18px;
    border-bottom: solid 1px #fff;
    position: relative;
    margin: -33px 19px 0px auto;
    padding-right: 35px;
    color: #fff;
}
.gro .secInterview .btnTxt{
    text-align: left;
    font-size: 13px;
    letter-spacing: 2px;
}
.gro .secInterview .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 .secInterview .btnBox::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 7px;
    right: 4px;
    width: 17px;
    height: 1px;
    background: #fff;
}
.gro .secInterview .secCmnTit .cmnEngTit::before{
    background: #fff;
}
.gro .secInterview .secCmnTit .cmnEngTit::after{
    background: #fff;
}
.gro .secInterview .secCmnTit .cmnJpnTit{
    color:#fff ;
}
@media only screen and (max-width:767px){
    .gro .secInterview{
        padding: 55px 0 60px;
    }
    .gro .secInterview.lazyloaded{
        background: url(../img/saiyou/bgInterview_sp.jpg) center top / cover;
    }
    .gro .secInterview .list{
        display: block;
        width: 100%;
        margin: 38px auto 0;
        padding: 0 4%;
    }
    .gro .secInterview .item{
        position: relative;
        width: 100%;
        margin-right: 0%;
    }
    .gro .secInterview .item:nth-child(2){
        margin-top: 54px;
    }
    .gro .secInterview .nameImg{
        right: -1px;
        bottom: 133px;
        width: 72.468%;
    }
    .gro .secInterview .item:nth-child(2) .nameImg{
        width: 65.22%;
    }
    .gro .secInterview .tit{
        font-size: 15px;
        line-height: 1.8;
        margin-top: 29px;
        padding-left: 0px;
    letter-spacing: 0.5px;
    }
    .gro .secInterview .txtBox{
        margin: 23px 0 0 0px;
    }
    .gro .secInterview .name{
        font-size: 13px;
    }
    .gro .secInterview .txt{
        font-size: 12px;
        margin-top: 10px;
    }
    .gro .secInterview .btnBox {
        width: 121px;
        padding-bottom: 15px;
        margin: -29px 0px 0 auto;
        padding-right: 35px

    }
    .gro .secInterview .btnTxt{
        text-align: left;
        font-size: 13px;
        letter-spacing: 0px;
    }
    .gro .secInterview .btnBox::before {
        top: 6px;
        right: 1px;
        width: 5px;
        height: 5px;
    }
    .gro .secInterview .btnBox::after {
        top: 8px;
        right: 2px;
        width: 13px;
        height: 1px;
    }
   
}

/* secQA */
.gro .secQA{
    margin-top: 145px;
}
.gro .secQA .settlementList{
    padding: 60px 0 100px;
}
.gro .secQA .item{
    width: 1120px;
    margin: 0 auto;
}
.gro .secQA .innerItem{
    width: 1120px;
    margin: 0 auto;
    padding-bottom: 19px;
    position: relative;
}
.gro .secQA .itemTitTop:last-child .innerItem{
    padding-bottom: 0;
}
.gro .secQA .itemTit{
    background: #e9eaf6;
    color: #3e3a39;
    font-size: 18px;
    line-height: 1.78;
    font-weight: 700;
    position: relative;
    padding: 30px 0 27px 80px;
    letter-spacing: 1.5px;
}
.gro .secQA .itemTitTop{
    position: relative;
}
.gro .secQA .itemTitTop:nth-child(n+2){
    margin-top: 7px;
}
.gro .secQA .itemTit::before{
    content: '';
    position: absolute;
    right: 39px;
    top: calc(50% - 10px);
    width: 1px;
    height: 25px;
    background: rgb(0, 7, 80);
}
.gro .secQA .itemTit.opened::before{
    display: none;
}
.gro .secQA .itemTit::after{
    content: '';
    position: absolute;
    right: 27px;
    top: calc(50% - -2px);
    width: 25px;
    height: 1px;
    background: rgb(0, 7, 80);
}
.gro .secQA .iconQ{
    position: relative;
}
.gro .secQA .iconQ::after{
    position: absolute;
    content: "";
    width: 20px;
    height: 27px;
    left: -39px;
    top: calc(50% - 12px);
}
.gro .secQA .iconQ.lazyloaded::after{
    background: url(../img/saiyou/iconTxtQ.gif) center top no-repeat;
}
.gro .secQA .categoryTit{
    font-size: 16px;
    line-height: 1.75;
    padding: 15px 40px 26px 81px;
    background: #fff;
    letter-spacing: 2px;
    margin-top: 10px;
    position: relative;
}
.gro .secQA .categoryTit::after{
    position: absolute;
    content: "";
    width: 22px;
    height: 23px;
    left: 40px;
    top: 18px;
}
.gro .secQA .categoryTit.lazyloaded::after{
    background: url(../img/saiyou/iconTxtA.gif) center top no-repeat;
}
.gro .secQA .innerList{
    display: none;
}
.gro .secQA .spanTxt{
    display: inline-block;
    padding-top: 25px;
}
@media only screen and (max-width:767px){
    .gro .secQA .gro .secCmnTit .cmnEngTit img {
        height: 22px;
    }    
    .gro .secQA{
        margin-top: 64px;
    }
    .gro .secQA .settlementList{
        padding: 35px 0 60px;
    }
    .gro .secQA .item{
        width: 100%;
    }
    .gro .secQA .innerItem{
        width:100%;
        padding-bottom: 0px;
    }
    .gro .secQA .itemTit{
        font-size: 13px;
        line-height: 1.54;
        padding: 15px 43px 15px 35px;
        letter-spacing: normal;
    }
    .gro .secQA .itemTitTop:nth-child(n+2){
        margin-top: 10px;
    }
    .gro .secQA .itemTit::before{
       height: 13px;
       right: 21px;
       top: calc(50% - 7.5px);
       width: 1px;
    }
    .gro .secQA .itemTit::after{
        right: 15px;
        width: 13px;
        height: 1px;
        top: calc(50% - 1.5px);
    }
    .gro .secQA .itemTit.tit02::before{
        display: none;
    }
    .gro .secQA .itemTit.tit02::after {
        right: 15px;
        top: 22px;
    }    
    .gro .secQA .categoryTit{
        font-size: 12px;
        line-height: 1.67;
        padding: 19px 10px 19px 35px;
        margin-top: 2px;
        position: relative;
        letter-spacing: 1px;
    }
    .gro .secQA .spanTxt{
        padding-top: 15px;
    }

    .gro .secQA .iconQ::after{
        width: 11px;
        height: 15px;
        left: -21px;
        top: 2px;
    }
    .gro .secQA .iconQ.lazyloaded::after{
        background-size: cover;
    }
    .gro .secQA .categoryTit::after{
        width: 14px;
        height: 15px;
        left: 14px;
        top: 20px;
    }
    .gro .secQA .categoryTit.lazyloaded::after{
        background-size: cover;
    }
}

/* secFlow */
.gro .secFlow{
    padding: 91px 0 93px;
}
.gro .secFlow.lazyloaded{
    background: url(../img/saiyou/bgBox.gif) left top repeat;
}
.gro .secFlow .list{
    margin-top: 67px;
    position: relative;
    padding-left: 85px
}
.gro .secFlow .list:before{
    position: absolute;
    content: "";
    background: rgb(0, 7, 80);
    clip-path: polygon(0 0,100% 0,100% 100%,0 calc(100% - 10px));
    width: 20px;
    height: 1040px;
    left: calc(50% - 690px);
    top: 1px;
}
.gro .secFlow .item{
    width: 1290px;
    background: #fff;
    padding: 0px 0 45px 55px;
    margin: 0 auto;
    position: relative;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
.gro .secFlow .item:nth-child(n+2){
    padding: 3px 0 47px 60px;
}
.gro .secFlow .item::before{
    position: absolute;
    content: "";
    background: url(../img/saiyou/iconFlow01.png) center top /cover;
    width:77px;
    height: 60px;
    right: 57px;
    top: 54px;
}
.gro .secFlow .item:nth-child(2)::before{
    background: url(../img/saiyou/iconFlow02.png) center top /cover;
    width:65px;
    height: 84px;
    right: 63px;
    top: 55px;
}
.gro .secFlow .item:nth-child(3)::before{
    background: url(../img/saiyou/iconFlow03.png) center top /cover;
    width:97px;
    height: 94px;
    right: 48px;
    top: 50px;
}
.gro .secFlow .item:nth-child(4)::before{
    background: url(../img/saiyou/iconFlow04.png) center top /cover;
    width:79px;
    height: 90px;
    right: 56px;
    top: 49px;
}
.gro .secFlow .item:nth-child(5)::before{
    background: url(../img/saiyou/iconFlow05.png) center top /cover;
    width:90px;
    height: 90px;
    right: 52px;
    top: 47px;
}
.gro .secFlow .item:nth-child(n+2){
    margin-top: 28px;
}
.gro .secFlow .tit{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1.5px;
}
.gro .secFlow .txt{
    font-size: 16px;
    line-height: 1.75;
    margin-top: 13px;
    letter-spacing: 1px;
    font-weight: 500;
}
.gro .secFlow .txtNum {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgb(0, 7, 80);
    border: none;
    padding: 2px;
    position: relative;
    z-index: 10;
    left: -81px;
    top:55px;
}
.gro .secFlow .list .item:nth-child(2) .txtNum {
    top: 67px;
    left: -86px;
}
.gro .secFlow .list .item:nth-child(3) .txtNum {
    top: 63px;
    left: -85px;
}
.gro .secFlow .list .item:nth-child(4) .txtNum {
    top: 60px;
    left: -85px;
}
.gro .secFlow .list .item:nth-child(5) .txtNum {
    top: 60px;
    left: -85px;
}
.gro .secFlow .bgTxtNum {
    background: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
@media only screen and (max-width:767px){
    .gro .secFlow{
        padding: 55px 0 60px;
    }
    .gro .secFlow .list{
        margin-top: 40px;
        padding-left: 0px
    }
    .gro .secFlow .list:before{
        display: none;
    }
    .gro .secFlow .item{
        width: 100%;
        padding: 5px 0 19px 15px;
        margin: 0 auto;
        box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
    }
    .gro .secFlow .item:nth-child(n+2){
        padding: 0px 91px 20px 14px
    }
    .gro .secFlow .item:nth-child(5){
        padding: 0px 91px 35px 14px
    }
    .gro .secFlow .item::before{
        width:38px;
        height: 29px;
        right: 17px;
        top: 44px;
    }
    .gro .secFlow .item:nth-child(2)::before{
        width:38px;
        height: 49px;
        right: 17px;
        top: 41px;
    }
    .gro .secFlow .item:nth-child(3)::before{
        width:42px;
        height: 41px;
        right: 14px;
        top: 47px
    }
    .gro .secFlow .item:nth-child(4)::before{
        width:38px;
        height:44px;
        right: 17px;
        top: 43px;
    }
    .gro .secFlow .item:nth-child(5)::before{
        width:39px;
        height: 39px;
        right: 17px;
        top: 47px;
    }
    .gro .secFlow .item:nth-child(n+2){
        margin-top: 16px;
    }
    .gro .secFlow .tit{
        font-size: 16px;
        padding-left: 38px;
        margin-top: -9px;
        letter-spacing: 0.5px;
    }
    .gro .secFlow .txt{
        font-size: 11px;
        line-height: 1.5;
        margin-top: 10px;
        letter-spacing: 0;
    }
    .gro .secFlow .txtNum {
        width: 30px;
        height: 30px;
        padding: 2px;
        left: 0px;
        top: 11px;
    }
    .gro .secFlow .list .item:nth-child(2) .txtNum {
        top: 13px;
        left: 2px;
    }
    .gro .secFlow .list .item:nth-child(3) .txtNum {
        top: 13px;
        left: 2px;
    }
    .gro .secFlow .list .item:nth-child(4) .txtNum {
        top: 13px;
        left: 2px;
    }
    .gro .secFlow .list .item:nth-child(5) .txtNum {
        top: 14px;
        left: 2px;
    }
    .gro .secFlow .bgTxtNum {
        background: #fff;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }
    .gro .secFlow .bgTxtNum img{
        width: 50%;
    }
}
@media only screen and (max-width:359px){
    .gro .secFlow .item::before {
        top: 20px;
    }
}

/* secRequirement */
.gro .secRequirement{
    margin-top: 96px;
}
.gro .secRequirement .secCmnTit .cmnJpnTit {
    margin-top: 24px
}
.gro .secRequirement .tableCover{
    width: 1120px;
    margin: 0px auto;
    padding: 68px 0 100px;
}
.gro .secRequirement table{
    width: 100%;
}
.gro .secRequirement tr{
    background: #f4f5f5;
}
.gro .secRequirement tr:nth-child(2n){
    background: #fff;
}
.gro .secRequirement th{
    width: 190px;
    font-size: 16px;
    font-weight: 700;
    vertical-align: middle;
    line-height: 2.13;
    letter-spacing: 2px;
    padding: 32px 0 32px 78px;
}
.gro .secRequirement th.thTop{
    padding: 122px 0 121px 78px
}
.gro .secRequirement th.th2{
    padding: 93px 0 89px 78px;
}
.gro .secRequirement td{
    width: calc(100% - 190px);
    font-size: 16px;
    line-height: 1.88;
    vertical-align: middle;
    padding: 30px 0 30px 50px;
    letter-spacing: 1.5px;
    font-weight: 500;
}
@media only screen and (max-width:767px){
    .gro .secRequirement .secCmnTit .cmnEngTit img {
        height: 25px;
    }
    .gro .secRequirement .secCmnTit .cmnJpnTit {
        margin-top: 10px;
    }
    .gro .secRequirement{
        margin-top: 65px;
    }
    .gro .secRequirement .tableCover{
        width: 100%;
        margin: 0px auto;
        padding: 37px 0 39px;
    }
    .gro .secRequirement table{
        width: 100%;
    }
    .gro .secRequirement th{
        width: 85px;
        font-size: 13px;
        padding: 15px 0 15px 14px;
        letter-spacing: 1px;
        vertical-align: unset;
    }
    .gro .secRequirement th.thTop{
        padding: 82px 0 80px 15px;
    }
    .gro .secRequirement th.th2 {
        padding: 71px 0 69px 15px;    
    }
    .gro .secRequirement td{
        width: calc(100% - 85px);
        font-size: 13px;
        line-height: 1.5;
        padding: 18px 0 15px 5px;
        letter-spacing: 0.5px;
    }
}





/* 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;
    color: #3e3a39;
}
@media only screen and (max-width:767px){
    .gro .secCmnTit {
        padding-top: 0;
    }
    .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;
    }



    .gro .secMesasge .secCmnTit img {
        width: 50%;
        height: auto;
    }
}

.gro .secBnr{
    height: 700px;
    position: relative;
    overflow: hidden;
}
.gro .secBnr .img{
    width: 1920px;
    position: absolute;
    top: 0;
    left: calc(50% - 960px);
}
@media only screen and (max-width:767px){
    .gro .secBnr{
        height: auto;
    }
    .gro .secBnr .img{
        width: 100%;
        height: auto;
        position: static;
    }
}