﻿@media (min-width: 768px) {
    .about .mainvisual__inner::after {
        height:11vw
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .mainvisual__inner::after {
        height:8vw
    }
}

@media (min-width: 768px) {
    .about .c-title__jp {
        margin-top:7px
    }
}

@media (min-width: 768px) {
    .about .about-goal {
        margin:79px auto 0
    }
}

@media (max-width: 767px) {
    .about .about-goal {
        margin:53px auto 0
    }
}

.about .about-goal__ttl {
    color: #C01431;
    position: relative;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: .05em;
    font-weight: 700
}

@media (max-width: 767px) {
    .about .about-goal__ttl {
        font-size:16px;
        font-size: 1.6rem;
        line-height: 1.44444
    }
}

@media only screen and (max-width: 374px) {
    .about .about-goal__ttl {
        font-size:14px;
        font-size: 1.4rem;
        line-height: 1.57143
    }
}

.about .about-goal__ttl::after {
    content: "";
    position: absolute;
    top: 16px;
    left: 0;
    width: 80px;
    height: 1px;
    background: #C01431
}

@media (max-width: 767px) {
    .about .about-goal__ttl::after {
        top:10px;
        left: 44px;
        width: 40px
    }
}

.about .about-goal__ttl span {
    background: #fff;
    position: relative;
    padding: 0 10px 0 0;
    z-index: 1
}

.about .about-goal__heading {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.71429;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .about .about-goal__heading {
        margin-top:12px
    }
}

@media (max-width: 767px) {
    .about .about-goal__heading {
        font-size:20px;
        font-size: 2rem;
        line-height: 1.5
    }
}

@media only screen and (max-width: 374px) {
    .about .about-goal__heading {
        font-size:18px;
        font-size: 1.8rem
    }
}

.about .about-goal__txt {
    width: 50%;
    margin: 11px 0 0 auto;
    padding: 0 0 0 40px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    font-weight: 500
}

@media (max-width: 767px) {
    .about .about-goal__txt {
        width:100%;
        padding: 0;
        margin: 19px 0 0 auto;
        line-height: 28px
    }
}

.about .about-goal__info {
    width: 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start
}

@media (min-width: 768px) {
    .about .about-goal__info img {
        margin-top:18px;
        height: 76px
    }
}

@media (max-width: 767px) {
    .about .about-goal__info {
        width:100%
    }
}

@media (min-width: 768px) {
    .about .about-goal__cont {
        padding:10px 20px;
        width: calc(100% - 80px)
    }
}

@media (max-width: 767px) {
    .about .about-goal__cont {
        padding:0 0 0 8px
    }
}

@media (min-width: 768px) {
    .about .about-goal__inner {
        margin:54px auto 50px
    }
}

@media (max-width: 767px) {
    .about .about-goal__inner {
        margin:40px auto 33px
    }
}

.about .about-goal__item {
    width: 100%;
    margin: 0 auto;
    border-bottom: 1px solid #bbc8ce;
    padding: 42px 0 50px
}

@media (min-width: 768px) {
    .about .about-goal__item {
        display:-webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-align-items: space-between;
        -moz-align-items: space-between;
        -ms-align-items: space-between;
        align-items: space-between;
        max-width: calc(100% - 120px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-goal__item {
        max-width:100%
    }
}

@media (max-width: 767px) {
    .about .about-goal__item {
        padding:38px 0 32px
    }

    .about .about-goal__item img {
        width: 40px;
        margin-top: 4px
    }
}

@media only screen and (max-width: 374px) {
    .about .about-goal__item img {
        width:30px
    }
}

.about .about-goal__item:first-child {
    padding-top: 0
}

@media (min-width: 768px) {
    .about .about-goal__item:first-child .about-goal__ttl::after {
        left:47px
    }
}

@media (min-width: 768px) {
    .about .about-goal__item:nth-child(2) .about-goal__ttl::after {
        left:85px
    }
}

@media (max-width: 767px) {
    .about .about-goal__item:nth-child(2) .about-goal__ttl::after {
        left:75px
    }
}

.about .about-goal__item:last-child {
    border: none;
    padding-bottom: 0
}

.about .about-goal__block {
    background: #e7f4f8;
    border-radius: 10px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

@media (min-width: 768px) {
    .about .about-goal__block {
        padding:47px 20px 45px 80px
    }
}

@media (max-width: 767px) {
    .about .about-goal__block {
        padding:31px 29px 29px
    }
}

.about .about-goal__label {
    color: #C01431;
    position: relative;
    padding-right: 90px;
    margin-right: 88px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 36px;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-goal__label {
        padding-right:70px;
        margin-right: 70px
    }
}

@media (max-width: 767px) {
    .about .about-goal__label {
        font-size:16px;
        font-size: 1.6rem
    }
}

@media only screen and (max-width: 374px) {
    .about .about-goal__label {
        font-size:15px;
        font-size: 1.5rem;
        padding-right: 50px;
        margin-right: 50px
    }
}

.about .about-goal__label::after {
    content: "";
    position: absolute;
    top: 15px;
    left: 85px;
    width: 80px;
    height: 1px;
    background: #C01431
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-goal__label::after {
        width:40px
    }
}

@media (max-width: 767px) {
    .about .about-goal__label::after {
        top:18px;
        left: 76px;
        width: 40px
    }
}

@media (max-width: 767px) {
    .about .about-goal__span {
        margin-top:10px
    }
}

.about .about-goal__span span {
    display: inline-block;
    margin: 0 35px 0 0;
    font-size: 20px;
    font-size: 2rem;
    line-height: 2.4;
    letter-spacing: .05em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-goal__span span {
        font-size:18px;
        font-size: 1.8rem;
        line-height: 2.5;
        margin-right: 12px
    }
}

@media (max-width: 767px) {
    .about .about-goal__span span {
        font-size:18px;
        font-size: 1.8rem;
        line-height: 2.11111
    }
}

@media only screen and (max-width: 374px) {
    .about .about-goal__span span {
        font-size:15px;
        font-size: 1.5rem
    }
}

.about .about-goal__span span:last-child {
    margin: 0
}

.about .about-goal__span span:last-child {
    margin-right: 0
}

@media (min-width: 768px) {
    .about .about-message {
        margin:150px auto 0
    }
}

@media (max-width: 767px) {
    .about .about-message {
        margin:83px auto 0
    }

    .about .about-message .c-title {
        display: block
    }
}

@media (min-width: 768px) {
    .about .about-message__inner {
        display:-webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-align-items: flex-start;
        -moz-align-items: flex-start;
        -ms-align-items: flex-start;
        align-items: flex-start
    }
}

.about .about-message__ttl {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.55556;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .about .about-message__ttl {
        margin:75px 0 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-message__ttl {
        margin-top:40px;
        font-size: 26px;
        font-size: 2.6rem
    }
}

@media (max-width: 767px) {
    .about .about-message__ttl {
        font-size:22px;
        font-size: 2.2rem;
        line-height: 1.63636
    }
}

@media only screen and (max-width: 374px) {
    .about .about-message__ttl {
        font-size:20px;
        font-size: 2rem
    }
}

@media (min-width: 768px) {
    .about .about-message__cont {
        width:calc(100% - 50.7144%)
    }
}

.about .about-message__img {
    position: relative;
    border-radius: 10px;
    overflow: hidden
}

@media (min-width: 768px) {
    .about .about-message__img {
        width:50.7144%;
        right: -41px;
        top: -11px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1279px) {
    .about .about-message__img {
        right:0
    }
}

@media (max-width: 767px) {
    .about .about-message__img {
        margin:41px auto 34px;
        overflow: hidden
    }
}

.about .about-message__txt {
    max-width: 1000px;
    width: 100%;
    margin: 54px auto 0;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    font-weight: 500
}

@media (min-width: 768px) {
    .about .about-message__txt p {
        margin-bottom:32px
    }
}

@media (max-width: 767px) {
    .about .about-message__txt p {
        margin-bottom:17px
    }
}

.about .about-message__txt p:last-child {
    margin-bottom: 0
}

@media (max-width: 767px) {
    .about .about-message__txt {
        margin:27px auto 0;
        line-height: 28px
    }
}

.about .about-message__sign {
    max-width: 1000px;
    width: 100%;
    text-align: right;
    margin: 26px auto 0
}

@media (max-width: 767px) {
    .about .about-message__sign {
        margin-top:14px
    }
}

.about .about-message__sign span {
    display: block;
    letter-spacing: 0.05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .about .about-message__sign span:first-child {
        font-size:18px;
        font-size: 1.8rem;
        line-height: 1.77778
    }
}

@media (max-width: 767px) {
    .about .about-message__sign span:first-child {
        font-size:14px;
        font-size: 1.4rem;
        line-height: 2.28571
    }
}

@media (min-width: 768px) {
    .about .about-message__sign span:nth-child(2) {
        font-size:20px;
        font-size: 2rem;
        line-height: 1.6
    }
}

@media (max-width: 767px) {
    .about .about-message__sign span:nth-child(2) {
        font-size:18px;
        font-size: 1.8rem;
        line-height: 1
    }
}

.about .about-effort {
    background: #e7f4f8;
    padding: 0 0 101px
}

@media (min-width: 768px) {
    .about .about-effort {
        margin:146px auto 0
    }
}

@media (max-width: 767px) {
    .about .about-effort {
        margin:108px auto 0;
        padding-bottom: 70px
    }
}

.about .about-effort .c-title {
    position: relative
}

@media (min-width: 768px) {
    .about .about-effort .c-title {
        top:-35px;
        left: 11px
    }

    .about .about-effort .c-title__jp {
        margin-top: 8px;
        position: relative;
        right: 10px
    }
}

@media (max-width: 767px) {
    .about .about-effort .c-title {
        top:-24px;
        left: 0;
        flex-wrap: wrap
    }

    .about .about-effort .c-title__en,.about .about-effort .c-title__jp {
        line-height: 1;
        margin: 0;
        width: 100%;
        text-align: center
    }

    .about .about-effort .c-title__jp {
        margin-top: 11px
    }
}

.about .about-effort__ttl {
    color: #C01431;
    margin-top: 35px;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: .05em;
    font-weight: 700
}

@media (min-width: 768px) {
    .about .about-effort__ttl {
        min-height:72px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1055px) {
    .about .about-effort__ttl {
        font-size:20px;
        font-size: 2rem;
        line-height: 1.5;
        margin-top: 25px
    }
}

@media (max-width: 767px) {
    .about .about-effort__ttl {
        color:#C01431;
        margin-top: 25px;
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.6;
        letter-spacing: .05em
    }
}

.about .about-effort__txt {
    margin-top: 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.13333;
    letter-spacing: .05em;
    font-weight: 500
}

@media (min-width: 768px) {
    .about .about-effort__txt {
        min-height:127px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1055px) {
    .about .about-effort__txt {
        font-size:14px;
        font-size: 1.4rem;
        line-height: 2
    }
}

@media (max-width: 767px) {
    .about .about-effort__txt {
        font-size:15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        letter-spacing: .05em
    }
}

.about .about-effort__link {
    border: 1px solid #C01431;
    margin: 20px auto 0;
    padding: 0;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    padding-right: 45px;
    padding-left: 30px
}

@media (hover: hover), screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .about .about-effort__link:hover {
        border-color:#47accb;
        color: #C01431;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        -ms-justify-content: center;
        justify-content: center
    }
}

@media (max-width: 767px) {
    .about .about-effort__link {
        padding:0 20px;
        width: 265px;
        margin: 17px auto 0 0;
        letter-spacing: 0;
        background-size: 18px 16px;
        background-position: center right 13px;
        letter-spacing: 0.03em
    }
}

.about .about-effort__link span {
    padding: 0;
    overflow: visible
}

.about .about-effort__link .c-btn__txt {
    display: inline-flex
}

.about .about-effort__link .c-btn__inn {
    height: auto;
    width: auto
}

.about .about-effort__link .c-btn__inn::after {
    display: none
}

.about .about-effort__img {
    border-radius: 10px;
    overflow: hidden
}

@media (max-width: 767px) {
    .about .about-effort__img {
        height:100px;
        width: 100%;
        padding: 24px;
        background: #fff
    }

    .about .about-effort__img img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }
}

.about .about-effort__list {
    margin: 37px auto 0;
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media (min-width: 768px) {
    .about .about-effort__list {
        overflow:hidden;
        justify-content: space-between
    }
}

@media (max-width: 767px) {
    .about .about-effort__list {
        display:block;
        margin-top: 25px;
        padding: 0
    }
}

@media (min-width: 768px) {
    .about .about-effort__item {
        max-width:calc(100% / 3 - 10px);
        padding: 0 20px 1px;
        overflow: hidden
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-effort__item .c-btn {
        width:100%;
        min-width: auto;
        font-size: 11px
    }
}

@media (max-width: 767px) {
    .about .about-effort__item {
        max-width:100%;
        margin-bottom: 50px;
        overflow: hidden
    }

    .about .about-effort__item:last-child {
        margin-bottom: 0
    }
}

@media (max-width: 767px) {
    .about .about-effort__item:nth-child(2) .about-effort__img {
        height:100%;
        padding: 0
    }
}

.about .about-effort__item:nth-child(3) {
    margin-right: 0
}

@media (max-width: 767px) {
    .about .about-effort__item:nth-child(3) .about-effort__img {
        padding:10px
    }
}

@media (max-width: 767px) {
    .about .about-effort__item:nth-child(3) a .ico_effort {
        right:18px
    }
}

@media (min-width: 768px) {
    .about .about-history {
        margin:98px auto 0
    }

    .about .about-history .c-title {
        flex-wrap: nowrap;
        max-width: 465px
    }

    .about .about-history .c-title__jp {
        white-space: nowrap;
        margin-top: 11px
    }
}

@media (max-width: 767px) {
    .about .about-history {
        margin:54px auto 0
    }

    .about .about-history .c-title {
        max-width: 200px
    }

    .about .about-history .c-title__en,.about .about-history .c-title__jp {
        white-space: nowrap
    }

    .about .about-history .c-title__jp {
        margin-top: 2px
    }
}

.about .about-history__inner {
    max-width: 1000px;
    width: 100%;
    margin: 52px auto 0
}

@media (max-width: 767px) {
    .about .about-history__inner {
        margin-top:94px;
        padding-left: 4px
    }
}

@media (min-width: 768px) {
    .about .about-history__inner table tr:first-child th {
        top:2px
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table tr:first-child th svg {
        top:-56px
    }
}

.about .about-history__inner table tr:first-child td {
    padding: 32px 0 0
}

@media (min-width: 768px) {
    .about .about-history__inner table tr:first-child td p:first-child::after {
        content:"";
        position: absolute;
        top: -35px;
        left: -21px;
        height: 48px;
        width: 4px;
        background: #fff
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table tr:first-child td {
        padding-top:0
    }

    .about .about-history__inner table tr:first-child td p:first-child::after {
        content: "";
        position: absolute;
        top: 0;
        left: -13px;
        height: 2px;
        width: 1px;
        background: #fff
    }

    .about .about-history__inner table tr:first-child td span {
        top: -7px
    }
}

@media (min-width: 768px) {
    .about .about-history__inner table tr:last-child td {
        padding:29px 0 45px
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table tr:last-child td {
        padding:63px 0 28px
    }

    .about .about-history__inner table tr:last-child td p:last-child {
        padding-bottom: 21px
    }
}

.about .about-history__inner table tr:last-child td::before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 25px;
    height: 16px;
    background: url(../image/ico_arrow_down_light.svg) no-repeat;
    background-size: 25px 16px;
    left: -13px
}

@media (max-width: 767px) {
    .about .about-history__inner table tr:last-child td::before {
        background-size:15px 10px;
        left: -8px;
        bottom: -6px
    }
}

.about .about-history__inner table th {
    position: relative;
    width: 121px;
/*    font-family: "Lato", sans-serif;*/
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.5;
    font-weight: 900
}

.about .about-history__inner table th svg {
    position: absolute;
    top: -2px;
    left: 0;
    font: bold 150px;
    width: 120px;
    height: 120px
}

@media (max-width: 767px) {
    .about .about-history__inner table th svg {
        top:13px;
        left: 21px;
        height: 55px;
        font: bold 110px Lato
    }
}

.about .about-history__inner table th text {
    fill: none;
    stroke: #C01431;
    stroke-width: 3px;
    stroke-linejoin: round
}

.about .about-history__inner table td {
    padding: 26px 0 0;
    position: relative;
    width: calc(100% - 121px);
    border-left: 1px solid #C01431
}

@media (max-width: 767px) {
    .about .about-history__inner table td {
        padding-top:69px
    }
}

.about .about-history__inner table td p {
    position: relative;
    display: block;
    margin: 0 0 6px 18px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 500
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-history__inner table td p {
        font-size:14px;
        font-size: 1.4rem
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table td p {
        display:flex;
        align-items: flex-start;
        margin: 0 0 9px 12px;
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.46667
    }
}

.about .about-history__inner table td p:last-child {
    padding-bottom: 28px;
    margin-bottom: 0
}

@media (max-width: 767px) {
    .about .about-history__inner table td p:last-child {
        padding-bottom:15px
    }
}

.about .about-history__inner table td p:last-child::after {
    content: "";
    position: absolute;
    bottom: 0;
    background: #bbc8ce;
    width: calc(100% - 12px);
    height: 1px
}

@media (min-width: 768px) {
    .about .about-history__inner table td p:last-child::after {
        left:12px
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table td p:last-child::after {
        left:0;
        width: 100%
    }
}

.about .about-history__inner table td p::before {
    content: "";
    position: absolute;
    top: 13px;
    left: -26px;
    width: 15px;
    height: 15px;
    background: #fff;
    border: 1px solid #C01431;
    border-radius: 50%
}

@media (max-width: 767px) {
    .about .about-history__inner table td p::before {
        top:2px;
        left: -17px;
        width: 9px;
        height: 9px;
        z-index: 2
    }
}

.about .about-history__inner table td span:first-child {
    color: #C01431;
    margin: 0 16px 0 0;
    position: relative;
    top: 4px;
    width: 75px;
    text-align: right;
    display: inline-block;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .2em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-history__inner table td span:first-child {
        font-size:18px;
        font-size: 1.8rem;
        width: 65px
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table td span:first-child {
        margin-right:12px;
        display: block;
        width: 56px;
        left: -4px;
        top: -6px;
        margin: 0;
        font-size: 16px;
        font-size: 1.6rem
    }
}

.about .about-history__inner table td span:nth-child(2) {
    width: calc(100% - 56px)
}

@media only screen and (max-width: 374px) {
    .about .about-history__inner table td span:nth-child(2) {
        font-size:14px;
        font-size: 1.4rem
    }
}

.about .about-history__inner table td i {
    color: #C01431;
    font-style: normal;
    position: relative;
    top: 1px;
    padding-right: 3px;
/*    font-family: "Lato", sans-serif;*/
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 700
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-history__inner table td i {
        font-size:30px;
        font-size: 3rem
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table td i {
        font-size:26px;
        font-size: 2.6rem
    }
}

@media (max-width: 767px) {
    .about .about-history__inner table tr,.about .about-history__inner table th,.about .about-history__inner table td {
        display:block;
        width: 100%
    }
}

@media (min-width: 768px) {
    .about .about-outline {
        margin:119px auto 0
    }

    .about .about-outline .c-table__link img {
        top: 49%;
        left: 9px
    }

    .about .about-outline .c-table td {
        padding-bottom: 25px
    }
}

@media (hover: hover), screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .about .about-outline .c-btn:hover {
        padding-top:1px
    }
}

@media (max-width: 767px) {
    .about .about-outline {
        margin: 65px auto;
    }

    .about .about-outline .c-btn {
        padding: 0;
        width: 115px;
        display: block;
        padding-left: 13px
    }

    .about .about-outline .c-btn__link {
        line-height: 1
    }

    .about .about-outline .c-btn__span {
        position: relative
    }

    .about .about-outline .c-btn__span::before {
        display: none
    }

    .about .about-outline .c-btn__inner {
        transform: none
    }
}

.about .about-outline .c-btn {
}

.about .about-banner {
    margin: 81px auto 0
}

@media (max-width: 767px) {
    .about .about-banner {
        margin-top:60px
    }
}

.about .about-banner__list {
    z-index: 9
}

@media (min-width: 768px) {
    .about .about-banner__list {
        position:absolute;
        top: 50%;
        right: 5.3%;
        transform: translateY(-50%)
    }
}

@media (max-width: 767px) {
    .about .about-banner__list {
        position:relative;
        padding: 0 0 0 25px
    }
}

.about .about-banner__list li {
    width: 430px;
    margin-bottom: 20px
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-banner__list li {
        width:320px
    }
}

@media (max-width: 767px) {
    .about .about-banner__list li {
        width:265px;
        margin-bottom: 9px
    }
}

.about .about-banner__list li:last-child {
    margin-bottom: 0
}

.about .about-banner__list li a {
    color: #1f2224;
    border-radius: 40px;
    padding: 22px 41px 18px;
    width: 100%;
    background: #fff url(../image/ico_blank.svg) no-repeat;
    background-size: 16px 16px;
    background-position: center right 28px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571;
    font-weight: 700;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center
}

@media (min-width: 768px) {
    .about .about-banner__list li a {
        min-height:80px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-banner__list li a {
        padding:12px 12px;
        min-height: 70px
    }
}

@media (max-width: 767px) {
    .about .about-banner__list li a {
        font-size:10px;
        font-size: 1rem;
        line-height: 1.4;
        min-height: 58px;
        padding: 16px 20px;
        background-size: 11px 11px;
        background-position: center right 20px
    }
}

@media (min-width: 768px) {
    .about .about-banner__list li a img {
        margin-right:14px;
        position: relative;
        top: -4px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-banner__list li a img {
        width:100px
    }
}

@media (max-width: 767px) {
    .about .about-banner__list li a img {
        width:77px;
        margin-right: 12px
    }
}

.about .about-banner .c-banner::before {
    display: none
}

.about .about-banner .c-banner::after {
    border-radius: 0;
    max-width: 100%
}

@media (max-width: 767px) {
    .about .about-banner .c-banner::after {
        border-radius:0
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner {
        max-width:100%
    }
}

@media (min-width: 768px) {
    .about .about-banner .c-banner__inner {
        padding:0 10px;
        position: relative;
        top: 50%;
        left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .about .about-banner .c-banner__inner {
        left:2.5%
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__inner {
        padding:37px 25px 15px
    }
}

@media (min-width: 768px) {
    .about .about-banner .c-banner__img {
        position:relative;
        top: calc(50% + 12px);
        left: 6%;
        transform: translateY(-50%);
        max-width: 416px;
        position: absolute
    }

    .about .about-banner .c-banner__img:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 30.04808%
    }

    .about .about-banner .c-banner__img>.content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .about .about-banner .c-banner__img {
        left:2%;
        max-width: 350px
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__img {
        position:relative;
        top: 96px;
        right: -46px;
        left: auto;
        max-width: 178px;
        margin: 0 0 0 auto;
        position: absolute;
        transform: rotate(90deg)
    }

    .about .about-banner .c-banner__img:before {
        display: block;
        content: " ";
        width: 100%;
        padding-top: 30.28571%
    }

    .about .about-banner .c-banner__img>.content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
}

@media (min-width: 768px) {
    .about .about-banner .c-banner__txt {
        max-width:195px
    }

    .about .about-banner .c-banner__txt::after {
        top: 50%;
        right: -6px;
        width: 80px
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__txt {
        margin-bottom:0
    }
}

@media (min-width: 768px) {
    .about .about-banner .c-banner__link {
        border-radius:0;
        max-width: 100%;
        margin: 0 auto;
        height: 280px
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__link {
        height:246px;
        max-width: 100%;
        padding: 0;
        margin: 0;
        border-radius: 0
    }
}

@media (min-width: 768px) {
    .about .about-banner .c-banner__box::before,.about .about-banner .c-banner__box::after {
        background:url(../image/group_top.svg) no-repeat;
        background-position: center left;
        background-size: 416px 219px;
        left: 64px;
        top: 8px
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__box::before,.about .about-banner .c-banner__box::after {
        background:url(../image/group_top_sp.svg) no-repeat;
        background-position: center left;
        background-size: 56px 180px;
        opacity: 1
    }
}

.about .about-banner .c-banner__box::before {
    opacity: 0.2
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__box::before {
        opacity:1;
        left: auto;
        right: 15px;
        background-size: 55px 188px;
        width: 55px;
        top: 0px
    }
}

@media (max-width: 767px) {
    .about .about-banner .c-banner__box {
        padding:0
    }

    .about .about-banner .c-banner__box::after {
        opacity: 0
    }
}

@media (hover: hover), screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .about .about-banner .c-banner:hover .c-banner__inner {
        opacity:1
    }

    .about .about-banner .c-banner:hover .c-banner__box::before {
        opacity: 0.2
    }

    .about .about-banner .c-banner:hover .c-banner__box::after {
        opacity: 0
    }
}

@media (min-width: 768px) {
    .about .about-client {
        margin:0 auto;
        padding: 150px 25px 70px
    }
}

@media (max-width: 767px) {
    .about .about-client {
        margin:0 auto;
        padding: 75px 25px 45px
    }
}

.about .about-client .c-title--block {
    text-align: center;
    max-width: 205px;
    position: relative;
    top: -33px;
    left: 0;
    background: #fff;
    padding: 0 8px
}

@media (max-width: 767px) {
    .about .about-client .c-title--block {
        max-width:140px;
        top: -23px
    }
}

.about .about-client .c-title__en {
    margin: 0
}

@media (max-width: 767px) {
    .about .about-client .c-title__en,.about .about-client .c-title__jp {
        width:100%;
        display: block;
        line-height: 1
    }
}

@media (max-width: 767px) {
    .about .about-client .c-title__jp {
        margin-top:12px
    }
}

.about .about-client__inner {
    width: 100%;
    margin: 0 auto;
    border: 1px solid #bbc8ce;
    border-radius: 10px;
    padding: 0 0 58px
}

@media (min-width: 768px) {
    .about .about-client__inner {
        max-width:calc(100% - 120px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .about .about-client__inner {
        max-width:100%
    }
}

@media (max-width: 767px) {
    .about .about-client__inner {
        padding-bottom:28px
    }
}

.about .about-client__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
    padding: 21px 0 0;
    max-width: 800px;
    width: 100%;
    margin: 0 auto
}

@media only screen and (min-width: 905px) and (max-width: 1024px) {
    .about .about-client__list {
        padding:20px 65px
    }
}

@media only screen and (min-width: 768px) and (max-width: 905px) {
    .about .about-client__list {
        padding:20px 28px
    }
}

@media (max-width: 767px) {
    .about .about-client__list {
        padding:4px 29px 0 31px
    }
}

@media (max-width: 767px) {
    .about .about-client__list ul:first-child {
        margin-bottom:5px
    }
}

.about .about-client__list li {
    position: relative;
    padding-left: 20px;
    margin: 0 0 11px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .05em;
    font-weight: 500
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .about .about-client__list li {
        font-size:13px;
        font-size: 1.3rem
    }
}

@media (max-width: 767px) {
    .about .about-client__list li {
        line-height:1.33333;
        margin-bottom: 6px
    }
}

.about .about-client__list li:last-child {
    margin-bottom: 0
}

.about .about-client__list li::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 10px;
    height: 1px;
    background: #C01431
}

@media (max-width: 767px) {
    .about .about-client__list li::before {
        top:8px;
        left: -2px;
        width: 12px
    }
}

.about .about-client__txt {
    width: 100%;
    width: 100%;
    margin: 14px auto 0;
    text-align: right;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2.16667;
    letter-spacing: .05em;
    font-weight: 500
}

@media (min-width: 768px) {
    .about .about-client__txt {
        max-width:calc(100% - 120px)
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .about .about-client__txt {
        max-width:100%
    }
}