@charset "utf-8";

.mainVisual {
    padding: 40px 0;
    background: url(/system/files/campaign/240006/img/mv_bg.png) center no-repeat;
    text-align: center;
    background-size: cover;
}
.content01 {
    padding: 50px 0 131px;
    background: url(/system/files/campaign/240006/img/orange_bg.png) center no-repeat;
    background-size: cover;
}
main .mainInner {
    padding-bottom: 0;
}
.contentBox {
    margin: 60px 0 130px;
    padding: 23px 20px;
    background-color: #F8F0E0;
}
.containerBox {
    max-width: 1040px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 24px;
    border: 5px solid #000000;
    background-color: #F8F0E0;
}
.containerBox h3:not(:first-child) {
    margin-top: 50px;
}
.txtInfo {
    max-width: 920px;
    width: 100%;
    margin: 20px auto 0;
    font-size: 16px;
    font-weight: bold;
}
.annotation {
    position: relative;
    margin-top: 5px;
    padding-left: 18px;
    font-weight: normal;
}
.annotation::before {
    display: block;
    position: absolute;
    left: 0;
    content: "※";
}
.flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.flexbox .flexInfo {
    width: 63%;
}
.red {
    margin-bottom: 10px;
    color: #E61911;
}
.dotted li {
    position: relative;
    padding-left: 18px;
}
.dotted li:before {
    display: block;
    position: absolute;
    left: 0;
    content: "・";
}
.btns {
    max-width: 549px;
    width: 100%;
    margin: 50px auto 0;
    font-size: 28px;
    text-align: center;
}
.btn {
    margin-top: 20px;
}
.btn a:hover {
    opacity: .6;
}
.btnGreen {
    margin-top: 50px;
}
.btnTtl {
    display: inline-block;
    position: relative;
    font-weight: bold;
}
.btnTtl::before {
    display: block;
    position: absolute;
    top: 0;
    left: -52px;
    width: 43px;
    height: 35px;
    background: url(/system/files/campaign/240006/img/mark_left.png) center no-repeat;
    content: "";
}
.btnTtl::after {
    display: block;
    position: absolute;
    top: 0;
    right: -52px;
    width: 43px;
    height: 35px;
    background: url(/system/files/campaign/240006/img/mark_right.png) center no-repeat;
    content: "";
}
.content02 {
    padding: 131px 0;
    background: url(/system/files/campaign/240006/img/green_bg.png) center no-repeat;
    background-size: cover;
}
.flexBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 492px;
    width: 100%;
    margin: 50px auto 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.flexBox img {
    -webkit-user-drag: none;
}

@media print,screen and (max-width: 767px) {
    .mainVisual {
        padding: 0;
    }
    .content01 {
        padding: 30px 0 37px;
        background: url(/system/files/campaign/240006/img/orange_bg_sp.png) 50% 0 no-repeat;
        background-size: cover;
    }
    .content02 {
        padding: 53px 0 60px;
        background: url(/system/files/campaign/240006/img/green_bg_sp.png) center no-repeat;
        background-size: cover;
    }
    .contentBox {
        margin: 30px 0 65px;
        padding: 10px;
    }
    .containerBox {
        padding: 15px;
        border: 3px solid #000000;
    }
    .txtInfo {
        margin: 10px auto 0;
        font-size: 14px;
    }
    .containerBox h3:not(:first-child) {
        margin-top: 25px;
    }
    .flexbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .flexImg {
        margin-top: 25px;
        text-align: center;
    }
    .btns {
        margin: 25px auto 0;
        font-size: 14px;
    }
    .btn {
        margin-top: 10px;
    }
    .btn img {
        max-width: 88%;
    }
    .btnGreen {
        margin-top: 25px;
    }
    .flexbox {
        display: block;
    }
    .flexBox .spOnly img {
        max-width: 88%;
    }
    .flexBox .spOnly {
        text-align: center;
    }
    .btnTtl::before {
        left: -26px;
        width: 23px;
        height: 19px;
        background-size: cover;
    }
    .btnTtl::after {
        right: -26px;
        width: 23px;
        height: 19px;
        background: url(/system/files/campaign/240006/img/mark_right.png) center no-repeat;
        background-size: cover;
    }
    .flexbox .flexInfo {
        width: 100%;
    }
    .flexBox {
        margin: 25px auto 0;
    }
}