@charset "utf-8";

body.fixed {
    position: fixed;
    right: 0;
    left: 0;
}

.l-main {
    margin-bottom: 0;
}

@media screen and (max-width: 767px) {
    .l-main {
        margin-bottom: 0 !important;
    }
}

#header .hdInner > div .hdNav ul li .menuSec {
    z-index: 3;
}

/* ------------------------------------------- */
/* lp-header */
/* ------------------------------------------- */

.l-lp-header {
    position: relative;
    z-index:  1;
    background-color: #e9460b;
}

@media screen and (max-width: 767px) {
    .l-lp-header {
        overflow: auto;
    }
}

.l-lp-header ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-right: 30px;
    padding-left: 30px;
    height: 100%;
}

@media screen and (max-width: 767px) {
    .l-lp-header ul {
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding-right: 0;
        padding-left: 0;
    }
}

.l-lp-header ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding-right: 43px;
    padding-left: 43px;
    height: 59px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 0.05em;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .l-lp-header ul li a {
        padding-right: 15px;
        padding-left: 15px;
        height: 38px;
        font-size: 16px;
    }
}

.l-lp-header ul li a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: 1px;
    height: 20px;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .l-lp-header ul li a::before {
        display: none;
    }
}

.l-lp-header ul li a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: 1px;
    height: 20px;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .l-lp-header ul li a::after {
        display: none;
    }
}

/* ------------------------------------------- */
/* container */
/* ------------------------------------------- */

.l-container {
    --side-px: calc((100vw - 750px) / 2 / 585);
    background-color: #fffcc5;
}

@media screen and (max-width: 1023px) {
    .l-container .l-side-fixed {
        position: sticky;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
    }
}

.l-container .l-side-fixed .l-left,
.l-container .l-side-fixed .l-right {
    opacity: 1;
    visibility: visible;
    transition: opacity 1s ease;
}

.l-container .l-side-fixed:not(.active) .l-left,
.l-container .l-side-fixed:not(.active) .l-right {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease, visibility 0.01s linear 1s;
}

.l-container .l-side-fixed .l-left {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: calc(585 * var(--side-px));
}

@media screen and (max-width: 1023px) {
    .l-container .l-side-fixed .l-left {
        display: none;
    }
}

.l-container .l-side-fixed .l-left img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(121 * var(--side-px));
    margin-top: auto;
    margin-bottom: auto;
    width: calc(100% - 242 * var(--side-px));
}

.l-container .l-side-fixed .l-right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 160px;
    right: 0;
    bottom: 0;
    width: calc(585 * var(--side-px));
}

@media screen and (max-width: 1023px) {
    .l-container .l-side-fixed .l-right {
        display: none;
    }
}

.l-container .l-side-fixed .l-right img {
    flex-shrink: 1;
    margin-bottom: calc(69 * var(--side-px));
    width: calc(270 * var(--side-px));
    min-height: 0;
    object-fit: contain;
}

.l-container .l-side-fixed .l-right a {
    flex-shrink: 0;
    position: relative;
    width: calc(411 * var(--side-px));
    height: calc(161 * var(--side-px));
    background: linear-gradient(to top, #ff3138 0%, #d91200 22.18%, #ff6d55 100%);
    border: 4px solid #ce0a00;
    border-radius: calc(19 * var(--side-px));
    box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.32);
    transition: ease 0.2s opacity;
}

@media screen and (max-width: 1440px) {
    .l-container .l-side-fixed .l-right a {
        height: calc(55 / 98 * 411 * var(--side-px));
        border: 2px solid #ce0a00;
        border-radius: calc(10 / 98 * 411 * var(--side-px));
    }
}

@media (hover: hover) and (pointer: fine) {
    .l-container .l-side-fixed .l-right a:hover {
        opacity: 0.8;
    }
}

.l-container .l-side-fixed .l-right a::before {
    content: "";
    display: block;
    position: absolute;
    top: auto;
    right: calc(173 * var(--side-px));
    bottom: calc(38 * var(--side-px));
    left: auto;
    width: calc(25 * var(--side-px));
    min-width: auto;
    height: calc(25 * var(--side-px));
    background-color: #fff;
    border-radius: 50%;
    transform: none;
}

@media screen and (max-width: 1440px) {
    .l-container .l-side-fixed .l-right a::before {
        right: calc(23 / 98 * 411 * var(--side-px));
        bottom: calc(14 / 98 * 411 * var(--side-px));
        width: calc(11 / 98 * 411 * var(--side-px));
        height: calc(11 / 98 * 411 * var(--side-px));
    }
}

.l-container .l-side-fixed .l-right a::after {
    content: "";
    display: block;
    position: absolute;
    right: calc(182 * var(--side-px));
    bottom: calc(45 * var(--side-px));
    width: calc(6 * var(--side-px));
    height: calc(11 * var(--side-px));
    background-color: #e12511;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
}

@media screen and (max-width: 1440px) {
    .l-container .l-side-fixed .l-right a::after {
        right: calc(27 / 98 * 411 * var(--side-px));
        bottom: calc(17 / 98 * 411 * var(--side-px));
        width: calc(3 / 98 * 411 * var(--side-px));
        height: calc(5 / 98 * 411 * var(--side-px));
    }
}

.l-container .l-side-fixed .l-right a .l-large {
    position: absolute;
    top: calc(22 * var(--side-px));
    left: calc(56 * var(--side-px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(47 * var(--side-px));
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
}

@media screen and (max-width: 1440px) {
    .l-container .l-side-fixed .l-right a .l-large {
        top: calc(8 / 98 * 411 * var(--side-px));
        left: calc(7 / 98 * 411 * var(--side-px));
        font-size: calc(13 / 98 * 411 * var(--side-px));
    }
}

.l-container .l-side-fixed .l-right a .l-small {
    position: absolute;
    bottom: calc(26 * var(--side-px));
    left: calc(56 * var(--side-px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(31 * var(--side-px));
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
}

@media screen and (max-width: 1440px) {
    .l-container .l-side-fixed .l-right a .l-small {
        bottom: calc(9 / 98 * 411 * var(--side-px));
        left: calc(7 / 98 * 411 * var(--side-px));
        font-size: calc(12 / 98 * 411 * var(--side-px));
        line-height: calc(20 / 98 * 411 * var(--side-px));
        text-align: left;
    }
}

.l-container .l-side-fixed .l-right a .l-small br {
    display: none;
}

@media screen and (max-width: 1440px) {
    .l-container .l-side-fixed .l-right a .l-small br {
        display: inline;
    }
}

.l-container .l-side-fixed .l-sp-only {
    display: none;
}

@media screen and (max-width: 1023px) {
    .l-container .l-side-fixed .l-sp-only {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 80px;
        text-decoration: none;
        background: linear-gradient(to top, #2847d8 0%, #142b93 22.18%, #2b4de6 100%);
        border: 2px solid #13298e;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner {
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .m-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-right: 18px;
        width: 44px;
        height: 44px;
        background-color: #fff;
        border-radius: 50%;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .m-icon img {
        width: 20px;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .l-large {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: bold;
        font-size: 28px;
        letter-spacing: 0.08em;
        text-align: center;
        color: #fff;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .l-small {
        margin-left: 5px;
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: bold;
        font-size: 18px;
        letter-spacing: 0.08em;
        line-height: 40px;
        text-align: center;
        color: #fff;
    }
}

@media screen and (max-width: 499px) {
    .l-container .l-side-fixed .l-sp-only .l-btn-inner {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto auto;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .m-icon {
        grid-column: 1 / 2;
        grid-row: 1 / 3;
        align-self: center;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .l-large {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
        text-align: left;
    }

    .l-container .l-side-fixed .l-sp-only .l-btn-inner .l-small {
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        margin-left: 0;
        line-height: 15px;
        text-align: left;
    }
}

/* ------------------------------------------- */
/* event-report */
/* ------------------------------------------- */

.m-event-report {
    padding-top: calc(86 * var(--px));
    padding-bottom: calc(123 * var(--px));
    text-align: center;
    background-color: #e9460b;
}

.m-event-report .m-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: calc(42 * var(--px));
    height: calc(104 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #e9460b;
    background-color: #fff;
    border-radius: calc(52 * var(--px));
}

.m-event-report .m-title::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(-7 * var(--px));
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(25 * var(--px));
    height: calc(25 * var(--px));
    background-color: #fff;
    border-radius: calc(3 * var(--px));
    transform: rotate(45deg);
}

.m-event-report .m-text {
    margin-bottom: calc(70 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
}

.m-event-report .l-title-deco {
    display: inline-block;
    position: relative;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #fff;
}

.m-event-report .l-title-deco::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: calc(-30 * var(--px));
    width: calc(4 * var(--px));
    height: calc(22 * var(--px));
    background-color: #fff;
    border-radius: calc(2 * var(--px));
    transform: rotate(-30deg);
}

.m-event-report .l-title-deco::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: calc(-30 * var(--px));
    width: calc(4 * var(--px));
    height: calc(22 * var(--px));
    background-color: #fff;
    border-radius: calc(2 * var(--px));
    transform: rotate(30deg);
}

.m-event-report .m-comment-list {
    margin-top: calc(40 * var(--px));
}

.m-event-report .m-comment-list .l-box {
    margin-bottom: calc(30 * var(--px));
    padding: calc(40 * var(--px)) calc(51 * var(--px));
}

.m-event-report .m-comment-list .l-box.m-others {
    margin-bottom: calc(80 * var(--px));
    padding: calc(60 * var(--px)) calc(25 * var(--px));
}

.m-event-report .m-comment-list .l-box .m-comment {
    margin-bottom: calc(20 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(30 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #001650;
}

.m-event-report .m-comment-list .l-box .m-comment .l-highlight {
    text-decoration: underline;
    text-decoration-color: #fdf100;
    text-decoration-skip-ink: none;
    text-decoration-thickness: calc(25 * var(--px));
    text-underline-offset: calc(-24 * var(--px));
}

.m-event-report .m-comment-list .l-box .m-box-title {
    margin-bottom: calc(20 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(30 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #001650;
}

.m-event-report .m-comment-list .l-box .m-box-title .l-sp-only {
    display: none;
}

@media screen and (max-width: 767px) {
    .m-event-report .m-comment-list .l-box .m-box-title .l-sp-only {
        display: inline;
    }
}

.m-event-report .m-comment-list .l-box .m-others-list {
    margin-top: calc(30 * var(--px));
}

.m-event-report .m-comment-list .l-box .m-others-list li {
    display: flex;
    align-items: flex-start;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(30 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: left;
    color: #000;
}

.m-event-report .m-comment-list .l-box .m-others-list li:not(:first-child) {
    margin-top: calc(20 * var(--px));
}

.m-event-report .m-comment-list .l-box .m-others-list li::before {
    flex-shrink: 0;
    content: "";
    display: block;
    margin-top: calc(10 * var(--px));
    margin-right: calc(10 * var(--px));
    width: calc(20 * var(--px));
    height: calc(20 * var(--px));
    background-color: #e9460b;
    border-radius: 50%;
}

.m-event-report .l-title-main {
    margin-top: calc(14 * var(--px));
    margin-bottom: calc(36 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.03em;
    text-align: center;
    color: #fff;
}

.m-event-report .m-graph-list .l-box {
    margin-bottom: calc(42 * var(--px));
    padding: calc(57 * var(--px)) calc(30 * var(--px));
}

.m-event-report .m-graph-list .l-box:last-child {
    margin-bottom: calc(52 * var(--px));
}

.m-event-report .m-graph-list .l-box .m-box-title {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #000;
}

.m-event-report .m-graph-list .l-box video {
    width: 100%;
}

.m-event-report .m-graph-data {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(28 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(50 * var(--px));
    text-align: left;
    color: #fff;
}

/* ------------------------------------------- */
/* review-campaign */
/* ------------------------------------------- */

.m-review-campaign {
    padding: calc(50 * var(--px)) calc(44 * var(--px)) calc(80 * var(--px));
    background-color: #fff;
}

.m-review-campaign .l-box {
    margin-bottom: 0;
    padding: calc(50 * var(--px)) 0 0;
    border: solid calc(4 * var(--px)) #13298e;
    border-radius: 0;
}

.m-review-campaign .l-box-head {
    padding: 0 calc(30 * var(--px)) calc(40 * var(--px));
}

.m-review-campaign .l-box-head .m-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: calc(42 * var(--px));
    height: calc(104 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
    background-color: #e9460b;
    border-radius: calc(52 * var(--px));
}

.m-review-campaign .l-box-head .m-title::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(-7 * var(--px));
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(25 * var(--px));
    height: calc(25 * var(--px));
    background-color: #e9460b;
    border-radius: calc(3 * var(--px));
    transform: rotate(45deg);
}

.m-review-campaign .l-box-head .m-title-set {
    display: flex;
    align-items: flex-start;
    margin: 0 auto;
    width: calc(100% - calc(60 * var(--px)));
}

.m-review-campaign .l-box-head .m-title-set .m-title-text {
    min-width: 0;
    height: calc(176 * var(--px));
    object-fit: contain;
    object-position: top;
}

.m-review-campaign .l-box-head .m-title-set .m-title-img {
    margin-left: calc(40 * var(--px));
    min-width: 0;
    height: calc(188 * var(--px));
    object-fit: contain;
    object-position: top;
}

.m-review-campaign .l-box-head .m-text {
    display: block;
    margin: calc(18 * var(--px)) auto 0;
    width: calc(100% - calc(58 * var(--px)));
}

.m-review-campaign .l-box-foot {
    padding: calc(40 * var(--px)) 0 calc(50 * var(--px));
    text-align: center;
    background-color: #f6f6f6;
}

.m-review-campaign .l-box-foot .m-title {
    margin-bottom: calc(35 * var(--px));
    width: calc(440 * var(--px));
}

.m-review-campaign .l-box-foot .m-text {
    margin-bottom: calc(43 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #000;
}

.m-review-campaign .l-box-foot .m-text .l-color {
    font-weight: 700;
    color: #e9460b;
}

.m-review-campaign .l-box-foot .m-img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: calc(602 * var(--px));
}

.m-review-campaign .l-box-foot .m-note-list {
    margin-top: calc(20 * var(--px));
    margin-right: auto;
    margin-left: auto;
    width: calc(602 * var(--px));
}

.m-review-campaign .l-box-foot .m-note-list .m-note {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
}

.m-review-campaign .l-box-foot .m-note-list .m-note:not(:first-child) {
    margin-top: calc(10 * var(--px));
}

.m-review-campaign .l-box-btn-area {
    padding: calc(35 * var(--px)) calc(30 * var(--px));
    text-align: center;
    background-color: #13298e;
}

.m-review-campaign .l-box-btn-area > img {
    margin-bottom: calc(27 * var(--px));
    width: calc(578 * var(--px));
}

.m-review-campaign .l-box-btn-area a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: calc(75 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: left;
    text-decoration: none;
    color: #001650;
    background-color: #fdf100;
    border: none;
    outline: none;
    border-radius: calc(6 * var(--px));
}

@media (hover: hover) and (pointer: fine) {
    .m-review-campaign .l-box-btn-area a:hover {
        background-color: #fff;
    }
}

.m-review-campaign .l-box-btn-area a.closed {
    color: #fff;
    background-color: #9f9f9f;
}

.m-review-campaign .l-box-btn-area a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(21 * var(--px));
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(10 * var(--px));
    height: calc(10 * var(--px));
    border-top: solid calc(3 * var(--px)) #001650;
    border-right: solid calc(3 * var(--px)) #001650;
    transform: rotate(45deg);
}

@media (hover: hover) and (pointer: fine) {
    .m-review-campaign .l-box-btn-area a:hover {
        cursor: pointer;
    }
}

.m-review-campaign .l-box-btn-area a.closed::before {
    border-color: #fff;
}

/* ------------------------------------------- */
/* mainvisual */
/* ------------------------------------------- */

.m-mainvisual {
    position: relative;
    z-index: 1;
    padding-top: 162px;
    padding-bottom: 45px;
    width: 100%;
    /* background-color: #FFFCC5; */
}

@media screen and (max-width: 767px) {
    .m-mainvisual {
        padding-top: calc(129 / 660 * (100vw - 60px));
        padding-bottom: calc(50 / 660 * (100vw - 60px));
    }
}

.m-mainvisual .l-slide-list {
    position: relative;
    margin-right: auto;
    margin-left: auto;
    width: min(1080px, calc(100% - 60px));
}

.m-mainvisual .l-slide-list::before {
    display: none;
    content: "";
    /* display: block; */
    position: absolute;
    top: -125px;
    right: 0;
    left: 0;
    z-index: 1;
    margin-right: auto;
    margin-left: auto;
    width: 299px;
    height: 212px;
    background-image: url(../img/00_top.png);
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1023px) {
    /* .m-mainvisual .l-slide-list::before {
    top: calc(-125 / 1080 * (100vw - 60px));
    width: calc(299 / 1080 * (100vw - 60px));
    height: calc(212 / 1080 * (100vw - 60px));
  } */
}

@media screen and (max-width: 767px) {
    .m-mainvisual .l-slide-list::before {
        top: calc(-87 / 660 * (100vw - 60px));
        width: calc(230 / 660 * (100vw - 60px));
        height: calc(163 / 660 * (100vw - 60px));
    }
}

.m-mainvisual .l-slide-list::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -100px;
    left: 0;
    z-index: 1;
    margin-right: auto;
    margin-left: auto;
    width: min(677px, 100%);
    height: 178px;
    background-image: url(../img/00_bottom.png);
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
    .m-mainvisual .l-slide-list::after {
        display: none;
    }
}

.m-mainvisual .l-slide-list .l-slide-item {
    display: flex;
    align-items: flex-end;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    transition: ease 2s opacity;
}

.m-mainvisual .l-slide-list .l-slide-item.l-item-base {
    position: static;
}

.m-mainvisual .l-slide-list .l-slide-item:not(.active) {
    opacity: 0;
}

.m-mainvisual .l-slide-list .l-slide-item img {
    width: 100%;
}

.m-mainvisual .l-slide-list .l-slide-item.hasBg::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    /* background: linear-gradient(120deg, #fff43a 0%, #fff985 15%, #fffeee 31%, #fff 35%, #fffef0 37%, #fff882 43%, #fff43b 50%, #fff 60%, #fff 100%); */
    background: linear-gradient(120deg, #fff43a 10%, #fff985 50%, #fff 65%, #fff 100%);
    background-size: 200% 100%;
    background-position-x: 100%;
    border-radius: 6px;
    transition: background-position-x 2s linear 1.2s;
}

.m-mainvisual .l-slide-list .l-slide-item.active.hasBg::before {
    background-position-x: 0;
}

.m-mainvisual .l-slide-list .l-slide-item.hasBg .deco {
    position: absolute;
    top: 364px;
    right: 70px;
    width: 111px;
}

@media screen and (max-width: 1023px) {
    .m-mainvisual .l-slide-list .l-slide-item.hasBg .deco {
        top: calc(364 / 1080 * (100vw - 60px));
        right: calc(70 / 1080 * (100vw - 60px));
        width: calc(111 / 1080 * (100vw - 60px));
    }
}

@media screen and (max-width: 767px) {
    .m-mainvisual .l-slide-list .l-slide-item.hasBg .deco {
        top: calc(229 / 660 * (100vw - 60px));
        right: auto;
        left: calc(164 / 660 * (100vw - 60px));
        width: calc(84 / 660 * (100vw - 60px));
    }
}

.m-mainvisual .m-note {
    margin-top: 138px;
    margin-right: auto;
    margin-left: auto;
    width: 750px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 28px;
    text-align: left;
    color: #000;
}
.m-mainvisual .m-note sup {
    vertical-align: -5px;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .m-mainvisual .m-note {
        margin-top: 50px;
        width: calc(100% - 60px);
        font-size: calc(24 * calc(1 / 750 * 100vw));
        line-height: calc(30 * calc(1 / 750 * 100vw));
    }
    .m-mainvisual .m-note sup {
        vertical-align: 0;
        font-size: calc(14 * calc(1 / 750 * 100vw));
    }
}

/* ------------------------------------------- */
/* common */
/* ------------------------------------------- */

:root {
    --px: 1px;
}

@media screen and (max-width: 767px) {
    :root {
        --px: calc(1 / 750 * 100vw);
    }
}

.l-w750 {
    margin-right: auto;
    margin-left: auto;
    padding-right: calc(44 * var(--px));
    padding-left: calc(44 * var(--px));
    width: 750px;
}

@media screen and (max-width: 767px) {
    .l-w750 {
        width: 100%;
    }
}

/* ------------------------------------------- */
/* movie */
/* ------------------------------------------- */

.m-movie {
    padding: calc(80 * var(--px)) calc(45 * var(--px)) calc(90 * var(--px));
    background-color: #fff;
}

.m-movie .m-title-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: calc(60 * var(--px));
    height: calc(136 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(46 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(66 * var(--px));
    text-align: center;
    color: #fff;
    background-color: #e9460b;
    border-radius: calc(68 * var(--px));
}

.m-movie .m-title-sub::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(-7 * var(--px));
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(25 * var(--px));
    height: calc(25 * var(--px));
    background-color: #e9460b;
    border-radius: calc(3 * var(--px));
    transform: rotate(45deg);
}

.m-movie .m-title-main {
    margin-bottom: calc(30 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #13298e;
}

.m-movie #movie_area {
    cursor: pointer;
}

/* ------------------------------------------- */
/* flowchart */
/* ------------------------------------------- */

.m-flowchart {
    padding-top: calc(92 * var(--px));
    padding-bottom: calc(92 * var(--px));
    text-align: center;
    background-color: #13298e;
}

.m-flowchart .m-title-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-right: auto;
    margin-bottom: calc(38 * var(--px));
    margin-left: auto;
    width: calc(272 * var(--px));
    height: calc(86 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #e9460b;
    background-color: #fff;
    border-radius: calc(43 * var(--px));
}

.m-flowchart .m-title-sub::before {
    content: "";
    position: absolute;
    top: calc(-31 * var(--px));
    left: calc(-49 * var(--px));
    z-index: 1;
    margin-bottom: calc(27 * var(--px));
    width: calc(94 * var(--px));
    height: calc(97 * var(--px));
    background-image: url(../img/01_deco.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.m-flowchart .m-title-main {
    display: inline-block;
    position: relative;
    margin-bottom: calc(38 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
}

.m-flowchart .m-title-main::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: calc(-10 * var(--px));
    left: 0;
    width: 100%;
    height: calc(3 * var(--px));
    background: repeating-linear-gradient(90deg, #fff, #fff calc(9 * var(--px)), transparent calc(9 * var(--px)), transparent calc(16 * var(--px)));
}

.m-flowchart .m-text {
    margin-bottom: calc(102 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
}

.js-flowchart-box {
    position: relative;
    background-color: #fff;
    border-radius: calc(11 * var(--px));
}

.js-flowchart-box .l-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: calc(-66 * var(--px));
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(122 * var(--px));
    height: calc(122 * var(--px));
    background-color: #e9460b;
    border: solid calc(10 * var(--px)) #fff;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(36 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
    border-radius: 50%;
}

.js-flowchart-box .l-content .m-question {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: calc(98 * var(--px));
    padding-right: calc(30 * var(--px));
    padding-bottom: calc(57 * var(--px));
    padding-left: calc(30 * var(--px));
    width: 100%;
    height: calc(560 * var(--px));
}

.js-flowchart-box .l-content .m-question .m-text {
    /* margin-bottom: calc(46 * var(--px)); */
    margin-bottom: 0;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(36 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #000;
}

.js-flowchart-box .l-content .m-question .m-text span {
    font-size: calc(18 * var(--px));
    vertical-align: calc(14 * var(--px));
}

.js-flowchart-box .l-content .m-question .m-text .m-note {
    margin-top: calc(10 * var(--px));
    font-size: calc(18 * var(--px));
    line-height: calc(28 * var(--px));
}

.js-flowchart-box .l-content .m-question .l-btn-set {
    margin-top: auto;
    margin-bottom: 0;
}

.js-flowchart-box .l-content .m-question .l-btn-set button {
    position: relative;
    width: calc(549 * var(--px));
    height: calc(94 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(28 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
    background-color: #e9460b;
    border: none;
    border-radius: calc(47 * var(--px));
    transition: ease 0.2s opacity;
}

.js-flowchart-box .l-content .m-question .l-btn-set button:focus,
.js-flowchart-box .l-content .m-question .l-btn-set button:focus-within,
.js-flowchart-box .l-content .m-question .l-btn-set button:focus-visible {
    outline: none;
}

@media (hover: hover) and (pointer: fine) {
    .js-flowchart-box .l-content .m-question .l-btn-set button:hover {
        cursor: pointer;
        opacity: 0.8;
    }
}

.js-flowchart-box .l-content .m-question .l-btn-set button::before {
    content: "";
    position: absolute;
    top: 0;
    right: calc(21 * var(--px));
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(44 * var(--px));
    height: calc(44 * var(--px));
    background-color: #fff;
    border-radius: 50%;
}

.js-flowchart-box .l-content .m-question .l-btn-set button::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(38 * var(--px));
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(12 * var(--px));
    height: calc(12 * var(--px));
    border-top: solid calc(3 * var(--px)) #e9460b;
    border-right: solid calc(3 * var(--px)) #e9460b;
    transform: rotate(45deg);
}

.js-flowchart-box .l-content .m-question .l-btn-set button.m-btn-no {
    margin-top: calc(28 * var(--px));
}

.js-flowchart-box .l-content .m-result {
    padding-top: calc(98 * var(--px));
    padding-right: calc(30 * var(--px));
    padding-bottom: calc(45 * var(--px));
    padding-left: calc(30 * var(--px));
    width: 100%;
}

.js-flowchart-box .l-content .m-result .m-main {
    margin-bottom: calc(27 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(38 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(50 * var(--px));
    text-align: center;
    color: #000;
}

.js-flowchart-box .l-content .m-result .m-img {
    margin-bottom: calc(47 * var(--px));
    width: 100%;
}

.js-flowchart-box .l-content .m-result .m-sub {
    margin-bottom: calc(30 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: left;
    color: #000;
}

.js-flowchart-box .l-content .m-result .m-note {
    margin-bottom: calc(56 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
}

.js-flowchart-box .l-content .m-result .m-banner .l-head {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding-left: calc(54 * var(--px));
    height: calc(87 * var(--px));
    background-color: #13298e;
}

.js-flowchart-box .l-content .m-result .m-banner .l-head::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(-20 * var(--px));
    left: calc(32 * var(--px));
    z-index: 1;
    width: calc(95 * var(--px));
    height: calc(100 * var(--px));
    background-image: url(../img/01_deco.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.js-flowchart-box .l-content .m-result .m-banner .l-head p {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(42 * var(--px));
    text-align: center;
    color: #fff;
}

.js-flowchart-box .l-content .m-result .m-banner .l-foot {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    padding-right: calc(27 * var(--px));
    padding-left: calc(42 * var(--px));
    border: solid calc(3 * var(--px)) #13298e;
}

.js-flowchart-box .l-content .m-result .m-banner .l-foot .m-text {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-bottom: 0;
    padding-bottom: calc(34 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(28 * var(--px));
    line-height: calc(38 * var(--px));
    text-align: left;
    color: #000;
}

.js-flowchart-box .l-content .m-result .m-banner .l-foot .m-img {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    align-self: center;
    margin-top: calc(38 * var(--px));
    margin-bottom: calc(24 * var(--px));
    width: calc(154 * var(--px));
    height: calc(286 * var(--px));
}

.js-flowchart-box .l-content .m-result .m-banner .l-foot .m-name {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin-top: calc(38 * var(--px));
    margin-bottom: calc(25 * var(--px));
    width: calc(314 * var(--px));
    height: calc(109 * var(--px));
}

/* ------------------------------------------- */
/* powerup */
/* ------------------------------------------- */

.m-powerup {
    position: relative;
    padding-top: calc(20 * var(--px));
    padding-bottom: calc(57 * var(--px));
    background: linear-gradient(#fef200 0%, #fdf666 44.76%, #fdf9b0 100%);
}

.m-powerup::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: calc(360 * var(--px));
    background-image: url(../img/02_bg_top.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top;
    mix-blend-mode: screen;
}

.m-powerup::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(90 * var(--px));
    left: 0;
    height: calc(127 * var(--px));
    background-image: url(../img/02_bg_bottom.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    mix-blend-mode: screen;
}

.m-powerup .m-title {
    margin-bottom: calc(9 * var(--px));
    width: 100%;
    margin-bottom: 64px;
}

.m-powerup .m-title img {
    width: 100%;
}

.m-powerup .m-img {
    width: 100%;
}

.m-powerup .m-note {
    position: relative;
    z-index: 1;
    padding-top: calc(27 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
}
.m-powerup .m-note sup {
    vertical-align: -5px;
    font-size: 14px;
}
@media screen and (max-width: 767px) {
    .m-powerup .m-note {
        font-size: calc(24 * var(--px));
        line-height: calc(30 * var(--px));
    }
    .m-powerup .m-note sup {
        vertical-align: 0;
        font-size: 10px;
    }
    .m-powerup .m-title {
        margin-bottom: 30px;
    }
}

/* ------------------------------------------- */
/* nutrition */
/* ------------------------------------------- */

.m-nutrition {
    position: relative;
    padding-top: calc(189 * var(--px));
    padding-bottom: calc(92 * var(--px));
    background-color: #e9460b;
}

.m-nutrition::before {
    content: "";
    position: absolute;
    top: -1px;
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(230 * var(--px));
    height: calc(58 * var(--px));
    background-color: #fdf9ab;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    display: none;
}

.m-nutrition .l-box {
    position: relative;
    margin-bottom: 0;
    padding-top: calc(120 * var(--px));
    padding-bottom: calc(92 * var(--px));
    background-color: #fff;
}

.m-nutrition .l-box .m-title {
    position: absolute;
    top: calc(-115 * var(--px));
    right: 0;
    left: 0;
    z-index: 1;
    width: calc(662 * var(--px));
    max-width: 100%;
}

.m-nutrition .l-box .m-title img {
    width: 100%;
}

.m-nutrition .l-box .m-text {
    margin-bottom: calc(50 * var(--px));
    width: 100%;
}

.m-nutrition .l-set-vitamin {
    --color: #f6a901;
}

.m-nutrition .l-set-mineral {
    --color: #8f80b9;
    margin-top: calc(38 * var(--px));
}

.m-nutrition .l-set .m-set-title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(65 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(34 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: var(--color);
    border: solid calc(5 * var(--px)) var(--color);
}

.m-nutrition .l-set .m-set-title img {
    margin-top: calc(-21 * var(--px));
    height: calc(65 * var(--px));
}

.m-nutrition .l-set .m-set-content {
    padding: calc(29 * var(--px)) calc(25 * var(--px));
    background-color: var(--color);
}

.m-nutrition .l-set .m-set-content ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.m-nutrition .l-set .m-set-content ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(50 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(25 * var(--px));
    letter-spacing: -0.01em;
    text-align: center;
    color: var(--color);
    white-space: nowrap;
    background-color: #fff;
    border-radius: calc(25 * var(--px));
}

.m-nutrition .l-set .m-set-content ul li:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)) {
    margin-top: calc(10 * var(--px));
}

.m-nutrition .l-set-vitamin .m-set-content ul li {
    width: calc((100% - calc(5 * var(--px)) * 2) / 3);
}

.m-nutrition .l-set-vitamin .m-set-content ul li:nth-last-child(1),
.m-nutrition .l-set-vitamin .m-set-content ul li:nth-last-child(2),
.m-nutrition .l-set-vitamin .m-set-content ul li:nth-last-child(3),
.m-nutrition .l-set-vitamin .m-set-content ul li:nth-last-child(4) {
    width: calc((100% - calc(5 * var(--px)) * 3) / 4);
}

.m-nutrition .l-set-mineral .m-set-content ul li {
    width: calc((100% - calc(5 * var(--px)) * 2) / 3);
}

.m-nutrition .l-set .m-set-content ul li.l-fz24 {
    font-size: calc(23 * var(--px));
}

.m-nutrition .l-set .m-set-content ul li.l-fz22 {
    font-size: calc(20 * var(--px));
}

.m-nutrition .l-set .m-set-content ul li span.l-small {
    margin-top: calc(3 * var(--px));
    font-size: calc(21 * var(--px));
}

.m-nutrition .m-note-list {
    margin-top: calc(38 * var(--px));
    margin-bottom: calc(60 * var(--px));
}

.m-nutrition .m-note-item {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
}

.m-nutrition .m-note-item:not(:first-child) {
    margin-top: calc(20 * var(--px));
}

.m-nutrition .m-note-item sup {
    vertical-align: -5px;
    font-size: 14px;
}
@media screen and (max-width: 767px) {
    .m-nutrition .m-note-item {
        font-size: calc(24 * var(--px));
        line-height: calc(30 * var(--px));
    }
    .m-nutrition .m-note-item sup {
        vertical-align: 0;
        font-size: 10px;
    }
}

.m-nutrition .m-detail-box-title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(59 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(34 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
    background-color: #13298e;
}

.m-nutrition .m-detail-box-content {
    padding-top: calc(29 * var(--px));
    padding-bottom: calc(29 * var(--px));
    border: solid calc(2 * var(--px)) #13298e;
}

.m-nutrition .m-detail-box-content img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: calc(540 * var(--px));
}

.m-nutrition .m-detail-box-content .m-note-list {
    margin-top: calc(30 * var(--px));
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0;
    width: calc(540 * var(--px));
}

.m-nutrition .m-detail-box-content .m-note-item {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
}

.m-nutrition .m-detail-box-content .m-note-item:not(:first-child) {
    margin-top: calc(28 * var(--px));
}
/* ------------------------------------------- */
/* banner-area */
/* ------------------------------------------- */

.m-banner-area {
    padding-bottom: calc(92 * var(--px));
    background-color: #e9460b;
}

.m-banner-area .l-banner {
    position: relative;
    opacity: 1;
}

.m-banner-area .l-banner .m-deco {
    position: absolute;
    top: calc(-43 * var(--px));
    left: calc(-16 * var(--px));
    z-index: 1;
    width: calc(144 * var(--px));
}

.m-banner-area .l-banner .m-banner-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: calc(76 * var(--px));
    bottom: calc(29 * var(--px));
    width: calc(384 * var(--px));
    height: calc(72 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(22 * var(--px));
    letter-spacing: 0.02em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #fff;
    text-decoration: none;
    background-color: #13298e;
    border-radius: calc(36 * var(--px));
    transition: ease 0.2s opacity;
}

@media (hover: hover) and (pointer: fine) {
    .m-banner-area .l-banner .m-banner-btn:hover {
        opacity: 0.8;
    }
}

.m-banner-area .l-banner .m-banner-btn::after {
    content: "";
    display: block;
    margin-left: calc(8 * var(--px));
    width: calc(16 * var(--px));
    height: calc(16 * var(--px));
    background-image: url(../img/icon-newtab.png);
    background-size: contain;
    background-repeat: no-repeat;
}

/* ------------------------------------------- */
/* report */
/* ------------------------------------------- */

.m-report {
    padding-top: calc(85 * var(--px));
    padding-bottom: calc(83 * var(--px));
    background-color: #f6f6f6;
}

.m-report .m-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: calc(42 * var(--px));
    height: calc(104 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
    background-color: #e9460b;
    border-radius: calc(52 * var(--px));
}

.m-report .m-title::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: calc(-7 * var(--px));
    left: 0;
    margin-right: auto;
    margin-left: auto;
    width: calc(25 * var(--px));
    height: calc(25 * var(--px));
    background-color: #e9460b;
    border-radius: calc(3 * var(--px));
    transform: rotate(45deg);
}

.m-report .m-text {
    margin-bottom: calc(50 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #001650;
}

.m-report .m-comingsoon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: auto;
    margin-left: auto;
    width: calc(478 * var(--px));
    height: calc(104 * var(--px));
    background-color: #fff;
    border: solid calc(3 * var(--px)) #13298e;
}

.m-report .m-comingsoon img {
    width: calc(360 * var(--px));
}

/* ------------------------------------------- */
/* voice */
/* ------------------------------------------- */

.m-voice {
    padding-top: calc(85 * var(--px));
    padding-bottom: calc(85 * var(--px));
    background-color: #13298e;
}

.m-voice .m-title {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(44 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(50 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
}

.m-voice .m-title::before {
    content: "";
    display: block;
    margin-right: calc(12 * var(--px));
    width: calc(53 * var(--px));
    height: calc(49 * var(--px));
    background-image: url(../img/06_icon_voice.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.m-voice .m-text {
    margin-bottom: calc(44 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
}

.m-voice .m-graph-list .l-box {
    margin-bottom: calc(42 * var(--px));
    padding: calc(57 * var(--px)) calc(30 * var(--px));
}

.m-voice .m-graph-list .l-box:last-child {
    margin-bottom: calc(52 * var(--px));
}

.m-voice .m-graph-list .l-box .m-box-title {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #000;
}

.m-voice .m-graph-list .l-box video {
    width: 100%;
}

.m-voice .m-graph-data {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(28 * var(--px));
    letter-spacing: 0.03em;
    line-height: calc(50 * var(--px));
    text-align: left;
    color: #fff;
}

.m-voice .m-comingsoon {
    text-align: center;
}

.m-voice .m-comingsoon img {
    width: calc(360 * var(--px));
    filter: brightness(20);
}

/* ------------------------------------------- */
/* campaign */
/* ------------------------------------------- */

.m-campaign {
    /* padding-top: calc(86 * var(--px)); */
    background-color: #fff;
}

@media screen and (max-width: 1023px) {
    .m-campaign {
        padding-bottom: calc(50 * var(--px));
    }
}

.m-campaign .m-title {
    margin-bottom: calc(29 * var(--px));
    text-align: center;
}

.m-campaign .m-title img {
    width: calc(602 * var(--px));
}

.m-campaign .l-box {
    margin-bottom: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    border: solid calc(4 * var(--px)) #13298e;
    border-radius: 0;
}

.m-campaign .l-box .l-head {
    padding-top: calc(38 * var(--px));
    padding-bottom: calc(23 * var(--px));
}

.m-campaign .l-box .l-head .m-title-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: auto;
    margin-bottom: calc(14 * var(--px));
    margin-left: auto;
    padding-right: calc(30 * var(--px));
    padding-left: calc(30 * var(--px));
}

.m-campaign .l-box .l-head .m-title-sub::before,
.m-campaign .l-box .l-head .m-title-sub::after {
    flex-grow: 1;
    content: "";
    display: block;
    height: 2px;
    background-color: #13298e;
}

.m-campaign .l-box .l-head .m-title-sub span {
    flex-shrink: 0;
    padding-right: calc(8 * var(--px));
    padding-left: calc(25 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(28 * var(--px));
    letter-spacing: 0.05em;
    text-align: left;
    color: #13298e;
    white-space: nowrap;
}

.m-campaign .l-box .l-head .m-title-main {
    margin-bottom: calc(13 * var(--px));
    text-align: center;
}

.m-campaign .l-box .l-head .m-title-main img {
    width: calc(589 * var(--px));
}

.m-campaign .l-box .l-head .l-pht-list {
    display: flex;
    justify-content: center;
    margin-bottom: calc(20 * var(--px));
}

.m-campaign .l-box .l-head .l-pht-list img {
    width: calc(159 * var(--px));
    height: calc(120 * var(--px));
    object-fit: cover;
}

.m-campaign .l-box .l-head .l-pht-list img:not(:first-child) {
    margin-left: calc(20 * var(--px));
}

.m-campaign .l-box .l-head .m-text {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(27 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: center;
    color: #000;
}

.m-campaign .l-box .l-foot {
    padding-top: calc(34 * var(--px));
    padding-right: calc(30 * var(--px));
    padding-bottom: calc(35 * var(--px));
    padding-left: calc(30 * var(--px));
    text-align: center;
    background-color: #13298e;
}

.m-campaign .l-box .l-foot > img {
    margin-bottom: calc(27 * var(--px));
    width: calc(578 * var(--px));
}

.m-campaign .l-box .l-foot .m-text-main {
    margin-bottom: calc(10 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #fff;
}

.m-campaign .l-box .l-foot .m-text-sub {
    margin-bottom: calc(20 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
    font-size: calc(22 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #fff;
}

.m-campaign .l-box .l-foot a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: calc(75 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #001650;
    text-decoration: none;
    background-color: #fdf100;
    border: none;
    outline: none;
    border-radius: calc(6 * var(--px));
}

@media (hover: hover) and (pointer: fine) {
    .m-campaign .l-box .l-foot a:hover {
        background-color: #fff;
    }
}

.m-campaign .l-box .l-foot a.closed {
    color: #fff;
    background-color: #9f9f9f;
}

.m-campaign .l-box .l-foot a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(21 * var(--px));
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(10 * var(--px));
    height: calc(10 * var(--px));
    border-top: solid calc(3 * var(--px)) #001650;
    border-right: solid calc(3 * var(--px)) #001650;
    transform: rotate(45deg);
}

@media (hover: hover) and (pointer: fine) {
    .m-campaign .l-box .l-foot a:hover {
        cursor: pointer;
    }
}

.m-campaign .l-box .l-foot a.closed::before {
    border-color: #fff;
}

/* ------------------------------------------- */
/* footer-links */
/* ------------------------------------------- */

.footer-links {
    padding-top: calc(40 / 375 * 100vw);
    padding-bottom: calc(50 / 375 * 100vw);
    background-color: #fff;
}

@media screen and (min-width: 750px) {
    .footer-links {
        padding-top: 80px;
    }
}

@media screen and (min-width: 750px) {
    .footer-links {
        padding-bottom: 100px;
    }
}

.footer-links .footer-links-ttl {
    display: flex;
    color: #49453e;
    font-weight: bold;
    align-items: center;
    justify-content: center;
}

.footer-links .links-ttl {
    font-size: calc(18 / 375 * 100vw);
}

@media screen and (min-width: 750px) {
    .footer-links .links-ttl {
        font-size: 36px;
    }
}

.footer-links .bottom-banner {
    width: calc(335 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}

@media screen and (min-width: 750px) {
    .footer-links .bottom-banner {
        width: 670px;
    }
}

@media screen and (min-width: 750px) {
    .footer-links .bottom-banner {
        margin-top: 40px;
    }
}

.footer-links .bottom-banner a {
    display: block;
    width: 100%;
}

.footer-links .bottom-banner a:hover {
    opacity: 0.75;
    transition: opacity 0.3s;
}

.footer-links .bottom-banner a img {
    width: 100%;
}

/* ------------------------------------------- */
/* modal */
/* ------------------------------------------- */

.l-cmp-modal-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9001;
    padding-bottom: calc(107 * var(--px));
}

.l-cmp-modal-wrapper:not(.isShow) {
    visibility: hidden;
}

.l-cmp-modal-wrapper > .js-close {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.38);
}

@media (hover: hover) and (pointer: fine) {
    .l-cmp-modal-wrapper > .js-close:hover {
        cursor: pointer;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal {
    position: relative;
    margin-top: calc(70 * var(--px));
    margin-right: auto;
    margin-left: auto;
    width: 750px;
    height: calc(100% - 70 * var(--px));
    overflow: auto;
}

@media screen and (max-width: 767px) {
    .l-cmp-modal-wrapper .l-cmp-modal {
        --px: calc(1 / 750 * (100vw - 60px));
        width: calc(100% - 60px);
    }
}

@media (hover: hover) and (pointer: fine) {
    .l-cmp-modal-wrapper .l-cmp-modal .js-close:hover {
        cursor: pointer;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal .m-close-btn {
    width: 50px;
    height: 50px;
    border: solid 3px #fff;
    border-radius: 50%;
}

@media screen and (max-width: 767px) {
    .l-cmp-modal-wrapper .l-cmp-modal .m-close-btn {
        width: 25px;
        height: 25px;
        border-width: 1px;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal .m-close-btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    left: 13px;
    width: 4px;
    height: 22px;
    background-color: #fff;
    border-radius: 2px;
    transform: rotate(-45deg);
    transform-origin: top left;
}

@media screen and (max-width: 767px) {
    .l-cmp-modal-wrapper .l-cmp-modal .m-close-btn::before {
        top: 9px;
        left: 7px;
        width: 2px;
        height: 11px;
        border-radius: 1px;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal .m-close-btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    right: 13px;
    width: 4px;
    height: 22px;
    background-color: #fff;
    border-radius: 2px;
    transform: rotate(45deg);
    transform-origin: top right;
}

@media screen and (max-width: 767px) {
    .l-cmp-modal-wrapper .l-cmp-modal .m-close-btn::after {
        top: 9px;
        right: 7px;
        width: 2px;
        height: 11px;
        border-radius: 1px;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal .js-close.m-close-btn {
    position: sticky;
    top: calc(20 * var(--px));
    right: calc(20 * var(--px));
    z-index: 3;
    margin-right: calc(20 * var(--px));
    margin-left: auto;
}

.l-cmp-modal-wrapper .l-cmp-modal .m-close-band {
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    height: calc(90 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.02em;
    text-align: center;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.8);
}

.l-cmp-modal-wrapper .l-cmp-modal .m-close-band .m-close-btn {
    position: absolute;
    top: calc(20 * var(--px));
    right: calc(20 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-head {
    position: relative;
    z-index: 2;
    margin-top: calc((-50 - 90) * var(--px));
    padding-top: calc(85 * var(--px));
    padding-bottom: calc(72 * var(--px));
    width: 100%;
    /* height: calc(310 * var(--px)); */
    background-color: #e9460b;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-head .m-sub {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: auto;
    margin-bottom: calc(16 * var(--px));
    margin-left: auto;
    width: calc(295 * var(--px));
    height: calc(53 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: center;
    color: #fff;
    border: solid calc(3 * var(--px)) #fff;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-head .m-copy {
    margin-bottom: calc(5 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(30 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: center;
    color: #fff;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-head .m-main {
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: calc(589 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot {
    padding-top: calc(69 * var(--px));
    background-color: #fff;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-overview {
    margin-right: auto;
    margin-left: auto;
    padding-bottom: calc(86 * var(--px));
    width: calc(602 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-modal-heading {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(50 * var(--px));
    height: calc(74 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(36 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #fff;
    background-color: #13298e;
    clip-path: polygon(0 0, 100% 0, calc(100% - calc(19 * var(--px))) 50%, 100% 100%, 0 100%, calc(19 * var(--px)) 50%);
    -webkit-clip-path: polygon(0 0, 100% 0, calc(100% - calc(19 * var(--px))) 50%, 100% 100%, 0 100%, calc(19 * var(--px)) 50%);
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-overview .m-text {
    margin-bottom: calc(39 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: left;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-overview .m-text .l-highlight {
    text-decoration: underline;
    text-decoration-color: #fef205;
    text-decoration-skip-ink: none;
    text-decoration-thickness: calc(14 * var(--px));
    text-underline-offset: calc(-3 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-overview .l-pht-list {
    display: flex;
    justify-content: space-between;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-overview .l-pht-list img {
    width: calc(185 * var(--px));
    height: calc(140 * var(--px));
    object-fit: cover;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration {
    margin-right: auto;
    margin-left: auto;
    padding-bottom: calc(150 * var(--px));
    width: calc(602 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration .m-text {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.02em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration .m-text-main {
    margin-top: calc(20 * var(--px));
    margin-bottom: calc(10 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration .m-text-sub {
    margin-bottom: calc(20 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
    font-size: calc(22 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: calc(25 * var(--px));
    margin-right: auto;
    margin-left: auto;
    width: calc(602 * var(--px));
    height: calc(86 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #001650;
    text-decoration: none;
    background-color: #fdf100;
    border-radius: calc(6 * var(--px));
}

@media (hover: hover) and (pointer: fine) {
    .l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration a:hover {
        background-color: #fff;
        border: solid 2px #001650;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration a.closed {
    color: #fff;
    background-color: #9f9f9f;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(21 * var(--px));
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(10 * var(--px));
    height: calc(10 * var(--px));
    border-top: solid calc(3 * var(--px)) #001650;
    border-right: solid calc(3 * var(--px)) #001650;
    transform: rotate(45deg);
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-duration a.closed::before {
    border-color: #fff;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize {
    position: relative;
    margin-right: calc(44 * var(--px));
    margin-bottom: calc(94 * var(--px));
    margin-left: calc(44 * var(--px));
    border: solid calc(3 * var(--px)) #e9460b;
    border-radius: calc(12 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-title {
    position: absolute;
    top: calc(-88 * var(--px));
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course {
    padding-top: calc(70 * var(--px));
    padding-right: calc(30 * var(--px));
    padding-bottom: calc(4 * var(--px));
    padding-left: calc(30 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set {
    padding-bottom: calc(62 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set:not(:first-child) {
    padding-top: calc(62 * var(--px));
    border-top: solid calc(3 * var(--px)) #e9460b;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set .m-course-title {
    display: block;
    margin-right: auto;
    margin-bottom: calc(27 * var(--px));
    margin-left: auto;
    height: calc(45 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set .l-pht-wrapper {
    position: relative;
    margin-bottom: calc(38 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set .l-pht-wrapper .l-flag {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: calc(107 * var(--px));
    height: calc(126 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(37 * var(--px));
    letter-spacing: 0.02em;
    line-height: calc(56 * var(--px));
    text-align: left;
    color: #fff;
    background-color: #e9460b;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - calc(23 * var(--px))), 0 100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - calc(23 * var(--px))), 0 100%);
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set .l-pht-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set .m-course-main {
    margin-bottom: calc(16 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(34 * var(--px));
    letter-spacing: 0.02em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #e9460b;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-prize .m-course .l-set .m-course-sub {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: left;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance {
    padding-top: calc(77 * var(--px));
    padding-bottom: calc(66 * var(--px));
    text-align: center;
    background-color: #f6f6f6;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-title {
    margin-bottom: calc(35 * var(--px));
    width: calc(566 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-text {
    margin-bottom: calc(43 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(32 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(48 * var(--px));
    text-align: center;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-text .l-color {
    font-weight: 700;
    color: #e9460b;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: calc(602 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-note-list {
    margin-top: calc(20 * var(--px));
    margin-right: auto;
    margin-left: auto;
    width: calc(602 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-note-list .m-note {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-note-list .m-note:not(:first-child) {
    margin-top: calc(10 * var(--px));
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-text-main {
    margin-top: calc(50 * var(--px));
    margin-bottom: calc(10 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance .m-text-sub {
    margin-bottom: calc(20 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
    font-size: calc(22 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #000;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: calc(31 * var(--px));
    margin-right: auto;
    margin-left: auto;
    width: calc(602 * var(--px));
    height: calc(86 * var(--px));
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(32 * var(--px));
    text-align: center;
    color: #001650;
    text-decoration: none;
    background-color: #fdf100;
    border-radius: calc(6 * var(--px));
}

@media (hover: hover) and (pointer: fine) {
    .l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance a:hover {
        background-color: #fff;
        border: solid 2px #001650;
    }
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance a.closed {
    color: #fff;
    background-color: #9f9f9f;
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: calc(21 * var(--px));
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    width: calc(10 * var(--px));
    height: calc(10 * var(--px));
    border-top: solid calc(3 * var(--px)) #001650;
    border-right: solid calc(3 * var(--px)) #001650;
    transform: rotate(45deg);
}

.l-cmp-modal-wrapper .l-cmp-modal .l-modal-foot .m-wchance a.closed::before {
    border-color: #fff;
}

/* #n-block */

#n-block {
    background-color: #fff;
}

#n-block .banner001 {
    width: 100%;
    margin-bottom: calc(47 * var(--px));
}

#n-block .banner001 img {
    width: 100%;
    vertical-align: top;
}

#n-block .orange-bubble {
    width: 100%;
    margin-bottom: calc(42 * var(--px));
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: calc(168 * var(--px));
    border-radius: 84px;
    background: #f5791a;
}

#n-block .orange-bubble::after {
    content: "";
    position: absolute;
    bottom: calc(-14 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    width: calc(38 * var(--px));
    height: calc(23 * var(--px));
    background: url("../img/orange-arrow.svg") no-repeat center bottom / 100% auto;
}

#n-block .orange-bubble p {
    font-weight: bold;
    font-size: calc(26 * var(--px));
    line-height: calc(37 * var(--px));
    text-align: center;
    color: #fff;
}
#n-block .orange-bubble p span {
    color: #ffea70;
}

#n-block .orange-bubble p sup {
    font-size: 16px;
    line-height: 37px;
}

#n-block .img-text-block {
    width: 100%;
    max-width: 609.5px;
    margin: 0 auto calc(32 * var(--px));
    /* margin-bottom: calc(32 * var(--px)); */
}

#n-block .img-text-block img {
    width: 100%;
    vertical-align: top;
}

#n-block .graph {
    width: 100%;
    margin-bottom: calc(32 * var(--px));
}

#n-block .graph img {
    width: 100%;
    vertical-align: top;
}

#n-block .m-note {
    margin-right: auto;
    margin-left: auto;
    width: 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    font-size: calc(18 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(28 * var(--px));
    text-align: left;
    color: #000;
    padding-bottom: calc(58 * var(--px));
}

#n-block .m-note sup {
    vertical-align: -5px;
    font-size: 14px;
}

#n-block .red-pill {
    max-width: 500px;
    width: 100%;
    margin: 0 auto calc(44 * var(--px));
}

#n-block .red-pill img {
    width: 100%;
    vertical-align: top;
}

#n-block .text-description {
    margin-bottom: calc(53 * var(--px));
}

#n-block .text-description img {
    width: 100%;
    vertical-align: top;
}

#n-block .chart {
    width: 100%;
    margin-bottom: calc(60 * var(--px));
}

#n-block .chart img {
    width: 100%;
    vertical-align: top;
}

#n-block .chart1 {
    max-width: 574px;
}

/* blue-bg-block */

#blue-bg-block {
    background-color: #b5defa;
    padding-top: calc(81 * var(--px));
    padding-bottom: calc(111 * var(--px));
    position: relative;
    z-index: 0;
}

#blue-bg-block .orange-pill {
    width: 100%;
    height: calc(123 * var(--px));
    border-radius: 61.5px;
    background: #f5791a;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(47 * var(--px));
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: calc(42 * var(--px));
    line-height: calc(37 * var(--px));
    text-align: center;
    color: #fff;
}

#blue-bg-block .orange-pill::before {
    content: "";
    position: absolute;
    bottom: calc(-14 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    width: calc(38 * var(--px));
    height: calc(23 * var(--px));
    background: url("../img/orange-arrow.svg") no-repeat center bottom / 100% auto;
    z-index: -1;
}

#blue-bg-block .avatars {
    max-width: calc(379 * var(--px));

    margin: 0 auto calc(27 * var(--px));
}

#blue-bg-block .blue-text {
    font-weight: 900;
    font-size: calc(51 * var(--px));
    letter-spacing: 0.01em;
    line-height: calc(93 * var(--px));
    text-align: center;
    color: #014c9f;
    margin-bottom: calc(46 * var(--px));
    position: relative;
}

#blue-bg-block .blue-text span {
    position: relative;
}

#blue-bg-block .blue-text span::after {
    content: "....";
    position: absolute;
    top: calc(-58 * var(--px));
    left: calc(25 * var(--px));
    font-size: calc(36 * var(--px));
    letter-spacing: 1.02em;
}

#blue-bg-block .blue-btn {
    width: calc(602 * var(--px));
    height: calc(95 * var(--px));
    border-radius: 6px;
    background: #014c9f;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: left;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease-in;
}

#blue-bg-block .blue-btn:hover {
    opacity: 0.75;
}

/* red-border */

.red-border {
    width: 100%;
    height: 65px;
    border: 2px solid #e33c0b;
    display: flex;
    margin-top: calc(34 * var(--px));
}

.red-border .red-bg {
    width: 73%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e33c0b;
    font-weight: 600;
    font-size: calc(28 * var(--px));
    letter-spacing: 0.02em;
    line-height: calc(63 * var(--px));
    text-align: left;
    color: #fff;
}

.red-border .white-bg {
    width: 27%;
    font-weight: 600;
    font-size: calc(28 * var(--px));
    letter-spacing: 0.02em;
    line-height: calc(63 * var(--px));
    text-align: left;
    color: #000;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* delivery */

#delivery {
    padding-top: calc(80 * var(--px));
    padding-bottom: calc(87 * var(--px));
    background-color: #eff2fe;
}

#delivery .orange-bubble {
    width: 100%;
    height: calc(123 * var(--px));
    border-radius: 61.5px;
    background: #f5791a;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: calc(47 * var(--px));
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: calc(42 * var(--px));
    line-height: calc(37 * var(--px));
    text-align: center;
    color: #fff;
}

#delivery .orange-bubble::before {
    content: "";
    position: absolute;
    bottom: calc(-14 * var(--px));
    left: 50%;
    transform: translateX(-50%);
    width: calc(38 * var(--px));
    height: calc(23 * var(--px));
    background: url("../img/orange-arrow.svg") no-repeat center bottom / 100% auto;
    z-index: -1;
}

#delivery .blue-header {
    font-weight: 900;
    font-size: calc(51 * var(--px));
    letter-spacing: 0.01em;
    line-height: calc(83 * var(--px));
    text-align: center;
    color: #014c9f;
    margin-bottom: calc(30 * var(--px));
}

#delivery .blue-header span {
    position: relative;
}

#delivery .blue-header span::after {
    content: "..";
    position: absolute;
    top: calc(-58 * var(--px));
    left: calc(19 * var(--px));
    font-size: calc(36 * var(--px));
    letter-spacing: 1.06em;
}

#delivery .avatar2 {
    width: calc(280 * var(--px));
    margin: 0 auto calc(32 * var(--px));
}

#delivery .avatar2 img {
    width: 100%;
    vertical-align: top;
}

#delivery .body-text {
    font-weight: 500;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.04em;
    line-height: calc(46 * var(--px));
    text-align: left;
    color: #000;
    max-width: 602px;
    width: 100%;
    margin: 0 auto calc(32 * var(--px));
}

#delivery .body-text span {
    color: #e33c0b;
    font-weight: 700;
}

#delivery .blue-btn {
    width: calc(602 * var(--px));
    height: calc(95 * var(--px));
    border-radius: 6px;
    background: #014c9f;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    font-weight: bold;
    font-size: calc(26 * var(--px));
    letter-spacing: 0.05em;
    line-height: calc(40 * var(--px));
    text-align: left;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease-in;
}

#delivery .blue-btn:hover {
    opacity: 0.75;
}
