@import url("./yakuhanjp.min.css");
@import url("./notsansjp.css");
@import url("./roboto.css");
@import url("./kosugimaru.css");
@font-face {
  font-family: 'grotesk-font';
  src: url(/assets/img/fonts/founders-grotesk-web-bold.woff2) format("woff2"), url(/assets/img/fonts/founders-grotesk-web-bold.woff) format("woff"), url(/assets/img/fonts/founders-grotesk-web-bold.eot) format("eot");
  font-weight: 700;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: 'grotesk-font';
  src: url(/assets/img/fonts/founders-grotesk-web-medium.woff2) format("woff2"), url(/assets/img/fonts/founders-grotesk-web-medium.woff) format("woff"), url(/assets/img/fonts/founders-grotesk-web-medium.eot) format("eot");
  font-weight: 500;
  font-style: normal;
  font-display: swap
}

@font-face {
  font-family: 'grotesk-font';
  src: url(/assets/img/fonts/founders-grotesk-web-regular.woff2) format("woff2"), url(/assets/img/fonts/founders-grotesk-web-regular.woff) format("woff"), url(/assets/img/fonts/founders-grotesk-web-regular.eot) format("eot");
  font-weight: 400;
  font-style: normal;
  font-display: swap
}

.trim {
  display: block;
  position: relative;
  z-index: 0
}

.trim img {
  position: absolute;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%
}

.trim::before {
  content: '';
  display: block;
  padding-top: 62.5%
}

.childnomargin>*:first-child {
  margin-top: 0 !important
}

.childnomargin>*:last-child {
  margin-bottom: 0 !important
}

.corner {
  position: relative
}

.corner::before, .corner::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.corner::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.corner::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline-color: #004b99
}

article, aside, details, figcaption, figure, header, footer, hgroup, menu, nav, section {
  display: block
}

ol, ul {
  list-style: none
}

hr {
  height: 0;
  border: 0
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

html {
  font-size: 10px
}

body {
  padding-top: 120px;
  font-family: YakuHanJP, "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  font-size: 16px;
  -moz-text-size-adjust: 100% !important;
  -ms-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  -webkit-text-size-adjust: 100% !important;
  background: url(/apps/assets/img/common/bg.svg);
  background-position: top left calc(50% - 50px);
  overflow-x: hidden;
  -ms-overflow-style: none;
  opacity: 0;
  -webkit-animation: animationFadein forwards;
  animation: animationFadein forwards;
  -webkit-animation-duration: 1s;
  animation-duration: 1s
}

@media screen and (max-width: 1199px) {
  body {
    padding-top: 60px;
    font-size: 14px
  }
}

@media screen and (max-width: 679px) {
  body {
    background-size: calc((100% - 20px * 2) / 5);
    background-position: top center
  }
}

@-webkit-keyframes animationFadein {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

@keyframes animationFadein {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

svg {
  width: 1.4em;
  height: 1.4em;
  vertical-align: text-bottom
}

a {
  color: #0588c3;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

a:hover, a:active, a:focus {
  text-decoration: none
}

a img, a svg {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  fill: #0588c3
}

a:hover img {
  opacity: 0.75
}

::-moz-selection {
  background: #0588c3;
  color: #fff
}

::selection {
  background: #0588c3;
  color: #fff
}

::-moz-selection {
  background: #0588c3;
  color: #fff
}

.outline * {
  outline: 1px solid #ddd
}

.block-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding-right: 40px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #004b99;
  overflow: hidden;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  color: #fff;
  line-height: 1.2;
  z-index: 10
}

@media screen and (max-width: 1199px) {
  .block-header {
    padding-right: 10px;
    overflow: unset
  }
}

@media screen and (min-width: 1200px) {
  .block-header.min h1 {
    width: 20%;
    padding: 15px
  }
  .block-header.min h1 small {
    display: none
  }
  .block-header.min h1 svg {
    max-width: 210px;
    max-height: 30px
  }
  .block-header.min .elem-useritem .text {
    height: 0;
    opacity: 0;
    pointer-events: none
  }
}

.block-header a {
  color: #fff;
  text-decoration: none
}

.block-header svg {
  fill: #fff
}

.block-header h1 {
  text-align: center;
  width: 24%;
  padding: 25px;
  background: #001948;
  position: relative;
  margin-right: 2vw;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .block-header h1 {
    width: 180px;
    height: 60px;
    padding: 10px 20px;
    background: none
  }
}

.block-header h1::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 120px 40px 0 0;
  border-color: #001948 transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 100%
}

@media screen and (max-width: 1199px) {
  .block-header h1::after {
    display: none
  }
}

.block-header h1 a {
  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: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.block-header h1 a:hover {
  opacity: 0.85
}

.block-header h1 small {
  display: block;
  margin-bottom: 1em;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap
}

@media screen and (max-width: 1199px) {
  .block-header h1 small {
    display: none
  }
}

.block-header h1 svg {
  width: 100%;
  max-width: 280px;
  max-height: 40px
}

@media screen and (max-width: 1199px) {
  .block-header h1 svg {
    max-width: 140px
  }
}

.block-header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: auto;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .block-header nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    width: 100vw;
    height: calc(100vh - 60px);
    top: 60px;
    left: 100%;
    background: #004b99;
    opacity: 0
  }
}

.block-header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (max-width: 1199px) {
  .block-header nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 20px
  }
}

.block-header nav ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.block-header nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 1vw;
  padding: 15px 0;
  font-size: 17px;
  letter-spacing: 0.05em;
  position: relative;
  text-align: center
}

@media screen and (max-width: 1199px) {
  .block-header nav ul li a {
    font-size: 16px
  }
}

@media screen and (min-width: 1200px) {
  .block-header nav ul li a::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 1px;
    position: absolute;
    left: 50%;
    bottom: 5px;
    background: #fff;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
  }
}

.block-header nav ul li a svg {
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.25em
}

@media screen and (max-width: 1199px) {
  .block-header nav ul li a svg {
    width: 20px
  }
}

.block-header nav ul li a:hover::after {
  width: 100%
}

@media screen and (min-width: 1200px) {
  .block-header nav ul li.hide-pc {
    display: none
  }
}

.block-header .elem-lang {
  margin: 0 20px 0 15px
}

.block-header .elem-useritem {
  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-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (max-width: 1199px) {
  .block-header .elem-useritem {
    margin-left: auto
  }
}

.block-header .elem-useritem .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 0.5em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0.5em;
  font-size: 12px;
  letter-spacing: 0.05em
}

@media screen and (max-width: 1199px) {
  .block-header .elem-useritem .text {
    display: none
  }
}

.block-header .elem-useritem .text:hover {
  text-decoration: underline
}

.block-header .elem-useritem .text svg {
  margin-right: 0.3em
}

.block-header .elem-open {
  width: 50px;
  height: 42px;
  margin-left: 10px;
  position: relative
}

.block-header .elem-open::before, .block-header .elem-open::after {
  content: "";
  display: inline-block;
  width: calc(100% - 20px);
  height: 2px;
  background: #fff;
  position: absolute;
  left: 10px
}

.block-header .elem-open::before {
  top: 10px
}

.block-header .elem-open::after {
  bottom: 10px
}

.block-header .elem-open i {
  display: block;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: calc(100% - 20px);
  height: 2px;
  background: #fff
}

.block-header .elem-open i::before, .block-header .elem-open i::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (min-width: 1200px) {
  .block-header .elem-open {
    display: none
  }
}

@media screen and (max-width: 1199px) {
  .block-header.open nav {
    left: 0;
    opacity: 1
  }
}

.block-header.open .elem-open::before, .block-header.open .elem-open::after {
  background: none
}

.block-header.open .elem-open i {
  background: none
}

.block-header.open .elem-open i::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.block-header.open .elem-open i::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.page-minsize {
  padding-top: 90px
}

@media screen and (max-width: 1199px) {
  .page-minsize {
    padding-top: 60px
  }
}

.page-minsize .block-header h1 {
  background: none
}

.page-minsize .block-header h1::after {
  display: none
}

.page-minsize .block-wrap {
  padding-top: 80px
}

@media screen and (max-width: 1199px) {
  .page-minsize .block-wrap {
    padding-top: 40px
  }
}

.block-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #004b99;
  padding: 80px 20px;
  overflow: hidden;
  position: relative
}

@media screen and (max-width: 1199px) {
  .block-footer {
    padding: 0 0 40px
  }
}

.block-footer a {
  color: #fff;
  text-decoration: none
}

.block-footer .gotop {
  position: absolute;
  right: 40px;
  bottom: 40px;
  z-index: 9
}

@media screen and (max-width: 1199px) {
  .block-footer .gotop {
    text-align: left;
    right: 20px;
    bottom: 20px
  }
}

@media screen and (min-width: 1200px) {
  .block-footer .gotop br {
    display: none
  }
}

.block-footer .gotop .elem-button {
  padding: 0.5em 1em 0.5em 2em
}

@media screen and (max-width: 1199px) {
  .block-footer .gotop .elem-button {
    width: 60px;
    min-width: inherit;
    padding: 0.5em
  }
}

@media screen and (max-width: 1199px) {
  .block-footer .gotop .elem-button span {
    display: block
  }
}

@media screen and (max-width: 1199px) {
  .block-footer .gotop .elem-button span:nth-child(2) {
    margin-right: -0.5em
  }
}

.block-footer .gotop .elem-button svg {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

@media screen and (max-width: 1199px) {
  .block-footer .gotop .elem-button svg {
    margin-left: -0.3em
  }
}

.block-footer nav {
  width: 100%;
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: auto
}

.block-footer nav>ul {
  width: 25%
}

@media screen and (max-width: 1199px) {
  .block-footer nav>ul {
    width: 100%
  }
}

@media screen and (max-width: 1199px) {
  .block-footer nav>ul>li {
    border-bottom: solid #001948 1px
  }
}

.block-footer nav>ul>li>a {
  display: inline-block;
  padding-bottom: 0.75em;
  font-size: 17px;
  font-weight: 500
}

@media screen and (max-width: 1199px) {
  .block-footer nav>ul>li>a {
    display: block;
    padding: 1em 20px;
    font-size: 15px
  }
}

@media screen and (max-width: 1199px) {
  .block-footer nav>ul>li ul {
    background: #001948;
    padding: 1em 0
  }
}

.block-footer nav>ul>li ul li {
  position: relative
}

@media screen and (min-width: 1200px) {
  .block-footer nav>ul>li ul li {
    padding: 0.5em 0
  }
}

.block-footer nav>ul>li ul li a {
  display: inline-block;
  padding-left: 40px;
  font-size: 16px;
  font-weight: inherit;
  position: relative
}

@media screen and (max-width: 1199px) {
  .block-footer nav>ul>li ul li a {
    display: block;
    padding: 1em 20px 1em 40px;
    font-size: 14px
  }
}

.block-footer nav>ul>li ul li a::before {
  content: "";
  display: inline-block;
  display: inline-block;
  width: 12px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 10px;
  background: #fff;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .block-footer nav>ul>li ul li a::before {
    left: 20px
  }
}

@media screen and (min-width: 1200px) {
  .block-footer nav>ul>li ul li a:hover::before {
    width: 20px
  }
}

.block-footer nav>ul .toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.block-footer nav>ul .toggle svg {
  width: 20px;
  height: 20px;
  fill: #fff
}

@media screen and (min-width: 1200px) {
  .block-footer nav>ul .toggle svg {
    display: none
  }
}

.block-footer nav>ul .toggle.open svg {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

.block-footer nav .elem-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 25%
}

.block-footer nav .elem-box>*:first-child {
  margin-top: 0 !important
}

.block-footer nav .elem-box>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .block-footer nav .elem-box {
    width: 260px;
    margin: auto;
    padding: 40px 0
  }
}

.block-footer nav .elem-box>* {
  margin-bottom: 30px
}

.block-copy {
  text-align: center;
  padding: 2em;
  font-size: 14px;
  color: #555
}

@media screen and (max-width: 1199px) {
  .block-copy {
    padding: 1.5em
  }
}

.grecaptcha-badge {
  z-index: 10
}

.block-recaptcha {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 40px
}

.hide {
  display: none
}

.hide-pc {
  display: none
}

@media screen and (max-width: 1199px) {
  .hide-pc {
    display: inherit
  }
}

.hide-sp {
  display: inherit
}

@media screen and (max-width: 1199px) {
  .hide-sp {
    display: none
  }
}

.left {
  text-align: left
}

.right {
  text-align: right
}

.center {
  text-align: center
}

.cgray {
  color: #222
}

.cblue {
  color: #004b99
}

.cbluel {
  color: #0588c3
}

.cred {
  color: #b7282e
}

.credl {
  color: #d53f65
}

.cbrown {
  color: #986c0f
}

.cgreen {
  color: #028760
}

.cpurple {
  color: #65318e
}

.creddish {
  color: #96514D
}

.block-wrap {
  max-width: 1240px;
  margin: auto;
  padding: 0 20px
}

.block-wrap>*:first-child {
  margin-top: 0 !important
}

.block-wrap>*:last-child {
  margin-bottom: 0 !important
}

.block-wrap>*:last-child:not(.elem-breadcrumb) {
  margin-bottom: 80px !important
}

@media screen and (max-width: 1199px) {
  .block-wrap>*:last-child:not(.elem-breadcrumb) {
    margin-bottom: 40px !important
  }
}

@media screen and (max-width: 1199px) {
  .block-wrap {
    padding: 0 20px
  }
}

.block-wrap .block-inner {
  width: 100%;
  margin-bottom: 80px
}

@media screen and (max-width: 1199px) {
  .block-wrap .block-inner {
    margin-bottom: 40px
  }
}

.block-wrap .block-inner.large {
  margin: 0 auto 80px;
  max-width: 1000px
}

@media screen and (max-width: 1199px) {
  .block-wrap .block-inner.large {
    margin: 0 auto 40px
  }
}

.block-wrap .block-inner.medium {
  margin: 0 auto 80px;
  max-width: 800px
}

@media screen and (max-width: 1199px) {
  .block-wrap .block-inner.medium {
    margin: 0 auto 40px
  }
}

.block-wrap .block-inner.small {
  margin: 0 auto 80px;
  max-width: 500px
}

@media screen and (max-width: 1199px) {
  .block-wrap .block-inner.small {
    margin: 0 auto 40px
  }
}

.block-wrap .block-inner.overflow {
  width: 100vw;
  margin-left: calc(-50vw + 50%)
}

.block-wrap h2, .block-wrap h3, .block-wrap h4, .block-wrap h5, .block-wrap h6 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0.5em;
  font-weight: 500
}

.block-wrap h2 svg, .block-wrap h3 svg, .block-wrap h4 svg, .block-wrap h5 svg, .block-wrap h6 svg {
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  margin-right: 0.25em
}

.block-wrap h2.center, .block-wrap h3.center, .block-wrap h4.center, .block-wrap h5.center, .block-wrap h6.center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.block-wrap h2.left, .block-wrap h3.left, .block-wrap h4.left, .block-wrap h5.left, .block-wrap h6.left {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}

.block-wrap h2.right, .block-wrap h3.right, .block-wrap h4.right, .block-wrap h5.right, .block-wrap h6.right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}

.block-wrap h2.linetitle, .block-wrap h3.linetitle, .block-wrap h4.linetitle, .block-wrap h5.linetitle, .block-wrap h6.linetitle {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 1em
}

.block-wrap h2.linetitle::before, .block-wrap h2.linetitle::after, .block-wrap h3.linetitle::before, .block-wrap h3.linetitle::after, .block-wrap h4.linetitle::before, .block-wrap h4.linetitle::after, .block-wrap h5.linetitle::before, .block-wrap h5.linetitle::after, .block-wrap h6.linetitle::before, .block-wrap h6.linetitle::after {
  content: "";
  display: inline-block;
  width: 3em;
  height: 1px;
  margin-top: 0.15em;
  background: #222;
  vertical-align: middle
}

@media screen and (max-width: 1199px) {
  .block-wrap h2.linetitle::before, .block-wrap h2.linetitle::after, .block-wrap h3.linetitle::before, .block-wrap h3.linetitle::after, .block-wrap h4.linetitle::before, .block-wrap h4.linetitle::after, .block-wrap h5.linetitle::before, .block-wrap h5.linetitle::after, .block-wrap h6.linetitle::before, .block-wrap h6.linetitle::after {
    width: 1.5em
  }
}

.block-wrap h2.linetitle::before, .block-wrap h3.linetitle::before, .block-wrap h4.linetitle::before, .block-wrap h5.linetitle::before, .block-wrap h6.linetitle::before {
  margin-right: 0.5em
}

.block-wrap h2.linetitle::after, .block-wrap h3.linetitle::after, .block-wrap h4.linetitle::after, .block-wrap h5.linetitle::after, .block-wrap h6.linetitle::after {
  margin-left: 0.5em
}

.block-wrap h2 {
  font-size: 32px
}

@media screen and (max-width: 1199px) {
  .block-wrap h2 {
    font-size: 24px
  }
}

.block-wrap h2 svg {
  width: 1.1em;
  height: 1.1em
}

.block-wrap h3 {
  font-size: 20px
}

@media screen and (max-width: 1199px) {
  .block-wrap h3 {
    font-size: 18px
  }
}

.block-wrap h4 {
  font-size: 18px
}

@media screen and (max-width: 1199px) {
  .block-wrap h4 {
    font-size: 16px
  }
}

.block-wrap h5, .block-wrap h6 {
  font-size: 16px
}

@media screen and (max-width: 1199px) {
  .block-wrap h5, .block-wrap h6 {
    font-size: 14px
  }
}

.block-wrap p {
  line-height: 1.8;
  margin-bottom: 1.5em
}

.block-wrap a {
  position: relative
}

.block-wrap a:not([class])[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.25em;
  background: url(/apps/assets/img/common/icon/open_in_new_bluel_24dp.svg) no-repeat;
  background-size: 1em;
  vertical-align: middle
}

.block-wrap small {
  font-size: 14px
}

@media screen and (max-width: 1199px) {
  .block-wrap small {
    font-size: 12px
  }
}

.block-wrap figure {
  margin-bottom: 1.5em
}

.block-wrap img {
  max-width: 100%
}

.block-wrap hr {
  border-top: solid #222 1px;
  margin: 3em 0
}

.block-wrap ul:not([class]), .block-wrap ol:not([class]) {
  padding-left: 1.5em;
  margin-bottom: 1.5em
}

.block-wrap ul:not([class]) li, .block-wrap ol:not([class]) li {
  position: relative;
  padding: 0.25em 0
}

.block-wrap ul:not([class]) li {
  list-style: none
}

.block-wrap ul:not([class]) li::before {
  content: "・";
  font-weight: 700;
  position: absolute;
  left: -1em
}

.block-wrap ol:not([class]) li {
  list-style: decimal
}

.block-wrap table {
  width: 100%;
  border-top: solid #ddd 1px;
  margin-bottom: 1.5em;
  background: #fff
}

.block-wrap table caption {
  padding: 1em 20px;
  font-weight: 600;
  background: #222;
  color: #fff
}

.block-wrap table tr {
  border-bottom: solid #ddd 1px
}

.block-wrap table tr th, .block-wrap table tr td {
  padding: 1em 20px 1em 0
}

.block-wrap table tr th:last-child, .block-wrap table tr td:last-child {
  padding-right: 0
}

.block-wrap table tr th {
  font-weight: 500;
  text-align: left
}

@media screen and (max-width: 1199px) {
  .block-wrap table.breaksp th, .block-wrap table.breaksp td {
    display: block;
    padding-right: 0
  }
}

@media screen and (max-width: 1199px) {
  .block-wrap table.breaksp th+th, .block-wrap table.breaksp th+td, .block-wrap table.breaksp td+th, .block-wrap table.breaksp td+td {
    padding-top: 0
  }
}

.block-wrap table.listsum {
  border: none
}

.block-wrap table.listsum tr {
  border-color: #222
}

.block-wrap table.listsum th, .block-wrap table.listsum td {
  padding-top: 0.75em;
  padding-bottom: 0.75em
}

.block-wrap table.sideline {
  text-align: center
}

.block-wrap table.sideline tr {
  border: none
}

.block-wrap table.sideline th, .block-wrap table.sideline td {
  border: solid #ddd 1px;
  padding: 1em 0.5em
}

.block-wrap table.sideline th {
  background: #f5f5f5;
  text-align: center
}

.block-wrap .tag {
  display: inline-block;
  color: #fff;
  background: #004b99;
  font-size: 12px;
  border-radius: 3px;
  padding: 0.1em 1.25em;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 500;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.block-wrap .tag.gray {
  background: #222
}

.block-wrap .tag.blue {
  background: #004b99
}

.block-wrap .tag.bluel {
  background: #0588c3
}

.block-wrap .tag.red {
  background: #b7282e
}

.block-wrap .tag.redl {
  background: #d53f65
}

.block-wrap .tag.brown {
  background: #986c0f
}

.block-wrap .tag.green {
  background: #028760
}

.block-wrap .tag.purple {
  background: #65318e
}

.block-wrap .tag.reddish {
  background: #96514D
}

.block-wrap .tag.orange {
  background: #E75E19
}

.block-wrap .tag.large {
  font-size: 14px;
  border-radius: 6px;
  margin: 0 1.9em 0 0;
  padding: 0.1em 0.5em 0;
  line-height: 1.9;
}

.block-wrap .trip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 400
}

@media screen and (max-width: 1199px) {
  .block-wrap .trip {
    width: 100%;
    margin-top: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

.block-wrap .trip .tag {
  margin-right: 0.5em
}

.block-wrap .trip p {
  margin: 0
}

.block-wrap .trip svg {
  width: 36px;
  height: 36px;
  margin: 0 1em
}

@media screen and (max-width: 1199px) {
  .block-wrap .trip svg {
    width: 28px;
    height: 28px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
  }
}

.block-wrap .price {
  font-size: 140%;
  font-weight: 600;
  font-family: 'Roboto';
  margin: 0 0.25em
}

.elem-lang {
  text-align: center
}

.elem-lang select {
  background: #004b99;
  border: none;
  color: #fff;
  font-size: 15px;
  outline: none
}

.elem-lang svg {
  fill: #fff
}

.block-manevisual {
  position: relative
}

.block-manevisual::before {
  content: "";
  display: block;
  padding-top: 45%
}

@media screen and (max-width: 1199px) {
  .block-manevisual::before {
    padding-top: 62.5%
  }
}

.block-manevisual .elem-slide {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 0
}

.block-manevisual .elem-slide a, .block-manevisual .elem-slide span {
  display: block;
  position: relative;
  z-index: 0
}

.block-manevisual .elem-slide a img, .block-manevisual .elem-slide span img {
  position: absolute;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%
}

.block-manevisual .elem-slide a::before, .block-manevisual .elem-slide span::before {
  content: '';
  display: block;
  padding-top: 62.5%
}

.block-manevisual .elem-slide a::before, .block-manevisual .elem-slide span::before {
  padding-top: 45%;
  pointer-events: none
}

@media screen and (max-width: 1199px) {
  .block-manevisual .elem-slide a::before, .block-manevisual .elem-slide span::before {
    padding-top: 62.5%
  }
}

.block-manevisual .elem-slide.slick-dotted {
  margin-bottom: 0
}

.block-manevisual .elem-slide .slick-dots {
  overflow: hidden;
  position: absolute;
  bottom: 140px
}

@media screen and (max-width: 1199px) {
  .block-manevisual .elem-slide .slick-dots {
    bottom: 70px
  }
}

.block-manevisual .elem-slide .slick-dots li {
  width: 12px;
  height: 12px;
  margin: 0 6px
}

.block-manevisual .elem-slide .slick-dots li button::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 1
}

.block-manevisual .elem-slide .slick-dots li.slick-active button::before {
  background: #004b99
}

.block-manevisual .block-search {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 1240px;
  margin-top: -50px;
  padding: 0 20px;
  pointer-events: none;
  z-index: 1
}

@media screen and (max-width: 1199px) {
  .block-manevisual .block-search {
    position: relative;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
  }
}

.block-manevisual .block-search .elem-search {
  pointer-events: visible;
  margin: 0
}

@media screen and (min-width: 1200px) {
  .block-manevisual .block-search .elem-search {
    max-width: 400px;
    margin: 0
  }
}

.block-manevisual .block-search .elem-search .elem-head {
  padding: 0.65em
}

.block-manevisual .block-search .elem-search .elem-contents {
  padding: 30px
}

@media screen and (max-width: 1199px) {
  .block-manevisual .block-search .elem-search .elem-contents {
    padding: 30px 20px
  }
}

.block-manevisual .block-search .elem-search .elem-contents h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1em;
  font-size: 24px;
  line-height: 1
}

@media screen and (max-width: 1199px) {
  .block-manevisual .block-search .elem-search .elem-contents h3 {
    font-size: 22px
  }
}

.elem-lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin: -100px 0 0;
  background: #fff;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1)
}

@media screen and (max-width: 1199px) {
  .elem-lead {
    margin: 40px 0 0
  }
}

.elem-lead .text {
  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: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 50%;
  padding: 60px
}

.elem-lead .text>*:first-child {
  margin-top: 0 !important
}

.elem-lead .text>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-lead .text {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
    padding: 30px 20px
  }
}

.elem-lead .text h3 {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  color: #986c0f;
  font-size: 30px;
  margin-bottom: 1em;
  line-height: 1.4;
  border: solid #986c0f 2px;
  position: relative;
  text-align: center
}

@media screen and (max-width: 1199px) {
  .elem-lead .text h3 {
    font-size: 20px
  }
}

.elem-lead .text h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: calc(100% - 40px);
  height: calc(100% + 4px);
  background: #fff;
  z-index: 0
}

.elem-lead .text h3 strong {
  position: relative
}

.elem-lead .text p {
  width: 100%;
  font-weight: 500;
  line-height: 2
}

.elem-lead figure {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  width: 50%;
  margin: 0;
  line-height: 0
}

@media screen and (max-width: 1199px) {
  .elem-lead figure {
    width: 100%
  }
}

.elem-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.elem-banner>*:first-child {
  margin-top: 0 !important
}

.elem-banner>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (min-width: 680px) {
  .elem-banner>*:nth-last-child(2) {
    margin-bottom: 0 !important
  }
}

@media screen and (max-width: 679px) {
  .elem-banner {
    margin-bottom: 40px
  }
}

.elem-banner>a {
  line-height: 0
}

@media screen and (min-width: 680px) {
  .elem-banner>a {
    max-width: 560px;
    width: 48%;
    margin-bottom: 60px
  }
}

@media screen and (max-width: 679px) {
  .elem-banner>a {
    margin-bottom: 20px
  }
}

.elem-banner>a:not([class])[target="_blank"]::after {
  background: url(/apps/assets/img/common/icon/open_in_new_white_24dp.svg) no-repeat;
  background-size: 1em;
  position: absolute;
  right: 0.5em;
  bottom: 0.5em
}

.elem-iconbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.elem-iconbox>*:first-child {
  margin-top: 0 !important
}

.elem-iconbox>*:last-child {
  margin-bottom: 0 !important
}

.elem-iconbox a {
  position: relative;
  display: block;
  width: 22.5%;
  padding: 2.5%;
  background: #f8f8f8;
  color: #222;
  text-decoration: none;
  text-align: center;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-iconbox a::before, .elem-iconbox a::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.elem-iconbox a::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.elem-iconbox a::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

@media screen and (max-width: 679px) {
  .elem-iconbox a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
    text-align: left
  }
}

.elem-iconbox a svg {
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  fill: #555
}

@media screen and (max-width: 1199px) {
  .elem-iconbox a svg {
    width: 30px;
    height: 30px;
    margin-top: 20px
  }
}

.elem-iconbox a dl {
  margin-bottom: 20px
}

@media screen and (max-width: 1199px) {
  .elem-iconbox a dl {
    width: calc(100% - 30px);
    padding-left: 20px
  }
}

.elem-iconbox a dl dt {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 0.5em
}

.elem-iconbox a dl dd {
  font-size: 13px;
  line-height: 1.8;
  text-align: left
}

.elem-iconbox a .center {
  width: 100%
}

.elem-iconbox a:hover {
  color: #986c0f;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.elem-iconbox a:hover svg {
  fill: #986c0f
}

.elem-iconbox a:hover .elem-button {
  background: #986c0f
}

.elem-news {
  margin-bottom: 40px
}

@media screen and (max-width: 1199px) {
  .elem-news {
    margin-bottom: 20px
  }
}

.elem-news li {
  position: relative;
  margin-bottom: 20px;
  background: #f8f8f8
}

.elem-news li::before, .elem-news li::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.elem-news li::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.elem-news li::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

.elem-news li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1em 2em;
  text-decoration: none;
  color: #222
}

.elem-news li a>*:first-child {
  margin-top: 0 !important
}

.elem-news li a>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-news li a {
    padding: 1em 20px
  }
}

.elem-news li a time {
  font-weight: 600;
  margin-right: 1em
}

.elem-news li a .tag {
  margin-right: 1em;
  padding: 0.1em 0.75em
}

@media screen and (max-width: 1199px) {
  .elem-news li a p {
    width: 100%;
    margin-top: 0.5em
  }
}

.elem-news li a:hover {
  color: #986c0f
}

.elem-news li a:hover .tag {
  background: #986c0f
}

@media screen and (min-width: 680px) {
  .elem-redirect {
    text-align: center
  }
}

.elem-redirect strong {
  display: block;
  font-size: 200px;
  font-family: 'Roboto';
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #ddd;
  text-align: center;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

@media screen and (max-width: 679px) {
  .elem-redirect strong {
    font-size: 100px
  }
}

.elem-user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 40px;
  background: #f5f5f5
}

.elem-user .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 55%;
  padding: 30px 40px;
  background: #222;
  color: #fff
}

@media screen and (max-width: 1199px) {
  .elem-user .name {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px
  }
}

.elem-user .name h2 {
  font-size: 20px
}

@media screen and (max-width: 1199px) {
  .elem-user .name h2 {
    font-size: 18px
  }
}

.elem-user .name .point {
  color: #222;
  font-weight: 600;
  text-align: center
}

@media screen and (max-width: 1199px) {
  .elem-user .name .point {
    font-size: 12px
  }
}

.elem-user .name .point a {
  display: block;
  text-decoration: none;
  padding: 10px 20px;
  background: #fff;
  border-radius: 3px
}

.elem-user .name .point a strong {
  display: block;
  font-size: 15px;
  color: #222;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-user .name .point a small {
  display: block;
  font-size: 12px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  letter-spacing: 0.05em;
  font-weight: 500
}

.elem-user .name .point a:hover {
  background: #0588c3
}

.elem-user .name .point a:hover strong, .elem-user .name .point a:hover small {
  color: #fff
}

.elem-user .buttons {
  width: 45%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px
}

@media screen and (max-width: 1199px) {
  .elem-user .buttons {
    width: 100%
  }
}

.elem-user .buttons .elem-button {
  margin: 1em
}

.elem-user .corner {
  width: 100%
}

.elem-user .corner>*:first-child {
  margin-top: 0 !important
}

.elem-user .corner>*:last-child {
  margin-bottom: 0 !important
}

.elem-reservation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background: #f8f8f8;
  margin-bottom: 40px
}

.elem-reservation::before, .elem-reservation::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.elem-reservation::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.elem-reservation::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

@media screen and (max-width: 1199px) {
  .elem-reservation {
    margin-bottom: 20px
  }
}

.elem-reservation:last-child {
  margin-bottom: 0
}

.elem-reservation dt {
  width: 32%;
  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: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 30px 40px;
  background: #eee
}

@media screen and (max-width: 1199px) {
  .elem-reservation dt {
    width: 100%;
    padding: 20px
  }
}

.elem-reservation dt h3 {
  font-size: 16px;
  margin-bottom: 1em
}

@media screen and (max-width: 1199px) {
  .elem-reservation dt h3 {
    font-size: 14px
  }
}

.elem-reservation dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 68%
}

@media screen and (max-width: 1199px) {
  .elem-reservation dd {
    width: 100%
  }
}

.elem-reservation dd .item {
  width: 100%;
  border-bottom: solid #ddd 1px;
  padding: 20px 30px;
  position: relative
}

@media screen and (max-width: 1199px) {
  .elem-reservation dd .item {
    padding: 20px
  }
}

@media screen and (min-width: 1200px) {
  .elem-reservation dd .item.research {
    padding: 20px 190px 20px 30px
  }
}

.elem-reservation dd .item:last-child {
  border: none
}

.elem-reservation dd .item h4 {
  font-size: 16px;
  margin-bottom: 0
}

@media screen and (max-width: 1199px) {
  .elem-reservation dd .item h4 {
    font-size: 14px
  }
}

.elem-reservation dd .elem-button {
  margin-top: 10px;
  float: right
}

.elem-reservation dd .elem-cancel {
  text-align: left;
  margin-left: auto;
  min-width: 145px;
  transition-duration: 1s;
  margin-bottom: 7px;
}

@media screen and (min-width: 1200px) {
  .elem-reservation dd .elem-button {
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%)
  }
}

@media screen and (min-width: 1200px) {
  .elem-reservation dd .elem-cancel {
    top: 20%;
    margin-bottom: -7px;
    text-align: left;
    transition-duration: 1s;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
}

.elem-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.elem-breadcrumb:first-child {
  padding: 30px 0 40px
}

@media screen and (max-width: 1199px) {
  .elem-breadcrumb:first-child {
    padding: 15px 0 20px
  }
}

.elem-breadcrumb:last-child {
  padding: 0 0 30px
}

@media screen and (max-width: 1199px) {
  .elem-breadcrumb:last-child {
    padding: 0 0 15px
  }
}

.elem-breadcrumb li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 4px 0
}

.elem-breadcrumb li:last-child::after {
  display: none
}

.elem-breadcrumb li::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0.5em;
  border-style: solid;
  border-width: 3px 0 3px 6px;
  border-color: transparent transparent transparent #222
}

.elem-breadcrumb li a {
  color: #222;
  fill: #222;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none
}

.elem-breadcrumb li a svg {
  fill: #222
}

.elem-breadcrumb li a:hover {
  color: #0588c3
}

.elem-breadcrumb li a:hover svg {
  fill: #0588c3
}

.elem-breadcrumb li a:not([href]) {
  color: #222
}

.elem-breadcrumb li a:not([href]) svg {
  fill: #222
}

.elem-breadcrumb li:last-child a {
  pointer-events: none
}

.elem-search {
  background: #fff;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  margin-bottom: 80px
}

@media screen and (max-width: 1199px) {
  .elem-search {
    margin-bottom: 40px
  }
}

.elem-search .elem-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 60px;
  background: #222;
  color: #fff
}

@media screen and (max-width: 1199px) {
  .elem-search .elem-head {
    padding: 15px 20px
  }
}

.elem-search .elem-head time {
  font-size: 16px
}

.elem-search .elem-head time+h3 {
  width: 80%
}

@media screen and (max-width: 1199px) {
  .elem-search .elem-head time+h3 {
    width: 100%
  }
}

@media screen and (max-width: 1199px) {
  .elem-search .elem-head time {
    width: 100%
  }
}

.elem-search .elem-head h3 {
  margin: 0;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  font-weight: 500
}

@media screen and (max-width: 1199px) {
  .elem-search .elem-head h3 {
    width: 100%;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
}

.elem-search .elem-contents {
  padding: 40px 60px
}

@media screen and (max-width: 1199px) {
  .elem-search .elem-contents {
    padding: 30px 20px
  }
}

.elem-search+.elem-resulttext {
  margin: -20px 0 60px
}

@media screen and (max-width: 1199px) {
  .elem-search+.elem-resulttext {
    margin: 0 0 20px
  }
}

.elem-resulttext {
  margin: 0 0 60px
}

@media screen and (max-width: 1199px) {
  .elem-resulttext {
    margin: 0 0 20px
  }
}

.elem-result {
  position: relative;
  background: #f8f8f8;
  margin-bottom: 80px
}

.elem-result::before, .elem-result::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.elem-result::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.elem-result::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

@media screen and (max-width: 1199px) {
  .elem-result {
    margin-bottom: 40px
  }
}

.elem-result .postit {
  height: 30px;
  position: absolute;
  top: -30px;
  left: 60px;
  padding: 0 1.2em;
  background: #222;
  color: #fff;
  line-height: 30px
}

@media screen and (max-width: 1199px) {
  .elem-result .postit {
    height: 24px;
    top: -24px;
    left: 20px;
    line-height: 24px
  }
}

.elem-result .elem-head {
  background: #eee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.elem-result .elem-head>* {
  max-width: 100%;
  padding: 20px 60px
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head>* {
    padding: 15px 20px
  }
}

.elem-result .elem-head h3 {
  display: block;
  margin: 0;
  font-weight: 500
}

.elem-result .elem-head h3>*:first-child {
  margin-top: 0 !important
}

.elem-result .elem-head h3>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 679px) {
  .elem-result .elem-head h3 {
    width: 100%
  }
}

.elem-result .elem-head h3 small {
  display: block;
  color: #555;
  font-size: 13px
}

.elem-result .elem-head h3.center {
  width: 100%
}

.elem-result .elem-head h3 p {
  font-size: 16px
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head h3 p {
    font-size: 14px
  }
}

.elem-result .elem-head h3.qrlink {
  width: 100%;
  position: relative;
  padding: 20px 20px 20px 60px
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head h3.qrlink {
    padding: 20px
  }
}

.elem-result .elem-head h3.qrlink .elem-button {
  display: block;
  padding: 0.25em;
  border-radius: 3px;
  min-width: inherit;
  overflow: hidden;
  font-size: 13px
}

@media screen and (min-width: 1200px) {
  .elem-result .elem-head h3.qrlink .elem-button {
    width: 120px;
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    text-align: left
  }
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head h3.qrlink .elem-button {
    margin-top: 8px
  }
}

.elem-result .elem-head h3.qrlink .elem-button svg {
  width: 38px;
  height: 38px
}

@media screen and (min-width: 1200px) {
  .elem-result .elem-head h3.qrlink .elem-button svg {
    float: left
  }
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head h3.qrlink .elem-button svg {
    width: 24px;
    height: 24px
  }
}

.elem-result .elem-head .elem-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head .elem-icon {
    font-size: 14px;
    padding-top: 0
  }
}

.elem-result .elem-head .elem-icon span {
  display: inline-block;
  margin: 0.2em 1em 0.2em 0;
  font-weight: 500;
  white-space: nowrap
}

.elem-result .elem-head .elem-icon svg {
  margin-right: 0.4em
}

.elem-result .elem-head .seat {
  font-weight: 500;
  white-space: nowrap
}

@media screen and (max-width: 679px) {
  .elem-result .elem-head .seat {
    margin-top: -10px;
    padding-top: 0
  }
}

.elem-result .elem-head .seat strong {
  font-size: 150%
}

.elem-result .elem-head .elem-text {
  min-width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 40px;
  border-left: solid #fff 2px
}

.elem-result .elem-head .elem-text>*:first-child {
  margin-top: 0 !important
}

.elem-result .elem-head .elem-text>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-head .elem-text {
    padding: 15px 20px
  }
}

@media screen and (max-width: 679px) {
  .elem-result .elem-head .elem-text {
    width: 100%;
    border-top: solid #fff 2px;
    border-left: none
  }
}

.elem-result .elem-head .elem-text p {
  line-height: 1.6
}

.elem-result .elem-head .elem-text .elem-form {
  width: 100%
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-contents .elem-round {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 1200px) {
  .elem-result .elem-contents .elem-round time {
    margin-right: 2em
  }
}

.elem-result .elem-contents .overline {
  border-top: solid #fff 2px;
  margin: 3em -60px
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-contents .overline {
    margin: 2em -20px
  }
}

.elem-result.minheight {
  margin-bottom: 40px
}

@media screen and (max-width: 679px) {
  .elem-result.minheight {
    margin-bottom: 20px
  }
}

.elem-result.minheight .elem-head>* {
  padding: 15px 60px
}

@media screen and (max-width: 1199px) {
  .elem-result.minheight .elem-head>* {
    padding: 15px 20px
  }
}

.elem-result.minheight .elem-contents {
  padding: 20px 60px 30px
}

@media screen and (max-width: 1199px) {
  .elem-result.minheight .elem-contents {
    padding: 20px
  }
}

.elem-result .elem-price {
  border-top: none
}

.elem-result .elem-price tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 20px
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price tr {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.75em 20px
  }
}

.elem-result .elem-price tr th, .elem-result .elem-price tr td {
  display: block;
  padding: 1em 0;
  width: 30%
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price tr th, .elem-result .elem-price tr td {
    width: 100%;
    padding: 0.25em 0
  }
}

@media screen and (min-width: 680px) {
  .elem-result .elem-price tr th:last-child, .elem-result .elem-price tr td:last-child {
    width: 40%
  }
}

.elem-result .elem-price tr th[colspan], .elem-result .elem-price tr td[colspan] {
  width: 60%
}

.elem-result .elem-price tr .elem-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.elem-result .elem-price tr .elem-btn .elem-button svg {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-result .elem-price tr .elem-btn .elem-button.open svg {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

.elem-result .elem-price tr:last-child {
  border-bottom: none
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price.sum tr th, .elem-result .elem-price.sum tr td {
    width: inherit
  }
}

.elem-result .elem-price.sum tr:first-child {
  border-bottom: none
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price.sum tr:first-child th, .elem-result .elem-price.sum tr:first-child td {
    width: 100%
  }
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price.sum tr:first-child .elem-btn .price {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price.sum tr:first-child .elem-btn .elem-button {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

.elem-result .elem-price.sum tr:nth-child(n+2) {
  border-bottom: none;
  font-size: 15px
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price.sum tr:nth-child(n+2) {
    padding: 0 20px;
    font-size: 14px
  }
}

.elem-result .elem-price.sum tr:nth-child(n+2) th, .elem-result .elem-price.sum tr:nth-child(n+2) td {
  padding: 0.25em 0
}

.elem-result .elem-price.sum tr:nth-child(2) {
  padding-top: 0.75em;
  border-top: solid #ddd 1px
}

.elem-result .elem-price.sum tr:last-child {
  padding-bottom: 0.75em
}

.elem-result .elem-price.sum .elem-btn .price, .elem-result .elem-price.sum .elem-btn .subtotal {
  display: block;
  width: 120px;
  text-align: right
}

@media screen and (max-width: 679px) {
  .elem-result .elem-price.sum .elem-btn .price, .elem-result .elem-price.sum .elem-btn .subtotal {
    width: 100px;
    margin: 0
  }
}

.elem-result .elem-people.elem-form {
  background: none;
  border-top: none
}

.elem-result .elem-people.elem-form input {
  width: 4em !important;
  margin: 0 10px;
  text-align: center
}

.elem-result .elem-people.elem-form input:disabled {
  background: #fff
}

@media screen and (max-width: 1199px) {
  .elem-result .elem-people.elem-form input {
    width: 3em !important;
    margin: 0 5px
  }
}

.elem-result .elem-people.elem-form button {
  width: 30px;
  height: 30px;
  padding: 0
}

@media screen and (max-width: 679px) {
  .elem-result .elem-people.elem-form button {
    width: 24px;
    height: 24px
  }
}

.elem-result .elem-people.elem-form .redl {
  background: #d53f65
}

.elem-result .elem-people.elem-form .bluel {
  background: #0588c3
}

.elem-result .elem-people.elem-form th {
  padding-right: 0
}

@media screen and (max-width: 679px) {
  .elem-result .elem-people.elem-form th {
    text-align: center
  }
}

.elem-result .elem-people.elem-form th small {
  display: inline-block
}

.elem-result .elem-people.elem-form td {
  text-align: center;
  padding-right: 0
}

.elem-busstop {
  margin-bottom: 1.6em;
  font-size: 15px
}

.elem-busstop>*:first-child {
  margin-top: 0 !important
}

.elem-busstop>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-busstop {
    font-size: 14px
  }
}

.elem-busstop li {
  margin-bottom: 0.6em;
  position: relative;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-busstop li {
    margin-bottom: 1em
  }
}

.elem-busstop li a {
  color: #222
}

.elem-busstop li a svg {
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.2em;
  position: relative;
  top: -1px
}

.elem-busstop li .tag~a svg {
  fill: #004b99
}

.elem-busstop li .tag.brown~a svg {
  fill: #986c0f
}

.elem-busstop li .elem-button {
  display: none;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  margin-bottom: 0;
  border-radius: 3px
}

.elem-busstop li .elem-button:hover {
  background: #555
}

.elem-busstop li .elem-button svg {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-busstop .toggle {
  height: 3.6em;
  padding-bottom: 30px;
  overflow: hidden
}

.elem-busstop .open {
  height: auto
}

.elem-busstop .open .elem-button svg {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

.elem-busstop span, .elem-busstop a {
  display: inline-block;
  margin: 0 1.5em 0.4em 0
}

@media screen and (max-width: 1199px) {
  .elem-busstop span, .elem-busstop a {
    margin: 0 1em 0.4em 0
  }
}

.elem-contents {
  padding: 40px 60px
}

.elem-contents>*:first-child {
  margin-top: 0 !important
}

.elem-contents>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-contents {
    padding: 30px 20px
  }
}

.elem-contents.notes {
  padding: 30px 60px 20px
}

.elem-contents.notes>*:first-child {
  margin-top: 0 !important
}

.elem-contents.notes>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-contents.notes {
    padding: 20px 20px 10px
  }
}

.reservationnum {
  background: #f8f8f8;
  margin-top: 2em;
  padding: 30px 40px
}

.reservationnum>*:first-child {
  margin-top: 0 !important
}

.reservationnum>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .reservationnum {
    padding: 30px 20px
  }
}

.reservationnum li {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  line-height: 1.8
}

@media screen and (max-width: 1199px) {
  .reservationnum li {
    font-size: 16px
  }
}

.elem-gray {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #fff;
  border: solid #eee 2px;
  color: #222;
  font-size: 15px
}

.elem-gray>*:first-child {
  margin-top: 0 !important
}

.elem-gray>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-gray {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-gray svg {
  fill: #222
}

.elem-gray h2.linetitle, .elem-gray h3.linetitle, .elem-gray h4.linetitle, .elem-gray h5.linetitle, .elem-gray h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #222 1px
}

.elem-gray h2.linetitle::before, .elem-gray h2.linetitle::after, .elem-gray h3.linetitle::before, .elem-gray h3.linetitle::after, .elem-gray h4.linetitle::before, .elem-gray h4.linetitle::after, .elem-gray h5.linetitle::before, .elem-gray h5.linetitle::after, .elem-gray h6.linetitle::before, .elem-gray h6.linetitle::after {
  display: none
}

.elem-gray h2.linetitle {
  margin-bottom: 0.5em
}

.elem-gray a svg {
  fill: #0588c3
}

.elem-gray hr {
  border-top: solid #eee 1px
}

.elem-gray table {
  background: none;
  border-color: #eee
}

.elem-gray table tr {
  border-color: #eee
}

.elem-gray table.sideline {
  background: #fff
}

.elem-gray table.sideline th, .elem-gray table.sideline td {
  border-color: #eee
}

.elem-gray table.sideline th {
  background: #fff
}

.elem-gray table.sideline td {
  background: #fff
}

.elem-gray .reservationnum {
  background: #fff;
  color: #555
}

.elem-blue {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #e4ecf4;
  border: solid #004b99 2px;
  color: #004b99;
  font-size: 15px
}

.elem-blue>*:first-child {
  margin-top: 0 !important
}

.elem-blue>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-blue {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-blue svg {
  fill: #004b99
}

.elem-blue h2.linetitle, .elem-blue h3.linetitle, .elem-blue h4.linetitle, .elem-blue h5.linetitle, .elem-blue h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #004b99 1px
}

.elem-blue h2.linetitle::before, .elem-blue h2.linetitle::after, .elem-blue h3.linetitle::before, .elem-blue h3.linetitle::after, .elem-blue h4.linetitle::before, .elem-blue h4.linetitle::after, .elem-blue h5.linetitle::before, .elem-blue h5.linetitle::after, .elem-blue h6.linetitle::before, .elem-blue h6.linetitle::after {
  display: none
}

.elem-blue h2.linetitle {
  margin-bottom: 0.5em
}

.elem-blue a svg {
  fill: #0588c3
}

.elem-blue hr {
  border-top: solid #004b99 1px
}

.elem-blue table {
  background: none;
  border-color: #004b99
}

.elem-blue table tr {
  border-color: #004b99
}

.elem-blue table.sideline {
  background: #fff
}

.elem-blue table.sideline th, .elem-blue table.sideline td {
  border-color: #004b99
}

.elem-blue table.sideline th {
  background: #fff
}

.elem-blue table.sideline td {
  background: #e4ecf4
}

.elem-blue .reservationnum {
  background: #fff;
  color: #001948
}

.elem-bluel {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: "";
  border: solid "" 2px;
  color: #0588c3;
  font-size: 15px
}

.elem-bluel>*:first-child {
  margin-top: 0 !important
}

.elem-bluel>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-bluel {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-bluel svg {
  fill: #0588c3
}

.elem-bluel h2.linetitle, .elem-bluel h3.linetitle, .elem-bluel h4.linetitle, .elem-bluel h5.linetitle, .elem-bluel h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #0588c3 1px
}

.elem-bluel h2.linetitle::before, .elem-bluel h2.linetitle::after, .elem-bluel h3.linetitle::before, .elem-bluel h3.linetitle::after, .elem-bluel h4.linetitle::before, .elem-bluel h4.linetitle::after, .elem-bluel h5.linetitle::before, .elem-bluel h5.linetitle::after, .elem-bluel h6.linetitle::before, .elem-bluel h6.linetitle::after {
  display: none
}

.elem-bluel h2.linetitle {
  margin-bottom: 0.5em
}

.elem-bluel a svg {
  fill: #0588c3
}

.elem-bluel hr {
  border-top: solid "" 1px
}

.elem-bluel table {
  background: none;
  border-color: ""
}

.elem-bluel table tr {
  border-color: ""
}

.elem-bluel table.sideline {
  background: #fff
}

.elem-bluel table.sideline th, .elem-bluel table.sideline td {
  border-color: ""
}

.elem-bluel table.sideline th {
  background: #fff
}

.elem-bluel table.sideline td {
  background: ""
}

.elem-bluel .reservationnum {
  background: #fff;
  color: ""
}

.elem-red {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #f7e8e8;
  border: solid #b7282e 2px;
  color: #b7282e;
  font-size: 15px
}

.elem-red>*:first-child {
  margin-top: 0 !important
}

.elem-red>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-red {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-red svg {
  fill: #b7282e
}

.elem-red h2.linetitle, .elem-red h3.linetitle, .elem-red h4.linetitle, .elem-red h5.linetitle, .elem-red h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #b7282e 1px
}

.elem-red h2.linetitle::before, .elem-red h2.linetitle::after, .elem-red h3.linetitle::before, .elem-red h3.linetitle::after, .elem-red h4.linetitle::before, .elem-red h4.linetitle::after, .elem-red h5.linetitle::before, .elem-red h5.linetitle::after, .elem-red h6.linetitle::before, .elem-red h6.linetitle::after {
  display: none
}

.elem-red h2.linetitle {
  margin-bottom: 0.5em
}

.elem-red a svg {
  fill: #0588c3
}

.elem-red hr {
  border-top: solid #b7282e 1px
}

.elem-red table {
  background: none;
  border-color: #b7282e
}

.elem-red table tr {
  border-color: #b7282e
}

.elem-red table.sideline {
  background: #fff
}

.elem-red table.sideline th, .elem-red table.sideline td {
  border-color: #b7282e
}

.elem-red table.sideline th {
  background: #fff
}

.elem-red table.sideline td {
  background: #f7e8e8
}

.elem-red .reservationnum {
  background: #fff;
  color: #530815
}

.elem-redl {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: "";
  border: solid "" 2px;
  color: #d53f65;
  font-size: 15px
}

.elem-redl>*:first-child {
  margin-top: 0 !important
}

.elem-redl>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-redl {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-redl svg {
  fill: #d53f65
}

.elem-redl h2.linetitle, .elem-redl h3.linetitle, .elem-redl h4.linetitle, .elem-redl h5.linetitle, .elem-redl h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #d53f65 1px
}

.elem-redl h2.linetitle::before, .elem-redl h2.linetitle::after, .elem-redl h3.linetitle::before, .elem-redl h3.linetitle::after, .elem-redl h4.linetitle::before, .elem-redl h4.linetitle::after, .elem-redl h5.linetitle::before, .elem-redl h5.linetitle::after, .elem-redl h6.linetitle::before, .elem-redl h6.linetitle::after {
  display: none
}

.elem-redl h2.linetitle {
  margin-bottom: 0.5em
}

.elem-redl a svg {
  fill: #0588c3
}

.elem-redl hr {
  border-top: solid "" 1px
}

.elem-redl table {
  background: none;
  border-color: ""
}

.elem-redl table tr {
  border-color: ""
}

.elem-redl table.sideline {
  background: #fff
}

.elem-redl table.sideline th, .elem-redl table.sideline td {
  border-color: ""
}

.elem-redl table.sideline th {
  background: #fff
}

.elem-redl table.sideline td {
  background: ""
}

.elem-redl .reservationnum {
  background: #fff;
  color: ""
}

.elem-brown {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #f9f4e9;
  border: solid #986c0f 2px;
  color: #986c0f;
  font-size: 15px
}

.elem-brown>*:first-child {
  margin-top: 0 !important
}

.elem-brown>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-brown {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-brown svg {
  fill: #986c0f
}

.elem-brown h2.linetitle, .elem-brown h3.linetitle, .elem-brown h4.linetitle, .elem-brown h5.linetitle, .elem-brown h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #986c0f 1px
}

.elem-brown h2.linetitle::before, .elem-brown h2.linetitle::after, .elem-brown h3.linetitle::before, .elem-brown h3.linetitle::after, .elem-brown h4.linetitle::before, .elem-brown h4.linetitle::after, .elem-brown h5.linetitle::before, .elem-brown h5.linetitle::after, .elem-brown h6.linetitle::before, .elem-brown h6.linetitle::after {
  display: none
}

.elem-brown h2.linetitle {
  margin-bottom: 0.5em
}

.elem-brown a svg {
  fill: #0588c3
}

.elem-brown hr {
  border-top: solid #986c0f 1px
}

.elem-brown table {
  background: none;
  border-color: #986c0f
}

.elem-brown table tr {
  border-color: #986c0f
}

.elem-brown table.sideline {
  background: #fff
}

.elem-brown table.sideline th, .elem-brown table.sideline td {
  border-color: #986c0f
}

.elem-brown table.sideline th {
  background: #fff
}

.elem-brown table.sideline td {
  background: #f9f4e9
}

.elem-brown .reservationnum {
  background: #fff;
  color: #4e3705
}

.elem-green {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #e4f2ee;
  border: solid "" 2px;
  color: #028760;
  font-size: 15px
}

.elem-green>*:first-child {
  margin-top: 0 !important
}

.elem-green>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-green {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-green svg {
  fill: #028760
}

.elem-green h2.linetitle, .elem-green h3.linetitle, .elem-green h4.linetitle, .elem-green h5.linetitle, .elem-green h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #028760 1px
}

.elem-green h2.linetitle::before, .elem-green h2.linetitle::after, .elem-green h3.linetitle::before, .elem-green h3.linetitle::after, .elem-green h4.linetitle::before, .elem-green h4.linetitle::after, .elem-green h5.linetitle::before, .elem-green h5.linetitle::after, .elem-green h6.linetitle::before, .elem-green h6.linetitle::after {
  display: none
}

.elem-green h2.linetitle {
  margin-bottom: 0.5em
}

.elem-green a svg {
  fill: #0588c3
}

.elem-green hr {
  border-top: solid "" 1px
}

.elem-green table {
  background: none;
  border-color: ""
}

.elem-green table tr {
  border-color: ""
}

.elem-green table.sideline {
  background: #fff
}

.elem-green table.sideline th, .elem-green table.sideline td {
  border-color: ""
}

.elem-green table.sideline th {
  background: #fff
}

.elem-green table.sideline td {
  background: #e4f2ee
}

.elem-green .reservationnum {
  background: #fff;
  color: ""
}

.elem-purple {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #eee9f3;
  border: solid "" 2px;
  color: #65318e;
  font-size: 15px
}

.elem-purple>*:first-child {
  margin-top: 0 !important
}

.elem-purple>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-purple {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-purple svg {
  fill: #65318e
}

.elem-purple h2.linetitle, .elem-purple h3.linetitle, .elem-purple h4.linetitle, .elem-purple h5.linetitle, .elem-purple h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #65318e 1px
}

.elem-purple h2.linetitle::before, .elem-purple h2.linetitle::after, .elem-purple h3.linetitle::before, .elem-purple h3.linetitle::after, .elem-purple h4.linetitle::before, .elem-purple h4.linetitle::after, .elem-purple h5.linetitle::before, .elem-purple h5.linetitle::after, .elem-purple h6.linetitle::before, .elem-purple h6.linetitle::after {
  display: none
}

.elem-purple h2.linetitle {
  margin-bottom: 0.5em
}

.elem-purple a svg {
  fill: #0588c3
}

.elem-purple hr {
  border-top: solid "" 1px
}

.elem-purple table {
  background: none;
  border-color: ""
}

.elem-purple table tr {
  border-color: ""
}

.elem-purple table.sideline {
  background: #fff
}

.elem-purple table.sideline th, .elem-purple table.sideline td {
  border-color: ""
}

.elem-purple table.sideline th {
  background: #fff
}

.elem-purple table.sideline td {
  background: #eee9f3
}

.elem-purple .reservationnum {
  background: #fff;
  color: ""
}

.elem-reddish {
  margin-bottom: 60px;
  padding: 30px 40px;
  background: #F3ECEC;
  border: solid "" 2px;
  color: #96514D;
  font-size: 15px
}

.elem-reddish>*:first-child {
  margin-top: 0 !important
}

.elem-reddish>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-reddish {
    margin-bottom: 30px;
    padding: 20px;
    font-size: 14px
  }
}

.elem-reddish svg {
  fill: #96514D
}

.elem-reddish h2.linetitle, .elem-reddish h3.linetitle, .elem-reddish h4.linetitle, .elem-reddish h5.linetitle, .elem-reddish h6.linetitle {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: solid #96514D 1px
}

.elem-reddish h2.linetitle::before, .elem-reddish h2.linetitle::after, .elem-reddish h3.linetitle::before, .elem-reddish h3.linetitle::after, .elem-reddish h4.linetitle::before, .elem-reddish h4.linetitle::after, .elem-reddish h5.linetitle::before, .elem-reddish h5.linetitle::after, .elem-reddish h6.linetitle::before, .elem-reddish h6.linetitle::after {
  display: none
}

.elem-reddish h2.linetitle {
  margin-bottom: 0.5em
}

.elem-reddish a svg {
  fill: #0588c3
}

.elem-reddish hr {
  border-top: solid "" 1px
}

.elem-reddish table {
  background: none;
  border-color: ""
}

.elem-reddish table tr {
  border-color: ""
}

.elem-reddish table.sideline {
  background: #fff
}

.elem-reddish table.sideline th, .elem-reddish table.sideline td {
  border-color: ""
}

.elem-reddish table.sideline th {
  background: #fff
}

.elem-reddish table.sideline td {
  background: #F3ECEC
}

.elem-reddish .reservationnum {
  background: #fff;
  color: ""
}

.elem-gray {
  padding: 40px 60px
}

@media screen and (max-width: 1199px) {
  .elem-gray {
    padding: 30px 20px
  }
}

.elem-gray .reservationnum {
  background: #f8f8f8
}

.elem-gray table.sideline th {
  background: #f5f5f5
}

[class^="elem-button"] {
  display: inline-block;
  min-width: 300px;
  background: #004b99;
  border: none;
  color: #fff;
  border-radius: 40px;
  padding: 0.8em 2.5em;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative
}

@media screen and (max-width: 1199px) {
  [class^="elem-button"] {
    min-width: 240px;
    font-size: 14px
  }
}

[class^="elem-button"]:hover {
  background: #001948;
  color: #fff
}

[class^="elem-button"]:hover svg {
  fill: #fff
}

[class^="elem-button"] svg {
  fill: #fff;
  vertical-align: text-bottom
}

[class^="elem-button"].white {
  background: #fff;
  border: solid #004b99 2px;
  color: #004b99
}

[class^="elem-button"].white svg {
  fill: #004b99
}

[class^="elem-button"].white:hover {
  background: #001948;
  border-color: #001948;
  color: #fff
}

[class^="elem-button"].white:hover svg {
  fill: #fff
}

[class^="elem-button"].white::before, [class^="elem-button"].white::after {
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  top: -2px;
  left: -2px
}

[class^="elem-button"].grayee {
  background: #eee;
  color: #222
}

[class^="elem-button"].grayee svg {
  fill: #222
}

[class^="elem-button"].grayee:hover {
  background: #222;
  color: #fff
}

[class^="elem-button"].grayee:hover svg {
  fill: #fff
}

[class^="elem-button"].gray {
  background: #555
}

[class^="elem-button"].gray:hover {
  background: #986c0f
}

[class^="elem-button"].red {
  background: #b7282e
}

[class^="elem-button"].red:hover {
  background: #530815
}

[class^="elem-button"].small {
  padding: 0.5em 1.5em;
  min-width: 120px;
  font-size: 12px
}

@media screen and (max-width: 1199px) {
  [class^="elem-button"].small {
    min-width: 100px;
    font-size: 10px
  }
}

[class^="elem-button"].medium {
  padding: 0.5em 1.5em;
  min-width: 160px;
  font-size: 14px
}

@media screen and (max-width: 1199px) {
  [class^="elem-button"].medium {
    min-width: 100px;
    font-size: 12px
  }
}

[class^="elem-button"].iconleft svg, [class^="elem-button"].iconright svg {
  position: absolute;
  top: calc(50% - 0.7em)
}

[class^="elem-button"].iconleft svg {
  left: 1em
}

[class^="elem-button"].iconright svg {
  right: 1em
}

[class^="elem-button"].corner {
  border-radius: 0;
  position: relative
}

[class^="elem-button"].corner::before, [class^="elem-button"].corner::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

[class^="elem-button"].corner::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

[class^="elem-button"].corner::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

[class^="elem-button"].corner::before {
  -webkit-border-image: -webkit-linear-gradient(left, #fff 10px, transparent 10px, transparent calc(100% - 10px), #fff calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #fff 10px, transparent 10px, transparent calc(100% - 10px), #fff calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #fff 10px, transparent 10px, transparent calc(100% - 10px), #fff calc(100% - 10px)) 1
}

[class^="elem-button"].corner::after {
  -webkit-border-image: -webkit-linear-gradient(#fff 10px, transparent 10px, transparent calc(100% - 10px), #fff calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#fff 10px, transparent 10px, transparent calc(100% - 10px), #fff calc(100% - 10px)) 1;
  border-image: linear-gradient(#fff 10px, transparent 10px, transparent calc(100% - 10px), #fff calc(100% - 10px)) 1
}

[class^="elem-button"].corner.grayee {
  position: relative
}

[class^="elem-button"].corner.grayee::before, [class^="elem-button"].corner.grayee::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

[class^="elem-button"].corner.grayee::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

[class^="elem-button"].corner.grayee::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

[class^="elem-button"].corner.gray {
  position: relative
}

[class^="elem-button"].corner.gray::before, [class^="elem-button"].corner.gray::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

[class^="elem-button"].corner.gray::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

[class^="elem-button"].corner.gray::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

[class^="elem-button"].corner.gray::before {
  -webkit-border-image: -webkit-linear-gradient(left, #222 10px, transparent 10px, transparent calc(100% - 10px), #222 calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #222 10px, transparent 10px, transparent calc(100% - 10px), #222 calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #222 10px, transparent 10px, transparent calc(100% - 10px), #222 calc(100% - 10px)) 1
}

[class^="elem-button"].corner.gray::after {
  -webkit-border-image: -webkit-linear-gradient(#222 10px, transparent 10px, transparent calc(100% - 10px), #222 calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#222 10px, transparent 10px, transparent calc(100% - 10px), #222 calc(100% - 10px)) 1;
  border-image: linear-gradient(#222 10px, transparent 10px, transparent calc(100% - 10px), #222 calc(100% - 10px)) 1
}

[class^="elem-button"].inactive {
  pointer-events: none;
  opacity: 0.5;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.elem-btnbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.elem-btnbox .elem-button {
  margin: 0 20px 20px
}

.elem-form>*:first-child {
  margin-top: 0 !important
}

.elem-form>*:last-child {
  margin-bottom: 0 !important
}

.elem-form * {
  font-size: 15px
}

@media screen and (max-width: 1199px) {
  .elem-form * {
    font-size: 14px
  }
}

@media screen and (max-width: 1199px) {
  .elem-form.custom-elem-people * {
    font-size: 12px !important
  }
}

.elem-form>* {
  margin-bottom: 20px
}

@media screen and (max-width: 1199px) {
  .elem-form>* {
    margin-bottom: 16px
  }
}

.elem-form>*+small {
  margin-top: -10px
}

@media screen and (max-width: 1199px) {
  .elem-form>*+small {
    margin-top: -8px
  }
}

.elem-form>*::-webkit-input-placeholder {
  color: #222
}

.elem-form>*::-moz-placeholder {
  color: #222
}

.elem-form>*:-ms-input-placeholder {
  color: #222
}

.elem-form>*::-ms-input-placeholder {
  color: #222
}

.elem-form>*::placeholder {
  color: #222
}

.elem-form h4 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 0.75em !important;
  font-size: 16px !important
}

@media screen and (max-width: 1199px) {
  .elem-form h4 {
    margin: 1em 0 0.75em !important;
    font-size: 15px !important
  }
}

.elem-form .icon {
  position: relative
}

.elem-form .icon svg {
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 1em;
  pointer-events: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  fill: #222;
  pointer-events: none
}

@media screen and (max-width: 1199px) {
  .elem-form .icon svg {
    width: 18px;
    height: 18px
  }
}

.elem-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="reset"]), .elem-form select {
  width: 100%;
  height: 50px;
  padding: 0 1em;
  border: solid #ddd 1px;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit
}

.elem-form input.error{
	border-color: #E04B4A !important;
}

.elem-form select#pref.error{
	border-color: #E04B4A !important;
}

.elem-form select#nationality.error{
	border-color: #E04B4A !important;
}

.elem-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="reset"])::-ms-expand, .elem-form select::-ms-expand {
  display: none
}

@media screen and (max-width: 1199px) {
  .elem-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="reset"]), .elem-form select {
    height: 40px
  }
}

.elem-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="reset"]):hover, .elem-form select:hover {
  background-color: #f8f8f8
}

.elem-form input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="reset"]).iblock, .elem-form select.iblock {
  width: inherit
}

.elem-form select {
  background: #fff url(/apps/assets/img/common/icon/arrow_drop_down_black_24dp.svg) no-repeat;
  background-position: right 1em center;
  padding-right: 3em
}

@media screen and (max-width: 1199px) {
  .elem-form select {
    background-position: right 0.2em center;
    padding-right: 2em
  }
}

.elem-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 1em;
  border: solid #ddd 1px;
  border-radius: 3px
}

.elem-form input[type="range"] {
  width: 100%
}

.elem-form label {
  display: inline-block;
  position: relative;
  cursor: pointer
}

.elem-form label .elem-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 1em 0 2em;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: -1
}

.elem-form label .elem-icon small {
  display: inline;
  margin: 0
}

.elem-form label .elem-icon svg {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-form label .elem-icon .text {
  width: 40%
}

@media screen and (max-width: 1199px) {
  .elem-form label .elem-icon .text {
    width: 100%;
    font-size: 1.2rem
  }
}

.elem-form label .elem-icon .seat {
  padding-right: 1em
}

.elem-form label .elem-icon .conf svg {
  margin-right: 0.5em
}

.elem-form label .elem-icon>svg, .elem-form label .elem-icon::before, .elem-form label .elem-icon::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: calc(50% - 10px);
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  fill: #ddd
}

.elem-form label .elem-icon::before {
  border: solid #93928e 1px;
  background: #fff
}

.elem-form label .elem-icon::after {
  width: 10px;
  height: 10px;
  left: 5px;
  top: calc(50% - 5px)
}

.elem-form label.nomal, .elem-form label.gray {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.gray {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.gray .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.gray .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.gray .elem-icon>svg, .elem-form label.gray .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.gray .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.gray input[type="radio"]:checked+.elem-icon, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon {
  background: #93928e;
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.gray input[type="radio"]:checked+.elem-icon svg, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.gray input[type="radio"]:checked+.elem-icon::before, .elem-form label.gray input[type="radio"]:checked+.elem-icon::after, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.gray input[type="radio"]:checked+.elem-icon:after, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon:after {
  background: #93928e
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.gray input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.gray.selected .elem-icon {
  background: #222;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.gray.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.gray.selected .elem-icon::before, .elem-form label.gray.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.gray.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.gray.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.blue {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.blue {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.blue .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.blue .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.blue .elem-icon>svg, .elem-form label.blue .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.blue .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.blue input[type="radio"]:checked+.elem-icon, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon {
  background: #0588c3;
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.blue input[type="radio"]:checked+.elem-icon svg, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.blue input[type="radio"]:checked+.elem-icon::before, .elem-form label.blue input[type="radio"]:checked+.elem-icon::after, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.blue input[type="radio"]:checked+.elem-icon:after, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon:after {
  background: #0588c3
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.blue input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.blue.selected .elem-icon {
  background: #004b99;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.blue.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.blue.selected .elem-icon::before, .elem-form label.blue.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.blue.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.blue.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.bluel {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.bluel {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.bluel .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.bluel .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.bluel .elem-icon>svg, .elem-form label.bluel .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.bluel .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.bluel input[type="radio"]:checked+.elem-icon, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon {
  background: "";
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.bluel input[type="radio"]:checked+.elem-icon svg, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.bluel input[type="radio"]:checked+.elem-icon::before, .elem-form label.bluel input[type="radio"]:checked+.elem-icon::after, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.bluel input[type="radio"]:checked+.elem-icon:after, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon:after {
  background: ""
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.bluel input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.bluel.selected .elem-icon {
  background: #0588c3;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.bluel.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.bluel.selected .elem-icon::before, .elem-form label.bluel.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.bluel.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.bluel.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.red {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.red {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.red .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.red .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.red .elem-icon>svg, .elem-form label.red .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.red .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.red input[type="radio"]:checked+.elem-icon, .elem-form label.red input[type="checkbox"]:checked+.elem-icon {
  background: #d53f65;
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.red input[type="radio"]:checked+.elem-icon svg, .elem-form label.red input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.red input[type="radio"]:checked+.elem-icon::before, .elem-form label.red input[type="radio"]:checked+.elem-icon::after, .elem-form label.red input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.red input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.red input[type="radio"]:checked+.elem-icon:after, .elem-form label.red input[type="checkbox"]:checked+.elem-icon:after {
  background: #d53f65
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.red input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.red input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.red.selected .elem-icon {
  background: #b7282e;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.red.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.red.selected .elem-icon::before, .elem-form label.red.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.red.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.red.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.redl {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.redl {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.redl .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.redl .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.redl .elem-icon>svg, .elem-form label.redl .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.redl .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.redl input[type="radio"]:checked+.elem-icon, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon {
  background: "";
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.redl input[type="radio"]:checked+.elem-icon svg, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.redl input[type="radio"]:checked+.elem-icon::before, .elem-form label.redl input[type="radio"]:checked+.elem-icon::after, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.redl input[type="radio"]:checked+.elem-icon:after, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon:after {
  background: ""
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.redl input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.redl.selected .elem-icon {
  background: #d53f65;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.redl.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.redl.selected .elem-icon::before, .elem-form label.redl.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.redl.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.redl.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.brown {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.brown {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.brown .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.brown .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.brown .elem-icon>svg, .elem-form label.brown .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.brown .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.brown input[type="radio"]:checked+.elem-icon, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon {
  background: #c89932;
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.brown input[type="radio"]:checked+.elem-icon svg, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.brown input[type="radio"]:checked+.elem-icon::before, .elem-form label.brown input[type="radio"]:checked+.elem-icon::after, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.brown input[type="radio"]:checked+.elem-icon:after, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon:after {
  background: #c89932
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.brown input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.brown.selected .elem-icon {
  background: #986c0f;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.brown.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.brown.selected .elem-icon::before, .elem-form label.brown.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.brown.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.brown.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.green {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.green {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.green .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.green .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.green .elem-icon>svg, .elem-form label.green .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.green .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.green input[type="radio"]:checked+.elem-icon, .elem-form label.green input[type="checkbox"]:checked+.elem-icon {
  background: "";
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.green input[type="radio"]:checked+.elem-icon svg, .elem-form label.green input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.green input[type="radio"]:checked+.elem-icon::before, .elem-form label.green input[type="radio"]:checked+.elem-icon::after, .elem-form label.green input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.green input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.green input[type="radio"]:checked+.elem-icon:after, .elem-form label.green input[type="checkbox"]:checked+.elem-icon:after {
  background: ""
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.green input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.green input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.green.selected .elem-icon {
  background: #028760;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.green.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.green.selected .elem-icon::before, .elem-form label.green.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.green.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.green.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.purple {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.purple {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.purple .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.purple .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.purple .elem-icon>svg, .elem-form label.purple .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.purple .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.purple input[type="radio"]:checked+.elem-icon, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon {
  background: "";
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.purple input[type="radio"]:checked+.elem-icon svg, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.purple input[type="radio"]:checked+.elem-icon::before, .elem-form label.purple input[type="radio"]:checked+.elem-icon::after, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.purple input[type="radio"]:checked+.elem-icon:after, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon:after {
  background: ""
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.purple input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.purple.selected .elem-icon {
  background: #65318e;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.purple.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.purple.selected .elem-icon::before, .elem-form label.purple.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.purple.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.purple.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form label.nomal, .elem-form label.reddish {
  display: block;
  margin-right: 0;
  padding: 0
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal, .elem-form label.reddish {
    margin-bottom: 5px
  }
}

.elem-form label.nomal .elem-icon, .elem-form label.reddish .elem-icon {
  padding: 1em 1em 1em 3em;
  background: #ddd;
  border-radius: 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-form label.nomal .elem-icon, .elem-form label.reddish .elem-icon {
    min-height: 40px;
    padding: 0.25em 1em 0.25em 3em
  }
}

.elem-form label.nomal .elem-icon>svg, .elem-form label.nomal .elem-icon::before, .elem-form label.reddish .elem-icon>svg, .elem-form label.reddish .elem-icon::before {
  left: 1em;
  fill: #93928e
}

.elem-form label.nomal .elem-icon::after, .elem-form label.reddish .elem-icon::after {
  left: calc(1em + 5px)
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon, .elem-form label.reddish input[type="radio"]:checked+.elem-icon, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon {
  background: "";
  color: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon svg, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon svg, .elem-form label.reddish input[type="radio"]:checked+.elem-icon svg, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon svg {
  fill: #fff
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::before, .elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.reddish input[type="radio"]:checked+.elem-icon::before, .elem-form label.reddish input[type="radio"]:checked+.elem-icon::after, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon:after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon:after, .elem-form label.reddish input[type="radio"]:checked+.elem-icon:after, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon:after {
  background: ""
}

.elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.reddish input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected .elem-icon, .elem-form label.reddish.selected .elem-icon {
  background: #96514D;
  color: #fff
}

.elem-form label.nomal.selected .elem-icon svg, .elem-form label.reddish.selected .elem-icon svg {
  fill: #fff;
  opacity: 1
}

.elem-form label.nomal.selected .elem-icon::before, .elem-form label.nomal.selected .elem-icon::after, .elem-form label.reddish.selected .elem-icon::before, .elem-form label.reddish.selected .elem-icon::after {
  opacity: 0
}

.elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.nomal.selected input[type="checkbox"]:checked+.elem-icon::after, .elem-form label.reddish.selected input[type="checkbox"]:checked+.elem-icon::before, .elem-form label.reddish.selected input[type="checkbox"]:checked+.elem-icon::after {
  opacity: 1
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon {
  background: #004b99
}

.elem-form label.nomal input[type="radio"]:checked+.elem-icon::after, .elem-form label.nomal input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form input[type="radio"], .elem-form input[type="checkbox"] {
  display: none
}

.elem-form input[type="radio"]:checked+.elem-icon svg, .elem-form input[type="checkbox"]:checked+.elem-icon svg {
  fill: #004b99
}

.elem-form input[type="radio"]:checked+.elem-icon::after, .elem-form input[type="checkbox"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form input[type="radio"]+.elem-icon>svg {
  opacity: 0
}

.elem-form input[type="checkbox"]+.elem-icon::before, .elem-form input[type="checkbox"]+.elem-icon::after {
  opacity: 0
}

.elem-form .blocklabel label {
  display: table;
  margin-bottom: 10px
}

.elem-form input[type="submit"], .elem-form input[type="reset"], .elem-form button {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  cursor: pointer
}

.elem-form input[type="submit"]:not(.elem-button), .elem-form input[type="reset"]:not(.elem-button), .elem-form button:not(.elem-button) {
  width: 100%;
  padding: 1em;
  background: #222;
  color: #fff;
  border: none;
  border-radius: 3px
}

.elem-form input[type="submit"] svg, .elem-form input[type="reset"] svg, .elem-form button svg {
  fill: #fff
}

.elem-form button:not([class]):hover {
  background: #555
}

.elem-form small {
  display: block;
  margin-bottom: 20px
}

@media screen and (max-width: 1199px) {
  .elem-form small {
    margin-bottom: 16px
  }
}

.elem-form .elem-rightbtn {
  margin-bottom: 20px;
  position: relative
}

.elem-form .elem-rightbtn>*:first-child {
  margin-top: 0 !important
}

.elem-form .elem-rightbtn>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-rightbtn {
    margin-bottom: 16px
  }
}

.elem-form .elem-rightbtn>*:not(button) {
  width: calc(100% - 30px - 20px) !important;
  margin-bottom: 20px
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-rightbtn>*:not(button) {
    width: calc(100% - 30px - 16px) !important;
    margin-bottom: 16px
  }
}

.elem-form .elem-rightbtn button {
  width: 30px;
  height: 100%;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0
}

.elem-form .elem-rightbtn button svg {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg)
}

.elem-form .elem-inline input, .elem-form .elem-inline select {
  width: inherit !important;
  max-width: 120px;
  margin-right: 1em
}

.elem-form .elem-inline input.min, .elem-form .elem-inline select.min {
  width: 80px !important
}

.elem-form .elem-inline span {
  margin-right: 1em
}

.elem-form .elem-connect>* {
  border-radius: 0 !important
}

.elem-form .elem-connect>*:first-child {
  border-radius: 3px 3px 0 0 !important
}

.elem-form .elem-connect>*:last-child {
  border-radius: 0 0 3px 3px !important
}

.elem-form .elem-connect>*:not(:first-child) {
  margin-top: -1px
}

@media screen and (min-width: 680px) {
  .elem-form .elem-sidetitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

@media screen and (min-width: 680px) {
  .elem-form .elem-sidetitle h4 {
    width: 30%;
    margin: 0 !important;
    padding: 0.75em 0;
    padding-right: 20px
  }
}

.elem-form .elem-sidetitle .item>*:first-child {
  margin-top: 0 !important
}

.elem-form .elem-sidetitle .item>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (min-width: 680px) {
  .elem-form .elem-sidetitle .item {
    width: 70%
  }
}

@media screen and (min-width: 680px) {
  .elem-form .elem-sidetitle .item2 {
    width: 30%
  }
}

.elem-form .elem-sidetitle .item>* {
  margin-bottom: 20px
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-sidetitle .item>* {
    margin-bottom: 16px
  }
}

.elem-form .elem-sidetitle .item>*+small {
  margin-top: -10px
}

.elem-form .elem-sidetitle .item input+small {
  margin-top: -10px
}

.elem-form .elem-sidetitle .item>p, .elem-form .elem-sidetitle .item>label {
  vertical-align: text-top;
  padding: 0.75em 0
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-sidetitle .item>p, .elem-form .elem-sidetitle .item>label {
    padding: 0 0 0.75em
  }
}

.elem-form .elem-sidetitle .elem-column2 {
  margin: 40px -10px
}

.elem-form .elem-sidetitle .elem-column2>* {
  padding: 0 10px
}

@media screen and (min-width: 680px) {
  .elem-form .elem-column2 h4 {
    width: 15%
  }
}

@media screen and (min-width: 680px) {
  .elem-form .elem-column2 .item {
    width: 85%
  }
}

.elem-form .elem-btncenter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative
}

.elem-form .elem-btncenter>*:first-child {
  margin-top: 0 !important
}

.elem-form .elem-btncenter>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-btncenter {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

.elem-form .elem-btncenter>* {
  width: calc(50% - 65px)
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-btncenter>* {
    width: calc(100% - 30px - 16px);
    margin-bottom: 16px
  }
}

.elem-form .elem-btncenter button {
  width: 70px;
  padding: 0.25em 1em
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-btncenter button {
    width: 30px;
    height: 100%;
    padding: 0;
    position: absolute;
    top: 0;
    right: 0
  }
  .elem-form .elem-btncenter button svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
  }
}

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

@media screen and (max-width: 679px) {
  .elem-form .elem-route {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.elem-form .elem-route .seat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 180px;
  background: #fff;
  margin-left: 30px;
  white-space: nowrap
}

@media screen and (max-width: 679px) {
  .elem-form .elem-route .seat {
    width: 100%;
    height: 40px;
    margin-left: 0;
    margin-top: 16px
  }
}

.elem-form .elem-route .seat small {
  margin-bottom: 0
}

.elem-form .elem-route .arrow {
  min-width: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.elem-form .elem-route .arrow svg {
  width: 36px;
  height: 36px;
  fill: #222
}

@media screen and (max-width: 679px) {
  .elem-form .elem-route .arrow svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    width: 24px;
    height: 24px;
    margin: 0.5em 0
  }
}

.elem-form .elem-twoseats {
  margin-top: 2em
}

.elem-form .elem-twoseats .text {
  width: 100%
}

.elem-form .elem-twoseats .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.elem-form .elem-twoseats .wrap label {
  margin: 0 20px
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-twoseats .wrap label {
    margin: 0 8px
  }
}

.elem-form .elem-twoseats .wrap label input:checked+.elem-icon {
  background: #004b99
}

.elem-form .elem-twoseats .wrap label input:checked+.elem-icon svg {
  opacity: 1
}

.elem-form .elem-twoseats .wrap label input:checked+.elem-icon::before, .elem-form .elem-twoseats .wrap label input:checked+.elem-icon::after {
  display: none
}

.elem-form .elem-twoseats .wrap label .elem-icon {
  white-space: nowrap;
  background: #93928e;
  color: #fff;
  font-weight: 600;
  padding: 0.5em 1em 0.5em 3em;
  letter-spacing: 0.05em
}

@media screen and (max-width: 679px) {
  .elem-form .elem-twoseats .wrap label .elem-icon {
    padding: 0.5em 0.5em 0.5em 2.5em
  }
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-twoseats .wrap label .elem-icon svg, .elem-form .elem-twoseats .wrap label .elem-icon::before {
    left: 0.5em
  }
}

@media screen and (max-width: 679px) {
  .elem-form .elem-twoseats .wrap label .elem-icon .text {
    font-size: 13px
  }
}

.elem-form .elem-wrapper {
  width: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  margin-bottom: 40px
}

.elem-form .elem-wrapper .elem-result {
  margin-bottom: 0
}

.elem-form .elem-wrapper .elem-head, .elem-form .elem-wrapper .elem-contents {
  position: relative;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-form .elem-wrapper .elem-head h3 {
  padding-right: 40px
}

.elem-form .elem-wrapper .elem-icon {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  opacity: 1;
  z-index: 0;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%)
}

@media screen and (min-width: 1200px) {
  .elem-form .elem-wrapper .elem-icon {
    left: 24px
  }
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-wrapper .elem-icon {
    right: 10px
  }
}

.elem-form .elem-wrapper .elem-icon svg {
  display: none;
  fill: #fff
}

.elem-form .elem-wrapper input:checked+.elem-head {
  background: #004b99;
  color: #fff
}

.elem-form .elem-wrapper input:checked+.elem-head h3 small {
  color: #fff
}

.elem-form .elem-wrapper input:checked+.elem-head .elem-icon svg {
  display: block
}

.elem-form .elem-wrapper input:checked+.elem-head .elem-icon::before, .elem-form .elem-wrapper input:checked+.elem-head .elem-icon::after {
  display: none
}

.elem-form .elem-wrapper input:checked+.elem-head+.elem-contents {
  background: #e4ecf4
}

.elem-form .elem-wrapper:hover {
  opacity: 0.85
}

.elem-form .elem-point {
  margin: 2em 0 0
}

.elem-form .elem-point li {
  margin: 1.5em 0
}

@media screen and (min-width: 1200px) {
  .elem-form .elem-point .pointarea {
    margin-top: -0.75em
  }
}

.elem-form .elem-point .hide-pc+input[type="number"] {
  -moz-appearance: textfield
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-point .hide-pc+input[type="number"] {
    margin-top: 1em
  }
}

.elem-form .elem-point .hide-pc+input[type="number"]::-webkit-outer-spin-button, .elem-form .elem-point .hide-pc+input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}

.elem-form .elem-tabradio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.elem-form .elem-tabradio li {
  width: calc(33.33% - 20px);
  margin: 0
}

.elem-form .elem-tabradio li>*:first-child {
  margin-top: 0 !important
}

.elem-form .elem-tabradio li>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-form .elem-tabradio li {
    width: 100%;
    margin-bottom: 16px
  }
}

.elem-form .elem-tabradio li label figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
  border: solid #ddd 2px;
  background: #fff;
  border-radius: 0 0 3px 3px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-form .elem-tabradio li label input[type="radio"]+.elem-icon {
  border-radius: 3px 3px 0 0
}

.elem-form .elem-tabradio li label input[type="radio"]+.elem-icon::before {
  top: 1em
}

.elem-form .elem-tabradio li label input[type="radio"]+.elem-icon::after {
  top: calc(1em + 5px)
}

.elem-form .elem-tabradio li label input[type="radio"]:checked+.elem-icon {
  background: #004b99
}

.elem-form .elem-tabradio li label input[type="radio"]:checked+.elem-icon::after {
  background: #004b99
}

.elem-form .elem-tabradio li label input[type="radio"]:checked+.elem-icon+figure {
  border-color: #004b99
}

.elem-form .elem-pulldown {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  position: relative
}

.elem-form .elem-pulldown input[type="text"] {
  cursor: pointer;
  padding-right: 3em !important
}

.elem-form .elem-pulldown .items {
  display: none;
  width: 100%;
  max-height: 300px;
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  z-index: 1;
  background: #fff;
  overflow: scroll;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  border: solid #ddd 1px
}

.elem-form .elem-pulldown .items ul {
  display: none;
  margin: 0;
  padding: 0
}

.elem-form .elem-pulldown .items ul li {
  padding: 0
}

.elem-form .elem-pulldown .items ul li::before {
  display: none
}

.elem-form .elem-pulldown label {
  width: 100%
}

.elem-form .elem-pulldown .default {
  padding: 1em
}

.elem-form .elem-pulldown input[type="radio"]:checked+.text {
  background: #004b99;
  color: #fff
}

.elem-form .elem-pulldown input[type="radio"]:checked+.text::before {
  background: #fff
}

.elem-form .elem-pulldown input[type="radio"]:checked+.text+button svg {
  fill: #fff
}

.elem-form .elem-pulldown [class^="itm"] .text {
  display: block;
  border-bottom: solid #ddd 1px;
  position: relative;
  padding: 0.75em 1em;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.elem-form .elem-pulldown [class^="itm"] .text::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1px;
  background: #222;
  position: absolute;
  top: 50%;
  left: 1em
}

.elem-form .elem-pulldown [class^="itm"] .text:hover {
  background: #ddd
}

.elem-form .elem-pulldown .itml .text::before {
  display: none
}

.elem-form .elem-pulldown .itmm .text {
  padding: 0.75em 1em 0.75em 2em
}

.elem-form .elem-pulldown .itmm.trigger .text {
  padding: 0.75em 4em 0.75em 2em
}

.elem-form .elem-pulldown .itmm.trigger button {
  border-radius: 0;
  width: 3em;
  height: calc(100% - 1px);
  background: #f5f5f5;
  position: absolute;
  top: 0;
  right: 0
}

.elem-form .elem-pulldown .itmm.trigger button:hover {
  background: #ddd
}

.elem-form .elem-pulldown .itmm.trigger button svg {
  width: 18px;
  height: 18px;
  fill: #222;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transform: rotate(0);
  transform: rotate(0)
}

.elem-form .elem-pulldown .itmm.trigger.open button svg {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg)
}

.elem-form .elem-pulldown .itms .text {
  padding: 0.75em 1em 0.75em 2em;
  background: #93928e;
  color: #fff
}

.elem-form .elem-pulldown .itms .text::before {
  background: #fff
}

.elem-form .elem-pulldown .itms .text:hover {
  background: #555
}

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

@media screen and (max-width: 679px) {
  .elem-form .inputbtn {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.elem-form .inputbtn .elem-button {
  width: 160px;
  padding: 0.75em;
  margin-left: 20px;
  min-width: inherit;
  border-radius: 3px
}

@media screen and (max-width: 679px) {
  .elem-form .inputbtn .elem-button {
    margin: 16px auto 0
  }
}

.elem-terms {
  width: 100%;
  max-width: 100%;
  max-height: 240px;
  padding: 30px 40px;
  border: solid #ddd 1px;
  border-radius: 3px;
  background: #fff;
  overflow: scroll
}

.elem-terms>*:first-child {
  margin-top: 0 !important
}

.elem-terms>*:last-child {
  margin-bottom: 0 !important
}

@media screen and (max-width: 1199px) {
  .elem-terms {
    padding: 20px
  }
}

.disabled {
  opacity: 0.5;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.elem-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #fff;
  margin-bottom: 60px;
  position: relative
}

@media screen and (max-width: 679px) {
  .elem-anchor {
    margin-bottom: 30px
  }
}

.elem-anchor li {
  width: 100%;
  border-bottom: solid #ddd 1px;
  position: relative
}

.elem-anchor li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1em;
  color: #93928e;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer
}

.elem-anchor li a svg {
  fill: #93928e;
  margin-right: 0.5em;
  position: relative;
  top: 1px
}

.elem-anchor li:hover a, .elem-anchor li.current a {
  color: #222
}

.elem-anchor li:hover a svg, .elem-anchor li.current a svg {
  fill: #222
}

@media screen and (max-width: 679px) {
  .elem-anchor li.current {
    border-color: #222
  }
}

@media screen and (max-width: 679px) {
  .elem-anchor.firstwide {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (max-width: 679px) {
  .elem-anchor.firstwide li {
    width: 25%
  }
}

@media screen and (max-width: 679px) {
  .elem-anchor.firstwide li:first-child {
    width: 100%
  }
}

.elem-anchor .line {
  width: 100%;
  height: 1px;
  background: #222;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 1
}

@media screen and (max-width: 679px) {
  .elem-anchor .line {
    display: none
  }
}

.elem-indicator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 10px 0 90px
}

@media screen and (max-width: 679px) {
  .elem-indicator {
    margin: 0 -10px 60px
  }
}

.elem-indicator li {
  width: 100%;
  text-align: center;
  position: relative;
  font-size: 15px;
  font-weight: 500
}

@media screen and (max-width: 679px) {
  .elem-indicator li {
    font-size: 12px
  }
}

.elem-indicator li::after {
  content: "";
  display: inline-block;
  width: calc(100% - 50px);
  height: 4px;
  background: #e4ecf4;
  position: absolute;
  top: 13px;
  right: calc(50% + 25px)
}

@media screen and (max-width: 679px) {
  .elem-indicator li::after {
    width: calc(100% - 30px);
    height: 2px;
    top: 9px;
    right: calc(50% + 15px)
  }
}

.elem-indicator li:first-child::after {
  display: none
}

.elem-indicator li .icon {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto 1em;
  border-radius: 50%;
  background: #e4ecf4;
  position: relative
}

@media screen and (max-width: 679px) {
  .elem-indicator li .icon {
    width: 20px;
    height: 20px
  }
}

.elem-indicator li.check::after, .elem-indicator li.current::after {
  background: #004b99
}

.elem-indicator li.check .icon, .elem-indicator li.current .icon {
  background: #004b99
}

.elem-indicator li.check .icon {
  background: #004b99 url(/apps/assets/img/common/icon/done_white_24dp.svg) no-repeat center;
  background-size: 80%
}

.elem-indicator li.current .icon::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%
}

@media screen and (max-width: 679px) {
  .elem-indicator li.current .icon::after {
    width: 6px;
    height: 6px
  }
}

[class^="modal"] {
  cursor: pointer
}

a[class^="modal"] {
  text-decoration: underline
}

a[class^="modal"]:hover {
  text-decoration: none
}

[class^="elem-modal"] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  padding: 80px 20px;
  z-index: 11;
  opacity: 0;
  pointer-events: none;
  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-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  overflow: scroll
}

@media screen and (max-width: 1199px) {
  [class^="elem-modal"] {
    padding: 40px 20px
  }
}

[class^="elem-modal"]::before, [class^="elem-modal"]::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px
}

[class^="elem-modal"] .block-inner {
  margin: 0 !important;
  position: relative
}

[class^="elem-modal"] .block-inner>*:first-child {
  margin-top: 0 !important
}

[class^="elem-modal"] .block-inner>*:last-child {
  margin-bottom: 0 !important
}

[class^="elem-modal"] .block-inner .modalclose {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  cursor: pointer
}

[class^="elem-modal"] .block-inner>* {
  margin: 0
}

[class^="elem-modal"] .closebutton {
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px;
  cursor: pointer
}

[class^="elem-modal"] .closebutton svg {
  fill: #93928e
}

[class^="elem-modal"] .closebutton:hover {
  opacity: 0.85
}

[class^="elem-modal"] .elem-map {
  background: #fff;
  line-height: 0
}

[class^="elem-modal"] .elem-map iframe {
  width: 100%
}

body>.modalclose {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  pointer-events: none
}

body.ismodal {
  overflow: hidden
}

body.ismodal>.modalclose {
  pointer-events: visible;
  background: rgba(0, 0, 0, 0.8)
}

body.ismodal [class^="elem-modal"] {
  opacity: 1;
  pointer-events: inherit
}

[class^="tab"] {
  cursor: pointer
}

a[class^="tab"] {
  text-decoration: underline
}

a[class^="tab"]:hover {
  text-decoration: none
}

[class^="area"] {
  display: none
}

[class^="elem-column"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 40px 0
}

[class*="elem-column1"] {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px -20px
}

@media screen and (max-width: 1199px) {
  [class*="elem-column1"] {
    margin: 0
  }
}

[class*="elem-column1"]>* {
  width: 100%;
  margin-bottom: 1.5em;
  padding: 0 20px
}

@media screen and (min-width: 1200px) {
  [class*="elem-column1"]>*:nth-last-child(-n+1) {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column1"]>* {
    width: 100%;
    margin: 0 0 1.5em;
    padding: 0
  }
  [class*="elem-column1"]>*:last-child {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column1"]>*:first-child figure {
    margin-bottom: 3rem
  }
}

[class*="elem-column2"] {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px -20px
}

@media screen and (max-width: 1199px) {
  [class*="elem-column2"] {
    margin: 0
  }
}

[class*="elem-column2"]>* {
  width: 50%;
  margin-bottom: 1.5em;
  padding: 0 20px
}

@media screen and (min-width: 1200px) {
  [class*="elem-column2"]>*:nth-last-child(-n+2) {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column2"]>* {
    width: 100%;
    margin: 0 0 1.5em;
    padding: 0
  }
  [class*="elem-column2"]>*:last-child {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column2"]>*:first-child figure {
    margin-bottom: 3rem
  }
}

[class*="elem-column3"] {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px -20px
}

@media screen and (max-width: 1199px) {
  [class*="elem-column3"] {
    margin: 0
  }
}

[class*="elem-column3"]>* {
  width: 33.33333%;
  margin-bottom: 1.5em;
  padding: 0 20px
}

@media screen and (min-width: 1200px) {
  [class*="elem-column3"]>*:nth-last-child(-n+3) {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column3"]>* {
    width: 100%;
    margin: 0 0 1.5em;
    padding: 0
  }
  [class*="elem-column3"]>*:last-child {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column3"]>*:first-child figure {
    margin-bottom: 3rem
  }
}

[class*="elem-column4"] {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px -20px
}

@media screen and (max-width: 1199px) {
  [class*="elem-column4"] {
    margin: 0
  }
}

[class*="elem-column4"]>* {
  width: 25%;
  margin-bottom: 1.5em;
  padding: 0 20px
}

@media screen and (min-width: 1200px) {
  [class*="elem-column4"]>*:nth-last-child(-n+4) {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column4"]>* {
    width: 100%;
    margin: 0 0 1.5em;
    padding: 0
  }
  [class*="elem-column4"]>*:last-child {
    margin-bottom: 0
  }
}

@media screen and (max-width: 1199px) {
  [class*="elem-column4"]>*:first-child figure {
    margin-bottom: 3rem
  }
}

.elem-seat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #fff;
  border: solid #eee 2px;
  padding: 40px 40px 60px
}

@media screen and (max-width: 1199px) {
  .elem-seat {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 20px
  }
}

.elem-seat .elem-floorlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 40px
}

.elem-seat .elem-floorlist li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #ddd;
  color: #fff;
  font-size: 18px;
  padding: 0.3em;
  width: 100px;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floorlist li {
    font-size: 16px
  }
}

.elem-seat .elem-floorlist li:first-child {
  border-radius: 3px 0 0 3px
}

.elem-seat .elem-floorlist li:last-child {
  border-radius: 0 3px 3px 0
}

.elem-seat .elem-floorlist li:hover {
  background: #93928e
}

.elem-seat .elem-floorlist li.current {
  background: #004b99
}

.elem-seat .elem-floorlist li svg {
  width: 24px;
  height: 24px;
  fill: #fff;
  margin: 0 0.25em 0 -0.25em
}

.elem-seat .elem-floor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.elem-seat .elem-floor.show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.elem-seat .elem-floor .elem-direction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative
}

@media screen and (min-width: 1200px) {
  .elem-seat .elem-floor .elem-direction {
    width: 100px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-direction {
    width: 270px;
    height: 80px;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }
}

.elem-seat .elem-floor .elem-direction .handle {
  fill: #555
}

@media screen and (min-width: 1200px) {
  .elem-seat .elem-floor .elem-direction .handle {
    width: 70px;
    height: 70px;
    margin: 25px 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
  }
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-direction .handle {
    width: 60px;
    height: 60px;
    margin: 0 28px
  }
}

.elem-seat .elem-floor .elem-direction .arrow {
  display: block;
  width: 4em;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  -webkit-transform: translate(-80%, -35%);
  transform: translate(-80%, -35%)
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-direction .arrow {
    -webkit-transform: translate(-50%, -60%);
    transform: translate(-50%, -60%)
  }
}

.elem-seat .elem-floor .elem-direction .arrow svg {
  display: inline-block;
  width: 50px;
  height: 50px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

@media screen and (min-width: 1200px) {
  .elem-seat .elem-floor .elem-direction .arrow svg {
    margin-right: 10px
  }
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-direction .arrow svg {
    width: 40px;
    height: 40px;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
  }
}

.elem-seat .elem-floor .elem-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (min-width: 1200px) {
  .elem-seat .elem-floor .elem-lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-lists {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse
  }
}

.elem-seat .elem-floor .elem-lists .elem-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-lists .elem-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}

.elem-seat .elem-floor .elem-lists .elem-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -1px;
  margin-left: -1px
}

.elem-seat .elem-floor .elem-lists .elem-list li label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.elem-seat .elem-floor .elem-lists .elem-list li label input {
  display: none
}

.elem-seat .elem-floor .elem-lists .elem-list li label .elem-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: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 60px;
  border: solid transparent 1px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  overflow: hidden
}

@media screen and (min-width: 1200px) {
  .elem-seat .elem-floor .elem-lists .elem-list li label .elem-item {
    min-height: 60px
  }
}

@media screen and (max-width: 1199px) {
  .elem-seat .elem-floor .elem-lists .elem-list li label .elem-item {
    width: 54px;
    height: 54px;
    font-size: 14px
  }
}

label.maleDisabled .elem-item{
  background: #ddd !important;
  color: #ddd !important;
}

label.maleDisabled input[type="checkbox"]:checked+ .elem-icon{
  background: #004b99 !important;
  color: #555000 !important;
}

.elem-seat .elem-floor .elem-lists .elem-list li label .elem-item svg {
  width: 24px;
  height: 24px;
  margin-bottom: 0.2em
}

.elem-seat .elem-floor .elem-lists .elem-list li label .elem-item strong {
  font-size: 135%
}

.elem-seat .elem-floor .elem-lists .elem-list li label .elem-item strong small {
  display: block;
  text-align: center
}

.elem-seat .elem-floor .elem-lists .elem-list li label .elem-item .price {
  margin-top: 0.25em;
  font-size: 90%
}

.elem-seat .elem-floor .elem-lists .elem-list li label.disabled .elem-item {
  border-color: #93928e;
  background: #ddd;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.icon .elem-item {
  border-color: #93928e;
  background: #555;
  color: #fff
}

.elem-seat .elem-floor .elem-lists .elem-list li label.icon .elem-item svg {
  fill: #fff
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select .elem-item {
  border-color: #93928e;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.elem-seat .elem-floor .elem-lists .elem-list .seatType1 {
  color: #004b99;
}
.elem-seat .elem-floor .elem-lists .elem-list .seatType1 .elem-item:hover {
  background: #a6c8eb;
}
.elem-seat .elem-floor .elem-lists .elem-list .seatType1 input .elem-item {
  background: #fff;
  color: #004b99;
}
.elem-seat .elem-floor .elem-lists .elem-list .seatType1 input:checked+.elem-item {
  background: #004b99;
  color: #fff;
}
.elem-seat .elem-floor .elem-lists .elem-list .disabledSeat .elem-item{
	background: #ddd !important;
	color: #ddd !important;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.gray {
  color: #222;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.gray .elem-item:hover {
  background: #fff;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.gray input:checked+.elem-item {
  background: #222;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.blue {
  color: #004b99;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.blue .elem-item:hover {
  background: #e4ecf4;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.blue input:checked+.elem-item {
  background: #004b99;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.bluel {
  color: #0588c3;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.bluel .elem-item:hover {
  background: "";
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.bluel input:checked+.elem-item {
  background: #0588c3;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.red {
  color: #b7282e;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.red .elem-item:hover {
  background: #f7e8e8;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.red input:checked+.elem-item {
  background: #b7282e;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.redl {
  color: #d53f65;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.redl .elem-item:hover {
  background: "";
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.redl input:checked+.elem-item {
  background: #d53f65;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType4 {
  color:#96514D;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType4 .elem-item:hover {
  background: #edb6b3;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType4 .elem-item {
  background: #fff;
  color: #96514D;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType4 input:checked+.elem-item {
  background: #96514D;
  color: #fff;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.brown {
  color: #986c0f;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.brown .elem-item:hover {
  background: #f9f4e9;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.brown input:checked+.elem-item {
  background: #986c0f;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType2 {
  color: #028760;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType2 .elem-item:hover {
  background: #b2e5d6;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType2 .elem-item {
  background: #fff;
  color: #028760;
}
.elem-seat .elem-floor .elem-lists .elem-list .seatType2 input:checked+ .elem-item {
  background: #028760;
  color: #fff;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.green .elem-item:hover {
  background: #e4f2ee;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType3{
  color: #65318e;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType3 .elem-item:hover {
  background:#e5cbf9;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType3 input:checked+.elem-item {
  background: #fff;
  color: #65318e;
}

.elem-seat .elem-floor .elem-lists .elem-list .seatType3 input:checked+.elem-item {
  background: #65318e;
  color: #fff;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.reddish {
  color: #96514D;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.reddish .elem-item:hover {
  background: #F3ECEC;
}

.elem-seat .elem-floor .elem-lists .elem-list li label.select.reddish input:checked+.elem-item {
  background: #96514D;
}

.iblock {
  display: inline-block !important;
  font-size: 14px;
  margin: 0 0.5em 10px;
}

.square {
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 16px;
  margin-right: 0.5em;
  border: solid #93928e 1px;
  font-style: normal;
  font-weight: 500;
}

.square.white {
  background: #fff;
  color: #222;
}

.square.graydd {
  background: #ddd;
  color: #222;
}

.square.gray55 {
  background: #555;
  color: #fff;
}

.square.blue {
  background: #004b99;
  color: #fff;
}

.square.red {
  background: #b7282e;
  color: #fff;
}

.square.brown {
  background: #fff;
  color: #986c0f;
}

.square.green {
  background: #fff;
  color: #028760;
}

.square.purple {
  background: #fff;
  color: #65318e;
}

.square.reddish {
  background: #fff;
  color: #96514D;
}

pre {
  margin: 60px 0 80px;
}

@media screen and (max-width: 1199px) {
  pre {
    margin: 40px 0 60px;
  }
}

pre code.hljs[class*="language-"] {
  background: #222;
  margin: 0;
  padding: 1em 1.5em;
}

code {
  margin: 0 0.5em;
  display: inline-block;
  background: #eee;
  font-size: 14px;
  border: solid #ddd 1px;
  border-radius: 3px;
  padding: 0.2em 0.4em;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.largetitle {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  background: #222;
  padding: 60px;
  color: #fff;
  font-family: 'Roboto';
  font-size: 50px !important;
  position: relative;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1199px) {
  .largetitle {
    padding: 30px;
    font-size: 25px !important;
  }
}

.largetitle small {
  margin-top: 0.5em;
  font-size: 18px !important;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1199px) {
  .largetitle small {
    font-size: 14px !important;
  }
}

.elem-fixednav {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 1;
  background: #222;
  padding: 10px 20px;
  -webkit-box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  z-index: 5;
}

.elem-fixednav li {
  margin: 0.5em 0;
}

.elem-fixednav li a {
  display: block;
  font-family: 'Roboto';
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: right;
  text-decoration: none;
}

.elem-fixednav li a:hover {
  text-decoration: underline;
}

.elem-loader, .elem-loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
  overflow: hidden;
}

.elem-loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -100%;
  border-top: 1.1em solid rgba(0, 75, 153, 0.2);
  border-right: 1.1em solid rgba(0, 75, 153, 0.2);
  border-bottom: 1.1em solid rgba(0, 75, 153, 0.2);
  border-left: 1.1em solid #004b99;
  -webkit-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)
  }
}

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: none
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir="rtl"] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.slick-loading .slick-list {
  background: #fff url("./../img/common/ajax-loader.gif") center center no-repeat
}

@font-face {
  font-family: "../img/fonts/slick";
  src: url("./fonts/../img/fonts/slick.eot");
  src: url("./fonts/../img/fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/../img/fonts/slick.woff") format("woff"), url("./fonts/../img/fonts/slick.ttf") format("truetype"), url("./fonts/../img/fonts/slick.svg#slick") format("svg");
  font-weight: 400;
  font-style: normal
}

.slick-prev, .slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
  opacity: 1
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: .25
}

.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: #fff;
  opacity: .75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.slick-prev {
  left: -25px
}

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px
}

.slick-prev:before {
  content: "遶叶"
}

[dir="rtl"] .slick-prev:before {
  content: "遶樺"
}

.slick-next {
  right: -25px
}

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto
}

.slick-next:before {
  content: "遶樺"
}

[dir="rtl"] .slick-next:before {
  content: "遶叶"
}

.slick-dotted.slick-slider {
  margin-bottom: 30px
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "窶｢";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: #000;
  opacity: .25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
  color: #000;
  opacity: .75
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff
}

.flatpickr-calendar.open, .flatpickr-calendar.inline {
  opacity: 1;
  visibility: visible
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px)
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block
}

.flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto
}

.flatpickr-calendar:before, .flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px
}

.flatpickr-calendar.rightMost:before, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px
}

.flatpickr-calendar.arrowCenter:before, .flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px
}

.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
  bottom: 100%
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff
}

.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
  top: 100%
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff
}

.flatpickr-calendar:focus {
  outline: 0
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block
}

.flatpickr-months {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9)
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none
}

.flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
  position: relative
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  left: 0
}

.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  right: 0
}

.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
  color: #986c0f
}

.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
  fill: #986c0f
}

.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
  width: 16px;
  height: 16px
}

.flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
  fill: inherit
}

.numInputWrapper {
  position: relative;
  height: auto
}

.numInputWrapper input, .numInputWrapper span {
  display: inline-block
}

.numInputWrapper input {
  width: 100%
}

.numInputWrapper input::-ms-clear {
  display: none
}

.numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15)
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1)
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2)
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%
}

.numInputWrapper span.arrowDown {
  top: 50%
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%
}

.numInputWrapper span svg {
  width: inherit;
  height: auto
}

.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5)
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05)
}

.numInputWrapper:hover span {
  opacity: 1
}

.flatpickr-current-month {
  padding: 10px
}

.flatpickr-current-month span.cur-month {
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05)
}

.flatpickr-current-month .numInputWrapper {
  width: 5ch;
  width: 7ch\0;
  display: inline-block
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9)
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9)
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0
}

.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05)
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0
}

.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder
}

.dayContainer, .flatpickr-weeks {
  padding: 1px 0 0 0
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px
}

.flatpickr-days:focus {
  outline: 0
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  margin: 0;
  padding: 10px;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center
}

.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6
}

.flatpickr-day.today {
  border-color: #959ea9
}

.flatpickr-day.today:hover, .flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff
}

.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
  background: #004b99;
  color: #fff !important;
  border-color: #004b99
}

.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px
}

.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0
}

.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px
}

.flatpickr-day.inRange {
  border-radius: 0
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default
}

.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1)
}

.flatpickr-day.week.selected {
  border-radius: 0
}

.flatpickr-day.hidden {
  visibility: hidden
}

.rangeMode .flatpickr-day {
  margin-top: 1px
}

.flatpickr-weekwrapper {
  float: left
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%
}

.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none
}

.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both
}

.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%
}

.flatpickr-time input {
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold
}

.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
  font-weight: 400
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0
}

.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400
}

.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
  background: #eee
}

.flatpickr-input[readonly] {
  cursor: pointer
}

@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0)
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}

@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0)
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}

.calendartext {
  display: none
}

input.calendar {
  cursor: pointer
}

.flatpickr-calendar {
  position: relative
}

.flatpickr-calendar h2 {
  width: 100%;
  background: #222;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 0;
  padding: 1em
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar h2 {
    font-size: 16px
  }
}

.flatpickr-calendar.animate.open {
  width: calc(100% - 40px) !important;
  max-width: 1000px;
  margin: 0 !important;
  padding: 150px 100px 40px !important;
  position: fixed !important;
  top: 50vh !important;
  left: 50vw !important;
  -webkit-transform: translate(-50%, -50%) !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 0;
  color: #222
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar.animate.open {
    padding: 120px 20px 30px !important
  }
}

.flatpickr-calendar.animate.open::before, .flatpickr-calendar.animate.open::after {
  display: none
}

.flatpickr-calendar.animate.open .flatpickr-months {
  position: relative
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month {
  top: -50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month svg, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month::before, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month::after, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month svg, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month::before, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month::after {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month svg {
  margin-right: 0.5em
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month::before {
  content: "";
  width: 1em;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 4px;
  background: #222
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-prev-month:hover::before {
  background: #986c0f
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month svg {
  margin-left: 0.5em
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month::after {
  content: "";
  width: 1em;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 4px;
  background: #222
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-next-month:hover::after {
  background: #986c0f
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month .cur-month {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month .cur-month:hover {
  background: none
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month .numInputWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  width: 80px;
  padding: 0;
  background: rgba(0, 0, 0, 0.05)
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-current-month .numInputWrapper .cur-year {
  font-weight: 600
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month {
  position: relative;
  background: #f8f8f8
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month::before, .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month::before {
  border-bottom: 0px
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month:nth-of-type(1) {
  margin-right: 5%
}

.flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month:nth-of-type(2) {
  margin-left: 5%
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month:nth-of-type(1) {
    margin-right: 0
  }
  .flatpickr-calendar.animate.open .flatpickr-months .flatpickr-month:nth-of-type(2) {
    display: none
  }
}

.flatpickr-calendar.animate.open .flatpickr-rContainer {
  width: 100%
}

.flatpickr-calendar.animate.open .flatpickr-weekdays {
  width: 100%
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer {
  padding: 20px 10px 2px;
  position: relative;
  background: #f8f8f8
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer::before {
  content: "";
  display: inline-block;
  width: calc(100% - 20px);
  height: 1px;
  background: #ddd;
  position: absolute;
  top: 0;
  left: 10px
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer:nth-of-type(1) {
  margin-right: 5%
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer:nth-of-type(2) {
  margin-left: 5%
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer:nth-of-type(1) {
    margin-right: 0
  }
  .flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer:nth-of-type(2) {
    display: none
  }
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer .flatpickr-weekday {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #222
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer .flatpickr-weekday:nth-child(7n) {
  color: #004b99
}

.flatpickr-calendar.animate.open .flatpickr-weekdays .flatpickr-weekdaycontainer .flatpickr-weekday:nth-child(7n+1) {
  color: #b7282e
}

.flatpickr-calendar.animate.open .flatpickr-days {
  width: 100% !important;
  height: 306px
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar.animate.open .flatpickr-days {
    height: inherit
  }
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer {
  position: relative;
  top: -1px;
  width: 50%;
  max-width: 100%;
  background: #f8f8f8;
  padding: 10px
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer::before, .flatpickr-calendar.animate.open .flatpickr-days .dayContainer::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer::before {
  -webkit-border-image: -webkit-linear-gradient(left, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(90deg, #93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-left: 0px;
  border-right: 0px
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer::after {
  -webkit-border-image: -webkit-linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(#93928e 10px, transparent 10px, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-top: 0px;
  border-bottom: 0px
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer::before {
  border-top: 0px
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer::after {
  -webkit-border-image: -webkit-linear-gradient(transparent 0, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  -o-border-image: linear-gradient(transparent 0, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-image: linear-gradient(transparent 0, transparent calc(100% - 10px), #93928e calc(100% - 10px)) 1;
  border-style: solid;
  border-width: 1px;
  border-bottom: 0px
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer:nth-of-type(1) {
  margin-right: 5%
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer:nth-of-type(2) {
  margin-left: 5%
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar.animate.open .flatpickr-days .dayContainer {
    width: 100%
  }
  .flatpickr-calendar.animate.open .flatpickr-days .dayContainer:nth-of-type(1) {
    margin-right: 0
  }
  .flatpickr-calendar.animate.open .flatpickr-days .dayContainer:nth-of-type(2) {
    display: none
  }
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer .flatpickr-day {
  width: 12%;
  max-width: 12%;
  margin: 1%;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 600;
  color: #222
}

@media screen and (max-width: 679px) {
  .flatpickr-calendar.animate.open .flatpickr-days .dayContainer .flatpickr-day {
    font-size: 16px
  }
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer .flatpickr-day:nth-child(7n) {
  color: #004b99
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer .flatpickr-day:nth-child(7n+1) {
  color: #b7282e
}

.flatpickr-calendar.animate.open .flatpickr-days .dayContainer .flatpickr-day::before {
  content: "";
  display: block;
  padding-top: 100%
}

.flatpickr-calendar .flatpickr-disabled {
  opacity: 0.3;
  pointer-events: none
}

.selectedSeat {
  background-color: #004b99;
  color: #fff;
}
.square.seatType1 {
  background: #004b99;
}
.square.seatType2 {
  background: #028760;
}
.square.seatType3 {
  background: #65318e;
}
.square.seatType4 {
  background: #96514D;
}
.text-danger {
	color: #E04B4A !important;
}
.regiconfirm{
	margin: 5px;
}

.elem-search .resultSearch{
	justify-content: space-around !important;
}

@media screen and (min-width: 1199px) {
	.elem-search .elem-head .searchHead{
		width: auto;
	}
  .reservation-detail{
    width: 390px;
  }
}

div.item.cardImg img{
	width: 15%;
}

/*# sourceMappingURL=main.css.map */

div.busStop {
    width: 100%;
    height: 50px;
    padding: 0 1em;
    border: solid #ddd 1px;
    border-radius: 3px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: inherit;
    align-content: center;
    display: grid;
}

img.nosave {
    pointer-events: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    user-select: none;
}

.block-header .sekitori-logo {
  margin-right: 1.5em;
}

@media screen and (max-width: 1199px) {
  .block-header .sekitori-logo {
    display: flex;
    margin-right: 0em;
  }
}

.block-header .sekitori-logo svg {
  width: auto;
  height: 16px;
}

@media screen and (max-width: 1199px) {
  .block-header .sekitori-logo svg {
    margin-top: 2em;
    margin-right: 0.4em;
  }
}

.block-header .sekitori-logo svg text {
  font-size: 12px;
  pointer-events: none;
}

@media screen and (max-width: 1199px) {
  .block-header .elem-useritem .sekitori-logo {
    display: flex;
    flex-direction: column;
  }
}

@media screen and (max-width: 1199px) {
  .block-header .elem-useritem .sekitori-logo svg {
    margin-top: 0em;
    margin-bottom: 0.3em;
  }
}

.operating-status {
  font-size: 22px;
}

@media screen and (max-width: 500px) {
  .operating-status {
    font-size: 14px !important;
  }
}

td.nowrap {
  white-space: nowrap;
}

/** mobile改行start /

/* 基本的に非表示 */
.mobile-br {
  display: none;
}

/* モバイルのみ改行 */
@media screen and (max-width: 767px) {
  .mobile-br {
    display: inline;
  }
}
/** mobile改行end /
