@charset "UTF-8";
/*============================================================
	Contact
============================================================*/
/*  form
-------------------------------------------------*/
#contact__form .inner .container h3 {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 1em;
}
#contact__form .inner .container p {
  text-align: center;
  margin-bottom: 3.125rem;
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container p {
    margin-bottom: 2.3076923077rem;
    line-height: 1.8;
  }
}
#contact__form .inner .container p small {
  display: block;
  color: #c1272d;
  margin-top: 1em;
}
#contact__form .inner .container dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1.875rem;
  margin-bottom: 1.875rem;
  border-bottom: solid 1px #ccc;
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: 1.1538461538rem;
    margin-bottom: 1.1538461538rem;
  }
}
#contact__form .inner .container dl.last {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
#contact__form .inner .container dl dt {
  font-weight: 400;
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  #contact__form .inner .container dl dt {
    width: 32%;
    padding-top: 0.625rem;
  }
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container dl dt {
    margin-bottom: 0.3846153846rem;
  }
}
#contact__form .inner .container dl dt span {
  display: inline-block;
  position: relative;
  padding-right: 3.125rem;
}
#contact__form .inner .container dl dt span::before, #contact__form .inner .container dl dt span::after {
  position: absolute;
  width: 2.5rem;
  height: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
#contact__form .inner .container dl dt span::before {
  content: "";
  background: #c1272d;
}
#contact__form .inner .container dl dt span::after {
  content: "必須";
  text-align: center;
  line-height: 1.25rem;
  color: #fff;
  font-size: 0.75rem;
}
#contact__form .inner .container dl dt span.en {
  padding-right: 4.375rem;
}
#contact__form .inner .container dl dt span.en::before, #contact__form .inner .container dl dt span.en::after {
  width: 3.75rem;
}
#contact__form .inner .container dl dt span.en::after {
  content: "Required";
}
#contact__form .inner .container dl dt span.cn::after {
  content: "必填";
}
#contact__form .inner .container dl dd {
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  #contact__form .inner .container dl dd {
    width: 68%;
  }
}
#contact__form .inner .container dl dd ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}
#contact__form .inner .container dl dd ul li:not(:last-child) {
  margin-right: 1.25rem;
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container dl dd ul li:not(:last-child) {
    margin-right: 0.3846153846rem;
  }
}
#contact__form .inner .container dl dd ul li.half {
  width: calc((100% - 1.25rem) / 2);
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container dl dd ul li.half {
    width: calc((100% - 0.3846153846rem) / 2);
  }
}
#contact__form .inner .container dl dd ul li.radio {
  text-align: center;
  width: calc((100% - 2.5rem) / 3);
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container dl dd ul li.radio {
    width: calc((100% - 0.7692307692rem) / 3);
  }
}
#contact__form .inner .container dl dd ul li.radio.left {
  text-align: left;
}
#contact__form .inner .container dl dd .option {
  width: 100%;
  margin-top: 1.25rem;
}
#contact__form .inner .container dl dd .option a {
  color: #bf973d;
  text-decoration: underline;
}
#contact__form .inner .container dl dd #addition,
#contact__form .inner .container dl dd #addition2 {
  margin-top: 0.625rem;
}
#contact__form .inner .container dl dd.column ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#contact__form .inner .container dl dd.column ul li:not(:last-child) {
  margin-right: 0;
  margin-bottom: 0.625rem;
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container dl dd.column ul li:not(:last-child) {
    margin-bottom: 0.3846153846rem;
  }
}
#contact__form .inner .container .agree {
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container .agree {
    margin-top: 2.3076923077rem;
  }
}
#contact__form .inner .container .agree label {
  padding: 0.4em 0;
}
#contact__form .inner .container .btn {
  background: #bf973d;
  border-color: #bf973d;
  margin: 3.125rem auto 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  #contact__form .inner .container .btn {
    margin: 2.3076923077rem auto 0;
  }
}
#contact__form .inner .container .btn:hover {
  background: #fff;
  color: #bf973d;
}
#contact__form .inner .container .btn:hover::after {
  border-right-color: #bf973d;
  border-bottom-color: #bf973d;
}

.mfp_err {
  display: none;
  color: #c1272d;
  margin-top: 0.5em;
  font-size: 90%;
}

#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
}

#mfp_overlay_background {
  display: none !important;
}

#mfp_phase_confirm {
  display: none;
}
#mfp_phase_confirm #mfp_phase_confirm_inner h4 {
  text-align: center;
  margin-bottom: 3.125rem;
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner h4 {
    margin-bottom: 2.3076923077rem;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner table {
  width: 100%;
}
#mfp_phase_confirm #mfp_phase_confirm_inner table tr {
  width: 100%;
  border-bottom: solid 1px #ccc;
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner table tr {
    display: block;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner table th,
#mfp_phase_confirm #mfp_phase_confirm_inner table td {
  padding: 1.25rem 0;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner table th,
  #mfp_phase_confirm #mfp_phase_confirm_inner table td {
    width: 100%;
    display: list-item;
    list-style: none;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner table th {
  font-weight: 400;
}
@media print, screen and (min-width: 768px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner table th {
    width: 38%;
  }
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner table th {
    padding: 1.1538461538rem 0 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner table td {
    width: 62%;
  }
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner table td {
    padding: 1.1538461538rem 0;
    font-size: 1.0769230769rem;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.875rem;
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons {
    margin-top: 1.1538461538rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons .mfp_element_button {
  width: 17.5rem;
  height: 4.375rem;
  line-height: 4.375rem;
  border-radius: 2.1875rem;
  text-align: center;
  font-size: 1.125rem;
  border: solid 1px #bf973d;
  color: #fff;
  margin-right: 1.875rem;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons .mfp_element_button {
    width: 20rem;
    height: 4.2307692308rem;
    line-height: 4.2307692308rem;
    border-radius: 2.1153846154rem;
    font-size: 1.1538461538rem;
    margin-right: unset;
    margin-bottom: 1.1538461538rem;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons .mfp_element_button::after {
  position: absolute;
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
  right: 1.875rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons .mfp_element_button::after {
    width: 0.5rem;
    height: 0.5rem;
    right: 1.9230769231rem;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons .mfp_element_button:hover {
  opacity: 1;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons .mfp_element_button:hover::after {
  right: 1.25rem;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send {
  background: #bf973d;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send:hover {
  background: transparent;
  color: #bf973d;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send:hover::after {
  border-right-color: #bf973d;
  border-bottom-color: #bf973d;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel {
  background: #999;
  border-color: #999;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel::after {
  right: unset;
  left: 1.875rem;
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}
@media only screen and (max-width: 767px) {
  #mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel::after {
    left: 1.9230769231rem;
  }
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel:hover {
  background: transparent;
  color: #999;
  border-color: #999;
}
#mfp_phase_confirm #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel:hover::after {
  left: 1.25rem;
  border-right-color: #999;
  border-bottom-color: #999;
}

#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}

#mfp_loading {
  z-index: 20001;
  position: absolute;
  display: none;
  width: 2.5rem;
  height: 2.5rem;
  background-image: url(../img/contact/loading.svg);
}

.problem {
  background: rgba(193, 39, 45, 0.1);
}
.problem:focus {
  border-color: #c1272d;
}

.mfp_parent_error label {
  background: rgba(193, 39, 45, 0.1);
}

/*  modal
-------------------------------------------------*/
#luggage__size {
  display: none;
}

.modaal-content-container {
  padding: 1.875rem !important;
}
@media only screen and (max-width: 767px) {
  .modaal-content-container {
    padding: 1.1538461538rem !important;
  }
}
.modaal-content-container ul {
  width: 58.75rem;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .modaal-content-container ul {
    width: auto;
    grid-template-columns: repeat(2, 1fr);
  }
}
.modaal-content-container ul li figure {
  margin-bottom: 1.875rem;
}
.modaal-content-container ul li dl dt {
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  border-bottom: solid 1px #000;
  padding-bottom: 0.625rem;
  margin-bottom: 0.625rem;
}
.modaal-content-container ul li dl dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .modaal-content-container ul li dl dd {
    font-size: 0.9230769231rem;
  }
}
.modaal-content-container ul li dl dd span {
  display: block;
  width: 4.5em;
  margin-top: 0.5em;
  line-height: 1.2;
}
.modaal-content-container ul li dl dd p {
  width: calc(100% - 4.5em);
  margin-top: 0.5em;
  line-height: 1.2;
}
.modaal-content-container ul.en li dl dd span {
  width: 6.5em;
}
@media only screen and (max-width: 767px) {
  .modaal-content-container ul.en li dl dd span {
    width: 5em;
  }
}
.modaal-content-container ul.en li dl dd p {
  width: calc(100% - 6.5em);
}
@media only screen and (max-width: 767px) {
  .modaal-content-container ul.en li dl dd p {
    width: calc(100% - 5em);
  }
}