@charset "UTF-8";
.wrap {
  width: 1000px;
  padding: 0 25px;
  margin: 0 auto; }

section.bg {
  padding: 60px 0; }
section.bg_color {
  background: #f2c8c5; }

h1, h2, h3, h4, h5, h6, p, dt, dd, li {
  line-height: 2.1em;
  margin-bottom: 2em;
  font-weight: 500; }

h2 {
  font-size: 2.4rem;
  font-weight: normal;
  letter-spacing: 0.25em;
  line-height: 1em;
  font-weight: 700; }

a {
  text-decoration: none;
  transition: 0.5s; }
  a:hover {
    opacity: 0.5; }

.center {
  text-align: center; }

.right {
  text-align: right; }

dl.table {
  display: flex;
  flex-wrap: wrap;
  border-top: 2px solid #d2392d;
  border-left: 2px solid #d2392d; }
  dl.table dt {
    width: 35%;
    padding: 15px 2em;
    border-bottom: 2px solid #d2392d;
    border-right: 2px solid #d2392d;
    margin: 0;
    background: #b43025;
    color: #FFF; }
    dl.table dt span {
      letter-spacing: 0; }
  dl.table dd {
    width: 65%;
    padding: 15px 3em;
    border-bottom: 2px solid #d2392d;
    border-right: 2px solid #d2392d;
    margin: 0; }

.brsp {
  display: none; }

@media screen and (max-width: 999px) {
  .wrap {
    width: 100%;
    padding: 0 15px; }

  br {
    display: none; }

  dl.table {
    display: block;
    border-top: 1px solid #d2392d;
    border-left: 1px solid #d2392d; }
    dl.table dt {
      width: 100%;
      padding: 10px 2em;
      border-bottom: 1px solid #d2392d;
      border-right: 1px solid #d2392d;
      margin: 0;
      background: #b43025;
      color: #FFF; }
    dl.table dd {
      width: 100%;
      padding: 10px 2em;
      border-bottom: 1px solid #d2392d;
      border-right: 1px solid #d2392d;
      margin: 0; }

  .brsp {
    display: block; } }
/*-----------------------
 header
-------------------------*/
header {
  height: 88px;
  padding-top: 21px;
  padding-bottom: 22px;
  border-bottom: 3px solid #070002;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  background: #FFF; }
  header > div {
    display: flex;
    justify-content: space-between; }
    header > div .h_logo {
      width: 50%; }
      header > div .h_logo h1 {
        margin: 0;
        line-height: 0; }
        header > div .h_logo h1 img {
          height: 40px; }
    header > div .h_contact {
      width: 50%;
      display: flex;
      justify-content: flex-end; }
      header > div .h_contact .h_contact_tel a {
        display: block;
        font-size: 2.4rem;
        text-align: center;
        font-weight: bold;
        color: #000;
        line-height: 1.2em;
        letter-spacing: 0.15em; }
      header > div .h_contact .h_contact_tel p {
        font-size: 1.2rem;
        letter-spacing: 0.1rem;
        font-weight: bold;
        margin: 0;
        line-height: 1em;
        text-align: center; }
      header > div .h_contact .h_contact_form {
        display: table;
        margin-left: 40px;
        margin-top: 4px; }
        header > div .h_contact .h_contact_form a {
          display: table-cell;
          vertical-align: middle;
          display: table-cell;
          width: 158px;
          background: #d2392d;
          font-size: 1.6rem;
          height: 38px;
          color: #FFF;
          text-align: center;
          font-weight: bold;
          vertical-align: middle; }
    header > div .h_contact_sp {
      display: none; }

@media screen and (max-width: 999px) {
  header {
    height: auto; }
    header > div {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      header > div .h_logo {
        width: calc(100% - 145px);
        max-width: 280px; }
        header > div .h_logo h1 {
          margin: 0;
          line-height: 0;
          text-align: center;
          margin-bottom: 0; }
          header > div .h_logo h1 img {
            width: 100%;
            height: auto;
            max-width: 280px; }
      header > div .h_contact {
        display: none; }
      header > div .h_contact_sp {
        display: table;
        width: 145px; }
        header > div .h_contact_sp .h_contact_tel_sp {
          display: table-cell;
          vertical-align: middle;
          padding-left: 50px;
          line-height: 1em; }
          header > div .h_contact_sp .h_contact_tel_sp a {
            display: block; }
            header > div .h_contact_sp .h_contact_tel_sp a img {
              width: 40px; }
        header > div .h_contact_sp .h_contact_form_sp {
          display: table-cell;
          vertical-align: middle;
          padding-left: 15px;
          line-height: 1em; }
          header > div .h_contact_sp .h_contact_form_sp a {
            display: block; }
            header > div .h_contact_sp .h_contact_form_sp a img {
              width: 40px; } }
/*-----------------------
 kaiketsu
-------------------------*/
section.kaiketsu {
  padding: 53px 0 81px; }
  section.kaiketsu h2 {
    font-size: 3.0rem;
    text-align: center;
    margin: 0 0 30px;
    line-height: 1em;
    letter-spacing: 0.2em;
    font-weight: 500; }
  section.kaiketsu p {
    font-size: 1.6rem;
    line-height: 1.5em;
    margin-bottom: calc(2em - 1px); }
  section.kaiketsu .kaiketsu_hukidashi {
    display: inline-block;
    padding: 8px 15px;
    text-align: center;
    font-size: 1.6rem;
    color: #FFF;
    position: relative;
    margin-left: 93px;
    margin-bottom: 26px;
    height: 53px;
    width: 370px;
    letter-spacing: 0.3rem;
    background: url("../images/kaiketsu_txt1.png") no-repeat; }
  section.kaiketsu ul.kaiketsu_kind {
    display: flex;
    justify-content: center; }
    section.kaiketsu ul.kaiketsu_kind li {
      list-style: none;
      width: 222px;
      height: 39px;
      border: 1px solid #000;
      background: #d2392d;
      color: #FFF;
      text-align: center;
      margin-left: 7.5px;
      margin-right: 7.5px;
      padding: 3px;
      font-size: 1.6rem; }
  section.kaiketsu .kaiketsu_img {
    margin-bottom: 52px; }
  section.kaiketsu .riyu_icon {
    display: flex; }
    section.kaiketsu .riyu_icon > div {
      display: table; }
      section.kaiketsu .riyu_icon > div > div {
        display: table-cell;
        width: 280px; }
        section.kaiketsu .riyu_icon > div > div h2 {
          line-height: 1em;
          font-weight: normal;
          letter-spacing: 0;
          line-height: 1em;
          margin-bottom: 0.5em;
          padding: 34px 0 0 30px; }
          section.kaiketsu .riyu_icon > div > div h2 span {
            display: block;
            text-align: right;
            font-size: 1.6rem;
            padding-right: 9px;
            letter-spacing: 0.20rem;
            line-height: 1em;
            padding-left: 20px;
            letter-spacing: 0.1em; }
          section.kaiketsu .riyu_icon > div > div h2 img {
            width: 280px; }
        section.kaiketsu .riyu_icon > div > div p {
          text-align: center;
          letter-spacing: 0.1em;
          line-height: 1em;
          margin: 0 0 0 1em; }
    section.kaiketsu .riyu_icon > ul {
      width: 670px;
      list-style: none;
      display: flex;
      padding-left: 5px;
      padding-right: 5px; }
      section.kaiketsu .riyu_icon > ul li {
        margin: 0 6px;
        background: url("../images/riyu_icon_bg.png") no-repeat;
        background-size: 100%;
        width: 25%;
        aspect-ratio: 1 / 1;
        height: auto;
        color: #FFF;
        position: relative;
        text-align: center; }
        section.kaiketsu .riyu_icon > ul li:nth-child(even) {
          font-size: 1.8rem; }
        section.kaiketsu .riyu_icon > ul li p {
          width: 100%;
          line-height: 1.25em;
          letter-spacing: 0;
          position: absolute;
          top: 55%;
          left: 50%;
          transform: translate(-50%, -55%); }
          section.kaiketsu .riyu_icon > ul li p span {
            display: inline-block;
            margin-top: 0.5em; }
        section.kaiketsu .riyu_icon > ul li:nth-child(even) p {
          font-size: 1.8rem;
          letter-spacing: 0.1em;
          line-height: 1.35em; }
      @media all and (-ms-high-contrast: none) {
        section.kaiketsu .riyu_icon > ul li {
          height: 150px; } }

@media screen and (max-width: 999px) {
  section.kaiketsu h2 {
    font-weight: 900; }
  section.kaiketsu .kaiketsu_hukidashi {
    display: block;
    margin-left: 0;
    text-align: center;
    width: 100%;
    letter-spacing: 0;
    background: url(../images/kaiketsu_txt1.png) no-repeat;
    background-size: 100% 100%; }
  section.kaiketsu ul.kaiketsu_kind {
    display: block; }
    section.kaiketsu ul.kaiketsu_kind li {
      width: 100%;
      margin-left: 0;
      margin-right: 0; }
  section.kaiketsu .riyu_icon {
    display: block; }
    section.kaiketsu .riyu_icon > div {
      display: block;
      width: 100%; }
      section.kaiketsu .riyu_icon > div > div {
        display: block;
        vertical-align: middle;
        width: 100%; }
        section.kaiketsu .riyu_icon > div > div h2 {
          max-width: 280px;
          margin: 0 auto 1em;
          padding: 0; }
        section.kaiketsu .riyu_icon > div > div p {
          margin-bottom: 2em; }
    section.kaiketsu .riyu_icon > ul {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding-left: 0;
      padding-right: 0; }
      section.kaiketsu .riyu_icon > ul li {
        margin: 0 15px;
        background: url("../images/riyu_icon_bg.png") no-repeat;
        background-size: 100%;
        width: calc(50% - 30px);
        max-width: 150px; }
        section.kaiketsu .riyu_icon > ul li br {
          display: block; } }
/*-----------------------
 factoring
-------------------------*/
section.factoring {
  padding: 75px 0 57px 0; }
  section.factoring h2 {
    margin-bottom: 40px; }
  section.factoring p {
    line-height: 2.2em; }
  section.factoring .factoring_type {
    display: flex;
    flex-direction: row-reverse;
    background: #FFF;
    border-radius: 15px;
    padding: 15px 0;
    margin-bottom: 60px; }
    section.factoring .factoring_type:last-child {
      margin-bottom: 0; }
    section.factoring .factoring_type > div {
      width: 50%;
      padding: 0 25px; }
      section.factoring .factoring_type > div dl dt {
        font-size: 2.4rem;
        font-weight: bold;
        text-align: center;
        margin-top: 14px;
        margin-bottom: 26px; }
      section.factoring .factoring_type > div dl dd ol {
        list-style: none; }
        section.factoring .factoring_type > div dl dd ol li {
          position: relative;
          padding-left: 1.5em;
          line-height: 1.6em; }
          section.factoring .factoring_type > div dl dd ol li span {
            position: absolute;
            top: 0;
            left: 0; }
    section.factoring .factoring_type.factoring_type_2sya > div dl dd ol li:last-child {
      padding-left: 3em; }
    section.factoring .factoring_type.factoring_type_3sya > div dl dt {
      margin-top: 9px;
      margin-bottom: 12px; }

@media screen and (max-width: 999px) {
  section.factoring .factoring_type {
    display: block; }
    section.factoring .factoring_type > div {
      width: 100%; }
      section.factoring .factoring_type > div > img {
        width: 100%;
        height: 100%; } }
/*-----------------------
 riyu
-------------------------*/
section.riyu {
  padding-bottom: 38px; }
  section.riyu .riyu_icon {
    display: flex; }
    section.riyu .riyu_icon > div {
      display: table; }
      section.riyu .riyu_icon > div h2 {
        display: table-cell;
        width: 280px;
        margin: auto;
        line-height: 1em;
        padding: 50px 0 0 11px; }
        section.riyu .riyu_icon > div h2 span {
          display: block;
          text-align: right;
          font-size: 1.8rem;
          letter-spacing: 0.1em; }
        section.riyu .riyu_icon > div h2 img {
          width: 280px; }
    section.riyu .riyu_icon > ul {
      width: 670px;
      list-style: none;
      display: flex;
      padding-left: 10px;
      padding-right: 0px;
      padding-top: 5px; }
      section.riyu .riyu_icon > ul li {
        margin: 0 6px;
        background: url("../images/riyu_icon_bg.png") no-repeat;
        background-size: 100%;
        width: 25%;
        aspect-ratio: 1 / 1;
        height: auto;
        color: #FFF;
        position: relative;
        text-align: center; }
        section.riyu .riyu_icon > ul li:nth-child(even) {
          font-size: 1.8rem;
          letter-spacing: 0.1em;
          line-height: 1.35em; }
        section.riyu .riyu_icon > ul li p {
          width: 100%;
          line-height: 1.25em;
          letter-spacing: 0;
          position: absolute;
          top: 55%;
          left: 50%;
          transform: translate(-50%, -55%);
          -webkit-transform: translate(-50%, -55%);
          -ms-transform: translate(-50%, -55%); }
          section.riyu .riyu_icon > ul li p span {
            display: inline-block;
            margin-top: 0.5em; }
      @media all and (-ms-high-contrast: none) {
        section.riyu .riyu_icon > ul li {
          height: 150px; } }
  section.riyu .riyu_kind {
    display: flex;
    padding: 60px 0 40px; }
    section.riyu .riyu_kind div {
      display: table;
      width: 50%; }
      section.riyu .riyu_kind div ul {
        display: table-cell;
        padding-left: 0.5em;
        margin-left: 1em; }
        section.riyu .riyu_kind div ul li {
          font-size: 1.8rem;
          line-height: 1em; }
          section.riyu .riyu_kind div ul li::before {
            content: "・";
            display: inline-block;
            margin-left: -1em; }
      section.riyu .riyu_kind div img {
        width: 100%;
        padding: 0 10%;
        margin-top: -29px; }

@media screen and (max-width: 999px) {
  section.riyu .riyu_icon {
    display: block; }
    section.riyu .riyu_icon > div {
      display: block;
      max-width: 280px;
      margin: auto; }
      section.riyu .riyu_icon > div h2 {
        margin: 0 0 2em; }
    section.riyu .riyu_icon > ul {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding-left: 0;
      padding-right: 0; }
      section.riyu .riyu_icon > ul li {
        margin: 0 15px;
        background: url("../images/riyu_icon_bg.png") no-repeat;
        background-size: 100%;
        width: calc(50% - 30px);
        max-width: 150px; }
        section.riyu .riyu_icon > ul li br {
          display: block; }
  section.riyu .riyu_kind {
    display: block;
    padding: 50px 0; }
    section.riyu .riyu_kind div {
      display: block;
      width: 100%; }
      section.riyu .riyu_kind div ul {
        display: block; }
        section.riyu .riyu_kind div ul li {
          line-height: 1.5em;
          margin-bottom: 1em; }
      section.riyu .riyu_kind div img {
        display: block;
        width: 80%;
        margin: auto;
        margin-top: 0px; } }
/*-----------------------
 form
-------------------------*/
section.form {
  padding: 65px 0 63px; }
  section.form .form_area {
    border: 3px solid #d2392d;
    border-radius: 15px;
    padding: 40px 34px 50px;
    margin: 0 20px;
    background: #FFF; }
    section.form .form_area dl.table dt {
      width: 242px; }
    section.form .form_area dl.table dd {
      width: 592px; }
      section.form .form_area dl.table dd:last-child {
        line-height: 0; }
#contact_form select,
#contact_form input[type="text"], #contact_form textarea {
  width: 315px;
  padding: 5px;
  font-size: 16px;
  font-size: 1.6rem; }
#contact_form input[type="radio"] {
  margin-left: 2em;
  font-size: 16px;
  font-size: 1.6rem; }
  #contact_form input[type="radio"]:first-child {
    margin-left: 0; }
#contact_form textarea {
  width: 535px;
  height: 5.8em; }
#contact_form .contact_form_check {
  text-align: center;
  margin: 2em 0; }
  #contact_form .contact_form_check label, #contact_form .contact_form_check input[type='checkbox'] {
    cursor: pointer;
    margin-right: 1em; }
  #contact_form .contact_form_check label {
    display: inline-block; }
    #contact_form .contact_form_check label .formError {
      margin-left: 0px; }
#contact_form .contact_form_submit {
  margin: 0;
  text-align: center; }
  #contact_form .contact_form_submit button {
    font-size: 2.0rem;
    color: #FFF;
    background: #b43025;
    padding: 3px 9em;
    border-radius: 15px;
    border: none;
    cursor: pointer;
    transition: 0.5s;
    font-weight: 500; }
    #contact_form .contact_form_submit button:hover {
      opacity: 0.5; }

@media screen and (max-width: 999px) {
  section.form .form_area {
    margin: 0;
    padding: 40px 10px 50px; }
    section.form .form_area dl.table dt {
      width: 100%;
      padding: 10px; }
    section.form .form_area dl.table dd {
      width: 100%;
      padding: 10px; }

  #contact_form input[type="text"], #contact_form textarea {
    width: 100%; }
  #contact_form .contact_form_check label {
    display: inline-block; }
  #contact_form .contact_form_submit button {
    padding: 10px 5em; } }
/*-----------------------
 nagare
-------------------------*/
section.nagare {
  padding-bottom: 24px; }
  section.nagare .nagare_flow {
    display: flex;
    flex-direction: row-reverse; }
    section.nagare .nagare_flow > div {
      width: 50%; }
      section.nagare .nagare_flow > div ol {
        list-style: none;
        padding-top: 22px; }
        section.nagare .nagare_flow > div ol li {
          margin-bottom: 68px;
          position: relative; }
          section.nagare .nagare_flow > div ol li::before {
            content: "";
            position: absolute;
            bottom: calc(-45px + -1em);
            left: 50%;
            transform: translate(-50%, -50%);
            display: block;
            width: 35px;
            height: 25px;
            background: url("../images/nagare_step_arr.png") no-repeat; }
          section.nagare .nagare_flow > div ol li:nth-child(2) {
            margin-bottom: 50px; }
            section.nagare .nagare_flow > div ol li:nth-child(2):before {
              content: "";
              position: absolute;
              bottom: calc(-34px + -1em);
              left: 50%;
              transform: translate(-50%, -50%);
              display: block;
              width: 35px;
              height: 25px;
              background: url("../images/nagare_step_arr.png") no-repeat; }
          section.nagare .nagare_flow > div ol li:last-child:before {
            display: none; }
          section.nagare .nagare_flow > div ol li dl {
            margin-bottom: 3em;
            padding: 0 0 0 133px; }
            section.nagare .nagare_flow > div ol li dl dt {
              font-size: 1.6rem;
              font-weight: bold;
              position: relative;
              display: inline-block;
              border-bottom: 1px solid #000;
              margin-bottom: 0;
              margin-top: 5px;
              line-height: 1.5em; }
              section.nagare .nagare_flow > div ol li dl dt img {
                position: absolute;
                width: 90px;
                height: 90px;
                top: 0;
                left: -112px; }
            section.nagare .nagare_flow > div ol li dl dd span {
              letter-spacing: 0.1em; }
      section.nagare .nagare_flow > div > img {
        width: 100%;
        padding: 65px 10% 0 0; }

@media screen and (max-width: 999px) {
  section.nagare {
    padding-bottom: 60px; }
    section.nagare .nagare_flow {
      display: block; }
      section.nagare .nagare_flow > div {
        width: 100%; }
        section.nagare .nagare_flow > div > img {
          width: 60%;
          padding: 0;
          margin: auto;
          display: block; } }
/*-----------------------
 qa
-------------------------*/
section.qa h2 {
  padding-bottom: 15px; }
section.qa .qa_list {
  display: table; }
  section.qa .qa_list > div:first-child {
    width: 560px; }
    section.qa .qa_list > div:first-child dl dt {
      background: #FFF;
      font-size: 1.8rem;
      padding: 7px 1em 7px 2em;
      margin-bottom: 5px;
      line-height: 1em; }
      section.qa .qa_list > div:first-child dl dt:before {
        content: "Q ";
        color: #b43025;
        margin-left: -1em; }
    section.qa .qa_list > div:first-child dl dd {
      padding: 0.2em 0 0em 3em;
      width: 950px;
      line-height: 1.5em; }
  section.qa .qa_list > div:last-child {
    display: table-cell;
    width: 390px;
    padding: 0 0 0 8%;
    vertical-align: bottom; }
    section.qa .qa_list > div:last-child img {
      width: 85%;
      margin-bottom: 20px; }

@media screen and (max-width: 999px) {
  section.qa .qa_list {
    display: block; }
    section.qa .qa_list > div:first-child {
      width: 100%; }
      section.qa .qa_list > div:first-child dl dd {
        padding: 0.2em 1em;
        width: 100%; }
    section.qa .qa_list > div:last-child {
      display: block;
      width: 100%;
      padding: 0; }
      section.qa .qa_list > div:last-child img {
        width: 50%;
        margin: auto;
        display: block; } }
/*-----------------------
 contact
-------------------------*/
section.contact {
  padding-top: 85px;
  padding-bottom: 35px; }
  section.contact .contact_area {
    display: flex; }
    section.contact .contact_area > a {
      margin-left: 22px;
      margin-right: 22px;
      border: 2px solid #b43025;
      border-radius: 15px;
      padding: 18px 25px 25px 150px;
      display: block;
      color: #000;
      width: 50%; }
      section.contact .contact_area > a dl dt {
        text-align: center;
        font-size: 1.6rem;
        color: #b43025;
        margin-bottom: 0em; }
        section.contact .contact_area > a dl dt span {
          border-bottom: 1px solid #b43025; }
      section.contact .contact_area > a dl dd {
        margin: 0;
        font-size: 2.4rem;
        font-weight: 900;
        line-height: 3em;
        text-align: center; }
        section.contact .contact_area > a dl dd small {
          display: block;
          font-size: 1.2rem;
          line-height: 1em;
          text-align: left;
          letter-spacing: 0.2em;
          padding-left: 1em; }
        section.contact .contact_area > a dl dd span {
          display: block;
          text-align: center;
          font-size: 1.2rem;
          color: #FFF;
          background: #b43025;
          line-height: 1em;
          padding: 10px;
          margin: 0 1.5em;
          letter-spacing: 0.1em; }
      @media all and (-ms-high-contrast: none) {
        section.contact .contact_area > a dl dd {
          letter-spacing: 0; } }
      section.contact .contact_area > a.contact_tel {
        background: url("../images/contact_icon1.png") no-repeat;
        background-size: 105px;
        background-position: 20px center; }
        section.contact .contact_area > a.contact_tel dd {
          letter-spacing: 0.225em; }
      section.contact .contact_area > a.contact_mail {
        background: url("../images/contact_icon2.png") no-repeat;
        background-size: 105px;
        background-position: 20px center; }

@media screen and (max-width: 999px) {
  section.contact .contact_area {
    display: block; }
    section.contact .contact_area > a {
      margin-left: auto;
      margin-right: auto;
      width: 100%;
      max-width: 400px;
      margin-bottom: 25px;
      padding: 15px; }
      section.contact .contact_area > a.contact_tel {
        background: url(../images/contact_icon1.png) no-repeat;
        background-size: 50px;
        background-position: 15px 15px; }
      section.contact .contact_area > a.contact_mail {
        background: url(../images/contact_icon2.png) no-repeat;
        background-size: 50px;
        background-position: 15px 15px; }
      section.contact .contact_area > a dl dt {
        margin-left: 50px;
        margin-top: 5px;
        display: block; }
      section.contact .contact_area > a dl dd {
        text-align: center; }
        section.contact .contact_area > a dl dd small {
          text-align: center;
          padding: 0; } }
/*-----------------------
 about
-------------------------*/
section.about {
  padding-bottom: 43px; }
  section.about h2 {
    margin-bottom: calc(2em + 15px); }
  section.about dl.table {
    width: 835px;
    margin: auto; }
    section.about dl.table dt {
      width: 240px; }
    section.about dl.table dd {
      width: 593px; }

@media screen and (max-width: 999px) {
  section.about dl.table {
    width: 100%; }
    section.about dl.table dt {
      width: 100%; }
    section.about dl.table dd {
      width: 100%; } }
/*-----------------------
 footer
-------------------------*/
footer {
  background: #d2392d;
  padding: 60px 0;
  border-top: 1px solid #000;
  color: #FFF;
  text-align: center;
  margin-top: 60px; }
