@charset "utf-8";

/* ==========================================================================
   Base
========================================================================== */
body {
    font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', sans-serif;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.58;
    color: #000000;
}
main {
    background: url(./img/con_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    padding-bottom: 100px;
}

main,footer {
    min-width: 1280px;
}

img {
    vertical-align: bottom;
    width: 100%;
}

.text-red {
    color: #FF0000;
}

.text-pink {
    color: #FF7BA9;
}

.text-blue {
    color: #3FA6F2;
}

article {
    width: 78.125%;
    max-width: 1000px;
    margin: 0 auto;

    background-color: #fff;
    box-shadow: 0 0 10px 0 #ffffff;
    padding: 120px 100px;
}

article + article {
    margin-top: 100px;
}

picture {
    display: inline-block;
}

p.text {
    text-align: justify;
}

a {
    text-decoration: none;
    color: #3FA6F2;
}
.is-sp {
    display: none;
}
@media screen and (max-width: 767px) {
    body {
        font-size: 3.255vw;
    }
    main {
        background: url(./img/con_bg-sp.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: top 141.276vw left 0;
        padding-bottom: 13.468vw;
    }
    main,footer {
        min-width: 100%;
    }
    article {
        width: 73.948%;
        max-width: 73.949vw;

        box-shadow: 0 0 1.302vw 0 #ffffff;
        padding: 13.021vw 6.51vw;

        position: relative;
    }
    article + article {
        margin-top: 13.021vw;
    }
    .is-sp {
        display: inline-block;
    }

    .is-pc {
        display: none;
    }
}


/* ==========================================================================
   共通パーツ
========================================================================== */
article section {
    padding-left: 150px;
}

@media screen and (max-width: 767px) {
    article section {
        padding-left: 0;
    }
}

/* section */
section .section-lead {
    font-size: 30px;
    color: #1B1464;
    font-weight: 700;

    line-height: 1.5;
}

section .section-lead + .section-lead {
    margin-top: 50px;
}

section .section-lead + .text {
    margin-top: 50px;
}

article section + section {
    margin-top: 180px;
}

article section .sub-con .con-item {
    padding: 0 20px;
}

@media screen and (max-width: 767px) {
    section .section-lead {
        font-size: 3.646vw;

        line-height: 1.6;
    }

    section .section-lead + .section-lead {
        margin-top: 6.51vw;
    }

    section .section-lead + .text {
        margin-top: 6.51vw;
    }

    article section + section {
        margin-top: 26.042vw;
    }

    article section .sub-con .con-item {
        padding: 0 2.604vw;
    }
}

/* h2 */
h2 {
    color: #00AFCD;
    font-size: 60px;
    position: relative;
    line-height: 1.1;
    padding-bottom: 20px;
    margin-bottom: 50px;
    border-bottom: 1.5px solid #0AD2FB;
}

h2:before {
    position: absolute;
    content: "";
    display: block;
    width: 128.16px;
    height: 134.16px;
    top: -45px;
    left: -170px;
    background-image: url(./img/icon_title.png);
    background-size: cover;
    background-repeat: no-repeat;
}

h2 img {
    height: 60px;
    width: auto;
}

@media screen and (max-width: 767px) {
    h2 {
        position: static;
        font-size: 7.161vw;
        line-height: 1.23;
        padding-bottom: 3.125vw;
        margin-bottom: 6.51vw;
        text-align: center;
        border-bottom: 1px solid #0AD2FB;
    }

    h2:before {
        position: absolute;
        width: 13.438vw;
        height: 14.094vw;
        top: -7.812vw;
        left: 42%;
        background-image: url(./img/icon_title-sp.png);
        opacity: .53;
    }

    h2 img {
        height: 5.979vw;
    }
}

/* h3 */
h3 {
    font-size: 30px;
    font-weight: 600;
    color: #fff;
    background-image: linear-gradient(90deg, #0071B9, #0AD2FB);

    display: flex;
    align-items: center;

    padding: 7px 0 7px 10px;
    margin: 50px 0 27px;
}
h3 img {
    width: auto;
    height: 28px;
}
h3 span {
    line-height: 1;
}
h3 span img {
    width: auto;
    height: 35px;

    margin-right: 15px;
}

@media screen and (max-width: 767px) {
    h3 {
        font-size: 3.906vw;

        padding: 0.977vw 0 0.977vw 2.344vw;
        margin: 6.51vw 0 3.255vw;
    }
    h3 img {
        height: 3.676vw;
    }
    h3 span img {
        height: 4.557vw;

        margin-right: 2.604vw;
    }
}

/* step-wrap */
.step-wrap dl {
    display: flex;
    align-items: flex-start;
}

.step-wrap dl + dl {
    margin-top: 50px;
}

.step-wrap dl dt {
/*    margin-right: 10px;*/
}

.step-wrap dl dd {
    text-align: justify;
}

@media screen and (max-width: 767px) {
    .step-wrap dl {
        display: block;
    }
    .step-wrap dl dt {
        margin-left: -2vw;
    }
    .step-wrap dl + dl {
        margin-top: 6.51vw;
    }
}

/* place-wrap */
.place-wrap li {
    font-size: 25px;
    line-height: 1.4;

    text-indent: -1.5em;
    padding-left: 1.5em;
}
.place-wrap li:before {
    content: "●";
    font-size: 30px;
    color: #3FA6F2;
    position: relative;
}
.place-wrap li + li {
    margin-top: 40px;
}
.place-wrap li span {
    font-size: 20px;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .place-wrap li {
        font-size: 3.255vw;

        text-indent: -1.2em;
        padding-left: 1.2em;
    }
    .place-wrap li:before {
        font-size: 3.255vw;
    }
    .place-wrap li + li {
        margin-top: 5.208vw;
    }
    .place-wrap li span {
        font-size: 2.865vw;
        line-height: 1.3;
    }
}

/* note-box */
.note-box {
    border: 1px solid #0AD2FB;
    padding: 15px 0;
    margin-top: 50px;
}

.note-box p {
    text-align: center;
}

@media screen and (max-width: 767px) {
    .note-box {
        padding: 2.604vw 0;
        margin-top: 6.51vw;
    }
    .note-box p {
        font-size: 3.125vw;
    }
}

/* ==========================================================================
   メインエリア
========================================================================== */
.mv-area {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

.mv-main .mv-logo {
    position: absolute;
    width: 412px;
    top: 55px;
    left: 111px;
}

.date-area {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 59px;
}
.date-area .icon-date {
    position: relative;
    width: 161px;
    height: 161px;
}
.date-area .icon-date .icon-bg img {
    width: 161px;
    height: 161px;
/*    background: url(./img/icon_date-bg.png);
    background-size: cover;
    background-repeat: no-repeat;*/
    opacity: .47;
}
.date-area .icon-date picture {
    display: block;
}
.date-area .icon-date picture img {
    width: 75px;
    z-index: 1;

    position: absolute;
    top: 40px;
    left: 40px;
}

.date-area .date-img {
    width: 712px;
    margin-left: 30px;
}

.mv-area .btn-wrap {
    width: 954px;
    margin: 20px auto 0;
}

.mv-area + article {
    margin-top: 57px;
}

@media screen and (max-width: 767px) {
    .mv-area {
        width: auto;
    }
    .mv-main .mv-logo {
        width: 41.156vw;
        top: 4.094vw;
        left: 9.688vw;
    }
    .date-area {
        margin-top: 5.469vw;
        flex-direction: column;
    }
    .date-area .icon-date {
        width: 22.969vw;
        height: 22.969vw;
    }

    .date-area .icon-date picture img {
        width: 100%;

        position: static;
    }

    .date-area .date-img {
        width: 85.645vw;
        margin-left: 0;
    }

    .mv-area .btn-wrap {
        width: 95.063vw;
        margin: 2.604vw auto 0;
    }

    .mv-area + article {
        margin-top: 8.91vw;
    }
}

/* ==========================================================================
   art01
========================================================================== */
.art01 .detail-wrap {
    margin-top: 40px;
}

.art01 .detail-wrap dl {
    display: flex;
    align-items: flex-start;
    line-height: 1.75;
}
.art01 .detail-wrap dl + dl {
    margin-top: 25px;
}
.art01 .detail-wrap dl dt {
    color: #fff;
    background-image: linear-gradient(90deg, #0071B9, #0AD2FB);
    padding: 0 20px;
}

.art01 .detail-wrap dl dd {
    padding-left: 20px;
}

.art01 .btn-wrap {
    margin-top: 75px;
}

.art01 .btn-wrap a {
    display: block;
    text-align: center;
    font-size: 25px;
    color: #0071B9;
    width: 561px;
    padding: 8px 0 5px;
    border-radius: 30px;
    border: 2px solid #0071B9;
}

@media screen and (max-width: 767px) {
    .art01 .detail-wrap {
        margin-top: 6.51vw;
    }
    .art01 .detail-wrap dl + dl {
        margin-top: 3.255vw;
    }
    .art01 .detail-wrap dl dt {
        padding: 0 1.302vw;
    }

    .art01 .detail-wrap dl dd {
        padding-left: 3.255vw;
    }

    .art01 .btn-wrap {
        margin-top: 6.51vw;
    }

    .art01 .btn-wrap a {
        font-size: 3.255vw;
        width: 100%;
        padding: 1.953vw 0 1.953vw;
        border-radius: 25vw;
        border: 1px solid #0071B9;
    }
}
/* ==========================================================================
   art02
========================================================================== */
@media screen and (max-width: 767px) {
    .art02 h2 img {
        height: 6.881vw;
    }
}

/* ==========================================================================
   art03
========================================================================== */
@media screen and (max-width: 767px) {
    .art03 h2 img {
        height: 6.881vw;
    }
}

/* ==========================================================================
   art04
========================================================================== */
@media screen and (max-width: 767px) {
    .art04 h2 img {
        height: 6.444vw;
    }
}

/* ==========================================================================
   art05
========================================================================== */
.art05 {
    position: relative;
}

.art05 .tab-wrap {
    position: absolute;
    top: -56.1302px;
    left: 330px;
    width: 560px;
}

@media screen and (max-width: 767px) {
    .art05 .tab-wrap {
        top: -7.02vw;
        left: 8%;
        width: 72.938vw;
    }

    .art05 h2:before {
        display: none;
    }

    .art05 h2 img {
        height: 6.652vw;
    }
}

/* ==========================================================================
   art6
========================================================================== */
@media screen and (max-width: 767px) {
    .art06 h2 img {
        height: 6.831vw;
    }
}

/* ==========================================================================
   footer
========================================================================== */
footer {
    width: 100%;
    background: #000000;
}

footer .copyright p {
    font-family: "新ゴ R", sans-serif;
    font-size: 16px;
    text-align: center;
    color: #fff;
    padding: 50px 0;
}

@media screen and (max-width: 767px) {
    footer .copyright p {
        font-size: 3.125vw;
        font-weight: normal;
        padding: 3.255vw 0;
    }
}
