@font-face {
    font-family: 'HiraKakuProN';
    src: url(../fonts/HiraKakuProN-W4-AlphaNum-01.otf) format("opentype");
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'HiraKakuProN';
    src: url(../fonts/HiraKakuProN-W6-AlphaNum-01.otf) format("opentype");
    font-weight: bold;
    font-display: swap;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #333;
    font-size: 62.5%;
    font-family: "HiraKakuProN", sans-serif;
    font-weight: normal;
    scroll-behavior: smooth;
    line-height: 1.5;
    overflow-x: hidden;
}

body {
    font-size: 16px;
    font-weight: 300;
}

a {
    display: inline-block;
    text-decoration: none;
}

img {
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}

table {
    width: 100%;
}

.img-fit {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sp {
    display: none;
}

section {
    position: relative;
}

:root {
    scroll-padding: calc(var(--header_vh));
    scroll-behavior: smooth;
}

.no-scroll {
    overflow: hidden;
    height: 100vh;
}

/*--------------------------------------------------
header
--------------------------------------------------*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    text-align: left;
    background: #fff;
    z-index: 10;
    line-height: 1;
    filter: drop-shadow(0 7px 5px #00000010);
    font-weight: bold;
}

.header-content {
    width: 96%;
    margin: 0 auto;
}

.header-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.header-logo-wrap {
    display: flex;
    padding-top: 20px;
}

.header-info {
    font-size: 14px;
    margin-top: 50px;
    vertical-align: middle;
}

.header-info img {
    height: 18px;
    width: 18px;
    margin-left: 10px;
    vertical-align: text-bottom;
}

.header-tel {
    font-size: 18px;
    display: inline-block;
}

.header-logo {
    display: block;
    width: 180px;
    height: auto;
    margin-right: 20px;
    margin-bottom: 5px;
}

.header-logo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.card-bland-wrap {
    white-space: nowrap;
    align-content: center;
}

img.card-logo {
    height: 24px;
    width: auto;
    object-fit: contain;
    vertical-align: bottom;
}

.header-content a {
    text-decoration: none;
}

.nav-top {
    height: fit-content;
    display: flex;
    align-items: center;
}

.nav-top-list {
    font-size: 14px;
    display: flex;
    gap: 2.5em;
    margin-right: 30px;
}

.nav-top-list a,
.main-nav a {
    transition: color .3s;
}

@media (any-hover: hover) {

    .nav-top-list a:hover,
    .main-nav a:hover {
        color: #DA423E;
    }
}

.color-btn-wrap {
    display: flex;
    gap: 10px;
}

.color-btn-wrap li {
    width: 10.6em;
    text-align: center;
}

.color-btn-wrap li a,
.color-btn-wrap li button {
    padding: 12px 0;
    width: 100%;
    height: fit-content;
    color: #fff;
    border-radius: 0 0 10px 10px;
    line-height: 1;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

.color-btn-wrap li .btn-lost {
    background: #808080;
    border: 2px solid #808080;
    border-top: none;
    transition: all .3s;
}

.color-btn-wrap li .btn-login {
    background: #C69C6D;
    font-weight: bold;
    border: 2px solid #C69C6D;
    border-top: none;
    transition: all .3s;
}

.nav-bottom {
    position: relative;
    margin-bottom: 20px;
}

.main-nav {
    display: flex;
    justify-content: center;
    gap: 2em;
    padding: 8px 0;
}

.gnavi__list {
    position: relative;
}

.gnavi__list a {
    position: relative;
}

.gnavi__list a .nav-arrow {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: 0;
    right: 0;
    translate: 120%;
    text-align: center;
    transition: transform .3s;
}

.gnavi__list a .nav-arrow::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: #DA423E;
    line-height: 1;
    width: 0.5em;
    height: 0.5em;
    border: 2px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
}

@media (any-hover: hover) {
    .gnavi__list:hover a .nav-arrow {
        transform: rotate(180deg);
    }

    .color-btn-wrap li .btn-lost:hover {
        color: #808080;
        background: #ffffff;
    }

    .color-btn-wrap li .btn-login:hover {
        color: #C69C6D;
        background: #ffffff;
        font-weight: bold;
    }
}

.page-tab-wrap {
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    display: flex;
    border-radius: 9999px;
    background: #F2F2F2;
}

.header-logo-wrap .page-tab-wrap {
    display: none;
}

.page-tab-wrap li {
    width: 6em;
    text-align: center;
}

.hamburger-menu {
    display: none;
}

.dropdown__lists {
    display: none;
    /*デフォルトでは非表示の状態にしておく*/
    width: 16em;
    position: absolute;
    top: 100%;
    left: 0;
    border-radius: 20px;
    overflow: hidden;
    z-index: 9999;
    padding-top: 30px;
}

@media (any-hover: hover) {
    .gnavi__list:hover .dropdown__lists {
        display: block;
        /*Gナビメニューにホバーしたら表示*/
    }
}

.dropdown__list {
    background-color: #ffffff;
    height: 60px;
    position: relative;
    padding: 6px 5%;
}

.dropdown__list:first-child {
    border-radius: 20px 20px 0 0;
}

.dropdown__list:not(:first-child)::before {
    content: "";
    width: 90%;
    height: 1px;
    background-color: #333333;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
    z-index: 1;
}

.dropdown__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #333333;
    text-decoration: none;
    position: relative;
    height: 100%;
    background: #fff;
    transition: all .3s;
    border-radius: 6px;
}

.dropdown__list a::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid #DA423E;
    border-left: 2px solid #DA423E;
    transform: rotate(135deg);
    position: absolute;
    right: 15px;
    top: calc(50% - 5px);
}

@media (any-hover: hover) {
    .dropdown__list a:hover {
        background-color: #FDEAED;
        color: #333333;
    }
}

@media screen and (max-width:1400px) {
    .w1400 {
        display: none;
    }

    .nav-bottom {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 40px;
    }

    .page-tab-wrap {
        position: relative;
        width: fit-content;
        right: auto;
        top: auto;
        translate: none;
    }
}


.hamburger-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 80px 24px 20px;
    background: #ffffff;
    font-size: 16px;
    translate: 0 -100%;
    opacity: 0;
    transition: all .3s;
    z-index: 11;
    height: 100dvh;
    overflow-y: scroll;
}

.hamburger-nav.active {
    translate: 0;
    opacity: 1;
}

.hamburger-nav-inner {
    overflow-y: scroll;
}

.hamburger-nav .color-btn-wrap {
    gap: 20px;
}

.hamburger-nav .color-btn-wrap li {
    width: 50%;
    border-bottom: none;
}

.hamburger-nav .color-btn-wrap li a,
.hamburger-nav .color-btn-wrap li button {
    border-radius: 10px;
    padding: 0.6em 0;
}

.hamburger-nav-personal p {
    text-align: center;
    border: 1px solid #06458c;
    border-radius: 9999px;
}

.hamburger-nav-personal p a {
    padding: 0.4em 0;
    width: 100%;
    height: 100%;
}

.hamburger-nav ul li {
    border-bottom: 1px solid #D1D1D1;
}

.hamburger-nav ul.link-wrap li a {
    position: relative;
    width: 100%;
    padding: 1em 0;
}

.hamburger-nav ul.link-wrap li a::after {
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    background: url(../img/common/link/text-link-arrow-black.svg) no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    right: 10px;
    top: 50%;
    translate: 0 -50%;
}

.hamburger-nav ul.link-wrap li a.business::after {
    background: url(../img/common/link/text-link-arrow-business.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.hamburger-nav ul.link-wrap li a.merchant::after {
    background: url(../img/common/link/text-link-arrow-merchant.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

.hamburger-nav ul.link-wrap.box-link {
    display: flex;
    gap: 10px
}

.hamburger-nav ul.link-wrap.box-link li {
    width: calc((100% - 10px) / 2);
    border-bottom: none;
}

.hamburger-nav ul.link-wrap.box-link li a {
    padding: 1em 1.4em 1em 1em;
    border-radius: 10px;
}

.hamburger-nav ul.link-wrap.box-link li a.business {
    border: 1px solid #6e2b2f;
    color: #6e2b2f;
}

.hamburger-nav ul.link-wrap.box-link li a.merchant {
    border: 1px solid #018240;
    color: #018240;
}

.page-tab-wrap li a {
    padding: 8px 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    transition: all .3s;
}

.top-page .header .page-tab-wrap li a#tab-personal {
    background: #202f55;
    color: #fff;
}

.business-top-page .header .page-tab-wrap li a#tab-business {
    background: #6e2b2f;
    color: #fff;
}

.merchant-top-page .header .page-tab-wrap li a#tab-merchant {
    background: #018240;
    color: #fff;
}

@media (any-hover: hover) {
    .page-tab-wrap li a#tab-personal:hover {
        color: #202f55;
    }

    .page-tab-wrap li a#tab-business:hover {
        color: #6e2b2f;
    }

    .page-tab-wrap li a#tab-merchant:hover {
        color: #018240;
    }
}

@media screen and (max-width:1150px) {
    .w1150 {
        display: none;
    }

    .header-content {
        display: flex;
        gap: 8px;
        height: 60px;
        width: 100%;
    }

    .header-top {
        margin: 0;
        width: 100%;
        padding-left: 10px;
    }

    .header-logo-wrap {
        padding-top: 0;
        width: 100%;
        justify-content: space-between;
        align-items: center;
    }

    .header-logo {
        width: 100%;
        max-width: 120px;
        margin: 0;
    }

    .hamburger-menu {
        display: block;
        height: 60px;
        aspect-ratio: 1 / 1;
        background: #C69C6D;
        align-content: center;
        z-index: 12;
    }

    .hamburger-menu-dot {
        width: 46%;
        height: fit-content;
        margin: 0 auto;
    }

    .header-logo-wrap .page-tab-wrap {
        display: flex;
        position: relative;
        translate: 0;
        top: auto;
        width: fit-content;
        height: fit-content;
    }

    .header-logo-wrap .page-tab-wrap li {
        width: auto;
        font-size: min(3.73vw, 14px);
    }

    .page-tab-wrap li a {
        padding-block: min(2.67vw, 12px) min(2.13vw, 10px);
        padding-inline: min(2.67vw, 14px);
    }
}

/* モーダル */
.header-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

body.body-fixed {
    overflow: hidden;
}

.modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px;
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}

.modal-inner {
    position: relative;
    width: min(100%, 1194px);
    max-height: calc(100vh - 200px);
    margin-inline: auto;
}

.modal-close {
    position: absolute;
    top: -55px;
    right: -3px;
    display: block;
    width: 40px;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    background: url(../img/common/header/imgi_129_icon_close.svg) 0 0 no-repeat;
    background-size: cover;
}

.modal-inner-contents {
    padding: 36px 20px 44px;
    border-radius: 20px;
    background-color: #F8F8F8;
}

.modal-ttl {
    display: block;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.modal-body {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: calc(12 / 1020 * 100%);
}

.modal-card {
    padding: 29px 25px 25px;
    background-color: #fff;
    border-radius: 10px;
}

.modal-term {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}

.modal-term-logo {
    display: block;
    width: 57px;
    flex-shrink: 0;
    overflow: hidden;
}

.modal-dl {
    display: flex;
    margin-top: 30px;
    height: calc(100% - 69px);
}

.modal-dt {
    display: block;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.modal-list-lv1 {
    display: flex;
    gap: 24px;
}

.modal-dd,
.modal-list-lv1-item {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.modal-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.modal-item.modal-item--kojin {
    margin-right: 22px;
}

.modal-item.modal-item--hojin {
    padding-left: 22px;
    border-left: 1px solid #D1D1D1;
}

.modal-item.modal-item--jcb {
    margin-top: 30px;
    gap: 20px;
}

.modal-logo {
    display: block;
    overflow: hidden;
    margin-inline: auto;
    width: 142px;
}

.modal-item--jcb .modal-logo {
    width: 103px;
}



/*--------------------------------------------------
main
--------------------------------------------------*/
.sub-page-title {
    background: url(../img/common/h1/eye-catch-sample.png);
    background-size: cover;
    position: relative;
    width: 100%;
    height: 250px;
    text-align: center;
    margin-top: var(--header_vh);
}

.title_1 {
    font-size: 35px;
    font-weight: 600;
    text-wrap: nowrap;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}

.page-content-inner {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 160px;
}

.title_2_red {
    font-size: 24px;
    font-weight: 600;
    text-align: left;
    border-bottom: 3px solid #DA423E;
    margin-bottom: 40px;
}

.title_2_blue {
    font-size: 24px;
    font-weight: 600;
    text-align: left;
    border-bottom: 3px solid #202f55;
    margin-bottom: 40px;
}

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

.title_3_red {
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    position: relative;
    padding-left: 20px;
    padding-top: 20px;
    margin-bottom: 10px;
}

.title_3_red::before {
    content: "";
    display: block;
    width: 38px;
    height: 38px;
    background: #F8ACB5;
    border-radius: 50%;
    position: absolute;
    top: 20px;
    left: 0;
    translate: 0 -30%;
    z-index: -1;
}

.title_3_blue {
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    position: relative;
    padding-left: 20px;
    padding-top: 20px;
    margin-bottom: 10px;
}

.title_3_blue::before {
    content: "";
    display: block;
    width: 38px;
    height: 38px;
    background: #C4E4F7;
    border-radius: 50%;
    position: absolute;
    top: 20px;
    left: 0;
    translate: 0 -30%;
    z-index: -1;
}

.title_4_red {
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    background: #FCE2E5;
    padding: 10px;
    margin-bottom: 10px;
    line-height: 1;
}

.title_4_blue {
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    background: #E9F8FF;
    padding: 10px;
    margin-bottom: 10px;
    line-height: 1;
}

.indent_s {
    padding-left: 1em;
    padding-right: 1em;
}

.catch-copy {
    font-size: 20px;
    font-weight: 600;
    color: #C69C6D;
}

.right-text {
    text-align: right;
}

.center-text {
    text-align: center;
}

.red-text {
    font-weight: 600;
    color: #DA423E;
}

.blue-text {
    font-weight: 600;
    color: #06458c;
}

.text-box {
    font-size: 18px;
    text-align: left;
}

.text-box::after {
    content: "";
    display: block;
    width: 13%;
    height: 1px;
    background: #707070;
    margin: 45px auto 0;
}

.border-text-box {
    text-align: left;
    padding: 30px;
    border: 5px solid #F9E2DC;
}

.tel-box {
    font-size: 14px;
    font-style: normal;
    color: #E60012;
    background: #FFD9DC;
    padding: 10px;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 710px;
    max-width: 90%;
}

.tel-number {
    font-size: 26px;
    font-weight: 600;
}

.note-box {
    text-align: left;
    color: #fff;
    padding: 20px;
    background: #DA423E;
    border-radius: 5px;
    width: 710px;
    max-width: 90%;
}

.note-title {
    font-weight: 600;
    margin-bottom: 10px;
    margin-left: -2px;
}

table.hyakugo-table {
    width: 100%;
    border-bottom: 1px solid #CECECE;
    border-spacing: 0;
    text-align: left;
}

table.hyakugo-table td {
    padding: 20px;
    border-top: 1px solid #CECECE;
    align-content: center;
}

table.hyakugo-table th {
    border-top: 1px solid #CECECE;
    width: 21.67%;
    text-align: center;
    padding: 20px;
    align-content: center;
}

.table-gray {
    background: #EBEBEB;
}

table.normal-table {
    width: 100%;
    border-bottom: none;
}

table.normal-table td {
    padding: 0;
    border-top: none;
}

table.normal-table th {
    background: none;
    border-top: none;
    width: 8em;
    text-align: left;
    padding: 0;
    font-weight: normal;
    align-content: baseline;
}

#corp_compare table.hyakugo-table td:nth-child(n+2) {
    border-left: 1px solid #CECECE;
}

ul,
ol {
    list-style: none;
    text-decoration: none;
}

.list-dot {
    position: relative;
    padding-left: 20px;
    line-height: 1.8;
}

.list-dot::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 10px;
    translate: -50% 0.7em;
}

.list-red::before {
    background: #DA423E;
}

.list-blue::before {
    background: #0069B1;
}

.list-black::before {
    background: #333333;
}

.list-dot_s::before {
    width: 5px;
    height: 5px;
}

.list-dot a {
    text-decoration: none;
    transition: all .3s;
    font-weight: 600;
}

@media (any-hover: hover) {
    .list-dot a:hover {
        color: #DA423E;
        text-decoration: underline;
        text-underline-offset: 4px;
        -webkit-text-decoration: underline;
        -webkit-text-underline-offset: 4px;
    }
}

.list-number {
    margin-left: 20px;
    list-style: auto;
}

.list-number-roman {
    list-style: lower-roman;
}

.comments {
    font-size: 14px;
    text-align: left;
}

.comments::before {
    content: "※";
    display: inline-block;
    margin-right: 5px;
}

.comments._1::before {
    content: "※1";
}

.comments._2::before {
    content: "※2";
}

.comments._3::before {
    content: "※3";
}

.img-column_01 {
    width: 100%;
    height: auto;
    aspect-ratio: 60 / 23;
    object-fit: cover;
}

.img-column {
    width: 100%;
    display: flex;
    gap: 2.6%;
}

.img-column_02 img {
    width: 48.7%;
    aspect-ratio: 3 / 2;
    height: auto;
    object-fit: cover;
}

.img-column_03 img {
    width: 31.6%;
    aspect-ratio: 3 / 2;
    height: auto;
    object-fit: cover;
}

.img-column_04 img {
    width: 23.05%;
    aspect-ratio: 14 / 15;
    height: auto;
    object-fit: cover;
}

.float-left figure {
    float: left;
    width: 31.6%;
    height: auto;
    aspect-ratio: 38 / 33;
    padding: 0 30px 30px 0;
}

.float-left p {
    text-align: left;
    font-size: 15px;
}

.float-right figure {
    float: right;
    width: 31.6%;
    height: auto;
    aspect-ratio: 38 / 33;
    padding: 0 0 30px 30px;
}

figure img {
    object-fit: cover;
}

.float-right p {
    text-align: left;
}

.btn-red {
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    color: #DA423E;
    background: #fff;
    border: 2px solid #DA423E;
    border-radius: 9999px;
    padding: 0.6em 3em;
    transition: all .3s;
    height: fit-content;
    width: fit-content;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-blue {
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    color: #06458c;
    background: #fff;
    border: 2px solid #06458c;
    border-radius: 9999px;
    padding: 0.6em 3em;
    transition: all .3s;
    height: fit-content;
    width: fit-content;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-green {
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    color: #018240;
    background: #fff;
    border: 2px solid #018240;
    border-radius: 9999px;
    padding: 0.6em 3em;
    transition: all .3s;
    height: fit-content;
    width: fit-content;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-arrow.btn-red::after {
    content: url(../img/common/btn/btn-arrow-red.svg);
    position: absolute;
    top: 50%;
    right: 20px;
    translate: 0 -50%;
    transition: all .3s;
}

.btn-arrow.btn-blue::after {
    content: url(../img/common/btn/btn-arrow-blue.svg);
    position: absolute;
    top: 50%;
    right: 26px;
    translate: 0 -50%;
    transition: all .3s;
}

.btn-arrow.btn-green::after {
    content: url(../img/common/btn/btn-arrow-green.svg);
    position: absolute;
    top: 50%;
    right: 26px;
    translate: 0 -50%;
    transition: all .3s;
}

.btn-link.btn-red::after {
    content: url(../img/common/btn/btn-link-red.svg);
    position: absolute;
    top: 50%;
    right: 26px;
    translate: 0 -50%;
    transition: all .3s;
}

.btn-link.btn-blue::after {
    content: url(../img/common/btn/btn-link-blue.svg);
    position: absolute;
    top: 50%;
    right: 26px;
    translate: 0 -50%;
    transition: all .3s;
}

.btn-page.btn-red::after {
    content: url(../img/common/btn/btn-page-red.svg);
    position: absolute;
    top: 50%;
    right: 26px;
    translate: 0 -50%;
    transition: all .3s;
}

.btn-page.btn-blue::after {
    content: url(../img/common/btn/btn-page-blue.svg);
    position: absolute;
    top: 50%;
    right: 26px;
    translate: 0 -50%;
    transition: all .3s;
}

@media (any-hover: hover) {
    .btn-red:hover {
        color: #fff;
        background: #DA423E;
    }

    .btn-blue:hover {
        color: #fff;
        background: #06458c;
    }

    .btn-green:hover {
        color: #fff;
        background: #018240;
    }

    .btn-arrow.btn-red:hover::after {
        content: url(../img/common/btn/btn-arrow-white.svg);
    }

    .btn-arrow.btn-blue:hover::after {
        content: url(../img/common/btn/btn-arrow-white.svg);
    }

    .btn-arrow.btn-green:hover::after {
        content: url(../img/common/btn/btn-arrow-white.svg);
    }

    .btn-link.btn-red:hover::after {
        content: url(../img/common/btn/btn-link-white.svg);
    }

    .btn-link.btn-blue:hover::after {
        content: url(../img/common/btn/btn-link-white.svg);
    }

    .btn-page.btn-red:hover::after {
        content: url(../img/common/btn/btn-page-white.svg);
    }

    .btn-page.btn-blue:hover::after {
        content: url(../img/common/btn/btn-page-white.svg);
    }
}

@media (any-hover: hover) {

    .btn-red:hover .icon::after {
        opacity: 1;
    }

    .btn-blue:hover .icon::after {
        opacity: 1;
    }
}

.thin-btn-red {
    text-decoration: none;
    font-size: 12px;
    color: #fff;
    background: #333333;
    border: 1px solid #333333;
    border-radius: 3px;
    padding: 5px 6px;
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 50px;
    transition: all .3s;
}

.thin-btn-red .icon {
    height: 10px;
    width: auto;
    aspect-ratio: 1 / 1;
}

.thin-btn-red .icon::before,
.thin-btn-red .icon::after {
    content: "";
    height: 100%;
    width: 100%;
    display: block;
    background: url(../img/common/btn/thin-btn-white.svg) no-repeat;
    background-size: contain;
    transition: all .3s;
    position: absolute;
    top: 0;
    left: 0;
}

.thin-btn-red .icon::after {
    background: url(../img/common/btn/thin-btn-black.svg) no-repeat;
    background-size: contain;
    opacity: 0;
}

@media (any-hover: hover) {
    .thin-btn:hover {
        color: #333333;
        background: #fff;
    }

    .thin-btn:hover .icon::after {
        opacity: 1;
    }
}

.in-page {
    text-decoration: none;
    border: 1px solid #DA423E;
    width: 100%;
    padding: 5px 0;
}

.text-link {
    text-decoration: none;
    transition: all .3s;
    position: relative;
    text-underline-offset: 4px;
    text-decoration: underline;
    text-decoration-color: transparent;
    -webkit-text-decoration: underline;
    -webkit-text-decoration-color: transparent;
    -webkit-text-underline-offset: 4px;
}

.text-link.red {
    color: #DA423E;
}

.text-link span {
    position: relative;
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background: url(../img/common/link/text-link-arrow-black.svg) no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 0.6em;
}

.text-link.red span {
    position: relative;
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background: url(../img/common/link/text-link-arrow-red.svg) no-repeat;
    background-size: contain;
    background-position: center;
}

@media (any-hover: hover) {
    .text-link:hover {
        color: #DA423E;
        text-decoration-color: #DA423E;
        -webkit-text-decoration-color: #DA423E;
    }

    .text-link:hover span {
        background: url(../img/common/link/text-link-arrow-red.svg) no-repeat;
        background-size: contain;
        background-position: center;
    }
}

a {
    color: #333333;
}

.link {
    text-underline-offset: 4px;
    transition: all .3s;
    text-decoration: underline;
    text-decoration-color: #333333;
    -webkit-text-decoration: underline;
    -webkit-text-decoration-color: #333333;
    -webkit-text-underline-offset: 4px;
}

@media (any-hover: hover) {
    .link:hover {
        color: #DA423E;
        text-decoration-color: #DA423E;
        -webkit-text-decoration-color: #DA423E;
    }
}

.pdf-link,
.window-link {
    position: relative;
}

.window-link.red {
    color: #DA423E;
}

.pdf-link::after {
    content: "";
    background: url(../img/common/link/pdf-black.svg) no-repeat;
    background-position: center;
    background-size: contain;
    height: 1em;
    width: 1em;
    position: absolute;
    top: 50%;
    right: -1em;
    translate: 25% -50%;
    transition: all .3s;
}

.window-link::after {
    content: "";
    background: url(../img/common/link/window-black.svg) no-repeat;
    background-position: center;
    background-size: contain;
    height: 1em;
    width: 1em;
    position: absolute;
    top: 50%;
    right: -1em;
    translate: 25% -50%;
    transition: all .3s;
}

.window-link.red::after {
    background: url(../img/common/link/window-red.svg) no-repeat;
    background-position: center;
    background-size: contain;
}



@media (any-hover: hover) {
    .pdf-link:hover::after {
        background: url(../img/common/link/pdf-red.svg) no-repeat;
        background-position: center;
        background-size: contain;
    }

    .window-link:hover::after {
        background: url(../img/common/link/window-red.svg) no-repeat;
        background-position: center;
        background-size: contain;
    }
}

.pdf-link-red {
    position: relative;
    color: #DA423E;
}

.pdf-link-red::after {
    content: "";
    background: url(../img/common/link/pdf-red.svg) no-repeat;
    background-position: center;
    background-size: contain;
    height: 1em;
    width: 1em;
    position: absolute;
    top: 50%;
    right: -1em;
    translate: 25% -50%;
    transition: all .3s;
}


.font-b {
    font-weight: bold;
}

.flex-box {
    display: flex;
}

.justify-center {
    justify-content: center;
}

.justify-start {
    justify-content: flex-start;
}

.content-center {
    margin: 0 auto;
}

.gap_s {
    gap: 2%;
}

.gap_m {
    gap: 4%;
}

.gap_l {
    gap: 6%;
}

.row-gap_s {
    row-gap: 10px;
}

.row-gap_m {
    row-gap: 20px;
}

.row-gap_l {
    row-gap: 30px;
}

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

.items-center {
    align-items: center;
}

.align-start {
    align-items: flex-start;
}

.strong-font {
    font-weight: bold;
    margin-bottom: 10px;
}

.space_s {
    margin-top: 10px;
}

.space_sm {
    margin-top: 20px;
}

.space_m {
    margin-top: 30px;
}

.space_l {
    margin-top: 50px;
}

.space_xl {
    margin-top: 100px;
}

.space_left_s {
    margin-left: 10px;
}

.space_left_m {
    margin-left: 20px;
}

.space_left_l {
    margin-left: 30px;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.width_ss {
    width: 20%;
}

.width_s {
    width: 30%;
}

.width_m {
    width: 49%;
}

.width_l {
    width: 80%;
}

.width_half {
    width: 50%;
}

.width_max {
    width: 100%;
}

.img-contain {
    object-fit: contain;
}

.inline-block {
    display: inline-block;
}

.bg-white-box {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #f2f2f2;
    filter: drop-shadow(6px 7px 5px #00000010);
    padding: 40px;
}

.box-shadow {
    border: 1px solid #f2f2f2;
    filter: drop-shadow(6px 7px 5px #00000010);
}

.bg-gray-box {
    background: #F2F2F2;
    border-radius: 10px;
    padding: 25px;
}

.bg-blue-box {
    background: #E9F8FF;
    border-radius: 10px;
    padding: 26px 0;
}

.bg-white {
    background: #fff;
    border-radius: 9999px;
    padding: 0.5em 3em;
    width: fit-content;
    margin: auto;
    color: #C69C6D;
}

.center-line {
    position: relative;
    width: 100%;
    height: 100%;
}

.center-line::after {
    content: "";
    width: 1px;
    height: 100%;
    background: #B3B3B3;
    position: absolute;
    top: 0;
    left: 50%;
    translate: -50% 0;
}

.bg-blue-box .center-line::after {
    content: "";
    width: 1px;
    height: 100%;
    background: #B3B3B3;
    position: absolute;
    top: 0;
    left: 40%;
    translate: -50% 0;
}

@media screen and (max-width:1024px) {
    .bg-white-box {
        padding: 24px;
    }
}

/*--------------------------------------------------
contact
--------------------------------------------------*/
.contact-wrapper {
    width: 95%;
    max-width: 710px;
    text-align: center;
    border: 3px solid #C69C6D;
    border-radius: 5px;
    margin: 0 auto;
}

.contact-title {
    font-size: min(4.8vw, 20px);
    font-weight: 600;
    color: #fff;
    background: #C69C6D;
    padding: 10px;
    text-align: center;
}

.contact-content {
    padding: 30px 10px;
    font-size: 13px;
    font-weight: 400;
}

.contact-content p {
    text-align: center;
}

.contact-company {
    font-size: 16px;
    width: fit-content;
    margin: 0 auto;
}

.contact-tel {
    font-size: 30px;
    font-weight: 700;
    color: #C69C6D;
    text-decoration: none;
    position: relative;
}

@media (any-hover: hover) {
    a.contact-tel:hover {
        color: #C69C6D;
    }
}

.contact-tel span {
    line-height: 1.5;
    height: 100%;
    margin-right: 6px;
    vertical-align: middle;
}

.contact-tel span::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url(../img/common/contact/icon-tel.svg) no-repeat;
    background-position: center;
    background-size: contain;
}

.contact-schedule::after {
    content: "";
    display: block;
    width: 280px;
    height: 1px;
    border-bottom: 1px dashed #707070;
    margin: 20px auto;
}

.contact-wrapper .comments {
    text-align: center;
    font-size: 13px;
}

/*--------------------------------------------------
重要なお知らせ
--------------------------------------------------*/
.imp-news-wrap {
    width: 78.2%;
    padding: 25px 30px;
    border: 2px solid #e70012;
    margin: 116px auto 0;
}

.imp-title-wrap {
    text-align: center;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 20px;
}

.imp-title-img {
    height: 1em;
    width: fit-content;
}

.imp-title-wrap h2 {
    text-align: center;
    margin-bottom: 0;
    font-size: 20px;
}

.imp-list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    font-size: 14px;
}

.imp-list ul {
    width: 50%;
}

.imp-list li:nth-child(n+1) {
    margin-top: 10px;
}

@media (any-hover: hover) {
    .imp-list a:hover {
        text-decoration: underline;
        -webkit-text-decoration: underline;
        text-underline-offset: 4px;
        -webkit-text-underline-offset: 4px;
    }
}

/*--------------------------------------------------
banner
--------------------------------------------------*/
.banner {
    width: 95%;
    max-width: 1200px;
    padding: 0 0 60px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.banner a {
    transition: all .3s;
}

@media (any-hover: hover) {
    .banner a:hover {
        opacity: 0.6;
    }
}

/*--------------------------------------------------
footer
--------------------------------------------------*/
.footer-content {
    margin: 0 auto;
    width: 100%;
    text-align: left;
    position: relative;
    background: #F2F2F2;
}

.footer-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    object-fit: contain;
    z-index: 0;
}

.footer__inner {
    width: min(90%, 1200px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding-top: 120px;
    padding-bottom: 45px;
    gap: 50px;
    position: relative;
    z-index: 1;
}

.footer_left {
    width: 85%;
    display: flex;
    justify-content: space-between;
}

.footer-content h2 {
    text-align: left;
    margin-bottom: 10px;
}

.footer-content a {
    display: block;
    font-weight: 600;
    transition: all .3s;
    width: fit-content;
}

.footer-content a.triangle-right {
    font-weight: 400;
    margin-top: 6px;
}

.triangle-right {
    position: relative;
}

.triangle-right::before {
    content: "";
    display: block;
    background: #C69C6D;
    height: calc(tan(60deg) * 1em / 3);
    width: 0.5em;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    position: absolute;
    top: 50%;
    left: 0;
    translate: -200% -50%;
}

.footer__address {
    text-align: left;
}

.footer__address a {
    transition: all .3s;
}

.footer__address img {
    display: block;
    margin-bottom: 1.0em;
    width: 180px;
    margin-bottom: 10px;
}

.footer__address p {
    font-size: 11px;
    line-height: 1.5em;
}

.footer_right {
    width: 40%;
    text-align: left;
}

.footer_right ul {
    margin-top: 45px;
}

.footer_right ul li {
    background: url(../img/common/footer/footer-arrow.png) left center no-repeat;
    display: inline-block;
    width: 48%;
    padding-left: 15px;
    font-size: 12px;
    line-height: 2.5em;
}

.footer_right ul li a {
    text-decoration: none;
    transition: all .3s;
}

@media (any-hover: hover) {
    .footer__address a:hover {
        opacity: 0.6;
    }

    .footer-content a:hover {
        color: #DA423E;
    }

    .footer-link-wrap a:hover {
        text-decoration: underline;
        text-underline-offset: 4px;
        -webkit-text-decoration: underline;
        -webkit-text-underline-offset: 4px;
    }
}

.footer_bottom {
    background: #fff;
}

.footer-link-wrap {
    width: min(90%, 1200px);
    margin: 0 auto;
    display: flex;
    gap: 20px;
    row-gap: 5px;
    flex-wrap: wrap;
    padding-top: 30px;
    font-size: 14px;
}

.footer_bottom .footer-illust {
    width: min(90%, 1200px);
    margin: 0 auto;
}

.footer-link-wrap a,
.footer-link-bottom a {
    font-weight: 300;
    text-decoration-color: transparent;
    -webkit-text-decoration-color: transparent;
}

.footer-link-wrap a.window-link.link,
.footer-link-wrap a.pdf-link.link {
    margin-right: 1em;
}

.footer-link-bottom {
    padding: 5px 0 30px;
    width: min(90%, 1200px);
    margin: 0 auto;
    font-size: 14px;
}

.copyright {
    text-align: center;
    color: #FFF;
    padding: 1.5em;
    width: 100%;
    font-size: 10px;
    font-weight: 300;
    background: #202f55;
}

.business-top-page .copyright {
    background: #6e2b2f;
}

.merchant-top-page .copyright {
    background: #15422e;
}

/*--------------------------------------------------
パンくずリスト
--------------------------------------------------*/
.l-breadcrumb {
    position: relative;
    margin: 10px 0 80px;
}

.l-breadcrumb ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 34px;
}

.l-breadcrumb li:not(:last-of-type) {
    position: relative;
}

.l-breadcrumb a,
.l-breadcrumb span {
    flex-shrink: 0;
    display: block;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

.l-breadcrumb li a {
    color: #202f55;
}

@media (any-hover: hover) {
    .l-breadcrumb li a:hover {
        text-decoration: underline;
        text-underline-offset: 4px;
        -webkit-text-decoration: underline;
        -webkit-text-underline-offset: 4px;
    }
}

.l-breadcrumb li:not(:last-of-type)::after {
    content: "＞";
    position: absolute;
    top: 50%;
    right: -25px;
    display: block;
    font-size: 14px;
    font-weight: 400;
    transform: translateY(-50%);
}

/*--------------------------------------------------
ページネーション
--------------------------------------------------*/
/* リンクの枠 */
.pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
}

/* 数字のリンク */
.pagination .nav-links .page-numbers {
    display: inline-block;
    text-decoration: none;
    border: 1px solid #C69C6D;
    border-radius: 6px;
    color: #C69C6D;
    transition: background-color 0.3s, color .3s;
    text-align: center;
    align-content: center;
    position: relative;
    width: 3em;
    height: 3em;
    cursor: pointer;
    overflow: hidden;
}

.pagination .nav-links li a {
    width: 100%;
    height: 100%;
    align-content: center;
    color: #C69C6D;
    transition: all .3s;
}

.pagination .nav-links .page-numbers.next a::after {
    content: "";
    height: 1.8em;
    width: 1.8em;
    background: url(../img/common/btn/pagenation-next.png) no-repeat;
    background-size: contain;
    background-position: 50% 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    transition: all .3s;
}

.pagination .nav-links .page-numbers.prev a::after {
    content: "";
    height: 1.8em;
    width: 1.8em;
    background: url(../img/common/btn/pagenation-prev.png) no-repeat;
    background-size: contain;
    background-position: 50% 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    transition: all .3s;
}

/* 現在のページ */
.pagination .nav-links .current {
    background-color: #C69C6D;
    color: #fff;
    cursor: unset;
}

@media (any-hover: hover) {
    .pagination .nav-links li a:hover {
        background-color: #C69C6D;
        color: #fff;
    }

    .pagination .nav-links li.next a:hover::after {
        background: url(../img/common/btn/pagenation-next-white.png) no-repeat;
        background-size: contain;
        background-position: 50% 50%;
    }

    .pagination .nav-links li.prev a:hover::after {
        background: url(../img/common/btn/pagenation-prev-white.png) no-repeat;
        background-size: contain;
        background-position: 50% 50%;
    }
}


/*--------------------------------------------------
CONTACTボックス
--------------------------------------------------*/
.contact-wrapper {
    margin-top: 60px;
}

/*--------------------------------------------------
merchant
--------------------------------------------------*/
#merchant .merchant-content-wrap {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4%;
}

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

#merchant h2 {
    margin-bottom: 20px;
}

#merchant .merchant-img {
    width: 50%;
    height: 290px;
    margin: 0px auto;
    display: flex;
}

#merchant .merchant-content p {
    text-align: left;
}

#merchant .list-wrapper {
    display: flex;
    gap: 2%;
}

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

#merchant li,
#merchant p {
    text-align: left;
}

#merchant .list-wrapper li a {
    display: inline;
}

#merchant .merchant-content_03 .merchant-img {
    width: 25%;
}

#merchant .comments-mark {
    font-size: 80%;
}

#merchant .comments {
    text-align: right;
    margin-top: 15px;
}

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

#loan .cashing-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    width: 50%;
}

#loan .loan-tel-box {
    width: 100%;
    max-width: 660px;
}

#loan .loan-tel-box-left {
    display: flex;
    justify-content: center;
    gap: 0.5em;
    width: 40%;
}

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

#loan .loan-tel-box-right a {
    font-size: min(4.8vw, 20px);
}

#loan .accordion-btn {
    width: 100%;
    color: #fff;
    border-radius: 5px;
    padding: 1em 0;
    text-align: center;
    position: relative;
    cursor: pointer;
}

#loan .accordion-btn.accordion-btn-blue {
    background: #202f55;
}

#loan .accordion-btn.accordion-btn-red {
    background: #DA423E;
}

.accordion-arrow {
    position: absolute;
    top: 50%;
    right: 20px;
    translate: 0 -50%;
}

.accordion-arrow .arrow {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 12px;
    transition: all .3s;
}

.accordion-arrow .arrow::before,
.accordion-arrow .arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1.5px;
    height: 15px;
    border-radius: 9999px;
    background-color: #ffffff;
    transform-origin: 50% 100%;
}

.accordion-arrow .arrow::before {
    transform: rotate(55deg);
}

.accordion-arrow .arrow::after {
    transform: rotate(-55deg);
}

.accordion-btn.active .accordion-arrow .arrow {
    transform: rotate(180deg);
}

.accordion-content {
    display: none;
}

#loan table {
    border-bottom: 1px solid #B3B3B3;
    width: 100%;
}

#loan table th {
    width: 12em;
    text-align: left;
    padding: 0.5em 1em;
    border-top: 1px solid #B3B3B3;
}

#loan table td {
    padding: 0.5em 1em;
    border-top: 1px solid #B3B3B3;
}

.loan-table-blue th {
    background: #E9F8FF;
}

.loan-table-red th {
    background: #FCE6EB;
}

.logo_jfsa {
    width: 90%;
    max-width: 350px;
    display: block;
}

#loan .contact-wrapper .catch-copy {
    font-size: 24px;
}

/*--------------------------------------------------
キャンペーン
--------------------------------------------------*/
#campaign-page .campaign-section {
    translate: 0;
}

#campaign-page .campaign-info-wrap {
    color: #333333;
}

@media (any-hover: hover) {

    #campaign-page .pdf-link:hover::after,
    .news-list .pdf-link:hover::after {
        background: url(../img/common/link/pdf-black.svg) no-repeat;
        background-position: center;
        background-size: contain;
    }

    #campaign-page .window-link:hover::after,
    .news-list .window-link:hover::after {
        background: url(../img/common/link/window-black.svg) no-repeat;
        background-position: center;
        background-size: contain;
    }
}

/*--------------------------------------------------
よくある質問
--------------------------------------------------*/
.faq-page .link-btn-wrap {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px;
    row-gap: 20px;
}

.faq-page .link-btn-wrap a {
    width: calc((100% - 100px) / 3);
    padding: 0 3em;
    height: 3.5em;
    text-wrap: nowrap;
    min-width: 15em;
}

.faq-page #faq_01 ul li:first-child .bg-white-box .btn-blue {
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------
採用情報
--------------------------------------------------*/
#recruit-page .recruit-text-wrap p {
    text-align: center;
}

#recruit-page .recruit-text-wrap p:nth-child(n+2) {
    margin-top: 20px;
}

/*--------------------------------------------------
お支払方法
--------------------------------------------------*/
#payment .bg-white-box .btn-blue {
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------
ポイント
--------------------------------------------------*/
#point .title_2_blue {
    line-height: 1;
    align-items: end;
    padding-bottom: 8px;
}

#point .bg-white-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.modal-card {
    padding: 30px 24px 24px;
    background-color: #fff;
    border-radius: 10px;
    width: 50%;
}

.modal-item.modal-item--jcb,
.modal-item--mydigitalconnect {
    margin-top: 30px;
    gap: 20px;
}

.modal-logo {
    display: block;
    overflow: hidden;
    margin-inline: auto;
    width: 100%;
    height: 100px;
    object-fit: contain;
}

.modal-item--jcb .modal-logo {
    width: 100%;
    height: 100px;
    max-width: 100px;
}

.modal-logo--mydigitalconnect {
    width: 100%;
    height: 100px;
    max-width: 350px;
}

.jcb-point-info a {
    margin-right: 1.5em;
}

/*--------------------------------------------------
紛失・盗難
--------------------------------------------------*/
#lost-page .bg-white-box .btn-blue {
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------
お問い合わせ
--------------------------------------------------*/
#contact-page .red-text {
    font-size: min(4.8vw, 20px);
}

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

/*--------------------------------------------------
ニュース&キャンペーン詳細ページ
--------------------------------------------------*/
.single-page .news-title {
    font-size: min(4.27vw, 28px);
}

.single-page .news-content p:not(:first-child) {
    margin-top: 20px;
}

.single-page .news-title {
    font-size: min(4.27vw, 28px);
}

.single-page .news-content p:not(:first-child) {
    margin-top: 20px;
}

.single-page .section-wrap img {
    max-width: 600px !important;
}

.single-page .section-wrap a {
    text-decoration: underline;
    text-underline-offset: 4px;
    -webkit-text-decoration: underline;
    -webkit-text-underline-offset: 4px;
    transition: all .3s;
}

.single-page .section-wrap div>a {
    margin-top: 20px;
}

.single-page .section-wrap a:hover {
    color: #DA423E;
    text-decoration-color: #DA423E;
    -webkit-text-decoration-color: #DA423E;
}

.single-page .section-wrap h2 {
    font-size: 24px;
    font-weight: 600;
    text-align: left;
    border-bottom: 3px solid #202f55;
    margin-bottom: 40px;
}

.single-page .section-wrap h3 {
    font-size: 20px;
    font-weight: 600;
    text-align: left;
    position: relative;
    padding-left: 20px;
    padding-top: 20px;
    margin-bottom: 10px;
}

.single-page .section-wrap h3:before {
    content: "";
    display: block;
    width: 38px;
    height: 38px;
    background: #C4E4F7;
    border-radius: 50%;
    position: absolute;
    top: 20px;
    left: 0;
    translate: 0 -30%;
    z-index: -1;
}

.single-page .section-wrap h4 {
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    background: #E9F8FF;
    padding: 10px;
    margin-bottom: 10px;
    line-height: 1;
    margin-top: 20px;
}

.single-page .section-wrap strong {
    font-weight: bold;
}