@charset 'UTF-8';

html,
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 22px;
    line-height: 1;

    text-align: center;

    color: #000;
}

.main {
    position: relative;
    z-index: 0;

    background-color: #fff;
}

a {
    text-decoration: none;

    color: #000;
}

.sp {
    display: none !important;
}

@media print,
screen and (max-width: 768px) {
    .sp {
        display: block !important;
    }
}

.pc {
    display: block;
}

@media print,
screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
}

.spi {
    display: none;
}

@media print,
screen and (max-width: 768px) {
    .spi {
        display: inline;
    }
}

.pci {
    display: inline;
}

@media print,
screen and (max-width: 768px) {
    .pci {
        display: none;
    }
}

br {
    font-size: 0;
}

/* ============== .l-sec ============== */
.l-sec {
    width: 100%;
}

.l-sec__inner {
    width: 79.16667vw;
    max-width: 1520px;
    margin: 0 auto;
}

@media print,
screen and (max-width: 1025px) {
    .l-sec__inner {
        width: 80%;
    }
}

@media print,
screen and (max-width: 768px) {
    .l-sec__inner {
        width: 86.15385vw;
    }
}

.l-sec--fixed {
    overflow: hidden;
}

/* ============== .head ============== */
.head {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    height: 100px;
    margin: 0 auto;
}

@media print,
screen and (max-width: 1500px) {
    .head {
        height: 5.20833vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head {
        height: 9.76562vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head {
        height: 13.33333vw;
    }
}

.head__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 100px;
    margin: 0 auto;
    padding: 0 39.5px 0 40px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media print,
screen and (max-width: 1500px) {
    .head__inner {
        height: 5.20833vw;
        padding: 0 2.05729vw 0 2.08333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head__inner {
        height: 9.76562vw;
        padding: 0 2.92969vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__inner {
        height: 13.33333vw;
        padding: 0 4vw;
    }
}

.head__logoLink {
    display: block;

    width: 166px;
}

@media print,
screen and (max-width: 1500px) {
    .head__logoLink {
        width: 8.64583vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head__logoLink {
        width: 16.21094vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__logoLink {
        width: 22.13333vw;
    }
}

.head__logo {
    width: 100%;

    -webkit-transition: .4s;
    transition: .4s;
}

.head__logo:hover {
    opacity: .6;
}

.head__logo>img {
    display: block;

    width: 100%;
}

@media print,
screen and (max-width: 1025px) {
    .head__nav {
        display: none;
    }
}

.head__listBox {
    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;
}

.head__list {
    margin-right: 3.14788vw;
}

.head__list:last-child {
    margin-right: 0;
}

.head__link {
    display: block;

    padding-bottom: 5px;
}

@media print,
screen and (max-width: 1500px) {
    .head__link {
        padding-bottom: .26042vw;
    }
}

.head__link--active {
    font-weight: bold;

    border-bottom: 2px solid black;
}

.head__link:hover {
    opacity: .7;
}

.head__spNav {
    display: none;
}

@media print,
screen and (max-width: 1025px) {
    .head__spNav {
        position: relative;

        display: block;

        width: 4.49219vw;
        height: 1.75781vw;

        cursor: pointer;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spNav {
        width: 6.13333vw;
        height: 2.93333vw;
    }
}

.head__spNav>span {
    position: absolute;
    right: 0;
    left: 0;

    width: 46px;
    height: 4px;
    margin: 0 auto;

    -webkit-transition: all .3s ease-out;
    transition: all .3s ease-out;

    background-color: #00529b;
}

@media print,
screen and (max-width: 1500px) {
    .head__spNav>span {
        width: 2.39583vw;
        height: .20833vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head__spNav>span {
        width: 4.49219vw;
        height: .39062vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spNav>span {
        width: 6.13333vw;
        height: .53333vw;
    }
}

.head__spNav>span:nth-of-type(1) {
    top: 0;
}

.head__spNav>span:nth-of-type(2) {
    bottom: 0;
}

.head__spNav--open>span {
    background-color: white;
}

.head__spNav--open>span:nth-of-type(1) {
    top: 9px;

    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media print,
screen and (max-width: 1500px) {
    .head__spNav--open>span:nth-of-type(1) {
        top: .46875vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head__spNav--open>span:nth-of-type(1) {
        top: .87891vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spNav--open>span:nth-of-type(1) {
        top: 1.2vw;
    }
}

.head__spNav--open>span:nth-of-type(2) {
    top: 9px;

    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

@media print,
screen and (max-width: 1500px) {
    .head__spNav--open>span:nth-of-type(2) {
        top: .46875vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head__spNav--open>span:nth-of-type(2) {
        top: .87891vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spNav--open>span:nth-of-type(2) {
        top: 1.2vw;
    }
}

.head__spMenu {
    position: fixed;
    z-index: 5;
    top: 0;
    right: 0;

    overflow: scroll;

    width: 100%;
    height: 100vh;

    -webkit-transition: all .2s;
    transition: all .2s;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);

    opacity: 0;

    -webkit-overflow-scrolling: touch;
}

.head__spMenu--open {
    -webkit-transform: translateY(0);
    transform: translateY(0);

    opacity: 1;
}

.head__spMenu--open .head__menuContent {
    -webkit-animation-name: gnaviAnime;
    animation-name: gnaviAnime;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: .2s;
    animation-delay: .2s;

    opacity: 0;
    /*0.2 秒遅らせて出現*/

    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@-webkit-keyframes gnaviAnime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes gnaviAnime {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media print,
screen and (max-width: 1025px) {
    .head__spMenuContent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;

        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: auto;
        min-height: 100vh;
        padding: 14.64844vw 2.92969vw 0vw 2.92969vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spMenuContent {
        flex-direction: column;

        padding: 20vw 4vw 33.33333vw 4vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.head__spMenuItem {
    list-style-type: none;
}

@media print,
screen and (max-width: 1025px) {
    .head__spMenuItem {
        padding: 1.95312vw 0;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spMenuItem {
        padding: 5.26316vw 0;
    }
}

.head__spMenuLink {
    display: block;
}

@media print,
screen and (max-width: 1025px) {
    .head__spMenuLink {
        font-size: 1.95312vw;
        font-weight: bold;

        letter-spacing: .1em;

        color: white;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__spMenuLink {
        font-size: 4.21053vw;
    }
}

.head__circleBg {
    position: fixed;
    z-index: 3;
    top: -50px;
    right: -50px;

    width: 100px;
    height: 100px;

    -webkit-transition: all .6s;
    transition: all .6s;
    -webkit-transform: scale(0);
    transform: scale(0);

    opacity: .95;
    border-radius: 50%;
    background: -webkit-gradient(linear, left top, right bottom, from(#176ab2), color-stop(35.96%, #135081), color-stop(68.47%, #11456c), color-stop(100%, #164d7c), to(#176ab2));
    background: linear-gradient(to bottom right, #176ab2 0%, #135081 35.96%, #11456c 68.47%, #164d7c 100%, #176ab2 100%);
    /*0.6秒かけてアニメーション*/
}

@media print,
screen and (max-width: 1500px) {
    .head__circleBg {
        top: -2.60417vw;
        right: -2.60417vw;

        width: 5.20833vw;
        height: 5.20833vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .head__circleBg {
        top: -6.66667vw;
        right: -6.66667vw;

        width: 13.33333vw;
        height: 13.33333vw;
    }
}

.head__circleBg--open {
    -webkit-transform: scale(50);
    transform: scale(50);
}

/* ============== .foot ============== */
.foot {
    padding: 15px 0;

    background-color: #000;
}

@media print,
screen and (max-width: 1500px) {
    .foot {
        padding: .78125vw 0;
    }
}

@media print,
screen and (max-width: 1025px) {
    .foot {
        padding: 1.46484vw 0;
    }
}

@media print,
screen and (max-width: 768px) {
    .foot {
        padding: 1.31579vw 0;
    }
}

.foot__txt {
    font-size: 16px;
    font-weight: bold;

    text-align: center;
    letter-spacing: 0;

    color: #fff;
}

@media print,
screen and (max-width: 1500px) {
    .foot__txt {
        font-size: .83333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .foot__txt {
        font-size: 1.36719vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .foot__txt {
        font-size: 2.63158vw;
    }
}

/* ============== .aboutSec ============== */
.aboutSec__cont {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 694px;
    margin-bottom: 100px;
    padding: 150px 0;

    background-image: url(../images/img_about_sec_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__cont {
        height: 46.26667vw;
        margin-bottom: 6.66667vw;
        padding: 10vw 0;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__cont {
        height: 56.64062vw;
        margin-bottom: 7.8125vw;
        padding: 10.15625vw 0;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__cont {
        height: 180.26667vw;
        margin-top: 8vw;
        margin-bottom: 8vw;
        padding: 13.86667vw 0;

        background-image: url(../images/img_about_sec_bg_sp.jpg);
    }
}

.aboutSec__ttl {
    font-size: 34px;

    margin-bottom: 40px;

    letter-spacing: .1em;

    color: #fff;
    text-shadow: 0 3px 6px rgba(0, 0, 0, .4);
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__ttl {
        font-size: 2.26667vw;

        margin-bottom: 2.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__ttl {
        font-size: 2.14844vw;

        margin-bottom: 2.34375vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__ttl {
        font-size: 4.8vw;

        margin-bottom: 5.33333vw;
    }
}

.aboutSec__subTtl {
    font-size: 22px;

    margin-bottom: 14px;

    letter-spacing: .1em;

    color: #fff;
    text-shadow: 0 3px 6px rgba(0, 0, 0, .4);
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__subTtl {
        font-size: 1.46667vw;

        margin-bottom: .93333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__subTtl {
        font-size: 1.5625vw;

        margin-bottom: 1.36719vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__subTtl {
        font-size: 3.73333vw;

        margin-bottom: 2.66667vw;
    }
}

.aboutSec__txt {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;

    width: 768px;
    margin: 0 auto;

    text-align: left;
    letter-spacing: .1em;

    color: #fff;
    text-shadow: 0 3px 6px rgba(0, 0, 0, .4);
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__txt {
        font-size: 1.06667vw;

        width: 51.2vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__txt {
        font-size: 1.36719vw;

        width: 52.73438vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__txt {
        font-size: 3.73333vw;

        width: 83.86667vw;
    }
}

.aboutSec__mechanismBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__mechanismBox {
        flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.aboutSec__lBox {
    width: 560px;

    text-align: left;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__lBox {
        width: 37.33333vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__lBox {
        width: 88vw;
        margin: 0 auto;
    }
}

.aboutSec__mechanismTtl {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 19px;
    font-weight: 500;

    margin-bottom: 14px;

    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__mechanismTtl {
        font-size: 1.26667vw;

        margin-bottom: .93333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__mechanismTtl {
        font-size: 1.46484vw;

        margin-bottom: 1.36719vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__mechanismTtl {
        font-size: 3.73333vw;

        margin-bottom: 1.86667vw;
    }
}

.aboutSec__mechanismTtl>span {
    padding: 4px 12px;

    color: #fff;
    background-color: #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__mechanismTtl>span {
        padding: .26667vw .8vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__mechanismTtl>span {
        padding: .39062vw 1.17188vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__mechanismTtl>span {
        padding: .8vw 2.66667vw;
    }
}

.aboutSec__mechanismTxt {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;

    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__mechanismTxt {
        font-size: 1.2vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__mechanismTxt {
        font-size: 1.5625vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__mechanismTxt {
        font-size: 3.73333vw;
    }
}

.aboutSec__rBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 550px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__rBox {
        width: 36.66667vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__rBox {
        width: 88vw;
        margin: 0 auto;
    }
}

.aboutSec__imgBox {
    position: relative;

    width: 256px;
    margin-top: 38px;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__imgBox {
        width: 17.06667vw;
        margin-top: 2.53333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__imgBox {
        width: 17.57812vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__imgBox {
        width: 42.66667vw;
        margin-top: 6.4vw;
    }
}

.aboutSec__imgBox>img {
    display: block;

    width: 100%;
}

.aboutSec__imgTtl {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 32px;

    position: absolute;
    top: -16px;
    right: 0;
    left: 0;

    width: 148px;
    height: 32px;
    margin: 0 auto;

    content: '';
    text-align: center;

    color: #fff;
    background-color: #000;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__imgTtl {
        font-size: 1vw;
        line-height: 2.13333vw;

        top: -1.06667vw;

        width: 9.86667vw;
        height: 2.13333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__imgTtl {
        font-size: 1.36719vw;
        line-height: 2.73438vw;

        top: -1.5625vw;

        width: 12.5vw;
        height: 2.73438vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__imgTtl {
        font-size: 3.46667vw;
        line-height: 5.33333vw;

        top: -2.93333vw;

        width: 34.66667vw;
        height: 5.33333vw;
    }
}

.aboutSec__mechanismImg {
    width: 869px;
    margin: 0 auto;
    margin-top: 60px;
}

@media print,
screen and (max-width: 1500px) {
    .aboutSec__mechanismImg {
        width: 57.93333vw;
        margin-top: 4vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .aboutSec__mechanismImg {
        width: 64.45312vw;
        margin-top: 5.85938vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .aboutSec__mechanismImg {
        width: 88vw;
        margin-top: 8vw;
    }
}

.aboutSec__mechanismImg>img {
    display: block;

    width: 100%;
}

.gothic {
    position: fixed;
    z-index: 1;

    margin-top: 40px;
}

@media print,
screen and (max-width: 768px) {
    .gothic {
        display: none;
    }
}

.sub_main {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding-top: 90px;
}

@media print,
screen and (max-width: 1500px) {
    .sub_main {
        max-width: 96vw;
        padding-top: 6vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .sub_main {
        width: 100%;
    }
}

.main-contents {
    position: relative;

    float: right;

    width: 100%;
    max-width: 1160px;
    margin-top: 76px;
}

@media print,
screen and (max-width: 1500px) {
    .main-contents {
        width: 77.33333vw;
        max-width: 77.33333vw;
        margin-top: 5.06667vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .main-contents {
        float: none;

        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }
}

.mintyou {
    font-family: 'Yu Mincho Light', 'YuMincho', 'Yu Mincho', '游明朝体', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', sans-serif !important;
    font-weight: 600;
}

.side-title>p {
    font-size: 30px;

    margin-top: 10px;
}

@media print,
screen and (max-width: 1500px) {
    .side-title>p {
        font-size: 2vw;

        margin-top: .66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .side-title>p {
        font-size: 2.14844vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .title-sub {
        font-size: 4.8vw;

        display: inline-block !important;

        width: auto;
        margin-top: 5.33333vw;
        padding: 1.33333vw 4vw 1.33333vw 8vw;

        text-align: left;

        color: #fff;
        background-color: #e80819;
    }
}

.side-title {
    font-size: 15px;

    text-align: left;
}

@media print,
screen and (max-width: 1500px) {
    .side-title {
        font-size: 1vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .side-title {
        font-size: 1.36719vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .sub-title_wrap {
        text-align: left;
    }
}

/* ============== .attemptSec ============== */
.attemptSec {
    margin-top: 100px;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec {
        margin-top: 6.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec {
        margin-top: 7.8125vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec {
        width: 88vw;
        margin: 0 auto;
        margin-top: 10.66667vw;
    }
}

.attemptSec__item {
    margin-bottom: 60px;

    text-align: left;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__item {
        margin-bottom: 4vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__item {
        margin-bottom: 8vw;
    }
}

.attemptSec__ttl {
    font-size: 28px;

    position: relative;

    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 14px;
    margin-bottom: 40px;
    padding: 8px 0 8px 16px;

    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__ttl {
        font-size: 1.86667vw;

        margin-top: .93333vw;
        margin-bottom: 2.66667vw;
        padding: .53333vw 0 .53333vw 1.06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__ttl {
        font-size: 2.14844vw;

        margin-top: 1.75781vw;
        margin-bottom: 2.92969vw;
        padding: .78125vw 0 1.36719vw 1.5625vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__ttl {
        font-size: 4.8vw;
        line-height: 1.2;

        margin-top: 3.46667vw;
        margin-bottom: 4vw;
        padding: 1.06667vw 0 1.86667vw 2.13333vw;
    }
}

.attemptSec__ttl:before {
    position: absolute;
    top: 0;
    left: 0;

    width: 1px;
    height: 100%;

    content: '';

    background-color: #000;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__ttl:before {
        width: .06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__ttl:before {
        width: .09766vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__ttl:before {
        width: .13333vw;
    }
}

.attemptSec__ttl:after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';

    background-color: #000;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__ttl:after {
        height: .06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__ttl:after {
        height: .09766vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__ttl:after {
        height: .13333vw;
    }
}

.attemptSec__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__flex {
        flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.attemptSec__lBox {
    width: 577px;

    text-align: left;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__lBox {
        width: 38.46667vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__lBox {
        width: 100%;
    }
}

.attemptSec__txt {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;

    text-align: left;
    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__txt {
        font-size: 1.2vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__txt {
        font-size: 1.5625vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__txt {
        font-size: 3.73333vw;
    }
}

.attemptSec__rBox {
    width: 557.5px;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__rBox {
        width: 37.16667vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__rBox {
        width: 100%;
        margin-top: 4vw;
    }
}

.attemptSec__rBox>img {
    display: block;

    width: 100%;
}

.attemptSec__btnBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 520px;
    margin: 0 auto;
    margin-top: 40px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__btnBox {
        width: 34.66667vw;
        margin-top: 2.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__btnBox {
        width: 48.82812vw;
        margin-top: 2.92969vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__btnBox {
        width: 100%;
        margin-top: 4vw;
    }
}

.attemptSec__btn {
    line-height: 52px;

    position: relative;

    display: block;

    width: 240px;
    height: 52px;

    -webkit-transition: .3s;
    transition: .3s;
    text-align: center;

    color: #fff;
    border-radius: 6px;
    background-color: #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__btn {
        line-height: 3.46667vw;

        width: 16vw;
        height: 3.46667vw;

        border: .06667vw solid #e80819;
        border-radius: .4vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__btn {
        line-height: 4.49219vw;

        width: 21.48438vw;
        height: 4.49219vw;

        border: .09766vw solid #e80819;
        border-radius: .58594vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__btn {
        line-height: 8.53333vw;

        width: 41.33333vw;
        height: 8.53333vw;

        border: .13333vw solid #e80819;
        border-radius: .8vw;
    }
}

.attemptSec__btn>p {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;

    padding-left: 12px;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__btn>p {
        font-size: 1.06667vw;

        padding-left: .8vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__btn>p {
        font-size: 1.46484vw;

        padding-left: 1.17188vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__btn>p {
        font-size: 3.73333vw;

        padding-left: 1.6vw;
    }
}

.attemptSec__btn:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 42.8px;

    width: 17px;
    height: 17.88px;
    margin: auto 0;

    content: '';

    background-image: url(../images/ico_attempt_sec_pdf_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print,
screen and (max-width: 1500px) {
    .attemptSec__btn:before {
        left: 2.85333vw;

        width: 1.13333vw;
        height: 1.192vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .attemptSec__btn:before {
        left: 4.17969vw;

        width: 1.46484vw;
        height: 1.74609vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .attemptSec__btn:before {
        left: 4vw;

        width: 3.46667vw;
        height: 4vw;
    }
}

.attemptSec__btn:hover {
    -webkit-transition: .3s;
    transition: .3s;

    opacity: .6;
}

/* ============== .progressSec ============== */
.progressSec {
    margin-top: 40px;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec {
        margin-top: 2.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec {
        margin-top: 5.85938vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec {
        width: 88vw;
        margin: 0 auto;
        margin-top: 10.66667vw;
    }
}

.progressSec__mainTtl {
    font-size: 28px;
    line-height: 1.4;

    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__mainTtl {
        font-size: 1.86667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__mainTtl {
        font-size: 2.14844vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__mainTtl {
        font-size: 4.8vw;
    }
}

.progressSec__mainTtl>span {
    font-size: 46px;

    color: #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__mainTtl>span {
        font-size: 3.06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__mainTtl>span {
        font-size: 3.90625vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__mainTtl>span {
        font-size: 6.66667vw;
    }
}

.progressSec__ttl {
    font-size: 24px;
    line-height: 1.4;

    margin: 20px 0;

    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__ttl {
        font-size: 1.6vw;

        margin: 1.04167vw 0;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__ttl {
        font-size: 1.95312vw;

        margin: 1.95312vw 0 1.36719vw;

        letter-spacing: 0;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__ttl {
        font-size: 4.8vw;
    }
}

.progressSec__txt {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;

    margin-bottom: 30px;

    text-align: left;
    letter-spacing: .1em;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__txt {
        font-size: 1.06667vw;

        margin-bottom: 2vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__txt {
        font-size: 1.5625vw;

        margin-bottom: 2.92969vw;

        letter-spacing: 0;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__txt {
        font-size: 3.73333vw;

        margin-bottom: 4vw;
    }
}

.progressSec__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 40px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__cont {
        margin-top: 2.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__cont {
        margin-top: 2.92969vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__cont {
        flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.progressSec__item {
    /*width: 330px;*/
	width: 45%;
}



.progressSec__item>img {
    display: block;
    width: 100%;
	max-width: 330px;
  margin: 0 auto;
}

.progressSec__num {
    font-size: 30px;
    line-height: 36px;

    position: relative;

    display: inline-block;

    width: 36px;
    height: 36px;

    text-align: center;

    color: #fff;
    background-color: #e80819;
}
@media print,
screen and (max-width: 1500px) {
    /*.progressSec__item {
        width: 22vw;
    }*/
	.progressSec__item>img {
	max-width: 22vw;
}
}

@media print,
screen and (max-width: 1025px) {
    /*.progressSec__item {
        width: 23.82812vw;
    }*/
	.progressSec__item>img {
	max-width: 23.82812vw;
}
}

@media print,
screen and (max-width: 768px) {
    .progressSec__item {
        width: 88vw;
        margin-bottom: 8vw;
    }
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__num {
        font-size: 2vw;
        line-height: 2.4vw;

        width: 2.4vw;
        height: 2.4vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__num {
        font-size: 2.34375vw;
        line-height: 3.51562vw;

        width: 3.51562vw;
        height: 3.51562vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__num {
        font-size: 6.66667vw;
        line-height: 8vw;

        width: 8vw;
        height: 8vw;
    }
}

.progressSec__num:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -146px;

    width: 124px;
    height: 1px;
    margin: auto 0;

    content: '';

    background-color: #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__num:before {
        left: -9.73333vw;

        width: 8.26667vw;
        height: .06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__num:before {
        left: -10.05859vw;

        width: 8.39844vw;
        height: .09766vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__num:before {
        left: -40.53333vw;

        width: 36vw;
        height: .13333vw;
    }
}

.progressSec__num:after {
    position: absolute;
    top: 0;
    right: -146px;
    bottom: 0;

    width: 124px;
    height: 1px;
    margin: auto 0;

    content: '';

    background-color: #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__num:after {
        right: -9.73333vw;

        width: 8.26667vw;
        height: .06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__num:after {
        right: -10.05859vw;

        width: 8.39844vw;
        height: .09766vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__num:after {
        right: -40.53333vw;

        width: 36vw;
        height: .13333vw;
    }
}

.progressSec__photoBox {
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    /*-ms-flex-align: end;
    align-items: flex-end;*/
	align-items: center;
	margin-left: 50px;
}

.progressSec__photoBox>img {
    width: 280px;
    padding-top: 30px;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__photoBox>img {
        width: 18.66667vw;
        padding-top: 2vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__photoBox>img {
        width: 20.50781vw;
        padding-top: 2.34375vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__photoBox>img {
        width: 77.33333vw;
        padding-top: 3.2vw;
    }
}

.progressSec__photoBox--bottom {
    margin-top: 24px;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__photoBox--bottom {
        margin-top: 1.6vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__photoBox--bottom {
        margin-top: .97656vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__photoBox--bottom {
        margin-top: 5.33333vw;
    }
}

.progressSec__photoTxtBox {
    position: absolute;
    top: 0;
    left: 50px;

    width: 100px;
    height: 100px;

    content: '';

    border-radius: 50%;
    background-color: #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__photoTxtBox {
        width: 6.66667vw;
        height: 6.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__photoTxtBox {
        width: 7.8125vw;
        height: 7.8125vw;
    }
}

@media print,
screen and (max-width: 768px) {
	.progressSec__photoBox {
		margin-left: 0;
	}
    .progressSec__photoTxtBox {
        width: 20.8vw;
        height: 20.8vw;
		left: 0;
    }
	 .progressSec__item > img {
    max-width: 100%;
  }
}

.progressSec__photoTxt {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;

    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    white-space: nowrap;

    color: #fff;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__photoTxt {
        font-size: 1.06667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__photoTxt {
        font-size: 1.26953vw;
        line-height: 1.1;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__photoTxt {
        font-size: 3.73333vw;
    }
}

.progressSec__photoTxt--ajt {
    font-size: 14px;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__photoTxt--ajt {
        font-size: .93333vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__photoTxt--ajt {
        font-size: 1.07422vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__photoTxt--ajt {
        font-size: 3.2vw;
    }
}

.progressSec__banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;

    margin-top: 100px;
    margin-bottom: 100px;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__banner {
        margin-top: 6.66667vw;
        margin-bottom: 6.66667vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__banner {
        margin-top: 7.8125vw;
        margin-bottom: 7.8125vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__banner {
        margin-top: 8vw;
        margin-bottom: 8vw;
    }
}

.progressSec__imgBox {
    position: relative;

    width: 1039.36px;
    margin: 0 auto;
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__imgBox {
        width: 69.29067vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__imgBox {
        width: 77.14844vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__imgBox {
        width: 100%;
    }
}

.progressSec__imgBox>img {
    display: block;

    width: 100%;
}

.progressSec__btn {
    font-size: 16px;

    position: absolute;
    bottom: 38px;
    left: 354px;

    content: '';
}

@media print,
screen and (max-width: 1500px) {
    .progressSec__btn {
        font-size: 1.06667vw;

        bottom: 2.53333vw;
        left: 23.6vw;
    }
}

@media print,
screen and (max-width: 1025px) {
    .progressSec__btn {
        font-size: 1.5625vw;

        bottom: 2.92969vw;
        left: 24.21875vw;
    }
}

@media print,
screen and (max-width: 768px) {
    .progressSec__btn {
        font-size: 3.73333vw;

        right: 3.86667vw;
        bottom: 3.73333vw;
        left: auto;

        margin: 0 auto;
    }
}

.btn01 {
    display: block;

    width: 202px;
    padding: 15px 0;

    text-align: center;
}

@media print,
screen and (max-width: 1500px) {
    .btn01 {
        width: 13.46667vw;
        padding: 1vw 0;
    }
}

@media print,
screen and (max-width: 768px) {
    .btn01 {
        width: 32.55208vw;
        margin: 0 auto;
        padding: 2vw 0;
    }

    .navi-menu > ul > li > a, .navi-menu > ul > li p{
        text-align: left;
    }
}

.red-btn {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;

    -webkit-transition: all .5s;
    transition: all .5s;
    text-decoration: none;

    color: #e80819;
    border: solid 1px #e80819;
}

@media print,
screen and (max-width: 1500px) {
    .red-btn {
        border: solid .06667vw #e80819;
    }
}

.red-btn:after {
    position: absolute;
    top: 0;
    right: -15px;
    bottom: 0;

    display: inline-block;
    display: inline-block;

    width: 30px;
    height: 7px;
    margin: auto;

    content: '';
    -webkit-transition: all .5s;
    transition: all .5s;
    vertical-align: middle;

    opacity: 0;
    border-bottom: solid 1px #fff;
    background-image: url(../imagesred-arow.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print,
screen and (max-width: 1025px) {
    .red-btn:after {
        display: none;
    }
}

.red-btn:hover {
    font-family: YuGothic, 'Yu Gothic', 'ヒラギノ角ゴシック', 'Hiragino Sans', sans-serif;
    font-size: 95%;

    color: white;
    background-color: #e80819;
}

@media print,
screen and (max-width: 1025px) {
    .red-btn:hover {
        font-size: 100%;

        color: #e80819;
        background-color: #fff;
    }
}

.red-btn:hover:after {
    position: absolute;
    right: -15px;

    display: inline-block;

    width: 30px;
    height: 7px;
    margin-left: 60px;

    -webkit-transition: all .5s;
    transition: all .5s;
    -webkit-transform: translate(8px, 0);
    transform: translate(8px, 0);
    vertical-align: middle;

    opacity: 1;
    border-bottom: solid 1px #fff;
    background-image: url(../images/red-arow.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print,
screen and (max-width: 1025px) {
    .red-btn:hover:after {
        display: none;
    }
}

@media print,
screen and (max-width: 768px) {
    .sub-titleWrp {
        text-align: left;
    }
}

footer{
    text-align: left;
}