@charset "UTF-8";
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  src: url("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.10.1/webfonts/fa-brands-400.woff2") format("woff2");
  font-display: swap; }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  src: url("https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.10.1/webfonts/fa-solid-900.woff2") format("woff2");
  font-display: swap; }
html {
  position: relative;
  min-height: 100%;
  overflow-x: hidden; }

section {
  overflow: hidden; }

body {
  width: 100%;
  padding-top: 0vw;
  padding-bottom: 120px;
  font-size: 16px;
  line-height: 1.5;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo;
  position: relative;
  color: #000; }
  body .wrap {
    max-width: 750px;
    margin: 0 auto;
    position: relative; }

@media screen and (max-width: 767px) {
  body {
    font-size: 3.2vw;
    padding-bottom: 20vw; } }
img {
  width: auto;
  max-width: 100%;
  vertical-align: top; }

a {
  outline: none;
  text-decoration: none;
  transition: 0.3s ease-in-out; }

a:hover {
  text-decoration: none;
  opacity: 0.7;
  transition: 0.3s ease-in-out; }

.loan_fixed {
  width: 100%;
  padding: 5px;
  position: fixed;
  bottom: 0;
  left: 0;
  background: white;
  z-index: 10;
  text-align: center; }
  .loan_fixed .fixed_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between;
    width: 100%;
    padding: 10px 5%; }
    .loan_fixed .fixed_flex a {
      width: 46%;
      display: block;
      margin: 0 auto; }
      .loan_fixed .fixed_flex a img {
        animation-iteration-count: infinite; }

/*=====================================================
ヘッダー
======================================================*/
/*=====================================================
フッター
======================================================*/
footer {
  padding: 30px 0; }
  footer .flexbox {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
    justify-content: space-between; }
    footer .flexbox .left {
      width: 20%; }
    footer .flexbox .right {
      width: 75%; }
      footer .flexbox .right img {
        max-width: 80%;
        margin: 10px 0; }

@media screen and (max-width: 767px) {
  footer {
    padding: 6vw 0; }
    footer .flexbox .right img {
      margin: 2vw 0; } }
/*=====================================================
共通
======================================================*/
.contents_wrap {
  width: 90%;
  margin: 0 auto; }

.mb10 {
  margin-bottom: 10px; }

.gtm-click {
  display: block; }

/*=====================================================
MAIN
======================================================*/
.btn_area {
  padding: 20px 0 30px;
  text-align: center; }
  .btn_area .btn_web {
    margin: 10px 0 0; }
  .btn_area .plan {
    margin: 10px 0 0px;
    font-size: 20px;
    font-weight: bold;
    color: #003366; }
    .btn_area .plan i {
      font-size: 24px; }
    .btn_area .plan em {
      vertical-align: 2px; }

#entry, #kouza {
  background: #fef6c1;
  padding-bottom: 30px;
  text-align: center; }
  #entry .detail_area, #kouza .detail_area {
    background: #ebf6da;
    border-radius: 15px;
    padding-bottom: 20px;
    margin-bottom: 40px;
    filter: drop-shadow(0 0 8px #fce032); }
    #entry .detail_area .pagelink, #kouza .detail_area .pagelink {
      padding: 10px 5%;
      display: block; }

.app_flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  height: auto;
  justify-content: space-between;
  margin-bottom: 10px; }
  .app_flex a {
    width: 48%;
    margin-bottom: 2%; }

#kouza .detail_area {
  background: #e6f4fb; }

#campaign_detail {
  padding: 20px 0 40px; }
  #campaign_detail .detail_box {
    background: #fff;
    width: 100%; }
    #campaign_detail .detail_box img {
      width: 100%; }
    #campaign_detail .detail_box h3 {
      background: #e6e6e6;
      padding: 10px 0 10px 30px;
      margin: 20px 0 0;
      position: relative;
      line-height: 1;
      font-size: 20px;
      font-weight: bold; }
      #campaign_detail .detail_box h3:before {
        content: "";
        width: 5px;
        height: 20px;
        border-radius: 5px;
        background: #fe6634;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 15px;
        margin: auto; }
    #campaign_detail .detail_box .box_padding {
      padding: 10px; }
      #campaign_detail .detail_box .box_padding p span {
        color: #fe6634; }
      #campaign_detail .detail_box .box_padding p strong {
        font-weight: bold;
        font-size: 18px; }
      #campaign_detail .detail_box .box_padding ul li {
        text-indent: -20px;
        margin-left: 20px; }
      #campaign_detail .detail_box .box_padding ul.notice li {
        text-indent: -14px;
        margin-left: 14px; }

#merit {
  background: #fef6c1; }

#contact {
  padding: 40px 0;
  background: #005bab;
  color: #fff;
  text-align: center; }
  #contact .form_box {
    padding: 30px 10px;
    margin: 20px 0;
    font-size: 20px;
    text-align: center;
    background: #fff;
    color: #005bab; }
    #contact .form_box .txt01 {
      display: inline-block;
      background: #005bab;
      color: #fff;
      font-size: 18px;
      padding: 0 20px; }
    #contact .form_box .contact_tel {
      font-size: 50px;
      padding-left: 90px;
      font-weight: bold;
      position: relative;
      display: inline-block;
      color: #005bab;
      text-decoration: none; }
      #contact .form_box .contact_tel:before {
        content: "";
        width: 80px;
        height: 50px;
        background-image: url("../img/common/freedial.svg");
        background-repeat: no-repeat;
        background-size: 100%;
        position: absolute;
        top: 12px;
        left: 0; }

#confirm {
  background: #fbedb1;
  padding: 30px 0;
  text-align: center;
  font-size: 24px; }

.thanks {
  padding: 150px 0;
  text-align: center;
  font-size: 23px;
  border-bottom: 10px #f63 solid; }
  .thanks p {
    margin-bottom: 50px; }

@media screen and (max-width: 767px) {
  .btn_area {
    padding: 4vw 0 5vw; }
    .btn_area .btn_web {
      margin: 2vw 0 0; }
    .btn_area .plan {
      margin: 2vw 0 0px;
      font-size: 4vw; }
      .btn_area .plan i {
        font-size: 4.8vw; }
      .btn_area .plan em {
        vertical-align: 0.4vw; }

  #campaign_detail .detail_box h3 {
    padding: 2vw 0 2vw 6vw;
    margin: 4vw 0 0;
    font-size: 4vw; }
    #campaign_detail .detail_box h3:before {
      width: 1vw;
      height: 4vw;
      border-radius: 1vw;
      left: 3vw; }
  #campaign_detail .detail_box .box_padding {
    padding: 2vw; }
    #campaign_detail .detail_box .box_padding ul li {
      text-indent: -4vw;
      margin-left: 4vw; }
    #campaign_detail .detail_box .box_padding ul.notice li {
      text-indent: -2.8vw;
      margin-left: 2.8vw; }
  #campaign_detail .detail_box .detail_close {
    margin-top: 6vw; }

  #contact {
    padding: 8vw 0; }
    #contact .form_box {
      padding: 4vw 2vw 4vw;
      font-size: 4vw; }
      #contact .form_box .txt01 {
        font-size: 4vw; }
      #contact .form_box .contact_tel {
        font-size: 8vw;
        padding-left: 14vw; }
        #contact .form_box .contact_tel:before {
          width: 12vw;
          height: 8vw;
          top: 2.4vw;
          left: 0; } }
