*{
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body{
    font-size: 1.4rem;
    line-height: 1.4;
    font-family: "Noto Sans JP", serif;
}

ul,ol{
    list-style: none;
}

a{
    text-decoration: none;
}

img{
    max-width: 100%;
}

.fade {
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.main{
    width: 1280px;
    max-width: 90%;
    margin: 0 auto;
}

.br_480{
    display: none;
}

.part-img-sp{
    display: none;
}

.part_title{
    text-align: center;
}

.part_title h2 {
    color: #0078a4;
    font-size: 4.2rem;
    font-weight: 800;
    letter-spacing: 0.84px;
    line-height: 1.4;
}

.part_title h2 span {
    font-size: 0.85em;
}

.common_subtit01{
    font-size: 2.8rem;
}

.common_subtit02{
    font-size: 2.4rem;
}

.common-button{
    width: 376px;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 24px;
    font-size: 2.8rem;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    background-color: #18C38D;
    -webkit-border-radius: 90px;
    -moz-border-radius: 90px;
    border-radius: 90px;
    padding: 32px 20px;
    margin-left: auto;
    margin-right: auto;
}

.common-button p{
    padding-left: 3px;
    text-align: center;
}

.common-button:hover{
    opacity: 0.7;
}

@media only screen and (min-width: 769px){
    #contact{
        width: 1280px;
        max-width: 90%;
        margin: 0 auto;
    }
}


/*-------------site-header----------------*/

.site-header {
    position: fixed;
    z-index: 999;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 24px;
    justify-content: space-between;
    align-items: center;
    padding: 18px 40px 24px;
    border-top: 6px solid #0078a4;
    background-color: #fff;
    font-size: 0;
}

.site-header .logo-box {
    margin: 0 auto 0 0;
}

.site-header .right-header {
    display: flex;
    align-items: center;
    column-gap: 16px;
    order: 2;
}

.site-header.header_border{
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.site-header .company-status-box{
    flex: 1;
    display: flex;
    align-items: center;
    column-gap: 23px;
}

.site-header .company-status {
    color: #000;
    font-size: 1rem;
    line-height: 1.35;
}

.site-header .contact-link {
    width: 160px;
    display: inline-block;
    padding: 16px 24px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 100px;
    background: linear-gradient(90deg, #017eac 0%, #059db0 100%);
    color: #fff;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
}

.site-header .contact-link:hover {
    opacity: 0.6;
}

.site-header .nav-item:hover{
    background-color: #E7F1F5;
}

/*-------------fv-section----------------*/

.fv-section{
    padding: 30px 0 45px;
    background: url(../img/fv-bg.jpg) no-repeat center bottom;
    background-size: cover;
}

.fv-section .fv-left {
    margin-bottom: 40px;
    width: 50%;
}

.fv-section .header-title{
    display: block;
    margin: 0 auto;
}

.fv-section .top-title{
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 1.35;
    color: #000;
    margin-top: 16px;
    text-align: center;
    letter-spacing: -1px;
}

.fv-section .top-title span{
    font-size: 70%;
}

.fv-section .fv-title{
    width: 100%;
    max-width: 600px;
    margin: 15px auto 10px auto;
    background-color: #33c38d;
    border-radius: 15px;
    color: #ffffff;
    text-align: center;
    border: 2px solid #edf9fc;
    padding-bottom: 20px;
}

.fv-section .fv-title h1{
    font-size: 8.3rem;
    font-weight: 900;
}

.fv-section .fv-title .fv-title-posi{
    position: relative;
    display: inline-block;
    font-size: 10rem;
}

.fv-section .fv-title h1 span.fv-title-r{
    font-family: "Roboto", sans-serif;
}

.fv-section .fv-title h1 strong{
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    font-family: "Noto Sans JP", serif;
}

.fv-section .fv-title h1 strong.fv-title-strong01{
    top: 8px;
    font-weight: 400;
    font-size: 2.1rem;
}

.fv-section .fv-title h1 strong.fv-title-strong02{
    bottom: -10px;
    left: -10%;
    width: 120%;
    font-size: 2.6rem;
}

.fv-section .fv-title02{
    font-size: 4.2rem;
    font-weight: 900;
    text-align: center;
    color: #33c38d;
}

.fv-section .fv-brand{
    background-color: #ffffff;
    border-radius: 8px;
    width: 100%;
    max-width: 600px;
    margin: 10px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 35px;
}
.fv-section .fv-brand-tit{
    width: calc(100% - 330px);
    font-size: 1.8rem;
}
.fv-section .fv-brand-img{
    width: 310px;
}
.fv-section .fv-brand-img img{
    display: block;
}

.fv-section .fv-right {
    display: none;
}
.fv-section .fv-right img{
    display: block;
    margin: 0 auto;
}

.fv-section .common-button{
    font-size: 3rem;
    width: 538px;
    padding-top: 18px;
    padding-bottom: 18px;
}
.fv-section .common-button span{
    font-size: 2rem;
    font-weight: normal;
    display: block;
    margin-bottom: 10px;
}
/*-------------reason-section----------------*/
.reason-section{
    background-color: #33c38d;
    color: #fff;
    padding: 60px 0 50px;
}
.reason-section .part_title h2{
    color: #fff;
    font-size: 4.2rem;
}
.reason-section .part_title h2 img{
    display: inline-block;
    vertical-align: middle;
}
.reason-section .part_title h2 strong{
    display: inline-block;
    vertical-align: middle;
    margin-left: 20px;
}
.reason-section .reason_list{
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 30px;
}
.reason-section .reason_list>li{
    width: 27.2%;
}
.reason-section .reason_list>li:last-of-type{
    margin-right: 0;
}
.reason-section .reason_img{
    display: block;
    margin: 0 auto;
}
.reason-section .reason_tit{
    text-align: center;
    font-size: 2.8rem;
    font-weight: bold;
    margin-top: 15px;
}

/*-------------finto-section----------------*/

.finto-section {
    text-align: center;
    line-height: 1.4;
    padding: 40px 0 80px;
    font-size: 0;
    background-color: #F4F4F7;
}

.finto-section .finto-title-wrapper {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
}

.finto-section .finto-heading-accent {
    color: #0078a4;
}

.finto-section .finto-description {
    color: #898989;
    font-size: 0;
    font-weight: 500;
    letter-spacing: 0.48px;
    margin-top: 16px;
}

.finto-section .highlight-text {
    font-weight: 700;
    color: #18c38d;
}

.finto-section .regular-text {
    color: #898989;
}

.finto-section .finto-image {
    margin-top: 40px;
}

/*-------------promotional-section----------------*/

.promotional-section {
    background-color: #fff;
    font-size: 0;
}

.promotional-section.bgblue {
    background-color: #e7f1f5;
}

.promotional-section.bgblue01 {
    background-color: #026386;
}

.promotional-section.bgblue01 .text-primary {
    color: #fff;
}

.promotional-section .promotional-banner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 40px 0;
}

.promotional-section.grayArrow .promotional-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-top: 28px solid #ededed;
    border-bottom: 28px solid transparent;
    border-left: 37px solid transparent;
    border-right: 37px solid transparent;
}

.promotional-section .promotional-text {
    text-align: center;
    font-size: 0;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.46px;
}

.promotional-section .text-primary {
    color: #0078A4;
}

.promotional-section .text-accent {
    font-family: "Roboto", sans-serif;
    color: #18C38D;
    font-size: 4.8rem;
}

.promotional-section .text-accent-small {
    color: #18C38D;
}

.promotional-section .common-button{
    margin-top: 16px;
}

.promotional-section .cta-button-wrapper {
    z-index: 1;
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: center;
    margin-top: 8px;
    gap:16px;
}

.promotional-section .cta-button-wrapper .cta-button:hover{
    opacity: 0.6;
}

/*-------------part_title----------------*/

/*-------------finto payment-section----------------*/

.FP-section{
    background-color: #026386;
    padding: 40px 0 90px;
}

.FP-section .part_title h2{
    color: #ffffff;
}

.FP-section .part_title h2 p{
    padding: 0 67px;
    display: inline-block;
    background: url("../img/FP_Line_left.png"),url("../img/FP_Line_right.png");
    background-repeat: no-repeat;
    background-position: left center,right center;
}

.FP-section .part_title h2 br.sp_br {
    display: none;
}

.FP-centact{
    margin-top: 40px;
}

.FP-list{
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: -18px;
}

.FP-list>li{
    width: 580px;
    max-width: 49%;
    margin-bottom: 18px;
}

/*-------------compare-section----------------*/

.compare-section{
    padding: 40px 0 0;
    font-size: 0;
}

.compare-section .part_titleSub {
    color: #898989;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0.48px;
    margin-top: 16px;
}
.compare-section .part_titleSub .highlight-text {
    font-weight: 700;
    color: #18c38d;
}

.compare_content{
    position: relative;
    overflow-x: auto;
    width: 1240px;
    max-width: 100%;
    margin: 40px auto 0;
}

.compare_content img{
    display: block;
}

@keyframes scroll-hint-appear {
    0% {
        transform: translateX(40px);
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    50%,
    100% {
        transform: translateX(-40px);
        opacity: 0;
    }
}

.compare-section .scroll-hint.is-right-scrollable {
    background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.compare-section .scroll-hint.is-right-scrollable.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.compare-section .scroll-hint.is-left-scrollable {
    background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.compare-section .scroll-hint-icon {
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 60px);
    box-sizing: border-box;
    width: 120px;
    height: 80px;
    border-radius: 5px;
    transition: opacity .3s;
    opacity: 0;
    background: rgba(0, 0, 0, .7);
    text-align: center;
    padding: 20px 10px 10px 10px;
}

.compare-section .scroll-hint-text {
    font-size: 10px;
    color: #FFF;
    margin-top: 5px;
}

.compare-section .scroll-hint-icon:before {
    display: inline-block;
    width: 40px;
    height: 40px;
    color: #FFF;
    vertical-align: middle;
    text-align: center;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url('../img/scroll-point.svg');
}

.compare-section .scroll-hint-icon:after {
    content: "";
    width: 34px;
    height: 14px;
    display: block;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -20px;
    background-repeat: no-repeat;
    background-image: url('../img/scroll-arrow.svg');
    opacity: 0;
    transition-delay: 2.4s;
}

.compare-section .scroll-hint-icon-white {
    background-color: #FFF;
    box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.compare-section .scroll-hint-icon-white:before {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.compare-section .scroll-hint-icon-white:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.compare-section .scroll-hint-icon-white .scroll-hint-text {
    color: #000;
}

/*-------------pricing-section----------------*/

.pricing-section {
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    text-align: center;
    line-height: 1.4;
    justify-content: flex-start;
    padding: 40px 0 80px;
    font-size: 0;
}

.pricing-section .pricing-subtitle {
    font-weight: 500;
    letter-spacing: 0.48px;
    margin: 16px 0 0;
}

.pricing-section .pricing-subtitle-primary {
    color: #0078a4;
}

.pricing-section .pricing-subtitle-highlight {
    color: #18c38d;
    font-weight: 700;
}

.pricing-section .pricing-image {
    margin: 35px auto 0;
}

.pricing-section .pricing-chart {
    margin: 40px auto 0;
}

/*-------------speed-transfer-section----------------*/

.speed-transfer-section {
    background-color: #ededed;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 40px 0 80px;
    font-size: 0;
}

.speed-transfer-section .content-wrapper {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
}

.speed-transfer-section .header-container {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
}

.speed-transfer-section .primary-tit {
    position: relative;
    border-radius: 90px;
    background-color: #0078a4;
    align-self: center;
    color: #ffffff;
    text-align: center;
    letter-spacing: 0.48px;
    padding: 10px 40px;
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
}

.speed-transfer-section .primary-tit::before{
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-top: 9px solid #0078a4;
    border-bottom: 9px solid transparent;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
}

.speed-transfer-section .icon-container {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.speed-transfer-section .main-heading {
    margin-top: 20px;
    line-height: 1.4;
}

.speed-transfer-section .description-text {
    letter-spacing: 0.48px;
    text-align: center;
    margin-top: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.speed-transfer-section .company-txt{
    color: #898989;
}

.speed-transfer-section .company-name {
    color: #18c38d;
    font-weight: 700;
}

.speed-transfer-section .process-image {
    margin-top: 40px;
}

/*-------------testimonials-section----------------*/

.testimonials-section {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    justify-content: start;
    padding-top: 40px;
}

.testimonials-section .testimonials-container {
    display: flex;
    margin-top: 40px;
    width: 100%;
    flex-direction: column;
    justify-content: start;
}
.testimonials-section .testimonial-card {
    border-radius: 16px;
    border: 3px solid #e7f1f5;
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: start;
    margin-top: 24px;
}
.testimonials-section .testimonial-card:first-child {
    margin-top: 0;
}
.testimonials-section .testimonial-header {
    border-radius: 16px 16px 0 0;
    display: flex;
    width: 100%;
    align-items: center;
    gap: 40px;
    font-weight: 800;
    line-height: 1.4;
    justify-content: start;
    padding: 16px;
    flex-wrap: wrap;
}
.testimonials-section .case-info {
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: start;
    margin: auto 0;
}
.testimonials-section .case-number {
    border-radius: 90px;
    background: #0078a4;
    font-size: 1.4rem;
    color: #ffffff;
    width: 54px;
    height: 54px;
    margin: auto 0;
    padding: 0 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.testimonials-section .case-type {
    color: #0078a4;
    font-size: 2.4rem;
    align-self: stretch;
    margin: auto 0;
}
.testimonials-section .case-amount {
    align-self: stretch;
    font-size: 4.2rem;
    color: #18c38d;
    margin: auto 0;
}
.testimonials-section .testimonial-content {
    border-radius: 0 0 16px 16px;
    background: #e7f1f5;
    font-size: 2rem;
    color: #898989;
    font-weight: 500;
    text-align: justify;
    line-height: 28px;
    padding: 16px;
}
.testimonials-section .testimonial-text {
    border-radius: 16px;
    background-color: #ffffff;
    padding: 24px 16px;
}

/*-------------qa-section----------------*/

.qa-section{
    padding: 120px 0 80px;
}

.qa-section .question-answer-list{
    margin-top: 40px;
}
.qa-section .question-answer-container {
    border-radius: 16px;
    border: 3px solid #f0f0f0;
    background: #fff;
    line-height: 1.4;
}

.qa-section .question-answer-container:not(:last-of-type){
    margin-bottom: 24px;
}

.qa-section .qa-content-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: flex-start;
    padding: 21px 74px 21px 32px;
}

.qa-section .question-indicator {
    font-size: 2.4rem;
    color: #2da5d1;
    width: 20px;
    height: 40px;
    flex: none;
    padding-bottom: 3px;
}

.qa-section .question-text {
    font-size: 2rem;
    color: #000;
}

.qa-section .answer-content {
    display: none;
}

.qa-section .answer-content .qa-content-wrapper{
    padding-top: 22px;
    align-items: flex-start;
}

.qa-section .answer-content .question-indicator{
    font-size: 2.2rem;
}

.qa-section .question-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 32px;
    margin: auto;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.qa-section .question-icon::before,
.qa-section .question-icon::after{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #0078A4;
}

.qa-section .question-icon::before{
    width: 23px;
    height: 3px;
}

.qa-section .question-icon::after{
    width: 3px;
    height: 23px;
}

.qa-section .question-answer-container.openStatus{
    background-color: #0078A4;
    border-color: #0078A4;
    color: #fff;
}

.qa-section .question-answer-container.openStatus .question-text,
.qa-section .question-answer-container.openStatus .question-indicator{
    color: #FFFFFF;
}

.qa-section .question-answer-container.openStatus  .question-icon::before{
    background-color: #fff;
}


.qa-section .question-answer-container.openStatus .question-icon::after{
    display: none;
}

/*-------------footer-section----------------*/

.footer-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px;
    border-top: 6px solid #0078a4;
    width: 100%;
    flex-wrap: wrap;
    gap: 30px;
    font-size: 0;
}

.footer-section .footer-logo{
    margin-right: 40px;
}

.footer-section .footer-nav {
    display: flex;
    gap: 40px;
    align-items: center;
    flex-wrap: wrap;
}

.footer-section .footer-nav-link {
    color: #0078a4;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 0.75px;
    text-decoration: underline;
    text-align: center;
    cursor: pointer;
}

.footer-section .footer-nav-link:hover{
    font-weight: bold;
}

.footer-section .footer-copyright {
    flex: auto;
    color: #898989;
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: 0.6px;
    text-align: right;
}

@media only screen and (max-width: 1400px) {

    /*-------------fv-section----------------*/
    .fv-section .top-title{
        font-size: 2.2vw;
    }

    .fv-section .fv-title h1{
        font-size: 6vw;
    }
    
    .fv-section .fv-title .fv-title-posi{
        font-size: 7vw;
    }
    
    .fv-section .fv-title h1 strong.fv-title-strong01{
        font-size: 1.5vw;
    }
    
    .fv-section .fv-title h1 strong.fv-title-strong02{
        font-size: 1.8vw;
    }
    
    .fv-section .fv-title02{
        font-size: 3vw;
    }
    
}
@media only screen and (max-width: 1200px) {
    @media only screen and (min-width: 1024px){

        /*-------------fv-section----------------*/

        .fv-section .top-title {
            margin-top: 0;
        }

        .fv-section  .text-normal {
            font-size: 2.2rem;
        }

        .fv-section  .text-small {
            font-size: 2rem;
        }

        .fv-section .text-accent {
            font-size: 6.5rem;
        }

        .fv-section .features-grid {
            padding: 20px 0;
            gap: 10px;
            font-size: 2rem;
        }

        .fv-section .feature-card{
            width: 120px;
            height: 120px;
        }
    }
    
    .fv-section .fv-brand{
        padding: 10px 20px;
    }
    
    .fv-section .fv-brand-tit{
        width: calc(100% - 260px);
        font-size: 1.6rem;
    }

    .fv-section .fv-brand-img{
        width: 250px;
    }
}

@media only screen and (max-width: 1024px) {

    /*-------------common----------------*/

    .common-button {
        width: 360px;
        padding: 28px 20px;
        font-size: 2.6rem;
    }

    .common-button img{
        width: 32px;
    }

    /*-------------part_title----------------*/
    .part_title h2 {
        font-size: 4rem;
    }

    .common_subtit01{
        font-size: 2.6rem;
    }

    .common_subtit02{
        font-size: 2.2rem;
    }


    /*-------------promotional-section----------------*/

    .promotional-section .text-accent {
        font-size: 4.6rem;
    }

    /*-------------finto payment-section----------------*/
    .FP-section{
        padding: 40px 0 80px;
    }

    .FP-section .part_title h2 p {
        padding: 0 50px;
        background-size: 32px auto;
    }


    /*-------------speed-transfer-section----------------*/

    .speed-transfer-section .primary-tit {
        font-size: 2.2rem;
    }

    /*-------------testimonials-section----------------*/

    .testimonials-section .case-type {
        font-size: 2.2rem;
    }

    .testimonials-section .case-amount {
        font-size: 4rem;
    }

    .testimonials-section .testimonial-content {
        font-size: 1.8rem;
    }

    /*-------------qa-section----------------*/

    .qa-section {
        padding: 80px 0 80px;
    }

}

@media only screen and (max-width: 1023px) {

    /*-------------site-header----------------*/

    .site-header .logo-box {
        order: 1;
        margin: 0 auto 0 0;
    }

    .site-header .company-status-box {
        flex: auto;
        order: 4;
        width: 100%;
    }

    .site-header .contact-link {
        order: 2;
    }

    .site-header .data-link {
        order: 3;
    }
    /*-------------fv-section----------------*/
    
    .fv-section{
        padding-bottom: 0;
        background-image: url(../img/fv-bg.png);
    }
    
    .fv-section .fv-left {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        margin-bottom: 40px;
        width: 100%;
    }
    
    .fv-section .top-title{
        font-size: 2.6rem;
    }
    
    .fv-section .fv-title h1{
        font-size: 6.2rem;
    }
    
    .fv-section .fv-title .fv-title-posi{
        font-size: 8rem;
    }
    
    .fv-section .fv-title h1 strong.fv-title-strong01{
        top: 5px;
        font-size: 1.6rem;
    }
    
    .fv-section .fv-title h1 strong.fv-title-strong02{
        bottom: -6px;
        font-size: 2rem;
    }
    
    .fv-section .fv-title02{
        font-size: 3.6rem;
    }
    .fv-section .fv-brand{
        justify-content: center;
    }
    .fv-section .fv-brand-tit{
        width: auto;
        margin-right: 20px;
    }
    .fv-section .fv-brand-img{
        width: 280px;
    }
    
    .fv-section .fv-right{
        display: block;
        margin-top: 40px;
    }
    
    /*-------------reason-section----------------*/
    .reason-section .part_title h2{
        font-size: 3.6rem;
    }
    .reason-section .reason_list>li{
        width: 30%;
    }
    .reason-section .reason_list>li{
        margin-right: 5%;
    }
    .reason-section .reason_tit{
        font-size: 2.4rem;
    }

    /*-------------promotional-section----------------*/

    .promotional-section.grayArrow .promotional-banner::before {
        border-top: 24px solid #EDEDED;
        border-bottom: 24px solid transparent;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
    }
}

@media only screen and (max-width: 991px) {

    /*-------------site-header----------------*/

    .site-header .panel-btn{
        display: block;
    }

    .site-header .nav-menu{
        display: none;
        position: fixed;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 999;
        padding: 24px 0;
        background-color: #fff;
    }

    .site-header .nav-item{
        display: block;
        width: 100%;
        border-right: none;
        text-align: center;
        padding: 22px 5%;
        border-bottom: 1px solid #f0f0f0;
    }

    .site-header .nav-wrapper{
        gap: 16px;
    }

}

@media only screen and (max-width: 768px) {

    /*-------------part_title----------------*/
    .part_title h2 {
        font-size: 3.8rem;
    }

    /*-------------site-header----------------*/

    .site-header {
        padding: 15px 5%;
        border-top: 4px solid #0078a4;
        column-gap: 10px;
    }

    .site-header .contact-link {
        width: auto;
        padding: 12px 15px;
        font-size: 1.2rem;
    }

    /*-------------fv-section----------------*/

    .fv-section .fv-left {
        margin-bottom: 30px;
    }

    .fv-section .top-title{
        font-size: 2.2rem;
        margin-top: 10px;
    }

    .fv-section .fv-title h1{
        font-size: 8vw;
    }

    .fv-section .fv-title .fv-title-posi{
        font-size: 10vw;
    }

    .fv-section .fv-title h1 strong.fv-title-strong01{
        font-size: 1.8vw;
    }

    .fv-section .fv-title h1 strong.fv-title-strong02{
        font-size: 2vw;
    }

    .fv-section .fv-title02{
        font-size: 4vw;
    }

    .fv-section .fv-brand{
        display: block;
    }
    .fv-section .fv-brand-tit{
        width: 100%;
        font-size: 1.6rem;
        text-align: center;
    }
    .fv-section .fv-brand-img{
        width: 100%;
    }
    .fv-section .fv-brand-img img{
        margin: 10px auto 0;
    }

    .fv-section .fv-right {
        margin-top: 30px;
    }

    .fv-section .common-button{
        font-size: 2.4rem;
    }
    .fv-section .common-button span{
        font-size: 1.6rem;
    }
    /*-------------reason-section----------------*/
    .reason-section{
        padding: 40px 0;
    }
    .reason-section .part_title h2{
        font-size: 3rem;
    }
    .reason-section .reason_tit{
        font-size: 2rem;
    }
    /*-------------finto payment-section----------------*/
    .FP-section{
        padding: 40px 0 60px;
    }

    .FP-section .part_title h2 p {
        padding: 0 46px;
        background-size: 30px auto;
    }

    /*-------------fcompare-section----------------*/
    .compare-section{
        padding: 40px 0 0;
    }

    /*-------------finto-section----------------*/

    .finto-section {
        padding: 40px 0 60px;
    }

    .finto-section .finto-image {
        margin-top: 30px;
    }

    /*-------------pricing-section----------------*/

    .pricing-section {
        padding: 40px 0 60px;
    }

    .pricing-section .pricing-subtitle {
        margin: 12px 0 0;
    }

    .pricing-section .pricing-image {
        margin: 30px auto 0;
    }

    .pricing-section .pricing-chart {
        margin: 35px auto 0;
    }

    /*-------------speed-transfer-section----------------*/

    .speed-transfer-section {
        padding: 40px 0 60px;
    }

    .speed-transfer-section .process-image {
        margin-top: 30px;
    }

    /*-------------testimonials-section----------------*/

    .testimonials-section .testimonials-container {
        margin-top: 35px;
    }

    .testimonials-section .testimonial-header {
        padding: 12px;
    }

    .testimonials-section .testimonial-content {
        padding: 14px;
    }

    /*-------------qa-section----------------*/

    .qa-section {
        padding: 60px 0;
    }

    .qa-section .qa-content-wrapper {
        padding: 20px 64px 20px 24px;
        gap: 20px;
    }

    .qa-section .question-icon {
        right: 20px;
    }

    .qa-section .answer-content .qa-content-wrapper {
        padding-top: 12px;
        gap: 20px;
    }

    .qa-section .question-text{
        font-size: 1.8rem;
    }

    /*-------------footer-section----------------*/

    .footer-section{
        padding: 40px 5%;
    }
}

@media only screen and (max-width: 767px) {

    /*-------------common----------------*/

    .common_subtit01{
        font-size: 2.4rem;
    }

    .common_subtit02{
        font-size: 2rem;
    }

    /*-------------promotional-section----------------*/

    .promotional-section .text-accent {
        font-size: 4.4rem;
    }

    .promotional-section .cta-secondary{
        margin-top: 5px;
    }

    .promotional-section.grayArrow .promotional-banner::before {
        border-top: 24px solid #EDEDED;
        border-bottom: 24px solid transparent;
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
    }

    .promotional-section .cta-button-wrapper{
        flex-direction: column;
        align-items: center;
        gap: 6px;
    }

    /*-------------speed-transfer-section----------------*/

    .speed-transfer-section .primary-tit {
        font-size: 2rem;
    }

    .speed-transfer-section .primary-tit::before {
        border-top: 7px solid #0078a4;
        border-bottom: 7px solid transparent;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
    }

    /*-------------testimonials-section----------------*/

    .testimonials-section .case-number {
        width: 50px;
        height: 50px;
        padding: 0 2px;
        font-size: 1.2rem;
    }

    .testimonials-section .case-type {
        font-size: 2rem;
    }

    .testimonials-section .case-info {
        gap: 12px;
        margin-right: 15px;
    }

    .testimonials-section .case-amount {
        font-size: 3.8rem;
    }

    .testimonials-section .testimonial-content {
        padding: 12px;
    }

    .testimonials-section .testimonial-text {
        padding: 20px 14px;
    }

    .testimonials-section .testimonial-header {
        gap: 5px;
    }

    /*-------------qa-section----------------*/

    .qa-section .question-answer-list {
        margin-top: 35px;
    }

}

@media only screen and (max-width: 640px) {

    /*-------------fv-section----------------*/

    .fv-section .features-grid{
        font-size: 3.2vw;
        gap: 20px;
    }

    .fv-section .feature-card{
        width: 24vw;
        height: 24vw;
    }

    .fv-section .top-title {
        font-size: 2rem;
    }

    .fv-section .text-highlight {
        font-size: 2.3rem;
    }

    .fv-section  .text-normal {
        font-size: 2.1rem;
    }

    .fv-section  .text-small {
        font-size: 1.9rem;
    }

    .fv-section .text-accent {
        font-size: 5.8rem;
    }

    /*-------------FP-section----------------*/

    .FP-list{
        display: block;
    }

    .FP-list>li {
        width: 100%;
        max-width: 100%;
    }

    /*-------------footer-section----------------*/

    .footer-section {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
    .footer-section .footer-nav {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 16px;
    }
    .footer-section .footer-nav-link {
        text-align: left;
    }
}

@media only screen and (max-width: 540px) {

    /*-------------site-header----------------*/

    .site-header {
        padding: 12px 16px 16px;
        column-gap: 5px;
        row-gap: 15px;
    }

    .site-header .logo-box{
        width: 489px;
    }

    .site-header .company-status-box{
        gap: 16px;
    }

    .site-header .company-status-box .logo{
        width: 120px;
    }

    .site-header .nav-wrapper {
        gap: 10px;
    }

    .site-header .nav-item{
        padding: 22px 16px;
    }

    /*-------------fv-section----------------*/

    .fv-section .top-title{
        font-size: 2rem;
    }

    .fv-section .fv-title h1{
        font-size: 12vw;
    }

    .fv-section .fv-title .fv-title-posi{
        font-size: 15vw;
    }

    .fv-section .fv-title h1 strong.fv-title-strong01{
        top: 0;
        font-size: 4vw;
    }

    .fv-section .fv-title h1 strong.fv-title-strong02{
        font-size: 4.5vw;
        white-space: nowrap;
    }

    .fv-section .fv-title02{
        font-size: 6vw;
    }

    .fv-section .common-button{
        font-size: 2rem;
    }
    .fv-section .common-button span{
        font-size: 1.4rem;
    }
    /*-------------reason-section----------------*/
    .reason-section .part_title h2{
        font-size: 3rem;
    }
    .reason-section .part_title h2 img{
        display: block;
        margin: 0 auto 10px auto;
    }
    .reason-section .part_title h2 strong{
        display: block;
        margin-left: 0;
    }
    .reason-section .reason_list{
        width: 100%;
        display: block;
        justify-content: center;
        margin-top: 30px;
    }
    .reason-section .reason_list>li{
        width: 100%;
        margin-right: 0;
        margin: 0 0 20px 0;
    }
    .reason-section .reason_list>li:last-of-type{
        margin-bottom: 0;
    }
    .reason-section .reason_tit{
        font-size: 1.8rem;
        margin-top: 10px;
    }
}

@media only screen and (max-width: 480px) {

    /*-------------common----------------*/

    /* The client gave us the sp design, so the width went according to the design. */
    .main {
        max-width: calc(100% - 32px);
    }

    .common-button {
        width: 320px;
        padding: 24px 18px;
        font-size: 2.4rem;
    }

    .common-button img{
        width: 28px;
    }

    .part-img-sp{
        display: block;
    }

    .part-img-pc{
        display: none;
    }

    /*-------------part_title----------------*/
    .part_title h2 {
        font-size: 3.6rem;
    }

    .part_title h2 span{
        font-size: 3rem;
    }

    .br_480{
        display: block;
    }


    /*-------------fv-section----------------*/

    .fv-section .features-grid{
        font-size: 3.2vw;
        gap: 10px;
        padding: 20px 0;
    }

    .fv-section .main-heading h1 .top-box{
        flex-direction: column;
    }

    .fv-section .feature-card{
        width: 27vw;
        height: 27vw;
    }

    .fv-section  .text-normal {
        font-size: 1.8rem;
    }

    .fv-section  .text-small {
        font-size: 1.6rem;
    }

    .fv-section .text-accent {
        font-size: 5rem;
    }

    .fv-section .main-heading h1 .top-box{
        column-gap: 0;

    }

    .fv-section .logo-container{
        width: 143px;
    }

    /*-------------finto-section----------------*/

    .finto-section {
        padding: 40px 0 50px;
    }

    /*-------------promotional-section----------------*/

    .promotional-section .text-accent {
        font-size: 4.2rem;
    }

    .promotional-section.grayArrow .promotional-banner::before {
        border-top: 15px solid #EDEDED;
        border-bottom: 15px solid transparent;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
    }

    /*-------------FP-section----------------*/

    .FP-section {
        padding: 40px 0 50px;
    }

    /*-------------compare-section----------------*/


    .compare-section {
        padding: 40px 0 0;
    }

    /*-------------pricing-section----------------*/

    .pricing-section {
        padding: 40px 0 50px;
    }

    .pricing-section .pricing-subtitle {
        margin: 10px 0 0;
    }

    .pricing-section .pricing-image {
        margin: 25px auto 0;
    }

    .pricing-section .pricing-chart {
        margin: 30px auto 0;
    }

    /*-------------speed-transfer-section----------------*/

    .speed-transfer-section {
        padding: 40px 0 50px;
    }

    .speed-transfer-section .primary-tit {
        font-size: 1.8rem;
    }

    .speed-transfer-section .process-image {
        margin-top: 25px;
    }

    /*-------------testimonials-section----------------*/

    .testimonials-section .case-info {
        gap: 10px;
        margin-right: 5px;
    }

    .testimonials-section .case-number {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    /*.testimonials-section .case-type {*/
    /*    font-size: 1.8rem;*/
    /*}*/

    .testimonials-section .case-amount {
        font-size: 3.6rem;
    }

    .testimonials-section .testimonial-header {
        padding: 16px 8px;
    }

    .testimonials-section .testimonial-content {
        font-size: 1.6rem;
        padding: 10px;
    }

    .testimonials-section .testimonial-text {
        padding: 15px 10px;
    }

    /*-------------qa-section----------------*/

    .qa-section {
        padding: 50px 0;
    }

    .qa-section .question-answer-list {
        margin-top: 30px;
    }

    .qa-section .qa-content-wrapper {
        padding: 16px 64px 16px 16px;
        gap: 16px;
    }

    .qa-section .question-icon {
        right: 16px;
    }

    .qa-section .answer-content .qa-content-wrapper {
        padding-top: 12px;
        gap: 20px;
    }

    .qa-section .question-text{
        font-size: 1.6rem;
    }

    .qa-section .question-icon::before{
        width: 20px;
        height: 2px;
    }

    .qa-section .question-icon::after{
        width: 2px;
        height: 20px;
    }

    .qa-section .question-indicator {
        font-size: 2.2rem;
    }

    .qa-section .answer-content .question-indicator{
        font-size: 2rem;
    }

    .qa-section .question-answer-container:not(:last-of-type){
        margin-bottom: 20px;
    }

}

/*-------------hubspot----------------*/

form {
    width: 80%;
    margin: auto;;
    padding-left: 20px;
    padding-right: 20px;
  }
  
  form > div:first-child {
    margin-bottom: 40px;
  }
  
  .hs-input {
    border-width: 1px !important;
    margin: 0 !important;
    font-family: arial, helvetica, sans-serif !important;
    color: rgba(102, 102, 102, 1.0) !important;
    background-color: rgba(245, 248, 250, 1.0) !important;
    border-color: rgba(149, 148, 148, 1.0) !important;
    border-style: solid !important;
    border-radius: 3px !important;
    padding: 10px !important;
    font-size: 1em !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: box-shadow .2s ease !important;
  }
  
  .hs-error-msg {
    font-family: arial, helvetica, sans-serif !important;
    font-size: 1em !important;
    color: #e51520 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  .hs-form-field label {
    margin: 0;
    font-family: arial, helvetica, sans-serif;
    font-size: 1.0em;
    color: rgba(33,45,58,1.0);
    display: block;
    word-break: break-word;
    overflow-wrap: break-word;
    margin-bottom: 10px;
  }
  
  .hs-form-field {
    margin-bottom: 10px;
  }
  
  .hs-field-desc {
    font-size: .8em;
    font-family: arial, helvetica, sans-serif;
    word-break: break-word;
    overflow-wrap: break-word;
    color: rgba(81, 99, 131, 0.89);
    margin-bottom: 10px;
  }
  
  .hs-form-required {
    color: #e51520;
  }
  
  form .actions {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  
  form .actions input {
    width: auto;
    font-family: arial, helvetica, sans-serif;
    font-size: 1em;
    color: rgba(255, 255, 255, 1.0);
    padding: 12px 24px;
    border-radius: 3px;
    background-color: #0078A4;
    background-image: none;
    box-shadow: none;
    font-weight: 700;
    position: relative;
    text-align: center;
    transition: transform .2s ease-out, filter .2s linear, box-shadow .2s;
    cursor: pointer;
    border: 0;
    margin: 0;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  