.fontVDL {
  font-family: VDL-LogoG, sans-serif;
  -ms-font-feature-settings: "normal";
}

.fontNotto {
  font-family: ff-netto-web, sans-serif;
  -ms-font-feature-settings: "normal";
}

.enLang .fontVDL {
  font-family: ff-netto-web, sans-serif;
}

.zhLang .fontVDL {
  font-family: 'Noto Sans SC', sans-serif;
}
.zhLang div, .zhLang applet, .zhLang object, .zhLang iframe, .zhLang h1, .zhLang h2, .zhLang h3, .zhLang h4, .zhLang h5, .zhLang h6, .zhLang p, .zhLang blockquote, .zhLang pre, .zhLang abbr, .zhLang acronym, .zhLang address, .zhLang big, .zhLang cite, .zhLang code, .zhLang del, .zhLang dfn, .zhLang em, .zhLang font, .zhLang img, .zhLang ins, .zhLang kbd, .zhLang q, .zhLang s, .zhLang samp, .zhLang small, .zhLang strike, .zhLang strong, .zhLang sub, .zhLang sup, .zhLang tt, .zhLang var, .zhLang u, .zhLang i, .zhLang center, .zhLang dl, .zhLang dt, .zhLang dd, .zhLang ol, .zhLang ul, .zhLang fieldset, .zhLang form, .zhLang label, .zhLang legend, .zhLang table, .zhLang caption, .zhLang section, .zhLang article, .zhLang aside, .zhLang hgroup, .zhLang header, .zhLang footer, .zhLang nav, .zhLang dialog, .zhLang figure, .zhLang menu, .zhLang video, .zhLang audio, .zhLang mark, .zhLang time, .zhLang canvas, .zhLang details, .zhLang input, .zhLang textarea {
  font-family: 'Noto Sans SC', sans-serif;
}
.zhLang .fontNotto {
  font-family: ff-netto-web, sans-serif;
  -ms-font-feature-settings: "normal";
}

.overlayFrame {
  display: none;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  position: relative;
  left: 0;
  top: 0;
  z-index: 100000;
  background-color: #002465;
  width: 100%;
}
.overlayFrame iframe {
  position: relative;
  z-index: 100;
  width: 100%;
  height: 100%;
}

.overlayFrameMat {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  background-color: #002465;
}

@media print, screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
}
.fixedWidth {
  margin-right: auto;
  margin-left: auto;
  width: 980px;
}

.siteHeader {
  position: relative;
  top: 0;
  left: 0;
  z-index: 100;
  padding: 15px 30px 15px 20px;
  width: 100%;
  min-width: 980px;
}
.siteHeader.siteHeader--fixed {
  position: fixed;
  top: -100px !important;
  z-index: 10000;
  background: rgba(255, 255, 255, 0.8);
  transition: top 0.3s ease;
}
.siteHeader.siteHeader--fixed .logo {
  padding-top: 0;
}
.siteHeader.siteHeader--fixed .navLang {
  display: none;
}
.siteHeader.siteHeader--fixed .navMain {
  margin-top: 15px;
}
.siteHeader.siteHeader--fixed.siteHeader--fixed--on {
  top: 0 !important;
}
.siteHeader .logo {
  float: left;
  padding-top: 5px;
}
.siteHeader .navWrap {
  float: right;
  text-align: right;
}
.siteHeader .navWrap li {
  display: inline-block;
}
.siteHeader .navWrap .language-chooser,
.siteHeader .navWrap .navLang {
  margin-bottom: 15px;
  font-size: 1.3rem;
  font-family: ff-netto-web, sans-serif;
  -ms-font-feature-settings: "normal";
}
.siteHeader .navWrap .language-chooser li a,
.siteHeader .navWrap .navLang li a {
  background-color: #FFF;
  padding: 3px 15px;
  transition: background 0.25s ease, color 0.25s ease, border 0.25s ease;
  border-radius: 100px;
  border: 1px solid #FFF;
}
.siteHeader .navWrap .language-chooser li a.trans:hover,
.siteHeader .navWrap .navLang li a.trans:hover {
  border: 1px solid #002465;
}
.siteHeader .navWrap .language-chooser li a.current,
.siteHeader .navWrap .navLang li a.current {
  background-color: #002465;
  border: 1px solid #002465;
  color: #FFF;
}
.siteHeader .navWrap .language-chooser li.active a,
.siteHeader .navWrap .navLang li.active a {
  background-color: #002465;
  border: 1px solid #002465;
  color: #FFF;
}
.siteHeader .navWrap .navMain {
  font-size: 1.8rem;
}
.siteHeader .navWrap .navMain li {
  margin: 0 20px;
}
@media screen and (max-width: 1080px) {
  .siteHeader .navWrap .navMain li {
    margin: 0 10px;
  }
}
.siteHeader .navWrap .navMain li:last-child {
  margin-right: 0;
}
.siteHeader .navWrap .navMain li a {
  display: block;
  overflow: hidden;
  color: #002465;
  background-image: linear-gradient(to right, transparent 50%, #002465 50%);
  background-position: 0 0;
  background-size: 220% auto;
  padding: 0 .3em;
  transition: background .3s;
}
.siteHeader .navWrap .navMain li a.trans:hover {
  background-position: -100% 0;
  background-size: 200% auto;
  color: #fff;
}

.siteFooter {
  position: relative;
  background-color: #FFF;
  padding: 20px 25px;
}
.siteFooter .siteFooter__totop {
  position: absolute;
  left: 0;
  top: -48px;
  z-index: 100;
  width: 100%;
  text-align: center;
}
.siteFooter .siteFooter__totop a {
  display: inline-block;
  position: relative;
}
.siteFooter .siteFooter__totop a.trans:hover {
  animation: bounce 1s ease-in-out 1 normal 0s none running;
}
.siteFooter .snsLinkItems {
  float: right;
}
.siteFooter .copy {
  float: left;
  display: inline-block;
  padding-top: 15px;
  color: #666666;
  font-size: 1.2rem;
}

@keyframes bounce {
  0% {
    transform: scaleX(1);
  }
  20% {
    transform: scaleX(1.15);
  }
  40% {
    transform: scaleX(1);
  }
  60% {
    transform: scaleX(1.1);
  }
  80% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(1.01);
  }
}
.snsLinkItems {
  display: flex;
  text-align: right;
}
.snsLinkItems li {
  display: inline-block;
  margin-left: 7px;
}

.snsLinkItems__x {
  width: 37px;
  height: 37px;
  border: 1px solid #002465;
  border-radius: 9999px;
}
.snsLinkItems__x:hover {
  background-color: #002465;
}
.snsLinkItems__x a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #002465;
  mask: url('/common/img/icon/icon_x.svg') no-repeat center/40%;
}
.snsLinkItems__x a:hover {
  background: url('/common/img/icon/icon_x.svg') no-repeat center/40%;
  mask: none;
}

.wrapTableDefault {
  position: relative;
  color: #002465;
}
.wrapTableDefault th, .wrapTableDefault td {
  padding: 15px;
  font-size: 1.5rem;
  vertical-align: top;
}
.wrapTableDefault th {
  padding-right: 10px;
  padding-left: 30px;
  width: 150px;
  text-align: left;
  border-right: 2px solid #002465;
}
.wrapTableDefault td {
  padding-left: 30px;
}
.wrapTableDefault td .wrapButtonA {
  display: inline-block;
}
.wrapTableDefault td .wrapButtonA a {
  display: inline-block;
  margin-top: 3px;
}
.wrapTableDefault td .button--a {
  top: -3px;
  margin-left: 15px;
  vertical-align: top;
}
.wrapTableDefault:before, .wrapTableDefault:after {
  display: block;
  content: "";
  position: absolute;
  background-color: #FFF;
  width: 2px;
  height: 2px;
  border: 3px solid #002465;
  border-radius: 100px;
  left: 146px;
}
.wrapTableDefault:before {
  top: -10px;
}
.wrapTableDefault:after {
  bottom: -10px;
}

.icon {
  position: relative;
  display: inline-block;
  background: 0 0 no-repeat;
  background-size: 100% auto;
  vertical-align: top;
  line-height: 1;
}
.icon.icon--arrow {
  background-image: url(../img/icon/icon_arrow.svg);
  width: 17px;
  height: 12px;
}
.icon.icon--arrowBack {
  background-image: url(../img/icon/icon_arrow_back.svg);
  width: 17px;
  height: 12px;
}
.icon.icon--arrowW {
  background-image: url(../img/icon/icon_arrow_w.svg);
  width: 17px;
  height: 12px;
}
.icon.icon--list {
  background-image: url(../img/icon/icon_list.svg);
  width: 30px;
  height: 30px;
}
.icon.icon--i {
  background-image: url(../img/icon/icon_i.svg);
  width: 16px;
  height: 16px;
}
.icon.icon--tel {
  background-image: url(../img/icon/icon_tel.svg);
  width: 31px;
  height: 42px;
}
.icon.icon--require {
  background-color: #f2ff63;
  padding: 3px 5px 3px 5px;
  color: #002465;
  font-size: 1.5rem;
}

.button {
  cursor: pointer;
  position: relative;
  display: inline-block;
  padding: 10px;
  vertical-align: top;
  line-height: 1.1;
  text-decoration: none;
  user-select: none;
  border: 0;
}
.button.button--a {
  padding: 7px 15px 9px 15px;
  border: 1px solid #002465;
  border-radius: 100px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: bold;
}
.button.button--a.trans {
  transition: background 0.4s ease, color 0.4s ease;
}
.button.button--a.trans:hover {
  background-color: #002465;
  color: #FFF;
}
.button.button--default {
  background-color: #002465;
  padding: 20px 45px;
  color: #FFF;
  font-size: 1.6rem;
  text-align: center;
  border-radius: 100px;
  border: 2px solid #002465;
}
.button.button--default .icon--arrowW {
  transition: right 0.2s ease;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px;
}
.button.button--default.trans {
  transition: all 0.4s ease;
}
.button.button--default.trans:hover {
  background-color: #FFF;
  color: #002465 !important;
}
.button.button--default.trans:hover .icon--arrowW {
  right: 16px;
  background-image: url(../img/icon/icon_arrow.svg);
}
.button.button--close, .button.button--white {
  background-color: #FFF;
  padding: 20px 45px;
  color: #002465 !important;
  font-size: 1.6rem;
  text-align: center;
  border-radius: 100px;
  font-weight: bold;
  border: 2px solid #FFF;
  text-decoration: none !important;
}
.button.button--close .icon--arrow, .button.button--white .icon--arrow {
  transition: right 0.2s ease;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px;
}
.button.button--close.trans, .button.button--white.trans {
  transition: background 0.4s ease, color 0.4s ease, border 0.4s ease;
}
.button.button--close.trans:hover, .button.button--white.trans:hover {
  background-color: #002465;
  color: #FFF !important;
  border-color: #FFF;
}
.button.button--close.trans:hover .icon--arrow, .button.button--white.trans:hover .icon--arrow {
  right: 16px;
  background-image: url(../img/icon/icon_arrow_w.svg);
}
.button.button--close:before {
  display: block;
  content: "";
  position: relative;
  display: inline-block;
  margin-top: 2px;
  margin-right: 10px;
  margin-left: -10px;
  background: url(../img/icon/icon_close.svg) 0 0 no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 14px;
}
.button.button--close.trans:hover:before {
  background-image: url(../img/icon/icon_close_w.svg);
}
.button.button--submit {
  background-color: #FFF;
  padding: 30px;
  font-size: 1.8rem;
  border-radius: 100px;
  color: #002465;
  border: 2px solid #FFF;
}
.button.button--submit:after {
  display: block;
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6px;
  background: url(../img/icon/icon_arrow.svg) 0 0 no-repeat;
  background-size: 100% auto;
  width: 17px;
  height: 12px;
}
.button.button--submit.trans {
  transition: background 0.4s ease, color 0.4s ease, border 0.4s ease;
}
.button.button--submit.trans:hover {
  background-color: #002465;
  color: #FFF !important;
}
.button.button--submit.trans:hover:after {
  right: 16px;
  background-image: url(../img/icon/icon_arrow_w.svg);
}
.button.button--back {
  background-color: #cdeef5;
  padding: 30px;
  font-size: 1.8rem;
  border-radius: 100px;
  color: #002465;
  border: 2px solid #cdeef5;
}
.button.button--back:after {
  display: block;
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  margin-top: -8px;
  background: url(../img/icon/icon_arrow_back.svg) 0 0 no-repeat;
  background-size: 100% auto;
  width: 17px;
  height: 12px;
}
.button.button--back.trans {
  transition: all 0.4s ease;
}
.button.button--back.trans:hover {
  background-color: #002465;
  color: #FFF !important;
  border-color: #FFF;
}
.button.button--back.trans:hover:after {
  left: 16px;
  background-image: url(../img/icon/icon_arrow_back_w.svg);
}
.button.button--modalClose {
  display: none;
  position: absolute;
  right: 40px;
  top: 30px;
  z-index: 111111;
  background: transparent;
  padding: 0;
  width: 36px;
  height: 36px;
  padding-bottom: 5.2rem;
}
.button.button--modalClose span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #FFF;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
}
.button.button--modalClose span:nth-child(1) {
  top: 15px;
  transform: rotate(135deg);
}
.button.button--modalClose span:nth-child(2) {
  top: 15px;
  transform: rotate(-135deg);
}
.button.button--modalClose b {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  color: #FFF;
  font-size: 1.4rem;
}

.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.error404 .iframe-loader,
.error404 .iframe-loader:after {
  display: none;
}

#loader1 {
  display: none;
  z-index: 99999;
}

.iframe-loader,
.iframe-loader:after {
  border-radius: 50%;
  width: 90px;
  height: 90px;
}

.iframe-loader {
  position: fixed;
  left: 50%;
  top: 40%;
  margin-top: -45px;
  margin-left: -45px;
  font-size: 10px;
  text-indent: -9999em;
  border-top: 8px solid rgba(255, 255, 255, 0.2);
  border-right: 8px solid rgba(255, 255, 255, 0.2);
  border-bottom: 8px solid rgba(255, 255, 255, 0.2);
  border-left: 8px solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
