/*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;}
.fw_bold {font-weight: bold;}
.fw_normal {font-weight: normal;}
.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;}
.fs26 {font-size: 26px;}
.fs28 {font-size: 28px;}
.fs30 {font-size: 30px;}
.fs33 {font-size: 33px;}
.fs36 {font-size: 36px;}
.fs38 {font-size: 38px;}
.fs40 {font-size: 40px;}
.fs48 {font-size: 48px;}
.pt0 {padding-top: 0 !important;}
.mt0 {margin-top: 0 !important;}
.dis_inlineblock {display: inline-block;}
/*
全体
*/
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: #ae2626;
    text-align: center;
}
#kv_section .wrapper {
    max-width: 620px;
    margin: 0 auto;
}

/* アコ直 */
.kv_link_container, .kv_btn_container {
  position: relative;
}
.kv_link, .kv_btn {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 auto;
}
  
.kv_link {
    width: 54%;
}
.kv_btn {
    width: 91%;
}


/* 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-bottom: 20px;
}
.fixed_cta_btn {
  padding-left: 20px;
  padding-right: 20px;
}

/************ 3秒スピード診断 ************/
#shindan_section {
  background-color: #F4F1E6;
  padding-bottom: 70px;
}
.inqury_link {
  max-width: 224px;
  width: 90%;
  padding: 20px 0;
  margin: 0 auto;
  text-align: center;
}
.inqury_link a {
  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;
  margin-right: 5px;
  border: 0.5px solid #000;
  padding: 12px;
}
.form3sec_box dd input::placeholder {
  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;
  width: fit-content;
  margin: 20px auto;
}
.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: 260px;
  margin: 0 auto;
  padding: 10px 0;
}

/************ フッター ************/
footer {
  background-color: #E60000;
  padding-bottom: 165px;
  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: #f3f1e6;
    padding: 28px 0 50px;
    position: relative;
}

#present_section .wrapper {
    max-width: 440px;
    width: calc(100% - 30px);
    margin: 0 auto;
    background-color: #fff;
    padding: 0 20px 8px;
    box-shadow: 1px 5px 7px rgba(0, 0, 0, 0.25);
    border-radius: 5px;
}

#present_section .present_title {
    position: absolute;
    width: 100%;
    max-width: 460px;
    top: 43px;
    left: 50%;
    transform: translateX(-50%);
}

/* アコーディオン */
#present_section .condition_section {
    margin-bottom: 13px;
    padding: 107px 0 4px;
}

#present_section .section_title {
    font-weight: bold;
    margin-bottom: 5px;
}
#present_section .section_title span {
    font-weight: normal;
}

#present_section .condition_desc {
    font-weight: bold;
    margin-bottom: 5px;
    margin-top: 10px;
}

#present_section .condition_list {
    padding-left: 0;
    margin-bottom: 15px;
    margin-top: 10px;
    list-style: none;
}

#present_section .condition_list li {
    line-height: 1.6;
    margin-bottom: 8px;
    position: relative;
}

#present_section .condition_list_annotation {
    display: block;
    margin-top: 3px;
  }

  #present_section .condition_list_annotation.indent {
    text-indent: -1rem;
    padding-left: 1rem;
}

#present_section .condition_list_txt {
    display: block;
    margin-top: 18px;
    text-indent: -1rem;
    padding-left: 1rem;
}


#present_section .condition_list_asterisk {
  position: relative;
  top: -5px;
}

#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: 25px;
}
#present_section .accordion_item:last-of-type {
    margin-bottom: 20px;
}

#present_section .accordion_header {
    background-color: #fff;
    color: #000;
    padding: 14px 16px;
    cursor: pointer;
    position: relative;
    border: 3px solid #E60000;
    border-radius: 15px;
    font-size: 24px;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#present_section .accordion_icon {
    color: #E60000;
    font-size: 28px;
    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: 3px solid #E60000;
    border-right: 3px solid #E60000;
    border-bottom: 3px solid #E60000;
    margin-top: 0px;
    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 25px 15px;
    padding: 16px 13px 20px 13px;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
    letter-spacing: -0.05em;
}

#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;
    margin-bottom: 10px;
}

#present_section .accordion_content_inner ul {
    padding-left: 15px;
    margin-top: 5px;
    margin-bottom: 0px;
}

#present_section .accordion_content_inner ol li {
    text-indent: -1em;
    margin-bottom: 10px;
    line-height: 1.5;
}

#present_section .accordion_content_inner ul li {
    margin-bottom: 5px;
    line-height: 1.5;
}

#present_section .accordion_content_inner ul li:last-of-type {
    margin-bottom: 0;
}

#present_section .accordion_content_annotation {
  margin-bottom: 0 !important;
}