@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, ar, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
}

/*
@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 400;
  src: url(/vendor/fonts/NotoSansTC-Regular.otf) format("opentype");
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 500;
  src: url(/vendor/fonts/NotoSansTC-Medium.otf) format("opentype");
}

@font-face {
  font-family: 'Noto Sans TC';
  font-style: normal;
  font-weight: 700;
  src: url(/vendor/fonts/NotoSansTC-Bold.otf) format("opentype");
}
 */

body {
  font-family: "Noto Sans TC", "微軟正黑體", sans-serif;
  font-weight: 400;
  color: #464646;
  margin: 0 auto;
  position: relative;
  overflow-x: hidden;
}

select, button, textarea, input {
  font-family: "Noto Sans TC", "微軟正黑體", sans-serif;
  outline: none;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: none;
}

a, a:focus {
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: color 300ms;
  transition: color 300ms;
}

a:focus {
  outline: none;
}

img {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100%;
}

.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 768px) {
  .container {
    width: 750px;
    padding-right: 0px;
    padding-left: 0px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 1150px;
  }
}

@media (min-width: 1400px) {
  .container {
    width: 1350px;
  }
}

.btn {
  width: 235px;
  height: 82px;
  line-height: 78px;
  font-size: 1.75em;
  font-weight: 700;
  color: #ffffff;
  background: #ee2737;
  border: 2px solid #ee2737;
  display: inline-block;
  text-align: center;
  border-radius: 100em;
  cursor: pointer;
  display: inline-block;
  -webkit-box-shadow: 0 10px 28px rgba(238, 39, 55, 0.5);
          box-shadow: 0 10px 28px rgba(238, 39, 55, 0.5);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

@media (max-width: 767px) {
  .btn {
    font-size: 1.125em;
    height: 66px;
    line-height: 62px;
    width: calc(50% - 40px);
  }
}

@media (max-width: 480px) {
  .btn {
    width: calc(50% - 16px);
  }
}

.btn.white {
  border: 2px solid #ee2737;
  color: #ee2737;
  background: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media (min-width: 768px) {
  .btn.sm {
    font-size: 1.375em;
  }
}

@media (max-width: 374px) {
  .btn.sm {
    font-size: 0.875em;
  }
}

.btn:hover {
  opacity: 0.8;
}

.form__wrap {
  min-height: 400px;
}

@media (max-width: 767px) {
  .form__wrap {
    min-height: auto;
  }
}

.form__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-top: 20px;
}

@media (max-width: 374px) {
  .form__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.form__item:first-child {
  margin-top: 0;
}

.form__label {
  font-size: 1.25em;
  letter-spacing: 0.01em;
  width: 210px;
  text-align: left;
}

@media (max-width: 767px) {
  .form__label {
    font-size: 1em;
  }
}

@media (max-width: 374px) {
  .form__label {
    width: 100%;
    margin-bottom: 10px;
  }
}

.form__label .red {
  color: #ee2737;
}

.form__input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  z-index: 1;
  padding: 0 15px;
  font-size: 1.25em;
  font-weight: 400;
  color: #000000;
  background: #ffffff;
  border: 1px solid #ffffff;
  letter-spacing: 0.01em;
  min-height: 60px;
  border-radius: 8px;
  width: calc( 100% - 210px);
}

@media (max-width: 767px) {
  .form__input {
    font-size: 1em;
  }
}

@media (max-width: 374px) {
  .form__input {
    width: 100%;
  }
}

.form__input:disabled, .form__input [disabled] {
  min-height: 40px;
  background: transparent;
  border-color: transparent;
  color: #000000;
  cursor: not-allowed;
  -webkit-text-fill-color: #000000;
  opacity: 1;
}

@media (max-width: 767px) {
  .form__input:disabled, .form__input [disabled] {
    padding-left: 0;
    padding-right: 0;
  }
}

.form__input.red {
  -webkit-text-fill-color: #ee2737;
}

.form__input.red:disabled, .form__input.red [disabled] {
  color: #ee2737;
  -webkit-text-fill-color: #ee2737;
}

.form__input:focus {
  border-color: #96d2d2;
}

.form__input::-webkit-input-placeholder {
  color: #808080;
}

.form__input::-moz-placeholder {
  color: #808080;
}

.form__input:-ms-input-placeholder {
  color: #808080;
}

.form__input::-ms-input-placeholder {
  color: #808080;
}

.form__input::placeholder {
  color: #808080;
}

.form__selectbox {
  position: relative;
  border-radius: 8px;
  background: #ffffff;
  width: 100%;
}

.form__selectbox::before {
  content: "";
  display: block;
  width: 20px;
  height: 12px;
  background: url("/vendor/images/arrow.svg");
  background-position: center bottom;
  background-size: auto;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% - 6px);
  right: 18px;
}

.form__selectbox--disabled {
  background: transparent;
  border-color: transparent;
}

.form__selectbox--disabled::before {
  display: none;
}

.form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-top: 0;
  padding-bottom: 0;
  padding-right: 60px;
  padding-left: 15px;
  font-size: 1.25em;
  color: #000000;
  border: 1px solid #ffffff;
  background: transparent;
  width: 100%;
  letter-spacing: 0.01em;
  min-height: 60px;
  border-radius: 8px;
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .form__select {
    font-size: 1em;
  }
}

.form__select::-ms-expand {
  display: none;
}

.form__select:disabled, .form__select [disabled] {
  min-height: 40px;
  background: transparent;
  border-color: transparent;
  color: #000000;
  cursor: not-allowed;
  -webkit-text-fill-color: #000000;
  opacity: 1;
  border-color: transparent;
  padding-right: 0;
}

@media (max-width: 767px) {
  .form__select:disabled, .form__select [disabled] {
    padding-left: 0;
    padding-right: 0;
  }
}

.form__select:focus {
  border-color: #96d2d2;
}

.form__btn {
  margin-top: 60px;
}

.form__btn--2 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc( 100% + 90px);
  margin-left: -45px;
  margin-right: -45px;
}

@media (max-width: 767px) {
  .form__btn--2 {
    width: calc( 100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    margin-top: 40px;
  }
}

@media (max-width: 480px) {
  .form__btn--2 {
    width: calc( 100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
  }
}

.form__btn--2 .btn {
  margin-left: 45px;
  margin-right: 45px;
}

@media (max-width: 767px) {
  .form__btn--2 .btn {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media (max-width: 480px) {
  .form__btn--2 .btn {
    margin-left: 8px;
    margin-right: 8px;
  }
}

.form__calendar {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background: #ffffff;
  border-radius: 8px;
  width: 100%;
}

.form__calendar .form__input {
  width: 100% !important;
  padding-right: 60px;
}

.form__calendar .accCalendar {
  position: absolute;
  top: calc(50% - 18px);
  right: 10px;
  z-index: 1;
}

.form__notice {
  background: #e8eaed;
  text-align: left;
  padding: 25px;
  border-radius: 5px;
  margin-top: 30px;
  width: calc( 100% + 40px);
  margin-left: -20px;
  margin-right: -20px;
}

@media (max-width: 480px) {
  .form__notice {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 15px;
  }
}

.form__notice-title {
  font-size: 1.25em;
  text-align: center;
  color: #464646;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .form__notice-title {
    font-size: 1.125em;
  }
}

.form__notice-text {
  font-size: 1em;
  color: #000000;
  line-height: 2;
  margin-top: 5px;
}

@media (max-width: 767px) {
  .form__notice-text {
    font-size: 0.875em;
  }
}

.form__notice.lg {
  font-size: 1.25em;
}

@media (max-width: 767px) {
  .form__notice.lg {
    font-size: 1.1428571em;
  }
}

.form__qrcode {
  background: #ffffff;
  width: 400px;
  padding: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}

@media (max-width: 480px) {
  .form__qrcode {
    padding: 10px;
  }
}

@media (max-width: 767px) {
  .pop--info .pop__icon img {
    width: 100px;
  }
}

.pop__container {
  padding-top: 60px;
  padding-bottom: 50px;
}

@media (max-width: 480px) {
  .pop__container {
    padding-top: 50px;
  }
}

.pop__wrap {
  width: 600px;
  border-radius: 14px;
  background: url("/images/common/pop-bg.jpg");
  background-position: left top;
  background-size: auto;
  background-repeat: repeat;
  position: relative;
}

@media (max-width: 767px) {
  .pop__wrap {
    max-width: 95vw;
  }
}

.pop__wrap::before {
  content: "";
  display: block;
  width: 500px;
  height: 8px;
  background: -webkit-gradient(linear, left top, right top, from(#ee2737), to(#eb5a3c));
  background: linear-gradient(to right, #ee2737 0%, #eb5a3c 100%);
  position: absolute;
  top: 0;
  left: calc( 50% - 250px);
  z-index: 1;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

@media (max-width: 767px) {
  .pop__wrap::before {
    width: 80%;
    left: 10%;
  }
}

.pop__block {
  padding: 90px 15px 60px;
  text-align: center;
}

@media (max-width: 767px) {
  .pop__block {
    padding: 70px 15px 40px;
  }
}

.pop__icon {
  text-align: center;
}

.pop__text {
  font-size: 1.25em;
  color: #464646;
  line-height: 1.5;
  margin-top: 25px;
}

@media (max-width: 767px) {
  .pop__text {
    font-size: 1em;
  }
}

.pop__btn {
  margin-top: 60px;
}

@media (max-width: 767px) {
  .pop__btn {
    margin-top: 40px;
  }
}

.header {
  position: relative;
  z-index: 1030;
}

.navbar {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 0 18px 0 18px;
  height: 72px;
}

@media (max-width: 1199px) {
  .navbar {
    padding-right: 18px;
  }
}

@media (max-width: 767px) {
  .navbar {
    padding: 12px 14px;
    height: 57px;
  }
}

@media (max-width: 480px) {
  .navbar {
    padding: 13.5px;
  }
}

.navbar__logo {
  display: inline-block;
}

.navbar__logo img {
  width: 278px;
  display: block;
}

@media (max-width: 767px) {
  .navbar__logo img {
    width: 220px;
  }
}

.navbar__list {
  list-style: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.navbar__list li {
  font-size: 1.125em;
  margin-left: 20px;
}

@media (max-width: 767px) {
  .navbar__list li {
    font-size: 1em;
    margin-left: 10px;
  }
}

@media (max-width: 374px) {
  .navbar__list li {
    font-size: 1em;
  }
}

.navbar__list li:first-child {
  margin-left: 0;
}

.navbar__list a {
  color: #d80010;
}

.navbar__body {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.footer {
  background: #333333;
  padding-top: 15px;
  padding-bottom: 15px;
}

.footer__item {
  font-size: 0.9375em;
  color: #ffffff;
  text-align: center;
  line-height: 1.6;
}

.index {
  background: url("/images/index/index-bg.jpg");
  background-position: center top;
  background-size: auto;
  background-repeat: no-repeat;
  min-height: 908px;
  overflow: hidden;
}

@media (max-width: 1399px) {
  .index {
    background-position: right 40% top;
  }
}

@media (max-width: 1199px) {
  .index {
    min-height: 100vh;
    background-position: right 45% top;
  }
}

@media (max-width: 991px) {
  .index {
    background: url("/images/index/index-bg-tb.jpg"), #ebecf0;
    background-position: center top;
    background-size: auto;
    background-repeat: no-repeat;
  }
}

@media (max-width: 480px) {
  .index {
    background-size: auto 240px;
  }
}

.index__wrap {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  width: 100%;
}

@media (max-width: 991px) {
  .index__wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.index__head {
  padding: 90px 0;
  width: 430px;
}

@media (max-width: 1199px) {
  .index__head {
    width: 40%;
    padding-left: 60px;
  }
}

@media (max-width: 991px) {
  .index__head {
    padding-left: 30px;
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 30px 0;
    height: 300px;
  }
}

@media (max-width: 480px) {
  .index__head {
    height: 240px;
  }
}

@media (max-width: 991px) {
  .index__head-icon {
    width: 140px;
  }
}

@media (max-width: 480px) {
  .index__head-icon {
    width: 120px;
  }
}

@media (max-width: 374px) {
  .index__head-icon {
    width: 90px;
  }
}

.index__head-content {
  padding-right: 50px;
}

@media (max-width: 1199px) {
  .index__head-content {
    padding-right: 10px;
  }
}

@media (max-width: 991px) {
  .index__head-content {
    padding-left: 30px;
    padding-right: 0;
    width: calc( 100% - 140px);
  }
}

@media (max-width: 480px) {
  .index__head-content {
    width: calc( 100% - 120px);
    padding-left: 15px;
  }
}

@media (max-width: 374px) {
  .index__head-content {
    width: calc( 100% - 90px);
    padding-left: 5px;
  }
}

.index__head-title {
  font-size: 3.75em;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.03em;
  line-height: 1.2;
  margin-top: 10px;
}

@media (max-width: 1199px) {
  .index__head-title {
    font-size: 3.125em;
  }
}

@media (max-width: 991px) {
  .index__head-title {
    font-size: 2.5em;
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  .index__head-title {
    font-size: 1.875em;
  }
}

@media (max-width: 374px) {
  .index__head-title {
    font-size: 1.625em;
  }
}

.index__head-text {
  font-size: 1.25em;
  color: #ffffff;
  letter-spacing: 0.01em;
  line-height: 1.5;
  margin-top: 15px;
}

@media (max-width: 1199px) {
  .index__head-text {
    font-size: 1.125em;
  }
}

@media (max-width: 991px) {
  .index__head-text {
    font-size: 1em;
  }
}

@media (max-width: 480px) {
  .index__head-text {
    margin-top: 5px;
  }
}

@media (max-width: 374px) {
  .index__head-text {
    font-size: 0.875em;
  }
}

.index__body {
  width: 616px;
  padding-top: 44px;
  padding-bottom: 44px;
}

@media (max-width: 1199px) {
  .index__body {
    width: 55%;
  }
}

@media (max-width: 1199px) {
  .index__body {
    width: 60%;
  }
}

@media (max-width: 991px) {
  .index__body {
    width: 100%;
  }
}

.index__block {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: calc( 100% + 20px);
  margin-left: -10px;
  margin-right: -10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media (max-width: 480px) {
  .index__block {
    width: calc( 100% + 10px);
    margin-left: -5px;
    margin-right: -5px;
  }
}

.index__item {
  width: calc(50% - 20px);
  min-height: 260px;
  margin-top: 20px;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 14px;
  background: #ffffff;
  padding: 30px 40px 25px;
  position: relative;
}

@media (max-width: 1199px) {
  .index__item {
    padding-left: 30px;
    padding-right: 30px;
    min-height: auto;
  }
}

@media (max-width: 480px) {
  .index__item {
    width: calc(50% - 10px);
    margin-left: 5px;
    margin-right: 5px;
    margin-top: 10px;
    padding: 20px 15px;
  }
}

.index__item:nth-child(1) {
  margin-top: 0;
}

.index__item:nth-child(2) {
  margin-top: 0;
}

.index__item::before {
  content: "";
  display: block;
  width: 340px;
  height: 58px;
  position: absolute;
  bottom: -58px;
  left: calc(50% - 170px);
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

@media (max-width: 767px) {
  .index__item::before {
    width: 110%;
    left: -5%;
  }
}

@media (hover: hover) {
  .index__item:hover::before {
    opacity: 1;
  }
}

.index__item--orange .index__item-title {
  color: #de6700;
}

.index__item--orange::before {
  background: url("/images/index/index-item-bg-1.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item--tiffanyBlue .index__item-title {
  color: #3d8688;
}

.index__item--tiffanyBlue::before {
  background: url("/images/index/index-item-bg-2.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item--pink .index__item-title {
  color: #ce6383;
}

.index__item--pink::before {
  background: url("/images/index/index-item-bg-3.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item--green .index__item-title {
  color: #77915d;
}

.index__item--green::before {
  background: url("/images/index/index-item-bg-4.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item--blue .index__item-title {
  color: #647ab1;
}

.index__item--blue::before {
  background: url("/images/index/index-item-bg-5.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item--brown .index__item-title {
  color: #b8825f;
}

.index__item--brown::before {
  background: url("/images/index/index-item-bg-6.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item--purple .index__item-title {
  color: #8977c6;
}

.index__item--purple::before {
  background: url("/images/index/index-item-bg-7.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.index__item-icon img {
  height: 82px;
}

@media (max-width: 1199px) {
  .index__item-icon img {
    height: 70px;
  }
}

@media (max-width: 991px) {
  .index__item-icon img {
    height: 60px;
  }
}

@media (max-width: 480px) {
  .index__item-icon img {
    height: 50px;
  }
}

.index__item-title {
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 20px;
  margin-right: -22px;
}

@media (max-width: 1199px) {
  .index__item-title {
    font-size: 1.625em;
    margin-top: 10px;
    margin-right: 0;
  }
}

@media (max-width: 991px) {
  .index__item-title {
    margin-right: 0;
  }
}

@media (max-width: 480px) {
  .index__item-title {
    font-size: 1.25em;
  }
}

.index__item-text {
  font-size: 1.125em;
  color: #606060;
  line-height: 1.33;
  margin-top: 10px;
}

@media (max-width: 1199px) {
  .index__item-text {
    font-size: 1em;
    margin-top: 5px;
  }
}

.inside {
  background: url("/images/common/inside-bg.jpg"), #f4f5f7;
  background-position: center bottom;
  background-size: auto;
  background-repeat: no-repeat;
  min-height: 908px;
  overflow: hidden;
  padding-top: 90px;
  padding-bottom: 174px;
}

@media (max-width: 991px) {
  .inside {
    min-height: 90vh;
  }
}

@media (max-width: 767px) {
  .inside {
    min-height: 80vh;
    background-size: 800px auto;
    padding-top: 60px;
    padding-bottom: 100px;
  }
}

.state {
  width: 570px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (max-width: 767px) {
  .state {
    width: 100%;
  }
}

.state--maintain {
  width: 680px;
}

@media (max-width: 767px) {
  .state--maintain {
    width: 100%;
  }
}

.state--maintain .state__btn {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .state__icon img {
    width: 300px;
  }
}

@media (max-width: 480px) {
  .state__icon img {
    width: 70%;
  }
}

.state__title {
  font-size: 3.75em;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-top: 50px;
}

@media (max-width: 767px) {
  .state__title {
    font-size: 2.5em;
    margin-top: 30px;
  }
}

@media (max-width: 480px) {
  .state__title {
    font-size: 2.125em;
  }
}

.state__text {
  font-size: 1.25em;
  letter-spacing: 0.01em;
  line-height: 1.5;
  margin-top: 35px;
}

@media (max-width: 767px) {
  .state__text {
    font-size: 1.125em;
    margin-top: 25px;
  }
}

@media (max-width: 480px) {
  .state__text {
    font-size: 1em;
  }
}

.state__text.red, .state__text .red {
  color: #ee2737;
}

.state__btn {
  margin-top: 80px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc( 100% + 90px);
  margin-left: -45px;
  margin-right: -45px;
}

@media (max-width: 767px) {
  .state__btn {
    width: calc( 100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    margin-top: 40px;
  }
}

@media (max-width: 480px) {
  .state__btn {
    width: calc( 100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
  }
}

.state__btn .btn {
  margin-left: 45px;
  margin-right: 45px;
}

@media (max-width: 767px) {
  .state__btn .btn {
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media (max-width: 480px) {
  .state__btn .btn {
    margin-left: 8px;
    margin-right: 8px;
  }
}

.otp {
  width: 600px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (max-width: 767px) {
  .otp {
    width: 100%;
  }
}

.otp__head {
  font-size: 1.25em;
  color: #464646;
  letter-spacing: 0.01em;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .otp__head {
    font-size: 1em;
  }
}

.otp__head::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#ee2737), to(#eb5a3c));
  background: linear-gradient(to right, #ee2737 0%, #eb5a3c 100%);
  margin-top: 24px;
}

.otp__body {
  padding-top: 30px;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 480px) {
  .otp__body {
    padding-left: 0;
    padding-right: 0;
  }
}

.otp .form__block {
  min-height: 390px;
}

@media (max-width: 767px) {
  .otp .form__block {
    min-height: auto;
  }
}

@media (min-width: 375px) {
  .otp .form__label {
    width: 130px;
  }
  .otp .form__input, .otp .form__selectbox, .otp .form__calendar {
    width: calc( 100% - 130px);
  }
}

@media (min-width: 768px) {
  .otp .form__label {
    width: 210px;
  }
  .otp .form__input, .otp .form__selectbox, .otp .form__calendar {
    width: calc( 100% - 210px);
  }
}

.otp2 {
  width: 600px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (max-width: 767px) {
  .otp2 {
    width: 100%;
  }
}

.otp2__head {
  font-size: 3em;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.03em;
  line-height: 1.25;
}

@media (max-width: 767px) {
  .otp2__head {
    font-size: 1.875em;
  }
}

.otp2__head::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#ee2737), to(#eb5a3c));
  background: linear-gradient(to right, #ee2737 0%, #eb5a3c 100%);
  margin-top: 24px;
}

.otp2__body {
  padding-top: 30px;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 480px) {
  .otp2__body {
    padding-left: 0;
    padding-right: 0;
  }
}

.otp2 .form__block {
  min-height: 390px;
}

@media (max-width: 767px) {
  .otp2 .form__block {
    min-height: auto;
  }
}

@media (min-width: 375px) {
  .otp2 .form__label {
    width: 200px;
  }
  .otp2 .form__input, .otp2 .form__selectbox, .otp2 .form__calendar {
    width: calc( 100% - 200px);
  }
}

@media (min-width: 768px) {
  .otp2 .form__label {
    width: 254px;
  }
  .otp2 .form__input, .otp2 .form__selectbox, .otp2 .form__calendar {
    width: calc( 100% - 254px);
  }
}

.mid {
  width: 600px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (max-width: 767px) {
  .mid {
    width: 100%;
  }
}

.mid__head-title {
  font-size: 3em;
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.03em;
  line-height: 1.25;
}

@media (max-width: 767px) {
  .mid__head-title {
    font-size: 1.875em;
  }
}

.mid__head hr {
  display: block;
  width: 100%;
  height: 2px;
  border: none;
  background: -webkit-gradient(linear, left top, right top, from(#ee2737), to(#eb5a3c));
  background: linear-gradient(to right, #ee2737 0%, #eb5a3c 100%);
  margin-top: 24px;
  margin-bottom: 20px;
}

.mid__head-text {
  font-size: 1.25em;
  margin-top: 10px;
}

.mid__head-msg {
  font-size: 1.5em;
  color: #ee2737;
}

.mid__body {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
}

@media (max-width: 480px) {
  .mid__body {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 375px) {
  .mid .form__label {
    width: 130px;
  }
  .mid .form__input, .mid .form__selectbox, .mid .form__calendar {
    width: calc( 100% - 130px);
  }
}

@media (min-width: 768px) {
  .mid .form__label {
    width: 210px;
  }
  .mid .form__input, .mid .form__selectbox, .mid .form__calendar {
    width: calc( 100% - 210px);
  }
  .mid .form__btn {
    margin-top: 40px;
  }
}

@media (min-width: 375px) {
  .mid--style .form__label {
    width: 200px;
  }
  .mid--style .form__input, .mid--style .form__selectbox, .mid--style .form__calendar {
    width: calc( 100% - 200px);
  }
}

@media (min-width: 768px) {
  .mid--style .form__label {
    width: 236px;
  }
  .mid--style .form__input, .mid--style .form__selectbox, .mid--style .form__calendar {
    width: calc( 100% - 236px);
  }
  .mid--style .form__btn {
    margin-top: 50px;
  }
}

.mt0 {
  margin-top: 0;
}

.mb0 {
  margin-bottom: 0;
}
