@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://use.fontawesome.com/releases/v5.0.8/css/all.css);
@import url(//fonts.googleapis.com/css?family=Heebo:400,500,800&display=swap);
@import url(//fonts.googleapis.com/css?family=Heebo:400,500,800|Noto+Sans+JP&display=swap);

body {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.025em;
    color: #2c3a44;
}

p {
    margin-bottom: 1em;
}

i {
    font-family: FontAwesome;
}

.noto {
    font-family: 'Noto Sans JP', sans-serif;
}

.heebo_r {
    font-family: 'Heebo', sans-serif;
    font-weight: 400;
}

.heebo_m {
    font-family: 'Heebo', sans-serif;
    font-weight: 500;
}

.heebo_e {
    font-family: 'Heebo', sans-serif;
    font-weight: 800;
}

.normal {
    font-weight: normal;
}

.flex {
    display: flex;
    justify-content: center;
}

.flex_center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex2 {
    display: flex;
    align-items: center;
}

li {
    list-style-type: none;
}



.menu_fonticon {
    color: #fff;
    font-size: 25px;
}

.icon_area .menu_fontmail {
    width: 25px;
    height: 25px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 9999px;
    padding: 4px;
}

.menu_fontmail:before {
    opacity: 0.5;
}

video,
img {
    vertical-align: bottom;
}

.content {
    max-width: 1080px;
    margin: 0 auto;
    padding: 20px;
}

.btn:hover:after {
    -webkit-animation: btn_hover .6s cubic-bezier(.04, .435, .315, .9) both;
    animation: btn_hover .6s cubic-bezier(.04, .435, .315, .9) both;
}

.btn-submit:hover,
.btn-white:after,
.contact-input__step.is-current i:after {
    background-color: #1865a0;
}

.btn:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 1;
    z-index: 1;
}

@-webkit-keyframes identity_hover_white {

    0%,
    to {
        color: #fff;
    }

    35%,
    36%,
    60% {
        color: #1865a0;
    }
}

@keyframes identity_hover_white {

    0%,
    to {
        color: #fff
    }

    35%,
    36%,
    60% {
        color: #1865a0
    }
}

.sec3 .btn-white:hover span {
    -webkit-animation: identity_hover_white .6s cubic-bezier(.04, .435, .315, .9) both;
    animation: identity_hover_white .6s cubic-bezier(.04, .435, .315, .9) both
}

.sec3 .btn-white:after {
    background-color: #fff;
}

@-webkit-keyframes contact_hover_white {

    0%,
    to {
        color: #fff;
    }

    35%,
    36%,
    60% {
        color: #0068b7;
    }
}

@keyframes contact_hover_white {

    0%,
    to {
        color: #fff;
    }

    35%,
    36%,
    60% {
        color: #0068b7;
    }
}

.btn-white:hover .form_inner .contact_form {
    -webkit-animation: contact_hover_white .6s cubic-bezier(.04, .435, .315, .9) both;
    animation: contact_hover_white .6s cubic-bezier(.04, .435, .315, .9) both
}

.form_wrap .btn-white:after {
    background-color: #fff;
}

@-webkit-keyframes port_hover_white {

    0%,
    to {
        color: #0068b7;
    }

    35%,
    36%,
    60% {
        color: #fff;
    }
}

@keyframes port_hover_white {

    0%,
    to {
        color: #0068b7;
    }

    35%,
    36%,
    60% {
        color: #fff;
    }
}

.btn-white:hover .to_port span {
    -webkit-animation: contact_hover_white .6s cubic-bezier(.04, .435, .315, .9) both;
    animation: port_hover_white .6s cubic-bezier(.04, .435, .315, .9) both
}

.port_btn_wrap .btn-white:after {
    background-color: #0068b7;
}

@-webkit-keyframes btn_hover {
    0% {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(0);
        transform: translate(0, 0) rotate(0deg) scaleX(0);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }

    35% {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(1);
        transform: translate(0, 0) rotate(0deg) scaleX(1);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }

    36%,
    60% {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(1);
        transform: translate(0, 0) rotate(0deg) scaleX(1);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }

    to {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(0);
        transform: translate(0, 0) rotate(0deg) scaleX(0);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }
}

@keyframes btn_hover {
    0% {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(0);
        transform: translate(0, 0) rotate(0deg) scaleX(0);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }

    35% {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(1);
        transform: translate(0, 0) rotate(0deg) scaleX(1);
        -webkit-transform-origin: left center;
        transform-origin: left center
    }

    36%,
    60% {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(1);
        transform: translate(0, 0) rotate(0deg) scaleX(1);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }

    to {
        -webkit-transform: translate(0, 0) rotate(0deg) scaleX(0);
        transform: translate(0, 0) rotate(0deg) scaleX(0);
        -webkit-transform-origin: right center;
        transform-origin: right center
    }
}

.btn {
    position: relative;
    display: inline-block;
}

@-webkit-keyframes hover_white {

    0%,
    to {
        color: #1865a0
    }

    35%,
    36%,
    60% {
        color: #fff
    }
}

@keyframes hover_white {

    0%,
    to {
        color: #1865a0
    }

    35%,
    36%,
    60% {
        color: #fff
    }
}

.btn-white:hover .more_inner {
    -webkit-animation: hover_white .6s cubic-bezier(.04, .435, .315, .9) both;
    animation: hover_white .6s cubic-bezier(.04, .435, .315, .9) both
}

.more_inner {
    display: inline-block;
    z-index: 3;
    position: relative;
}

.read_more {
    color: #1865a0;
    /* border: 1px solid #1865a0; */
    font-size: 14px;
    width: 170px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    letter-spacing: 0.18em;
}

.scroll_trigger .scroll_down {
    animation: scroll_down 0.5s cubic-bezier(.04, .435, .315, .9) both
}

@keyframes scroll_down {
    0% {
        background-color: #fff;
        transform: translate(0, 0) rotate(0deg) scaleX(0);
        transform-origin: left center
    }

    35% {
        background-color: #fff;
        transform: translate(0, 0) rotate(0deg) scaleX(1);
        transform-origin: left center
    }

    36%,
    60% {
        background-color: #fff;
        transform: translate(0, 0) rotate(0deg) scaleX(1);
        transform-origin: right center
    }

    to {
        background-color: #fff;
        transform: translate(0, 0) rotate(0deg) scaleX(0);
        transform-origin: right center;
    }
}

.header_menu a:hover:after {
    content: "";
    width: 100%;
}

.header_menu a:after {
    content: "";
    display: block;
    width: 0;
    height: 2px;
    background: #FFF;
    position: absolute;
    bottom: -13px;
    transition: 0.4s;
}
.footer_menu .header_menu a:after {
    content: "";
    display: none;
}
.footer_menu .header_menu a {
    color: #fff;
    transition: .4s;
}
.footer_menu .header_menu a:hover {
    color: #2f353d;
    opacity: 0.3;
}
.header_menu li {
    position: relative;
}

.js_loading {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0068b7;
}

/* ===================================================================================
 for PC min-width: 741px
 =================================================================================== */
@media screen and (min-width: 769px),
print {
    .pc {
        display: block;
    }

    .sp {
        display: none !important;
    }
}

/* ===================================================================================
 for SP max-width: 768px
 =================================================================================== */
@media screen and (max-width: 768px) {
    .sp {
        display: block;
    }

    .pc {
        display: none !important;
    }

    .icon_circle {
        display: inline-block;
        width: 40px;
        height: 40px;
        background-color: #fff;
        border-radius: 9999px;
        position: relative;
    }

    .menu_fonticon {
        font-size: 20px;
        color: #a6a6a6;
        position: absolute;
    }

    .face_font {
        top: 10px;
        left: 13px;
    }

    .twitter_font {
        top: 10px;
        left: 10px;
    }
}

/* ===================================================================================
 for SP max-width: 568px
 =================================================================================== */
@media screen and (max-width: 568px) {

    .gronav_area li a{

        line-height: 1.5em;
    }
}