@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background: #FFF;
  font-size: 1em;
  line-height: 1.5;
  font-family: Helvetica Neue, Helvetica, Roboto, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Noto, "メイリオ", Meiryo, sans-serif;
  color: #000;
}

img {
  border: none;
  vertical-align: bottom;
}

h1, h2, h3, h4, h5, h6, p, ul, li, dl, dt, dd, section, figure {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

a {
  display: inline-block;
  text-decoration: underline;
  color: #0c7dc3;
}

a:hover {
  text-decoration: none;
}

a img {
  transition: opacity 300ms;
}

a:hover img {
  opacity: 0.85;
}

.cap {
  font-family: sans-serif;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.indent-in-indent {
  padding-left: 2em;
  text-indent: -1em;
}

@media (min-width: 768px) {
  body {
    font-size: 14px;
    line-height: 1.5;
  }
  .sp-view {
    display: none;
  }
  .inner {
    margin: 0 auto;
    width: 1000px;
  }
  .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  .nav-menu {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 103;
  }
  .nav-menu-button {
    margin: 0 0 0 auto;
    width: 150px;
  }
  .nav-link {
    position: absolute;
    top: 0;
    background: rgba(40, 40, 40, 0.9);
    width: 100%;
    z-index: 102;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
    max-height: 0;
  }
  .nav-link ul {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 95px 0 30px 0;
    width: 778px;
  }
  .nav-link li {
    width: 110px;
    min-height: 140px;
    text-align: center;
  }
  .nav-link li a {
    text-decoration: none;
  }
  .nav-link li p {
    font-weight: bold;
    font-size: 15px;
    line-height: 1.3;
    color: #FFF;
  }
  .nav-link li p:first-child {
    padding-bottom: 10px;
  }
  .nav-bg {
    position: absolute;
    top: 0;
    background: #d8261e;
    width: 100%;
    height: 80px;
    z-index: 101;
  }
  .nav-bg-logo {
    margin: 0 auto 0 0;
    width: 152px;
  }
  .header {
    background: #d8261e;
    width: 100%;
    min-width: 1000px;
  }
  .header-box {
    text-align: center;
  }
  .title {
    background: url("../images/pc/title_image_bg.png") 50% 50% no-repeat, url("../images/pc/title_bg.png") 50% 70% no-repeat;
    background-size: auto auto, cover;
    width: 100%;
    min-width: 1000px;
    text-align: center;
  }
  .cp-detail {
    scroll-margin-top: 80px;
    padding: 60px 0 90px 0;
    width: 100%;
    min-width: 1000px;
  }
  .cp-detail-head {
    text-align: center;
  }
  .cp-detail-term {
    margin: 51px 0 0 0;
  }
  .cp-detail-term-day {
    margin: 0 auto;
    background: #d8261e;
    width: 960px;
    overflow: hidden;
    border-radius: 15px;
  }
  .cp-detail-term-use {
    padding: 25px 0 0 0;
    text-align: center;
  }
  .cp-detail-term-use p {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .cp-detail-info {
    margin: 65px 0 0 0;
  }
  .cp-detail-info-head {
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    padding: calc((1lh - 1em) / 2) 10px;
    background: #d8261e;
    width: 310px;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #FFF;
    text-align: center;
  }
  .cp-detail-info-text {
    padding: 25px 0 0 0;
    text-align: center;
  }
  .cp-detail-info-text p {
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .cp-detail-info-text .small {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: normal;
    vertical-align: middle;
  }
  .cp-detail-info-text .link {
    padding-top: 25px;
    font-weight: bold;
    font-size: 19px;
    line-height: 1.5;
    letter-spacing: normal;
  }
  .cp-detail-info-text .link a {
    color: #0c7dc3;
  }
  .cp-detail-info-text .link a:after {
    content: "";
    display: inline-block;
    margin-left: 5px;
    margin-right: 2px;
    margin-bottom: 1px;
    background: url("../images/icon_under_arrow.svg") 50% 50% no-repeat;
    width: 14px;
    height: 12px;
    vertical-align: -1px;
  }
  .cp-detail-card {
    margin: 95px auto 0 auto;
    padding: 0 0 50px 0;
    background: #ffed26;
    width: 960px;
    line-height: 1;
    text-align: center;
  }
  .cp-detail-card-head {
    box-sizing: border-box;
    display: inline-block;
    margin: -27px 0 0 0;
    padding: calc((1lh - 1em) / 2) 10px;
    background: #d8261e;
    width: 310px;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #FFF;
    text-align: center;
  }
  .cp-detail-card-point {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
  }
  .cp-detail-card-point li {
    background: #FFF;
    width: 430px;
    overflow: hidden;
    border-radius: 15px;
  }
  .cp-terms {
    scroll-margin-top: 80px;
    padding: 90px 0 90px 0;
    background: #f2f2f2;
    width: 100%;
    min-width: 1000px;
  }
  .cp-terms-head {
    text-align: center;
  }
  .cp-terms-flow {
    margin: 60px 0 0 0;
  }
  .cp-terms-flow-chart {
    display: flex;
    margin: 0 auto;
    width: 960px;
  }
  .cp-terms-flow-chart li {
    padding: 0 60px 0 0;
    background: url("../images/pc/cp-terms_flow_arrow.png") 100% 50% no-repeat;
    width: 280px;
  }
  .cp-terms-flow-chart li:last-child {
    padding: 0;
    background: none;
  }
  .cp-terms-flow-notice {
    padding: 35px 0 0 0;
    text-align: center;
  }
  .cp-terms-flow-notice p {
    font-size: 14px;
    line-height: 1.5;
  }
  .cp-terms-step {
    margin: 65px 0 0 0;
  }
  .cp-terms-step-2 {
    margin: 65px 0 0 0;
  }
  .cp-terms-step-2 .cp-terms-step-title p {
    color: #d8261e;
  }
  .cp-terms-step-2-balloon {
    margin: 45px 0 0 0;
    text-align: center;
  }
  .cp-terms-step-2-shop-box {
    box-sizing: border-box;
    margin: 40px auto 0 auto;
    padding: 20px 20px;
    background: #FFF;
    width: 776px;
    overflow: hidden;
    border-radius: 15px;
  }
  .cp-terms-step-2-shop-box-head {
    text-align: center;
  }
  .cp-terms-step-2-shop-box-logo {
    padding: 18px 0 5px 0;
    text-align: center;
  }
  .cp-terms-step-2-shop-notice {
    margin: 0 auto;
    padding: 25px 0 0 0;
    width: 776px;
  }
  .cp-terms-step-2-shop-notice p {
    font-size: 14px;
    line-height: 1.6;
  }
  .cp-terms-step-2-shop-notice a {
    color: #0c7dc3;
  }
  .cp-terms-step-2-shop-notice a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -2px;
  }
  .cp-terms-step-2-shop-notice .sep {
    padding-top: 20px;
  }
  .cp-terms-step-2-use-box {
    box-sizing: border-box;
    margin: 40px auto 0 auto;
    padding: 20px 20px;
    background: #FFF;
    width: 776px;
    overflow: hidden;
    border-radius: 15px;
  }
  .cp-terms-step-2-use-box-head {
    text-align: center;
  }
  .cp-terms-step-2-use-box-day {
    margin: 0 auto;
    padding: 10px 0 0 0;
    width: 676px;
  }
  .cp-terms-step-2-use-box-day p {
    display: block;
    padding: 14px 0;
    font-weight: bold;
    font-size: 22px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    border-top: 1px solid #666;
  }
  .cp-terms-step-2-use-box-day p:first-child {
    border-top: none;
  }
  .cp-terms-step-2-use-box-day p:last-child {
    padding: 14px 0 6px 0;
  }
  .cp-terms-step-2-use-notice {
    margin: 0 auto;
    padding: 25px 0 0 0;
    width: 776px;
  }
  .cp-terms-step-2-use-notice p {
    font-size: 14px;
    line-height: 1.6;
  }
  .cp-terms-step-3 {
    margin: 65px 0 0 0;
  }
  .cp-terms-step-3 .cp-terms-step-title p {
    color: #d8261e;
  }
  .cp-terms-step-3-cashback {
    box-sizing: border-box;
    margin: 45px auto 0 auto;
    padding: 25px 20px;
    background: #FFF;
    width: 776px;
    text-align: center;
    overflow: hidden;
    border-radius: 15px;
  }
  .cp-terms-step-3-cashback p {
    padding-top: calc((1lh - 1em) / 2);
    font-weight: bold;
    font-size: 21px;
    line-height: 1.6;
    color: #74759f;
  }
  .cp-terms-step-3-cashback-notice {
    margin: 25px auto 0 auto;
    width: 776px;
  }
  .cp-terms-step-3-cashback-notice p {
    font-size: 14px;
    line-height: 1.5;
  }
  .cp-terms-step-head {
    text-align: center;
  }
  .cp-terms-step-title {
    margin: 45px 0 30px 0;
    text-align: center;
  }
  .cp-terms-step-title p {
    font-weight: bold;
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }
  .cp-terms-step-text {
    text-align: center;
  }
  .cp-terms-step-text p {
    font-size: 14px;
    line-height: 1.7;
  }
  .cp-terms-step-text .large {
    font-weight: bold;
    font-size: 21px;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
  .cp-terms-step-text .medium {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: normal;
  }
  .cp-terms-step-text .sep {
    padding-top: 20px;
  }
  .cp-terms-step-text .red {
    color: #d8261e;
  }
  .cp-terms-step-moba {
    margin: 80px 0 0 0;
    padding: 90px 0 80px 0;
    background: url("../images/pc/cp-terms_section_dots.png") 50% 0 no-repeat;
  }
  .cp-terms-step-moba-head {
    margin: 0 0 35px 0;
    text-align: center;
  }
  .cp-terms-step-moba-balloon {
    margin: 0 0 35px 0;
    text-align: center;
  }
  .cp-terms-step-moba-sub-head {
    text-align: center;
  }
  .cp-terms-step-moba-sub-title {
    margin: 45px 0 40px 0;
    text-align: center;
  }
  .cp-terms-step-moba-sub-title p {
    font-weight: bold;
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #d8261e;
  }
  .cp-terms-step-moba-1 {
    margin: 60px 0 0 0;
  }
  .cp-terms-step-moba-1 .cp-terms-step-text {
    margin: 0 0 50px 0;
  }
  .cp-terms-step-moba-2 {
    margin: 80px 0 0 0;
  }
  .cp-terms-step-moba-2 .cp-terms-step-text {
    margin: 0 0 50px 0;
  }
  .cp-terms-step-moba-2-app {
    margin: 0 auto 40px auto;
    padding: 25px 0 30px 0;
    background: #FFF;
    width: 536px;
    overflow: hidden;
    border-radius: 15px;
  }
  .cp-terms-step-moba-2-app-head {
    margin: 0 0 15px 0;
    text-align: center;
  }
  .cp-terms-step-moba-2-app-head p {
    font-weight: bold;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .cp-terms-step-moba-2-app-link {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: 480px;
  }
  .cp-terms-step-moba-3 {
    margin: 80px 0 0 0;
  }
  .cp-terms-step-moba-3 .cp-terms-step-text {
    margin: 0 0 50px 0;
  }
  .cp-terms-step-moba-3-slide-notice {
    margin: 0 auto;
    padding: 25px 0 0 0;
    width: 776px;
  }
  .cp-terms-step-moba-3-slide-notice p {
    font-size: 14px;
    line-height: 1.5;
  }
  .cp-terms-step-normal {
    padding: 90px 0 0 0;
    background: url("../images/pc/cp-terms_section_dots.png") 50% 0 no-repeat;
  }
  .cp-terms-step-normal-head {
    margin: 0 0 35px 0;
    text-align: center;
  }
  .card-features {
    scroll-margin-top: 80px;
    padding: 90px 0 70px 0;
    background: #d8261e;
    width: 100%;
    min-width: 1000px;
  }
  .card-features-head {
    text-align: center;
  }
  .card-features-point {
    margin: 59px auto 0 auto;
    width: 964px;
  }
  .card-features-point-1 {
    scroll-margin-top: 80px;
  }
  .card-features-point-2 {
    scroll-margin-top: 80px;
    margin: 75px 0 0 0;
  }
  .card-features-point-3 {
    scroll-margin-top: 80px;
    margin: 75px 0 0 0;
  }
  .card-features-point-4 {
    scroll-margin-top: 80px;
    margin: 75px 0 0 0;
  }
  .card-features-point-title {
    margin: 25px 0 30px 0;
    text-align: center;
  }
  .card-features-point-title p {
    font-weight: bold;
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #ffed26;
  }
  .card-features-point-text {
    margin: 0 0 40px 0;
    text-align: center;
  }
  .card-features-point-text p {
    font-size: 19px;
    line-height: 1.7;
    color: #FFF;
  }
  .card-features-point-text .small {
    font-size: 14px;
    line-height: 1.7;
  }
  .card-features-point-notice p {
    font-size: 14px;
    line-height: 1.7;
    color: #FFF;
  }
  .card-features-point-notice .indent-num {
    padding-left: 1.85em;
    text-indent: -1.85em;
  }
  .card-features-point-chart {
    display: flex;
    justify-content: space-between;
    margin: 30px 0 35px 0;
  }
  .card-features-point-chart-text {
    margin: 45px 0 40px 0;
    text-align: center;
  }
  .card-features-point-chart-text p {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.7;
    letter-spacing: 0.02em;
    color: #FFF;
  }
  .card-detail {
    scroll-margin-top: 80px;
    padding: 90px 0 95px 0;
    background: #f2f2f2;
    width: 100%;
    min-width: 1000px;
  }
  .card-detail-head {
    text-align: center;
  }
  .card-detail-title {
    text-align: center;
  }
  .card-detail-table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto;
    width: 960px;
  }
  .card-detail-table th {
    box-sizing: border-box;
    padding: 10px 20px;
    background: #FFF;
    width: 480px;
    text-align: center;
    vertical-align: middle;
  }
  .card-detail-table th:nth-child(1) {
    border-right: 5px solid #f2f2f2;
  }
  .card-detail-table th:nth-child(2) {
    border-left: 5px solid #f2f2f2;
  }
  .card-detail-table td {
    box-sizing: border-box;
    padding: 25px 20px;
    background: #FFF;
    width: 480px;
    text-align: center;
    vertical-align: top;
    border-bottom: 10px solid #f2f2f2;
  }
  .card-detail-table td p {
    font-size: 16px;
    line-height: 1.5;
  }
  .card-detail-table td .head {
    padding-bottom: 20px;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
  }
  .card-detail-table td .small {
    padding-top: 5px;
    font-size: 13px;
    line-height: 1.7;
    color: #555;
  }
  .card-detail-table td .link {
    padding-top: 2px;
  }
  .card-detail-table td .sep {
    padding-top: 25px;
  }
  .card-detail-table td .bold {
    font-weight: bold;
  }
  .card-detail-table td:nth-child(1) {
    border-right: 5px solid #f2f2f2;
  }
  .card-detail-table td:nth-child(1) .head {
    color: #0353b8;
  }
  .card-detail-table td:nth-child(2) {
    border-left: 5px solid #f2f2f2;
  }
  .card-detail-table td:nth-child(2) .head {
    color: #ac8500;
  }
  .card-detail-table td[colspan="2"] {
    border-right: none;
    width: 960px;
  }
  .card-detail-table thead th p {
    padding-top: calc((1lh - 1em) / 4);
    font-weight: bold;
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #FFF;
  }
  .card-detail-table thead th:nth-child(1) {
    background: #0353b8;
  }
  .card-detail-table thead th:nth-child(2) {
    background: #ac8500;
  }
  .card-detail-table-card {
    padding: 10px 0;
  }
  .card-detail-table-notice {
    margin: 0 auto;
    padding: 25px 0 0 0;
    width: 960px;
  }
  .card-detail-table-notice p {
    font-size: 14px;
    line-height: 1.6;
  }
  .card-detail-table-notice a {
    color: #0c7dc3;
  }
  .card-detail-table-notice a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -2px;
  }
  .card-detail-table-notice .indent-num {
    padding-left: 1.85em;
    text-indent: -1.85em;
  }
  .card-detail-table-notice .sep {
    padding-top: 25px;
  }
  .card-detail-more {
    overflow: hidden;
    transition: max-height 0.6s ease-out;
    max-height: 0;
  }
  .card-detail-btn {
    margin: 50px 0 0 0;
    text-align: center;
  }
  .cp-notes {
    scroll-margin-top: 80px;
    padding: 90px 0 100px 0;
    background: #FFF;
    width: 100%;
    min-width: 1000px;
  }
  .cp-notes-head {
    text-align: center;
  }
  .cp-notes-text {
    margin: 55px auto 0 auto;
    width: 960px;
  }
  .cp-notes-text-box {
    margin: 35px 0 0 0;
  }
  .cp-notes-text-box:first-child {
    margin: 0;
  }
  .cp-notes-text-box a {
    display: inline;
    color: #0c7dc3;
  }
  .cp-notes-text-box a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -2px;
  }
  .cp-notes-text-box p {
    font-size: 15px;
    line-height: 1.7;
  }
  .footer {
    scroll-margin-top: 80px;
    padding: 0 0 100px 0;
    background: #f2f2f2;
    width: 100%;
    min-width: 1000px;
  }
  .footer-head {
    padding: 5px 0;
    background: #d8261d;
    width: 100%;
    min-width: 1000px;
  }
  .footer-head h2 {
    padding: calc((1lh - 1em) / 2) 20px;
    font-weight: bold;
    font-size: 21px;
    line-height: 1.5;
    color: #FFF;
  }
  .footer-jcb {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 23px 0 0 0;
    width: 960px;
  }
  .footer-jcb-logo {
    width: 106px;
  }
  .footer-jcb-main {
    flex: 1;
  }
  .footer-jcb-main-org p {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
  }
  .footer-jcb-main-link {
    display: flex;
    padding: 2px 0 0 0;
  }
  .footer-jcb-main-link li {
    margin: 0 0 0 15px;
  }
  .footer-jcb-main-link li:first-child {
    margin: 0;
  }
  .footer-jcb-main-link a {
    color: #0c7dc3;
  }
  .footer-jcb-main-link a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -2px;
  }
  .footer-inquiry {
    margin: 20px auto 0 auto;
    padding: 20px 0 0 0;
    width: 960px;
    border-top: 2px dotted #000;
  }
  .footer-inquiry-row {
    display: flex;
    align-items: flex-end;
  }
  .footer-inquiry-row-dial .name {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.5;
  }
  .footer-inquiry-row-dial .tel {
    font-weight: bold;
    font-size: 37px;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #d8261d;
  }
  .footer-inquiry-row-mobile {
    padding: 0 0 2px 25px;
  }
  .footer-inquiry-row-mobile a {
    text-decoration: none;
    color: #d8261d;
  }
  .footer-inquiry-row-mobile .text {
    padding-bottom: 1px;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.5;
  }
  .footer-inquiry-row-mobile .tel {
    font-weight: bold;
    font-size: 25px;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #d8261d;
  }
  .footer-inquiry-row-mobile .tel span {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: normal;
    vertical-align: middle;
  }
  .footer-inquiry-hours {
    padding: 5px 0 0 0;
  }
  .footer-inquiry-hours p {
    font-size: 14px;
    line-height: 1.5;
  }
  .footer-inquiry-support p {
    font-size: 14px;
    line-height: 1.5;
  }
  .footer-inquiry-support a {
    color: #0c7dc3;
  }
  .footer-inquiry-support a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: 8px;
    margin-right: 6px;
    margin-bottom: 1px;
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    width: 13px;
    height: 13px;
    vertical-align: -2px;
  }
  .footer-copyright {
    padding: 60px 0 40px 0;
    text-align: center;
  }
  .fixed-bottom {
    position: fixed;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    width: 100%;
    z-index: 10;
  }
  .fixed-bottom-button {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 15px 0 29px 0;
    width: 784px;
  }
  .cp-terms-step-slide {
    box-sizing: border-box;
    margin: 34px auto 0 auto;
    padding: 0 0 30px 0;
    background: #FFF;
    width: 776px;
    border: 4px solid #000;
  }
  .cp-terms-step-slide-head {
    box-sizing: border-box;
    display: block;
    padding: 15px 20px 20px 20px;
    background: #FFF;
    width: 100%;
    text-align: left;
    font-weight: bold;
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .carousel-container {
    display: flex;
    transition: transform 0.5s ease;
  }
  .slide {
    min-width: 100%;
  }
  .slide-box {
    box-sizing: border-box;
    display: flex;
    margin: 0 auto;
    padding: 0 46px;
    width: 100%;
    height: 100%;
  }
  .slide-box-image {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #efefef;
    width: 350px;
  }
  .slide-box-image img {
    padding: 25px 0;
  }
  .slide-box-text {
    flex: 1;
    display: flex;
    padding: 0 0 0 25px;
  }
  .slide-box-text-main {
    flex: 1;
    padding: 0 0 0 15px;
  }
  .slide-box-text-main p {
    font-weight: bold;
    font-size: 19px;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
  .slide-box-text-main .button {
    vertical-align: 20%;
  }
  .arrow {
    position: absolute;
    top: 0;
    width: 46px;
    cursor: pointer;
  }
  .left-arrow {
    left: 0;
  }
  .right-arrow {
    right: 0;
  }
  .indicators {
    display: flex;
    justify-content: center;
    padding: 30px 0 0 0;
  }
  .indicators span {
    margin: 0 5px;
    width: 12px;
    line-height: 1;
    cursor: pointer;
  }
  .modal-global-nav-shadow {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 99;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }
  .modal-global-nav-shadow.visible {
    opacity: 1;
    display: block;
  }
}
@media (max-width: 767px) {
  img {
    width: 100%;
    height: auto;
  }
  .pc-view {
    display: none;
  }
  .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
  }
  .nav-menu {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 103;
  }
  .nav-menu-button {
    margin: 0 0 0 auto;
    padding: calc(33 / 750 * 100vw) 0 0 0;
    width: calc(206 / 750 * 100vw);
  }
  .nav-link {
    position: absolute;
    top: 0;
    background: rgba(40, 40, 40, 0.9);
    width: 100%;
    z-index: 102;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
    max-height: 0;
  }
  .nav-link ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(30 / 750 * 100vw) calc(65 / 750 * 100vw);
    margin: 0 auto;
    padding: calc(140 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    width: calc(590 / 750 * 100vw);
  }
  .nav-link li {
    width: calc(150 / 750 * 100vw);
    min-height: calc(220 / 750 * 100vw);
    text-align: center;
  }
  .nav-link li a {
    text-decoration: none;
  }
  .nav-link li p {
    font-weight: bold;
    font-size: 3vw;
    line-height: 1.3;
    color: #FFF;
  }
  .nav-link li p:first-child {
    padding-bottom: calc(15 / 750 * 100vw);
  }
  .nav-bg {
    position: absolute;
    top: 0;
    background: #d8261e;
    width: 100%;
    height: calc(129 / 750 * 100vw);
    z-index: 101;
  }
  .nav-bg-logo {
    margin: 0 auto 0 0;
    width: calc(134 / 750 * 100vw);
  }
  .header {
    background: #d8261e;
    width: 100%;
  }
  .header img {
    width: calc(134 / 750 * 100vw);
  }
  .title {
    background: url("../images/sp/title_bg.png") 50% 70% no-repeat;
    background-size: cover;
    width: 100%;
  }
  .cp-detail {
    scroll-margin-top: calc(129 / 750 * 100vw);
    padding: 0 0 calc(90 / 750 * 100vw) 0;
  }
  .cp-detail-term-day {
    margin: 0 auto;
    background: #d8261e;
    width: calc(650 / 750 * 100vw);
    overflow: hidden;
    border-radius: calc(15 / 750 * 100vw);
  }
  .cp-detail-term-use {
    padding: calc(25 / 750 * 100vw) 0 0 0;
    text-align: center;
  }
  .cp-detail-term-use p {
    font-weight: bold;
    font-size: 3vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .cp-detail-info {
    margin: calc(85 / 750 * 100vw) 0 0 0;
  }
  .cp-detail-info-head {
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    padding: calc((1lh - 1em) / 2) calc(10 / 750 * 100vw);
    background: #d8261e;
    width: calc(364 / 750 * 100vw);
    font-weight: bold;
    font-size: 4.2vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #FFF;
    text-align: center;
  }
  .cp-detail-info-text {
    padding: calc(25 / 750 * 100vw) 0 0 0;
    text-align: center;
  }
  .cp-detail-info-text p {
    font-weight: bold;
    font-size: 4.6vw;
    line-height: 1.4;
    letter-spacing: 0.04em;
  }
  .cp-detail-info-text .small {
    font-weight: bold;
    font-size: 2.8vw;
    line-height: 1.5;
    letter-spacing: normal;
    vertical-align: middle;
  }
  .cp-detail-info-text .link {
    padding-top: calc(25 / 750 * 100vw);
    font-weight: bold;
    font-size: 3.3vw;
    line-height: 1.5;
    letter-spacing: normal;
  }
  .cp-detail-info-text .link a {
    color: #0c7dc3;
  }
  .cp-detail-info-text .link a:after {
    content: "";
    display: inline-block;
    margin-left: calc(8 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("../images/icon_under_arrow.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
  }
  .cp-detail-card {
    margin: calc(110 / 750 * 100vw) auto 0 auto;
    padding: 0 0 calc(54 / 750 * 100vw) 0;
    background: #ffed26;
    width: calc(690 / 750 * 100vw);
    line-height: 0;
    text-align: center;
  }
  .cp-detail-card-head {
    box-sizing: border-box;
    display: inline-block;
    margin: calc(-32 / 750 * 100vw) 0 0 0;
    padding: calc((1lh - 1em) / 2) calc(10 / 750 * 100vw);
    background: #d8261e;
    width: calc(364 / 750 * 100vw);
    font-weight: bold;
    font-size: 4.2vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #FFF;
    text-align: center;
  }
  .cp-detail-card-point {
    margin: 0 auto;
    width: calc(630 / 750 * 100vw);
  }
  .cp-detail-card-point li {
    margin: calc(26 / 750 * 100vw) 0 0 0;
    background: #FFF;
    overflow: hidden;
    border-radius: calc(15 / 750 * 100vw);
  }
  .cp-detail-card-point li:first-child {
    margin: 0;
  }
  .cp-terms {
    scroll-margin-top: calc(129 / 750 * 100vw);
    padding: 0 0 calc(100 / 750 * 100vw) 0;
    background: #f2f2f2;
    width: 100%;
  }
  .cp-terms-flow-chart {
    margin: 0 auto;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-flow-chart li {
    padding: 0 0 calc(60 / 750 * 100vw) 0;
    background: url("../images/sp/cp-terms_flow_arrow.png") 50% 100% no-repeat;
    background-size: 100% auto;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-flow-chart li:last-child {
    padding: 0;
    background: none;
  }
  .cp-terms-flow-notice {
    margin: 0 auto;
    padding: calc(35 / 750 * 100vw) 0 0 0;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-flow-notice p {
    font-size: 3vw;
    line-height: 1.5;
  }
  .cp-terms-step {
    margin: calc(65 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-1 .cp-terms-step-head {
    margin: 0 auto;
    width: calc(364 / 750 * 100vw);
  }
  .cp-terms-step-2 {
    margin: calc(65 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-2 .cp-terms-step-head {
    margin: 0 auto;
    width: calc(454 / 750 * 100vw);
  }
  .cp-terms-step-2 .cp-terms-step-title p {
    color: #d8261e;
  }
  .cp-terms-step-2-balloon {
    margin: calc(45 / 750 * 100vw) auto 0 auto;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-step-2-shop-box {
    box-sizing: border-box;
    margin: calc(40 / 750 * 100vw) auto 0 auto;
    padding: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);
    background: #FFF;
    width: calc(650 / 750 * 100vw);
    overflow: hidden;
    border-radius: calc(15 / 750 * 100vw);
  }
  .cp-terms-step-2-shop-box-logo {
    padding: calc(30 / 750 * 100vw) 0 calc(5 / 750 * 100vw) 0;
    text-align: center;
  }
  .cp-terms-step-2-shop-notice {
    margin: 0 auto;
    padding: calc(35 / 750 * 100vw) 0 0 0;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-step-2-shop-notice p {
    font-size: 2.8vw;
    line-height: 1.6;
  }
  .cp-terms-step-2-shop-notice a {
    color: #0c7dc3;
  }
  .cp-terms-step-2-shop-notice a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .cp-terms-step-2-shop-notice .sep {
    padding-top: calc(20 / 750 * 100vw);
  }
  .cp-terms-step-2-use-box {
    box-sizing: border-box;
    margin: calc(50 / 750 * 100vw) auto 0 auto;
    padding: calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);
    background: #FFF;
    width: calc(650 / 750 * 100vw);
    overflow: hidden;
    border-radius: calc(15 / 750 * 100vw);
  }
  .cp-terms-step-2-use-box-head {
    text-align: center;
  }
  .cp-terms-step-2-use-box-day {
    margin: 0 auto;
    padding: calc(20 / 750 * 100vw) 0 0 0;
    width: calc(570 / 750 * 100vw);
  }
  .cp-terms-step-2-use-box-day p {
    display: block;
    padding: calc(14 / 750 * 100vw) 0;
    font-weight: bold;
    font-size: 3vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
    border-top: calc(2 / 750 * 100vw) solid #666;
  }
  .cp-terms-step-2-use-box-day p:first-child {
    border-top: none;
  }
  .cp-terms-step-2-use-box-day p:last-child {
    padding: calc(14 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-2-use-notice {
    margin: 0 auto;
    padding: calc(35 / 750 * 100vw) 0 0 0;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-step-2-use-notice p {
    font-size: 2.8vw;
    line-height: 1.6;
  }
  .cp-terms-step-3 {
    margin: calc(95 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-3 .cp-terms-step-head {
    margin: 0 auto;
    width: calc(602 / 750 * 100vw);
  }
  .cp-terms-step-3 .cp-terms-step-title p {
    color: #d8261e;
  }
  .cp-terms-step-3-cashback {
    box-sizing: border-box;
    margin: calc(45 / 750 * 100vw) auto 0 auto;
    padding: calc(25 / 750 * 100vw) calc(40 / 750 * 100vw);
    background: #FFF;
    width: calc(650 / 750 * 100vw);
    overflow: hidden;
    border-radius: calc(15 / 750 * 100vw);
  }
  .cp-terms-step-3-cashback p {
    padding-top: calc((1lh - 1em) / 2);
    font-weight: bold;
    font-size: 4vw;
    line-height: 1.6;
    letter-spacing: 0.02em;
    color: #74759f;
  }
  .cp-terms-step-3-cashback-notice {
    margin: calc(35 / 750 * 100vw) auto 0 auto;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-step-3-cashback-notice p {
    font-size: 2.8vw;
    line-height: 1.5;
  }
  .cp-terms-step-title {
    margin: calc(45 / 750 * 100vw) 0 calc(30 / 750 * 100vw) 0;
    text-align: center;
  }
  .cp-terms-step-title p {
    font-weight: bold;
    font-size: 5.4vw;
    line-height: 1.3;
    letter-spacing: 0.02em;
  }
  .cp-terms-step-text {
    margin: 0 auto;
    width: calc(650 / 750 * 100vw);
  }
  .cp-terms-step-text p {
    font-size: 2.8vw;
    line-height: 1.7;
  }
  .cp-terms-step-text .large {
    font-weight: bold;
    font-size: 4.4vw;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
  .cp-terms-step-text .medium {
    font-weight: bold;
    font-size: 3.4vw;
    line-height: 1.6;
    letter-spacing: normal;
  }
  .cp-terms-step-text .sep {
    padding-top: calc(30 / 750 * 100vw);
  }
  .cp-terms-step-text .red {
    color: #d8261e;
  }
  .cp-terms-step-text .sp-view-indent {
    padding-left: 1em;
    text-indent: -1em;
  }
  .cp-terms-step-moba {
    margin: calc(100 / 750 * 100vw) 0 0 0;
    padding: calc(110 / 750 * 100vw) 0 calc(100 / 750 * 100vw) 0;
    background: url("../images/sp/cp-terms_section_dots.png") 50% 0 no-repeat;
    background-size: calc(58 / 750 * 100vw) auto;
  }
  .cp-terms-step-moba-head {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
    width: calc(612 / 750 * 100vw);
  }
  .cp-terms-step-moba-balloon {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
    width: calc(574 / 750 * 100vw);
  }
  .cp-terms-step-moba-sub-title {
    margin: calc(45 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    text-align: center;
  }
  .cp-terms-step-moba-sub-title p {
    font-weight: bold;
    font-size: 5.4vw;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #d8261e;
  }
  .cp-terms-step-moba-1 {
    margin: calc(60 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-moba-1 .cp-terms-step-text {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
  }
  .cp-terms-step-moba-2 {
    margin: calc(80 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-moba-2 .cp-terms-step-text {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
  }
  .cp-terms-step-moba-2-app {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
    padding: calc(35 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    background: #FFF;
    width: calc(650 / 750 * 100vw);
    overflow: hidden;
    border-radius: calc(15 / 750 * 100vw);
  }
  .cp-terms-step-moba-2-app-head {
    margin: 0 0 calc(20 / 750 * 100vw) 0;
    text-align: center;
  }
  .cp-terms-step-moba-2-app-head p {
    font-weight: bold;
    font-size: 3.8vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .cp-terms-step-moba-2-app-link {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    width: calc(558 / 750 * 100vw);
  }
  .cp-terms-step-moba-2-app-link li {
    width: calc(266 / 750 * 100vw);
  }
  .cp-terms-step-moba-3 {
    margin: calc(80 / 750 * 100vw) 0 0 0;
  }
  .cp-terms-step-moba-3 .cp-terms-step-text {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
  }
  .cp-terms-step-moba-3-slide-notice {
    margin: 0 auto;
    padding: calc(35 / 750 * 100vw) 0 0 0;
    width: calc(690 / 750 * 100vw);
  }
  .cp-terms-step-moba-3-slide-notice p {
    font-size: 2.8vw;
    line-height: 1.5;
  }
  .cp-terms-step-normal {
    padding: calc(110 / 750 * 100vw) 0 0 0;
    background: url("../images/sp/cp-terms_section_dots.png") 50% 0 no-repeat;
    background-size: calc(58 / 750 * 100vw) auto;
  }
  .cp-terms-step-normal-head {
    margin: 0 auto calc(35 / 750 * 100vw) auto;
    width: calc(410 / 750 * 100vw);
  }
  .card-features {
    scroll-margin-top: calc(129 / 750 * 100vw);
    padding: 0 0 calc(100 / 750 * 100vw) 0;
    background: #d8261e;
    width: 100%;
  }
  .card-features-point {
    margin: 0 auto 0 auto;
    width: calc(690 / 750 * 100vw);
  }
  .card-features-point-1 {
    scroll-margin-top: calc(129 / 750 * 100vw);
  }
  .card-features-point-2 {
    scroll-margin-top: calc(129 / 750 * 100vw);
    margin: calc(80 / 750 * 100vw) 0 0 0;
  }
  .card-features-point-3 {
    scroll-margin-top: calc(129 / 750 * 100vw);
    margin: calc(80 / 750 * 100vw) 0 0 0;
  }
  .card-features-point-4 {
    scroll-margin-top: calc(129 / 750 * 100vw);
    margin: calc(80 / 750 * 100vw) 0 0 0;
  }
  .card-features-point-title {
    margin: calc(35 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    text-align: center;
  }
  .card-features-point-title p {
    font-weight: bold;
    font-size: 5.4vw;
    line-height: 1.3;
    letter-spacing: 0.02em;
    color: #ffed26;
  }
  .card-features-point-text {
    margin: 0 auto calc(50 / 750 * 100vw) auto;
    text-align: left;
    width: calc(660 / 750 * 100vw);
  }
  .card-features-point-text p {
    font-size: 3.6vw;
    line-height: 1.5;
    color: #FFF;
  }
  .card-features-point-text .small {
    font-size: 2.8vw;
    line-height: 1.5;
  }
  .card-features-point-notice {
    margin: 0 auto;
    width: calc(660 / 750 * 100vw);
  }
  .card-features-point-notice p {
    font-size: 2.8vw;
    line-height: 1.6;
    color: #FFF;
  }
  .card-features-point-notice .indent-num {
    padding-left: 1.85em;
    text-indent: -1.85em;
  }
  .card-features-point-chart {
    margin: calc(60 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
  }
  .card-features-point-chart li {
    margin: calc(23 / 750 * 100vw) 0 0 0;
  }
  .card-features-point-chart li:first-child {
    margin: 0;
  }
  .card-features-point-chart-text {
    margin: calc(45 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    text-align: center;
  }
  .card-features-point-chart-text p {
    font-weight: bold;
    font-size: 4vw;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: #FFF;
  }
  .card-detail {
    scroll-margin-top: calc(129 / 750 * 100vw);
    padding: 0 0 calc(100 / 750 * 100vw) 0;
    background: #f2f2f2;
    width: 100%;
  }
  .card-detail-head {
    text-align: center;
  }
  .card-detail-title {
    text-align: center;
  }
  .card-detail-table {
    border-collapse: separate;
    border-spacing: 0;
    margin: 0 auto;
    width: calc(690 / 750 * 100vw);
  }
  .card-detail-table th {
    box-sizing: border-box;
    padding: calc(12 / 750 * 100vw) calc(20 / 750 * 100vw);
    background: #FFF;
    width: calc(341 / 750 * 100vw);
    text-align: center;
    vertical-align: middle;
  }
  .card-detail-table th:nth-child(1) {
    border-right: calc(4 / 750 * 100vw) solid #f2f2f2;
  }
  .card-detail-table th:nth-child(2) {
    border-left: calc(4 / 750 * 100vw) solid #f2f2f2;
  }
  .card-detail-table td {
    box-sizing: border-box;
    padding: calc(30 / 750 * 100vw) calc(20 / 750 * 100vw);
    background: #FFF;
    width: calc(341 / 750 * 100vw);
    text-align: center;
    vertical-align: top;
    border-bottom: calc(8 / 750 * 100vw) solid #f2f2f2;
  }
  .card-detail-table td p {
    font-size: 2.8vw;
    line-height: 1.6;
  }
  .card-detail-table td .head {
    padding-bottom: calc(20 / 750 * 100vw);
    font-weight: bold;
    font-size: 3.2vw;
    line-height: 1.5;
  }
  .card-detail-table td .small {
    padding-top: calc(5 / 750 * 100vw);
    font-size: 2.4vw;
    line-height: 1.7;
    color: #555;
  }
  .card-detail-table td .link {
    padding-top: calc(2 / 750 * 100vw);
  }
  .card-detail-table td .sep {
    padding-top: calc(25 / 750 * 100vw);
  }
  .card-detail-table td .bold {
    font-weight: bold;
  }
  .card-detail-table td:nth-child(1) {
    border-right: calc(4 / 750 * 100vw) solid #f2f2f2;
  }
  .card-detail-table td:nth-child(1) .head {
    color: #0353b8;
  }
  .card-detail-table td:nth-child(2) {
    border-left: calc(4 / 750 * 100vw) solid #f2f2f2;
  }
  .card-detail-table td:nth-child(2) .head {
    color: #ac8500;
  }
  .card-detail-table td[colspan="2"] {
    border-right: none;
    width: calc(690 / 750 * 100vw);
  }
  .card-detail-table thead th p {
    padding-top: calc((1lh - 1em) / 4);
    font-weight: bold;
    font-size: 3.6vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #FFF;
  }
  .card-detail-table thead th:nth-child(1) {
    background: #0353b8;
  }
  .card-detail-table thead th:nth-child(2) {
    background: #ac8500;
  }
  .card-detail-table-card {
    display: block;
    margin: 0 auto;
    padding: calc(15 / 750 * 100vw) 0;
    width: calc(189 / 750 * 100vw);
  }
  .card-detail-table-notice {
    margin: 0 auto;
    padding: calc(30 / 750 * 100vw) 0 0 0;
    width: calc(690 / 750 * 100vw);
  }
  .card-detail-table-notice p {
    font-size: 2.8vw;
    line-height: 1.6;
  }
  .card-detail-table-notice a {
    color: #0c7dc3;
  }
  .card-detail-table-notice a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .card-detail-table-notice .indent-num {
    padding-left: 1.85em;
    text-indent: -1.85em;
  }
  .card-detail-table-notice .sep {
    padding-top: calc(25 / 750 * 100vw);
  }
  .card-detail-table-notice .link {
    padding-top: calc(25 / 750 * 100vw);
  }
  .card-detail-more {
    overflow: hidden;
    transition: max-height 0.6s ease-out;
    max-height: 0;
  }
  .card-detail-btn {
    margin: calc(65 / 750 * 100vw) auto 0 auto;
    width: calc(400 / 750 * 100vw);
  }
  .cp-notes {
    scroll-margin-top: calc(129 / 750 * 100vw);
    padding: 0 0 calc(135 / 750 * 100vw) 0;
    background: #FFF;
    width: 100%;
  }
  .cp-notes-text {
    margin: 0 auto 0 auto;
    width: calc(690 / 750 * 100vw);
  }
  .cp-notes-text-box {
    margin: calc(35 / 750 * 100vw) 0 0 0;
  }
  .cp-notes-text-box:first-child {
    margin: 0;
  }
  .cp-notes-text-box a {
    display: inline;
    color: #0c7dc3;
  }
  .cp-notes-text-box a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .cp-notes-text-box p {
    font-size: 3vw;
    line-height: 1.7;
  }
  .footer {
    scroll-margin-top: calc(129 / 750 * 100vw);
    display: flex;
    flex-direction: column;
    padding: 0 0 calc(170 / 750 * 100vw) 0;
    background: #f2f2f2;
    width: 100%;
  }
  .footer-head {
    padding: calc(15 / 750 * 100vw) 0;
    background: #d8261d;
    width: 100%;
    order: 1;
  }
  .footer-head h2 {
    padding: calc((1lh - 1em) / 2) calc(35 / 750 * 100vw);
    font-weight: bold;
    font-size: 3.8vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #FFF;
  }
  .footer-jcb {
    display: flex;
    margin: 0 auto;
    padding: calc(23 / 750 * 100vw) 0 0 0;
    width: calc(690 / 750 * 100vw);
    order: 3;
  }
  .footer-jcb-logo {
    box-sizing: border-box;
    padding: calc(20 / 750 * 100vw) 0 0 calc(27 / 750 * 100vw);
    width: calc(170 / 750 * 100vw);
  }
  .footer-jcb-logo img {
    width: calc(99 / 750 * 100vw);
  }
  .footer-jcb-main {
    flex: 1;
    padding: calc(15 / 750 * 100vw) 0 0 0;
  }
  .footer-jcb-main-link li {
    font-size: 3vw;
    line-height: 1.9;
  }
  .footer-jcb-main-link a {
    color: #0c7dc3;
  }
  .footer-jcb-main-link a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .footer-inquiry {
    margin: 0 auto 0 auto;
    padding: calc(40 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    width: calc(690 / 750 * 100vw);
    border-bottom: calc(3 / 750 * 100vw) dotted #000;
    order: 2;
  }
  .footer-inquiry-row-dial .name {
    font-weight: bold;
    font-size: 3.4vw;
    line-height: 1.5;
  }
  .footer-inquiry-row-dial .tel {
    font-weight: bold;
    font-size: 8.4vw;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #d8261d;
  }
  .footer-inquiry-row-mobile {
    padding: calc(10 / 750 * 100vw) 0 0 0;
  }
  .footer-inquiry-row-mobile a {
    text-decoration: none;
    color: #d8261d;
  }
  .footer-inquiry-row-mobile .text {
    padding-bottom: calc(6 / 750 * 100vw);
    font-size: 3vw;
    line-height: 1.5;
  }
  .footer-inquiry-row-mobile .tel {
    font-weight: bold;
    font-size: 6vw;
    line-height: 1;
    letter-spacing: 0.02em;
    color: #d8261d;
  }
  .footer-inquiry-row-mobile .tel span {
    font-size: 3.2vw;
    line-height: 1.5;
    letter-spacing: normal;
    vertical-align: middle;
  }
  .footer-inquiry-hours {
    padding: calc(15 / 750 * 100vw) 0 0 0;
  }
  .footer-inquiry-hours p {
    font-size: 3vw;
    line-height: 1.5;
  }
  .footer-inquiry-support p {
    font-size: 3vw;
    line-height: 1.5;
  }
  .footer-inquiry-support a {
    color: #0c7dc3;
  }
  .footer-inquiry-support a[target=_blank]:after {
    content: "";
    display: inline-block;
    margin-left: calc(6 / 750 * 100vw);
    margin-right: calc(6 / 750 * 100vw);
    margin-bottom: calc(-1 / 750 * 100vw);
    background: url("../images/icon_link_ext_blue.svg") 50% 50% no-repeat;
    background-size: contain;
    width: calc(19 / 750 * 100vw);
    height: calc(19 / 750 * 100vw);
  }
  .footer-copyright {
    padding: calc(60 / 750 * 100vw) 0 calc(40 / 750 * 100vw) 0;
    text-align: center;
    order: 4;
  }
  .footer-copyright p {
    font-size: 3vw;
    line-height: 1.5;
  }
  .fixed-bottom {
    position: fixed;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.2);
    width: 100%;
    z-index: 10;
  }
  .fixed-bottom-button {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: calc(25 / 750 * 100vw) 0 calc(36 / 750 * 100vw) 0;
    width: calc(680 / 750 * 100vw);
  }
  .fixed-bottom-button li {
    width: calc(330 / 750 * 100vw);
  }
  .cp-terms-step-slide {
    box-sizing: border-box;
    margin: calc(34 / 750 * 100vw) auto 0 auto;
    padding: 0 0 calc(55 / 750 * 100vw) 0;
    background: #FFF;
    width: calc(690 / 750 * 100vw);
    border: calc(4 / 750 * 100vw) solid #000;
  }
  .cp-terms-step-slide-head {
    box-sizing: border-box;
    display: block;
    padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw);
    background: #FFF;
    width: 100%;
    text-align: left;
    font-weight: bold;
    font-size: 4.6vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .carousel-container {
    display: flex;
    transition: transform 0.5s ease;
  }
  .slide {
    min-width: 100%;
  }
  .slide-box {
    box-sizing: border-box;
    margin: 0 auto;
    width: 100%;
    height: 100%;
  }
  .slide-box-image {
    padding: calc(48 / 750 * 100vw) 0 calc(45 / 750 * 100vw) 0;
    background: #efefef;
    width: 100%;
  }
  .slide-box-image img {
    display: block;
    margin: 0 auto;
    width: calc(280 / 750 * 100vw);
  }
  .slide-box-text {
    display: flex;
    margin: 0 auto;
    padding: calc(55 / 750 * 100vw) 0 0 0;
    width: calc(542 / 750 * 100vw);
  }
  .slide-box-text-icon {
    width: calc(53 / 750 * 100vw);
  }
  .slide-box-text-main {
    flex: 1;
    padding: 0 0 0 calc(25 / 750 * 100vw);
  }
  .slide-box-text-main p {
    font-weight: bold;
    font-size: 4.6vw;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
  .slide-box-text-main .button {
    display: inline-block;
    width: calc(258 / 750 * 100vw);
    vertical-align: 20%;
  }
  .arrow {
    position: absolute;
    top: calc(240 / 750 * 100vw);
    transform: translateY(-50%);
    width: calc(60 / 750 * 100vw);
    cursor: pointer;
  }
  .left-arrow {
    left: calc(50 / 750 * 100vw);
  }
  .right-arrow {
    right: calc(50 / 750 * 100vw);
  }
  .indicators {
    display: flex;
    justify-content: center;
    padding: calc(100 / 750 * 100vw) 0 0 0;
  }
  .indicators span {
    margin: 0 calc(10 / 750 * 100vw);
    width: calc(22 / 750 * 100vw);
    line-height: 1;
    cursor: pointer;
  }
  .modal-global-nav-shadow {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 99;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
  }
  .modal-global-nav-shadow.visible {
    opacity: 1;
    display: block;
  }
}