@charset 'UTF-8';

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　CORE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　VARIABLE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　PATH
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　COLOR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　FONT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　LAYOUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　EASING
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　MIXIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　Animation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　MIXIN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
　　UNIQUE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.l-kv {
    position: relative;
    width: 100%;
    height: calc(100vh - 93px);
    min-height: 705px;
}

.l-kv_bg {
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100vh;
    min-height: 705px;
    -webkit-transform: scale(1);
    transform: scale(1);
    background: url(/img/l-kv_img_pc.png) center no-repeat;
    background-size: cover;
}

.l-kv::before {
    position: absolute;
    right: 0;
    bottom: 15px;
    left: 0;
    display: block;
    width: 50px;
    height: 27px;
    margin: 0 auto;
    content: '';
    background: url(/img/l-kv_icn.png) no-repeat;
    background-size: cover;
}

.l-kv_txt {
    position: absolute;
    bottom: 29vh;
    left: 95px;
    width: 34.5%;
    max-width: 414px;
}

.l-kv_txt img {
    width: 100%;
    pointer-events: none;
}

.l-lead {
    width: 100%;
    padding-top: 90px;
    text-align: center;
    letter-spacing: .06em;
    background: #fff;
}

.l-lead_ttl {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 30px;
}

.l-lead_txt {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.66667;
    margin-bottom: 25px;
}

.l-lead_txt b {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 2;
}

.l-lead_img {
    line-height: 0;
    display: -webkit-flex;
    display: flex;
    padding-top: 65px;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.l-lead_img_item {
    width: 50%;
}

.l-lead_img_item img {
    width: 100%;
    pointer-events: none;
}

.l-photo {
    width: 100%;
    padding: 90px 40px 20px;
    background: #fff;
}

.l-photo_txt {
    margin-bottom: 90px;
}

.l-photo_txt b {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .06em;
}

.l-photo_img {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.l-photo_img_item {
    width: calc(50% - 10px);
    padding-bottom: 20px;
}

.l-photo_img_item img {
    width: 100%;
    pointer-events: none;
}

.l-mind {
    padding-top: 144px;
    background-color: rgba(0, 0, 0, .5);
}

.l-mind_ttl {
    font-size: 5rem;
    font-weight: 700;
    margin-bottom: 50px;
    color: #fff;
}

.l-mind_message {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    width: 950px;
    margin: 0 auto;
    padding: 100px 96px 100px 90px;
    background: rgba(255, 255, 255, .9);
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.l-mind_message_txt {
    font-family: YakuHanJP, '游ゴシック', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2;
    width: calc(50% - 25px);
    text-align: left;
    color: #000;
    /* @include lhCrop(2); */
}

.l-mind_message_txt p:last-of-type {
    padding-top: 25px;
    text-align: right;
}

.l-mind_message_img {
    width: calc(50% + 2px);
}

.l-mind_message_img img {
    width: 100%;
    pointer-events: none;
}

.l-go {
    padding-top: 100px;
    background-color: rgba(0, 0, 0, .5);
}

.l-go_wrapper {
    width: 950px;
    margin: 0 auto;
    padding: 106px 95px 100px;
    background: rgba(255, 255, 255, .9);
}

.l-go_ttl {
    font-size: 3.1rem;
    font-weight: 700;
    line-height: 1.45161;
    margin-bottom: 55px;
    letter-spacing: .12em;
}

.l-go_ttl b {
    font-size: 5rem;
    line-height: 1.2;
    display: block;
}

.l-go_ttl b span {
    font-size: 6.6rem;
}

.l-go dl {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 23px;
    padding: 0 60px 0 65px;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.l-go dl dt {
    font-size: 1.7rem;
    line-height: 35px;
    width: 112px;
    height: 35px;
    margin-right: 20px;
    letter-spacing: .12em;
    color: #fff;
    border-radius: 18px;
    background: #12b1b3;
}

.l-go dl dd {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.81818;
    margin-top: -3px;
    text-align: left;
}

.l-go_txt {
    margin-bottom: 38px;
    padding-top: 40px;
}

.l-go_txt b {
    font-size: 3.1rem;
    font-weight: 700;
    line-height: 1.80645;
}

.l-go_img img {
    width: 100%;
    pointer-events: none;
}

.l-adjustment {
    padding-top: 100px;
    background-color: rgba(0, 0, 0, .5);
}

.l-adjustment_wrapper {
    width: 950px;
    margin: 0 auto;
    padding: 98px 100px 98px 105px;
    background: rgba(255, 255, 255, .9);
}

.l-adjustment_ttl {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 37px;
}

.l-adjustment_ttl b {
    font-size: 5rem;
    display: block;
    margin-bottom: 20px;
}

.l-adjustment_txt {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.80556;
    margin-bottom: 45px;
}

.l-adjustment_txt span {
    line-height: 1;
    display: inline-block;
    margin-top: 15px;
    padding: 10px 29px;
    color: #fff;
    border-radius: 20px;
    background: #12b1b3;
}

.l-adjustment_btn {
    width: 100%;
}

.l-adjustment_btn a {
    font-size: 2.9rem;
    font-weight: 700;
    position: relative;
    display: block;
    padding: 37px 0;
    transition: opacity .7s cubic-bezier(.46, .01, .17, 1);
    color: #fff;
    background: #000;
}

.l-adjustment_btn a:hover {
    opacity: .6;
}

.l-adjustment_btn a:hover svg {
    -webkit-transform: translate(10px, -50%);
    transform: translate(10px, -50%);
}

.l-adjustment_btn a span {
    font-family: YakuHanJP, '游ゴシック', 'Yu Gothic', YuGothic, sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    display: block;
    padding-top: 15px;
}

.l-adjustment_btn a svg {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 35px;
    height: 22px;
    transition: -webkit-transform .7s cubic-bezier(.46, .01, .17, 1);
    transition: transform .7s cubic-bezier(.46, .01, .17, 1);
    transition: transform .7s cubic-bezier(.46, .01, .17, 1), -webkit-transform .7s cubic-bezier(.46, .01, .17, 1);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.l-iframe {
    padding-top: 100px;
    background-color: rgba(0, 0, 0, .5);
}

.l-iframe_wrapper {
    position: relative;
    width: 773px;
    margin: 0 auto;
    padding-top: 434.8125px;
}

.l-iframe_wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.l-chronology {
    padding-top: 104px;
    background-color: rgba(0, 0, 0, .5);
}

.l-chronology_wrapper {
    width: 1200px;
    margin: 0 auto;
}

.l-chronology_ttl {
    font-size: 5rem;
    font-weight: 700;
    margin-bottom: 50px;
    color: #fff;
}

.l-chronology_btn {
    width: 1080px;
    margin: 0 auto;
}

.l-chronology_btn_wrapper {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.l-chronology_btn_item {
    width: calc(100% / 3 - 13.333333333333334px);
}

.l-chronology_btn_item a {
    font-size: 2.9rem;
    font-weight: 700;
    line-height: 90px;
    position: relative;
    display: block;
    height: 90px;
    transition: opacity .7s cubic-bezier(.46, .01, .17, 1);
    color: #000;
    background: #fff;
}

.l-chronology_btn_item a:hover {
    opacity: .6;
}

.l-chronology_btn_item a:hover svg {
    -webkit-transform: translate(10px, -50%);
    transform: translate(10px, -50%);
}

.l-chronology_btn_item a svg {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 35px;
    height: 22px;
    transition: -webkit-transform .7s cubic-bezier(.46, .01, .17, 1);
    transition: transform .7s cubic-bezier(.46, .01, .17, 1);
    transition: transform .7s cubic-bezier(.46, .01, .17, 1), -webkit-transform .7s cubic-bezier(.46, .01, .17, 1);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.l-slider {
    width: 1080px;
    margin: 0 auto;
}

.l-slider .slick-arrow {
    position: absolute;
    top: 87px;
    width: 35px;
    height: 22px;
    cursor: pointer;
    transition: -webkit-transform .7s cubic-bezier(.46, .01, .17, 1);
    transition: transform .7s cubic-bezier(.46, .01, .17, 1);
    transition: transform .7s cubic-bezier(.46, .01, .17, 1), -webkit-transform .7s cubic-bezier(.46, .01, .17, 1);
}

.l-slider .slick-arrow.prev {
    left: -60px;
}

.l-slider .slick-arrow.prev:hover {
    -webkit-transform: translate(-10px, 0);
    transform: translate(-10px, 0);
}

.l-slider .slick-arrow.next {
    right: -60px;
}

.l-slider .slick-arrow.next:hover {
    -webkit-transform: translate(10px, 0);
    transform: translate(10px, 0);
}

.l-slider .slick-arrow svg {
    width: 35px;
    height: 22px;
}

.l-slider_item a {
    display: block;
    padding: 0 10px;
    transition: opacity .7s cubic-bezier(.46, .01, .17, 1);
}

.l-slider_item a:hover {
    opacity: .6;
}

.l-slider_item p {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.78571;
    color: #fff;
}

.l-slider_img {
    margin-bottom: 10px;
}

.l-slider_img img {
    width: 100%;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .l-kv {
        height: calc(100vh - 69px);
        min-height: 400px;
    }

    .l-kv_bg {
        min-height: 568px;
        background: url(/img/l-kv_img_sp.png) center no-repeat;
        background-size: cover;
    }

    .l-kv::before {
        bottom: 15vh;
        width: 47px;
        height: 25px;
    }

    .l-kv_txt {
        position: static;
        width: 100%;
        height: 100%;
        margin: 0 auto;
    }

    .l-kv_txt .u-sp__show {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 293.5px;
        margin: 0 auto;
    }

    .l-kv_txt img {
        position: absolute;
        right: 0;
        bottom: 21vh;
        left: 0;
        width: 262.5px;
        margin: 0 auto;
    }

    .l-lead {
        padding-top: 62px;
        text-align: left;
    }

    .l-lead_ttl {
        padding: 0 20px;
    }

    .l-lead_txt {
        line-height: 2;
        padding: 0 20px;
    }

    .l-lead_img {
        display: block;
        padding-top: 25px;
    }

    .l-lead_img_item {
        width: 100%;
    }

    .l-photo {
        padding: 55px 20px 20px;
    }

    .l-photo_txt {
        margin-bottom: 55px;
    }

    .l-photo_img {
        display: block;
    }

    .l-photo_img_item {
        width: 100%;
    }

    .l-mind {
        padding-top: 82px;
    }

    .l-mind_ttl {
        font-size: 3.4rem;
        line-height: 1.35294;
        margin-bottom: 45px;
    }

    .l-mind_message {
        display: block;
        width: 100%;
        padding: 75px 20px 70px;
    }

    .l-mind_message_txt {
        width: 100%;
        margin-bottom: 23px;
        padding-right: 0;
    }

    .l-mind_message_txt p:last-of-type {
        padding-top: 20px;
    }

    .l-mind_message_img {
        width: 100%;
    }

    .l-go {
        padding-top: 55px;
    }

    .l-go_wrapper {
        width: 100%;
        padding: 65px 20px 70px;
    }

    .l-go_ttl {
        font-size: 2.6rem;
        line-height: 1.48077;
        margin-bottom: 35px;
    }

    .l-go_ttl b {
        font-size: 3.4rem;
        line-height: 1.27941;
        padding-top: 5px;
    }

    .l-go_ttl b span {
        font-size: 5rem;
    }

    .l-go dl {
        display: block;
        padding: 0;
    }

    .l-go dl dt {
        line-height: 34px;
        width: 100%;
        height: 34px;
        margin: 0 0 5px 0;
    }

    .l-go dl dd {
        margin-top: 0;
    }

    .l-go_txt {
        margin-bottom: 30px;
        padding-top: 12px;
        text-align: left;
    }

    .l-go_txt b {
        font-size: 2.6rem;
        line-height: 1.80769;
    }

    .l-adjustment {
        padding-top: 50px;
    }

    .l-adjustment_wrapper {
        width: 100%;
        padding: 60px 20px;
    }

    .l-adjustment_ttl {
        font-size: 3rem;
        line-height: 1.6;
        margin-bottom: 18px;
        text-align: left;
    }

    .l-adjustment_ttl b {
        font-size: 3.4rem;
        margin-bottom: 0;
        text-align: center;
    }

    .l-adjustment_txt {
        text-align: left;
    }

    .l-adjustment_txt span {
        font-weight: 700;
        line-height: 1.80556;
        padding: 12px 20px;
        text-align: center;
        border-radius: 57px;
    }

    .l-adjustment_btn a {
        padding: 37px 15px;
        text-align: left;
    }

    .l-adjustment_btn a:hover {
        opacity: 1;
    }

    .l-adjustment_btn a:hover svg {
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    .l-adjustment_btn a svg {
        right: 15px;
    }

    .l-iframe {
        padding-top: 70px;
    }

    .l-iframe_wrapper {
        width: calc(100% - 40px);
        padding-top: 56.25%;
    }

    .l-chronology {
        padding-top: 80px;
    }

    .l-chronology_wrapper {
        width: 100%;
    }

    .l-chronology_ttl {
        font-size: 3.4rem;
    }

    .l-chronology_btn {
        width: calc(100% - 40px);
    }

    .l-chronology_btn_wrapper {
        display: block;
    }

    .l-chronology_btn_item {
        width: 100%;
        padding-bottom: 10px;
    }

    .l-chronology_btn_item a {
        font-size: 2.4rem;
    }

    .l-chronology_btn_item a:hover {
        opacity: 1;
    }

    .l-chronology_btn_item a:hover svg {
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }

    .l-chronology_btn_item a svg {
        right: 22px;
    }

    .l-slider {
        width: 100%;
        margin-bottom: 20px;
    }

    .l-slider .slick-arrow {
        z-index: 1;
        top: 27vw;
    }

    .l-slider .slick-arrow.prev {
        left: 20px;
    }

    .l-slider .slick-arrow.prev:hover {
        -webkit-transform: translate(0);
        transform: translate(0);
    }

    .l-slider .slick-arrow.next {
        right: 20px;
    }

    .l-slider .slick-arrow.next:hover {
        -webkit-transform: translate(0);
        transform: translate(0);
    }

    .l-slider_item a:hover {
        opacity: 1;
    }
}
