@charset "UTF-8";
/*
  base
---------------------------------*/
input,
textarea,
select {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input::-ms-clear {
  visibility: hidden; }

input::-ms-reveal {
  visibility: hidden; }

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

textarea {
  display: block;
  height: 180px; 
  resize: none;}

label {
  cursor: pointer;
  white-space: nowrap; }
  @media screen and (max-width: 767px) {
    label {
      font-size: 16px; } }

textarea,
select,
input {
  padding: 18px 20px;
  width: 100%;
  background-color: #f2f2f2;
  font-size: 16px; }
  @media screen and (max-width: 767px) {
    textarea,
    select,
    input {
      padding: 12px 20px; } }
  textarea:focus,
  select:focus,
  input:focus {
    -webkit-box-shadow: 0 0 5px #808080;
            box-shadow: 0 0 5px #808080; }
  textarea[type="submit"],
  select[type="submit"],
  input[type="submit"] {
    padding: 0;
    width: 320px;
    height: 80px;
    background: url(/assets/contact/images/bg-submit-lg.png) center/320px 80px no-repeat;
    color: #fff;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      textarea[type="submit"],
      select[type="submit"],
      input[type="submit"] {
        width: 255px;
        height: 60px;
        background: url(/assets/contact/images/bg-submit-lg.png) center/255px 60px no-repeat; } }
    textarea[type="submit"]:focus,
    select[type="submit"]:focus,
    input[type="submit"]:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }

select {
  height: 60px;
  background: #f2f2f2 url(/assets/contact/images/bg-prefectures-lg.png) right center/60px 60px no-repeat; }
  @media screen and (max-width: 767px) {
    select {
      height: 50px;
      background-size: 50px 50px; } }

::-webkit-input-placeholder {
  color: #999; 
  font-size: 16px;}

:-ms-input-placeholder {
  color: #999; 
  font-size: 16px;}

::-ms-input-placeholder {
  color: #999; 
  font-size: 16px;}

::placeholder {
  color: #999; 
  font-size: 16px;}

/*
  contact
---------------------------------*/
.contact {
  padding-top: 92px;
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .contact {
      padding-top: 0;
      padding-bottom: 50px;
      width: calc(100% - 40px); } }

.contact-head {
  position: relative;
  z-index: 1;
  margin-bottom: 115px; }
  @media screen and (max-width: 767px) {
    .contact-head {
      margin-bottom: 56px;
      padding: 54px 40px 0; } }
  @media screen and (max-width: 374px) {
    .contact-head {
      padding: 0 10px; } }

.contact-lead.-small {
  margin-top: 100px;
  font-size: 36px; }
  @media screen and (max-width: 767px) {
    .contact-lead.-small {
      margin-top: 55px;
      font-size: 24px; } }

.contact-step {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 34px; }
  @media screen and (max-width: 767px) {
    .contact-step {
      margin-top: 30px; } }
  .contact-step li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 110px;
    height: 40px;
    background: url(/assets/contact/images/bg-step-lg.png) center/110px 40px no-repeat;
    color: #fff; 
    font-size: 14px;
    font-weight: bold;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;}
    @media screen and (max-width: 767px) {
      .contact-step li {
        width: 80px;
        height: 40px;
        background: url(/assets/contact/images/bg-step-sm.png) center/80px 40px no-repeat; } }
    .contact-step li + li {
      margin-left: 10px; }
    .contact-step li.current {
      background-image: url(/assets/contact/images/bg-step-current-lg.png); }
      @media screen and (max-width: 767px) {
        .contact-step li.current {
          background-image: url(/assets/contact/images/bg-step-current-sm.png); } }

.contact-txt {
  margin-top: 52px; }
  @media screen and (max-width: 767px) {
    .contact-txt {
      margin-top: 30px; } }
  .contact-txt + .contact-txt {
    margin-top: 29px; }
    @media screen and (max-width: 767px) {
      .contact-txt + .contact-txt {
        margin-top: 10px; } }
  .contact-txt span {
    color: #a60000;
    font-weight: bold; }

.contact-body {
  position: relative;
  z-index: 1;
  padding: 52px 8.4%;
  background-color: rgba(255, 255, 255, 0.95); }
  @media screen and (max-width: 767px) {
    .contact-body {
      padding: 0 40px 6px; } }
  @media screen and (max-width: 374px) {
    .contact-body {
      padding: 0 20px 6px; } }

.contact-footer {
  position: relative;
  z-index: 1;
  margin-top: 76px;
  text-align: center; }
  .check .contact-footer {
    margin-top: 120px; }
    @media screen and (max-width: 767px) {
      .check .contact-footer {
        margin-top: 60px; } }
  @media screen and (max-width: 767px) {
    .contact-footer {
      margin-top: 50px;
      padding: 0 40px; } }
  @media screen and (max-width: 374px) {
    .contact-footer {
      padding: 0 10px; } }

.contact-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-pack: center;

      -ms-flex-pack: center;

          justify-content: center; }
  @media screen and (min-width: 767px) and (max-width: 785px) {
    .contact-btns {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media screen and (min-width: 580px) and (max-width: 767px) {
    .contact-btns {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (max-width: 579px) {
    .contact-btns {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; 

      -ms-flex-wrap: wrap; 

          flex-wrap: wrap;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;} }

.contact-btn {
  display: inline-block;
  position: relative;
  z-index: 10;
  margin-top: 113px; }
  .contact-btns .contact-btn {
    margin-top: 0; }
  .thanks .contact-btn {
    margin-top: 0; }
  @media screen and (max-width: 767px) {
    .contact-btn {
      margin-top: 53px; } }
  .contact-btn + .contact-btn {
    margin-left: 65px; }
    @media screen and (max-width: 785px) {
      .contact-btn + .contact-btn {
        margin-left: 0; } }
  .contact-btn [type="button"] {
    display: block;
    padding: 0;
    width: 320px;
    height: 80px;
    background: url(/assets/contact/images/bg-prev-lg.png) center/320px 80px no-repeat;
    color: #fff;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .contact-btn [type="button"] {
        width: 255px;
        height: 60px;
        background: url(/assets/contact/images/bg-prev-lg.png) center/255px 60px no-repeat; } }
    .contact-btn [type="button"]:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
  .contact-btn .contact-home {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    width: 320px;
    height: 80px;
    background: url(/assets/contact/images/bg-submit-lg.png) center/320px 80px no-repeat;
    color: #fff;
    font-size: 16px; 
    font-weight: bold;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;}
    @media screen and (max-width: 767px) {
      .contact-btn .contact-home {
        width: 255px;
        height: 60px;
        background: url(/assets/contact/images/bg-submit-lg.png) center/255px 60px no-repeat; } }
    .contact-btn .contact-home:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
  .contact-btn > svg {
    position: absolute;
    top: 0;
    right: 40px;
    bottom: 0;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .contact-btn > svg {
        right: 20px; } }
  .contact-btn.-prev svg {
    right: auto;
    left: 40px; }
    @media screen and (max-width: 767px) {
      .contact-btn.-prev svg {
        left: 20px; } }
  @media screen and (min-width: 580px) and (max-width: 767px) {
    .contact-btn.-prev {
      margin-right: 30px; } }
  @media screen and (max-width: 579px) {
    .contact-btn.-prev {
      margin-top: 20px; 

      -webkit-box-ordinal-group: 3; 

          -ms-flex-order: 2; 

              order: 2;} }

/*
  form
---------------------------------*/
.form-parts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0 28px; 

  -webkit-box-align: baseline; 

      -ms-flex-align: baseline; 

          align-items: baseline;}
  .is-safari .form-parts {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end; }
  @media screen and (max-width: 767px) {
    .form-parts {
      padding: 30px 0 30px; 

      -ms-flex-wrap: wrap; 

          flex-wrap: wrap;} }
  .form-parts + .form-parts {
    border-top: 1px solid #ccc; }

.form-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-flex: 0;

      -ms-flex: 0 0 auto;

          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 767px) {
    .form-heading {
      width: 100%; } }

.form-data {
  width: 100%; 
  font-size: 16px;

  -webkit-box-flex: 1;

      -ms-flex: 1 1 auto;

          flex: 1 1 auto;}
  .form-data.-address {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .form-data.-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    @media screen and (max-width: 767px) {
      .form-data.-flex {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

.form-title {
  width: 240px;
  font-size: 16px; }
  @media screen and (min-width: 767px) and (max-width: 960px) {
    .form-title {
      width: 200px; } }
  @media screen and (max-width: 767px) {
    .form-title {
      margin-bottom: 14px; } }
  .form-title span {
    margin-left: 16px;
    vertical-align: baseline;
    color: #a60000; 
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", メイリオ, Meiryo, ＭＳ Ｐゴシック, MS PGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Osaka, sans-serif;
    font-size: 14px;
    font-weight: bold;}

.form-postal {
  white-space: nowrap; }

.form-input {
  position: relative; }
  .is-safari .form-input,
  .is-ff .form-input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .form-input [type="button"] {
    border: none;
    width: 104px;
    height: 60px;
    background: url(/assets/contact/images/bg-postal-lg.png) center/104px 60px no-repeat;
    color: #fff;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .form-input [type="button"] {
        padding-right: 10px;
        padding-left: 10px;
        width: 85px;
        height: 50px;
        font-size: 14px; }
        .form-input [type="button"]:focus {
          -webkit-box-shadow: none;
                  box-shadow: none; } }
  .form-input.-half {
    display: inline-block;
    width: 46.4%; }
    @media screen and (max-width: 767px) {
      .form-input.-half {
        width: 100%; }
        .form-input.-half + .form-input.-half {
          margin-top: 20px; } }
  .form-input.-mt40 {
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .form-input.-mt40 {
        margin-top: 20px; } }
  .form-input > svg {
    position: absolute;
    right: 25px;
    bottom: 25px; }
    @media screen and (max-width: 767px) {
      .form-input > svg {
        right: 20px;
        bottom: 20px; } }
  .form-data.error .form-input :not([type="button"]):after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #a60000; }

.form-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-align: end;

      -ms-flex-align: end;

          align-items: flex-end; }
  .form-flex > * + * {
    margin-left: 40px; }
    @media screen and (max-width: 767px) {
      .form-flex > * + * {
        margin-left: 10px; } }

.form-error {
  display: inline-block;
  margin-right: 20px;
  padding: 5px 15px;
  background-color: #a60000;
  color: #fff;
  font-size: 14px;
  font-weight: bold; }
  .is-safari .form-error,
  .is-ff .form-error {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  @media screen and (max-width: 767px) {
    .form-error {
      bottom: 50px;
      padding: 5px 12px; } }
  .form-data.-textarea .form-error {
    bottom: 180px; }

/*
  cautions
---------------------------------*/
.cautions {
  text-align: left; 
  font-size: 14px;
  line-height: 1.71429;}

.cautions__list {
  margin-top: 3px; }
  .cautions__list li {
    padding-left: 17px;
    text-indent: -16px; }
    .cautions__list li:before {
      content: ""; 
      display: inline-block;
      margin-right: 10px;
      width: 6px;
      height: 6px;
      background-color: #000;
      vertical-align: 3px;}
    .cautions__list li + li {
      margin-top: 4px; }

.cautions-txt {
  margin-top: 50px; }
  @media screen and (max-width: 767px) {
    .cautions-txt {
      margin-top: 20px; } }
  .cautions-txt a {
    text-decoration: underline; }
