@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, small, strong, b, dl, dt, dd, ol, ul, li,
form, label, legend, table, tbody, tfoot, thead, tr, th, td, footer, header, menu, nav, section, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: bottom;
  background: transparent;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

ul li {
  list-style: none;
}

a {
  margin: 0;
  padding: 0;
  color: #666;
  text-decoration: none;
  vertical-align: baseline;
}

a:hover {
  opacity: 0.7;
}

table {
  border-spacing: 0;
}

/* ===================================================================================
  resetここまで
=================================================================================== */
body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", Meiryo, sans-serif;
  color: #000;
  font-size: 16px;
}

.pc_none {
  display: none;
}

.inner {
  width: 1120px;
  margin: 0 auto;
}

.box01 {
  background: url("../img/pc_bg01.jpg") no-repeat top center;
  height: 660px;
}

.box01 .fv_text {
  font-size: 20px;
  line-height: 1.85;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin: 10px 0 0 50px;
}

.box02 {
  background: url("../img/pc_bg02.jpg") no-repeat top center;
  height: 200px;
}

.box02 h2 {
  font-size: 42px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em;
  padding-top: 40px;
  margin-bottom: 25px;
}

.box02 .text {
  font-size: 17px;
  text-align: center;
  line-height: 1.76;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.box03 {
  background: url("../img/pc_bg03.jpg") no-repeat top center;
  height: 520px;
}

.box03 .point_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1100px;
  margin: 0 auto;
  padding-top: 80px;
}

.box03 .point_list li {
  position: relative;
}

.box03 .point_list li .text {
  font-size: 20px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.04em;
  position: absolute;
  top: 205px;
  left: 0;
  right: 0;
}

.box03 .point_list li .text strong {
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #FFF000), color-stop(90%, transparent));
  background: linear-gradient(transparent 60%, #FFF000 60% 90%, transparent 90%);
}

.box04 {
  background: url("../img/pc_bg04.jpg") no-repeat top center;
  height: 1018px;
}

.box04 .top_text {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
  padding-top: 75px;
}

.box04 h2 {
  text-align: center;
  margin-bottom: 100px;
}

.box04 h2 span {
  font-size: 38px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em;
  border-bottom: solid 2px #000;
}

.box04 .text_area {
  margin-left: 450px;
}

.box04 .text_area .text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.06em;
  width: 530px;
}

.box04 .text_area .reduction {
  line-height: 2.2;
  margin: 20px 0 25px;
}

.box04 .text_area .reduction span {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 3px 10px 5px 10px;
  background: #000;
}

.box04 .text_area .reduction span strong {
  color: #FFF000;
  font-weight: normal;
}

.box04 .text_area .kome {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #808080;
  font-size: 12px;
  line-height: 1.66;
  letter-spacing: 0.02em;
  margin-left: 5px;
}

.box04 .text_area .kome span {
  color: #808080;
}

.box05 {
  background: url("../img/pc_bg05.jpg") no-repeat top center;
  height: 659px;
}

.box05 h2 {
  color: #fff;
  font-size: 34px;
  text-align: center;
  font-weight: bold;
  line-height: 60px;
  letter-spacing: 0.08em;
  width: 580px;
  height: 82px;
  margin: 0 auto;
  padding-bottom: 22px;
  background: url(../img/pc_tit_reco.png) no-repeat 0 0/100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.box05 .reco_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1080px;
  margin: 0 auto;
}

.box05 .reco_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 165px;
  height: 240px;
  margin-top: 40px;
  padding-top: 150px;
  -webkit-box-shadow: 2px 7px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 7px 6px rgba(0, 0, 0, 0.2);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.box05 .reco_list li .text {
  font-size: 18px;
  text-align: center;
  line-height: 1.41;
  font-weight: bold;
  letter-spacing: 0.04em;
}

.box05 .reco_list .reco01 {
  background: url(../img/img_reco01.png) no-repeat 0 0/100%;
}

.box05 .reco_list .reco02 {
  background: url(../img/img_reco02.png) no-repeat 0 0/100%;
}

.box05 .reco_list .reco03 {
  background: url(../img/img_reco03.png) no-repeat 0 0/100%;
}

.box05 .reco_list .reco04 {
  background: url(../img/img_reco04.png) no-repeat 0 0/100%;
}

.box05 .reco_list .reco05 {
  background: url(../img/img_reco05.png) no-repeat 0 0/100%;
}

.box05 .reco_list .reco06 {
  background: url(../img/img_reco06.png) no-repeat 0 0/100%;
}

.box05 .text01 {
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin: 55px 0 20px;
}

.box05 .text02 {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  text-align: center;
}

.box06 {
  background: url("../img/pc_bg06.jpg") no-repeat top center;
  height: 1174px;
}

.box06 .merit_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 1080px;
  margin: 0 auto;
}

.box06 .merit_list li {
  position: relative;
}

.box06 .merit_list li .text {
  line-height: 1.63;
  text-align: center;
  position: absolute;
  top: 320px;
  left: 0;
  right: 0;
}

.box06 .merit_list li .text span {
  display: block;
  font-size: 22px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.04em;
  width: 270px;
  margin: 0 auto 6px;
  background: #fff;
  -webkit-box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.2);
}

.box07 {
  background: url("../img/pc_bg07.jpg") no-repeat top center;
  height: 890px;
}

.box07 h2 {
  text-align: center;
  margin-bottom: 110px;
  padding-top: 120px;
}

.box07 h2 span {
  font-size: 38px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.08em;
  border-bottom: solid 2px #000;
}

.box07 .flow_list {
  margin-left: 106px;
}

.box07 .flow_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 30px;
}

.box07 .flow_list li .num {
  width: 105px;
}

.box07 .flow_list li .flow_box {
  width: 720px;
  padding: 20px 0 20px 190px;
  background: #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}

.box07 .flow_list li .flow_box::before {
  content: "";
  display: block;
  width: 90px;
  height: 69px;
  margin-top: -34px;
  position: absolute;
  top: 50%;
  left: 60px;
}

.box07 .flow_list li .flow_box h3 span {
  display: block;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
}

.box07 .flow_list li .flow_box .text {
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.04em;
  width: 420px;
}

.box07 .flow_list .flow01 .flow_box::before {
  background: url(../img/flow_icon01.png) no-repeat 0 0/100%;
}

.box07 .flow_list .flow02 .flow_box::before {
  background: url(../img/flow_icon02.png) no-repeat 0 0/100%;
}

.box07 .flow_list .flow03 .flow_box::before {
  background: url(../img/flow_icon03.png) no-repeat 0 0/100%;
}

.contact {
  background: url("../img/pc_bg_contact.jpg") no-repeat top center, #FBFBFB;
  padding-top: 210px;
}

.contact h2 {
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  line-height: 52px;
  letter-spacing: 0.08em;
  width: 720px;
  margin: 0 auto 90px;
  background: #000;
}

.contact .text_area {
  width: 900px;
  margin: 0 auto 80px;
  padding-left: 40px;
  padding-bottom: 35px;
  border-bottom: solid 1px #F2F2F2;
}

.contact .text_area p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  line-height: 2;
}

.contact input[type="text"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

.contact select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

.contact textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
}

.contact button,
.contact input[type="submit"],
.contact input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

.contact .form_area {
  width: 800px;
  margin: 0 auto;
  padding-bottom: 95px;
}

.contact .form_area .formTable th, .contact .form_area .formTable td {
  display: block;
  text-align: left;
}

.contact .form_area .formTable th {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 17px;
}

.contact .form_area .formTable th.req {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.contact .form_area .formTable th.req::after {
  content: "必須";
  display: inline-block;
  font-size: 13px;
  line-height: 20px;
  text-align: center;
  font-weight: normal;
  background: #FFF333;
  width: 36px;
  margin-left: 10px;
}

.contact .form_area .formTable td {
  padding-bottom: 35px;
}

.contact .form_area .formTable td input[type="text"] {
  font-size: 16px;
  line-height: 70px;
  width: 800px;
  padding: 0 25px;
  background: #F2F2F2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.contact .form_area .formTable td .select_box {
  width: 255px;
  position: relative;
}

.contact .form_area .formTable td .select_box::before {
  content: "";
  display: block;
  width: 14px;
  height: 9px;
  margin-top: -5px;
  background: url(../img/form_select_arrow.png) no-repeat 0 0/100%;
  position: absolute;
  top: 50%;
  right: 26px;
}

.contact .form_area .formTable td .select_box select {
  font-size: 16px;
  width: 255px;
  height: 70px;
  padding: 0 35px;
  border: solid 1px #999;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.contact .form_area .formTable td .select_box select::-ms-expand {
  display: none;
}

.contact .form_area .formTable td textarea {
  font-size: 16px;
  line-height: 1.7;
  width: 800px;
  height: 140px;
  padding: 20px 25px;
  background: #F2F2F2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.contact .form_area .form_btn {
  text-align: center;
}

.contact .form_area .form_btn input[type="submit"],
.contact .form_area .form_btn input[type="button"] {
  text-indent: -99999px;
  width: 460px;
  height: 80px;
  cursor: pointer;
}

.contact .form_area .form_btn input[type="submit"]:hover,
.contact .form_area .form_btn input[type="button"]:hover {
  opacity: 0.7;
}

.contact .form_area .form_btn.conf input[type="submit"] {
  background: url(../img/pc_form_btn_conf.png) no-repeat 0 0/100%;
}

.contact .form_area .form_btn.fix input[type="button"] {
  background: url(../img/pc_form_btn_fix.png) no-repeat 0 0/100%;
}

.contact .form_area .form_btn.send {
  margin-left: 20px;
}

.contact .form_area .form_btn.send input[type="submit"] {
  background: url(../img/pc_form_btn_send.png) no-repeat 0 0/100%;
}

.confirmation {
  min-height: 100vh;
}

.confirmation .text_area {
  margin: 0 auto 90px;
  padding-bottom: 60px;
  padding-left: 0 !important;
}

.confirmation .text_area p {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.confirmation .form_area {
  width: 940px;
  margin: 0 auto;
}

.confirmation .form_area .err {
  margin-bottom: 60px;
}

.confirmation .form_area .err .error_messe {
  color: #FF0000;
  font-size: 16px;
  text-align: center;
  margin-bottom: 30px;
}

.confirmation .form_area .formTable {
  width: 800px;
  margin: 0 auto;
}

.confirmation .form_area .formTable th {
  padding-bottom: 30px !important;
}

.confirmation .form_area .formTable td {
  line-height: 1.5;
  padding-bottom: 25px;
  margin-bottom: 45px;
  border-bottom: solid 1px #000;
}

.confirmation .form_area .formTable tr:last-of-type td {
  border-bottom: none;
}

.confirmation .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.thanks {
  height: 100vh;
}

.thanks .text_area {
  margin: 0 auto 130px;
  padding-left: 0 !important;
}

.thanks .text_area p {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}

.thanks .btn_top {
  width: 460px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 1120px) {
  body {
    font-size: 1.42857vw;
  }
  img {
    width: 100%;
  }
  .inner {
    width: 100vw;
  }
  .box01 {
    background: url("../img/pc_bg01.jpg") no-repeat top center/178.57143vw auto;
    height: 58.92857vw;
  }
  .box01 .fv_text {
    font-size: 1.78571vw;
    margin: 0.89286vw 0 0 4.46429vw;
  }
  .box02 {
    background: url("../img/pc_bg02.jpg") no-repeat top center/178.57143vw auto;
    height: 17.85714vw;
  }
  .box02 h2 {
    font-size: 3.75vw;
    padding-top: 3.57143vw;
    margin-bottom: 2.23214vw;
  }
  .box02 .text {
    font-size: 1.51786vw;
  }
  .box03 {
    background: url("../img/pc_bg03.jpg") no-repeat top center/178.57143vw auto;
    height: 46.42857vw;
  }
  .box03 .point_list {
    width: 98.21429vw;
    padding-top: 7.14286vw;
  }
  .box03 .point_list li .text {
    font-size: 1.78571vw;
    top: 18.30357vw;
  }
  .box04 {
    background: url("../img/pc_bg04.jpg") no-repeat top center/178.57143vw auto;
    height: 90.89286vw;
  }
  .box04 .top_text {
    font-size: 2.32143vw;
    margin-bottom: 0.89286vw;
    padding-top: 6.69643vw;
  }
  .box04 h2 {
    margin-bottom: 8.92857vw;
  }
  .box04 h2 span {
    font-size: 3.39286vw;
    border-bottom: solid 0.17857vw #000;
  }
  .box04 .text_area {
    margin-left: 40.17857vw;
  }
  .box04 .text_area .text {
    font-size: 1.42857vw;
    width: 47.32143vw;
  }
  .box04 .text_area .reduction {
    margin: 1.78571vw 0 2.23214vw;
  }
  .box04 .text_area .reduction span {
    font-size: 1.78571vw;
    padding: 0.26786vw 0.89286vw 0.44643vw 0.89286vw;
  }
  .box04 .text_area .kome {
    font-size: 1.07143vw;
    margin-left: 0.44643vw;
  }
  .box05 {
    background: url("../img/pc_bg05.jpg") no-repeat top center/178.57143vw auto;
    height: 58.83929vw;
  }
  .box05 h2 {
    font-size: 3.03571vw;
    line-height: 5.35714vw;
    width: 51.78571vw;
    height: 7.32143vw;
    padding-bottom: 1.96429vw;
  }
  .box05 .reco_list {
    width: 96.42857vw;
  }
  .box05 .reco_list li {
    width: 14.73214vw;
    height: 21.42857vw;
    margin-top: 3.57143vw;
    padding-top: 13.39286vw;
    -webkit-box-shadow: 0.17857vw 0.625vw 0.53571vw rgba(0, 0, 0, 0.2);
            box-shadow: 0.17857vw 0.625vw 0.53571vw rgba(0, 0, 0, 0.2);
  }
  .box05 .reco_list li .text {
    font-size: 1.60714vw;
  }
  .box05 .text01 {
    font-size: 1.96429vw;
    margin: 4.91071vw 0 1.78571vw;
  }
  .box05 .text02 {
    font-size: 1.42857vw;
  }
  .box06 {
    background: url("../img/pc_bg06.jpg") no-repeat top center/178.57143vw auto;
    height: 104.82143vw;
  }
  .box06 .merit_list {
    width: 96.42857vw;
  }
  .box06 .merit_list li {
    width: 27.67857vw;
  }
  .box06 .merit_list li .text {
    top: 28.57143vw;
  }
  .box06 .merit_list li .text span {
    font-size: 1.96429vw;
    line-height: 2.67857vw;
    width: 24.10714vw;
    margin: 0 auto 0.53571vw;
    -webkit-box-shadow: 0.17857vw 0.44643vw 0.89286vw rgba(0, 0, 0, 0.2);
            box-shadow: 0.17857vw 0.44643vw 0.89286vw rgba(0, 0, 0, 0.2);
  }
  .box07 {
    background: url("../img/pc_bg07.jpg") no-repeat top center/178.57143vw auto;
    height: 79.46429vw;
  }
  .box07 h2 {
    margin-bottom: 9.82143vw;
    padding-top: 10.71429vw;
  }
  .box07 h2 span {
    font-size: 3.39286vw;
    border-bottom: solid 0.17857vw #000;
  }
  .box07 .flow_list {
    margin-left: 9.46429vw;
  }
  .box07 .flow_list li {
    margin-bottom: 2.67857vw;
  }
  .box07 .flow_list li .num {
    width: 9.375vw;
  }
  .box07 .flow_list li .flow_box {
    width: 64.28571vw;
    padding: 1.78571vw 0 1.78571vw 16.96429vw;
  }
  .box07 .flow_list li .flow_box::before {
    width: 8.03571vw;
    height: 6.16071vw;
    margin-top: -3.03571vw;
    left: 5.35714vw;
  }
  .box07 .flow_list li .flow_box h3 span {
    font-size: 1.96429vw;
    margin-bottom: 1.33929vw;
  }
  .box07 .flow_list li .flow_box .text {
    font-size: 1.42857vw;
    width: 37.5vw;
  }
  .contact {
    background: url("../img/pc_bg_contact.jpg") no-repeat top center/178.57143vw auto, #FBFBFB;
    padding-top: 18.75vw;
  }
  .contact h2 {
    font-size: 3.03571vw;
    line-height: 4.64286vw;
    width: 64.28571vw;
    margin: 0 auto 8.03571vw;
  }
  .contact .text_area {
    width: 80.35714vw;
    margin: 0 auto 7.14286vw;
    padding-left: 3.57143vw;
    padding-bottom: 3.125vw;
  }
  .contact .text_area p {
    font-size: 1.42857vw;
  }
  .contact .form_area {
    width: 71.42857vw;
    padding-bottom: 8.48214vw;
  }
  .contact .form_area .formTable th {
    font-size: 1.60714vw;
    padding-bottom: 1.51786vw;
  }
  .contact .form_area .formTable th.req::after {
    font-size: 1.16071vw;
    line-height: 1.78571vw;
    width: 3.21429vw;
    margin-left: 0.89286vw;
  }
  .contact .form_area .formTable td {
    padding-bottom: 3.125vw;
  }
  .contact .form_area .formTable td input[type="text"] {
    font-size: 1.42857vw;
    line-height: 6.25vw;
    width: 71.42857vw;
    padding: 0 2.23214vw;
  }
  .contact .form_area .formTable td .select_box {
    width: 22.76786vw;
  }
  .contact .form_area .formTable td .select_box::before {
    width: 1.25vw;
    height: 0.80357vw;
    margin-top: -0.44643vw;
    right: 2.32143vw;
  }
  .contact .form_area .formTable td .select_box select {
    font-size: 1.42857vw;
    width: 22.76786vw;
    height: 6.25vw;
    padding: 0 3.125vw;
  }
  .contact .form_area .formTable td textarea {
    font-size: 1.42857vw;
    width: 71.42857vw;
    height: 12.5vw;
    padding: 1.78571vw 2.23214vw;
  }
  .contact .form_area .form_btn input[type="submit"],
  .contact .form_area .form_btn input[type="button"] {
    width: 41.07143vw;
    height: 7.14286vw;
  }
  .contact .form_area .form_btn.send {
    margin-left: 1.78571vw;
  }
  .confirmation .text_area {
    margin: 0 auto 8.03571vw;
    padding-bottom: 5.35714vw;
  }
  .confirmation .form_area {
    width: 83.92857vw;
  }
  .confirmation .form_area .err {
    margin-bottom: 5.35714vw;
  }
  .confirmation .form_area .err .error_messe {
    font-size: 1.42857vw;
    margin-bottom: 2.67857vw;
  }
  .confirmation .form_area .formTable {
    width: 71.42857vw;
  }
  .confirmation .form_area .formTable th {
    padding-bottom: 2.67857vw !important;
  }
  .confirmation .form_area .formTable td {
    padding-bottom: 2.23214vw;
    margin-bottom: 4.01786vw;
  }
  .thanks .text_area {
    margin: 0 auto 11.60714vw;
  }
  .thanks .btn_top {
    width: 41.07143vw;
  }
}
/*# sourceMappingURL=style.css.map */