:root {
    --siteContentWidth: 750px;
}

body {
    background: radial-gradient(
        closest-side at 50% 50%,
        white 0%,
        white 100%
    );
    min-height: 100vh;
}

.siteContent {
    position: relative;
    width: var(--siteContentWidth);
    margin: 0 auto;
    padding: 0px 18rem;
    overflow-x: hidden;
}

@media screen and (max-width: 821px) {
    .siteContent {
        width: 100%;
        padding: 0px 0rem;
    }
}

.landingPage__key-visual-image {
    width: 100%;
    position: relative;
    height: auto;
    background: center / contain no-repeat;
}

.landingPage__warning-wrap {
    background-color: #db2a2a;
    padding-top: 2.2rem;
    padding-bottom: 2.2rem;
}

.landingPage__warning-text {
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size: 3.2rem;
    color: white;
    line-height: 1.5;
}

.landingPage__overview-wrap {
    background-color: white;
    margin-bottom: -1rem;
}

.landingPage__overview-attention-text-1,
.landingPage__overview-attention-text-2 {
    font-size: 44px;
}
.landingPage__contact-detail-text {
    font-size: 32px;
}
.landingPage__contact-reminder-text {
    font-size: 24px;
}

.landingPage__overview-header-image {
    width: 100.25%;
    height: auto;
    background: center/contain no-repeat;
    margin-bottom: 3.801rem;
    left: -0.15rem;
    position: relative;
}

.landingPage__overview-eye-catch-1-image {
    width: 94.15%;
    height: auto;
    background: center/contain no-repeat;
    margin-left: 1.71%;
    margin-right: 4.13%;
    margin-bottom: 2.8rem;
}

.landingPage__overview-eye-catch-2-image {
    width: 87.2%;
    height: auto;
    background: center/contain no-repeat;
    margin-left: 6.66%;
    margin-right: 6.13%;
    margin-bottom: 4.4rem;
}

.landingPage__campaign-overview {
    margin-left: 1rem;
    margin-right: 1rem;
    margin-bottom: 1rem;
    text-align: center;
    font-size: 1.7rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    letter-spacing: 0.2rem;
    color: #002b64;
}

.landingPage__overview-attention-highlight-text-wrap {
    margin-left: 12.26%;
    margin-right: 14.8%;
    margin-bottom: 4.8rem;
}

.landingPage__overview-attention-highlight {
    width: 43.14%;
    height: auto;
    background: center/contain no-repeat;
    display: inline-block;
}

.landingPage__overview-attention-text-2 {
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    color: #002b64;
    top: 2.7rem;
    display: inline-block;
    position: relative;
}

.landingPage__overview-reminder-text {
    width: 88.26%;
    height: auto;
    background: center/contain no-repeat;
    margin-left: 6.66%;
    margin-right: 5.06%;
    margin-bottom: 4.5rem;
}

.landingPage__overview-join-button {
    background: url("../images/campaign_join_button.png") center/contain
    no-repeat;
    border: none;
    outline: none;
    width: 78.4%;
    height: 15.6rem;
    cursor: pointer;
    margin-left: 10.8%;
    margin-right: 10.8%;
    margin-bottom: 4.4rem;
    transition: background 0.3s ease-out;
}

.landingPage__overview-hanayaka-button {
    background: url("../images/hanayaka_button.png") center/contain
    no-repeat;
    border: none;
    outline: none;
    width: 78.4%;
    height: 15.6rem;
    cursor: pointer;
    margin-left: 10.8%;
    margin-right: 10.8%;
    margin-bottom: 4.4rem;
    transition: background 0.3s ease-out;
}

.landingPage__overview-join-button {
    background: url("../images/campaign_join_button.png") center/contain
    no-repeat;
    border: none;
    outline: none;
    width: 78.4%;
    height: 15.6rem;
    cursor: pointer;
    margin-left: 10.8%;
    margin-right: 10.8%;
    margin-bottom: 4.4rem;
    transition: background 0.3s ease-out;
}

.landingPage__overview-join-button:active {
    background: url("../images/img_web_join_button_2.png") center/contain
    no-repeat;
}

.landingPage__overview-join-x-button {
    background: url("../images/img_x_join_button_1.png") center/contain
    no-repeat;
    border: none;
    outline: none;
    width: 78.4%;
    height: 15.6rem;
    cursor: pointer;
    margin-left: 10.8%;
    margin-right: 10.8%;
    margin-bottom: 5.3rem;
    transition: background 0.3s ease-out;
}

.landingPage__overview-join-x-button:active {
    background: url("../images/img_x_join_button_2.png") center/contain
    no-repeat;
}

.landingPage__campaign-running-join-warp {
    background-color: #f7e237;
}

.landingPage__campaign-running-join-top-image {
    width: 100%;
    height: auto;
    margin-bottom: 5.9rem;
    background: center/contain no-repeat;
}

.landingPage__campaign-running-join-qr-wrap {
    width: 89.6%;
    margin-left: 5.2%;
    margin-bottom: 3rem;
    background: #ffffff 0% 0% no-repeat padding-box;
    border-radius: 2rem;
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
    padding-left: 9.523%;
}

.landingPage__campaign-running-join-qr-image {
    height: 54.4rem;
    background: center/contain no-repeat;
}

.landingPage__campaign-running-join-qr-text {
    margin-left: 10.8%;
    margin-right: 10.8%;
    margin-bottom: 7.9rem;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 3.2rem;
    color: #002b64;
    line-height: 1.625;
}

.landingPage__campaign-running-join-qr-text-space {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.outline {
    background-color: #001E4A;
}

.pre-release-text {
    padding-top: 2rem;
    padding-bottom:4rem;
    color: #FFFFFF;
    background-color: #001E4A;
    font-size: 1.8rem;
    text-align: center;
}

.btn {
    display: block;
    width: 100%;
    border: none;
    text-align: center;
    letter-spacing: 0.3em;
    transition: opacity 0.4s;
    padding: 1.4rem 0;
    border-radius: 3px;
    cursor: pointer;
}
@media screen and (min-width: 821px) {
    .btn:hover {
        opacity: 0.6;
    }
}

.btn + .btn {
    margin-top: 2rem;
}

.btn-info {
    background-color: #E8C62A;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-indent: -0.5rem;
    filter: drop-shadow(0px 5px 6px rgba(0, 0, 0, 0.2));
    border-radius: 1rem;
}

.btn-arrow {
    position: relative;
}

.btn-arrow:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/icon-btn-arrow.png) center/contain no-repeat;
    right: 1.5rem;
    width: 1.3rem;
    height: 1.3rem;
}
