@font-face {
  font-family: 'Oswald Regular';
  src: url('/font/Oswald-Regular.ttf') format('truetype');
  font-style: normal;
}

@font-face {
  font-family: 'Oswald Bold';
  src: url('/font/Oswald-Bold.ttf') format('truetype');
  font-style: normal;
}

@-webkit-keyframes open {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes open {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.Main-txt {
  font-weight: bold;
}

.Main-txt + ul {
  list-style: disc;
}

.Main-txt + ul li {
  list-style: disc;
}

@media screen and (max-width: 767px) {
  .Main-inner {
    padding: 0 0 9.33333vw;
  }

  .Main-txt {
    padding: 9.33333vw 5.33333vw 5.33333vw;
    font-size: 4.8vw;
    line-height: 1;
  }

  .Main-txt + ul {
    margin: 0 0 5.33333vw;
    padding: 0 5.33333vw;
  }

  .Main-txt + ul li {
    margin: 0 0 0 4.8vw;
    font-size: 2.13333vw;
    line-height: 1.5;
  }

  .Main-txt + ul li + li {
    margin: 3.2vw 0 0 4.8vw;
  }
}

@media print, screen and (min-width: 768px) {
  .Main-inner {
    width: 1240px;
    margin: 0 auto;
    padding: 0 0 70px;
  }

  .Main-txt {
    padding: 70px 0 20px;
    font-size: 24px;
    line-height: 1.5;
  }

  .Main-txt + ul {
    margin: 0 0 40px;
  }

  .Main-txt + ul li {
    margin: 0 0 0 24px;
    font-size: 14px;
    line-height: 1.6;
  }

  .Main + .Pagetop + footer {
    background-color: #fff !important;
  }
}

.Form {
  border: 1px solid #eee;
}

.Form-row {
  border-bottom: 1px solid #eee;
}

.Form-must {
  display: inline-block;
  color: #f00;
}

.Form input[type=text], .Form textarea {
  background-color: #e8e8e8;
}

.Form input[type=checkbox] {
  appearance: checkbox;

  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
}

.Form input[type=radio] {
  appearance: radio;

  -webkit-appearance: radio;
  -moz-appearance: radio;
}

.Form select {
  appearance: select;

  -webkit-appearance: select;
  -moz-appearance: select;
}

.Form-btn {
  display: block;
  margin: 0 auto;
  background-color: #d30000;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

.Form-btn._blank span {
  display: block;
  background: url('/img/icon_blank.png') 100% 50% no-repeat;
}

.Form-btn._search {
  position: relative;
}

.Form-btn._search span {
  display: block;
  background: url('/img/icon_search.svg') 0 50% no-repeat;
}

.Form-btn._search:after {
  position: absolute;
  top: 50%;
  content: '';
  display: block;
  background: url('/img/icon_search.svg') 0 50% no-repeat;
  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);
}

.Form-btn._w {
  background-color: #fff;
  color: #d30000;
  font-weight: bold;
}

.Form-btn._w._blank span {
  background-image: url('/img/icon_link_blank.png');
}

.Form-btn._cancel {
  background-color: #aaa;
}

.Form-btn input[type=submit], .Form-btn input[type=button] {
  cursor: pointer;
  display: block;
  width: 100%;
  margin: 0 auto;
  background-color: #d30000;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .Form-btn {
    border-radius: 3.2vw;
  }

  .Form-btn._s {
    padding: 2.13333vw 0;
    font-size: 2.4vw;
  }

  .Form-btn._m {
    padding: 2vw 0;
    font-size: 3.2vw;
  }

  .Form-btn._m input[type=submit], .Form-btn._m input[type=button] {
    font-size: 3.2vw;
  }

  .Form-btn._l {
    padding: 1.33333vw 0;
    font-size: 3.46667vw;
  }

  .Form-btn._search span {
    min-height: 3.33333vw;
    margin: 0 3.86667vw;
    background-size: 3.33333vw 3.33333vw;
    line-height: 3.33333vw;
  }

  .Form-btn._search:after {
    left: 3.86667vw;
    height: 3.33333vw;
    width: 3.33333vw;
    background-size: 3.33333vw 3.33333vw;
  }

  .Form-btn._blank span {
    margin: 0 3.86667vw;
    background-size: 1.86667vw 1.86667vw;
  }
}

@media print, screen and (min-width: 768px) {
  .Form-btn {
    opacity: 1;
    border-radius: 24px;
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  }

  .Form-btn:hover {
    opacity: 0.7;
  }

  .Form-btn._s {
    padding: 11px 0;
    font-size: 12px;
  }

  .Form-btn._m {
    padding: 15px 0;
    font-size: 14px;
  }

  .Form-btn._m input[type=submit], .Form-btn._m input[type=button] {
    font-size: 14px;
  }

  .Form-btn._l {
    padding: 12px 0;
    font-size: 26px;
  }

  .Form-btn._search {
    padding: 12px 0 !important;
  }

  .Form-btn._search span {
    min-height: 20px;
    margin: 0 29px;
    background-size: 20px 20px;
    line-height: 20px;
  }

  .Form-btn._search:after {
    left: 29px;
    height: 20px;
    width: 20px;
    background-size: 20px 20px;
  }

  .Form-btn._blank span {
    margin: 0 29px;
    background-size: 14px 14px;
  }
}

.Form .contact-form-submit input {
  display: block;
  margin: 0 auto;
  background-color: #d30000;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

.Form .contact-form-submit input[disabled] {
  background-color:#ccc;
  cursor:default;
}

.Form .contact-form-submit input[disabled]:hover {
  opacity: 1;
}

.Form .contact-form-submit input._blank span {
  display: block;
  background: url('/img/icon_blank.png') 100% 50% no-repeat;
}

.Form .contact-form-submit input._search {
  position: relative;
}

.Form .contact-form-submit input._search span {
  display: block;
  background: url('/img/icon_search.svg') 0 50% no-repeat;
}

.Form .contact-form-submit input._search:after {
  position: absolute;
  top: 50%;
  content: '';
  display: block;
  background: url('/img/icon_search.svg') 0 50% no-repeat;
  transform: translateY(-50%);

  -webkit-transform: translateY(-50%);
}

.Form .contact-form-submit input._w {
  background-color: #fff;
  color: #d30000;
  font-weight: bold;
}

.Form .contact-form-submit input._w._blank span {
  background-image: url('/img/icon_link_blank.png');
}

.Form .contact-form-submit input._cancel {
  background-color: #aaa;
}

.Form .contact-form-submit input input[type=submit], .Form .contact-form-submit input input[type=button] {
  cursor: pointer;
  display: block;
  width: 100%;
  margin: 0 auto;
  background-color: #d30000;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
}

#recapcha-area {
  display: table;
  margin: 0 auto 40px;
}

@media screen and (max-width: 767px) {
  .Form .contact-form-submit input {
    border-radius: 3.2vw;
  }

  .Form .contact-form-submit input._s {
    padding: 2.13333vw 0;
    font-size: 2.4vw;
  }

  .Form .contact-form-submit input._m {
    padding: 2vw 0;
    font-size: 3.2vw;
  }

  .Form .contact-form-submit input._m input[type=submit], .Form .contact-form-submit input._m input[type=button] {
    font-size: 3.2vw;
  }

  .Form .contact-form-submit input._l {
    padding: 1.33333vw 0;
    font-size: 3.46667vw;
  }

  .Form .contact-form-submit input._search span {
    min-height: 3.33333vw;
    margin: 0 3.86667vw;
    background-size: 3.33333vw 3.33333vw;
    line-height: 3.33333vw;
  }

  .Form .contact-form-submit input._search:after {
    left: 3.86667vw;
    height: 3.33333vw;
    width: 3.33333vw;
    background-size: 3.33333vw 3.33333vw;
  }

  .Form .contact-form-submit input._blank span {
    margin: 0 3.86667vw;
    background-size: 1.86667vw 1.86667vw;
  }
}

@media print, screen and (min-width: 768px) {
  .Form .contact-form-submit input {
    opacity: 1;
    border-radius: 24px;
    transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  }

  .Form .contact-form-submit input:hover {
    opacity: 0.7;
  }

  .Form .contact-form-submit input._s {
    padding: 11px 0;
    font-size: 12px;
  }

  .Form .contact-form-submit input._m {
    padding: 15px 0;
    font-size: 14px;
  }

  .Form .contact-form-submit input._m input[type=submit], .Form .contact-form-submit input._m input[type=button] {
    font-size: 14px;
  }

  .Form .contact-form-submit input._l {
    padding: 12px 0;
    font-size: 26px;
  }

  .Form .contact-form-submit input._search {
    padding: 12px 0 !important;
  }

  .Form .contact-form-submit input._search span {
    min-height: 20px;
    margin: 0 29px;
    background-size: 20px 20px;
    line-height: 20px;
  }

  .Form .contact-form-submit input._search:after {
    left: 29px;
    height: 20px;
    width: 20px;
    background-size: 20px 20px;
  }

  .Form .contact-form-submit input._blank span {
    margin: 0 29px;
    background-size: 14px 14px;
  }
}

@media screen and (max-width: 767px) {
  .Form {
    padding: 0 0 9.33333vw;
    font-size: 3.2vw;
  }

  .Form-row input[type=text], .Form-row select, .Form-row textarea {
    width: 100%;
    font-size: 16px;
  }

  .Form-row input[type=text] {
    padding: 2.4vw 3.2vw;
  }

  .Form-row textarea {
    height: 100px;
    padding: 2.4vw 3.2vw;
  }

  .Form-h {
    padding: 1.86667vw 3.2vw;
    background-color: #eee;
  }

  .Form-data {
    padding: 3.73333vw 3.2vw;
  }

  .Form-data ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .Form-data ul li {
    margin: 0 3.2vw 0 0;
  }

  .Form-must {
    margin: 0 0 0 1.86667vw;
  }

  .Form-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 5.33333vw auto 0;
  }

  .Form-btns li {
    width: 50%;
    margin: 0 3.2vw;
  }

  .Form-btn {
    width: 100%;
  }

  .Form-zip {
    width: 50% !important;
    min-width: 50% !important;
  }

  .Form .contact-form-submit {
    margin: 5.33333vw auto 0;
  }

  .Form .contact-form-submit input {
    width: 44vw;
    padding: 2vw 0;
    font-size: 3.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .Form {
    padding: 40px;
    font-size: 16px;
  }

  .Form-row {
    display: table;
    width: 100%;
    padding: 15px 0;
    text-align: left;
  }

  .Form-row input[type=text], .Form-row select, .Form-row textarea {
    min-width: 600px;
    font-size: 16px;
  }

  .Form-row input[type=text] {
    padding: 10px 15px;
  }

  .Form-row select {
    height: 30px;
  }

  .Form-row textarea {
    height: 200px;
    padding: 10px 15px;
  }

  .Form-h, .Form-data {
    display: table-cell;
    text-align: left;
  }

  .Form-h {
    height: 100%;
    width: 240px;
    vertical-align: middle;
  }

  .Form-data {
    width: auto;
  }

  .Form-data ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .Form-data ul li {
    margin: 0 24px 0 0;
  }

  .Form-must {
    margin: 0 0 0 7px;
  }

  .Form-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 740px;
    margin: 40px auto 0;
  }

  .Form-btns li {
    width: 330px;
    margin: 0 20px;
  }

  .Form-btn {
    width: 330px;
  }

  .Form-zip {
    width: 200px !important;
    min-width: 200px !important;
  }

  .contact-form-submit {
    width: 740px;
    margin: 40px auto 0;
  }

  .contact-form-submit input {
    width: 330px;
    padding: 15px 0;
    font-size: 14px;
  }
}
