@charset "UTF-8";
/*reseet*/
html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, address, em, img, small, strong, b, dl, dt, dd, ol, ul, li, form, label, table, tr, th, td, article, footer, header, menu, nav, section, main, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  vertical-align: baseline;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  font-weight: 400; }

img {
  vertical-align: bottom;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  width: 100%; }

article, footer, header, menu, nav, section, main {
  display: block; }

html, body {
  height: 100%; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

*:focus {
  outline: none; }

body {
  min-width: 320px;
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  line-height: 2;
  letter-spacing: .2rem;
  color: #333; }

/*font-size*/
html {
  font-size: 87%;
  /*14px*/ }

@media (min-width: 769px) {
  html {
    font-size: 100%; } }
@media (max-width: 374px) {
  html {
    font-size: 81%; } }
/*XSP 13px*/
.wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

header {
  text-align: center;
  background: #000; }
  header .innner {
    max-width: 768px;
    margin: 0 auto; }

.logo-h {
  padding: 1rem 0; }
  .logo-h img {
    width: 160px;
    vertical-align: sub; }
  .logo-h span {
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    margin-left: 1rem; }

main {
  flex: 1 0 auto;
  overflow: hidden; }

@media (max-width: 768px) {
  header .logo-h span {
    display: block;
    line-height: 1;
    font-size: 1.6rem;
    margin-left: 0; } }
.m_size, section {
  max-width: 800px;
  margin: 0 auto; }

.btn_form {
  position: relative;
  display: block;
  margin: 0 auto;
  text-align: center;
  color: white;
  font-weight: bold;
  padding: .6rem 0;
  max-width: 240px;
  min-width: 180px;
  width: 100%;
  background: #0089cd; }

.flexB .btn_form {
  margin: initial; }

.return a {
  background: #E6E6E6;
  color: #999;
  min-width: 100px;
  padding: .6rem 0;
  font-weight: bold;
  text-align: center;
  display: block;
  text-decoration: none;
  margin-right: 1rem; }

.form-style dt, .form-style label {
  font-weight: bold;
  line-height: 1.3; }
.form-style dd {
  margin-bottom: 2rem; }

.b-wrap {
  max-width: 400px;
  margin: 0 auto; }

footer {
  background: #000;
  border-top: 1px solid #F2F2F2;
  margin-top: auto;
  padding: 1.2rem 0;
  text-align: center; }
  footer .f-logo {
    display: inline-block;
    width: 200px; }

.copyRight {
  letter-spacing: 0;
  font-size: .7em;
  color: #fff; }
  .copyRight em {
    font-size: 1.2rem;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
    margin-bottom: .1rem; }

.flex, .flexB, .flexC, .flexW {
  display: flex; }

.flexB {
  justify-content: space-between; }

.flexC {
  justify-content: center; }

.flexW {
  flex-wrap: wrap; }

.icon {
  width: 100%;
  height: 100%; }

dl {
  margin-bottom: 2rem; }
  dl .sub_aco {
    display: none;
    padding: 1rem;
    border: 1px solid #b3b3b3;
    margin-top: -1px;
    font-size: .9rem; }
    dl .sub_aco > dl dt {
      font-weight: bold;
      margin-bottom: .2rem;
      line-height: 1.3; }
    dl .sub_aco > dl > dd:not(:last-child) {
      margin-bottom: 1.4rem; }
    dl .sub_aco > dl .privacy-caps {
      position: relative;
      margin-top: 1.4rem;
      border: 2px solid rgba(60, 67, 68, 0.2);
      padding: 1.2rem .8rem .8rem; }
      dl .sub_aco > dl .privacy-caps dt {
        position: absolute;
        top: -.8em;
        background: #f0f0f0;
        padding: 0 .6em;
        display: inline-block; }
      dl .sub_aco > dl .privacy-caps dd {
        position: relative;
        padding-left: 1.2em;
        line-height: 1.5;
        font-size: .8rem; }
        dl .sub_aco > dl .privacy-caps dd:not(:last-child) {
          margin-bottom: .5rem; }
        dl .sub_aco > dl .privacy-caps dd::before {
          content: "";
          display: inline-block;
          width: 4px;
          height: 4px;
          background: rgba(60, 67, 68, 0.8);
          position: absolute;
          left: 0;
          top: .5em;
          border-radius: 2px; }

.ttl1 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  font-weight: bold;
  color: #0089cd;
  display: flex;
  align-items: center;
  line-height: 1.3; }
  .ttl1::before, .ttl1::after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #0089cd;
    vertical-align: middle; }
  .ttl1::before {
    margin-right: 1rem; }
  .ttl1::after {
    margin-left: 1rem; }

.ttl2 {
  font-size: 1.1rem;
  line-height: 1.1; }

.ttl3 {
  font-weight: bold;
  margin-bottom: .5rem; }

.ttl4 {
  font-weight: bold;
  margin-top: 2rem; }
  .ttl4::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    width: 16px;
    height: 16px;
    background: #0089cd;
    border-radius: 8px; }

/*入力項目追加*/
.hm-box {
  border-bottom: 1px solid #0089cd;
  margin-bottom: 2rem; }
  .hm-box .ttl4 {
    margin-bottom: 1rem; }

.error.form-control {
  border-color: #EA0000;
  background: rgba(234, 0, 0, 0.08); }

.e-txt {
  font-size: .9rem;
  color: #EA0000;
  letter-spacing: 0.1rem; }

.ex-txt {
  margin-bottom: 2rem; }

section:not(:nth-last-child(-n+2)) {
  border-bottom: 1px solid #F2F2F2; }

input, textarea {
  margin: 0;
  padding: 0;
  -webkit-appearance: none; }

button, input, select, textarea {
  font: inherit; }

button, input, select {
  overflow: visible;
  -webkit-appearance: none; }

button, input, select, textarea {
  margin: 0; }

button, select {
  text-transform: none; }

select::-ms-expand {
  display: none; }

select {
  -moz-appearance: none; }

button, [type="button"], [type="reset"], [type="submit"] {
  cursor: pointer; }

[disabled] {
  cursor: default; }

button::-moz-focus-innner, input::-moz-focus-innner {
  border: 0;
  padding: 0; }

button:-moz-focusring, input:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

textarea {
  overflow: auto; }

[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-innner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button, input[type="submit"], input[type="button"], input[type="reset"] {
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background: transparent;
  color: inherit;
  width: 100%;
  letter-spacing: .08rem;
  font-size: 1rem; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]:focus, input[type="button"]:focus {
  outline-offset: -2px; }

input::placeholder {
  color: #E6E6E6; }

::placeholder {
  color: #E6E6E6; }

/* IE */
input:-ms-input-placeholder {
  color: #E6E6E6; }

/* Edge */
input::-ms-input-placeholder {
  color: #E6E6E6; }

.m_size, section {
  max-width: 800px;
  margin: 0 auto; }

.pad1, section {
  padding: 3rem 1rem; }

.sub_copy {
  display: block;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 1.2rem;
  letter-spacing: .2rem;
  font-weight: bold; }

.icon {
  fill: #fff; }

.required {
  color: #EA0000;
  font-size: 10px;
  border: 1px solid #EA0000;
  font-weight: bold;
  padding: .2rem .3rem;
  letter-spacing: 0; }

.ttl1 .required {
  margin-left: .5rem; }

.box-contact {
  display: flex;
  justify-content: center;
  background: rgba(255, 255, 255, 0.8); }
  .box-contact li:not(:first-child) {
    margin-left: 1rem; }
  .box-contact a {
    display: block;
    width: 44px;
    height: 44px;
    padding: 10px; }

.comment {
  line-height: 1;
  font-size: .9rem;
  letter-spacing: 0;
  margin-bottom: 1rem; }

.red-c {
  color: #EA0000; }

.sup {
  font-size: .6rem;
  margin-bottom: 2rem;
  text-align: right; }

/*テキストボックス100%*/
.form-control {
  width: 100%;
  display: block;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  padding: .8em .6em;
  line-height: 1.4;
  border-radius: .2em;
  background: white;
  border: 1px solid #e1e1e1;
  margin-top: 5px; }

.form-control.error-input {
  background: #FFEFEF;
  border: 1px solid #F4353D; }

.in-txt {
  margin-top: .5rem; }

.in-txt .form-control {
  width: 70%;
  display: inline-block; }

.br {
  display: none; }

/*ラジオボタン*/
.selectradio {
  list-style: none;
  margin: 0;
  padding: 0; }

.selectradio .selectradio-item {
  margin: 5px 0;
  padding: 0; }

/*2アイテム*/
.two-item {
  width: calc((100% / 2) - 4px); }

/*3アイテム*/
.three-item {
  width: calc((100% / 3) - 4px); }

/*テキストボックス2アイテム*/
.two-txtitem {
  width: calc(100% / 2); }

/*テキストボックス3アイテム*/
.three-txtitem {
  width: calc(100% / 3); }

/*総評テキストボックス3アイテム*/
.gthree-txtitem {
  width: calc(100% / 3); }

.selectradio input[type="radio"] {
  display: none; }

.selectradio input[type="radio"]:checked + label {
  background: #fff;
  color: #0089cd;
  border: 2px solid #0089cd; }

.selectradio .selectradio-label {
  display: block;
  height: 45px;
  text-align: center;
  line-height: 45px;
  padding: 0 5px;
  cursor: pointer;
  border: 2px solid #E1E1E1;
  border-radius: 5px;
  background: #F2F2F2;
  transition: 0.5s;
  border-radius: 4px; }

/*チェックボックス*/
input[type=checkbox] {
  display: none; }

.checkbox01 {
  position: relative;
  line-height: 2.6;
  padding: 0 0 0 27px; }

.checkbox01:hover:after {
  border-color: #0089cd; }

.checkbox01:after, .checkbox01:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%; }

.checkbox01:after {
  left: 0;
  margin-top: -12px;
  width: 18px;
  height: 18px;
  border: 2px solid #E1E1E1; }

.checkbox01:before {
  left: 6px;
  margin-top: -9px;
  width: 7px;
  height: 11px;
  border-right: 3px solid #0089cd;
  border-bottom: 3px solid #0089cd;
  transform: rotate(45deg);
  opacity: 0; }

input[type=checkbox]:checked + .checkbox01:before {
  opacity: 1; }

.checkbox {
  display: flex;
  flex-wrap: wrap; }

.checkbox li {
  margin-bottom: .5rem;
  width: 25%; }

.checkbox li span {
  display: inline-block;
  font-weight: bold;
  line-height: 1.3; }

.checkbox li:last-child .checkbox01 {
  line-height: 1; }

.checkbox .comment {
  display: block;
  padding-left: 40px;
  line-height: 1;
  font-size: .9rem; }

/*郵便番号*/
.zip .form-control {
  width: calc(40% - 10px);
  margin-right: 10px; }

.zip-btn {
  position: relative;
  width: calc(60% - 10px); }

.zip-btn .icon {
  position: absolute;
  width: 1rem;
  height: 1rem;
  right: .5em;
  top: calc(50% - .5em);
  pointer-events: none;
  transform: rotate(-90deg); }

.zip-btn button {
  background: #0089cd;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  padding: .5rem; }

.one-sel {
  width: 30%;
  display: inline-block;
  margin-right: 5px; }

.rentai {
  margin-bottom: 2rem; }

.st1 li:first-child, .st2 li:nth-child(2), .st3 li:last-child {
  background: #0089cd;
  color: #fff; }

.cancel {
  margin-bottom: 2rem;
  background: #f5f5f5;
  padding: 1rem; }
  .cancel p {
    line-height: 1.6; }
  .cancel .check {
    margin-top: 2rem;
    text-align: center; }
    .cancel .check span {
      font-weight: bold; }

.plus_btn {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border: 2px solid #6FBED9;
  border-radius: 1rem;
  position: relative;
  margin: 0 auto 2rem;
  cursor: pointer; }
  .plus_btn .add, .plus_btn .add::before, .plus_btn .add::after {
    position: absolute; }
  .plus_btn .add {
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    transition: .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%); }
    .plus_btn .add::before, .plus_btn .add::after {
      display: inline-block;
      content: "";
      background: #0089cd; }
    .plus_btn .add::before {
      width: 2px;
      height: 20px; }
    .plus_btn .add::after {
      width: 20px;
      height: 2px; }

textarea {
  overflow: auto;
  height: 10em;
  resize: vertical; }

/*confirm*/
.confirm table {
  margin-bottom: 3rem; }
  .confirm table tr:not(:last-child) {
    border-bottom: 1px solid #E1E1E1; }
  .confirm table tr th {
    width: 40%;
    text-align: left;
    padding: 2rem 1rem 0;
    font-weight: bold;
    line-height: 1.3; }
  .confirm table tr td {
    padding-bottom: 2rem; }
  .confirm table tr.b-non {
    border: none; }
    .confirm table tr.b-non th {
      padding-bottom: 0; }
.confirm .guarantor {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #E1E1E1; }

/*complete*/
.tel {
  margin-bottom: 3rem; }
  .tel a {
    display: block; }

a.btn_form {
  text-decoration: none;
  margin-bottom: 3rem; }

/*Rate Yo!*/
.rating-box {
  position: relative; }

.rating-box .rateYo {
  display: inline-block;
  margin-right: 10px;
  left: 0;
  position: relative;
  top: 5px; }

.rating-box .input-div {
  display: inline-block; }

.rating-box .rating-input {
  background: #fff;
  border: 1px solid #888;
  border-radius: 5px;
  color: #b31d23;
  display: inline-block;
  font-size: 26px;
  font-weight: bold;
  padding: 0 5px;
  width: 65px; }

.rating-box .counter {
  background: #b31d23;
  border-radius: 5px;
  color: #fff;
  display: none;
  font-size: 14px;
  font-weight: bold;
  left: -9999px;
  padding: 2px;
  position: absolute;
  text-align: center;
  top: -27px;
  width: 35px; }

.rating-box .counter:before {
  border-top: 8px solid #b31d23;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 8px solid transparent;
  bottom: -16px;
  content: "";
  left: 50%;
  margin-left: -7px;
  position: absolute; }

.rating-box .rateYo:hover + .counter {
  display: block; }

@media screen and (max-width: 768px) {
  /*form-step*/
  /*form-step*/
  .step li {
    width: 100%;
    line-height: 1;
    position: relative;
    background: #EDF0F8;
    padding: 5px 0;
    text-align: center;
    height: 60px;
    border: 2px solid white;
    box-sizing: content-box;
    display: flex;
    justify-content: center; }

  .step li span {
    align-self: center;
    font-weight: bold; }

  .step li:first-child {
    border-left: none; }

  .step li:last-child {
    border-right: none; }

  .step li::before, .step li::after {
    content: "";
    position: absolute;
    border-top: 35px solid transparent;
    border-bottom: 35px solid transparent; }

  .step li::before {
    left: 0;
    top: 0; }

  .step li::after {
    left: -4px;
    top: 0; }

  .step li:first-child::before {
    border: none; }

  .st1 li:first-child, .st2 li:nth-child(2), .st3 li:last-child {
    background: #0089cd;
    color: #fff; }

  .step li:last-child::before,
  .step.st1 li:nth-child(2)::before, .step.st2 li:nth-child(2)::before, .step.st2 li:last-child::before, .step.st3 li:nth-child(2)::before {
    border-left: 14px solid #fafafa; }

  .step.st1 li:nth-child(2)::after, .step.st2 li:last-child::after {
    border-left: 14px solid #0089cd; }

  .step.st1 li:last-child::after, .step.st2 li:nth-child(2)::after, .step.st3 li:nth-child(2)::after, .step.st3 li:last-child::after {
    border-left: 14px solid #EDF0F8; }

  .general.flexW {
    flex-direction: column; }

  .gthree-txtitem {
    width: 100%;
    margin-bottom: 2rem; }
    .gthree-txtitem:last-child {
      margin-bottom: 0; }

  .general.in-txt .form-control {
    width: 50%; }

  .sup {
    text-align: left; }

  .checkbox li {
    width: 33%; }

  .br {
    display: block; }

  .selectradio .selectradio-label.break {
    font-size: .9rem;
    line-height: 1.3;
    padding: 6px 5px; }

  .confirm .ttl4 {
    padding-bottom: 0; }
  .confirm table tr th, .confirm table tr td {
    display: block;
    width: 100%; }
  .confirm table tr th {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 1rem; }
  .confirm table tr td {
    padding-right: 0; } }
@media screen and (min-width: 769px) {
  .step {
    margin-bottom: 62px; }

  .step li {
    height: 90px;
    max-width: 260px;
    width: 100%;
    justify-content: center;
    color: #fff;
    padding: 16px 0;
    line-height: 1.2;
    display: flex;
    text-align: center; }

  .step li span {
    font-weight: 600;
    align-self: center; }

  .step .step1 {
    background: #0089cd;
    position: relative;
    border: 3px solid #fff; }

  .step .step1::after, .step .step2::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -40px;
    border: 40px solid transparent;
    border-left: 16px solid #0089cd;
    z-index: 2; }

  .step .step1::before, .step .step2::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 102%;
    margin-top: -45px;
    border: 45px solid transparent;
    border-left: 18px solid #fff;
    z-index: 1; }

  .step .step2::after {
    border: 40px solid transparent;
    border-left: 16px solid #EDF0F8;
    z-index: 3; }

  .step .step2, .step .step3 {
    background: #EDF0F8;
    color: #1B1B1B;
    position: relative;
    border: 3px solid #fff; }

  .st2 .step1, .st3 .step1, .st3 .step2 {
    background: #EDF0F8;
    color: #1B1B1B; }

  .st2 .step1::after, .st3 .step1::after, .st3 .step2::after {
    border: 40px solid transparent;
    border-left: 16px solid #EDF0F8;
    z-index: 3; }

  .st2 .step2, .st3 .step3 {
    background: #0089cd;
    color: #fff; }

  .st2 .step2::after, .st3 .step3::after {
    border: 40px solid transparent;
    border-left: 16px solid #0089cd;
    z-index: 2; }

  .in-txt .form-control {
    width: 160px;
    display: inline-block; }

  .in-txt .gthree-txtitem .form-control {
    width: 100px;
    display: inline-block; }

  .three-txtitem, .two-txtitem {
    width: inherit; }

  .in-txt .gthree-txtitem span {
    padding-right: 0; }

  .in-txt span {
    padding-right: .5rem; }

  .zip .form-control {
    width: 200px;
    margin-right: 20px; }

  .zip-btn {
    width: 260px;
    background: #0089cd;
    color: #fff;
    border-radius: 3px;
    cursor: pointer; }

  .one-sel {
    width: 160px;
    display: inline-block;
    margin-right: 5px; }

  .tel img {
    max-width: 460px;
    margin: 0 auto;
    display: block; } }

/*# sourceMappingURL=index.css.map */
