@media screen and (max-width: 768px) {
    body {
        font-size: min(3.73vw, 16px);
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .header-top {
        padding: 10px 0 10px 10px;
    }

    .btn-red {
        font-size: min(4.27vw, 18px);
        justify-content: center;
    }

    .btn-blue {
        font-size: min(4.27vw, 18px);
        justify-content: center;
    }

    .title_1 {
        font-size: min(6.4vw, 26px);
    }

    .title_2_red {
        font-size: min(5.33vw, 22px);
        margin-bottom: 25px;
    }

    .title_2_blue {
        font-size: min(5.33vw, 22px);
        margin-bottom: 25px;
    }

    .title_3_red {
        font-size: min(4.8vw, 20px);
        padding-left: min(4.27vw, 18px);
        padding-top: min(4.27vw, 18px);
    }

    .title_3_red::before {
        width: min(9.07vw, 36px);
        height: min(9.07vw, 36px);
        top: min(4.8vw, 20px);
    }

    .title_3_blue {
        font-size: min(4.8vw, 20px);
        padding-left: min(4.27vw, 18px);
        padding-top: min(4.27vw, 18px);
    }

    .title_3_blue::before {
        width: min(9.07vw, 36px);
        height: min(9.07vw, 36px);
        top: min(4.8vw, 20px);
    }

    .title_4_blue {
        font-size: min(3.73vw, 16px);
    }

    .catch-copy {
        font-size: min(4.8vw, 20px);
    }

    .comments {
        font-size: min(3.2vw, 14px);
    }

    .center-line::after {
        display: none;
    }

    .space_s {
        margin-top: 8px;
    }

    .space_sm {
        margin-top: 16px;
    }

    .space_m {
        margin-top: 24px;
    }

    .space_l {
        margin-top: 40px;
    }

    .space_xl {
        margin-top: 50px;
    }

    .width_m {
        width: 100%;
    }

    .width_half {
        width: 100%;
    }

    .indent_s {
        padding-left: 0;
        padding-right: 0;
    }

    .row-gap_xl {
        row-gap: 50px;
    }

    .width_ss {
        width: 50%;
    }

    .page-content-item {
        padding: 0;
    }

    .page-content-inner {
        padding-bottom: 50px;
    }

    .l-breadcrumb {
        margin: 10px 0 50px;
    }

    img.card-logo {
        height: 3.47vw;
    }

    .sub-page-title {
        height: 110px;
    }

    .text-box::after {
        margin: 30px auto 0;
    }

    .flex-box {
        flex-direction: column;
    }

    .border-text-box {
        padding: 1em;
        border: 3px solid #F9E2DC;
    }

    .tel-box {
        align-items: flex-start;
        flex-direction: column;
    }

    .contact-tel {
        font-size: min(6.93vw, 28px);
    }

    .contact-company {
        font-size: min(3.73vw, 16px);
    }

    .contact-tel img {
        height: 24px;
        padding-right: 4px;
    }

    .float-right figure,
    .float-left figure {
        float: none;
        width: 100%;
        padding: 0 0 10px 0;
    }

    .thin-btn-red {
        text-align: left;
    }

    .thin-btn-red .icon {
        height: 20px;
    }

    .banner {
        width: 90vw;
        gap: 10px;
        flex-wrap: wrap;
    }

    .banner a {
        width: 48%;
    }

    table.hyakugo-table th,
    table.hyakugo-table td {
        width: 100%;
        display: block;
        padding: 18px 14px;
        border-top: none;
        text-align: left;
    }

    table.hyakugo-table {
        border-bottom: none;
    }

    .imp-title-wrap,
    .imp-title-wrap h2 {
        font-size: min(4.8vw, 20px);
    }

    .imp-news-wrap a.text-link,
    .footer-link-wrap a,
    .footer-link-wrap a.text-link,
    .footer-link-bottom a {
        font-size: min(3.2vw, 14px);
    }

    .footer__inner {
        flex-direction: column;
        width: 90%;
        padding-top: 30px;
    }

    .footer_left {
        flex-direction: column;
        gap: 30px;
        width: 100%;
    }

    .footer-menu-wrap {
        display: flex;
        flex-direction: column;
    }

    .footer-menu-wrap ul {
        padding-left: 1em;
    }

    .footer-content h2 a {
        width: 4em;
    }

    .footer_right {
        width: 100%;
    }

    .footer-link-wrap {
        flex-direction: column;
    }

    .footer_bottom .footer-illust {
        width: 100%;
    }

    .footer_bottom .footer-illust img {
        width: 200%;
        height: auto;
        object-fit: cover;
        object-position: center;
        translate: -25% 0;
    }

    .footer__address p {
        font-size: min(3.2vw, 12px);
    }

    .pagination .nav-links .page-numbers.next a::after,
    .pagination .nav-links .page-numbers.prev a::after {
        height: 1.4em;
        width: 1.4em;
    }

    .l-breadcrumb a,
    .l-breadcrumb span {
        font-size: min(3.73vw, 16px);
    }

    ul.l-breadcrumb__list {
        gap: 0 min(6.4vw, 24px);
        flex-wrap: nowrap;
        align-items: flex-start;
    }

    .l-breadcrumb li:not(:last-of-type) {
        white-space: nowrap;
    }

    .l-breadcrumb li:not(:last-of-type)::after {
        font-size: min(3.73vw, 14px);
        right: -1.4em;
    }

    li.list-number {
        margin-left: 2em;
    }

    .contact-content {
        font-size: min(3.2vw, 14px);
    }

    /*--------------------------------------------------
モーダル
--------------------------------------------------*/
    .modal-inner-contents {
        padding: 20px 16px;
    }

    .modal-close {
        width: 30px;
        top: -46px;
        right: 2px;
    }

    .modal-ttl {
        font-size: min(5.33vw, 22px);
    }

    .modal-body {
        flex-direction: column;
        row-gap: 10px;
        margin-top: 14px;
    }

    .modal-card {
        width: 100%;
        padding: 16px;
    }

    /*--------------------------------------------------
merchant
--------------------------------------------------*/
    #merchant .page-content-inner {
        flex-direction: column;
    }

    #merchant .merchant-content {
        width: 100%;
    }

    #merchant .merchant-img {
        height: 48vw;
    }

    #merchant .list-wrapper {
        flex-direction: column;
    }

    #merchant .list-wrapper ul {
        width: 100%;
    }

    #merchant .list-wrapper ul:last-child {
        margin-top: 10px;
    }

    #merchant .comments {
        text-align: left;
    }

    /*--------------------------------------------------
お問い合わせ
--------------------------------------------------*/
    #contact-page .bg-white-box {
        padding-top: 10px;
    }

    /*--------------------------------------------------
紛失・盗難
--------------------------------------------------*/
    #lost-page .bg-white-box .flex-box {
        flex-direction: row;
    }

    /*--------------------------------------------------
よくある質問
--------------------------------------------------*/
    .faq-page .link-btn-wrap {
        row-gap: 12px;
    }

    .faq-page .link-btn-wrap a {
        width: fit-content;
        min-width: 234px;
    }

    .faq-page .flex-box.tel {
        flex-direction: row;
    }

    #faq .btn-red,
    #faq .btn-blue,
    #faq .btn-green,
    .faq-page .btn-red,
    .faq-page .btn-blue,
    .faq-page .btn-green {
        font-size: min(3.73vw, 16px);
        padding: 0.6em 2.6em;
    }

    #faq .btn-arrow::after,
    .faq-page .btn-arrow::after {
        right: 20px;
    }

    /*--------------------------------------------------
会社概要
--------------------------------------------------*/
    #company .normal-table th,
    #company .normal-table td {
        padding: 0;
    }

    #company .normal-table tr:nth-of-type(n+2) th {
        margin-top: 1em;
    }

    /*--------------------------------------------------
ポイント
--------------------------------------------------*/
    #point .title_2_blue {
        align-items: center;
        gap: 10px;
        line-height: 1.4;
    }

    #point .catch-copy {
        text-align: center;
    }

    /*--------------------------------------------------
お支払方法
--------------------------------------------------*/
    #payment .bg-white-box .width_l,
    #payment .bg-white-box .width_m {
        width: 60%;
        max-width: 300px;
    }

    #payment .content-item.center-btn a {
        margin-left: auto;
        margin-right: auto;
    }

    /*--------------------------------------------------
キャッシング・カードローン
--------------------------------------------------*/
    #loan .cashing-wrap {
        flex-direction: column;
    }

    #loan .cashing-content {
        width: 100%;
    }

    .bg-gray-box {
        padding: 14px;
    }

    .bg-white-box {
        padding: 30px 14px;
    }

    #loan .cashing-content .cashing-img._1 {
        width: 60%;
    }

    #loan .loan-tel-box-left {
        width: 100%;
        margin-bottom: 10px;
    }

    #loan .loan-tel-box-right {
        width: 100%;
    }

    #loan .catch-copy {
        text-align: center;
    }

    #loan .content-item.center-btn a {
        margin-left: auto;
        margin-right: auto;
    }

    #loan table {
        border: none;
    }

    #loan table th,
    #loan table td {
        width: 100%;
        display: block;
    }

    .accordion-arrow .arrow::before,
    .accordion-arrow .arrow::after {
        height: 10px;
    }

    #loan .contact-wrapper .catch-copy {
        font-size: min(4.8vw, 20px);
    }

    /*--------------------------------------------------
ギフトカード
--------------------------------------------------*/
    #giftcard .comments {
        text-align: left;
    }

    #giftcard .catch-copy {
        text-align: center;
    }

    /*--------------------------------------------------
その他
--------------------------------------------------*/
    .btn-arrow.btn-blue::after {
        content: "";
        position: absolute;
        top: 50%;
        right: min(5.33vw, 20px);
        width: min(3.73vw, 14px);
        height: min(3.73vw, 14px);
        translate: 0 -50%;
        transition: all .3s;
        background-image: url(../img/common/btn/btn-arrow-blue.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .news-section .btn-arrow.btn-blue::after {
        right: min(4.8vw, 18px);
        width: min(3.73vw, 14px);
        height: min(3.73vw, 14px);
    }

    .btn-arrow.btn-red::after {
        content: "";
        position: absolute;
        top: 50%;
        right: min(5.33vw, 20px);
        width: min(3.73vw, 14px);
        height: min(3.73vw, 14px);
        translate: 0 -50%;
        transition: all .3s;
        background-image: url(../img/common/btn/btn-arrow-red.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .btn-arrow.btn-green::after {
        content: "";
        position: absolute;
        top: 50%;
        right: min(5.33vw, 20px);
        width: min(3.73vw, 14px);
        height: min(3.73vw, 14px);
        translate: 0 -50%;
        transition: all .3s;
        background-image: url(../img/common/btn/btn-arrow-green.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .btn-page.btn-blue::after {
        content: "";
        position: absolute;
        top: 50%;
        right: min(5.33vw, 20px);
        width: min(3.73vw, 14px);
        height: min(3.73vw, 14px);
        translate: 0 -50%;
        transition: all .3s;
        background-image: url(../img/common/btn/btn-page-blue.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    .btn-red,
    .btn-blue,
    .btn-green {
        font-size: min(3.73vw, 16px);
        height: auto;
        min-width: 16em;
        max-width: 330px;
    }

    .header-logo {
        width: 40%;
    }

    .list-dot {
        line-height: 1.6;
        padding-left: 1.4em;
    }

    .list-dot::before {
        width: min(1.6vw, 6px);
        height: min(1.6vw, 6px);
        top: 0;
        left: .7em;
        translate: -50% 0.6em;
    }

    .hamburger-nav {
        font-size: min(4.27vw, 18px);
    }

    .hamburger-nav ul.link-wrap.box-link li a {
        padding: min(3.73vw, 14px) min(3.2vw, 12px);
    }

    .hamburger-nav ul.link-wrap li a.merchant::after {
        right: min(2.67vw, 10px);
    }

    .merchant-top-page .faq .accordion-content a.btn-green {
        min-width: 18em;
    }

    #lost-page .bg-white-box .btn-blue {
        min-width: 19em;
    }

    a.btn-blue.btn-page {
        min-width: 19em;
    }


    /*--------------------------------------------------
ニュース&キャンペーン詳細ページ
--------------------------------------------------*/
    .single-page .section-wrap h2 {
        font-size: min(5.33vw, 22px);
        margin-bottom: 25px;
    }

    .single-page .section-wrap h3 {
        font-size: min(4.8vw, 20px);
        padding-left: min(4.27vw, 18px);
        padding-top: min(4.27vw, 18px);
    }

    .single-page .section-wrap h3:before {
        width: min(9.07vw, 36px);
        height: min(9.07vw, 36px);
        top: min(4.8vw, 20px);
    }

    .single-page .section-wrap h4 {
        font-size: min(3.73vw, 16px)
    }
}