@charset "UTF-8";

/* Aboutus CSS */


/* _setting CSS */

.anime_opacity {
    opacity: 0;
    transition: all 400ms ease-out;
}

.anime_blur {
    opacity: 0;
    transition: all 600ms linear;
    filter: blur(32px);
    transform: translate3d(0, 30px, 0);
}

.finish .anime_opacity {
    opacity: 1;
}

.finish .anime_blur {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

.pagenavi {
    position: relative;
    z-index: 1;
}

.pagenavi .item:last-child:after {
    opacity: 0;
}


/* Desktops and laptops */

@media screen and (min-width: 751px) {
    .sec {
        position: relative;
    }
    .table th,
    .table td {
        padding: 23px 0;
        font-size: 1.6rem;
        line-height: 1.625;
    }
    .table th {
        text-align: left;
        vertical-align: top;
    }
    .common_title {
        padding-top: 70px;
        margin-top: -70px;
    }
    .pagenavi .list {
        display: flex;
        justify-content: center;
    }
    .pagenavi .item:after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 2.2em;
        background: linear-gradient(-12.3deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        transform: skewX(-12.3deg) translateY(5px);
    }
    .pagenavi .item a {
        padding: 0 35px;
    }
    .pagenavi .item span {
        font-size: 1.6rem;
        font-weight: bold;
    }
    .kv_pt1 {
        padding-bottom: 70px;
    }
    #message {
        background: url("../images/aboutus/message_bg.png") right bottom no-repeat;
        padding: 100px 0 150px;
        margin-bottom: 150px;
    }
    #message .title {
        margin-bottom: 60px;
        font-style: italic;
        font-size: 8rem;
        line-height: 1;
        letter-spacing: 0.03em;
    }
    #message .title strong {
        color: #333;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: bold;
        white-space: nowrap;
        display: inline-block;
    }
    #message .title strong span {
        font-weight: bold;
        background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        -webkit-background-clip: text;
        color: transparent;
        display: inline-block;
        padding: 0 10px 15px 0;
    }
    #message .title.animate strong {
        transition: all 1000ms ease-out;
        transition-delay: 400ms;
        width: 1%;
        padding: 10px 0 10px 0;
        margin-left: -50px;
        box-sizing: content-box;
        overflow: hidden;
        opacity: 0;
    }
    #message .title.animate strong:last-child {
        transition-delay: 800ms;
    }
    #message .title.animate.finish strong {
        width: 100%;
        padding: 10px 40px 20px 20px;
        margin-left: -10px;
        opacity: 1;
    }
    #message p strong {
        color: #666;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: bold;
        font-style: italic;
        font-size: 1.8rem;
        line-height: 50px;
    }
    #message p span {
        color: #fff;
        font-weight: bold;
        display: inline-block;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
    }
    #message p span i {
        padding-right: 10px;
        font-weight: bold;
        display: inline-block;
        background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        -webkit-background-clip: text;
        color: transparent;
    }
    #message p:nth-child(1) strong {
        padding: 20px 0 0 0;
        display: inline-block;
    }
    #message p:nth-child(1) span {
        padding-left: 15px;
        font-size: 6rem;
    }
    #message p:nth-child(1) span i {
        padding-bottom: 10px;
    }
    #message p:nth-child(2) {
        margin-top: 5px;
    }
    #message p:nth-child(2) span {
        padding-left: 15px;
        font-size: 3rem;
    }
    #message p:nth-child(2) span i {
        padding-bottom: 5px;
    }
    #message p:nth-child(3) span {
        padding-left: 15px;
        font-size: 5rem;
    }
    #message p:nth-child(3) span i {
        padding-bottom: 5px;
    }
    #message p:nth-child(4) {
        margin-top: 10px;
    }
    #message p:nth-child(4) span {
        margin-top: -30px;
        padding-left: 25px;
        font-size: 8rem;
        line-height: 95px;
    }
    #message p:nth-child(5) {
        margin-top: 10px;
    }
    #message p:nth-child(5) span {
        padding-left: 10px;
        font-size: 3rem;
    }
    #message p:nth-child(6) {
        margin-top: 10px;
    }
    #message p:nth-child(6) span {
        margin-top: -30px;
        padding-left: 15px;
        font-size: 6rem;
    }
    #message p:nth-child(6) span i {
        padding-bottom: 10px;
    }
    #message p:nth-child(7) {
        margin-top: 10px;
    }
    #message p:nth-child(7) span {
        vertical-align: text-top;
        display: inline-block;
        font-size: 12rem;
        line-height: 120px;
    }
    #message p:nth-child(7) span.black {
        font-size: 6rem;
        font-weight: bold;
    }
    #message p:nth-child(7) span.black i {
        font-size: 12rem;
        font-weight: bold;
    }
    #message p:nth-child(7) span.normal {
        margin-top: -30px;
        padding-left: 65px;
    }
    #message p.animate strong {
        transition: all 1000ms ease-out;
        white-space: nowrap;
        overflow: hidden;
        opacity: 0;
    }
    #message p.animate strong:nth-of-type(1) {
        transition-delay: 200ms;
    }
    #message p.animate strong:nth-of-type(2) {
        transition-delay: 400ms;
    }
    #message p.animate strong:nth-of-type(3) {
        transition-delay: 600ms;
    }
    #message p.animate strong:nth-of-type(4) {
        transition-delay: 800ms;
    }
    #message p.animate strong span {
        transition: all 1000ms ease-out;
        transition-delay: 300ms;
        opacity: 0;
        transform: translate3d(-30px, 0, 0);
        filter: blur(32px);
    }
    #message p.animate.finish strong {
        opacity: 1;
    }
    #message p.animate.finish strong span {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
    #vision {
        padding-top: 160px;
    }
    #vision .decoration {
        position: absolute;
        top: -100px;
        right: 0;
        width: 100%;
        height: 471px;
        overflow: hidden;
    }
    #vision .decoration::before {
        content: '';
        width: 19.06vw;
        height: 264px;
        background: url("../images/top/asset_ellipse2.png") left top no-repeat;
        position: absolute;
        bottom: 207px;
        right: 0;
    }
    #vision .decoration::after {
        content: '';
        width: 19.06vw;
        height: 207px;
        background: url("../images/top/asset_ellipse2_shadow.png") left bottom no-repeat;
        position: absolute;
        top: 264px;
        right: 0;
    }
    #vision .decoration.animate::before,
    #vision .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 600ms ease-out;
    }
    #vision .decoration.animate.finish::before {
        opacity: 1;
        height: 264px;
    }
    #vision .decoration.animate.finish::after {
        opacity: 1;
        height: 207px;
    }
    #vision .common_title {
        padding-bottom: 110px;
    }
    #vision .title {
        position: relative;
        width: 1100px;
        min-height: 255px;
        margin: 0 auto 0 auto;
        font-style: italic;
        font-size: 11rem;
        line-height: 1;
        letter-spacing: 0.03em;
        padding-left: 115px;
    }
    #vision .title strong {
        min-height: 1em;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: bold;
        white-space: nowrap;
        display: inline-block;
    }
    #vision .title strong:nth-child(2) {
        margin-top: -40px;
        transition-delay: 800ms;
    }
    #vision .title.animate strong {
        transition: all 600ms ease-out;
        transition-delay: 600ms;
        width: 1%;
        padding: 10px 0 10px 0;
        box-sizing: content-box;
        overflow: hidden;
        opacity: 0;
    }
    #vision .title.animate strong:last-child {
        transition-delay: 1000ms;
    }
    #vision .title.animate.finish strong {
        width: 100%;
        padding: 10px 40px 10px 20px;
        opacity: 1;
    }
    #vision .title_sub {
        position: relative;
        width: 1100px;
        text-align: center;
        margin: 0 auto 40px;
    }
    #vision .title_sub strong {
        padding: 0 1rem 2rem 2rem;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 2.7rem;
        font-weight: bold;
        font-style: italic;
        display: inline-block;
        background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        -webkit-background-clip: text;
        color: transparent;
    }
    #vision .title_sub strong:nth-child(1) {
        background: linear-gradient(90deg, #171a5f 0%, #0093d1 100%);
        -webkit-background-clip: text;
        color: transparent;
        position: relative;
    }
    #vision .title_sub strong:nth-child(1)::after {
        content: '';
        width: 108px;
        height: 1px;
        margin: 0 -5px 0 10px;
        display: inline-block;
        vertical-align: middle;
        background: #1d8ac8;
    }
    #vision .title_sub.animate {
        transition: all 600ms ease-out;
        transition-delay: 1200ms;
        opacity: 0;
        white-space: nowrap;
        transform: translate3d(0, 30px, 0);
        filter: blur(32px);
    }
    #vision .title_sub.animate.finish {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
    #vision .desc {
        position: relative;
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 2;
        text-align: center;
        margin-bottom: 25px;
    }
    #vision .desc:last-child {
        margin-bottom: 0;
    }
    #vision .vision_content {
        position: relative;
        min-height: 689px;
        padding-top: 30px;
        z-index: 1;
    }
    #vision .vision_content:before {
        content: '';
        display: block;
        width: 689px;
        height: 689px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: url("../images/aboutus/vision_bg.png");
    }
    #vision .vision_content.animate:before {
        transition: all 1100ms ease-out;
        transition-delay: 400ms;
        opacity: 0;
        filter: blur(32px);
    }
    #vision .vision_content.animate.finish:before {
        opacity: 1;
        filter: blur(0);
    }
    #policy .decoration {
        width: 100%;
        height: 453px;
        overflow: hidden;
        position: relative;
    }
    #policy .decoration::before {
        content: '';
        width: 33.43vw;
        height: 261px;
        background: url("../images/top/asset_ellipse1.png") right top no-repeat;
        position: absolute;
        bottom: 190px;
        left: 0;
    }
    #policy .decoration::after {
        content: '';
        width: 33.43vw;
        height: 197px;
        background: url("../images/top/asset_ellipse1_shadow.png") right bottom no-repeat;
        position: absolute;
        top: 261px;
        left: 0;
    }
    #policy .decoration.animate::before,
    #policy .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 800ms ease-out;
    }
    #policy .decoration.animate.finish::before {
        opacity: 1;
        height: 261px;
    }
    #policy .decoration.animate.finish::after {
        opacity: 1;
        height: 197px;
    }
    #policy .common_title {
        padding-bottom: 50px;
    }
    #policy .inner p {
        font-size: 16px;
        letter-spacing: 0.16px;
        line-height: 1.625;
    }
    #policy .inner {
        max-width: 1200px;
        width: 100%;
        margin: -180px auto 0;
    }
    #policy .inner img {
        max-width: 100%;
    }
    #policy .list {
        position: relative;
        width: 100%;
        height: 820px;
        z-index: 1;
    }
    #policy .item:before {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        content: '';
        display: block;
        width: 450px;
        height: 450px;
        border-radius: 50%;
        border: 1px dashed #fff;
    }
    #policy .item.animate {
        opacity: 0;
        transform: translate3d(0, 30px, 0);
        filter: blur(32px);
        transition: all 800ms linear;
    }
    #policy .item.animate.finish {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
    #policy .item2.animate {
        transition-delay: 300ms;
    }
    #policy .item3.animate {
        transition-delay: 600ms;
    }
    #policy .title {
        position: relative;
        display: inline-block;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 3rem;
        font-weight: bold;
        font-style: italic;
        line-height: 1.333;
        margin-bottom: 20px;
        z-index: 1;
    }
    #policy .title span {
        font-size: 6rem;
        font-weight: bold;
        font-style: italic;
    }
    #policy .desc {
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 2;
    }
    #policy i {
        font-size: 7.7rem;
        font-weight: bold;
        font-style: italic;
        color: #fff;
        z-index: 1;
    }
    #policy .item1 {
        width: 608px;
        height: 608px;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0 auto;
        text-align: center;
        background: url("../images/aboutus/policy_policy1_bg.png");
        padding-top: 75px;
    }
    #policy .item1 .item_inner {
        margin: 0 auto;
    }
    #policy .item1 .desc {
        margin-top: 10px;
    }
    #policy .item2 {
        width: 602px;
        height: 602px;
        position: absolute;
        top: 290px;
        left: 70px;
        text-align: left;
        background: url("../images/aboutus/policy_policy2_bg.png");
        padding-top: 200px;
    }
    #policy .item2 .item_inner {
        transform: translateX(-60px);
    }
    #policy .item2 i {
        position: absolute;
        top: 60px;
        right: 165px;
    }
    #policy .item3 {
        width: 602px;
        height: 602px;
        position: absolute;
        top: 290px;
        right: 70px;
        text-align: right;
        background: url("../images/aboutus/policy_policy3_bg.png");
        padding-top: 200px;
    }
    #policy .item3 .item_inner {
        transform: translateX(60px);
    }
    #policy .item3 i {
        position: absolute;
        top: 60px;
        left: 165px;
    }
    #outline .decoration {
        position: relative;
        width: 100%;
        height: 471px;
        overflow: hidden;
    }
    #outline .decoration::before {
        content: '';
        width: 35.18vw;
        height: 264px;
        background: url("../images/aboutus/asset_ellipse2.png") left top no-repeat;
        position: absolute;
        bottom: 207px;
        right: 0;
    }
    #outline .decoration::after {
        content: '';
        width: 35.18vw;
        height: 207px;
        background: url("../images/aboutus/asset_ellipse2_shadow.png") left bottom no-repeat;
        position: absolute;
        top: 264px;
        right: 0;
    }
    #outline .decoration.animate::before,
    #outline .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 600ms ease-out;
    }
    #outline .decoration.animate.finish::before {
        opacity: 1;
        height: 264px;
    }
    #outline .decoration.animate.finish::after {
        opacity: 1;
        height: 207px;
    }
    #outline .inner {
        margin-top: -300px;
    }
    #outline .common_title {
        padding-bottom: 60px;
    }
    #outline .table {
        position: relative;
        width: 100%;
        z-index: 1;
    }
    #outline .table tr {
        border-top: 1px solid #bebebe;
    }
    #outline .table tr:last-child {
        border-bottom: 1px solid #bebebe;
    }
    #outline .table th {
        width: 235px;
    }
    #outline .table td {
        width: calc(100% - 235px);
    }
    #locations {
        margin-top: -100px;
        margin-bottom: 120px;
    }
    #locations .decoration {
        width: 100%;
        height: 453px;
        overflow: hidden;
        position: relative;
    }
    #locations .decoration::before {
        content: '';
        width: 17.18vw;
        height: 261px;
        background: url("../images/top/asset_ellipse1.png") right top no-repeat;
        position: absolute;
        bottom: 190px;
        left: 0;
    }
    #locations .decoration::after {
        content: '';
        width: 17.18vw;
        height: 197px;
        background: url("../images/top/asset_ellipse1_shadow.png") right bottom no-repeat;
        position: absolute;
        top: 261px;
        left: 0;
    }
    #locations .decoration.animate::before,
    #locations .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 800ms ease-out;
    }
    #locations .decoration.animate.finish::before {
        opacity: 1;
        height: 261px;
    }
    #locations .decoration.animate.finish::after {
        opacity: 1;
        height: 197px;
    }
    #locations .inner {
        padding-top: 70px;
    }
    #locations .common_title {
        padding-top: 0;
    }
    #locations .location_list .name {
        width: 240px;
        padding: 23px 0;
        font-size: 1.6rem;
        line-height: 1.625;
    }
    #locations .location_list .map td {
        height: 460px;
    }
}


/* Smartphones (portrait and landscape) */

@media screen and (max-width: 750px) {
    .kv_pt1 {
        margin-bottom: 6.66667vw;
    }
    .sec {
        position: relative;
    }
    .table th,
    .table td {
        padding: 6vw 0;
        font-size: 3.46667vw;
        line-height: 1.3;
    }
    .table th {
        text-align: left;
        vertical-align: top;
    }
    .common_title {
        padding-top: 60px;
        margin-top: -60px;
    }
    .pagenavi .list {
        display: flex;
        flex-wrap: wrap;
        margin-left: 2.66667vw;
    }
    .pagenavi .item {
        width: 38%;
        margin-bottom: 5.33333vw;
    }
    .pagenavi .item:after {
        content: '';
        display: inline-block;
        width: 1px;
        height: 2.2em;
        background: linear-gradient(-12.3deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        transform: skewX(-12.3deg) translateY(5px);
    }
    .pagenavi .item a {
        display: inline-block;
        width: 92%;
        padding: 0 4vw;
    }
    .pagenavi .item span {
        font-size: 4vw;
        font-weight: bold;
        line-height: 1.3;
    }
    .pagenavi .item:nth-child(2),
    .pagenavi .item:nth-child(4) {
        width: 60%;
    }
    .pagenavi .item:nth-child(2) a,
    .pagenavi .item:nth-child(4) a {
        padding: 0 0 0 4vw;
    }
    .pagenavi .item:nth-child(2):after,
    .pagenavi .item:nth-child(4):after {
        opacity: 0;
    }
    #message {
        background: url("../images/aboutus/sp_message_bg.png") right bottom/100% no-repeat;
        padding: 10vw 4vw;
        margin-bottom: 21.33333vw;
    }
    #message .title {
        margin-bottom: 12vw;
        color: #fff;
        font-weight: bold;
        font-style: italic;
        font-size: 7.73vw;
        line-height: 0.6;
        letter-spacing: 0.03em;
    }
    #message .title strong {
        color: #333;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: bold;
        white-space: nowrap;
        display: inline-block;
    }
    #message .title strong span {
        font-weight: bold;
        background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        -webkit-background-clip: text;
        color: transparent;
        display: inline-block;
        padding: 0 1vw 3vw 0;
    }
    #message .title.animate strong {
        transition: all 1000ms ease-out;
        transition-delay: 400ms;
        width: 1%;
        padding: 10px 4vw 15px 2vw;
        overflow: hidden;
        opacity: 0;
    }
    #message .title.animate strong:last-child {
        transition-delay: 800ms;
    }
    #message .title.animate.finish strong {
        width: 100%;
        padding: 10px 4vw 10px 2vw;
        opacity: 1;
    }
    #message p strong {
        color: #666;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: bold;
        font-style: italic;
        font-size: 3.4vw;
        letter-spacing: 0.01em;
        line-height: 9vw;
    }
    #message p span {
        color: #fff;
        font-weight: bold;
        display: inline-block;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
    }
    #message p span i {
        padding-right: 10px;
        font-weight: bold;
        display: inline-block;
        background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        -webkit-background-clip: text;
        color: transparent;
    }
    #message p:nth-child(1) span {
        width: 100%;
        display: block;
        text-align: right;
        font-size: 8vw;
    }
    #message p:nth-child(1) strong:last-child {
        width: 100%;
        display: inline-block;
        margin-top: 5vw;
    }
    #message p:nth-child(1) strong:last-child span {
        margin-top: -1vw;
    }
    #message p:nth-child(2) {
        margin-top: 1vw;
    }
    #message p:nth-child(2) span {
        width: 100%;
        padding-left: 45vw;
        display: block;
        font-size: 5.4vw;
        margin-top: -3vw;
    }
    #message p:nth-child(3) span {
        padding-left: 2.6vw;
        font-size: 6.6vw;
    }
    #message p:nth-child(4) {
        margin-top: 2vw;
    }
    #message p:nth-child(4) span {
        margin-top: -2vw;
        padding-left: 2.6vw;
        font-size: 10.6vw;
        line-height: 12.67vw;
    }
    #message p:nth-child(5) {
        margin-top: 1.3vw;
    }
    #message p:nth-child(5) span {
        padding-left: 2.6vw;
        font-size: 5.3vw;
    }
    #message p:nth-child(6) {
        margin-top: 2vw;
    }
    #message p:nth-child(6) span {
        padding-left: 2vw;
        margin-top: -4vw;
        font-size: 8vw;
        line-height: 16vw;
    }
    #message p:nth-child(7) span {
        display: block;
        padding-left: 0;
        font-size: 8vw;
        line-height: 11vw;
    }
    #message p:nth-child(7) span i {
        font-size: 10vw;
    }
    #message p:nth-child(7) span:last-child {
        margin-top: -10vw;
        font-size: 10vw;
    }
    #message p.animate strong {
        transition: all 1000ms ease-out;
        white-space: nowrap;
        overflow: hidden;
        opacity: 0;
    }
    #message p.animate strong:nth-of-type(1) {
        transition-delay: 200ms;
    }
    #message p.animate strong:nth-of-type(2) {
        transition-delay: 400ms;
    }
    #message p.animate strong:nth-of-type(3) {
        transition-delay: 600ms;
    }
    #message p.animate strong:nth-of-type(4) {
        transition-delay: 800ms;
    }
    #message p.animate strong span {
        transition: all 1000ms ease-out;
        transition-delay: 300ms;
        opacity: 0;
        transform: translate3d(-30px, 0, 0);
        filter: blur(32px);
    }
    #message p.animate.finish strong {
        opacity: 1;
    }
    #message p.animate.finish strong span {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
    #vision {
        margin-bottom: 20.66667vw;
    }
    #vision .decoration {
        order: 3;
        width: 100%;
        height: 51.6vw;
        margin: 0 0 0 0;
        position: relative;
        overflow: hidden;
    }
    #vision .decoration::before {
        content: '';
        width: 100%;
        height: 22.2vw;
        background: url("../images/top/sp_asset_ellipse2.png") left top no-repeat;
        background-size: 100% auto;
        position: absolute;
        bottom: 24.4vw;
        right: 0;
    }
    #vision .decoration::after {
        content: '';
        width: 86%;
        height: 19.4vw;
        background: url("../images/top/sp_asset_ellipse2_shadow.png") right bottom no-repeat;
        background-size: 100% auto;
        position: absolute;
        top: 27.2vw;
        right: 0;
    }
    #vision .decoration.animate::before,
    #vision .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 600ms ease-out;
        transition-delay: 200ms;
    }
    #vision .decoration.animate.finish::before {
        opacity: 1;
        height: 22.2vw;
    }
    #vision .decoration.animate.finish::after {
        opacity: 1;
        height: 19.4vw;
    }
    #vision .inner {
        margin-top: -40vw;
    }
    #vision .common_title {
        position: relative;
        padding: 13.33333vw 6.6vw 8vw;
        z-index: 1;
    }
    #vision .title {
        position: relative;
        font-style: italic;
        font-size: 10.93333vw;
        min-height: 24vw;
        line-height: 1;
        letter-spacing: 0.03em;
        padding: 0 6.67vw;
        margin-bottom: 5.33333vw;
    }
    #vision .title strong {
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        min-height: 1em;
        font-weight: bold;
        white-space: nowrap;
        display: inline-block;
    }
    #vision .title strong:nth-child(2) {
        margin-top: -40px;
        transition-delay: 800ms;
    }
    #vision .title.animate strong {
        transition: all 600ms ease-out;
        transition-delay: 600ms;
        width: 1%;
        padding: 0;
        margin-left: 6vw;
        box-sizing: content-box;
        overflow: hidden;
        opacity: 0;
    }
    #vision .title.animate strong:last-child {
        margin-left: 0;
        transition-delay: 1000ms;
    }
    #vision .title.animate.finish strong {
        width: 100%;
        padding: 0;
        opacity: 1;
    }
    #vision .title_sub {
        position: relative;
        letter-spacing: .03em;
        text-align: center;
        margin: 0 auto 8vw;
    }
    #vision .title_sub strong {
        padding: 0 0 0 1vw;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 3.46667vw;
        font-weight: bold;
        font-style: italic;
        display: inline-block;
        background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
        -webkit-background-clip: text;
        color: transparent;
    }
    #vision .title_sub strong:nth-child(1) {
        background: linear-gradient(90deg, #171a5f 0%, #0093d1 100%);
        -webkit-background-clip: text;
        color: transparent;
        position: relative;
    }
    #vision .title_sub strong:nth-child(1)::after {
        content: '';
        width: 7.46667vw;
        height: 1px;
        margin: 0 -5px 0 10px;
        display: inline-block;
        vertical-align: middle;
        background: #1d8ac8;
    }
    #vision .title_sub.animate {
        transition: all 600ms ease-out;
        transition-delay: 1200ms;
        opacity: 0;
        white-space: nowrap;
        transform: translate3d(0, 30px, 0);
        filter: blur(32px);
    }
    #vision .title_sub.animate.finish {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
    #vision .desc {
        width: 86.66667vw;
        position: relative;
        font-size: 3.2vw;
        font-weight: bold;
        line-height: 1.66667;
        margin: 0 auto 4vw;
    }
    #vision .desc:last-child {
        margin-bottom: 0;
    }
    #vision .vision_content {
        position: relative;
        z-index: 1;
        padding-top: 22.66667vw;
    }
    #vision .vision_content:before {
        content: '';
        display: block;
        width: 76vw;
        height: 76vw;
        margin: auto;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        background: url("../images/aboutus/vision_bg.png") center center/100% no-repeat;
    }
    #vision .vision_content.animate:before {
        transition: all 1100ms ease-out;
        transition-delay: 400ms;
        opacity: 0;
        filter: blur(32px);
    }
    #vision .vision_content.animate.finish:before {
        opacity: 1;
        filter: blur(0);
    }
    #policy .decoration {
        width: 100%;
        height: 41.6666vw;
        position: relative;
        overflow: hidden;
    }
    #policy .decoration::before {
        content: '';
        width: 100%;
        height: 26.4vw;
        background: url("../images/top/sp_asset_ellipse3.png") right top/100% no-repeat;
        position: absolute;
        bottom: 17.666vw;
        left: 0;
    }
    #policy .decoration::after {
        content: '';
        width: 100%;
        height: 26.4vw;
        background: url("../images/top/sp_asset_ellipse3_shadow.png") right bottom/100% no-repeat;
        position: absolute;
        top: 23.73333vw;
        left: 0;
    }
    #policy .decoration.animate::before,
    #policy .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 600ms ease-out;
    }
    #policy .decoration.animate.finish::before {
        opacity: 1;
        height: 26.4vw;
    }
    #policy .decoration.animate.finish::after {
        opacity: 1;
        height: 23.73333vw;
    }
    #policy .common_title {
        padding: 13.33333vw 6.6vw 13.33333vw;
    }
    #policy .inner {
        margin: 10vw auto 0;
        padding: 0 20px;
    }
    #policy .list {
        position: relative;
        width: 100%;
        height: 144vw;
        z-index: 1;
        overflow: hidden;
    }
    #policy .item:before {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        content: '';
        display: block;
        width: 60vw;
        height: 60vw;
        border-radius: 50%;
        border: 1px dashed #fff;
    }
    #policy .item.animate {
        opacity: 0;
        transform: translate3d(0, 30px, 0);
        filter: blur(32px);
        transition: all 800ms linear;
    }
    #policy .item.animate.finish {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        filter: blur(0);
    }
    #policy .item2 .desc {
        width: 70%;
    }
    #policy .item2.animate {
        transition-delay: 300ms;
    }
    #policy .item2:before {
        transform: translate3d(-6vw, 0, 0);
    }
    #policy .item3 .desc {
        width: 70%;
        margin-left: auto;
    }
    #policy .item3.animate {
        transition-delay: 600ms;
    }
    #policy .item3:before {
        transform: translate3d(6vw, 0, 0);
    }
    #policy .title {
        position: relative;
        display: inline-block;
        font-family: "Montserrat", "Microsoft YaHei", 微软雅黑, "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 4vw;
        font-weight: bold;
        font-style: italic;
        line-height: 1.333;
        margin-bottom: 4vw;
        z-index: 1;
    }
    #policy .title span {
        font-size: 8vw;
        font-weight: bold;
        font-style: italic;
    }
    #policy .desc {
        position: relative;
        font-size: 3.2vw;
        font-weight: bold;
        line-height: 1.66667;
        z-index: 1;
    }
    #policy i {
        font-size: 12vw;
        font-weight: bold;
        font-style: italic;
        color: #fff;
        z-index: 1;
    }
    #policy .item1 {
        width: 81.06667vw;
        height: 81.06667vw;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0 auto;
        text-align: center;
        background: url("../images/aboutus/sp_policy_policy1_bg.png") center center/100% no-repeat;
        padding-top: 4vw;
    }
    #policy .item1 .item_inner {
        margin: 0 auto;
    }
    #policy .item1 .desc {
        padding-bottom: 4vw;
    }
    #policy .item2 {
        width: 66vw;
        height: 80.26667vw;
        position: absolute;
        top: 38.66667vw;
        left: 0;
        text-align: left;
        background: url("../images/aboutus/sp_policy_policy2_bg.png") center center/100% no-repeat;
        padding-top: 40vw;
    }
    #policy .item2 .item_inner {
        margin-left: 6.66667vw;
    }
    #policy .item2 i {
        position: absolute;
        top: 28vw;
        right: 34.4vw;
    }
    #policy .item2 .title {
        letter-spacing: .05em;
        padding-top: 4vw;
    }
    #policy .item3 {
        width: 67.06667vw;
        height: 80.26667vw;
        position: absolute;
        top: 38.66667vw;
        right: 0;
        text-align: right;
        background: url("../images/aboutus/sp_policy_policy3_bg.png") center center/100% no-repeat;
        padding-top: 40vw;
    }
    #policy .item3 .item_inner {
        margin-right: 6.66667vw;
    }
    #policy .item3 i {
        position: absolute;
        top: 28vw;
        left: 34.4vw;
    }
    #policy .item3 .title {
        letter-spacing: .05em;
        padding-top: 4vw;
    }
    #outline .decoration {
        order: 3;
        width: 100%;
        height: 51.6vw;
        margin: 0 0 0 0;
        position: relative;
        overflow: hidden;
    }
    #outline .decoration::before {
        content: '';
        width: 100%;
        height: 27.2vw;
        background: url("../images/top/sp_asset_ellipse2.png") left top no-repeat;
        background-size: 100% auto;
        position: absolute;
        bottom: 24.4vw;
        right: 0;
    }
    #outline .decoration::after {
        content: '';
        width: 100%;
        height: 24.4vw;
        background: url("../images/top/sp_asset_ellipse2_shadow.png") left bottom no-repeat;
        background-size: 100% auto;
        position: absolute;
        top: 27.2vw;
        right: 0;
    }
    #outline .decoration.animate::before,
    #outline .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 600ms ease-out;
        transition-delay: 200ms;
    }
    #outline .decoration.animate.finish::before {
        opacity: 1;
        height: 27.2vw;
    }
    #outline .decoration.animate.finish::after {
        opacity: 1;
        height: 24.4vw;
    }
    #outline .inner {
        padding: 0 6.6vw;
        margin-top: -30vw;
    }
    #outline .common_title {
        padding-bottom: 13.33333vw;
    }
    #outline .table {
        width: 100%;
    }
    #outline .table tr {
        border-top: 1px solid #bebebe;
    }
    #outline .table tr:last-child {
        padding-bottom: 14vw;
    }
    #outline .table th {
        width: 30vw;
        max-width: 125px;
    }
    #outline .table td {
        width: 40vw;
    }
    #locations {
        margin-bottom: 26.66667vw;
    }
    #locations .decoration {
        width: 100%;
        height: 41.6666vw;
        position: relative;
        overflow: hidden;
    }
    #locations .decoration::before {
        content: '';
        width: 100%;
        height: 26.4vw;
        background: url("../images/top/sp_asset_ellipse3.png") right top/100% no-repeat;
        position: absolute;
        bottom: 17.666vw;
        left: 0;
    }
    #locations .decoration::after {
        content: '';
        width: 100%;
        height: 26.4vw;
        background: url("../images/top/sp_asset_ellipse3_shadow.png") right bottom/100% no-repeat;
        position: absolute;
        top: 23.73333vw;
        left: 0;
    }
    #locations .decoration.animate::before,
    #locations .decoration.animate::after {
        opacity: 0;
        height: 0;
        transition: all 600ms ease-out;
    }
    #locations .decoration.animate.finish::before {
        opacity: 1;
        height: 26.4vw;
    }
    #locations .decoration.animate.finish::after {
        opacity: 1;
        height: 23.73333vw;
    }
    #locations .inner {
        padding: 0 6.6vw;
    }
    #locations .location_list .item {
        display: flex;
        flex-direction: column;
    }
    #locations .location_list .name {
        width: 100%;
        padding: 6vw 0;
        font-size: 4vw;
        font-weight: bold;
        line-height: 1.3;
    }
    #locations .location_list .table {
        width: 100%;
    }
    #locations .location_list .table tr {
        border-top: 1px solid #bebebe;
    }
    #locations .location_list .table tr:last-child {
        padding-bottom: 14vw;
    }
    #locations .location_list .table th {
        width: 30vw;
        max-width: 125px;
    }
    #locations .location_list .table td {
        width: 70vw;
    }
    #locations .location_list .map td {
        min-height: 34.66667vw;
    }
}


/* new partner section css 23 feb */

.partner-sec {
    margin-bottom: 160px;
}

.partner-sec h2 {
    margin-bottom: 20px;
}

.partner-sec p {
    font-size: 16px;
    letter-spacing: 0.16px;
    line-height: 1.625;
}

.partner-sec ul {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 30px;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    padding: 50px 30px;
    margin-top: 30px;
}

.partner-sec ul li {
    flex: 0 0 calc(20% - 24px);
    max-width: calc(20% - 24px);
}

.partner-sec ul li a {
    line-height: 0;
    display: flex;
    background-color: #fff;
    padding: 10px 30px;
    width: auto;
    justify-content: center;
    height: 100%;
    align-items: center;
    min-height: 120px;
    box-shadow: 5px 5px 5px 1px #00000030;
}
.partner-sec ul li a[href="javascript:void(0)"]{
    pointer-events: none;
}
.partner-sec ul li a:hover img {
    opacity: 1;
}

.partner-sec ul li a img {
    max-width: 100%;
    max-height: 50px;
}

@media (max-width:1024px) {
    .partner-sec ul li {
        flex: 0 0 calc(33.33% - 20px);
        max-width: calc(33.33% - 20px);
    }
    .partner-sec {
        margin-bottom: 100px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .partner-sec h2 {
        margin-bottom: 50px;
    }
}

@media (max-width:767px) {
    .partner-sec ul {
        gap: 16px;
    }
    .partner-sec ul li {
        flex: 0 0 calc(50% - 8px);
        max-width: calc(50% - 8px);
    }
    .partner-sec ul li a {
        padding: 5px;
        min-height: 80px;
    }
    .partner-sec {
        margin-bottom: 70px;
    }
}


/* location design */

.location-info {
    border-bottom: 1px solid #bebebe;
    padding: 10px 0;
}

.location-info>* {
    font-size: 16px;
    letter-spacing: 0.16px;
    line-height: 1.625;
}

.location-label {
    color: #5D5D5D;
}

.location-table .map {
    padding-bottom: 20px;
}

.location-info:last-child {
    border: none;
}

.location-table .map img {
    max-width: 100%;
}

.space0 {
    padding: 0 !important;
}

.table .map td {
    padding-bottom: 14px !important;
}

.table .map td iframe {
    width: 100%;
}

#locations .location_list .table tr {
    display: flex;
    flex-direction: column;
}

#locations .location_list .table tr.border0 {
    border: 0 !important;
}

ul.location_list {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 0;
   
    width: 100%;
    position: relative;
 
    padding-top: 60px;
}

ul.location_list:last-child {
    border-image: none;
}

#locations .location_list .name {
    background: transparent linear-gradient(90deg, #1691CD 0%, #5875B2 48%, #63539B 100%) 0% 0% no-repeat padding-box;
    letter-spacing: 0.14px;
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1px;
    padding: 16.5px 31px;
    width: fit-content;
    text-align: center;
}

a.location-modal {
    font-size: 1.6rem;
    font-weight: bold;
  
    display: inline-block;
    background: linear-gradient(90deg, #0093d1 0%, #5e72b2 50%, #63509c 100%);
    -webkit-background-clip: text;
    color: transparent;
}

@media screen and (min-width: 751px) {
    ul.location_list {
        gap: 50px 2%;
    }
    #locations .inner {
        padding-top: 70px;
        padding-bottom: 300px;
    }
    #locations .inner::before {
        content: '';
        width: 35.18vw;
        height: 264px;
        background: url(../images/aboutus/asset_ellipse2.png) left top no-repeat;
        position: absolute;
        bottom: 60px;
        right: 0;
    }
    #locations .inner::after {
        content: '';
        width: 35.18vw;
        height: 207px;
        background: url(../images/aboutus/asset_ellipse2_shadow.png) left bottom no-repeat;
        position: absolute;
        bottom: -147px;
        right: 0;
    }
}

@media screen and (min-width: 991px) {
    #locations .location_list .item {
        width: calc(33.33% - 2.45%);
    }
    ul.location_list {
        gap: 50px 3.6%;
    }
}