/*css reset*/
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}a{text-decoration: none;}


/*
共通
*/
.fl_wrap {display: flex;}
.cl_white {color: #fff}
.cl_red {color: #DC0000}
.cl_gray {color: #919191}
.cl_gold {color: #D2B862;}
.fs9 {font-size: 9px;}
.fs10 {font-size: 10px;}
.fs11 {font-size: 11px;}
.fs12 {font-size: 12px;}
.fs13 {font-size: 13px;}
.fs14 {font-size: 14px;}
.fs15 {font-size: 15px;}
.fs16 {font-size: 16px;}
.fs17 {font-size: 17px;}
.fs18 {font-size: 18px;}
.fs19 {font-size: 19px;}
.fs20 {font-size: 20px;}
.fs21 {font-size: 21px;}
.fs22 {font-size: 22px;}
.fs23 {font-size: 23px;}
.fs24 {font-size: 24px;}
.fs25 {font-size: 25px;}
.fs28 {font-size: 28px;}
.fs30 {font-size: 30px;}
.fs33 {font-size: 33px;}
.fs40 {font-size: 40px;}
.fw-normal {font-weight: 400 !important;}
.fw-medium {font-weight: 500 !important;}
.fw-bold {font-weight: 700 !important;}
.fw-black {font-weight: 900 !important;}
.mt-1em {margin-top: 1em;}


/*
全体
*/
body {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    background-color: rgb(145, 14, 20);
    color: #000
}
.page_container {
    width: 100%;
    max-width: 620px;
    margin: 0px auto;
    background-color: #fff;
}

/************ ヘッダー ************/
.header_wrap {
    position: relative;
    display: flex;
    height: 64px;
    background-color: #fff;
    vertical-align: center;
    box-shadow: 0px 4px 4px 0px #0000002E;
    justify-content: space-between;
    align-items: center;
}
.header_wrap .left{
    display: block;
    width: 172px;
    padding: 5px 15px;
    margin-top: 35px;
}
.header_wrap .left img {
    width: 146px;
}
.header_wrap .left img.logo_mufg {
    position: relative;
    top: -38px;
}

.header_wrap .right {
    text-align: right;
    font-size: 11px;
    padding-right: 5px;
}
.header_wrap .right a {
    color: #000;
}

/************ KV ************/
#kv_section {
    background-color: #9d0f11;
    text-align: center;
    padding-bottom: 2%;
}
#kv_section .wrapper {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
}

/* アコ直 */
.kv_page_link a ,.kv_page_link p{
    justify-content: center;
}
.kv_page_link a img {
    width: 49%;
}
.kv_page_link p{
    font-weight: bold;
    font-size: 4vw;
    padding: 12px 0;
}

@media screen and (min-width: 460px) {
    .kv_title_img img {
        padding-left: 60px;
        padding-right: 60px;
    }
    .kv_title_list {
        max-width: 400px;
    }
    .kv_title_list .wrap {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .kv_title_list .wrap:last-child{
        padding-bottom: 40px
    }
    .kv_title_list img {
        width: 72px;
        height: 72px;
        margin-right: 25px;
    }
    .kv_title_list p {
        font-size: 20px;
        letter-spacing: 1.5px;
        line-height: 25px;
    }
    .kv_title_list .fs20 {
        font-size: 25px;
    }
    .kv_title_list .fs30 {
        font-size: 35px;
    }

    .kv_page_link p {
        padding: 18px 0;
        margin: 0 auto;
        font-size: 25px;
    }
    .kv_caution p {
        padding-bottom: 40px;
    }
}

/* CTAボタン（下部固定） */
.cta, .fixed_cta {
    text-align: center;
    position: relative;
    width: 100%;
  }
  .cta {
    max-width: 440px;
    margin: 0 auto;
    margin-top: 20px;
  }
  .fixed_cta {
    display: none;
    bottom:0;
    left: 0;
    z-index: 100;
  
  }
  .fixed {
    display: block;
    position: fixed;
  }
  .fixed_cta_layer {
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.8;
    position: absolute;
    visibility: hidden;
  }
  .dis_block {
    visibility: visible;
  }
  .cta_wrap, .fixed_cta_wrap {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    position: relative;
  }
  .cta_desc, .fixed_cta_desc{
    display: inline-block;
    background-color: #fff;
    border-radius: 40px;
    padding: 3px 12px;
    margin-bottom: 16px;
    font-weight: bold;
    position: relative;
  }
  .cta_desc::before, .fixed_cta_desc::before{
    position: absolute;
    content: "";
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #fff;
  }
  .cta_btn, .fixed_cta_btn {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .fixed_cta_btn {
    padding-left: 20px;
    padding-right: 20px;
  }

/************ 3秒スピード診断 ************/
#shindan_section {
    background-color: #F4E9D2;
    padding: 0 0 70px;
}


.inqury_link {
    max-width: 224px;
    width: 90%;
    padding: 40px 0;
    margin: 0 auto;
    text-align: center;
}
.inqury_link a {
    color: #a09f98;
    text-decoration: underline;
    margin-bottom: 20px;
}

/* 入力フォーム */
#form-3sec {
    max-width: 440px;
    width: calc(100% - 30px);
    margin: 0 auto;
    background-color: #fff;
    padding-bottom: 20px;
    box-shadow: 0px 4px 4px 0px #00000040;
}
#form-3sec h2 img {
    width: 100%;
}
.form3sec_box {
    width: 90%;
    margin: 20px auto;
}
.form3sec_box dl {
    margin-left: 10px;
}
.form3sec_box dt {
    margin-bottom: 5px;
    position: relative;
}
.form3sec_box dt .required_batch {
    background-color: #E60000;
    color: #fff;
    margin-left: 10px;
    position: relative;
    top: -2px;
    padding: 1px 8px;
    letter-spacing: 2px;
}
.form3sec_box dd {
    margin-bottom: 20px;
}
.form3sec_box dd input {
    min-width: 227px;
    width: 85%;
    height: 45px;
    padding: 0 13px;
    margin-right: 5px;
    border: 0.5px solid #000;
}
.form3sec_box dd input::placeholder {
    text-align: left;
    color: #C9C9C9;
}
.form3sec_box dd input:focus::placeholder {
	color: transparent;
}

.form3sec_error {
    font-weight: bold;
    display: none;
}
.form3sec_error.is-active {
    display: block;
}

.form3sec_btn {
    margin-top: 20px;
    text-align: center;
}
.form3sec_btn a {
    display: inline-block;
    background-color: #E60000;
    border-radius: 20px;
    padding: 5px 30px;
    box-shadow: 0px 4px 2px 0px #0000002E;
}

/* モーダル */
.form3sec_modal {
    box-sizing: border-box;
    display: none;
    width: calc(100% - 30px);
    max-width: 400px;
    margin: 0 auto;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 200;
}
.form3sec_modal_close_layer {
    background-color: #000;
    opacity: 0.7;
    box-sizing: border-box;
    width: 500vw;
    height: 500vw;
    position: fixed;
    top: -250vw;
    left: -250vw;
    z-index: 150;
}
.form3sec_title {
    z-index: 170;
    position: relative;
}
.form3sec_modal_close_btn {
    position: absolute;
    top: -18px;
    right: 3px;
    width: 17px;
    z-index: 150;
}
.form3sec_modal_box {
    background-color: #fff;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 20px;
    z-index: 170;
    position: relative;
}
.form3sec_modal_title {
    margin-bottom: 20px;
    font-weight: bold;
}
.form3sec_modal_text .cl_red {
    font-weight: bold;
}
.form3sec_modal_text .tx_bold {
    font-weight: bold;
}
.form3sec_modal_text p {
    width: 313px;
    margin-left: auto;
    margin-right: auto;
}
.form3sec_modal_text ul {
    text-align: left;
    margin-bottom: 20px;
}
.form3sec_modal_text .caution {
    font-weight: bold;
    margin-top: 40px;
    margin-bottom: 40px;
}

.form3sec_modal_btn {
    margin: 30px auto 20px auto;
    width: 210px;
}
.form3sec_modal_close {
    text-decoration: underline;
    color: #919191;
}

/************ 借りるならアコム一択 ************/
#merit_section {
    background-color: #E60000;
    position: relative;
    padding-bottom: 40px;
}
#merit_section h3 {
    position: relative;
    max-width: 315px;
    width: 100%;
    margin: 0 auto;
    top: -50px;
}
#merit_section .wrapper {
    background-color: #fff;
    border-radius: 15px;
    width: calc(100% - 30px);
    max-width: 440px;
    margin: 0 auto;
    position: relative;
    top: -30px;
}
.point {
    padding: 30px 5px 20px 8px;
}
.point_wrap {
    align-items: center;
    justify-content: flex-start;
}
.point_wrap .left {
    width :93px;
    margin-right: 2%;
    text-align: center;
    position: relative;
    top: 3px;
}
.point1 .left {
    top: -6px;
}
.point1 .left img {
    margin-top: 25px;
}
.points .cl_gold {
    padding-left: 8px;
    padding-right: 5px;
    font-weight: bold;
}
.points img {
    margin-top: 5px;
}
.points h4 {
    margin-bottom: 5px;
}
.points .caution {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

/* たった2stepでお借入 */
.steps {
    width: 95%;
    max-width: 345px;
    position: relative;
    margin: 0 auto;
    padding-bottom: 40px;
}
.steps h4 {
    width: 284px;
    margin: 0 auto;
    padding: 20px 0;
}
.step_no {
    display: inline-block;
    margin: 0 auto;
    border-radius: 15px;
    width: 91px;
    height: 27px;
    border: 1px solid #E60000;
    font-weight: bold;
    text-align: center;
    line-height: 23px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 15px;
}

.step_wrap {
    background-color: #F4F1E6;
    border-radius: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0 auto;
}
.step_wrap .left {
    width: 120px;
    padding: 10px;
    margin-right: 10px;
}
.step1 .left .bg_img {
    width: 110px;
    height: 110px;
    background-image: url("../img/smartphone.jpeg");
    background-size: cover;
}
.step2 .left .bg_img {
    width: 110px;
    height: 110px;
    background-image: url("../img/wallet.jpeg");
    background-size: cover;
}
.step_wrap h5 {
    margin: 0;
}
.step_wrap .sub {
    margin-bottom: 20px;
}

.doc_wrap {
    margin-bottom: 30px;
}
.doc_wrap .left{
    width: 99px;
    margin-right: 10px;
}
.doc_wrap .left .bg_img_doc {
    width: 99px;
    height: 90px;
    background-image: url("../img/wancom1.png");
    background-size: cover;
}
.doc_wrap .left .fs15 {
    font-weight: bold;
}
.arrow {
    width: 19px;
    margin: 0 auto 10px auto;
}

@media screen and (min-width:460px) {
    .point_wrap {
        padding-left: 30px; 
    }
}

/************ q&a ************/
#qa_section {
    background-color: #F4F1E6;
    padding-top: 40px;
    padding-bottom: 40px;
}
#qa_section h3 {
    max-width: 315px;
    width: 100%;
    margin: 0 auto;
}
.qa_wrap {
    background-color: #fff;
    width: calc(100% - 30px);
    max-width: 440px;
    margin: 30px auto 50px auto;
    border-radius: 15px;
    position: relative;
    padding-bottom: 20px;
    box-shadow: 0px 4px 4px 0px #00000040;
}
.ab_repayment {
    margin: 30px auto 10px auto;
}
.qa_wrap img.img_title {
    position: relative;
    top: -20px;
    width: 247px;
    margin: 0 auto;
}
.qa {
    max-width: 314px;
    width: 98%;
    margin: 0 auto 25px auto;
}
.q {
    padding-bottom: 10px;
    border-bottom: 1px solid #F0D0D0;
    align-items: center;
}
.q .left {
    width: 45px;
    margin-right: 10px;
}
.q .right {
    font-weight: bold;
}

.a {
    margin-top: 15px;
}
.a_main {
    font-weight: bold;
    margin-bottom: 5px;
}
.a a {
    text-decoration: underline;
}

.pagetop-button {
    width: calc(100% - 30px);
    max-width: 440px;
    margin: 0 auto;
    text-align: right;
    margin-bottom: 30px;
}
.pagetop-button span {
    cursor: pointer;
}
.pagetop-button span:hover{
    text-decoration: underline;
}
.pagetop-button img {
    display: inline;
    width: 15px;
    height: 15px;
    position: relative;
    margin-left: 5px;
    top: 3px;
}

/************ ご利用条件 ************/
#req_section {
    background-color: #F4F1E6;
    padding-bottom: 10px;   
}
#qa_section h3 {
    max-width: 340px;
    width: 100%;
    margin: 0 auto;
}
.req_wrap {
    width: calc(100% - 30px);
    max-width: 440px;
    margin: 30px auto 40px auto;
}
#req_section h3 {
    max-width: 340px;
    width: 100%;
    margin: 0 auto;
}
#req_section table {
    width: 100%;
    border-collapse:collapse;
    margin-top: 10px;
    margin-bottom: 30px;
}
#req_section td {
    border: 1px solid #000
}
#req_section td:nth-of-type(1){
	background:#F0D0D0;
    text-align: center;
    padding: 10px;
    width: 127px;
}
#req_section td:nth-of-type(2) {
    background-color: #fff;
    padding: 10px;
}

#req_section .caution {
    text-align: center;
    font-weight: bold;
}
#req_section .caution .cl_red {
    margin-bottom: 15px;
}

/************ 会社情報 ************/
#company_section {
    background-color: #F4F1E6;
    padding-bottom: 40px;   
}
.info {
    background-color: #fff;
    max-width: 440px;
    width: calc(100% - 30px);
    margin: 0 auto;
}
.info ul {
    list-style: none;
    width: 300px;
    margin: 0 auto;
    padding: 10px 0;
}

/************ フッター ************/
footer {
    background-color: #E60000;
    padding-bottom: 180px;
    text-align: center;
}
footer .logo {
    padding-top: 20px;
    padding-bottom: 20px;
}
footer img {
    width: 146px;
    margin: 0 auto;
}
footer img.acom {
    margin-bottom: 5px;
}


#present_section {
    background-color: #F4E9D2;
    padding: 50px 0 0 0;
    position: relative;
}

#present_section .wrapper {
    /* max-width: 620px; */
    max-width: 440px;
    width: calc(100% - 30px);
    margin: 0 auto;
    background-color: #fff;
    padding: 0 15px 30px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
}

#present_section .present_title {
    position: absolute;
    width: 100%;
    /* max-width: 700px; */
    max-width: 500px;
    /* top: 15vw; */
    top: 6%;
    left: 50%;
    transform: translateX(-50%);
}

/* アコーディオン */
#present_section .condition_section {
    margin-bottom: 25px;
    padding: 25vw 10px 10px 10px;
}

#present_section .section_title {
    font-weight: bold;
    margin-bottom: 5px;
}

@media screen and (max-width: 460px) {
    #present_section .section_title {
        font-size: 13px;
    }
}

#present_section .section_title span {
    font-weight: normal;
}

#present_section .condition_desc {
    font-weight: bold;
    margin-bottom: 5px;
    letter-spacing: -0.05em;
}

@media screen and (max-width: 460px) {
    #present_section .condition_desc {
        font-size: 13px;
    }
}

#present_section .condition_list {
    padding-left: 0;
    margin-bottom: 15px;
    list-style: none;
}

@media screen and (max-width: 460px) {
    #present_section .condition_list {
        font-size: 13px;
    }

    #present_section .condition_list_txt {
        font-size: 13px;
    }
}

#present_section .condition_list li {
    line-height: 1.6;
    margin-bottom: 5px;
    position: relative;
}

#present_section .condition_term {
  margin-bottom: 5px;
}

@media screen and (max-width: 460px) {
    #present_section .condition_term {
        font-size: 16px;
    }

    #present_section .condition_term_txt {
        font-size: 13px;
    }
}

#present_section .condition_note {
    line-height: 1.6;
    margin-bottom: 15px;
}
#present_section .pay_logo {
    margin: 14px 0;
    width: 152px;
}

#present_section .pay_logo img {
  width: 100%;
}


#present_section .accordion_item {
    margin-bottom: 55px;
}
#present_section .accordion_item:last-of-type {
    margin-bottom: 30px;
}

#present_section .accordion_header {
    background-color: #fff;
    color: #000;
    padding: 15px;
    cursor: pointer;
    position: relative;
    border: 2px solid #E60000;
    border-radius: 15px;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#present_section .accordion_header_inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#present_section .accordion_icon {
    color: #E60000;
    font-size: 32px;
    line-height: 1;
    display: inline-block;
    transition: transform 0.4s;
}

#present_section .accordion_header.open {
    border-bottom: none;
    border-radius: 15px 15px 0 0;
}

#present_section .accordion_icon.open {
    content: "ー";
}

#present_section .accordion_content {
    background-color: #fff;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out, padding 0.2s ease;
    border-left: 0 solid #E60000;
    border-right: 0 solid #E60000;
    border-bottom: 0 solid #E60000;
    border-radius: 0 0 15px 15px;
    margin-top: 0;
}

#present_section .accordion_content.open {
    padding: 0;
    max-height: 1000px;
    border-left: 2px solid #E60000;
    border-right: 2px solid #E60000;
    border-bottom: 2px solid #E60000;
    margin-top: -2px;
    background-color: #FFF;
    transition: max-height 0.4s ease-out, padding 0.4s ease;
}

#present_section .accordion_content_inner {
    background-color: #eee;
    margin: 0 15px 40px 15px;
    padding: 20px 15px 30px 15px;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
    letter-spacing: -0.03em;
}

@media screen and (max-width: 460px) {
    #present_section .accordion_content_inner {
        font-size: 13px;
    }
}

#present_section .accordion_content_inner.inner2 {
    margin-bottom: 15px;
    font-feature-settings: "palt";
}

#present_section .accordion_content:not(.open) .accordion_content_inner {
    opacity: 0;
    transform: translateY(-10px);
}

#present_section .accordion_content_inner ol {
    list-style: none;
    padding-left: 0;
    margin-top: 0;
}

#present_section .accordion_content_inner ul {
    padding-left: 20px;
}

#present_section .accordion_content_inner ol li {
    /* text-indent: -1em; */
    /* padding-left: 1em; */
    margin-bottom: 10px;
    line-height: 1.5;
}

#present_section .accordion_content_dl + .accordion_content_dl {
    margin-top: 2.5em;
}

#present_section .accordion_content_dt {
    margin-bottom: 0.2em;
}

@media screen and (max-width: 460px) {
    #present_section .accordion_content_dd {
        font-size: 13px;
    }
}

#present_section .accordion_content_inner ul li {
    line-height: 1.6;
}

#present_section .accordion_content_link {
    text-decoration: underline;
}

#present_section .accordion_content p {
    margin-bottom: 15px;
    line-height: 1.25;
}

#present_section p.accordion_content_caution {
    margin-bottom: 0;
    line-height: 1.6;
    text-indent: -1em;
    padding-left: 1em;
}

@media screen and (min-width: 620px) {
    #present_section .present_title {
        top: 75px;
    }
    #present_section .condition_section {
        padding-top: 140px;
    }
}