.icon-1:before {
    background-position: 0% 0
}

.icon-2:before {
    background-position: 2.04% 0
}

.icon-3:before {
    background-position: 4.08% 0
}

.icon-4:before {
    background-position: 6.12% 0
}

.icon-5:before {
    background-position: 8.16% 0
}

.icon-6:before {
    background-position: 10.2% 0
}

.icon-7:before {
    background-position: 12.24% 0
}

.icon-8:before {
    background-position: 14.29% 0
}

.icon-9:before {
    background-position: 16.33% 0
}

.icon-10:before {
    background-position: 18.37% 0
}

.icon-11:before {
    background-position: 20.41% 0
}

.icon-12:before {
    background-position: 22.45% 0
}

.icon-13:before {
    background-position: 24.49% 0
}

.icon-14:before {
    background-position: 26.53% 0
}

.icon-15:before {
    background-position: 28.57% 0
}

.icon-16:before {
    background-position: 30.61% 0
}

.icon-17:before {
    background-position: 32.65% 0
}

.icon-18:before {
    background-position: 34.69% 0
}

.icon-19:before {
    background-position: 36.73% 0
}

.icon-20:before {
    background-position: 38.78% 0
}

.icon-21:before {
    background-position: 40.82% 0
}

.icon-22:before {
    background-position: 42.86% 0
}

.icon-23:before {
    background-position: 44.9% 0
}

.icon-24:before {
    background-position: 46.94% 0
}

.icon-25:before {
    background-position: 48.98% 0
}

.icon-26:before {
    background-position: 51.02% 0
}

.icon-27:before {
    background-position: 53.06% 0
}

.icon-28:before {
    background-position: 55.1% 0
}

.icon-29:before {
    background-position: 57.14% 0
}

.icon-30:before {
    background-position: 59.18% 0
}

.icon-31:before {
    background-position: 61.22% 0
}

.icon-32:before {
    background-position: 63.27% 0
}

.icon-33:before {
    background-position: 65.31% 0
}

.icon-34:before {
    background-position: 67.35% 0
}

.icon-35:before {
    background-position: 69.39% 0
}

.icon-36:before {
    background-position: 71.43% 0
}

.icon-37:before {
    background-position: 73.47% 0
}

.icon-38:before {
    background-position: 75.51% 0
}

.icon-39:before {
    background-position: 77.55% 0
}

.icon-40:before {
    background-position: 79.59% 0
}

.icon-41:before {
    background-position: 81.63% 0
}

.icon-42:before {
    background-position: 83.67% 0
}

.icon-43:before {
    background-position: 85.71% 0
}

.icon-44:before {
    background-position: 87.76% 0
}

.icon-45:before {
    background-position: 89.8% 0
}

.icon-46:before {
    background-position: 91.84% 0
}

.icon-47:before {
    background-position: 93.88% 0
}

.icon-48:before {
    background-position: 95.92% 0
}

.icon-49:before {
    background-position: 97.96% 0
}

.icon-50:before {
    background-position: 100% 0
}

@media (min-width: 740px) {
    .about .page_header {
        padding-bottom: var(--height-banner-bottom-md)
    }
}

.about_text p {
    padding-bottom: 2em
}

@media (min-width: 980px) {
    .about_text {
        margin-top: -0.55em
    }
}

@media (min-width: 980px) {
    .about_text.col_2 {
        display: flex
    }

    .about_text.col_2>div {
        flex-shrink: 0;
        width: 46%
    }

    .about_text.col_2>div+div {
        margin-left: 8%
    }
}

@media (min-width: 1800px) {
    .about_text.col_2>div {
        width: 45%
    }

    .about_text.col_2>div+div {
        margin-left: 10%
    }
}

.about_intro {
    position: relative;
    padding-top: var(--pd-inside-xs)
}

.about_intro.v3 {
    padding-top: 0;
    z-index: 1 !important;
}

.about_intro.v3 .text_container {
    border-left: 1px solid var(--color-border)
}

@media (min-width: 980px) {
    .about_intro p {
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 7;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        padding-bottom: 0 !important;
        margin-bottom: 1.8vw
    }
}

.about_award {
    padding-top: 11.19vw;
    padding-bottom: 7.29vw;
    background-color: #fff
}

@media (min-width: 0) and (max-width: 979px) {
    .about_award {
        padding-top: var(--pd-mobile-top);
        padding-bottom: calc(var(--pd-mobile-bottom) - 30px)
    }

    .about_award .swiper-pagination {
        width: 100%;
        text-align: center;
        position: relative;
        margin-top: 20px
    }

    .about_award .fz-A {
        display: block;
        padding-bottom: 1.5em
    }
}

@media (min-width: 980px) {
    .about_award {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        position: relative
    }

    .about_award:after {
        position: absolute;
        content: "";
        display: block;
        width: 6.5vw;
        height: 50%;
        background-color: var(--color-intro-bg);
        right: 0;
        bottom: 0
    }

    .about_award .swiper-pagination {
        position: relative;
        text-align: left;
        width: 100%
    }

    .about_award .title_area {
        width: 34%
    }

    .about_award .swiper-wrap {
        width: 66%
    }
}

.about_award .swiper-slide {
    position: relative
}

.about_award .swiper-slide:after {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 60%
}

@media (min-width: 0) and (max-width: 979px) {
    .about_award .swiper-slide:after {
        padding-bottom: 80%
    }
}

.about_award .swiper-slide a {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.about_award .swiper-slide .img_container {
    position: absolute;
    width: 80%;
    height: 100%;
    left: 10%;
    top: 0%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: all .35s ease;
    width: 100%;
    left: 0
}

@media (min-width: 980px) {
    .about_award.v3 {
        padding-top: 5.2vw
    }

    .about_award.v3:after {
        height: 1px;
        width: calc(100% - var(--pd-inside-md) - var(--pd-inside-md));
        right: auto;
        bottom: 0;
        left: var(--pd-inside-md);
        border-bottom: 1px solid var(--color-border)
    }

    .about_award.v3 .swiper-pagination {
        order: 1;
        text-align: right;
        margin-bottom: 4.16vw
    }

    .about_award.v3 .title_area {
        order: 2
    }

    .about_award.v3 .swiper-wrap {
        order: 3
    }
}

.intro_container img {
    display: block;
    width: 100%;
    height: auto
}

.intro_container .text_container {
    padding: var(--pd-inside-xs);
    background-color: #f8f8f8
}

@media (min-width: 740px) and (max-width: 979px) {
    .intro_container .text_container {
        padding: var(--pd-inside-xs) var(--pd-inside-md)
    }
}

@media (min-width: 980px) {
    .intro_container .text_container {
        padding: 5vw 6% 6vw
    }
}

@media (min-width: 980px) and (max-width: 1499px) {
    .intro_container .text_container>div {
        padding-bottom: 100px
    }
}

@media (min-width: 1500px) {
    .intro_container .text_container {
        padding: 10.9vw 12% 13vw
    }
}

.intro_container .fz-A {
    display: block;
    padding-bottom: 30px
}

@media (min-width: 980px) {
    .intro_container .fz-A {
        padding-bottom: 3.33vw
    }
}

.intro_container p,
.intro_container .fz-C {
    display: block;
    padding-bottom: 20px
}

@media (min-width: 980px) {

    .intro_container p,
    .intro_container .fz-C {
        padding-bottom: 1.8vw
    }
}

.intro_container p+.fz-C {
    margin-top: 20px
}

@media (min-width: 980px) {
    .intro_container p+.fz-C {
        margin-top: 1.8vw
    }
}

.intro_container .en {
    font-size: 12px;
    display: block;
    padding-bottom: 1em;
    font-weight: bold
}

@media (min-width: 740px) {
    .intro_container .en {
        font-size: 13px
    }
}

@media (min-width: 1500px) {
    .intro_container .en {
        font-size: 14px
    }
}

@media (min-width: 980px) {
    .intro_container {
        display: flex;
        align-items: flex-end
    }

    .intro_container .img_container {
        width: 51%;
        padding-top: 5vw
    }

    .intro_container .text_container {
        width: 49%;
        background-color: var(--color-intro-bg)
    }
}

.about_history {
    background-color: var(--color-intro-bg);
    position: relative;
    padding-top: 7.8vw;
    padding-bottom: 6.25vw;
    overflow: hidden
}

@media (min-width: 0) and (max-width: 979px) {
    .about_history {
        padding-top: var(--pd-mobile-top);
        padding-bottom: calc(var(--pd-mobile-bottom) - 30px)
    }
}

@media (min-width: 980px) {

    .about_history:before,
    .about_history:after {
        content: "";
        display: block;
        position: absolute;
        z-index: 1;
        top: 50%
    }

    .about_history:before {
        content: "";
        display: inline-block;
        vertical-align: middle;
        background-image: url("../../images/new/layout/inpage_iconset.svg");
        background-size: auto 100%;
        background-position: 12.24% 0;
        width: 2vw;
        height: 2vw;
        left: calc(var(--pd-inside-lg) + 16.5%);
        transform: translateY(-50%)
    }

    .about_history:after {
        width: 70%;
        height: 1px;
        border-top: 1px solid var(--color-history-line);
        left: calc(var(--pd-inside-lg) + 16.5% + 1vw)
    }
}

@media (min-width: 0) and (max-width: 979px) {
    .about_history .swiper-pagination {
        width: 100%;
        position: relative;
        text-align: center;
        margin-top: 20px
    }
}

@media (min-width: 740px) {
    .about_history .swiper-pagination {
        display: none
    }
}

.about_history .title_area {
    padding: 10vw 0 4.6vw 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 9
}

@media (min-width: 0) and (max-width: 979px) {
    .about_history .title_area {
        padding: 5vw 0 4vw 0;
        flex-direction: row;
        align-items: center
    }
}

.about_history .deco_text {
    font-size: 15.990vw;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    line-height: .8em;
    margin-top: -0.05em;
    color: #fff;
    z-index: 1;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold
}

@media (min-width: 0) and (max-width: 979px) {
    .about_history .deco_text {
        font-size: 20vw
    }
}

.about_history .container_inside {
    position: relative;
    z-index: 5
}

@media (min-width: 980px) {
    .about_history .container_inside {
        display: flex
    }

    .about_history .container_inside .title_area {
        width: 22.3%
    }

    .about_history .container_inside .swiper-wrap {
        width: 70.9%;
        margin-left: 6.8%
    }
}

@media (min-width: 740px) {
    .about_history .swiper-container {
        overflow: visible
    }
}

.about_history .swiper-slide {
    transition: all .35s ease;
    opacity: 0
}

@media (min-width: 740px) {
    .about_history .swiper-slide {
        width: 36vw
    }
}

@media (min-width: 980px) {
    .about_history .swiper-slide {
        width: 28.1vw
    }
}

.about_history .swiper-slide.swiper-slide-next,
.about_history .swiper-slide.swiper-slide-active {
    opacity: 1
}

.about_history .swiper-slide.swiper-slide-next+.swiper-slide,
.about_history .swiper-slide.swiper-slide-active+.swiper-slide {
    opacity: 1
}

.about_history .img_container {
    position: relative;
    padding-bottom: 5.5%;
    overflow: hidden;
    display: block
}

.about_history .img_container:after {
    content: "";
    display: block;
    width: 94.2%;
    position: absolute;
    z-index: 1;
    background-color: var(--color-main);
    transition: all .35s ease;
    right: 0;
    bottom: 0;
    height: 84%
}

.about_history .img_container .year {
    position: absolute;
    right: 3%;
    bottom: 0;
    font-size: 4.792vw;
    color: #fff;
    display: block;
    line-height: .67em;
    z-index: 6;
    font-family: var(--font-family-en);
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold
}

@media (min-width: 0) and (max-width: 739px) {
    .about_history .img_container .year {
        font-size: 15vw
    }
}

@media (min-width: 740px) and (max-width: 1099px) {
    .about_history .img_container .year {
        font-size: 6vw
    }
}

.about_history .img_container .img_holder {
    width: 94.2%;
    padding-bottom: 64.3%;
    background-size: cover;
    position: relative;
    z-index: 2
}

.about_history a.img_container:hover:after {
    background-color: var(--color-main-dark)
}

.about_history .text_container .fz-D {
    display: block;
    width: 90%;
    text-align: right;
    margin-left: 10%;
    padding-top: 1.5em;
    line-height: 1.7em;
    font-weight: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    padding-right: 3%;
    font-family: var(--font-family)
}

.about_history .arrows {
    position: relative;
    display: flex
}

.about_history .arrows .swiper-button-prev,
.about_history .arrows .swiper-button-next {
    position: static
}

.about_history .arrows .swiper-button-prev {
    margin-right: 10px
}

@media (min-width: 1100px) {
    .about_history .arrows .swiper-button-prev {
        margin-right: 15px
    }
}

@media (min-width: 1800px) {
    .about_history .arrows .swiper-button-prev {
        margin-right: 18px
    }
}

@media (min-width: 980px) {
    .about_history.v3 {
        padding-top: 9.895vw
    }

    .about_history.v3:before,
    .about_history.v3:after {
        top: auto;
        bottom: 20vw
    }

    .about_history.v3:before {
        left: calc(var(--pd-inside-lg) - 100px);
        transform: translateY(47%)
    }

    .about_history.v3:after {
        width: 90%;
        left: calc(var(--pd-inside-lg) - 100px + 1vw)
    }
}

@media (min-width: 980px) {
    .about_history.v3 .container_inside {
        display: block
    }
}

@media (min-width: 980px) {
    .about_history.v3 .container_inside {
        display: block
    }

    .about_history.v3 .container_inside .title_area {
        width: 100%
    }

    .about_history.v3 .container_inside .swiper-wrap {
        width: 100%;
        margin-left: 0%
    }
}

.about_history.v3 .title_area {
    padding: 5vw 0 4vw 0;
    flex-direction: row;
    align-items: center
}

@media (min-width: 980px) {
    .about_history.v3 .title_area {
        padding-top: 0
    }
}

.about_history.v3 .swiper-slide .img_container .year {
    transition: all .6s ease;
    right: auto;
    left: 100%;
    transform: translateX(-110%);
    width:100%;
}

.about_history.v3 .swiper-slide .text_container {
    opacity: 0;
    transition: all .6s ease;
    padding-left: 12%;
    position: relative
}

.about_history.v3 .swiper-slide .text_container:after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    border-left: 1px solid #000;
    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 12%;
    left: 16.2%
}

.about_history.v3 .swiper-slide .text_container .fz-D {
    text-align: left;
    padding-top: 3em
}

.about_history.v3 .swiper-slide.swiper-slide-active .img_container .year {
    right: auto;
    left: 12%;
    transform: translateX(0)
}

.about_history.v3 .swiper-slide.swiper-slide-active .text_container {
    opacity: 1
}

.about_history.v3 .swiper-slide.swiper-slide-active .text_container .fz-D {
    text-align: left
}

.about_history.v3 .deco_text {
    font-size: 15.990vw;
    position: absolute;
    left: auto;
    top: 0;
    right: var(--pd-inside-md);
    line-height: .75em;
    overflow: visible;
    transform-origin: right bottom;
    transform: rotate(90deg) translate(55.5vw, 100%);
    z-index: 1
}

@media (min-width: 0) and (max-width: 979px) {
    .about_history.v3 .deco_text {
        right: var(--pd-inside-xs);
        font-size: 32vw;
        transform: rotate(90deg) translate(110vw, 100%)
    }
}

@media (min-width: 740px) and (max-width: 979px) {
    .about_history.v3 .deco_text {
        right: var(--pd-md);
        font-size: 20vw;
        transform: rotate(90deg) translate(68vw, 100%)
    }
}

.about_count {
    line-height: 1.125em;
    display: flex;
    padding: 0;
    justify-content: space-between;
    align-items: center;
    bottom: 0;
    z-index: 9;
    width: 100%
}

@media (min-width: 0) and (max-width: 979px) {
    .about_count {
        padding: var(--pd-inside-xs) var(--pd-inside-xs) 0;
        background-color: var(--color-intro-bg);
        margin-bottom: var(--pd-inside-xs)
    }
}

@media (min-width: 740px) and (max-width: 979px) {
    .about_count {
        padding: var(--pd-inside-xs) var(--pd-inside-md) 0
    }
}

@media (min-width: 740px) {
    .about_count {
        right: 13.33vw
    }
}

@media (min-width: 980px) {
    .about_count {
        width: 32.6vw;
        min-width: 500px;
        position: absolute;
        left: 51%;
        bottom: 0;
        transform: translateX(-50%)
    }
}

.about_count ul {
    display: block;
    width: 50%;
    padding: 15px 0;
    background-color: var(--color-count-bg1)
}

.about_count ul+ul {
    background-color: var(--color-count-bg2)
}

.about_count ul:last-of-type {
    position: relative
}

@media (min-width: 0) and (max-width: 575px) {
    .about_count ul {
        padding: 15px 10px
    }
}

@media (min-width: 740px) {
    .about_count ul {
        padding: 25px
    }
}

@media (min-width: 1500px) {
    .about_count ul {
        padding: 30px
    }
}

@media (min-width: 1800px) {
    .about_count ul {
        padding: 40px
    }
}

.about_count .icon {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 10px
}

@media (min-width: 0) and (max-width: 575px) {
    .about_count .icon {
        height: 2.25em;
        overflow: hidden
    }
}

.about_count .icon img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 28px;
    margin-right: 5px
}

@media (min-width: 576px) {
    .about_count .icon img {
        max-width: 32px;
        margin-right: 8px
    }
}

@media (min-width: 0) and (max-width: 350px) {
    .about_count .icon img {
        max-width: 22px
    }
}

.about_count .num {
    font-size: 30px;
    line-height: 1.125em;
    height: 1.125em;
    overflow: hidden;
    font-family: var(--font-family-en);
    font-weight: bold;
    color: #fff
}

.about_count .num strong {
    font-weight: bold;
    display: block;
    line-height: 1.125em;
    height: 1.125em
}

@media (min-width: 0) and (max-width: 350px) {
    .about_count .num {
        font-size: 22px
    }
}

@media (min-width: 576px) {
    .about_count .num {
        font-size: 36px
    }
}

@media (min-width: 1500px) {
    .about_count .num {
        font-size: 3vw
    }
}

@media (min-width: 1800px) {
    .about_count .num {
        font-size: 60px
    }
}

.about_count .desc {
    font-size: 11px;
    color: #fff;
    display: block;
    line-height: 1.25em
}

@media (min-width: 576px) {
    .about_count .desc {
        font-size: 14px
    }
}

@media (min-width: 0) and (max-width: 979px) {
    .about_count.v3 {
        padding: 0 var(--pd-inside-xs) 0;
        background-color: transparent;
        margin-bottom: var(--pd-inside-xs)
    }
}

@media (min-width: 980px) {
    .v3 .intro_container {
        display: flex;
        justify-content: flex-end;
        padding-left: 30vw;
        margin-top: -2vw
    }
}

.v3 .intro_container .text_container {
    background-color: transparent
}

@media (min-width: 980px) {
    .v3 .intro_container .text_container {
        padding: 0 var(--pd-inside-md) 10vw 3.64vw;
        width: 100%
    }

    .v3 .intro_container .text_container.no-count {
        padding: 0 var(--pd-inside-md) 0 3.64vw
    }

    .v3 .intro_container .text_container.no-count>div {
        padding-bottom: 30px
    }
}

@media (min-width: 1500px) {
    .v3 .intro_container .text_container {
        padding-bottom: 260px
    }

    .v3 .intro_container .text_container.no-count {
        padding-bottom: 0
    }

    .v3 .intro_container .text_container.no-count>div {
        padding-bottom: 30px
    }
}

@media (min-width: 980px) {
    .v3 .about_count {
        left: 30vw;
        bottom: 0;
        transform: translateX(-50%)
    }
}

.about_partner {
    padding-top: 9.41vw;
    padding-bottom: 5.3vw;
    position: relative
}

@media (min-width: 0) and (max-width: 979px) {
    .about_partner {
        padding-top: var(--pd-mobile-top);
        padding-bottom: var(--pd-mobile-bottom)
    }
}

@media (min-width: 740px) {
    .about_partner .title_area {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 2.65vw
    }

    .about_partner .title_area .swiper-pagination {
        position: relative
    }
}

.about_partner .swiper-slide {
    position: relative
}

.about_partner .swiper-slide:after {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 100%
}

.about_partner .swiper-slide a {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.about_partner .swiper-slide .img_container {
    position: absolute;
    width: 60%;
    height: 60%;
    left: 20%;
    top: 20%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    filter: grayscale(100%);
    transition: all .35s ease
}

@media (min-width: 0) and (max-width: 739px) {
    .about_partner .swiper-slide .img_container {
        width: 80%;
        height: 80%;
        left: 10%;
        top: 10%
    }
}

.about_partner .swiper-slide:hover .img_container {
    filter: grayscale(0%)
}

@media (min-width: 0) and (max-width: 739px) {
    .about_partner .swiper-pagination {
        position: absolute;
        bottom: 30px;
        left: 0;
        width: 100%;
        text-align: center
    }
}

.about_gallery .img_container {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    display: block
}

.about_gallery .img_container:after {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: var(--ratio-about-gallery)
}

.about_gallery a.img_container {
    position: relative;
    cursor: pointer
}

.about_gallery a.img_container:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    transition: all .35s ease
}

.about_gallery a.img_container:hover:after {
    background-color: rgba(0, 0, 0, 0.2)
}

.about_gallery .swiper-button-prev {
    left: 33.33%;
    top: 50%;
    transform: translate(-50%, -50%)
}

@media (min-width: 0) and (max-width: 739px) {
    .about_gallery .swiper-button-prev {
        left: var(--pd-inside-xs)
    }
}

.about_gallery .swiper-button-next {
    right: 33.33%;
    top: 50%;
    transform: translate(50%, -50%)
}

@media (min-width: 0) and (max-width: 739px) {
    .about_gallery .swiper-button-next {
        right: var(--pd-inside-xs)
    }
}

.about_gallery.v3 .swiper-button-prev {
    left: var(--pd-md)
}

@media (min-width: 980px) {
    .about_gallery.v3 .swiper-button-prev {
        left: var(--pd-lg);
        transform: translate(0, -50%)
    }
}

.about_gallery.v3 .swiper-button-next {
    right: var(--pd-md)
}

@media (min-width: 980px) {
    .about_gallery.v3 .swiper-button-next {
        right: var(--pd-lg);
        transform: translate(0, -50%)
    }
}