/* fv
----------------------------*/

.fv {
    z-index: 1;
}

.fv-inner {
    min-height: 700px;
}


/* intro
----------------------------*/

.intro {
    position: relative;
    padding: 143px 0 97px 0;
    overflow: hidden;
}

.intro-scroll {
    position: absolute;
    top: -50px;
    bottom: auto;
    right: 0;
    left: 0;
    margin: auto;
}

.intro-scrollArrowWrap {
    height: 103px;
}

.intro-scrollArrowParent {
    height: 100%;
    -webkit-animation: arrowmove 2.4s ease-in-out infinite;
    animation: arrowmove 2.4s ease-in-out infinite;
    overflow: hidden;
    position: relative;
}

.intro-scrollArrowWrap .c-scrollArrow:before {
    background: #252943;
}

.intro-scrollArrowWrap .c-scrollArrow:after {
    background: #252943;
}

.intro-Title1 {
    text-align: center;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.intro-Title1 svg {
    width: 488px;
    height: 399px;
}

.intro-txt1 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #252943;
    font-size: 2.6em;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 52px 0 0 0;
}


/* precautions
----------------------------*/

.precautions {
    background: #eee;
    padding: 33px 20px 96px;
}

.precautions-inner {
    width: 832px;
    max-width: 100%;
    margin: 0 auto 0;
    padding: 46px 0 0 0;
}

.precautions-Title1 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: left;
    color: #252943;
    font-size: 4em;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: 0;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.precautions-Title1 span {
    letter-spacing: 0.15em;
    vertical-align: 0.15em;
}

.precautions-txtarea1Wrap {
    background: #fff;
    border-radius: 15px;
    width: 812px;
    max-width: 100%;
    padding: 0 0;
    margin: 18px 0 0 0;
    overflow: hidden;
}

.precautions-txtarea1 {
    display: block;
    overflow-y: scroll;
    padding: 24px 20px 40px 40px;
    height: 404px;
}

.precautions-txtarea1 li {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: left;
    color: #252943;
    font-size: 1.6em;
    font-weight: 800;
    line-height: 1.9;
    letter-spacing: 0em;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 34px 0 0 0;
    list-style: disc;
}

.precautions-txtarea1 li:first-child {
    margin: 0 0 0 0;
}


/* participation
----------------------------*/

.no-webp .participation,
.participation {
    background-image: url(../img/illustration_banner.png);
    background-size: cover;
    background-position: center 0;
    background-repeat: no-repeat;
    padding: 90px 20px 93px;
}

.webp .participation {
    background-image: url(../img/illustration_banner.webp);
}

.participation-inner {
    width: 812px;
    max-width: 100%;
    margin: 0 auto 0;
}

.participation-txt1 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: left;
    color: #3E94FC;
    font-size: 1.8em;
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.participation-txt2 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: left;
    color: #252943;
    font-size: 1.2em;
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-indent: -1em;
    padding: 0 0 0 1em;
    margin: 10px 0 0 0;
}

.participation-cont1 {
    text-align: center;
    overflow: hidden;
    margin: 43px 0 0 0;
}

.participation-cont1Btn1 {
    position: relative;
    float: left;
}

.participation-cont1Btn1 a {
    position: relative;
    display: inline-block;
    background: #fff;
    border: solid 2px #252943;
    border-radius: 2.1em;
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #252943;
    font-size: 2.1em;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 23px 0 0 0;
    margin: 0 0 0 0;
    width: 320px;
    height: 82px;
}

.participation-cont1Btn1 .participation-cont1Btn1Txt {
    vertical-align: 0.3em;
    letter-spacing: 0.1em;
}

.participation-cont1Btn1 svg {
    width: 36px;
    height: 27.69px;
    margin: 0 0 0 15px;
}

.participation-cont1Txt1 {
    float: left;
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #252943;
    font-size: 2.8em;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 16px 0 0 67px;
}

.participation-cont1Btn2 {
    float: right;
}

.participation-cont1Btn2 a {
    position: relative;
    display: inline-block;
    background: #fff;
    border: solid 2px #252943;
    border-radius: 2.1em;
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #252943;
    font-size: 2.1em;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 23px 0 0 0;
    margin: 0 0 0 0;
    width: 320px;
    height: 82px;
}

.participation-cont1Btn2 .participation-cont1Btn2Txt {
    vertical-align: 0.3em;
    letter-spacing: 0.1em;
}

.participation-cont1Btn2 svg {
    width: 35px;
    height: 28px;
    margin: 0 0 0 13px;
}


/* toform
----------------------------*/

.toform {
    padding: 136px 0 147px 0;
}

.toform-title1 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #252943;
    font-size: 4em;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0.15em;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.toform-arrow {
    text-align: center;
    margin: 50px 0 0 0;
    overflow: visible;
}

.toform-arrow svg {
    width: 124px;
    height: 150px;
    overflow: visible;
}

.toform-arrow svg .a {
    fill: #3E94FC;
    -webkit-animation: arrowmove2 2s ease-in-out infinite;
    animation: arrowmove2 2s ease-in-out infinite;
}

.toform-arrow svg .b {
    fill: #252943;
}

@-webkit-keyframes arrowmove2 {
    0% {
        -webkit-transform: translateY(-9px);
        transform: translateY(-9px);
    }
    38.2% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    99.9%,
    to {
        -webkit-transform: translateY(-9px);
        transform: translateY(-9px);
    }
}

@keyframes arrowmove2 {
    0% {
        -webkit-transform: translateY(-9px);
        transform: translateY(-9px);
    }
    38.2% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    99.9%,
    to {
        -webkit-transform: translateY(-9px);
        transform: translateY(-9px);
    }
}

.toform-btn1 {
    text-align: center;
    padding: 0 0 0 0;
    margin: 58px 0 0 0;
}

.toform-btn1 button {
    display: inline-block;
    background-color: #3E94FC;
    border-style: none;
    border-radius: 3.2em;
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #fff;
    font-size: 3.2em;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 2px 0 0 0;
    margin: 0 auto 0;
    width: 367px;
    height: 86px;
}

.toform-txt1 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    text-align: center;
    color: #252943;
    font-size: 1.6em;
    font-weight: 800;
    line-height: 1.7;
    letter-spacing: 0.1em;
    text-decoration: none;
    padding: 0 0 0 0;
    margin: 36px 0 0 0;
}

@media screen and (max-width: 991px) {
    .participation-cont1Txt1 {
        margin: 16px 0 0 calc((100% - 684px) / 2);
    }
}

@media screen and (max-width: 767px) {
    /* intro
  ----------------------------*/
    .intro {
        padding: 68px 0 62px 0;
    }
    .intro-scroll {
        display: none;
    }
    .intro-Title1 {
        width: 240px;
        margin: 0 auto 0;
    }
    .intro-txt1 {
        text-align: center;
        color: #252943;
        font-size: 1.8em;
        font-weight: 800;
        line-height: 1.6;
        letter-spacing: 0em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 38px 0 0 0;
    }
    /* precautions
  ----------------------------*/
    .precautions {
        padding: 33px 30px 41px;
    }
    .precautions-inner {
        margin: 0 auto 0;
        padding: 0 0 0 0;
    }
    .precautions-Title1 {
        text-align: center;
        color: #252943;
        font-size: 2.4em;
        font-weight: 900;
        line-height: 1.3;
        letter-spacing: 0;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
    }
    .precautions-Title1 img {
        width: 45px;
    }
    .precautions-Title1 span {
        display: block;
        text-align: center;
    }
    .precautions-txtarea1Wrap {
        margin: 20px 0 0 0;
    }
    .precautions-txtarea1 {
        padding: 17px 23px 17px 30px;
        height: 404px;
    }
    .precautions-txtarea1 li {
        text-align: left;
        color: #252943;
        font-size: 1.2em;
        font-weight: 800;
        line-height: 1.8;
        letter-spacing: 0em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 20px 0 0 0;
        list-style: disc;
    }
    /* participation
  ----------------------------*/
    .participation {
        padding: 65px 30px 69px;
    }
    .participation-txt1 {
        text-align: left;
        font-size: 1.2em;
        font-weight: 800;
        line-height: 2;
        letter-spacing: 0em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
    }
    .participation-txt2 {
        text-align: left;
        font-size: 1.2em;
        font-weight: 800;
        line-height: 2;
        letter-spacing: 0em;
        text-decoration: none;
        margin: 0 0 0 0;
    }
    .participation-cont1 {
        margin: 46px 0 0 0;
    }
    .participation-cont1Btn1 {
        float: none;
    }
    .participation-cont1Btn1 a {
        position: relative;
        display: inline-block;
        border-radius: 2.1em;
        text-align: center;
        font-size: 1.4em;
        font-weight: 800;
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-decoration: none;
        padding: 12px 0 0 0;
        margin: 0 0 0 0;
        width: 230px;
        height: 55px;
    }
    .participation-cont1Btn1 .participation-cont1Btn1Txt {
        vertical-align: 0.6em;
        letter-spacing: 0.1em;
    }
    .participation-cont1Btn1 svg {
        width: 27px;
        margin: 0 0 0 10px;
    }
    .participation-cont1Txt1 {
        float: none;
        text-align: center;
        font-size: 1.8em;
        font-weight: bold;
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 22px auto 22px;
    }
    .participation-cont1Btn2 {
        float: none;
    }
    .participation-cont1Btn2 a {
        position: relative;
        display: inline-block;
        border-radius: 2.1em;
        text-align: center;
        font-size: 1.4em;
        font-weight: 800;
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-decoration: none;
        padding: 11px 0 0 0;
        margin: 0 0 0 0;
        width: 230px;
        height: 55px;
    }
    .participation-cont1Btn2 .participation-cont1Btn2Txt {
        vertical-align: 0.6em;
        letter-spacing: 0.1em;
    }
    .participation-cont1Btn2 svg {
        width: 27px;
        margin: 0 0 0 6px;
    }
    /* toform
  ----------------------------*/
    .toform {
        padding: 60px 0 64px;
    }
    .toform-title1 {
        text-align: center;
        color: #252943;
        font-size: 2.8em;
        font-weight: 900;
        line-height: 1.4;
        letter-spacing: 0.15em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 0 0 0 0;
    }
    .toform-arrow {
        margin: 34px 0 0 0;
    }
    .toform-arrow svg {
        width: 124px;
        height: 150px;
    }
    .toform-btn1 {
        margin: 43px 0 0 0;
    }
    .toform-btn1 a {
        display: inline-block;
        background-color: #3E94FC;
        border-radius: 3.2em;
        font-family: "M PLUS Rounded 1c", sans-serif;
        text-align: center;
        color: #fff;
        font-size: 2.1em;
        font-weight: 900;
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-decoration: none;
        padding: 10px 0 0 0;
        margin: 0 auto 0;
        width: 285px;
        height: 55px;
    }
    .toform-btn1 button {
        display: inline-block;
        background-color: #3E94FC;
        border-style: none;
        border-radius: 3.2em;
        font-family: "M PLUS Rounded 1c", sans-serif;
        text-align: center;
        color: #fff;
        font-size: 2.1em;
        font-weight: 900;
        line-height: 1.6;
        letter-spacing: 0.1em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 0 auto 0;
        width: 285px;
        height: 55px;
    }
    .toform-txt1 {
        text-align: center;
        color: #252943;
        font-size: 1.2em;
        font-weight: 800;
        line-height: 1.7;
        letter-spacing: 0.1em;
        text-decoration: none;
        padding: 0 0 0 0;
        margin: 22px 0 0 0;
    }
}