@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap");


.js-fadeUp {
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
    opacity: 0;
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease .1s;
    transition: opacity .3s ease, -webkit-transform .3s ease .1s;
    transition: transform .3s ease .1s, opacity .3s ease;
    transition: transform .3s ease .1s, opacity .3s ease, -webkit-transform .3s ease .1s
}

.js-fadeUp.is-fade {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
}

.js-fadeSide {
    width: 0!important;
    opacity: 0;
    -webkit-transition: width .6s ease, opacity .3s ease;
    transition: width .6s ease, opacity .3s ease
}

.js-fadeSide.is-fade {
    width: 86%!important;
    opacity: 1
}

.l-header {
    width: 100%
}

.l-header_inner {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9997;
    width: 100%;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease
}

.l-header_inner.is-scrolled {
    background-color: #fff;
    -webkit-box-shadow: 0 5px 9px hsla(0, 0%, 50.2%, .14);
    box-shadow: 0 5px 9px hsla(0, 0%, 50.2%, .14)
}

.l-header_inner.is-scrolled .l-header_logo svg .cls-1 {
    stroke: #132b88
}

.l-header_inner.is-scrolled .l-header_logo svg .cls-4 {
    fill: #132b88
}

.l-header_logo {
    width: 23%;
    max-width: 385px;
    min-width: 224px
}

.l-header_logo svg .cls-1 {
    stroke: #fff
}

.l-header_logo svg .cls-4 {
    fill: #fff
}

.l-header_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.l-header_nav.is-open {
    z-index: 9998;
    opacity: 1;
    pointer-events: auto;
    width: 100vw;
    height: 100vh;
    background-color: #fff
}

.l-headerHamburger_list--btm,
.l-headerHamburger_list--mid,
.l-headerHamburger_list--top {
    position: absolute;
    left: 0;
    height: 2px;
    background-color: #fff;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: background-color .3s ease, width .3s ease, top .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, width .3s ease, top .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    transition: background-color .3s ease, width .3s ease, top .3s ease, transform .3s ease, opacity .3s ease;
    transition: background-color .3s ease, width .3s ease, top .3s ease, transform .3s ease, opacity .3s ease, -webkit-transform .3s ease
}

.l-headerHamburger.is-open .l-headerHamburger_list--top {
    top: 50%;
    background-color: #222;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 100%
}

.l-headerHamburger.is-open .l-headerHamburger_list--mid {
    opacity: 0
}

.l-headerHamburger.is-open .l-headerHamburger_list--btm {
    top: 50%;
    background-color: #222;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 100%
}

.l-headerHamburger_list--top {
    top: 0;
    width: 100%
}

.l-headerHamburger_list--mid {
    top: 50%;
    width: 100%
}

.l-headerHamburger_list--btm {
    top: 100%;
    width: 100%
}

.l-headerNav_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.l-headerNav_list {
    margin-left: 50px;
    letter-spacing: 2px
}

.l-headerNav_list.is-view {
    opacity: 1
}

.l-headerNav_link {
    position: relative;
    color: #fff;
    padding: 4px 0
}

.l-headerNav_link--phone {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #fff
}

.l-headerNav_ico--phone {
    margin-right: 8px;
    -webkit-transform: rotate(100deg);
    transform: rotate(100deg)
}

footer {
    background-color: #fff
}

.l-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px 60px
}

.l-footer_box {
    width: 50%
}

.l-footer_logo {
    width: 225px
}

.l-footer_info {
    font-size: 12px;
    line-height: 1.7
}

.l-footer_nav {
    width: auto
}

.l-footerNav {
    width: 100%
}

.l-footerNav_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.l-footerNav_list {
    letter-spacing: 2px
}

.l-footerNav_link {
    display: block;
    position: relative;
    color: #222;
    padding: 4px 0
}

.l-section--concept {
    background-color: #fff;
    margin-top: 72vh;
    padding-bottom: 12%
}

.l-section--service {
    background-color: #ededed;
    padding: 9.5% 0
}

.l-section--other {
    background-color: #ededed;
    padding: 7% 0 9.5%
}

.l-section--history {
    position: relative;
    background-color: #fff;
    width: 100%;
    padding-bottom: 100px
}

.l-section--contact {
    width: 100%;
    padding: 9.5% 0;
    background: url(../img/bg_contact.jpg) no-repeat top;
    background-size: cover
}

.l-wrap {
    position: relative;
    max-width: 1400px;
    margin: 0 auto
}

.kv {
    position: fixed;
    z-index: -1;
    height: 72vh;
    overflow: hidden;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

.kv,
.kv_mask {
    top: 0;
    left: 0;
    width: 100%
}

.kv_mask {
    position: absolute;
    z-index: 9996;
    height: 100%;
    background-image: linear-gradient(-45deg, #132b88, #0c59a2);
    opacity: .502
}

.kv_movie {
    width: auto;
    height: auto;
    max-width: 200%
}

.kv_text {
    position: absolute;
    top: 60%;
    left: 50%;
    z-index: 9996;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center;
    width: 100%;
    letter-spacing: 12px
}

.scroll {
    position: fixed!important;
    top: 72vh;
    right: 0;
    left: 0;
    z-index: 9996;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100px;
    height: 80px;
    margin: -38px auto 0;
    -webkit-transition: opacity .1s ease;
    transition: opacity .1s ease
}

.scroll.is-hide {
    opacity: 0;
    z-index: -9999
}

.scroll_bar {
    position: relative;
    z-index: 9996;
    width: 1px;
    height: 100%;
    background-color: #222
}

.scroll_bar:after {
    content: "";
    display: block;
    position: absolute;
    left: -4px;
    z-index: 9;
    width: 9px;
    height: 7px;
    background: url(../img/ico_rect.png) no-repeat 50%;
    background-size: contain;
    -webkit-animation: iconScroll 1.3s ease-in-out infinite;
    animation: iconScroll 1.3s ease-in-out infinite
}

@-webkit-keyframes iconScroll {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        top: 0
    }
    1% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    22% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        top: 100%;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    to {
        -webkit-transform: scale(0);
        transform: scale(0);
        top: 98%
    }
}

@keyframes iconScroll {
    0% {
        -webkit-transform: scale(0);
        transform: scale(0);
        top: 0
    }
    1% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    22% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    60% {
        top: 100%;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    to {
        -webkit-transform: scale(0);
        transform: scale(0);
        top: 98%
    }
}

.text--lead {
    text-align: center;
    padding: 6% 0 7%;
    line-height: 1.875
}

.text--cont,
.text--cont--black {
    line-height: 2.28
}

.text--cont {
    color: #fff
}

.text--cont--black,
.text--service {
    color: #222
}

.text--num {
    color: #00c8b4;
/*    color: #132b88;*/
    margin-bottom: 4%
}

.text--list {
    margin-bottom: 9%
}

.text--rect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.text--rect:before {
    content: "";
    width: .5vw;
    height: 7px;
    margin-right: 12px;
    background: url(../img/ico_rect_blue.png) no-repeat 50%;
    background-size: contain
}

.text--rect+.text--rect {
    margin-top: 2.5%
}

.text_caption {
    padding-top: 8px;
    line-height: 1.4
}

.text--info {
    color: #fff;
    line-height: 1.6
}

.text--privacy {
    line-height: 1.5
}

.text--contact {
    color: #fff
}

.text_indent {
    padding-left: 1em;
    text-indent: -1em;
    display: block
}

.title_line--center,
.title_line--center--white,
.title_line--history,
.title_line--left,
.title_line--left--black,
.title_line--other {
    position: relative;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 5px
}

.title_line--history,
.title_line--left,
.title_line--left--black {
    color: #fff;
    margin-bottom: 18%
}

.title_line--history:after,
.title_line--left--black:after,
.title_line--left:after {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 0;
    background-color: #fff;
    width: 32px;
    height: 1px
}

.title_line--left--black {
    color: #222
}

.title_line--left--black:after {
    background-color: #222
}

.title_line--center,
.title_line--center--white {
    color: #222;
    text-align: center;
    margin-bottom: 6%
}

.title_line--center--white:after,
.title_line--center:after {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 0;
    right: 0;
    background-color: #132b88;
    width: 32px;
    height: 1px;
    margin: 0 auto
}

.title_line--center--white {
    color: #fff
}

.title_line--center--white:after {
    background-color: #fff
}

.title_line--other {
    color: #222
}

.title_line--other:after {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 0;
    background-color: #222;
    width: 32px;
    height: 1px
}

.title_line--history {
    color: #222;
    margin-bottom: 18%
}

.title_line--history:after {
    background-color: #222
}

/*
.title--service {
    margin-bottom: 9%;
    font-weight: 400
}
*/

.title--service {
    margin: 0 0 20px;
    font-size: 21px;
    font-weight: normal;
    line-height: 1.5;
    text-align: left;
    color: #222;
}

.grad,
.grad--about,
.grad--concept {
    width: 100%;
    height: 100%;
    padding: 17%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.grad--about {
    padding: 12% 5% 12% 35%;
    background: url(../img/bg_about.jpg) no-repeat 50%;
    background-size: cover
}

.grad--concept {
    background: url(../img/bg_concept.jpg) no-repeat 50%;
    background-size: cover
}

.gradBox_cont--about,
.gradBox_cont--left,
.gradBox_cont--right {
    width: 52%;
    -webkit-box-shadow: 0 0 55px -10px #222;
    box-shadow: 0 0 55px -10px #222
}

.gradBox {
    position: relative;
    z-index: 1;
    width: 100%
}

.gradBox_inner,
.gradBox_inner--about {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 84%;
    height: 100%;
    margin: -30% auto 0
}

.gradBox_inner--about {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
    height: auto;
    margin: -27% auto 0
}

.gradBox_cont--right {
    right: 0
}

.gradBox_cont--left {
    left: 0
}

.gradBox_cont--about {
    left: 0;
    width: 57%
}

.gradLine--01,
.gradLine--02,
.gradLine--03,
.gradLine--04 {
    position: absolute;
    bottom: -13%;
    z-index: 0;
    background-image: linear-gradient(-45deg, rgba(19, 43, 136, .85), rgba(12, 89, 162, .85));
    width: 86%;
    padding-bottom: 24%
}

.gradLine--01 {
    right: 0;
/*
    background: url(../img/bg_01.jpg) no-repeat 50%;
    background-size: cover;
*/
    background-image: linear-gradient(-45deg, #00c8b4, #8cd250);

}

.gradLine--02 {
    left: 0;
/*
    background: url(../img/bg_02.jpg) no-repeat 50%;
    background-size: cover
*/
    background-image: linear-gradient(-45deg, #00c8b4, #8cd250);
}

.gradLine--03 {
    right: 0;
/*
    background: url(../img/bg_03.jpg) no-repeat 50%;
    background-size: cover
*/
    background-image: linear-gradient(-45deg, #00c8b4, #8cd250);
}

.gradLine--04 {
    left: 0;
/*
    background: url(../img/bg_04.jpg) no-repeat 50%;
    background-size: cover
*/
    background-image: linear-gradient(-45deg, #00c8b4, #8cd250);
}

.gradInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.gradInfo+.gradInfo {
    margin-top: 4%
}

.gradInfo_head {
    width: 130px
}

.gradInfo_body {
    width: calc(100% - 130px)
}

.service {
    position: relative;
    width: 100%
}

.service+.service {
    margin-top: 13%
}

.service_inner--left,
.service_inner--right {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 84%;
    margin: 0 auto
}

.service_img {
    position: relative;
    z-index: 0;
    width: 67%
}

.service_cont--left,
.service_cont--right {
    position: relative;
    z-index: 1;
    background-color: #fff;
    width: 65%;
    padding: 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.other {
    position: relative;
    width: 100%
}

.other_inner {
    width: 84%
}

.other_cont {
    width: 72%
}

.other_box--high,
.other_box--low {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.other_list--quarter {
/*        width: calc(24% - 4px)*/
    width: calc(33% - 4px)
}

.other_list--three {
/*    width: 33%*/
    width: 49%

}

.history {
    background-color: #ededed;
    width: 84%;
    margin: 0 auto;
    padding: 6% 12% 9.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.history_box {
    width: 48%
}

.history_list+.history_list,
.historyInfo+.historyInfo {
    margin-top: 20px
}

.historyInfo_head {
    width: 160px
}

.historyInfo_body {
    width: 75%
}


@media screen and (max-width: 480px) {

    .l-section--other {
        padding: 7% 0 0%;
    }

    .other_list--quarter {
        /* width: 48%; */
        width: 100%!important
    }

    .text_caption {
        padding-bottom: 20px
    }

    .other_list--three {
        width: 100%!important;
        margin-top: 0px!important;
    }


}


@media screen and (max-width:768px) {

    .pc {
        display: none!important
    }
    .sp {
        display: block
    }
    .js-fadeSide.is-fade {
        width: 95%!important
    }
    .l-header_inner {
        padding: 2%
    }
    .l-header_logo {
        width: 55%
    }
    .l-footer {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 90%;
        margin: 0 auto;
        padding: 12% 4%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
    .l-footer_box,
    .l-footer_logo {
        width: 100%
    }
    .l-footerNav_cont {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
        margin-top: 40px
    }
    .l-footerNav_list {
        width: 48%;
        text-align: center
    }
    .l-footerNav_list:nth-child(n+3) {
        margin-top: 30px
    }
    .l-section--concept {
        margin-top: 80vh;
        padding-bottom: 120px
    }
    .l-section--service {
        padding: 60px 0
    }
    .l-section--history {
        background-color: #ededed;
        padding-bottom: 120px
    }
    .l-section--contact {
        padding: 40px 0
    }
    .kv {
        height: 80vh
    }
    .kv_movie {
        position: relative;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        max-width: none;
        max-height: 100%
    }
    .kv_text {
        top: 50%;
        font-size: 18px;
        line-height: 1.8
    }
    .scroll {
        top: 80vh;
        width: 20%;
        height: 8vh;
        margin: -6% auto 0
    }
    .scroll_bar {
        width: 2px
    }
    .scroll_bar:after {
        left: -4px;
        width: 9px;
        height: 7px
    }
    .text--lead {
        padding: 18% 20px 60px;
        font-size: 16px
    }
    .text--cont,
    .text--cont--black {
        font-size: 14px
    }
    .text--cont--black,
    .text--service {
        font-size: 16px;
        line-height: 1.8
    }
    .text--num {
        font-size: 18px
    }
    .text--rect:before {
        width: 9px
    }
    .text--rect+.text--rect {
        margin-top: 16px
    }
    .text_caption {
        padding-top: 8px
    }
    .text--info,
    .text_caption {
        font-size: 16px
    }
    .text--privacy {
        font-size: 12px;
        line-height: 1.6
    }
    .text--contact {
        font-size: 16px
    }
    .title_line--center,
    .title_line--center--white,
    .title_line--history,
    .title_line--left,
    .title_line--left--black,
    .title_line--other {
        font-size: 20px
    }
    .title_line--center,
    .title_line--center--white {
        margin-bottom: 16%
    }
    .title_line--other {
        text-align: center;
        margin-bottom: 10%
    }
    .title_line--other:after {
        left: 0;
        right: 0;
        margin: 0 auto
    }
    .title--service {
        margin-bottom: 24px;
        font-size: 20px
    }
    .grad,
    .grad--about,
    .grad--concept {
        padding: 12%
    }
    .gradBox_cont--about,
    .gradBox_cont--left,
    .gradBox_cont--right {
        position: relative;
        width: 100%
    }
    .gradBox_inner,
    .gradBox_inner--about {
        position: relative;
        top: auto;
        width: 90%;
        margin: -23% auto 0
    }
    .gradBox_img,
    .gradBox_img--about {
        overflow: hidden
    }
    .gradBox_img--about img,
    .gradBox_img img {
        width: 240vw
    }
    .gradBox_img--about {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .gradBox_img--about img {
        margin-right: -30%
    }
    .gradLine--01,
    .gradLine--02,
    .gradLine--03,
    .gradLine--04 {
        top: 5%;
        bottom: auto;
        width: 95%;
        height: 100%;
        padding-bottom: 0
    }
    .gradInfo+.gradInfo {
        margin-top: 6%
    }
    .gradInfo_head {
        width: 24%
    }
    .gradInfo_body {
        width: 76%
    }
    .service+.service {
        margin-top: 120px
    }
    .service_inner--left,
    .service_inner--right {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column
    }
    .service_inner--right {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end
    }
    .service_inner--left {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
    .service_img {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
    .service_cont--left,
    .service_cont--right,
    .service_img {
        width: 85%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .service_cont--left,
    .service_cont--right {
        padding: 24px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    .other_inner {
        width: 100%
    }
    .other_cont {
        width: 90%;
        margin: 0 auto
    }
    .other_box--high,
    .other_box--low {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .other_box--low:after {
        content: "";
        display: block;
        width: 48%
    }
    .other_list--quarter {
/*        width: 48%*/
        width: 30%

    }
    .other_list--quarter:nth-child(n+3) {
/*        margin-top: 20px*/
            margin-top: 0px
    }
    .other_list--three {
        width: 48%;
        margin-top: 20px
    }



    .history {
        padding: 12% 12% 9.5%
    }
    .history,
    .history_box {
        width: 100%
    }
    .history_box+.history_box {
        margin-top: 20%
    }
    .historyInfo {
        margin-top: 5%
    }
    .historyInfo_body,
    .historyInfo_head {
        width: 100%
    }
    .history_list {
        margin-top: 5%
    }
}



@media screen and (min-width:769px) {
    .pc {
        display: block
    }
    .sp {
        display: none!important
    }
    .l-header_inner.is-scrolled .l-headerNav_link,
    .l-header_inner.is-scrolled .l-headerNav_link--phone {
        color: #222
    }
    .l-header_inner.is-scrolled .l-headerNav_link--phone:after,
    .l-header_inner.is-scrolled .l-headerNav_link:after {
        background-color: #222
    }
    .l-header_logo svg {
        max-height: 56px;
        height: 100%
    }
    .l-header_nav {
        display: block
    }
    .l-header_nav.is-open .l-headerNav_link:after {
        background-color: #222
    }
    .l-headerHamburger {
        display: none
    }
    .l-headerNav_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .l-headerNav_list:last-child {
        margin-left: 40px
    }
    .l-headerNav_link {
        font-size: 16px
    }
    .l-headerNav_link:after {
        content: "";
        display: block;
        position: absolute;
        bottom: -8px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 0;
        height: 2px;
        background-color: #fff;
        -webkit-transition: width .2s ease-out;
        transition: width .2s ease-out
    }
    .l-headerNav_link:hover:after {
        width: 100%
    }
    .l-headerNav_link--phone {
        font-size: 16px;
        white-space: nowrap
    }
    .l-headerNav_ico--phone {
        height: 16px;
        font-size: 16px
    }
    .l-footer {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .l-footer,
    .l-footerNav_cont {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .l-footerNav_cont {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
    .l-footerNav_list {
        margin-left: 50px
    }
    .l-footerNav_link {
        font-size: 16px
    }
    .l-footerNav_link:after {
        content: "";
        display: block;
        position: absolute;
        bottom: -8px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background-color: #222;
        width: 0;
        height: 2px;
        -webkit-transition: width .3s ease-out;
        transition: width .3s ease-out
    }
    .l-footerNav_link:hover:after {
        width: 100%
    }
    .l-section--history:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 0;
        background-color: #ededed;
        width: 84%;
        max-width: 1400px;
        height: calc(100% - 100px);
        margin: 0 auto
    }
    .kv_movie {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }
    .kv_text {
        font-size: 36px;
        font-size: 2.14286vw
    }
    .text--lead {
        font-size: 24px
    }
    .text--cont,
    .text--cont--black {
        font-size: 14px
    }
    .text--cont--black {
        font-size: 12px;
        line-height: 1.6
    }
    .text--service {
/*
        font-size: 12px;
        line-height: 2.2
*/
    font-size: 17px;
    line-height: 1.9;
    color: #222;
    }
    .text--num {
        font-size: 20px
    }
    .text--rect,
    .text_caption {
        font-size: 17px
    }
    .text--info {
        font-size: 16px
    }
    .text--privacy {
        font-size: 12px
    }
    .text--contact {
        font-size: 14px
    }
    .title_line--center,
    .title_line--center--white,
    .title_line--history,
    .title_line--left,
    .title_line--left--black,
    .title_line--other {
        font-size: 40px;
        font-size: 2.38095vw
    }
    .title--service,
    .title_line--history {
        font-size: 28px;
/*        font-size: 1.66667vw*/
    }
    .gradBox_cont--about,
    .gradBox_cont--left,
    .gradBox_cont--right {
        max-width: 720px
    }
    .gradBox_inner,
    .gradBox_inner--about {
        max-width: 1400px
    }
    .gradBox_inner--about {
        max-width: none
    }
    .gradBox_cont--about {
        max-width: 950px
    }
    .gradLine--01,
    .gradLine--02,
    .gradLine--03,
    .gradLine--04 {
        max-width: 1440px
    }
    .service_inner--left,
    .service_inner--right {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        max-width: 1400px
    }
    .service_img {
        max-width: 740px
    }
    .service_cont--left,
    .service_cont--right {
        max-width: 710px
    }
    .service_cont--right {
        margin-left: -11%
    }
    .service_cont--left {
        margin-right: -11%
    }
    .other {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
    .other_inner {
        position: absolute;
/*        top: 50%;*/
        top: 40%;
        right: 0;
        left: 0;
        max-width: 1400px;
        margin: 0 auto
    }
    .other_cont {
        max-width: 1210px
    }
    .other_box--high {
        margin-bottom: 2.5%
    }
    .history {
        max-width: 1400px
    }
    .history,
    .historyInfo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .historyInfo_body {
        margin-left: 4%
    }


@media screen and (max-width:1024px) {
    .l-header_inner.is-scrolled .l-headerHamburger_list--btm,
    .l-header_inner.is-scrolled .l-headerHamburger_list--mid,
    .l-header_inner.is-scrolled .l-headerHamburger_list--top {
        background-color: #222
    }
    .l-header_nav {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -9999;
        opacity: 0;
        pointer-events: none;
        width: 100vw;
        height: 0;
        -webkit-transition: opacity .1s ease, z-index .3s ease, height .3s ease-in;
        transition: opacity .1s ease, z-index .3s ease, height .3s ease-in
    }
    .l-headerHamburger {
        position: fixed;
        right: 0;
        z-index: 9999;
        display: block;
        width: 6vw;
        max-width: 40px;
        height: 3vw;
        max-height: 20px;
        margin-right: 2%
    }
    .l-headerNav {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .l-headerNav_cont {
        height: 60%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
    .l-headerNav_list {
        opacity: 0;
        margin-left: 0;
        letter-spacing: 1px;
        -webkit-transition: opacity .6s ease;
        transition: opacity .6s ease
    }
    .l-headerNav_list+.l-headerNav_list {
        margin-top: 12%
    }
    .l-headerNav_link {
        color: #222;
        font-size: 16px
    }
    .l-headerNav_link--phone {
        color: #222;
        font-size: 24px;
        white-space: nowrap
    }
    .l-headerNav_ico--phone {
        font-size: 18px
    }
}

@media screen and (min-width:769px) and (max-width:768px) {
    .l-section--history:after {
        height: 100%
    }
}
