@charset "utf-8";

/***************************************************************************
*
* INDEX STYLE
*
***************************************************************************/
body {
    position: relative;
    background: #fff;
}

body:after {
    content: "";
    position: absolute;
    background: url(../images/index/top-wave.png) no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 1412px;
    right: 0;
    top: 114px;
    z-index: -1;
}

#header {
    background: transparent;
    transition: all 0.3s;
}


#header .mainMenu .menu li a:hover:after {
    background: #fff;
}

#header.scrolling {
    background: #fff;
}

#header .mainMenu .menu li a:hover:after,
#header.scrolling .mainMenu .menu li a:hover:after {
    background: #386ba2;
}


/*main*/
.main {
    position: relative;
    z-index: 1;
    margin-top: 140px;
    margin-bottom: 255px;
}

.main .inner {
    display: flex;
    flex-wrap: wrap;
}

.main .mainCt {
    width: 435px;
    margin-left: 43px;
    margin-top: -25px;
}

.main .mainCt .mainTitle {
    font-size: 48px;
    color: #386ba2;
    font-weight: 600;
    line-height: 1.55;
    margin-bottom: 26px;
    letter-spacing: -0.8px;
    padding-left: 9px;
}

.main .mainCt .mainTitle span {
    letter-spacing: -10px;
    margin-right: 8px;
    display: inline-block;
}

.main .mainCt .text {
    line-height: 2;
}

.main .mainPhoto {
    position: absolute;
    top: -85px;
    right: 1px;
    width: 870px;
    margin-left: 0;
}

.main .mainPhoto .topPhoto {
    position: relative;
    text-align: right;
}

.main .mainPhoto .botPhoto {
    margin-top: -117px;
}

.main .mainCt .inquiries .contactBtn {
    margin: 0;
    width: 249px;
}

.main .mainCt .inquiries .contactBtn a {
    padding: 14px 0 13px 22px;
}

.main .mainCt .inquiries .contactBtn a .iconTar {
    position: relative;
    top: 5px;
    display: inline-block;
    margin-left: 12px;
}

/*areaPartners*/

.areaTitle {
    font-size: 40px;
    text-align: center;
    color: #386ba2;
    position: relative;
    z-index: 9;
    letter-spacing: -1px;
}

.areaPartners .introText {
    text-align: center;
    font-size: 20px;
    margin: 7px 0 36px;
    letter-spacing: -1px;
}

.areaPartners {
    padding-bottom: 239px;
}

.areaPartners .listIntro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.areaPartners .listIntro li {
    background: #fff;
    width: 552px;
    padding: 44px 30px 35px;
    display: flex;
    flex-wrap: wrap;
}

.areaPartners .listIntro li .introPhoto {
    width: 206px;
    margin-top: 9px;
}

.areaPartners .listIntro li:nth-child(2) {
    padding: 44px 22px 35px;
}

.areaPartners .listIntro li:nth-child(2) .introPhoto {
    width: 220px;
}

.areaPartners .listIntro li:nth-child(2) .introContent {
    width: 254px;
    margin-left: 13px;
}

.areaPartners .listIntro li .introContent {
    width: 240px;
    margin-left: 28px;
}

.areaPartners .listIntro li .introContent .introTitle {
    font-size: 24px;
    color: #386ba2;
    line-height: 1.38;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.areaPartners .listIntro li:nth-child(2) .introContent .introTitle {
    line-height: 1.5;
    letter-spacing: -1px;
}

.areaPartners .listIntro li .introContent .introTitle .number {
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 1px;
    margin-left: -1px;
    line-height: 1.2;
}

.areaPartners .listIntro li .introContent .introText {
    font-size: 14px;
    letter-spacing: -0.7px;
    text-align: justify;
    font-weight: 400;
    line-height: 2.06;
    margin-bottom: 0;
}

.areaChanging {
    background: #fff;
    margin-bottom: 163px;
}

.areaChanging .areaTitle {
    margin-bottom: 34px;
}

.areaChanging .listChanging li {
    background: #eef9fe;
    padding: 50px 57px 41px 62px;
    margin-bottom: 27px;
}

.areaChanging .listChanging .boxAva {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 36px;
}

.areaChanging .listChanging .boxAva .avataPhoto {
    width: 197px;
    margin-top: 6px;
}

.areaChanging .listChanging .boxAva .avaIntro {
    width: 750px;
}

.areaChanging .listChanging .boxAva .avaIntro .avaTitle {
    margin-bottom: 28px;
}

.areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle {
    font-size: 32px;
    font-weight: bold;
    display: inline-block;
    position: relative;
    letter-spacing: -0.6px;
}

.areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle .number{
    font-size: 36px;
}



.areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle:first-child:after {
    content: "";
    position: absolute;
    top: 53%;
    right: -21px;
    transform: translateY(-50%);
    width: 2px;
    height: 64px;
    background: #4967af;
}

.areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle+.texTitle {
    margin-left: 45px;
    width: calc(100% - 196px);
    line-height: 1;
}

.areaChanging .listChanging .boxAva .mAnda {
    background: url(../images/index/manda-bg.png) no-repeat top left;
    background-size: 100% 100%;
    display: flex;
}

.areaChanging .listChanging .boxAva .mAnda .mAndaLeft {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px 0 19px;
}

.areaChanging .listChanging .boxAva .mAnda .mAndaRight {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px 0 19px;
}

.areaChanging .listChanging .boxAva .mAnda .mAndatext {
    color: #fff;
    width: 100%;
    letter-spacing: -0.9px;
    line-height: 1.4;
}

.areaChanging .listChanging .boxAva .mAnda .price {
    color: #fff;
    font-size: 16px;
}

.areaChanging .listChanging .boxAva .mAnda .price .num {
    font-size: 42px;
    font-weight: bold;
    line-height: 1;
}

.areaChanging .listChanging .changingTitle {
    font-size: 24px;
    color: #386ba2;
    margin-bottom: 11px;
    letter-spacing: -1px;
    margin-left: -6px;
}

.areaChanging .listChanging .changingText {
    line-height: 2.06;
    text-align: justify;
    letter-spacing: -1px;
    margin-left: -6px;
}

@media(max-width: 1379px) and (min-width: 851px) {
    .main .mainPhoto {
        width: 63.9%;
    }

    .areaPartners {
        padding-bottom: 20vw;
        background: url(../images/index/bg-wave.png)no-repeat bottom -1px center;
        background-size: 100%;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle:first-child:after {
        height: 110%;
    }
}

@media(max-width: 1126px) and (min-width: 851px) {
    .main .mainCt .mainTitle {
        font-size: 4.1vw;
    }

    .areaTitle {
        font-size: 3.55vw;
    }
}

@media(max-width: 1200px) and (min-width: 851px) {
    .areaPartners .listIntro li {
        width: 49.29%;
        padding: 3.9% 2.6% 3%;
    }

    .areaPartners .listIntro li .introContent .introTitle {
        font-size: 2vw;
    }

    .areaPartners .listIntro li .introPhoto {
        width: 40.9%;
    }

    .areaPartners .listIntro li:nth-child(2) {
        padding: 3.9% 2.6% 3%;
    }

    .areaPartners .listIntro li:nth-child(2) .introPhoto {
        width: 41.4%;
    }

    .areaPartners .listIntro li .introContent,
    .areaPartners .listIntro li:nth-child(2) .introContent {
        margin-left: 3.6%;
        width: 55%;
    }

    .areaPartners .listIntro li:nth-child(2) .introContent .introTitle br {
        display: none;
    }

    .areaChanging .listChanging li {
        padding: 4.8% 5.3% 4% 5.5%;
    }

    .areaChanging .listChanging .boxAva .avataPhoto {
        width: 19.72%;
    }

    .areaChanging .listChanging .boxAva .avaIntro {
        width: 75.1%;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle {
        font-size: 2.68vw;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle+.texTitle {
        width: 67.5%;
    }

    .areaChanging .listChanging .boxAva .mAnda .mAndaLeft {
        padding: 15px 0;
    }

    .areaChanging .listChanging .boxAva .mAnda .mAndaRight {
        padding: 15px 0;
    }

    .areaChanging .listChanging .boxAva .mAnda .price {
        font-size: 14px;
    }

    .areaChanging .listChanging .boxAva .mAnda .price .num {
        font-size: 3vw;
    }
}

@media(max-width: 907px) and (min-width: 851px) {
    .main .mainCt {
        margin-left: 2%;
    }

    .areaPartners .introText {
        font-size: 2.1vw;
    }
}


@media(max-width: 867px) and (min-width: 851px) {
    .main .mainPhoto {
        width: 58%;
    }
}

@media(min-width: 851px) {
    .areaRecruit .wrapTop .photo.sp {
        display: none;
    }

    #header {
        box-shadow: none;
    }

    #header.scrolling {
        box-shadow: 0 0 1px rgb(0 0 0 / 20%);
    }
}

@media(max-width: 850px) {

    body:after {
        top: 321px;
        background: url(../images/index/top-wave-sp.png) no-repeat;
        background-size: 100% 100%;
        width: 100%;
        height: 1900px;
    }

    #header {
        background: #fff;
    }

    #header .mainMenu .menu li a {
        color: #3e3a39;
    }

    .main {
        padding-top: 35px;
        margin: 0 0 59px;
    }

    .main .mainCt.pc {
        display: none;
    }

    .main .mainCt.sp {
        display: block;
    }

    .main .mainPhoto {
        width: 343px;
        margin: 0 auto 30px;
        display: block;
    }

    .main .mainPhoto .topPhoto {
        width: 221px;
        float: right;
    }

    .main .mainPhoto .botPhoto {
        float: left;
        width: 255px;
        margin-top: -64.8px;
        margin-left: 1px;
    }

    .main .mainCt {
        margin-left: 0;
        margin-top: 0;
        vertical-align: 0;
        width: 100%;
    }

    .main .mainCt .mainTitle {
        font-size: 36px;
        line-height: 1.57;
        margin-bottom: 18px;
        padding-left: 0;
    }

    .main .mainPhoto {
        width: 100%;
        position: static;
        margin: 72px auto 0;
    }

    .main .inner {
        display: block;
    }

    .main .mainCt .mainTitle span {
        letter-spacing: -7.6px;
    }

    .main .mainPhoto .topPhoto {
        width: 100%;
        overflow: hidden;
    }

    .main .mainPhoto .topPhoto .photo {
        width: 109%;
        margin-left: -2.2%;
    }

    .main .mainPhoto .topPhoto .photo img {
        width: 100%;
        display: block;
    }

    .areaTitle {
        font-size: 32px;
        line-height: 1.23;
    }

    .areaPartners {
        padding-bottom: 131px;
    }

    .areaPartners .introText {
        font-size: 20px;
        margin: 17px 0 27px;
        line-height: 1.4;
    }
    .areaPartners .listIntro li .introPhoto img {
        width: 214px;
    }

    .areaPartners .listIntro li .introPhoto,
    .areaPartners .listIntro li:nth-child(2) .introPhoto {
        width: 100%;
        text-align: center;
        margin-top: 0;
        margin-bottom: 19px;
    }

    .areaPartners .listIntro li {
        width: 100%;
        padding: 26px 16px 27px;
    }

    .areaPartners .listIntro li .introContent,
    .areaPartners .listIntro li:nth-child(2) .introContent {
        width: 100%;
        margin-left: 0;
    }

    .areaPartners .listIntro li .introContent .introTitle {
        margin-bottom: 9px;
    }

    .areaPartners .listIntro li .introContent .introText {
        margin-bottom: 0;
        margin-top: 0;
        letter-spacing: -1.2px;
    }

    .areaPartners .listIntro li:nth-child(2) {
        padding: 26px 16px 27px;
        margin-top: 16px;
    }

    .areaPartners .listIntro li:nth-child(2) .introPhoto img {
        width: 226px;
    }

    /*areaChanging*/
    .areaChanging {
        margin-bottom: 104px;
        background: transparent;
    }
    .areaChanging .wave{
        margin-left: -1px;
        margin-bottom: -1px;
        margin-top: -91px;
    }

    .areaChanging .inner{
        background: #fff;
        margin-top: -25px;
    }
    .areaChanging .wave img{
        width: 100%;
        max-height: 150px;
    }

    .areaChanging .areaTitle {
        margin-bottom: 30px;
    }

    .areaChanging .listChanging li {
        padding: 25px 5% 22px 5%;
        margin-bottom: 19px;
    }

    .areaChanging .listChanging .boxAva .avaIntro {
        width: 100%;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle {
        text-align: center;
        margin-bottom: 17px;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle {
        font-size: 28px;
        display: block;
        text-align: center;
        margin-bottom: 5px;
        line-height: 1;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle:first-child:after {
        content: "";
        display: none;
    }
    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle .number{
        font-size: 34px;
    }

    .areaChanging .listChanging .boxAva .avaIntro .avaTitle .texTitle+.texTitle {
        width: 100%;
        font-size: 16px;
        margin-left: 0;
    }

    .areaChanging .listChanging .boxAva .avataPhoto {
        width: 100%;
        text-align: center;
        margin: 0 0 20px;
    }

    .areaChanging .listChanging .boxAva .avataPhoto img {
        width: 160px;
    }

    .areaChanging .listChanging .boxAva .mAnda {
        width: 110.6%;
        margin-left: -5.2%;
        background: url(../images/index/manda-bg-sp.png) no-repeat top left;
        background-size: 100% 100%;
    }

    .areaChanging .listChanging .boxAva .mAnda .mAndaLeft,
    .areaChanging .listChanging .boxAva .mAnda .mAndaRight {
        padding: 14px 0;
    }

    .areaChanging .listChanging .boxAva .mAnda .mAndaLeft {
        padding-right: 15px;
    }

    .areaChanging .listChanging .boxAva .mAnda .mAndaRight {
        padding-left: 15px;
    }

    .areaChanging .listChanging .boxAva .mAnda .price .num {
        font-size: 37px;
    }

    .areaChanging .listChanging .boxAva {
        margin-bottom: 24px;
    }

    .areaChanging .listChanging .changingTitle {
        font-size: 20px;
        margin-left: 0;
        line-height: 1.55;
    }

    .areaChanging .listChanging .changingText {
        margin-left: 0;
        letter-spacing: -1.2px;
    }

}

@media(max-width: 375px){
    body:after {
        background-size: 100%;
    }
}

@media (max-width: 360px){
    .main .mainCt .mainTitle{
        font-size: 35px;
    }
}





