@charset "UTF-8";
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
:root {
    --design-width: 2400;
    --contents-width: 1300;
    --contents-side-padding: 550;
    --minwidth: 320;
    --fixed-header-height: 90;
    --root-fz: 16;
    --line-height: 1.5;
    --hover-opacity-ratio: 0.8;
    --hover-duration: .3s;
    --color-base-1: #000;
    --color-base-1-rgb: 0, 0, 0;
    --color-black-1: #000;
    --color-black-1-rgb: 0, 0, 0;
    --color-black-2: #111;
    --color-black-2-rgb: 17, 17, 17;
    --color-white-1: #fff;
    --color-white-1-rgb: 255, 255, 255;
    --color-white-2: #fefefe;
    --color-white-2-rgb: 254, 254, 254;
    --color-sample-1: #9b2019;
    --color-sample-1-rgb: 155, 32, 25;
    --color-sample-2: #223a70;
    --color-sample-2-rgb: 34, 58, 112;
    --ff-root: "Zen Kaku Gothic New", sans-serif;
    --ff-noto: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 750px) {
    :root {
        --design-width: 750;
        --contents-width: 750;
        --contents-side-padding: 0;
        --minwidth: 320;
        --fixed-header-height: 66;
        --root-fz: 16;
        --line-height: 1.5;
    }
}

html {
    scroll-padding-top: calc(var(--fixed-header-height) * 1px);
    overflow-anchor: none;
}

.l-wrapper {
    background: url(../img/bg_body.png) 0 0 repeat-y;
    background-size: 100% auto;
    margin-top: 90px;
    overflow: hidden;
}
@media screen and (max-width: 750px) {
    .l-wrapper {
        margin-top: 66px;
    }
}
.l-wrapper a:hover img {
    opacity: 1;
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    background: url(../img/bg_main.jpg) 0 0 repeat-y;
    background-size: 100% auto;
    background-color: rgba(0, 0, 0, 0.8);
    font-family: var(--ff-root);
    max-width: 1300px;
    margin-inline: auto;
    box-shadow: 10px 0 24px 8px rgba(0, 0, 0, 0.75);
    position: relative;
}
body.ipad .l-contents::before, body.android .l-contents::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15) 100%);
}
@media screen and (max-width: 750px) {
    .l-contents {
        background: url(../img/sp/bg_main.jpg) 0 0 repeat-y;
        background-size: 100% auto;
        box-shadow: none;
    }
    .l-contents::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 0;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15) 100%);
    }
}

/* ---------------------------------------------
*   c-block-logo
--------------------------------------------- */
.c-block-logo {
    padding-block: min(55 / var(--contents-width) * 100%, 55px) min(43 / var(--contents-width) * 100%, 43px);
    width: min(805 / var(--contents-width) * 100%, 805px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-block-logo {
        width: calc(465 / var(--design-width) * 100vw);
        padding-block: calc(30 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-copyright-logo
--------------------------------------------- */
.c-copyright-logo {
    padding-block: min(134 / var(--contents-width) * 100%, 134px) min(134 / var(--contents-width) * 100%, 134px);
    max-width: min(576 / var(--contents-width) * 100%, 576px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-copyright-logo {
        max-width: calc(404 / var(--contents-width) * 100%);
        padding-block: calc(100 / var(--contents-width) * 100%) calc(105 / var(--contents-width) * 100%);
    }
}
.c-copyright-logo__link {
    border-radius: 50%;
    display: block;
    overflow: hidden;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .c-copyright-logo__link {
        transition: opacity var(--hover-duration);
    }
    .c-copyright-logo__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}

/* ---------------------------------------------
*   c-block-date
--------------------------------------------- */
.c-block-date {
    text-align: center;
    width: min(1044 / var(--contents-width) * 100%, 1044px);
    margin-inline: auto;
    padding-block: 0 min(60 / var(--contents-width) * 100%, 60px);
    position: relative;
}
@media screen and (max-width: 750px) {
    .c-block-date {
        width: calc(602 / var(--design-width) * 100vw);
        padding-bottom: calc(35 / var(--design-width) * 100vw);
    }
}
.c-block-date__ttl {
    margin-bottom: min(15 / var(--contents-width) * 100%, 15px);
}
@media screen and (max-width: 750px) {
    .c-block-date__ttl {
        margin-bottom: calc(10 / var(--contents-width) * 100%);
    }
}
.c-block-date__txt {
    transform: translateX(1.4%);
}
@media screen and (max-width: 750px) {
    .c-block-date__txt {
        transform: translateX(0px);
    }
}

/* ---------------------------------------------
*   c-block-note
--------------------------------------------- */
.c-block-note {
    display: flex;
    justify-content: center;
    margin-top: min(20 / var(--contents-width) * 100%, 20px);
}

/* ---------------------------------------------
*   c-block-obtain
--------------------------------------------- */
.c-block-obtain {
    margin-bottom: min(45 / var(--contents-width) * 100%, 45px);
    margin-top: max(-25 / var(--contents-width) * 100%, -25px);
    position: relative;
    width: min(1103 / var(--contents-width) * 100%, 1103px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-block-obtain {
        margin-bottom: calc(40 / var(--contents-width) * 100%);
        margin-top: calc(47 / var(--contents-width) * 100%);
        width: calc(662 / var(--contents-width) * 100%);
    }
}
@media screen and (max-width: 750px) {
    .c-block-obtain__head img {
        width: 100%;
        height: auto;
        display: block;
    }
}

/* ---------------------------------------------
*   c-block-distribution
--------------------------------------------- */
.c-block-distribution {
    display: grid;
    justify-content: center;
    margin-bottom: min(84 / var(--contents-width) * 100vw, 84px);
    margin-top: min(53 / var(--contents-width) * 100vw, 53px);
    transform: translateX(2%);
}
@media screen and (max-width: 750px) {
    .c-block-distribution {
        margin-bottom: calc(16 / var(--contents-width) * 100%);
        margin-top: calc(33 / var(--contents-width) * 100%);
        transform: translateX(2.8%);
    }
}
.c-block-distribution__ttl {
    display: inline-block;
    font-size: min(30 / var(--contents-width) * 100vw, 30px);
    font-weight: bold;
    line-height: 1.74;
    margin-bottom: min(5 / var(--contents-width) * 100%, 5px);
    text-indent: -1.25em;
}
@media screen and (max-width: 750px) {
    .c-block-distribution__ttl {
        font-size: calc(21 / var(--contents-width) * 100vw);
        line-height: 1.7;
    }
}

/* ---------------------------------------------
*   c-block-participation
--------------------------------------------- */
.c-block-participation {
    margin-top: max(-31 / var(--contents-width) * 100%, -31px);
    position: relative;
    width: min(1103 / var(--contents-width) * 100%, 1103px);
    margin-inline: auto;
    margin-bottom: min(102 / var(--contents-width) * 100vw, 102px);
}
@media screen and (max-width: 750px) {
    .c-block-participation {
        margin-bottom: calc(32 / var(--contents-width) * 100%);
        margin-top: calc(-60 / var(--contents-width) * 100%);
        width: calc(662 / var(--contents-width) * 100%);
    }
}
@media screen and (max-width: 750px) {
    .c-block-participation__head img {
        width: 100%;
        height: auto;
        display: block;
    }
}

/* ---------------------------------------------
*   c-block-pagetop
--------------------------------------------- */
.c-block-pagetop {
    position: fixed;
    bottom: min(30 / var(--contents-width) * 100%, 30px);
    right: max((100% - 1300px) / 2, 9%);
    transform: translateX(50%);
    width: min(225 / var(--contents-width) * 100%, 225px);
    z-index: 100;
}
@media screen and (max-width: 750px) {
    .c-block-pagetop {
        right: calc(0 / var(--design-width) * 100vw);
        transform: none;
        bottom: calc(20 / var(--design-width) * 100vw);
        width: calc(144 / var(--design-width) * 100vw);
    }
}
.c-block-pagetop__link {
    display: block;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .c-block-pagetop__link {
        transition: opacity var(--hover-duration);
    }
    .c-block-pagetop__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-block-pagetop__link img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-box-qr
--------------------------------------------- */
.c-box-qr {
    margin-bottom: min(50 / var(--contents-width) * 100%, 50px);
    margin-inline: auto;
    width: min(1135 / var(--contents-width) * 100%, 1135px);
}
@media screen and (max-width: 750px) {
    .c-box-qr {
        margin-bottom: calc(30 / var(--contents-width) * 100%);
        width: calc(681 / var(--contents-width) * 100%);
    }
}
.c-box-qr__img img {
    display: block;
    width: 100%;
    height: auto;
}
.c-box-qr__txt {
    font-size: min(20 / var(--contents-width) * 100vw, 20px);
    font-weight: 500;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-box-qr__txt {
        font-size: calc(15 / var(--contents-width) * 100vw);
        max-width: calc(530 / var(--contents-width) * 100vw);
        text-indent: -1em;
        padding-left: 1em;
        line-height: 1.8;
    }
}
.c-box-qr__txt--fwb {
    font-weight: bold;
}
.c-box-qr__note {
    display: grid;
    justify-content: center;
    margin-top: min(37 / var(--contents-width) * 100%, 37px);
}
@media screen and (max-width: 750px) {
    .c-box-qr__note {
        margin-top: calc(18 / var(--contents-width) * 100%);
    }
}
.c-box-qr__note--2 {
    margin-top: min(30 / var(--contents-width) * 100%, 30px);
}
@media screen and (max-width: 750px) {
    .c-box-qr__note--2 {
        margin-top: calc(13 / var(--contents-width) * 100%);
    }
}
.c-box-qr__note--2 .c-box-qr__txt {
    text-indent: 0;
    padding-left: 0;
}

/* ---------------------------------------------
*   c-box-terms
--------------------------------------------- */
.c-box-terms {
    background-color: #fff;
    margin-top: min(88 / var(--contents-width) * 100%, 88px);
    border: 2px solid #000;
    width: min(1099 / var(--contents-width) * 100%, 1099px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-box-terms {
        width: calc(658 / var(--contents-width) * 100%);
        margin-inline: auto;
        margin-top: calc(40 / var(--contents-width) * 100%);
    }
}
.c-box-terms__head {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-block: min(50 / var(--contents-width) * 100%, 50px);
}
@media screen and (max-width: 750px) {
    .c-box-terms__head {
        padding-block: calc(32 / var(--contents-width) * 100%);
    }
}
.c-box-terms__button {
    cursor: pointer;
    will-change: opacity;
    width: clamp(150px, 190 / var(--contents-width) * 100vw, 190px);
    margin-inline: auto;
    padding: clamp(6px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px) clamp(5px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
    background-color: var(--color-black-2);
    border-radius: calc(infinity * 1px);
    color: var(--color-white-1);
    font-size: clamp(15px, 20 / var(--contents-width) * 100vw, 20px);
    font-weight: 500;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: 0.05em;
    transform: translate3d(0, 0, 0);
}
@media (hover: hover) and (pointer: fine) {
    .c-box-terms__button {
        transition: opacity var(--hover-duration);
    }
    .c-box-terms__button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-box-terms__button:hover {
    cursor: pointer;
}
body.edge .c-box-terms__button {
    gap: 5%;
    white-space: nowrap;
    padding: clamp(5px, 7 / var(--contents-width) * 100vw, 7px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(6px, 9 / var(--contents-width) * 100vw, 9px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
body.windows.firefox .c-box-terms__button {
    padding: clamp(6px, 8 / var(--contents-width) * 100vw, 8px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(3px, 5 / var(--contents-width) * 100vw, 5px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
body.windows.chrome .c-box-terms__button {
    padding: clamp(4px, 6 / var(--contents-width) * 100vw, 6px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(5px, 7.5 / var(--contents-width) * 100vw, 7.5px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
@media screen and (max-width: 750px) {
    .c-box-terms__button {
        font-size: calc(20 / var(--contents-width) * 100vw);
        width: calc(184 / var(--contents-width) * 100vw);
        padding: calc(5 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw) calc(5 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw);
    }
    body.iphone .c-box-terms__button {
        padding: calc(7 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw) calc(6 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw);
    }
}
.c-box-terms__button span {
    cursor: pointer;
    background-color: #fff;
    border-radius: 50%;
    display: block;
    width: clamp(18px, 24 / var(--contents-width) * 100vw, 24px);
    height: clamp(18px, 24 / var(--contents-width) * 100vw, 24px);
    flex-shrink: 0;
    position: relative;
    transform: translate3d(0, 0, 0) translateY(-0.25px);
}
@media screen and (max-width: 750px) {
    .c-box-terms__button span {
        width: calc(24 / var(--contents-width) * 100vw);
        height: calc(24 / var(--contents-width) * 100vw);
        transform: translateY(0.2px);
    }
    body.iphone .c-box-terms__button span {
        transform: translateY(-0.5px);
    }
}
body.windows.firefox .c-box-terms__button span {
    transform: translate3d(0, 0, 0) translateY(-1px);
}
body.edge .c-box-terms__button span {
    transform: translate3d(0, 0, 0) translateY(calc(2 / var(--design-width) * 100vw));
}
@media screen and (max-width: 750px) {
    body.edge .c-box-terms__button span {
        transform: translateY(calc(1 / var(--design-width) * 100vw));
    }
}
body.windows.chrome .c-box-terms__button span {
    transform: translate3d(0, 0, 0) translateY(0.6px);
}
.c-box-terms__button span::before, .c-box-terms__button span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: var(--color-black-1);
    border-radius: 1px;
    transition: rotate var(--hover-duration);
}
.c-box-terms__button span::before {
    width: clamp(12px, 14 / var(--contents-width) * 100vw, 14px);
    height: 2px;
}
@media screen and (max-width: 750px) {
    .c-box-terms__button span::before {
        width: calc(16 / var(--contents-width) * 100vw);
        height: clamp(1px, 2 / var(--contents-width) * 100vw, 2px);
    }
    body.edge .c-box-terms__button span::before {
        height: 1.5px;
    }
}
.c-box-terms__button span::after {
    width: 2px;
    height: clamp(12px, 14 / var(--contents-width) * 100vw, 14px);
}
@media screen and (max-width: 750px) {
    .c-box-terms__button span::after {
        width: clamp(1px, 2 / var(--contents-width) * 100vw, 2px);
        height: calc(16 / var(--contents-width) * 100vw);
    }
    body.edge .c-box-terms__button span::after {
        width: 1.5px;
    }
}
.c-box-terms__body {
    padding: 0 min(68 / var(--contents-width) * 100vw, 67px) 0 min(67 / var(--contents-width) * 100vw, 67px);
}
.is-open .c-box-terms__body {
    overflow: visible;
    padding-bottom: min(40 / var(--contents-width) * 100%, 40px);
}

@media screen and (max-width: 750px) {
    .c-box-terms__body {
        padding: 0 calc(35 / var(--design-width) * 100vw);
    }
    .is-open .c-box-terms__body {
        padding-bottom: calc(30 / var(--design-width) * 100vw);
    }
}
.c-box-terms__txt {
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    line-height: 2.23;
}
@media screen and (max-width: 750px) {
    .c-box-terms__txt {
        font-size: calc(15 / var(--contents-width) * 100vw);
        line-height: 1.87;
    }
}
.c-box-terms__item-ttl {
    border: 1px solid #000;
    display: inline-block;
    font-weight: bold;
    line-height: 1.4;
    padding: 0 min(16 / var(--contents-width) * 100vw, 16px);
    margin-right: min(22 / var(--contents-width) * 100%, 22px);
}
body.windows.firefox .c-box-terms__item-ttl {
    padding-bottom: 1px;
}
@media screen and (max-width: 750px) {
    .c-box-terms__item-ttl {
        line-height: 1.2;
    }
    body.edge .c-box-terms__item-ttl {
        padding-bottom: 1.5px;
        padding-top: 1px;
    }
    body.iphone .c-box-terms__item-ttl {
        padding-bottom: 1.5px;
    }
}
.c-box-terms--2 {
    margin-top: min(100 / var(--contents-width) * 100%, 100px);
}
@media screen and (max-width: 750px) {
    .c-box-terms--2 {
        margin-top: calc(32 / var(--contents-width) * 100%);
    }
}

/* ---------------------------------------------
*   c-box-attention
--------------------------------------------- */
.c-box-attention {
    background-color: #fff;
    margin-top: min(88 / var(--contents-width) * 100%, 88px);
    border: 2px solid #000;
    width: min(1099 / var(--contents-width) * 100%, 1099px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-box-attention {
        width: calc(658 / var(--contents-width) * 100%);
        margin-inline: auto;
        margin-top: calc(43 / var(--contents-width) * 100%);
    }
}
.c-box-attention__head {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-block: min(50 / var(--contents-width) * 100%, 50px);
}
@media screen and (max-width: 750px) {
    .c-box-attention__head {
        padding-block: calc(30 / var(--contents-width) * 100%);
    }
}
.c-box-attention__button {
    cursor: pointer;
    will-change: opacity;
    width: clamp(150px, 195 / var(--contents-width) * 100vw, 195px);
    margin-inline: auto;
    padding: clamp(6px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px) clamp(5px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
    background-color: var(--color-black-2);
    border-radius: calc(infinity * 1px);
    color: var(--color-white-1);
    font-size: clamp(15px, 20 / var(--contents-width) * 100vw, 20px);
    font-weight: 500;
    cursor: pointer;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: 0.05em;
    transform: translate3d(0, 0, 0);
}
@media (hover: hover) and (pointer: fine) {
    .c-box-attention__button {
        transition: opacity var(--hover-duration);
    }
    .c-box-attention__button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
.c-box-attention__button:hover {
    cursor: pointer;
}
body.edge .c-box-attention__button {
    gap: 5%;
    white-space: nowrap;
    padding: clamp(5px, 7 / var(--contents-width) * 100vw, 7px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(6.5px, 9 / var(--contents-width) * 100vw, 9px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
body.windows.firefox .c-box-attention__button {
    padding: clamp(6px, 8 / var(--contents-width) * 100vw, 8px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(3px, 5 / var(--contents-width) * 100vw, 5px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
body.windows.chrome .c-box-attention__button {
    padding: clamp(4px, 6 / var(--contents-width) * 100vw, 6px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(5px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
@media screen and (max-width: 750px) {
    .c-box-attention__button {
        font-size: calc(20 / var(--contents-width) * 100vw);
        width: calc(184 / var(--contents-width) * 100vw);
        padding: calc(5 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw) calc(5 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw);
    }
    body.iphone .c-box-attention__button {
        padding: calc(7 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw) calc(6 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw);
    }
}
.c-box-attention__button span {
    cursor: pointer;
    background-color: #fff;
    border-radius: 50%;
    display: inline-block;
    min-width: -moz-fit-content;
    min-width: fit-content;
    display: block;
    width: clamp(18px, 24 / var(--contents-width) * 100vw, 24px);
    height: clamp(18px, 24 / var(--contents-width) * 100vw, 24px);
    flex-shrink: 0;
    position: relative;
    transform: translate3d(0, 0, 0) translateY(-0.25px);
}
@media screen and (max-width: 750px) {
    .c-box-attention__button span {
        width: calc(24 / var(--contents-width) * 100vw);
        height: calc(24 / var(--contents-width) * 100vw);
    }
}
body.windows.firefox .c-box-attention__button span {
    transform: translate3d(0, 0, 0) translateY(-1px);
}
body.edge .c-box-attention__button span {
    transform: translate3d(0, 0, 0) translateY(calc(2 / var(--design-width) * 100vw));
}
@media screen and (max-width: 750px) {
    body.edge .c-box-attention__button span {
        transform: translateY(calc(1 / var(--design-width) * 100vw));
    }
}
body.windows.chrome .c-box-attention__button span {
    transform: translate3d(0, 0, 0) translateY(0.6px);
}
.c-box-attention__button span::before, .c-box-attention__button span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: var(--color-black-1);
    border-radius: 1px;
    transition: rotate var(--hover-duration);
}
.c-box-attention__button span::before {
    width: clamp(12px, 14 / var(--contents-width) * 100vw, 14px);
    height: 2px;
}
@media screen and (max-width: 750px) {
    .c-box-attention__button span::before {
        width: calc(16 / var(--contents-width) * 100vw);
        height: clamp(1px, 2 / var(--contents-width) * 100vw, 2px);
    }
    body.edge .c-box-attention__button span::before {
        height: 1.5px;
    }
}
.c-box-attention__button span::after {
    width: 2px;
    height: clamp(12px, 14 / var(--contents-width) * 100vw, 14px);
}
@media screen and (max-width: 750px) {
    .c-box-attention__button span::after {
        width: clamp(1px, 2 / var(--contents-width) * 100vw, 2px);
        height: calc(16 / var(--contents-width) * 100vw);
    }
    body.edge .c-box-attention__button span::after {
        width: 1.5px;
    }
}
.c-box-attention__body {
    padding: 0 min(55 / var(--contents-width) * 100%, 55px) 0 min(55 / var(--contents-width) * 100%, 55px);
}
.is-open .c-box-attention__body {
    overflow: visible;
    padding-bottom: min(40 / var(--contents-width) * 100%, 40px);
}

@media screen and (max-width: 750px) {
    .c-box-attention__body {
        padding: 0 calc(35 / var(--design-width) * 100vw);
    }
    .is-open .c-box-attention__body {
        padding-bottom: calc(25 / var(--design-width) * 100vw);
    }
}
.c-box-attention__txt {
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    line-height: 2.15;
}
@media screen and (max-width: 750px) {
    .c-box-attention__txt {
        font-size: clamp(11px, 22 / var(--design-width) * 100vw, 22px);
    }
}
.c-box-attention__item-ttl {
    border: 1px solid #000;
    display: inline-block;
    font-weight: bold;
    padding: 0 min(15 / var(--contents-width) * 100%, 15px);
    margin-right: min(15 / var(--contents-width) * 100%, 15px);
}
.c-box-attention--2 {
    margin-top: min(100 / var(--contents-width) * 100%, 100px);
}
@media screen and (max-width: 750px) {
    .c-box-attention--2 {
        margin-top: calc(40 / var(--contents-width) * 100%);
    }
}

/* ---------------------------------------------
*   c-box-privacy
--------------------------------------------- */
.c-box-privacy {
    background-color: #fff;
    margin-top: min(98 / var(--contents-width) * 100vw, 98px);
    border: 2px solid #000;
    width: min(1099 / var(--contents-width) * 100%, 1099px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-box-privacy {
        width: calc(658 / var(--contents-width) * 100%);
        margin-inline: auto;
        margin-top: calc(52 / var(--contents-width) * 100%);
    }
}
.c-box-privacy__head {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-block: min(50 / var(--contents-width) * 100%, 50px) min(40 / var(--contents-width) * 100%, 40px);
}
@media screen and (max-width: 750px) {
    .c-box-privacy__head {
        padding-block: calc(34 / var(--contents-width) * 100%);
    }
}
.c-box-privacy__button {
    will-change: opacity;
    width: clamp(220px, 296 / var(--contents-width) * 100vw, 296px);
    margin-inline: auto;
    padding: clamp(6px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px) clamp(5px, 7 / var(--contents-width) * 100vw, 7px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
    background-color: var(--color-black-2);
    border-radius: calc(infinity * 1px);
    color: var(--color-white-1);
    font-size: clamp(15px, 20 / var(--contents-width) * 100vw, 20px);
    font-weight: 500;
    cursor: pointer;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: 0.05em;
    transform: translate3d(0, 0, 0);
}
@media (hover: hover) and (pointer: fine) {
    .c-box-privacy__button {
        transition: opacity var(--hover-duration);
    }
    .c-box-privacy__button:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
body.edge .c-box-privacy__button {
    gap: 5%;
    white-space: nowrap;
    padding: clamp(6px, 8 / var(--contents-width) * 100vw, 8px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(6px, 9 / var(--contents-width) * 100vw, 9px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
body.windows.firefox .c-box-privacy__button {
    padding: clamp(6px, 8 / var(--contents-width) * 100vw, 8px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(3px, 5 / var(--contents-width) * 100vw, 5px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
body.windows.chrome .c-box-privacy__button {
    padding: clamp(4px, 6 / var(--contents-width) * 100vw, 6px) clamp(25px, 35 / var(--contents-width) * 100vw, 35px) clamp(5px, 7.5 / var(--contents-width) * 100vw, 7.5px) clamp(27px, 35 / var(--contents-width) * 100vw, 35px);
}
@media screen and (max-width: 750px) {
    .c-box-privacy__button {
        font-size: calc(20 / var(--contents-width) * 100vw);
        width: calc(285 / var(--contents-width) * 100vw);
        padding: calc(5 / var(--contents-width) * 100vw) calc(26 / var(--contents-width) * 100vw) calc(5 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw);
    }
    body.iphone .c-box-privacy__button {
        padding: calc(7 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw) calc(6 / var(--contents-width) * 100vw) calc(30 / var(--contents-width) * 100vw);
        width: calc(279 / var(--contents-width) * 100vw);
    }
}
.c-box-privacy__button span {
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    min-width: -moz-fit-content;
    min-width: fit-content;
    width: clamp(18px, 24 / var(--contents-width) * 100vw, 24px);
    height: clamp(18px, 24 / var(--contents-width) * 100vw, 24px);
    flex-shrink: 0;
    position: relative;
    transform: translate3d(0, 0, 0) translateY(-0.1px);
}
@media screen and (max-width: 750px) {
    .c-box-privacy__button span {
        width: calc(24 / var(--contents-width) * 100vw);
        height: calc(24 / var(--contents-width) * 100vw);
        transform: translateY(0.2px);
    }
    body.iphone .c-box-privacy__button span {
        transform: translateY(-0.5px);
    }
}
body.windows.firefox .c-box-privacy__button span {
    transform: translate3d(0, 0, 0) translateY(-1px);
}
body.edge .c-box-privacy__button span {
    transform: translate3d(0, 0, 0) translateY(calc(2 / var(--design-width) * 100vw));
}
@media screen and (max-width: 750px) {
    body.edge .c-box-privacy__button span {
        transform: translateY(calc(1 / var(--design-width) * 100vw));
    }
}
body.windows.chrome .c-box-privacy__button span {
    transform: translate3d(0, 0, 0) translateY(0.6px);
}
.c-box-privacy__button span::before, .c-box-privacy__button span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: var(--color-black-1);
    border-radius: 1px;
    transition: rotate var(--hover-duration);
}
.c-box-privacy__button span::before {
    width: clamp(12px, 14 / var(--contents-width) * 100vw, 14px);
    height: 2px;
}
@media screen and (max-width: 750px) {
    .c-box-privacy__button span::before {
        width: calc(16 / var(--contents-width) * 100vw);
        height: clamp(1px, 2 / var(--contents-width) * 100vw, 2px);
    }
    body.edge .c-box-privacy__button span::before {
        height: 1.5px;
    }
}
.c-box-privacy__button span::after {
    width: 2px;
    height: clamp(12px, 14 / var(--contents-width) * 100vw, 14px);
}
@media screen and (max-width: 750px) {
    .c-box-privacy__button span::after {
        width: clamp(1px, 2 / var(--contents-width) * 100vw, 2px);
        height: calc(16 / var(--contents-width) * 100vw);
    }
    body.edge .c-box-privacy__button span::after {
        width: 1.5px;
    }
}
.c-box-privacy__button span:hover {
    cursor: pointer;
}
.c-box-privacy__body {
    padding: 0 min(52 / var(--contents-width) * 100vw, 52px);
}
.is-open .c-box-privacy__body {
    overflow: visible;
    padding-bottom: min(40 / var(--contents-width) * 100vw, 40px);
}

@media screen and (max-width: 750px) {
    .c-box-privacy__body {
        padding: 0 calc(35 / var(--design-width) * 100vw);
    }
    .is-open .c-box-privacy__body {
        padding-bottom: calc(35 / var(--design-width) * 100vw);
    }
}
.c-box-privacy__txt {
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    line-height: 2.22;
    margin-top: max(-10 / var(--contents-width) * 100%, 10px);
}
@media screen and (max-width: 750px) {
    .c-box-privacy__txt {
        font-size: min(15 / var(--contents-width) * 100vw, 18px);
        line-height: 1.87;
        margin-top: calc(-4 / var(--contents-width) * 100vw);
    }
}
.c-box-privacy__item-ttl {
    border: 1px solid #000;
    display: inline-block;
    font-weight: bold;
    padding: 0 min(15 / var(--contents-width) * 100%, 15px);
    margin-right: min(15 / var(--contents-width) * 100%, 15px);
}

/* ---------------------------------------------
*   c-btn
--------------------------------------------- */
/* ---------------------------------------------
*   c-card
--------------------------------------------- */
/* ---------------------------------------------
*   c-cassette-contents
--------------------------------------------- */
.c-cassette-contents {
    background: url(../img/bg_contents.png) 0 0 no-repeat;
    background-size: 100% auto;
    padding-block: min(80 / var(--contents-width) * 100%, 80px) min(88 / var(--contents-width) * 100%, 88px);
    position: relative;
}
@media screen and (max-width: 750px) {
    .c-cassette-contents {
        background-image: url(../img/sp/bg_contents.png);
        padding-block: calc(45 / var(--design-width) * 100vw) calc(50 / var(--design-width) * 100vw);
    }
}
.c-cassette-contents__head {
    width: calc(1201 / var(--contents-width) * 100%);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-cassette-contents__head {
        width: calc(693 / 750 * 100%);
    }
}
.c-cassette-contents__nav {
    width: calc(1201 / var(--contents-width) * 100%);
    margin-inline: auto;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: min(322 / var(--contents-width) * 100%, 322px);
}
@media screen and (max-width: 750px) {
    .c-cassette-contents__nav {
        bottom: calc(180 / var(--contents-width) * 100%);
        width: calc(693 / 750 * 100%);
    }
}

/* ---------------------------------------------
*   c-cassette-movie
--------------------------------------------- */
.c-cassette-movie {
    display: flex;
    flex-direction: column;
    gap: min(50 / var(--contents-width) * 100%, 50px);
    margin-bottom: min(100 / var(--contents-width) * 100%, 100px);
}
@media screen and (max-width: 750px) {
    .c-cassette-movie {
        gap: calc(40 / var(--contents-width) * 100%);
        margin-bottom: calc(40 / var(--contents-width) * 100%);
    }
}
.c-cassette-movie__img {
    width: calc(1098 / var(--contents-width) * 100%);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-cassette-movie__img {
        width: calc(660 / var(--contents-width) * 100%);
    }
}
.c-cassette-movie__img img {
    width: 100%;
    height: auto;
    display: block;
}
.c-cassette-movie__img + .c-cassette-movie__img {
    margin-top: min(57 / var(--contents-width) * 100vw, 57px);
}
@media screen and (max-width: 750px) {
    .c-cassette-movie__img + .c-cassette-movie__img {
        margin-top: calc(42 / var(--contents-width) * 100vw);
    }
}
@media screen and (max-width: 750px) {
    .c-cassette-movie--2 .c-cassette-movie__img + .c-cassette-movie__img {
        margin-top: calc(47 / var(--contents-width) * 100vw);
    }
}

.c-cassette-movie__txt {
    font-size: min(20 / var(--contents-width) * 100vw, 20px);
    font-weight: 500;
    line-height: 2;
    margin-top: min(22 / var(--contents-width) * 100vw, 22px);
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-cassette-movie__txt {
        font-size: calc(15 / var(--contents-width) * 100vw);
        margin-top: calc(15 / var(--contents-width) * 100vw);
    }
}
.c-cassette-movie__txt--2 {
    margin-top: min(28 / var(--contents-width) * 100vw, 28px);
}
@media screen and (max-width: 750px) {
    .c-cassette-movie__txt--2 {
        line-height: 1.9;
        margin-top: calc(15 / var(--contents-width) * 100vw);
    }
}
.c-cassette-movie__img-ttl {
    margin-bottom: min(51 / var(--contents-width) * 100vw, 51px);
    width: min(666 / var(--contents-width) * 100vw, 666px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-cassette-movie__img-ttl {
        width: calc(399 / var(--contents-width) * 100vw);
        margin-bottom: calc(28 / var(--contents-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-cassette-present
--------------------------------------------- */
.c-cassette-present {
    display: flex;
    flex-direction: column;
    gap: min(50 / var(--contents-width) * 100%, 50px);
    margin-bottom: min(100 / var(--contents-width) * 100%, 100px);
}
.c-cassette-present__img {
    width: min(1100 / var(--contents-width) * 100%, 1100px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-cassette-present__img {
        width: calc(662 / var(--contents-width) * 100%);
        margin-inline: auto;
    }
}
.c-cassette-present__img img {
    width: 100%;
    height: auto;
    display: block;
}
.c-cassette-present__img + .c-cassette-present__img {
    margin-top: min(20 / var(--contents-width) * 100%, 20px);
}
@media screen and (max-width: 750px) {
    .c-cassette-present__img + .c-cassette-present__img {
        margin-top: calc(20 / var(--contents-width) * 100%);
    }
}
.c-cassette-present__txt {
    font-size: min(20 / var(--contents-width) * 100vw, 20px);
    line-height: 2;
    margin-top: min(20 / var(--contents-width) * 100%, 20px);
    text-align: center;
}
@media screen and (max-width: 750px) {
    .c-cassette-present__txt {
        font-size: calc(15 / var(--contents-width) * 100vw);
    }
}
.c-cassette-present__img-ttl {
    margin-bottom: min(50 / var(--contents-width) * 100%, 50px);
    width: min(666 / var(--contents-width) * 100%, 666px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-cassette-present__img-ttl {
        width: calc(399 / var(--contents-width) * 100vw);
        margin-bottom: calc(30 / var(--contents-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-figure
--------------------------------------------- */
/* ---------------------------------------------
*   c-form
--------------------------------------------- */
/* ---------------------------------------------
*   c-img
--------------------------------------------- */
/* ---------------------------------------------
*   c-kv
--------------------------------------------- */
.c-kv {
    width: 100%;
    box-shadow: -15px 9px 40px 5px rgba(0, 0, 0, 0.8);
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 750px) {
    .c-kv {
        width: 100%;
        margin-inline: 0;
        box-shadow: none;
    }
}
.c-kv__img img {
    width: 100%;
    display: block;
}

/* ---------------------------------------------
*   c-link
--------------------------------------------- */
.c-link-external {
    color: #000;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .c-link-external:hover {
        text-decoration: none;
    }
}

/* ---------------------------------------------
*   c-list-contents
--------------------------------------------- */
.c-list-contents {
    display: flex;
    gap: min(50 / 1201 * 100%, 50px);
    justify-content: space-between;
    list-style: none;
}
@media screen and (max-width: 750px) {
    .c-list-contents {
        gap: calc(27 / var(--design-width) * 100vw);
    }
}
.c-list-contents__item {
    flex: 1;
    width: 100%;
}
.c-list-contents__link {
    display: block;
    will-change: opacity;
}
@media (hover: hover) and (pointer: fine) {
    .c-list-contents__link {
        transition: opacity var(--hover-duration);
    }
    .c-list-contents__link:hover {
        opacity: var(--hover-opacity-ratio);
    }
}
@media (hover: none) and (pointer: coarse) {
    .c-list-contents__link:hover {
        opacity: 1;
    }
}
.c-list-contents__link img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---------------------------------------------
*   c-list-note
--------------------------------------------- */
.c-list-note {
    list-style: none;
}
@media screen and (max-width: 750px) {
    .c-list-note {
        max-width: calc(615 / var(--contents-width) * 100vw);
        margin-inline: auto;
    }
}
.c-list-note__item {
    align-items: flex-start;
    display: flex;
    font-size: min(20 / var(--contents-width) * 100vw, 20px);
    font-weight: bold;
    line-height: 2;
}
@media screen and (max-width: 750px) {
    .c-list-note__item {
        font-size: calc(15 / var(--contents-width) * 100vw);
        line-height: 1.85;
    }
}
.c-list-note__item::before {
    content: "※";
    flex-shrink: 0;
}
.c-list-note--fwm .c-list-note__item {
    font-weight: 500;
}
@media screen and (max-width: 750px) {
    .c-list-note--distribution {
        max-width: calc(610 / var(--contents-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-list-terms
--------------------------------------------- */
.c-list-terms__item {
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 2.23;
    margin-left: 1em;
    text-indent: -1em;
}
@media screen and (max-width: 750px) {
    .c-list-terms__item {
        font-size: min(15 / var(--contents-width) * 100vw, 18px);
        line-height: 1.87;
    }
}
.c-list-terms__item::before {
    content: "※";
}
.c-list-terms__item-list {
    list-style: disc;
    padding-left: min(20 / var(--design-width) * 100vw, 20px);
    margin-top: min(5 / var(--design-width) * 100vw, 5px);
}
.c-list-terms__sub-list {
    list-style: disc;
    padding-left: min(10 / var(--design-width) * 100vw, 10px);
}
.c-list-terms__sub-item {
    display: flex;
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    gap: min(5 / var(--design-width) * 100vw, 5px);
    line-height: 2.21;
    text-indent: 0;
}
@media screen and (max-width: 750px) {
    .c-list-terms__sub-item {
        font-size: calc(15 / var(--contents-width) * 100vw);
        line-height: 1.87;
    }
}
.c-list-terms__sub-item::before {
    content: "-";
    flex-shrink: 0;
}
.c-list-terms--1 {
    margin: min(20 / var(--design-width) * 100vw, 20px) 0;
}
.c-list-terms--disc .c-list-terms__item::before {
    content: "・";
}

/* ---------------------------------------------
*   c-list-attention
--------------------------------------------- */
.c-list-attention__item {
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    line-height: 2.23;
    margin-left: 1em;
    text-indent: -1em;
}
@media screen and (max-width: 750px) {
    .c-list-attention__item {
        font-size: min(15 / var(--contents-width) * 100vw, 18px);
        line-height: 1.865;
    }
}
.c-list-attention__item::before {
    content: "※";
}
.c-list-attention__item-list {
    list-style: disc;
    padding-left: min(20 / var(--design-width) * 100vw, 20px);
    margin-top: min(5 / var(--design-width) * 100vw, 5px);
}
.c-list-attention__sub-list {
    list-style: disc;
    padding-left: min(10 / var(--design-width) * 100vw, 10px);
    margin-top: min(5 / var(--design-width) * 100vw, 5px);
}
.c-list-attention__sub-item {
    display: flex;
    font-size: min(18 / var(--contents-width) * 100vw, 18px);
    font-weight: 500;
    gap: min(5 / var(--design-width) * 100vw, 5px);
    line-height: 2.15;
    text-indent: 0;
}
@media screen and (max-width: 750px) {
    .c-list-attention__sub-item {
        font-size: clamp(11px, 22 / var(--design-width) * 100vw, 22px);
    }
}
.c-list-attention__sub-item::before {
    content: "-";
    flex-shrink: 0;
}
.c-list-attention--1 {
    margin: min(20 / var(--design-width) * 100vw, 20px) 0;
}
.c-list-attention--disc .c-list-attention__item::before {
    content: "・";
}

/* ---------------------------------------------
*   c-list-obtain
--------------------------------------------- */
.c-list-obtain {
    display: flex;
    flex-wrap: wrap;
    gap: min(40 / var(--design-width) * 100vw, 40px) min(20 / var(--design-width) * 100vw, 20px);
    margin-inline: auto;
    position: absolute;
    bottom: min(60 / var(--contents-width) * 100vw, 60px);
    justify-content: center;
}
@media screen and (max-width: 750px) {
    .c-list-obtain {
        bottom: calc(44 / var(--contents-width) * 100vw);
        flex-direction: column;
        gap: calc(22 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
        justify-content: center;
        left: 0;
        right: 0;
    }
}
.c-list-obtain__item {
    width: calc(329 / 1103 * 100%);
}
@media screen and (max-width: 750px) {
    .c-list-obtain__item {
        margin-inline: auto;
        width: calc(294 / 660 * 100%);
    }
}
.c-list-obtain__item--4 {
    width: calc(331 / 1103 * 100%);
}
@media screen and (max-width: 750px) {
    .c-list-obtain__item--4 {
        width: calc(294 / 660 * 100%);
    }
}
.c-list-obtain__item--5 {
    transform: translateX(2.5%);
    width: calc(328 / 1103 * 100%);
}
@media screen and (max-width: 750px) {
    .c-list-obtain__item--5 {
        transform: translateX(0%);
        width: calc(294 / 660 * 100%);
    }
}
@media screen and (max-width: 750px) {
    .c-list-obtain__item img {
        width: 100%;
        height: auto;
        display: block;
    }
}

/* ---------------------------------------------
*   c-list-participation
--------------------------------------------- */
.c-list-participation {
    display: flex;
    gap: min(50 / var(--contents-width) * 100%, 50px) min(90 / var(--contents-width) * 100%, 90px);
    margin-inline: auto;
    position: absolute;
    bottom: min(54 / var(--contents-width) * 100vw, 54px);
    justify-content: center;
}
@media screen and (max-width: 750px) {
    .c-list-participation {
        bottom: calc(44 / var(--contents-width) * 100vw);
        flex-direction: column;
        gap: calc(15 / var(--design-width) * 100vw) calc(20 / var(--design-width) * 100vw);
        justify-content: center;
        left: 0;
        right: 0;
        margin-inline: auto;
        width: calc(381 / 660 * 100%);
    }
}
.c-list-participation__item {
    width: calc(449 / 1103 * 100%);
}
@media screen and (max-width: 750px) {
    .c-list-participation__item {
        width: 100%;
    }
}
@media screen and (max-width: 750px) {
    .c-list-participation__item img {
        width: 100%;
        height: auto;
        display: block;
    }
}
.c-list-participation__item--2 {
    position: relative;
}
.c-list-participation__item--2::before {
    content: "";
    display: block;
    position: absolute;
    left: max(-53 / var(--contents-width) * 100vw, -53px);
    top: 53%;
    transform: translateY(-50%);
    width: min(45 / var(--contents-width) * 100vw, 45px);
    height: min(41 / var(--contents-width) * 100vw, 41px);
    background: url("../img/ico_participation_arrow.svg") no-repeat left center/contain;
}
@media screen and (max-width: 750px) {
    .c-list-participation__item--2::before {
        display: none;
    }
}

/* ---------------------------------------------
*   c-list-distribution
--------------------------------------------- */
.c-list-distribution {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ---------------------------------------------
*   hr（アンカー用区切り線）
--------------------------------------------- */
hr {
    border: none;
    margin: 0;
}

/* ---------------------------------------------
*   c-section-1
--------------------------------------------- */
.c-section-1 {
    background: url(../img/bg_special-movie.png) center top repeat-y;
    background-size: 100% auto;
    margin-top: min(170 / var(--contents-width) * 100%, 170px);
    padding-bottom: min(140 / var(--contents-width) * 100%, 140px);
    position: relative;
}
@media screen and (max-width: 750px) {
    .c-section-1 {
        background-image: url(../img/sp/bg_special-movie.png);
        background-size: 100% auto;
        margin-top: calc(100 / var(--contents-width) * 100%);
        padding-bottom: calc(110 / var(--design-width) * 100vw);
    }
}
.c-section-1__head {
    width: min(440 / var(--contents-width) * 100%, 440px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-section-1__head {
        width: calc(254 / var(--contents-width) * 100%);
    }
}
.c-section-1__head img {
    margin-top: max(-100 / var(--contents-width) * 100vw, -100px);
}
@media screen and (max-width: 750px) {
    .c-section-1__head img {
        margin-top: calc(-63 / var(--design-width) * 100vw);
    }
}
.c-section-1__txt {
    text-align: center;
    font-size: min(30 / var(--contents-width) * 100vw, 30px);
    font-weight: bold;
    line-height: 1.74;
    padding-bottom: min(50 / var(--design-width) * 100vw, 50px);
    padding-top: min(29 / var(--design-width) * 100vw, 29px);
    transform: translateX(0.8%);
}
@media screen and (max-width: 750px) {
    .c-section-1__txt {
        font-size: calc(21 / var(--contents-width) * 100vw);
        line-height: 1.6;
        padding-bottom: calc(26 / var(--design-width) * 100vw);
        padding-top: calc(20 / var(--design-width) * 100vw);
    }
}

/* ---------------------------------------------
*   c-section-2
--------------------------------------------- */
.c-section-2 {
    background: url(../img/bg_benefits.png) center top repeat-y;
    background-size: 100% auto;
    margin-top: min(170 / var(--contents-width) * 100%, 170px);
    padding-bottom: min(80 / var(--contents-width) * 100%, 80px);
    position: relative;
}
@media screen and (max-width: 750px) {
    .c-section-2 {
        background: url(../img/sp/bg_benefits.png) center top repeat-y;
        background-color: #fff;
        background-size: 100% auto;
        margin-top: calc(100 / var(--contents-width) * 100%);
        padding-bottom: calc(60 / var(--design-width) * 100vw);
    }
}
.c-section-2__head {
    width: calc(440 / var(--contents-width) * 100%);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-section-2__head {
        width: calc(254 / var(--contents-width) * 100%);
    }
}
.c-section-2__head img {
    margin-top: max(-100 / var(--contents-width) * 100vw, -100px);
}
@media screen and (max-width: 750px) {
    .c-section-2__head img {
        margin-top: calc(-63 / var(--design-width) * 100vw);
    }
}
.c-section-2__txt {
    text-align: center;
    font-size: min(30 / var(--contents-width) * 100vw, 30px);
    font-weight: bold;
    line-height: 1.74;
    padding-bottom: min(50 / var(--contents-width) * 100%, 50px);
    padding-top: min(33 / var(--contents-width) * 100%, 33px);
}
@media screen and (max-width: 750px) {
    .c-section-2__txt {
        font-size: calc(21 / var(--contents-width) * 100vw);
        line-height: 1.57;
        padding-bottom: calc(13 / var(--contents-width) * 100%);
        padding-top: 0;
    }
}
.c-section-2__date {
    width: min(939 / var(--contents-width) * 100%, 939px);
    margin-inline: auto;
    margin-bottom: min(20 / var(--contents-width) * 100%, 20px);
    margin-top: min(50 / var(--contents-width) * 100%, 50px);
}
@media screen and (max-width: 750px) {
    .c-section-2__date {
        width: calc(657 / var(--contents-width) * 100%);
        margin-top: calc(31 / var(--contents-width) * 100%);
        margin-bottom: calc(25 / var(--contents-width) * 100%);
    }
}
.c-section-2__date img {
    max-width: 100%;
    height: auto;
}
.c-section-2__note {
    margin-bottom: min(69 / var(--contents-width) * 100%, 69px);
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 750px) {
    .c-section-2__note {
        margin-bottom: calc(32 / var(--contents-width) * 100%);
    }
}

/* ---------------------------------------------
*   c-section-3
--------------------------------------------- */
.c-section-3 {
    background: url(../img/bg_present.png) center top repeat-y;
    background-size: 100% auto;
    margin-top: min(170 / var(--contents-width) * 100%, 170px);
    padding-bottom: min(160 / var(--contents-width) * 100vw, 160px);
    position: relative;
}
@media screen and (max-width: 750px) {
    .c-section-3 {
        background-image: url(../img/sp/bg_present.png);
        background-size: 100% auto;
        margin-top: calc(100 / var(--contents-width) * 100%);
        padding-bottom: calc(110 / var(--design-width) * 100vw);
    }
}
.c-section-3__head {
    position: relative;
}
.c-section-3__ttl {
    width: min(440 / var(--contents-width) * 100%, 440px);
    margin-inline: auto;
}
@media screen and (max-width: 750px) {
    .c-section-3__ttl {
        width: calc(254 / var(--contents-width) * 100%);
    }
}
.c-section-3__ttl img {
    margin-top: max(-100 / var(--contents-width) * 100vw, -100px);
}
@media screen and (max-width: 750px) {
    .c-section-3__ttl img {
        margin-top: calc(-63 / var(--design-width) * 100vw);
    }
}
.c-section-3__arrival {
    position: absolute;
    bottom: max(-15 / var(--design-width) * 100vw, -15px);
    left: min(206 / var(--contents-width) * 100%, 206px);
    width: min(158 / var(--contents-width) * 100%, 158px);
}
@media screen and (max-width: 750px) {
    .c-section-3__arrival {
        left: calc(100 / var(--contents-width) * 100%);
        width: calc(109 / var(--design-width) * 100vw);
    }
}
.c-section-3__arrival img {
    display: block;
}
.c-section-3__txt {
    text-align: center;
    font-size: min(30 / var(--contents-width) * 100vw, 30px);
    font-weight: bold;
    line-height: 1.74;
    padding-bottom: min(50 / var(--contents-width) * 100vw, 50px);
    padding-top: min(25 / var(--contents-width) * 100vw, 25px);
}
@media screen and (max-width: 750px) {
    .c-section-3__txt {
        font-size: calc(21 / var(--contents-width) * 100vw);
        padding-bottom: calc(30 / var(--contents-width) * 100%);
        padding-top: 0;
        line-height: 1.7;
    }
}
.c-section-3__date {
    width: min(939 / var(--contents-width) * 100%, 939px);
    margin-inline: auto;
    margin-bottom: min(20 / var(--contents-width) * 100%, 20px);
    margin-top: min(50 / var(--contents-width) * 100%, 50px);
}
@media screen and (max-width: 750px) {
    .c-section-3__date {
        width: calc(657 / var(--contents-width) * 100%);
        margin-top: calc(35 / var(--contents-width) * 100%);
        margin-bottom: calc(25 / var(--contents-width) * 100%);
    }
}
.c-section-3__date img {
    max-width: 100%;
    height: auto;
}
.c-section-3__note {
    margin-bottom: min(70 / var(--contents-width) * 100%, 70px);
    display: flex;
    justify-content: center;
}
@media screen and (max-width: 750px) {
    .c-section-3__note {
        margin-bottom: calc(40 / var(--contents-width) * 100%);
    }
}

/* ---------------------------------------------
*   c-slider
--------------------------------------------- */
/* ---------------------------------------------
*   c-table
--------------------------------------------- */
/* ---------------------------------------------
*   c-tile
--------------------------------------------- */
/* ---------------------------------------------
*   c-ttl
--------------------------------------------- */
/* ---------------------------------------------
*   c-txt
--------------------------------------------- */
.c-txt-pack-num {
    letter-spacing: -0.2em;
    margin-left: -0.2em;
    margin-right: 0.1em;
}

/* ---------------------------------------------
*   js-acc（アコーディオン）
--------------------------------------------- */
.js-acc-target {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s cubic-bezier(0.22, 1, 0.36, 1), padding-bottom 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-acc-target > * {
    overflow: hidden;
    min-height: 0;
    translate: 0 0;
    transition: translate 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.js-acc-scope {
    overflow-anchor: none;
}
.js-acc-scope.is-open .js-acc-target {
    grid-template-rows: 1fr;
}
.js-acc-scope.is-open .c-box-attention__head span::after,
.js-acc-scope.is-open .c-box-terms__head span::after,
.js-acc-scope.is-open .c-box-privacy__head span::after, .js-acc-scope.is-acc-shift-up .c-box-attention__head span::after,
.js-acc-scope.is-acc-shift-up .c-box-terms__head span::after,
.js-acc-scope.is-acc-shift-up .c-box-privacy__head span::after {
    rotate: -90deg;
}

/* ---------------------------------------------
*   js-pagetop（TOPへ戻るボタン表示制御）
--------------------------------------------- */
.js-pagetop {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: visibility var(--hover-duration), opacity var(--hover-duration);
}
.js-pagetop.is-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

@media print and (min-width: 751px), screen and (min-width: 751px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 750px), screen and (max-width: 750px) {
    .sp-hide {
        display: none !important;
    }
}