/* 共通=====================================================*/
body {
    font-weight: 100;
    background: #fff;
}
* {
    box-sizing: border-box;
}
body a {
    color: #b60081;
    text-decoration: underline;
}
.more-wrap a,
.more-wrap a:visited,
.more-wrap a:link,
.list a,
.list a:visited,
.list a:link {
    color: #b60081;
    text-decoration: underline;
}
main img {
    display: block;
}
#header.end {
    padding-top: 0;
}
.header-img img {
    width: 100%;
    margin: 0 auto;
    display: block;
}
.link_deco {
    color: #b60081;
    text-decoration: underline !important;
    font-weight: bold;
}
.mt_20{
    padding: 20px 0 0;
}
@media screen and (min-width: 641px) {
    body {
        font-size: 20px;
        line-height: 1.6;
    }
    #header {
        padding-top: 121px;
    }
    .header-img {
        background: #ffffff;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }
    .header-img img {
        width: 1024px;
    }
    .bg-purple {
        background-image: linear-gradient( #ffffff, #ebd9ea 5%);
        padding-bottom: 100px;
    }
    .entry_item img{
        width: 100%;
        margin: 0 auto;
        display: block;
    }
    .entry_btn {
        background-color: #e85f9d;
        color: #ffffff;
        text-align: center;
        padding: 10px 20px;
        width: 60%;
        margin: 40px auto;
        display: block;
        border-radius: 50px;
    }
    .entry_btn p {
        color: #ffffff;
        font-weight: bold;
        font-size: 50px;
    }
    .entry_btn span {
        color: #f2ff00;
    }
    .point img {
        width: 80%;
        display: block;
        margin: 60px auto 60px;
    }
    section h2 img {
        margin: auto;
    }
    .participate_ttl {
        padding: 10px 20px 10px;
        font-weight: bold;
        text-align: center;
        border-radius: 4px;
        background: #a90b78;
        color: #ffffff;
        margin: 60px auto 60px;
        font-size: 24px;
    }
    section.usual.is01 p {
        font-weight: bold;
        text-align: center;
        font-size: 40px;
    }
    section.special h2 img {
        margin: auto;
        padding: 0 0 40px;
    }
    .step_box {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        flex-direction: row;
        padding: 0px 0 40px;
    }
    .step_box_img_pc img {
        width: 816px;
        max-width: 100%;
    }
    .dot_line img {
        padding: 100px 0;
        margin: 0 auto;
        display: block;
    }
    section.usual.is02 h3 {
        text-align: center;
    }
    section.usual.is03 h3 {
        text-align: center;
    }
    section .list {
        padding-left: 1em;
        text-indent: -1em;
    }
    .dl-box .detail a {
        display: block;
        width: fit-content;
        margin: auto;
    }
    .dl-box .list {
        width: fit-content;
        margin: auto;
    }
    .outline-box {
        width: 960px;
        margin: auto;
    }
    section.usual.is01 {
        padding: 0px 0 40px;
    }
    section.special {
        padding: 80px;
        border-radius: 30px;
        background: #ffffff;
        border: 10px solid #d2a4c9;
        position: relative;
    }
    .baloon_img_1 img {
        position: absolute;
        top: 0;
        right: -10%;
    }
    .baloon_img_2 img {
        position: absolute;
        top: 10%;
        left: -10%;
    }
    .baloon_img_3 img {
        position: absolute;
        top: 30%;
        right: -10%;
    }
    .baloon_img_4 img {
        position: absolute;
        bottom: 0%;
        left: -10%;
    }
    section.special .btn-box a {
        width: 454px;
        margin-top: 25px;
    }
    ul.download {
        width: 520px;
        margin: 0 auto;
    }
    ul.download:after {
        content: '';
        display: block;
        clear: both;
    }
    ul.download li {
        width: 214px;
        float: left;
    }
    ul.download li:last-child {
        width: 266px;
        float: right;
    }
    ul.download li a {
        display: block;
    }
    section.usual.is01 ul.download {
        margin-top: 50px;
    }
    section.special .img-box.isTxt02 {
        top: -40px;
    }
    .special-inner.is02 h2.isLink .h2a {
        top: 2px;
        right: 410px;
    }
    .special-inner .more-wrap {
        width: 736px;
        margin: 60px auto 0;
        padding: 60px 0;
    }
    .special-inner .more-wrap li+li {
        margin-top: 60px;
    }
    .special-inner .more-wrap dt {
        font-size: 24px;
    }
    .special-inner .more-wrap dt:before {
        width: 42px;
        height: 42px;
        top: -3px;
    }
    .special-inner .more-wrap dt span {
        padding-left: 50px;
    }
    .special-inner .more-wrap dd.img-box img {
        margin: 20px auto 0;
    }
    .special-inner .more-wrap p {
        margin: 20px auto;
        font-size: 18px;
        line-height: 28px;
        text-align: center;
    }
    .step_ttl img {
        display: block;
        margin: 40px auto 0;
        max-width: 100%;
        width:50%;
    }
    .news_ttl img {
        display: block;
        margin: 40px auto 0;
        width: 100%;
    }
    .news_subttl img {
        display: block;
        margin: 100px auto 0;
        width: 100%;
    }
    .mainLP_banner img {
        display: block;
        margin: 100px auto 0px;
        width: 100%;
    }
    .outline-box.is02 {
        width: 1024px;
        margin: 0 auto;
        padding: 40px 0 0;
    }
    section.usual .banner-box {
        margin-top: 40px;
    }
    section.usual .banner-box img {
        max-width: 100%;
    }
    section.usual+.usual {
        margin-top: 100px;
    }
    .dl-box {
        margin-top: 100px;
    }
    .dl-box .detail {
        margin-top: 80px;
    }
    .dl-box .download {
        margin-top: 80px;
    }
    .dl-box .list {
        margin-top: 40px;
        font-size: 16px;
    }
}
@media screen and (max-width: 640px) {
    body {
        font-size: 15px;
        line-height: 1.6;
        font-weight: bold;
    }
    #header {
        padding-top: 17.467vw;
    }
    .header-img {
        background: #EE86B4;
        background: linear-gradient(180deg, rgba(238, 134, 180, 1) 0%, rgba(253, 239, 245, 1) 50%);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }
    .header-img img {
        width: 100%;
    }
    .bg-purple {
        background-image: linear-gradient(#ffffff, #ebd9ea 10%);
        padding-bottom: 100px;
    }
    .entry_item img{
        width: 100%;
        margin: 0 auto;
        display: block;
    }
    .entry_btn {
        background-color: #e85f9d;
        color: #ffffff;
        text-align: center;
        padding: 10px 20px;
        width: 80%;
        margin: 20px auto 40px;
        display: block;
        border-radius: 50px;
    }
    .entry_btn p {
        color: #ffffff;
        font-weight: bold;
        font-size: 20px;
    }
    .point img {
        width: 80%;
        display: block;
        margin: 0 auto 40px;
    }
    section h2 img {
        margin: auto;
    }
    .participate_ttl {
        padding: 4px 20px 1px;
        font-weight: bold;
        text-align: center;
        border-radius: 4px;
        background: #a90b78;
        color: #ffffff;
        margin: 20px auto 20px;
        font-size: 18px;
    }
    section.usual.is01 p {
        font-weight: bold;
        text-align: center;
    }
    section.special h2 img {
        margin: auto;
        padding: 40px 0 40px;
    }
    .step_box {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        flex-direction: row;
    }
    .step_box_img img {
        width: 50%;
        margin: 0 auto 20px;
        display: block;
    }
    .dot_line img {
        padding: 40px 0;
        margin: 0 auto;
        display: block;
    }
    section.usual.is02 h3 {
        text-align: center;
    }
    section.usual h3 {
        text-align: center;
    }
    section .list {
        padding-left: 1em;
        text-indent: -1em;
    }
    .dl-box .detail a {
        display: block;
        width: fit-content;
        margin: auto;
    }
    .dl-box .list {
        width: fit-content;
        margin: auto;
    }
    .outline-box {
        width: 95%;
        margin: auto;
    }
    section.usual.is01 {
        padding: 0px 0 40px;
    }
    section.usual.is01 p {
        font-size: 24px;
    }
    section.special {
        padding: 20px;
        border-radius: 30px;
        background: #ffffff;
        border: 4px solid #d2a4c9;
        position: relative;
        margin: 0 auto 60px;
    }
    section.special .btn-box a {
        width: 454px;
        margin-top: 25px;
    }
    ul.download {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }
    ul.download:after {
        content: '';
        display: block;
        clear: both;
    }
    ul.download li {
        width: 42.507%;
        float: left;
    }
    ul.download li:last-child {
        width: 53.221%;
        float: right;
    }
    ul.download li a {
        display: block;
    }
    section.usual.is01 ul.download {
        margin-top: 40px;
        display: flex;
        justify-content: space-around;
    }
    section.special .img-box.isTxt02 {
        top: -40px;
    }
    .special-inner.is02 h2.isLink .h2a {
        top: 2px;
        right: 410px;
    }
    .special-inner .more-wrap {
        width: 736px;
        margin: 60px auto 0;
        padding: 60px 0;
    }
    .special-inner .more-wrap li+li {
        margin-top: 60px;
    }
    .special-inner .more-wrap dt {
        font-size: 24px;
    }
    .special-inner .more-wrap dt:before {
        width: 42px;
        height: 42px;
        top: -3px;
    }
    .special-inner .more-wrap dt span {
        padding-left: 50px;
    }
    .special-inner .more-wrap dd.img-box img {
        margin: 20px auto 0;
    }
    .special-inner .more-wrap li p {
        margin-top: 20px;
        font-size: 18px;
        line-height: 28px;
        text-align: center;
    }
    .step_ttl img {
        display: block;
        margin: 0 auto;
        max-width: 100%;
        width: 80%;
    }
    .news_ttl img {
        display: block;
        margin: 40px auto 0;
        width: 100%;
    }
    .news_subttl img {
        display: block;
        margin: 40px auto 0;
        width: 100%;
    }
    .mainLP_banner img {
        display: block;
        margin: 40px auto 0;
        width: 100%;
    }
    .outline-box.is02 {
        width: 95%;
        margin: 0 auto;
        padding: 40px 0 0;
    }
    section.usual .banner-box {
        margin-top: 40px;
    }
    section.usual .banner-box img {
        max-width: 100%;
    }
    section.usual+.usual {
        margin-top: 40px;
    }
    .dl-box {
        margin-top: 40px;
    }
    .dl-box .detail {
        margin-top: 40px;
    }
    .dl-box .download {
        margin-top: 40px;
    }
    .dl-box .list {
        margin-top: 40px;
        font-size: 16px;
    }
}