@charset "UTF-8";
/* mv */
.mv {
    position: relative;
}
.mv_op {
    width: 100%;
    height: 100vh;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1002;
    opacity: 1;
    background-color: var(--color-white);
}
.mv_skip_wrap {
    position: absolute;
    cursor: pointer;
    z-index: 10;
}
.mv_skip {
    cursor: pointer;
}
.mv_skip_txt {
    color: var(--color-black);
    width: fit-content;
}
.mv_skip_txt::after {
    content: '';
    background: url(../images/skip_icon.svg) no-repeat center/ 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.mv_skip_txt_inner {
    letter-spacing: 0.4em;
}
.loaded .mv_skip_wrap,
.is_skip .mv_skip {
    opacity: 0;
}
/* mv common */
.mv_inner {
    position: relative;
    letter-spacing: 0.2em;
}
.mv_count {
    text-align: center;
    color: var(--color-black);
    letter-spacing: 0.2em;
}
.mv_txt_year {
    letter-spacing: 0.2em;
}
.mv_txt {
    color: var(--color-black);
    position: relative;
}
.mv_logo_area {
    display: flex;
    align-items: center;
    justify-content: center;
}
.mv_txt_collab {
    letter-spacing: 0.8em;
    display: flex;
    align-items: center;
}
.mv_txt_collab_inner {
    position: relative;
}
.mv_txt_collab_txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-35%, -64%);
    rotate: -20deg;
    color: var(--color-white);
    z-index: 1;
    letter-spacing: 0;
}
/* mv_1 */
.mv_block,
.mv_block_ttl {
    display: flex;
    align-items: center;
}
/* mv_3 */
.mv_img {
    position: absolute;
}
/* mv_5 */
.mv_5 .mv_txt {
    text-align: center;
}
.mv_txt_time {
    letter-spacing: 0.8em;
}
.mv_img_4_wrap {
    position: absolute;
}
.mv_2,
.mv_3,
.mv_4,
.mv_5 {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    height: 100vh;
    display: grid;
    align-content: center;
}
@media (min-width: 768px) {
    .mv_skip_wrap {
        bottom: calc(30 * var(--relative-size));
        right: calc(65 * var(--relative-size));
        transition: opacity 0.5s 12s;
    }
    .mv_skip_txt::after{
        width: calc(32 * var(--relative-size));
        height: calc(32 * var(--relative-size));
        right:  calc(-32 * var(--relative-size));
    }
    .mv_skip_txt_inner {
        font-size: calc(16 * var(--relative-size));
    }

    /* mv common */
    .mv {
        margin-top: 30em;
    }
    .mv_inner {
        padding-inline: 40em;
    }
    .mv_count_size {
        font-size: calc(104 * var(--relative-size));
    }
    .mv_txt_year {
        font-size: calc(64 * var(--relative-size));
    }
    .mv_txt_collab {
        column-gap: 24em;
    }
    .mv_txt_collab_txt {
        font-size: calc(24 * var(--relative-size));
    }
    .mv_txt_collab_size {
        font-size: calc(24 * var(--relative-size));
    }
    .mv_logo_area {
        column-gap: calc(42 * var(--relative-size));
    }
    /* mv_1 */
    .mv_block {
        justify-content: space-between;
        margin-bottom: 20em;
    }
    .mv_block_ttl {
        column-gap: 10em;
    }
    /* mv_2 */
    .mv_2 .mv_count {
        margin-block: calc(164 * var(--relative-size)) ;
    }
    /* mv_3 */
    .mv_3 .mv_txt {
        padding-block: calc(251 * var(--relative-size)) calc(126 * var(--relative-size));
        margin-left: 29%;
        position: relative;
        z-index: 1;
    }
    .mv_3 .mv_txt_collab {
        margin-top: calc(38 * var(--relative-size));
        margin-left: calc(-35 * var(--relative-size));
    }
    .mv_img_1 {
        top: calc(50% - 532 * var(--relative-size));
        left: calc(50% - 1215 * var(--relative-size));
    }
    .mv_img_2 {
        top: calc(50% - 465 * var(--relative-size));
        right: calc(50% - 836 * var(--relative-size));
    }
    /* mv_4 */
    .mv_4 .mv_count {
        margin-block: calc(164 * var(--relative-size)) ;
    }
    /* mv_5 */
    .mv_5.mv_inner {
        padding-inline: 0;
    }
    .mv_5 .mv_txt_year {
        margin-block: calc(20 * var(--relative-size)) calc(28 * var(--relative-size));
    }
    .mv_5 .mv_logo_area {
        margin-top: calc(70 * var(--relative-size));
    }
    .mv_txt_inner {
        position: absolute;
        left: 50%;
        transform: translateX(-47%);
        top: calc(35 * var(--relative-size));
    }
    .mv_txt_time_year {
        font-size: calc(32 * var(--relative-size));
    }
    .mv_txt_time_size {
        font-size: calc(20 * var(--relative-size));
    }
    .mv_img_4_wrap {
        bottom: calc(-60 * var(--relative-size));
        left: 50%;
        transform: translateX(-50%);
    }
    /* 画像 */
    .mv_makaroni_logo_red {
        width: 160em;
    }
    .mv_cross_red {
        width: 20em;
    }
    .mv_logo_future {
        width: 350em;
        margin-top: 5em;
    }
    .mv_main_img {
        width: 100%;
    }
    .mv_1 .mv_heatup_logo {
        width: 150em;
    }
    .mv_txt_img {
        width: 548em;
    }
    .mv_heatup_logo{
        width: calc(279 * var(--relative-size));
    }
    .mv_makaroni_logo_black {
        width: calc(395 * var(--relative-size));
    }
    .mv_img_1 {
        width: calc(910 * var(--relative-size));
    }
    .mv_img_2 {
        width: calc(891 * var(--relative-size));
    }
    .mv_img_4 {
        width: calc(524 * var(--relative-size));
    }
    .mv_deco_bomb {
        width: calc(69 * var(--relative-size));
    }
    .mv_cross_black{
        width: calc(40 * var(--relative-size));
    }
}
@media (max-width: 767px) {
    .mv_skip_wrap {
        bottom: 140em;
        right: 40em;
        transition: opacity 0.5s 15s;
    }
    .mv_skip_txt::after{
        width: 20em;
        height: 20em;
        right: -20em;
    }
    .mv_skip_txt_inner {
        font-size: 13em;
    }

    /* mv common */
    .mv {
        margin-top: 35em;
    }
    .mv_wrap {
        padding-bottom: 16em;
    }
    .mv_wrap .container {
        padding-inline: 0;
    }
    .mv_inner {
        padding-inline: 24em;
    }
    .mv_count_size {
        font-size: 52em;
    }
    .mv_txt_year {
        font-size: 32em;
    }
    .mv_txt_collab {
        column-gap: 10em;
    }
    .mv_txt_collab_txt {
        font-size: 13em;
    }
    .mv_txt_collab_size {
        font-size: 13em;
    }
    .mv_logo_area {
        gap: 10em;
        width: 375em;
        padding-inline: 30em;
        flex-wrap: wrap;
        justify-content: start;
    }
    .mv_logo_area .mv_heatup_logo {
        margin-left: auto;
    }
    /* mv_1 */
    .mv_block {
        flex-direction: column;
        margin-top: 15em;
        row-gap: 20em;
    }
    .mv_block_ttl {
        column-gap: 8em;
    }
    /* mv_2 */
    .mv_2 .mv_count {
        margin-block: 189em 154em;
    }
    /* mv_3 */
    .mv_3 .mv_txt {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        column-gap: 14em;
        padding-inline: 25em;
        padding-bottom: 435em;
    }
    .mv_img_1 {
        top: 215em;
        right: 0;
    }
    .mv_img_2 {
        top: 45em;
        left: 0;
    }
    /* mv_4 */
    .mv_4 .mv_count {
        margin-block: 189em 154em;
    }
    /* mv_5 */
    .mv_5 .mv_logo_area {
        margin-top: 22em;
        padding-inline: 32em;
    }
    .mv_txt_inner {
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 10em;
        margin-bottom: 15em;
    }
    .mv_txt_time_year {
        font-size: 19em;
    }
    .mv_txt_time_size {
        font-size: 12em;
    }
    .mv_img_4_wrap {
        bottom: -20em;
        left: calc(50% - 122em);
    }
    .mv_3,
    .mv_5 {
        justify-content: center;
    }
    .mv_2,
    .mv_3,
    .mv_4,
    .mv_5 {
        top: 35em;
        align-content: start;
    }
    /* 画像 */
    .mv_main_img {
        width: 100%;
        padding-inline: 10em;
    }
    .mv_makaroni_logo_red {
        width: 100em;
    }
    .mv_cross_red {
        width: 15em;
    }
    .mv_logo_future {
        width: 235em;
        margin-top: 4em;
    }
    .mv_1 .mv_heatup_logo {
        width: 103em;
    }
    .mv_txt_img {
        width: 340em;
    }
    .mv_heatup_logo{
        width: 139em;
    }
    .mv_makaroni_logo_black {
        width: 197em;
    }
    .mv_img_1 {
        width: 290em;
    }
    .mv_img_2 {
        width: 320em;
    }
    .mv_img_3 {
        width: 100%;
        padding-inline: 32em;
    }
    .mv_img_4 {
        width: 260em;
    }
    .mv_deco_bomb {
        width: 38em;
    }
    .mv_cross_black{
        width: 20em;
    }
}
/* animation */
.mv.loaded .mv_1 {
    opacity: 0;
    animation: mv_switch_original 3s forwards;
}
.mv.loaded .mv_op {
    animation: mv_op 1s forwards;
    animation-delay: 16s;
}
.mv.loaded .mv_3,
.mv.loaded .mv_5{
    animation: mv_switch 5s forwards;
}
.mv.loaded .mv_2,
.mv.loaded .mv_4 {
    animation: mv_switch 3s forwards;
}
.mv.loaded .mv_2 {
    animation-delay: 0s;
    z-index: 5;
}
.mv.loaded .mv_3 {
    animation-delay: 3s;
    z-index: 4;
}
.mv.loaded .mv_4 {
    animation-delay: 8s;
    z-index: 3;
}
.mv.loaded .mv_5 {
    animation-delay: 11s;
    z-index: 2;
}
.mv.loaded .mv_1 {
    animation-delay: 16s;
    z-index: 1;
}
.mv.loaded .mv_3 .fade_left,
.mv.loaded .mv_3 .fade_right,
.mv.loaded .mv_3 .fade_up{
    transition-delay: 3s;
}
.mv.loaded .mv_3 .popup {
    transition-delay: 3s;
    display: block;
}
.mv.loaded .mv_3 .mv_deco_bomb {
    animation-delay: 3s;
}
.mv.loaded .mv_3 .mv_cross_black {
    animation-delay: 3s !important;
}
.mv.loaded .mv_4 .fade_left,
.mv.loaded .mv_4 .fade_right,
.mv.loaded .mv_4 .fade_up {
    transition-delay: 8s;
}
.mv.loaded .mv_4 .fade_left_long,
.mv.loaded .mv_4 .fade_right_long {
    animation-delay: 8s !important;
}
.mv.loaded .mv_5 .fade_left,
.mv.loaded .mv_5 .fade_right,
.mv.loaded .mv_5 .fade_up {
    transition-delay: 11s;
}
.mv.loaded .mv_5 .popup {
    transition-delay: 11s;
    display: block;
}
.mv.loaded .mv_5 .mv_deco_bomb {
    animation-delay: 11s;
}
.mv.loaded .mv_5 .mv_cross_black {
    animation-delay: 11s !important;
}
.mv.loaded .mv_1 .mv_makaroni_logo_red,
.mv.loaded .mv_1 .mv_heatup_logo,
.mv.loaded .mv_1 .mv_logo_future,
.mv.loaded .mv_1 .mv_txt_img,
.mv.loaded .mv_1 .anchor_txt,
.mv.loaded .mv_1 .mv_cross_red {
    animation-delay: 17s !important;
}
.mv.loaded.is_skip .mv_1 {
    opacity: 1;
    transition: opacity 0.5s;
    animation: none;
    transition-delay: 0s;
    animation-delay: 0s;
}
.mv.loaded.is_skip .mv_1 .mv_makaroni_logo_red,
.mv.loaded.is_skip .mv_1 .mv_heatup_logo,
.mv.loaded.is_skip .mv_1 .mv_logo_future,
.mv.loaded.is_skip .mv_1 .mv_txt_img,
.mv.loaded.is_skip .mv_1 .anchor_txt,
.mv.loaded.is_skip .mv_1 .mv_cross_red {
    animation-delay: 1s !important;
}
.mv.loaded.is_skip .mv_op,
.mv.loaded.is_skip .mv_2,
.mv.loaded.is_skip .mv_3,
.mv.loaded.is_skip .mv_4,
.mv.loaded.is_skip .mv_5 {
    animation: none;
    animation-delay: 0s;
    opacity: 0;
    z-index: 0;
}
@keyframes mv_op {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        z-index: 0;
    }
}
@keyframes mv_switch {
    0%{ opacity: 0;}
    50%{ opacity: 1;}
    100%{ opacity: 0;}
}
@keyframes mv_switch_original {
    0%{ opacity: 0;}
    50%{ opacity: 1;}
    100%{ opacity: 1;}
}
.mv.loaded .mv_1 .mv_makaroni_logo_red {
    opacity: 0;
    transform: translateX(-30%);
    animation: fade_left 0.6s forwards;
}
.mv.loaded .mv_1 .mv_heatup_logo {
    opacity: 0;
    transform: translateX(30%);
    animation: fade_right 0.6s forwards;
}
.mv.loaded .mv_1 .mv_logo_future,
.mv.loaded .mv_1 .mv_txt_img,
.mv.loaded .mv_1 .anchor_txt {
    opacity: 0;
    transform: translateY(30%);
    animation: fade_up 0.6s forwards;
}
@keyframes fade_up {
    0% {
        opacity: 0;
        transform: translateY(30%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes fade_left {
    0% {
        opacity: 0;
        transform: translateX(-30%);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes fade_right {
    0% {
        opacity: 0;
        transform: translateX(30%);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
.mv.loaded .mv_deco_bomb {
    animation: rotation 25s linear infinite;
}
.mv.loaded .mv_cross_red,
.mv.loaded .mv_cross_black {
    opacity: 0;
    animation: rotation_cross 0.5s 0.5s linear forwards;
}
.mv.loaded .fade_left_long {
    opacity: 0;
    transform: translateX(-30%);
    animation: slide_left_drift 3s ease-out forwards;
}
.mv.loaded .fade_right_long {
    opacity: 0;
    transform: translateX(30%);
    animation: slide_right_drift 3s ease-out forwards;
}
@keyframes slide_left_drift {
    0% {
        opacity: 0;
        transform: translateX(-30%);
    }
    10% {
        opacity: 1;
        transform: translateX(0);
    }
    100% {
        opacity: 1;
        transform: translateX(10%);
    }
}
@keyframes slide_right_drift {
    0% {
        opacity: 0;
        transform: translateX(30%);
    }
    10% {
        opacity: 1;
        transform: translateX(0);
    }
    100% {
        opacity: 1;
        transform: translateX(-10%);
    }
}

/* anchor */
.anchor_txt {
    text-align: center;
    letter-spacing: 0.11em;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.anchor_list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 6;
}
.anchor_list_link {
    display: block;
    position: relative;
}
.anchor_list_link_svg {
    position: absolute;
    overflow: inherit;
}
.anchor_list_link_lead {
    background-color: var(--color-white);
    color: var(--color-pink);
    text-align: center;
}
.anchor_list_link_inner {
    display: flex;
    align-items: center;
}
.anchor_list_link_inner > dt {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.anchor_list_link_ttl {
    text-align: center;
    position: absolute;
    z-index: 1;
}
.anchor_list_link_txt_goods {
    display: block;
    letter-spacing: 0.12em;
}
.anchor_list_link_arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-content: center;
}
.arrow_img_wrap {
    display: grid;
    place-content: center;
}
.anchor_list_link_4 {
    background-color: var(--color-pink);
    border-radius: 8em;
}
.anchor_list_link_4 .anchor_list_link_ttl {
    color: var(--color-white);
}
/* 画像 */
.anchor_img_wrap,
.anchor_img_inner {
    display: contents;
}
.anchor_img_4_wrap {
    display: contents;
}
@media (min-width: 768px) {
    .anchor {
        margin-block: 20em 60em;
    }
    .anchor_txt {
        column-gap: 40em;
        justify-content: center;
    }
    .anchor_txt_size {
        font-size: 22em;
    }
    .anchor_txt_date {
        width: 403em;
    }
    .anchor_list {
        margin-top: 80em;
        gap: 24em 15em;
    }
    .anchor_list > li {
        width: calc(50% - 8em);
    }
    .anchor_list > li:nth-child(3) .anchor_list_link_ttl {
        padding: 7em 0 0 5em;
    }
    .anchor_list_link {
        margin-inline: 25em;
    }
    .anchor_list_link_lead {
        border-radius: 16em;
        padding-block: 9em;
        margin-bottom: 14em;
    }
    .anchor_list_link_lead_m {
        font-size: 16em;
    }
    .anchor_list_link_lead_sm {
        font-size: 14em;
    }
    .anchor_list_link_inner {
        column-gap: 15em;
    }
    .anchor_list_link_inner > dt {
        width: 88em;
        height: 88em;
    }
    .anchor_list_link_ttl {
        line-height: calc(24 / 16);
        white-space: nowrap;
    }
    .anchor_list_link_ttl_m {
        font-size: 16em;
    }
    .anchor_list_link_ttl_sm {
        font-size: 14em;
    }
    .anchor_list_link_inner > dd {
        line-height: calc(24 / 16);
        white-space: nowrap;
    }
    .anchor_list_link_txt_sm {
        font-size: 14em;
    }
    .anchor_list_link_txt_m {
        font-size: 16em;
    }
    .anchor_list_link_txt_lg {
        font-size: 18em;
    }
    .anchor_list_link_txt_goods {
        margin-top: 10em;
    }
    .anchor_list_link_arrow {
        width: 32em;
        height: 32em;
        right: 0;
    }
    /* バリエーション */
    .anchor_list_link_4 {
        padding: 12em 12em 17em;
        margin-inline: 13em;
    }
    .anchor_list_link_4 .anchor_list_link_arrow {
        right: 12em;
    }
    .anchor_list > li:first-child,
    .anchor_list > li:nth-child(2) {
        border-left: solid 2px var(--color-blue);
        border-right: solid 2px var(--color-purple);
    }
    .anchor_list > li:nth-child(3),
    .anchor_list > li:last-child {
        border-left: solid 2px var(--color-green);
        border-right: solid 2px var(--color-pink);
    }
    .anchor_list > li:nth-child(3) .anchor_list_link {
        padding-block: 30em;
    }
    /* 画像 */
    .anchor_img_1 {
        width: 109em;
    }
    .anchor_img_2 {
        width: 151em;
    }
    .anchor_img_3 {
        width: 158em;
        margin-left: calc(50% - 295em);
    }
    .anchor_img_4 {
        width: 85em;
        margin-top: -24em;
        margin-left: calc(50% - 371em);
    }
    .arrow_img {
        width: 12em;
    }
}
@media (max-width: 767px) {
    .anchor_txt {
        flex-direction: column-reverse;
        row-gap: 25em;
        margin-top: 18em;
    }
    .anchor_txt_size {
        font-size: 13em;
        letter-spacing: 0.11em;
    }
    .anchor_txt_date {
        width: 207em;
    }
    .anchor_list {
        margin-top: 32em;
        row-gap: 12em;
    }
    .anchor_list > li {
        width: 100%;
    }
    .anchor_list > li:nth-child(3) .anchor_list_link_ttl {
        padding: 5em 0 0 5em;
    }
    .anchor_list > li:last-child {
        padding-block: 16em;
    }
    .anchor_list_link {
        padding-block: 16em;
    }
    .anchor_list_link_lead {
        border-radius: 12em;
        padding-block: 5em;
        margin-bottom: 10em;
    }
    .anchor_list_link_lead_m {
        font-size: 11em;
    }
    .anchor_list_link_lead_sm {
        font-size: 10em;
    }
    .anchor_list_link_inner {
        column-gap: 12em;
    }
    .anchor_list_link_inner > dt {
        width: 68em;
        height: 68em;
    }
    .anchor_list_link_ttl {
        line-height: calc(32 / 24);
        white-space: nowrap;
    }
    .anchor_list_link_ttl_m {
        font-size: 12em;
    }
    .anchor_list_link_ttl_sm {
        font-size: 10em;
    }
    .anchor_list_link_inner > dd {
        line-height: calc(34 / 22);
    }
    .anchor_list_link_txt_sm {
        font-size: 10em;
    }
    .anchor_list_link_txt_m {
        font-size: 11em;
    }
    .anchor_list_link_txt_lg {
        font-size: 12em;
    }
    .anchor_list_link_txt_goods {
        margin-top: 7em;
    }
    .anchor_list_link_arrow {
        width: 24em;
        height: 24em;
        right: 0;
    }
    .anchor_list_link_4 {
        padding: 12em 20em 15em;
    }
    .anchor_list_link_4 .anchor_list_link_arrow {
        right: 20em;
    }
    /* 画像 */
    .anchor_img_1 {
        width: 62em;
    }
    .anchor_img_2 {
        width: 105em;
    }
    .anchor_img_3 {
        width: 93em;
        margin-left: -58em;
    }
    .anchor_img_4 {
        width: 70em;
        margin-top: -24em;
        margin-left: -34em;
    }
}
/* animation */
.anchor_list_link_inner.is_animated .anchor_list_link_circle {
    fill: none;
    backface-visibility: hidden;
    stroke: var(--color-red);
    stroke-width: 2;
    stroke-dasharray: 345;
    stroke-dashoffset: 345;
    animation: drawCircle 2s ease forwards;
    transform-origin: 50% 50%;
}
.anchor_list_link_4 .anchor_list_link_inner.is_animated  .anchor_list_link_circle {
    stroke: var(--color-white);
}
@keyframes drawCircle {
    0% {
        stroke-dashoffset: 345;
    }
    100% {
        stroke-dashoffset: 0;
    }
}
@media (max-width: 767px) {
    .anchor_list > li {
        position: relative;
    }
    .anchor_list > li::before,
    .anchor_list > li::after {
        content: '';
        height: 1px;
        position: absolute;
        left: 0;
        transform: scale(0, 1);
        transition: transform 0.3s;
        width: 100%;
        animation: line 2s ease forwards;
    }
    .anchor_list > li:first-child::before,
    .anchor_list > li:nth-child(2)::before{
        background-color: var(--color-blue);
    }
    .anchor_list > li:first-child::after,
    .anchor_list > li:nth-child(3)::before {
        background-color: var(--color-purple);
    }
    .anchor_list > li:nth-child(2)::after,
    .anchor_list > li:last-child::before {
        background-color: var(--color-green);
    }
    .anchor_list > li:nth-child(3)::after {
        background-color: var(--color-pink);
    }
    .anchor_list > li::before {
        top: 0;
        transform-origin: left top;
    }
    .anchor_list > li::after {
        bottom: 0;
        transform-origin: left bottom;
    }
}
@keyframes line {
    0% {
        transform: scale(0, 1);
    }
    100% {
        transform: scale(1, 1);
    }
}

/* topics */
.topics_line_img_wrap {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
}
.topics_line_img_wrap_left {
    left: 0;
}
.topics_line_img_wrap_right {
    right: 0;
}
.topics_ttl_inner {
    display: flex;
    align-items: center;
    color: var(--color-white);
}
.topics_block_list_inner > dt {
    letter-spacing: 1.2em;
    text-align: center;
    border-top: solid 2px var(--color-red);
    border-bottom: solid 2px var(--color-red);
}
.topics_block_list > li:first-child .topics_block_list_txt {
    text-align: center;
}
.topics_block_list > li:not(:first-child) .topics_block_list_txt {
    display: flex;
    align-items: end;
    justify-content: space-between;
}
@media (min-width: 768px) {
    .topics {
        overflow: hidden;
    }
    .topics_block {
        margin-block: 60em;
        position: relative;
    }
    .topics_ttl {
        background: url(../images/topics_ttl_img.jpg) no-repeat center/ 100%;
        padding-block: 116em 67em;
        margin-inline: 50em;
    }
    .topics_ttl_inner {
        flex-direction: column;
        row-gap: 28em;
        margin-left: calc(50% + 95em);
    }
    .topics_ttl_inner_txt_size {
        font-size: 16em;
    }
    .topics_block_list {
        margin: 40em 50em 0;
    }
    .topics_block_list_inner > dt {
        padding-block: 18em 17em;
    }
    .topics_block_list_inner_txt_size {
        font-size: 16em;
        letter-spacing: 1.2em;
    }
    .topics_block_list_inner > dd:first-of-type {
        margin-top: 33em;
    }
    .topics_block_list > li:last-child .topics_block_list_inner > dd:first-of-type{
        margin-top: 40em;
    }
    .topics_block_list_txt_size {
        font-size: 20em;
    }
    .topics_block_list > li:nth-child(2) .topics_block_list_txt {
        justify-content: center;
        column-gap: 90em;
    }
    .topics_block_list > li:not(:first-child) .topics_block_list_txt {
        margin-top: 24em;
        line-height: calc(22 / 18);
    }
    .topics_block_list_txt_m {
        font-size: 18em;
    }
    .topics_block_list_txt_sm {
        font-size: 14em;
    }
    .topics_block_list_txt_md {
        font-size: 18em;
    }
    .topics_block_list_txt_lg {
        font-size: 22em;
    }
    .topics_block_list_desc {
        line-height: calc(32 / 16);
        margin-top: 20em;
    }
    .topics_block_list_desc_txt_size {
        font-size: 16em;
    }
    .topics_block_list .btn_wrap {
        margin-top: 22em;
    }
    .topics_line_img_wrap {
        row-gap: 18em;
    }
    /* grid */
    .topics_block_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 195em 550em;
        align-items: start;
        gap: 40em 80em;
    }
    .topics_block_list > li:nth-child(2) {
        grid-column-start: 1;
        grid-row-start: 2;
    }
    .topics_block_list > li:last-child {
        grid-row: span 2 / span 2;
        grid-column-start: 2;
        grid-row-start: 1;
    }
    /* 画像 */
    .topics_line_img {
        width: 15em;
    }
    .topics_logo {
        width: 241em;
    }
    .topics_img_1 {
        width: auto;
        padding-inline: 70em;
    }
    .topics_img_2 {
        width: auto;
    }
}
@media (max-width: 767px) {
    .topics {
        margin-top: 60em;
    }
    .topics_block_inner {
        overflow: hidden;
        position: relative;
        padding-block: 20em;
        margin-top: 20em;
    }
    .topics_ttl {
        background: url(../images/topics_ttl_img_sp.jpg) no-repeat center/ 100%;
        padding-block: 133em 40em;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
    }
    .topics_ttl_inner {
        justify-content: center;
        flex-direction: column;
        row-gap: 17em;
    }
    .topics_ttl_inner_txt_size {
        font-size: 13em;
    }
    .topics_block_list {
        padding-inline: 32em;
    }
    .topics_block_list > li + li {
        margin-top: 48em;
    }
    .topics_block_list_inner > dt {
        padding-block: 12em 11em;
    }
    .topics_block_list_inner_txt_size {
        font-size: 8em;
        letter-spacing: 1.2em;
    }
    .topics_block_list_inner > dd:first-of-type {
        margin-top: 20em;
    }
    .topics_block_list > li:not(:first-child) .topics_block_list_txt {
        margin-top: 22em;
        line-height: calc(48 / 32);
    }
    .topics_block_list_txt_size {
        font-size: 17em;
    }
    .topics_block_list_txt_m {
        font-size: 16em;
    }
    .topics_block_list_txt_sm {
        font-size: 13em;
    }
    .topics_block_list_txt_md {
        font-size: 15em;
    }
    .topics_block_list_txt_lg {
        font-size: 20em;
        letter-spacing: 0.08em;
    }
    .topics_block_list_desc {
        line-height: calc(32 / 16);
        margin-top: 20em;
    }
    .topics_block_list_desc_txt_size {
        font-size: 13em;
    }
    .topics_block_list .btn_wrap {
        margin-top: 22em;
    }
    .topics_line_img_wrap {
        row-gap: 8em;
    }
    /* 画像 */
    .topics_line_img {
        width: 8em;
    }
    .topics_logo {
        width: 201em;
    }
    .topics_img_1 {
        padding-inline: 17em;
    }
}
/* animation */
.topics_line_img_wrap_left {
    animation: loop_slide_top 70s infinite linear;
}
.topics_line_img_wrap_right {
    animation: loop-slide-bottom 70s infinite linear;
}
@keyframes loop_slide_top {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-50%);
    }
}
@keyframes loop-slide-bottom {
    0% {
        transform: translateY(-50%);
    }
    100% {
        transform: translateY(0);
    }
}

/* campaign */
.campaign,
.campaign_heading_wrap {
    position: relative;
}
.campaign_heading {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.campaign_heading::before,
.campaign_heading::after {
    content: '';
    background: url(../images/wave_line.svg) no-repeat center/ 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.campaign_ttl {
    text-align: center;
    position: relative;
    z-index: 1;
}
.campaign_ttl_lead {
    display: block;
    position: relative;
}
.campaign_ttl_lead::before,
.campaign_ttl_lead::after {
    content: '';
    background: url(../images/txt_deco.svg) no-repeat center/ 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.campaign_ttl_lead::after {
    transform: translateY(-50%) scaleX(-1);
}
.campaign_ttl_lead_m {
    letter-spacing: 0.4em;
}
.campaign_ttl_present {
    display: block;
}
.campaign_heading_box {
    color: var(--color-white);
    text-align: center;
    position: relative;
    z-index: 0;
}
.campaign_heading_box::before,
.campaign_heading_box::after {
    content: '';
    position: absolute;
}
.campaign_heading_box::before {
    background-color: var(--color-red);
}
.campaign_heading_box::after {
    z-index: -1;
}
.campaign_heading_box > dt {
    color: var(--color-white);
    text-align: center;
    position: absolute;
}
.campaign_heading_box > dd {
    position: relative;
}
.campaign_heading_tag {
    position: absolute;
    display: flex;
    align-items: center;
    background-color: var(--color-white);
    border: solid 2px var(--color-red);
}
.campaign_heading_tag_total {
    writing-mode: vertical-rl;
}
.campaign_list_lead {
    color: var(--color-purple);
    letter-spacing: 0.4em;
    text-align: center;
}
.campaign_list {
    display: flex;
    justify-content: center;
    align-items: start;
}
.campaign_list_inner > dt {
    display: flex;
    align-items: center;
    position: relative;
}
.campaign_list_edition {
    color: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.campaign_list_edition_sub {
    position: absolute;
}
.campaign_list_cf_size {
    display: block;
    text-align: center;
}
.campaign_list_quantity {
    border: solid 2px var(--color-red);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.campaign_list_goods_desc_ttl {
    display: block;
}
.campaign_end_txt {
    letter-spacing: 0;
}
/* 条件 */
.campaign_terms_ttl,
.campaign_terms_txt  {
    text-align: center;
}
.campaign_terms_txt {
    border-top: solid 2px var(--color-green);
    border-bottom: solid 2px var(--color-green);
}
.campaign_terms_block {
    display: flex;
    justify-content: center;
}
.campaign_terms_block_list {
    display: flex;
}
.campaign_terms_block_list > li {
    background-color: var(--color-white);
    position: relative;
}
.campaign_terms_block_list_plus {
    border-radius: 50%;
    display: grid;
    place-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.campaign_terms_block_list_txt {
    text-align: center;
}
.campaign_terms_block_label {
    position: relative;
}
.campaign_terms_block_label::after {
    content: '';
    position: absolute;
}
.campaign_terms_block_label_txt {
    position: relative;
}
.campaign_terms_block_label_get {
    display: block;
    color: var(--color-white);
    text-align: center;
    width: fit-content;
}
.campaign_terms_block_label_get::after {
    content: '';
    position: absolute;
    border-style: solid;
}
.campaign_terms_block_label_info {
    letter-spacing: 0;
}
.campaign_terms_block_label_info > li::before {
    content: '・ ';
}
.campaign_terms_scroll_list > li {
    background-color: var(--color-white);
}
.campaign_terms_scroll_list > li * {
    letter-spacing: 0;
}
.campaign_terms_scroll_list_ttl {
    text-align: center;
}
.campaign_terms_scroll_list_txt {
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.campaign_terms_scroll_list_info > li::before {
    content: '・ ';
}
.campaign_terms_scroll_list_note > li::before {
    content: '※ ';
}
.campaign_terms_scroll_list_txt::-webkit-scrollbar {
    display: none;
}
.campaign_terms_scroll .simplebar-scrollbar::before {
    background-color: var(--color-red);
    border-radius: 0;
    left: 0;
    right: 0;
    opacity: 1 !important;
}
.campaign_terms_scroll .simplebar-track {
    background-color: #dedede;
}
.campaign_terms_btn_area {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.campaign_terms_shop {
    background-color: var(--color-white);
    border: solid 2px var(--color-red);
}
.campaign_terms_shop_list > li::before {
    content: '・ ';
}
.campaign_terms_shop > dt {
    text-align: center;
}
.campaign_terms_shop > dd {
    display: flex;
}
/* バリエーション */
.campaign_1 .campaign_heading {
    background-color: var(--color-light-blue);
}
.campaign_1 .campaign_ttl_present > span:first-child,
.campaign_1 .campaign_ttl_present > span:nth-child(3),
.campaign_1 .campaign_ttl_present > span:last-child {
    color: var(--color-blue);
}
.campaign_1 .campaign_heading_box::after {
    border: solid 2px var(--color-blue);
}
.campaign_1 .campaign_heading_box > dt,
.campaign_1 .campaign_list_edition {
    background-color: var(--color-blue);
}
.campaign_1 .campaign_list_inner > dd {
    display: flex;
}
.campaign_2 .campaign_heading {
    background-color: var(--color-light-purple);
}
.campaign_2 .campaign_ttl_present > span:first-child,
.campaign_2 .campaign_ttl_present > span:nth-child(3),
.campaign_2 .campaign_ttl_present > span:last-child {
    color: var(--color-purple);
}
.campaign_2 .campaign_heading_box::after {
    border: solid 2px var(--color-purple);
}
.campaign_2 .campaign_heading_box > dt,
.campaign_2 .campaign_list_edition {
    background-color: var(--color-purple);
}
.campaign_3 .campaign_heading {
    background-color: var(--color-light-green);
}
.campaign_3 .campaign_ttl_present > span:first-child,
.campaign_3 .campaign_ttl_present > span:nth-child(3),
.campaign_3 .campaign_ttl_present > span:last-child {
    color: var(--color-green);
}
.campaign_3 .campaign_heading_box::after {
    border: solid 2px var(--color-green);
}
.campaign_3 .campaign_heading_box > dt,
.campaign_3 .campaign_list_edition {
    background-color: var(--color-green);
}
.campaign_3 .campaign_list > li {
    display: flex;
}
.campaign_4 .campaign_heading {
    background-color: var(--color-light-pink);
}
.campaign_4 .campaign_ttl_present > span:first-child,
.campaign_4 .campaign_ttl_present > span:nth-child(3),
.campaign_4 .campaign_ttl_present > span:last-child {
    color: var(--color-pink);
}
.campaign_4 .campaign_heading_box::after {
    border: solid 2px var(--color-pink);
}
.campaign_4 .campaign_heading_box > dt,
.campaign_4 .campaign_list_edition {
    background-color: var(--color-pink);
}
/* 画像 */
.diamond_anime {
    position: relative;
}
.diamond_img {
    position: absolute;
}
.animation_ready.animation_loaded .cloud_img.popup.is_animated {
    transition-delay: 2s;
}
@media (min-width: 768px) {
    .campaign {
        padding-top: 100em;
    }
    .campaign + .campaign {
        padding-top: 120em;
    }
    .campaign_heading {
        padding-block: 90em 85em;
        column-gap: 38em;
    }
    .campaign_heading::before,
    .campaign_heading::after {
        max-width: 1120px;
        width: 100%;
        height: 7em;
    }
    .campaign_heading::before {
        top: -4em;
    }
    .campaign_heading::after {
        bottom: -4em;
    }
    .campaign_ttl_lead {
        margin-bottom: 32em;
    }
    .campaign_ttl_lead_m {
        font-size: 16em;
    }
    .campaign_ttl_lead::before,
    .campaign_ttl_lead::after {
        width: 12em;
        height: 16em;
    }
    .campaign_ttl_lead::before {
        left: calc(50% - 130em);
    }
    .campaign_ttl_lead::after {
        right: calc(50% - 120em);
    }
    .campaign_ttl_md {
        font-size: 20em;
    }
    .campaign_ttl_m {
        font-size: 16em;
    }
    .campaign_ttl_sm {
        font-size: 16em;
    }
    .campaign_ttl_num {
        font-size: 24em;
    }
    .campaign_ttl_lg_sns {
        font-size: 32em;
    }
    .campaign_ttl_present {
        margin-top: 20em;
    }
    .campaign_ttl_present_m {
        font-size: 32em;
    }
    .campaign_heading_box {
        padding: 35em 40em 24em;
    }
    .campaign_heading_box::before,
    .campaign_heading_box::after {
        width: 510em;
        height: 148em;
    }
    .campaign_heading_box::before{
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .campaign_heading_box::after {
        bottom: -12em;
        right: -9em;
    }
    .campaign_heading_box > dt {
        width: 228em;
        padding-block: 12em;
        border-radius: 20em;
        top: -20em;
        left: -30em;
    }
    .campaign_heading_box_ttl_txt_size {
        font-size: 16em;
    }
    .campaign_heading_box_txt_md {
        font-size: 18em;
    }
    .campaign_heading_box_txt_lg {
        font-size: 20em;
    }
    .campaign_heading_box > dd:last-of-type {
        margin-top: 22em;
    }
    .campaign_heading_box_txt_num {
        font-size: 22em;
        vertical-align: bottom;
    }
    .campaign_heading_tag {
        border-radius: 36em;
        padding: 18em 53em;
        column-gap: 5em;
        top: -30em;
        right: calc(50% - 515em);
    }
    .campaign_heading_tag_total {
        font-size: 14em;
    }
    .campaign_heading_tag_txt_m {
        font-size: 18em;
    }
    .campaign_heading_tag_lg {
        font-size: 28em;
    }
    .campaign_heading_tag_txt_bottom {
        margin-top: 5em;
        /* letter-spacing: 0; */
    }
    .campaign_heading_tag_txt_bottom_txt_size {
        font-size: 18em;
    }
    .campaign_list_lead {
        margin-top: 126em;
    }
    .campaign_list_lead > span {
        font-size: 18em;
    }
    .campaign_list_lead [class].char17 {
        font-size: 16em;
    }
    .campaign_list {
        margin-top: 78em;
        column-gap: 123em;
    }
    .campaign_list_inner > dt {
        column-gap: 24em;
    }
    .campaign_list_inner > dd {
        margin-top: 24em;
        position: relative;
    }
    .campaign_list_edition {
        width: 104em;
        height: 104em;
        flex-shrink: 0;
    }
    .campaign_list_edition_num {
        margin-inline: 3em;
    }
    .campaign_list_edition_m {
        font-size: 16em;
    }
    .campaign_list_edition_l {
        font-size: 28em;
    }
    .campaign_list_edition_num_txt_size {
        font-size: 28em;
    }
    .campaign_list_edition_sub {
        top: -26em;
        left: -7em;
    }
    .campaign_list_edition_sub > span {
        font-size: 14em;
        display: inline-block;
    }
    .campaign_list_date {
        white-space: nowrap;
    }
    .campaign_list_date_m {
        font-size: 22em;
    }
    .campaign_list_date_day {
        font-size: 30em;
    }
    .campaign_list_date_week {
        font-size: 22em;
    }
    .campaign_list_cf_size {
        border-radius: 16em;
        width: 122em;
        padding-block: 6em 7em;
        margin-top: 20em;
        border: solid 2px var(--color-red);
    }
    .campaign_list_cf_size_m {
        font-size: 16em;
    }
    .campaign_list_cf_size_sm {
        font-size: 14em;
    }
    .campaign_list_quantity {
        padding-block: 13em;
        margin-top: -10em !important;
        width: 228em;
    }
    .campaign_list_quantity_m {
        font-size: 18em;
    }
    .campaign_list_quantity_m_bottom {
        margin-top: 0.3em;
    }
    .campaign_list_quantity_lg {
        font-size: 30em;
    }
    .campaign_list_quantity_contents {
        margin-top: 20em;
        display: block;
    }
    .campaign_list_quantity_contents_txt_size {
        font-size: 18em;
        line-height: calc(32 / 18);
    }
    .campaign_list_goods_desc {
        margin-top: 38em;
    }
    .campaign_list_goods_desc_ttl {
        line-height: calc(36 / 18);
        white-space: nowrap;
    }
    .campaign_list_goods_desc_ttl_md {
        font-size: 22em;
    }
    .campaign_list_goods_desc_ttl_m {
        font-size: 18em;
    }
    .campaign_list_goods_desc_ttl_lg {
        font-size: 24em;
    }
    .campaign_list_goods_desc_txt {
        line-height: calc(32 / 18);
        margin-top: 20em;
    }
    .campaign_list_goods_desc_txt_size {
        font-size: 18em;
    }
    .campaign_end_txt_size {
        font-size: 12em;
    }
    /* 条件 */
    .campaign_terms {
        margin-top: 64em;
        padding-block: 66em 74em;
    }
    .campaign_terms_ttl_txt_size {
        font-size: 20em;
    }
    .campaign_terms_txt {
        margin: 40em 80em 0;
        padding-block: 38em;
    }
    .campaign_terms_txt_md {
        font-size: 18em;
    }
    .campaign_terms_txt_lg {
        font-size: 24em;
    }
    .campaign_terms_ttl_lg {
        font-size: 28em;
    }
    .campaign_terms_block {
        column-gap: 65em;
        align-items: end;
        margin-top: 40em;
    }
    .campaign_terms_block_list {
        column-gap: 25em;
    }
    .campaign_terms_block_list > li:first-child {
        padding: 33em 33em 41em;
    }
    .campaign_terms_block_list > li:last-child {
        padding: 32em;
    }
    .campaign_terms_block_list_plus {
        left: -34em;
        width: 40em;
        height: 40em;
    }
    .campaign_terms_block_list_txt {
        line-height: calc(27 / 18);
        margin-bottom: 20em;
    }
    .campaign_terms_block_list_txt_m {
        font-size: 18em;
    }
    .campaign_terms_block_list_txt_lg {
        font-size: 20em;
    }
    .campaign_terms_block_list_txt_sm {
        font-size: 14em;
    }
    .campaign_terms_block_label::after {
        width: 60em;
        height: 4em;
        left: -80em;
        top: 15em;
    }
    .campaign_terms_block_label_txt {
        margin-bottom: 20em;
        line-height: calc(30 / 20);
    }
    .campaign_terms_block_label_txt_size {
        font-size: 20em;
    }
    .campaign_terms_block_label_get {
        position: absolute;
        left: 0;
        top: -55em;
        padding: 7em 27em;
    }
    .campaign_terms_block_label_get_txt_size {
        font-size: 20em;
    }
    .campaign_terms_block_label_get::after {
        bottom: -9em;
        left: 50%;
        transform: translateX(-50%);
        border-width: 10em 8em 0 8em;
    }
    .campaign_terms_block_label_get.bg_blue::after {
        border-color: var(--color-blue) transparent transparent;
    }
    .campaign_terms_block_label_get.bg_purple::after {
        border-color: var(--color-purple) transparent transparent;
    }
    .campaign_terms_block_label_get.bg_pink::after {
        border-color: var(--color-pink) transparent transparent;
    }
    .campaign_terms_block_label_info {
        line-height: calc(18 / 12);
    }
    .campaign_terms_block_label_info > li {
        text-indent: -1em;
        padding-left: 1em;
        font-size: 12em;
    }
    .campaign_terms_scroll {
        padding-inline: 80em;
        margin-top: 40em;
    }
    .campaign_terms_scroll_list_txt p,
    .campaign_terms_scroll_list_txt h5 {
        font-size: 16em;
    }
    .campaign_terms_scroll_list_txt h5 {
        margin-top: 1em;
    }
    .campaign_terms_scroll_list_txt .mt2em {
        margin-top: 2em;
    }
    .campaign_terms_scroll_list_ttl {
        font-size: 18em;
    }
    .campaign_terms_scroll_list > li {
        padding: 40em 40em 32em;
    }
    .campaign_terms_scroll_list > li + li {
        margin-top: 40em;
    }
    .campaign_terms_scroll_list > li:nth-child(2) .campaign_terms_scroll_list_txt{
        height: 200em;
    }
    .campaign_terms_scroll_list_txt {
        height: 240em;
        line-height: calc(24 / 16);
        margin-top: 25em;
    }
    .campaign_terms_scroll_list_txt_size {
        font-size: 16em;
    }
    .campaign_terms_scroll_list_info > li {
        text-indent: -0.7em;
        padding-left: 0.7em;
        font-size: 16em;
    }
    .campaign_terms_scroll_list_note > li {
        text-indent: -1.5em;
        padding-left: 1.5em;
        font-size: 16em;
    }
    .campaign_terms_scroll .simplebar-content {
        margin-right: 35em;
    }
    .campaign_terms_scroll .simplebar-scrollbar::before {
        width: 4em !important;
    }
    .campaign_terms_scroll .simplebar-track {
        width: 4em !important;
    }
    .campaign_terms_btn_area {
        gap: 50em 44em;
        margin-top: 40em;
    }
    .campaign_terms_shop {
        margin: 40em 80em 0;
        padding-block: 42em;
        border-radius: 24em;
    }
    .campaign_terms_shop_ttl_size {
        font-size: 18em;
    }
    .campaign_terms_shop > dd {
        line-height: 2;
        justify-content: center;
        column-gap: 64em;
        margin-top: 40em;
    }
    .campaign_terms_shop_link {
        text-decoration: underline;
    }
    .campaign_terms_shop_list > li {
        font-size: 16em;
    }
    /* バリエーション */
    .campaign_1 .campaign_list > li:last-child dt,
    .campaign_2 .campaign_list > li:last-child dt,
    .campaign_2 .campaign_list > li:last-child .campaign_list_goods_desc_txt {
        margin-left: -68em;
    }
    .campaign_1 .campaign_end_txt {
        display: block;
        margin-top: -10em;
    }
    .campaign_1 .campaign_list_inner > dd {
        column-gap: 40em;
    }
    .campaign_1 .campaign_terms_block_label::after {
        background: url(../images/dots_line_blue.svg) no-repeat top left/ 100%;
    }
    .campaign_2 .campaign_list > li:first-child .campaign_list_quantity {
        margin-left: 128em;
    }
    .campaign_2 .campaign_list > li:last-child .campaign_list_quantity {
        margin-left: 63em;
    }
    .campaign_2 .campaign_list > li:first-child .campaign_end_txt {
        margin-top: -11em;
        margin-left: 365em;
        white-space: nowrap;
    }
    .campaign_2 .campaign_list > li:last-child .campaign_end_txt {
        margin-top: -13em;
        margin-right: 76em;
    }
    .campaign_2 .campaign_terms_block_list > li:first-child .campaign_terms_block_list_txt{
        margin-top: 16em;
    }
    .campaign_2 .campaign_terms_block_label::after {
        background: url(../images/dots_line_purple.svg) no-repeat top left/ 100%;
    }
    .campaign_3 .campaign_heading_box > dt {
        width: 348em;
    }
    .campaign_3 .campaign_ttl_lead::before {
        left: calc(50% - 110em);
    }
    .campaign_3 .campaign_ttl_lead::after {
        right: calc(50% - 105em);
    }
    .campaign_3 .campaign_list > li {
        column-gap: 52em;
    }
    .campaign_3 .campaign_list_2 > li {
        column-gap: 36em;
        align-items: end;
    }
    .campaign_3 .campaign_list > li:last-child dd {
        margin-left: 125em;
        margin-top: 0;
    }
    .campaign_3 .campaign_list_quantity {
        margin-top: 40em !important;
    }
    .campaign_3 .campaign_heading_2 {
        margin-top: 60em;
    }
    .campaign_3 .campaign_ttl,
    .campaign_4 .campaign_ttl {
        line-height: 1.8;
    }
    .campaign_3 .campaign_ttl_lead,
    .campaign_4 .campaign_ttl_lead {
        margin-bottom: 5em;
    }
    .campaign_3 .campaign_ttl_present,
    .campaign_4 .campaign_ttl_present {
        margin-top: 0;
    }
    .campaign_4 .campaign_heading {
        column-gap: 85em;
    }
    .campaign_4 .campaign_ttl_lead::before{
        left: -2em;
    }
    .campaign_4 .campaign_ttl_lead::after {
        right: 0;
    }
    .campaign_4 .campaign_list {
        column-gap: 40em;
    }
    .campaign_4 .campaign_list_inner > dt {
        align-items: end;
    }
    .campaign_4 .campaign_terms_block_label::after {
        background: url(../images/dots_line_pink.svg) no-repeat top left/ 100%;
    }
    /* 画像 */
    .deco_txt_img {
        width: 300em;
        position: absolute;
        top: 12em;
        left: calc(50% - 788em);
        z-index: 1;
    }
    .campaign_heading_wrap .deco_txt_img{
        top: -157em;
    }
    .present_img {
        width: 230em;
        display: block;
    }
    .present_img_5 {
        width: 514em;
    }
    .present_img_6 {
        width: 400em;
        margin-top: 24em;
        padding-bottom: 47em;
    }
    .present_img_7 {
        width: 513em;
    }
    .present_img_8 {
        width: 447em;
    }
    .present_img_9 {
        width: 338em;
    }
    .collab_logo {
        width: 430em;
    }
    .diamond_img_1,
    .diamond_img_2 {
        width: 18em;
    }
    .diamond_img_3,
    .diamond_img_4 {
        width: 14em;
    }
    .diamond_img_1 {
        top: 0;
        left: calc(50% - 326em);
    }
    .diamond_img_2 {
        top: -45em;
        right: calc(50% - 180em);
    }
    .diamond_img_3 {
        bottom: -63em;
        left: calc(50% - 142em);
    }
    .diamond_img_4 {
        bottom: -53em;
        right: calc(50% - 307em);
    }
    .cloud_img_wrap {
        margin-top: 20em;
    }
    .cloud_img {
        width: 158em;
    }
    .icon_plus_img {
        width: 16em;
    }
    .coupon_blue_img,
    .coupon_purple_img {
        width: 136em;
    }
    .coupon_purple_img {
        margin-top: 20em;
    }
    .coupon_pink_img {
        width: 191em;
    }
    .lens_blue_img {
        width: 280em;
    }
    .lens_purple_img {
        width: 217em;
    }
    .lens_pink_img {
        width: 195em;
        margin-top: 15em;
    }
}
@media (min-width: 1120px) {
    .present_img_6 {
        margin-top: 55em;
    }
}
@media (max-width: 767px) {
    .campaign {
        padding-top: 85em;
    }
    .campaign + .campaign {
        padding-top: 80em;
    }
    .campaign_heading {
        flex-direction: column;
        padding-block: 40em 25em;
        row-gap: 32em;
    }
    .campaign_heading::before,
    .campaign_heading::after {
        max-width: 342em;
        width: 100%;
        height: 4em;
        background-size: cover;
    }
    .campaign_heading::before {
        top: -2em;
    }
    .campaign_heading::after {
        bottom: -2em;
    }
    .campaign_ttl_lead {
        margin-bottom: 20em;
    }
    .campaign_ttl_lead_m {
        font-size: 12em;
        letter-spacing: 0.4em;
    }
    .campaign_ttl_lead::before,
    .campaign_ttl_lead::after {
        width: 7em;
        height: 9em;
    }
    .campaign_ttl_lead::before {
        left: calc(50% - 90em);
    }
    .campaign_ttl_lead::after {
        right: calc(50% - 85em);
    }
    .campaign_ttl_num {
        font-size: 16em;
    }
    .campaign_ttl_lg_sns {
        font-size: 18em;
    }
    .campaign_ttl_md {
        font-size: 14em;
    }
    .campaign_ttl_m {
        font-size: 13em;
    }
    .campaign_ttl_sm {
        font-size: 12em;
    }
    .campaign_ttl_present {
        margin-top: 10em;
    }
    .campaign_ttl_present_m {
        font-size: 20em;
    }
    .campaign_heading_box {
        padding: 24em 33em 16em;
    }
    .campaign_heading_box::before,
    .campaign_heading_box::after {
        width: 326em;
        height: 94em;
    }
    .campaign_heading_box::before{
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .campaign_heading_box::after {
        bottom: -4em;
        right: -6em;
    }
    .campaign_heading_box > dt {
        width: 152em;
        padding-block: 6em;
        border-radius: 12em;
        top: -12em;
        left: 50%;
        transform: translateX(-50%);
    }
    .campaign_heading_box_ttl_txt_size {
        font-size: 13em;
    }

    .campaign_heading_box_txt_md {
        font-size: 12em;
    }
    .campaign_heading_box_txt_lg {
        font-size: 12em;

    }
    .campaign_heading_box > dd:last-of-type {
        margin-top: 14em;
    }
    .campaign_heading_box_txt_num {
        font-size: 16em;
    }
    .campaign_heading_tag {
        border-radius: 20em;
        padding: 8em 24em;
        column-gap: 3em;
        top: -21em;
        right: 36em;
    }
    .campaign_heading_tag_total {
        font-size: 9em;
    }
    .campaign_heading_tag_txt_m {
        font-size: 13em;
    }
    .campaign_heading_tag_lg {
        font-size: 16em;
    }
    .campaign_heading_tag_txt_bottom {
        margin-top: 2em;
    }
    .campaign_heading_tag_txt_bottom_txt_size {
        font-size: 13em;
    }
    .campaign_list_lead {
        margin-top: 74em;
    }
    .campaign_list_lead > span {
        font-size: 12em;
    }
    .campaign_list_lead [class].char17 {
        font-size: 10em;
    }
    .campaign_list {
        flex-direction: column;
        row-gap: 35em;
        margin-top: 32em;
    }
    .campaign_list_inner > dt {
        column-gap: 16em;
    }
    .campaign_list_inner > dd {
        margin-top: 20em;
        text-align: center;
    }
    .campaign_list_cf_size {
        border-radius: 10em;
        width: 81em;
        padding-block: 2em 4em;
        margin-top: 20em;
        position: absolute;
        right: 0;
        top: -50em;
        border: solid 1px var(--color-red);
    }
    .campaign_list_cf_size_m {
        font-size: 13em;
    }
    .campaign_list_cf_size_sm {
        font-size: 11em;
    }
    .campaign_list_edition {
        width: 62em;
        height: 62em;
        flex-shrink: 0;
    }
    .campaign_list_edition_num {
        margin-inline: 3em;
    }
    .campaign_list_edition_m {
        font-size: 12em;
    }
    .campaign_list_edition_l {
        font-size: 18em;
    }
    .campaign_list_edition_sub {
        top: -15em;
        left: -6em;
    }
    .campaign_list_edition_sub > span {
        font-size: 9em;
    }
    .campaign_list_date {
        display: block;
        line-height: calc(48 / 36);
    }
    .campaign_list_date_m {
        font-size: 14em;
    }
    .campaign_list_date_day {
        font-size: 18em;
    }
    .campaign_list_date_week {
        font-size: 12em;
    }
    .campaign_list_quantity {
        padding-block: 8em;
        width: 118em;
    }
    .campaign_list_quantity_m {
        font-size: 13em;
    }
    .campaign_list_quantity_lg {
        font-size: 18em;
        vertical-align: text-bottom;
    }
    .campaign_list_quantity_contents {
        margin-top: 10em;
        display: block;
    }
    .campaign_list_quantity_contents_txt_size {
        font-size: 13em;
        line-height: calc(46 / 26);
    }
    .campaign_list_goods_desc {
        margin-top: 18em;
    }
    .campaign_list_goods_desc_ttl {
        line-height: calc(36 / 24);
    }
    .campaign_list_goods_desc_ttl_md {
        font-size: 15em;
    }
    .campaign_list_goods_desc_ttl_m {
        font-size: 13em;
    }
    .campaign_list_goods_desc_ttl_lg {
        font-size: 16em;
    }
    .campaign_list_goods_desc_txt {
        line-height: calc(46 / 26);
        margin-top: 15em;
    }
    .campaign_list_goods_desc_txt_size {
        font-size: 13em;
    }
    .campaign_end_txt {
        margin-top: 12em;
    }
    .campaign_end_txt_size {
        font-size: 10em;
        letter-spacing: 0;
    }
    /* 条件 */
    .campaign_terms {
        margin-top: 34em;
        padding: 32em 20em 40em;
    }
    .campaign_terms_ttl {
        line-height: calc(48 / 26);
    }
    .campaign_terms_ttl_txt_size {
        font-size: 13em;
    }
    .campaign_terms_txt {
        margin: 20em 23em 0;
        padding-block: 16em;
        line-height: calc(45 / 26);
    }
    .campaign_terms_txt_md {
        font-size: 13em;
    }
    .campaign_terms_txt_lg {
        font-size: 16em;
    }
    .campaign_terms_ttl_lg {
        font-size: 16em;
    }
    .campaign_terms_block {
        flex-direction: column;
        row-gap: 24em;
        margin-top: 20em;
    }
    .campaign_terms_block_list {
        column-gap: 20em;
    }
    .campaign_terms_block_list > li:first-child {
        padding: 16em 15em 22em;
    }
    .campaign_terms_block_list > li:last-child {
        padding: 16em 14em;
    }
    .campaign_terms_block_list_plus {
        left: -24em;
        width: 28em;
        height: 28em;
    }
    .campaign_terms_block_list_txt {
        line-height: calc(36 / 24);
        margin-bottom: 8em;
    }
    .campaign_terms_block_list_txt_m {
        font-size: 12em;
    }
    .campaign_terms_block_list_txt_lg {
        font-size: 12em;
    }
    .campaign_terms_block_list_txt_sm {
        font-size: 10em;
    }
    .campaign_terms_block_label::after {
        width: 3em;
        height: 61em;
        top: -58em;
        left: calc(50% - 34em);
    }
    .campaign_terms_block_label_txt {
        margin-bottom: 15em;
        display: flex;
        align-items: center;
        justify-content: center;
        column-gap: 11em;
        line-height: calc(39 / 26);
    }
    .campaign_terms_block_label_txt_size {
        font-size: 13em;
    }
    .campaign_terms_block_label_get {
        position: relative;
        padding: 1em 13em;
    }
    .campaign_terms_block_label_get_txt_size {
        font-size: 12em;
    }
    .campaign_terms_block_label_get::after {
        top: 50%;
        transform: translateY(-50%);
        right: -4em;
        border-width: 8em 0 8em 10em;
    }
    .campaign_terms_block_label_get.bg_blue::after {
        border-color: transparent transparent transparent var(--color-blue);
    }
    .campaign_terms_block_label_get.bg_purple::after {
        border-color: transparent transparent transparent var(--color-purple);
    }
    .campaign_terms_block_label_get.bg_pink::after {
        border-color: transparent transparent transparent var(--color-pink);
    }
    .campaign_terms_block_label_info {
        line-height: calc(30 / 20);
    }
    .campaign_terms_block_label_info > li {
        text-indent: -1em;
        padding-left: 1em;
        font-size: 10em;
        letter-spacing: 0;
    }
    .campaign_terms_scroll {
        margin-top: 20em;
    }
    .campaign_terms_scroll_list_txt p,
    .campaign_terms_scroll_list_txt h5 {
        font-size: 13em;
    }
    .campaign_terms_scroll_list_txt h5 {
        margin-top: 1em;
    }
    .campaign_terms_scroll_list_ttl {
        font-size: 16em;
    }
    .campaign_terms_scroll_list > li {
        padding: 24em 20em 29em;
    }
    .campaign_terms_scroll_list > li + li {
        margin-top: 40em;
    }
    .campaign_terms_scroll_list_txt {
        height: 250em;
        line-height: calc(36 / 24);
        margin-top: 15em;
    }
    .campaign_terms_scroll_list_txt_size {
        font-size: 12em;
    }
    .campaign_terms_scroll_list_info > li {
        text-indent: -1em;
        padding-left: 1em;
        font-size: 12em;
    }
    .campaign_terms_scroll_list_note > li {
        text-indent: -1em;
        padding-left: 1em;
        font-size: 12em;
    }
    .campaign_terms_scroll .simplebar-content {
        margin-right: 20em;
    }
    .campaign_terms_scroll .simplebar-scrollbar::before {
        width: 2em !important;
    }
    .campaign_terms_scroll .simplebar-track {
        width: 2em !important;
    }
    .campaign_terms_scroll .simplebar-track.simplebar-horizontal {
        visibility: hidden !important;
    }
    .campaign_terms_btn_area {
        flex-direction: column;
        row-gap: 24em;
        margin-top: 15em;
    }
    .campaign_terms_shop {
        margin-top: 20em;
        padding: 22em 20em;
        border-radius: 12em;
    }
    .campaign_terms_shop_ttl_size {
        font-size: 13em;
    }
    .campaign_terms_shop > dd {
        flex-direction: column;
        line-height: 2;
        margin-top: 10em;
    }
    .campaign_terms_shop_link {
        text-decoration: underline;
    }
    .campaign_terms_shop_list > li {
        font-size: 13em;
    }
    /* バリエーション */
    .campaign_1 .campaign_list_inner > dd {
        column-gap: 23em;
    }
    .campaign_1 .campaign_end_txt {
        display: block;
        margin-bottom: -22em;
    }
    .campaign_1 .campaign_terms_block_label::after {
        background: url(../images/dots_line_blue_sp.svg) no-repeat top left/ 100%;
    }
    .campaign_2 .campaign_heading_box::after,
    .campaign_3 .campaign_heading_box::after,
    .campaign_4 .campaign_heading_box::after {
        bottom: -8em;
    }
    .campaign_2 .campaign_terms_block_label::after {
        background: url(../images/dots_line_purple_sp.svg) no-repeat top left/ 100%;
    }
    .campaign_2 .campaign_list_inner > dt {
        justify-content: space-between;
    }
    .campaign_2 .campaign_list > li .campaign_end_txt {
        text-align: right;
        margin-top: -6em;
    }
    .campaign_2 .campaign_list > li:last-child .campaign_list_goods_desc_txt {
        white-space: nowrap;
    }
    .campaign_2 .campaign_terms_block_label_txt,
    .campaign_4 .campaign_terms_block_label_txt{
        align-items: start;
    }
    .campaign_2 .campaign_terms_block_label_get,
    .campaign_4 .campaign_terms_block_label_get {
            margin-top: 4em;
    }
    .campaign_3 .campaign_heading_2 {
        margin-top: 60em;
    }
    .campaign_3 .campaign_ttl_lead::before {
        left: calc(50% - 70em);
    }
    .campaign_3 .campaign_ttl_lead::after {
        right: calc(50% - 63em);
    }
    .campaign_3 .campaign_list > li {
        flex-direction: column;
        row-gap: 15em;
    }
    .campaign_3 .campaign_list_1 > li .campaign_list_goods_desc_ttl{
        display: grid;
        place-content: center;
    }
    .campaign_3 .campaign_list_2 .campaign_list_date {
        white-space: nowrap;
    }
    .campaign_3 .campaign_heading_box > dt {
        width: 205em;
    }
    .campaign_3 .campaign_ttl,
    .campaign_4 .campaign_ttl {
        line-height: 1.6;
    }
    .campaign_3 .campaign_ttl_lead,
    .campaign_4 .campaign_ttl_lead {
        margin-bottom: 5em;
    }
    .campaign_3 .campaign_ttl_present,
    .campaign_4 .campaign_ttl_present {
        margin-top: 2em;
    }
    .campaign_4 .campaign_ttl_lead::before{
        left: -8em;
        top: 55%;
    }
    .campaign_4 .campaign_ttl_lead::after {
        right: -4em;
        top: 55%;
    }
    .campaign_4 .campaign_list_inner > dt {
        display: block;
        text-align: center;
    }
    .campaign_4 .campaign_list_inner > dd {
        text-align: left;
    }
    .campaign_4 .campaign_terms_block_list > li:last-child .campaign_terms_block_list_txt {
        margin-top: 17em;
    }
    .campaign_4 .campaign_terms_block_label::after {
        left: calc(50% - 8em);
        height: 87em;
        top: -87em;
        background: url(../images/dots_line_pink_sp.svg) no-repeat top left/ 100%;
    }
    .campaign_4 .campaign_end_txt {
        text-align: right;
        display: block;
        margin-right: 46em;
    }
    /* 画像 */
    .deco_txt_img {
        width: 150em;
        position: absolute;
        top: 2em;
        left: -98em;
        z-index: 1;
    }
    .campaign_heading_wrap .deco_txt_img {
        top: -70em;
    }
    .present_img {
        width: 100%;
    }
    .present_img_5 {
        width: 322em;
    }
    .present_img_6 {
        width: 207em;
    }
    .present_img_8 {
        width: 323em;
    }
    .present_img_9 {
        width: 276em;
        margin-bottom: 20em;
    }
    .present_img_wrap {
        position: relative;
    }
    .collab_logo {
        width: 259em;
    }
    .diamond_img_1,
    .diamond_img_2 {
        width: 9em;
    }
    .diamond_img_3,
    .diamond_img_4 {
        width: 7em;
    }
    .diamond_img_1 {
        top: -10em;
        left: 0;
    }
    .diamond_img_2 {
        top: -18em;
        right: 25em;
    }
    .diamond_img_3 {
        bottom: -31em;
        left: calc(50% - 69em);
    }
    .diamond_img_4 {
        bottom: -24em;
        right: -4em;
    }
    .cloud_img_wrap {
        margin-top: 10em;
    }
    .cloud_img {
        width: 80em;
    }
    .icon_plus_img {
        width: 12em;
    }
    .coupon_blue_img,
    .coupon_purple_img {
        width: 68em;
        margin-top: 5em;
    }
    .coupon_pink_img {
        width: 93em;
    }
    .lens_blue_img {
        width: 142em;
    }
    .lens_purple_img {
        width: 109em;
    }
    .lens_pink_img {
        width: 90em;
        margin-top: 26em;
    }
}
/* animation */
.diamond_img {
    animation: kirakira 3s infinite forwards;
    transform: scale(0);
}
.diamond_img_1 {
    animation-delay: 0.1s;
}
.diamond_img_2 {
    animation-delay: 0.35s;
}
.diamond_img_3 {
    animation-delay: 0.65s;
}
.diamond_img_4 {
    animation-delay: 0.95s;
}
@keyframes kirakira {
    0% {
        transform: scale(0);
    }
    16.65% {
        transform: scale(1);
    }
    33.3% {
        transform: scale(0);
    }
    100% {
        transform: scale(0);
    }
}

/* tour */
.tour_block {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tour_block_desc {
    position: relative;
}
.tour_block_ttl,
.tour_block_txt {
    /* letter-spacing: 0.4em; */
    position: relative;
}
.tour_block_ttl_lg,
.tour_block_ttl_m {
    letter-spacing: 0.3em;
}
.tour_block_txt_size {
    letter-spacing: 0.4em;
}
.tour_block_txt::before,
.tour_block_txt::after {
    content: '〜';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.tour_block_ttl_sub {
    color: var(--color-pink);
    line-height: 2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/balloon.svg) no-repeat center/ 100%;
}
[class].tour_block_ttl_sub_txt_size {
    letter-spacing: 0.4em;
}
.tour_block_img {
    position: relative;
}
.tour_img {
    position: absolute;
}
.tour_flyer {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
}
.tour_flyer_txt {
    letter-spacing: 0.3em;
}
.tour_flyer_img {
    position: relative;
}
.tour_blinking_img {
    position: absolute;
}
.tour_blinking_img_2 {
    scale: -1;
}
@media (min-width: 768px) {
    .tour {
        padding-top: 114em;
        border-top-left-radius: 64em;
        border-top-right-radius: 64em;
    }
    .tour_inline {
        background: url(../images/tour_line.svg) no-repeat top center/ cover;
    }
    .tour_block {
        column-gap: 116em;
        padding-top: 150em;
    }
    .tour_block_ttl_sub {
        top: -275em;
        width: 134em;
        height: 150em;
        /* padding: 38em 32em 48em 35em; */
        padding-top: 38em;
    }
    .tour_block_ttl_sub_txt_size {
        font-size: 16em;
    }
    .tour_block_ttl {
        line-height: calc(40 / 24);
    }
    .tour_block_txt {
        line-height: calc(32 / 16);
        margin-top: 30em;
    }
    .tour_block_txt_size {
        font-size: 16em;
    }
    .tour_block_txt::before {
        font-size: 16em;
        left: -2em;
    }
    .tour_block_txt::after {
        font-size: 16em;
        right: -2em;
    }
    .tour_block_ttl_lg {
        font-size: 24em;
    }
    .tour_block_ttl_m {
        font-size: 16em;
    }
    .tour_flyer {
        margin-top: -110em;
    }
    .tour_flyer_txt {
        margin-left: -20em;
        margin-top: 194em;
    }
    .tour_flyer_txt_size_m {
        font-size: 16em;
    }
    .tour_blinking_img_1 {
        bottom: 55em;
        left: -10em;
    }
    .tour_blinking_img_2 {
        bottom: 150em;
        right: 23em;
    }
    /* 画像 */
    .tour_img_1 {
        width: 353em;
    }
    .tour_img_2 {
        width: 239em;
        top: -72em;
        left: -150em;
    }
    .tour_img_3 {
        width: 226em;
        top: -111em;
        right: -117em;
    }
    .tour_img_4 {
        width: 211em;
        bottom: -125em;
        left: 109em;
    }
    .tour_img_5 {
        width: 243em;
        bottom: -20em;
        right: -186em;
    }
    .tour_img_6_wrap {
        margin-bottom: -237em;
    }
    .tour_img_6 {
        width: 514em;
    }
    .tour_blinking_img {
        width: 29em;
    }
}
@media (max-width: 767px) {
    .tour {
        padding-block: 60em 30em;
        border-top-left-radius: 40em;
        border-top-right-radius: 40em;
    }
    .tour_inline {
        background: url(../images/tour_line_sp.svg) no-repeat top center/ 88%;
    }
    .tour_block {
        flex-direction: column;
        row-gap: 30em;
        padding-top: 110em;
    }
    .tour_block_ttl_sub {
        top: -191em;
        width: 109em;
        height: 124em;
        padding: 31em 0 0 6em;
    }
    .tour_block_ttl_sub_txt_size {
        font-size: 13em;
    }
    .tour_block_ttl {
        line-height: calc(64 / 36);
    }
    .tour_block_ttl_lg {
        font-size: 16em;
    }
    .tour_block_ttl_m {
        font-size: 13em;
    }
    .tour_block_txt {
        line-height: calc(44 / 26);
    }
    .tour_block_txt_size {
        font-size: 12em;
    }
    .tour_block_txt::before {
        font-size: 13em;
        left: -2em;
    }
    .tour_block_txt::after {
        font-size: 13em;
        right: -2em;
    }
    .tour_img {
        z-index: 1;
    }
    .tour_flyer {
        margin-top: -155em;
    }
    .tour_flyer_txt {
        writing-mode: vertical-rl;
        margin-top: 220em;
        line-height: 1.6;
    }
    .tour_flyer_txt_size_m {
        font-size: 13em;
        letter-spacing: 0.3em;
    }

    .tour_img_6_wrap {
        margin-bottom: -300em;
    }
    .tour_blinking_img_1 {
        top: 146em;
        left: -5em;
    }
    .tour_blinking_img_2 {
        top: 50em;
        right: 37em;
    }
    /* 画像 */
    .tour_img_1 {
        padding-inline: 20em;
        position: relative;
        z-index: 1;
    }
    .tour_img_2 {
        width: 157em;
        top: -14em;
        left: -54em;
    }
    .tour_img_3 {
        width: 158em;
        top: -25em;
        right: -55em;
    }
    .tour_img_4 {
        width: 155em;
        bottom: -52em;
        left: -63em;
    }
    .tour_img_5 {
        width: 174em;
        bottom: -56em;
        right: -57em;
        transform: rotate(11deg);
    }
    .tour_img_6 {
        width: 289em;
        transform: rotate(-4deg);
    }
    .tour_blinking_img {
        width: 15em;
    }
}
/* animation */
@media (min-width: 768px) {
    .tour_img_2 {
        translate: 100% 100%;
        rotate: 14deg;
    }
    .tour_img_3 {
        translate: -100% 100%;
        rotate: -21deg;
    }
    .tour_img_4 {
        translate: -41% -55%;
        rotate: -15deg;
    }
    .tour_img_5 {
        translate: -100% -12%;
        rotate: 32deg;
    }
}
@media (max-width: 767px) {
    .tour_img_2 {
        translate: 75% 30%;
        rotate: 14deg;
    }
    .tour_img_3 {
        translate: -49% 28%;
        rotate: -21deg;
    }
    .tour_img_4 {
        translate: 69% -50%;
        rotate: -16deg;
    }
    .tour_img_5 {
        translate: -46% -55%;
        rotate: 22deg;
    }
}
.tour_blinking_img {
    animation: blinking 1s step-start infinite;
    opacity: 0;
}
@keyframes blinking {
    0%,100% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
}

/* bnr */
.bnr {
    text-align: center;
    position: relative;
    z-index: 1;

}
@media (min-width: 768px) {
    .bnr {
        padding-top: 120em;
    }
    .bnr_img {
        width: 840em;
    }
}
@media (max-width: 767px) {
    .bnr {
        padding-top: 40em;
        margin-inline: 19em;
    }
}

/* modal btn */
.modal_btn {
    background-color: unset;
    border: none;
    cursor: pointer;
    padding: 0;
}
.popup_ruler,
.pop_band_btn {
    position: absolute;
    bottom: 0;
    right: 0;
}
@media (min-width: 768px) {
    .modal_btn {
        margin-top: 23em;
        transition: opacity 0.3s;
    }
    .icon_expansion_img {
        width: 50em;
    }
    @media (hover:hover) {
        .modal_btn:hover {
            opacity: 0.7;
        }
    }
}
@media (max-width: 767px) {
    .modal_btn {
        position: absolute;
        bottom: -17em;
        right: -16em;
        display: block;
    }
    .popup_ruler {
        left: calc(50% - 55em);
        bottom: -10em;
        right: inherit;
    }
    .pop_band_btn {
        right: calc(50% - 115em);
        bottom: -6em;
    }
    .icon_expansion_img {
        width: 32em;
    }
}

/* modal */
body.is_modal_show {
    overflow: hidden;
}
.modal_content {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1001;
    opacity: 0;
    transform: translateY(100%);
    background-color: var(--color-white);
    transition: opacity 0.3s, transform 0s;
}
.coupon_modal.modal_content {
    background-color: var(--color-red);
}
.modal_content.is_modal_show {
    opacity: 1;
    transform: translateY(0%);
    transition: opacity 0.3s, transform 0s;
}
.modal_scroll {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
    letter-spacing: -0.5em;
}
.modal_scroll_inner {
    text-align: center;
    margin: auto;
    width: 100%;
    letter-spacing: normal;
}
.modal_inner {
    background-color: #fff;
    position: relative;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
}
.coupon_modal .modal_inner {
    background-color: var(--color-red);
}
.is_modal_show .modal_inner {
    opacity: 1;
}
.modal_txt {
    letter-spacing: 1.2em;
}
/* centering */
.modal_scroll_inner,
.modal_scroll:after {
    display: inline-block;
    vertical-align: middle;
}
.modal_scroll:after {
    content: '';
    height: 100%;
}
/* close */
.modal_close {
    cursor: pointer;
    background-color: unset;
    border: none;
    padding: 0;
    position: absolute;
}
/* バリエーション */
.modal_inner_cf {
    display: flex;
    justify-content: center;
    align-items: start;
}
@media (min-width: 768px) {
    .modal_txt {
        margin-top: 2em;
        font-size: 16em;
    }
    /* close */
    .modal_close {
        top: 65em;
        right: 60em;
        transition: opacity 0.3s;
    }
    /* バリエーション */
    .modal_inner_cf {
        column-gap: 79em;
    }
    /* 画像 */
    .coupon_img {
        width: 448em;
    }
    .popup_clearfile_img {
        width: 399em;
    }
    .popup_ruler_img {
        width: 740em;
    }
    .popup_band_img {
        width: 453em;
    }
    .modal_close_img {
        width: 78em;
    }
    @media (hover:hover) {
        .modal_close:hover {
            opacity: 0.5;
        }
    }
}
@media (max-width: 767px) {
    .modal_txt {
        margin-top: 1em;
        font-size: 13em;
    }
    .modal_inner {
        padding: 79em 24em;
    }
    /* close */
    .modal_close {
        top: 35em;
        right: 24em;
    }
    /* バリエーション */
    .modal_inner_cf {
        row-gap: 35em;
        flex-direction: column;
    }
    /* 画像 */
    .coupon_img {
        padding-inline: 28em;
    }
    .modal_close_img {
        width: 60em;
    }
}
