@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v5.0.1 | 20191019
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

menu, ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

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

a:visited, a:active {
  color: inherit;
}

.header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 63px;
  border-bottom: 1px solid #BDBDBD;
  background-color: #fff;
  z-index: 99;
}

.header__inner {
  text-align: center;
  height: 100%;
  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;
}

.header-btn {
  width: 64px;
  height: 63px;
  position: absolute;
  top: 0;
  left: 0;
}

.header-btn__inner {
  margin: 17px 20px 0;
  width: 24px;
  height: 18px;
  position: relative;
}

.header-btn__inner > span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
}

.header-btn__inner > span:first-child {
  top: 0;
}

.header-btn__inner > span:nth-child(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.header-btn__inner > span:last-child {
  bottom: 0;
}

.header-btn__text {
  font-size: 8px;
  text-align: center;
  margin-top: 6px;
}

.header__logo,
.header__logo2 {
  display: inline-block;
  line-height: 1;
  max-width: calc(100% - 170px);
  margin: 1px 0;
}

.header__logo > img,
.header__logo2 > img {
  width: 100%;
  max-width: 200px;
}

.header__logo > img {
  width: 100%;
  vertical-align: middle;
}

.menu {
  overflow: hidden;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 85.33333%;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  background-color: #fff;
  z-index: 99999;
  -webkit-transition-duration: .3s;
  transition-duration: .3s;
}

.body--menu-open .menu {
  -webkit-transform: none;
  transform: none;
}

.menu-btn {
  width: 64px;
  height: 64px;
  overflow: hidden;
}

.menu-btn__inner {
  position: relative;
  height: 22px;
  width: 22px;
  margin: 16px 21px 0;
}

.menu-btn__inner > span {
  position: absolute;
  display: block;
  background-color: #4F4F4F;
  width: 24px;
  height: 2px;
  left: 50%;
}

.menu-btn__inner > span:first-child {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
}

.menu-btn__inner > span:last-child {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(-45deg);
  transform: translateX(-50%) rotate(-45deg);
}

.menu-btn__text {
  font-size: 8px;
  text-align: center;
  margin-top: 3px;
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
}

.language {
  display: inline-block;
  border: 1px solid #4F4F4F;
  padding: 10px 20px 9px 8px;
  border-radius: 4px;
  background-color: #fff;
  color: #4F4F4F;
  font-size: 10px;
  line-height: 1.5;
  position: absolute;
  right: 9px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.language::after {
  content: "";
  display: inline-block;
  position: absolute;
  height: 0px;
  width: 0px;
  border-width: 8px 4px 8px 4px;
  border-color: #4F4F4F rgba(255, 255, 255, 0) rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
  border-style: solid;
  top: 50%;
  -webkit-transform: translateY(-10%);
  transform: translateY(-10%);
  right: 7px;
}

.footer {
  background-color: #fff;
  text-align: center;
  padding: 22px 15px 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 60px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.footer--fixe1 .footer{
  padding:12px;
}

.footer--fixe2 .footer {
  padding: 12px;
  min-height: 0;
}

.footer_initial {
  background-color: #fff;
  text-align: center;
  padding: 22px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.footer--bg {
  background-color: #000;
  color: #fff;
}

.footer__bottom {
  font-size: 10px;
  line-height: 1.5;
  color: #BDBDBD;
}

.footer--fixed {
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.25);
  box-shadow: 0px -2px 6px rgba(0, 0, 0, 0.25);
  padding: 0 10px;
}

.footer--fixe1, .footer--fixe2 {
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}

.footer--fixed .footer__inner {
  padding: 13px 15px 26px;
}

.footer--scroll {
  position: static;
}

.footer--low {
  min-height: auto;
  padding-top: 4px;
}
.footer_chat {
  position: initial;
}
.chat_iframe {
  height: calc(100vh - 172px);
}

html {
  height: 100%;
}

html, body {
  font-family: "Noto Sans JP", sans-serif; 
  line-height: 1.5;
  min-height: 100%;
}

.body {
  position: relative;
  padding-bottom: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
}

.body--menu-open {
  position: relative;
}

.body--modal-open {
  overflow: hidden;
}

.body--full-height {
  height: 100%;
}

/* コンテンツ縦幅 < ウィンドウだった場合の処理：コンテンツ縦幅を広げてfooterを下部固定 */
.body--mini-height {
  display: flex;
  flex-direction: column;
}
.body--mini-height .content--full-height{
  flex: 1;
}

.content {
  padding-top: 64px;
  min-height: calc(100% - 64px);
}

.content--full-height {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.content--full-height > * {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.margin {
  margin: 0 15px;
}

.margin--top {
  margin-top:295px;
}

.title-area {
  padding: 12px 70px 11px;
  position: relative;
}

.title {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
}

.title--align-left {
  text-align: left;
}

.icon-title {
  padding-left: 38px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  text-align: left;
  position: relative;
  margin-top: 22px;
}

.icon-title:before {
  content: '';
  height: 28px;
  width: 28px;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.icon-title--ticket:before {
  background-image: url("../img/icon_ticket.svg");
}

.icon-title--express:before {
  background-image: url("../img/icon_express.svg");
}

.icon-title--coupon:before {
  background-image: url("../img/icon_coupon.svg");
}

.icon-title--stamp:before {
  background-image: url("../img/icon_stamp.svg");
}

.icon-title--bg {
  margin-top: 25px;
  padding: 10px 10px 10px 48px;
  background-color: #F2F2F2;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.47059;
}
.hakone .icon-title--bg {
  background-color: #D4461C;
  color: #fff;
}
.hakone .icon-title--ticket:before {
  background-image: url("../img/icon_ticket_white.svg");
}

.icon-title--bg:before {
  left: 10px;
}

.link-list {
  margin-top: 20px;
}

.link-list--text {
  margin-top: 40px;
}

.link-list--text:first-child {
  margin-top: 0;
}

.link-list--text .link-list__item {
  padding: 14px 30px 15px 15px;
}

.link-list--text .link-list__item:after {
  right: 20px;
}

.link-list--text .link-list__item--two-stage {
  padding: 4px 30px 6px 15px;
}

.link-list--text .link-list__item--two-stage .link-list__inner {
  display: block;
}

.link-list li {
  border-bottom: 1px solid #E0E0E0;
}

.link-list li:first-child {
  border-top: 1px solid #E0E0E0;
}

.link-list__item {
  padding: 18px 32px 17px 9px;
  position: relative;
  display: block;
  color: #333333;
  text-decoration: none;
}

.link-list__item:after {
  content: "";
  opacity: 0.5;
  position: absolute;
  display: block;
  height: 6px;
  width: 6px;
  border-top: 2px solid #4F4F4F;
  border-right: 2px solid #4F4F4F;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.link-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.link-list__title {
  display: inline-block;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.link-list__text {
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
}

.link-list__text.text-small {
  font-size: 12px;
  line-height: 1.5;
}

.link-list__text.text-small--gray {
  font-size: 12px;
  line-height: 1.5;
  color: #828282;
}

.img-link-list--detail .img-link-list__item {
  padding: 15px 0 16px;
  display: block;
  color: #000;
  text-decoration: none;
}

.img-link-list--detail .img-link-list__item.no-ticket {
  text-align: center;
  color: #828282;
  padding: 35px 0;
}

.img-link-list--detail .img-link-list__inner {
  margin-top: 7px;
}

.img-link-list > li {
  border-bottom: 1px solid #E0E0E0;
}

.img-link-list > li:first-child {
  border-top: 1px solid #E0E0E0;
}

.img-link-list__label-area {
  display: block;
  font-size: 0;
}
.img-link-list__label-area.multiple {
  display: flex;
  align-items: flex-end;
}

.img-link-list__label {
  display: inline-block;
  background-color: #FDD000;
  font-size: 10px;
  line-height: 1.5;
  padding: 1px 4px;
  font-weight: 700;
}

.img-link-list__label--color {
  background-color: #000;
  color: #fff;
  font-weight: 400;
}

.img-link-list__label--blue {
  background-color: #389DFC;
  color: #fff;
  font-weight: 400;
}

.img-link-list__label--red {
  background-color: #FAF3EB;
  color: #EB5757;
  font-weight: 700;
}
.img-link-list__label--red.incomplete {
  margin-left: 28px;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
}
.img-link-list__label--red .limit {
  font-weight: 400;
}

.img-link-list__label--gray {
  background-color: #828282;
  color: #fff;
  font-weight: 400;
}

.img-link-list__item {
  padding: 15px 15px 16px;
  display: block;
  color: #000;
  text-decoration: none;
}

.img-link-list__item--has-arrow {
  position: relative;
  padding-right: 40px;
}

.img-link-list__item--has-arrow::after {
  content: "";
  position: absolute;
  display: block;
  height: 6px;
  width: 6px;
  border-top: 2px solid #4F4F4F;
  border-right: 2px solid #4F4F4F;
  top: 50%;
  right: 22px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.img-link-list__item--disabled {
  background-color: #F2F2F2;
}

.img-link-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.img-link-list__inner--center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.img-link-list__img {
  display: inline-block;
  height: 70px;
  width: 70px;
  overflow: hidden;
}

.img-link-list__img.--coupon,
.img-link-list__img.--stamp{
  border-radius: 10px;
}

.img-link-list__img.--coupon.--old,
.img-link-list__img.--stamp.--old{
  background-color: #E0E0E0;
}

.img-link-list__img.--coupon svg{
  width: 38px;
  height: 25px;
} 

.img-link-list__img img {
  height: 100%;
}

.img-link-list__text-area {
  display: inline-block;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  width: calc(100% - 80px);
  margin-left: 7px;
}

.img-link-list__title {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}

.img-link-list__caption {
  font-size: 10px;
  line-height: 1.5;
  color: #828282;
  margin-top: 5px;
}
.img-link-list__caption th{
  text-align: left;
}

.train-link-list > li {
  border-bottom: 1px solid #E0E0E0;
}

.train-link-list > li:first-child {
  border-top: 1px solid #E0E0E0;
}

.train-link-list__item {
  padding: 15px 40px 16px 15px;
  display: block;
  color: #000;
  text-decoration: none;
  position: relative;
}

.train-link-list__item::after {
  content: "";
  position: absolute;
  display: block;
  height: 6px;
  width: 6px;
  border-top: 2px solid #4F4F4F;
  border-right: 2px solid #4F4F4F;
  top: 50%;
  right: 22px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.train-link-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.train-link-list__img {
  display: inline-block;
  height: 48px;
  width: 48px;
  overflow: hidden;
}

.train-link-list__img img {
  height: 100%;
}

.train-link-list__text-area {
  display: inline-block;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  width: calc(100% - 68px);
  margin-left: 20px;
}

.train-link-list__title {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}

.train-link-list__title--icon{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.train-link-list__title--icon .icon{
  display: flex;
  justify-content: flex-end;
  gap:5px;
  width: auto;
}
.train-link-list__title--icon .icon img{
  width: 28px;
}

.departure-arrival {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.departure-arrival__arrow {
  width: 19px;
  margin-left: 8px;
  margin-right: 8px;
}

.departure-arrival__arrow > img {
  width: 100%;
}

.departure-arrival__place {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  display: block;
}

.departure-arrival__time {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  display: block;
}

.status-list {
  width: 100%;
  display: grid;
  font-size: 10px;
  line-height: 1.5;
  color: #4F4F4F;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5px;
  font-weight: 400;
}

.status-list__item {
  display: contents;
}

.qr-scan {
  width: 250px;
  height: 250px;
  border: 1px #E0E0E0 solid;
  margin: 30px auto;
}

.modal__link {
  margin-bottom: 10px;
}

.back-btn {
  padding: 8px 13px 7px 27px;
  border-radius: 20px;
  background-color: #fff;
  position: relative;
  font-size: 10px;
  line-height: 1.5;
  display: inline-block;
  text-decoration: none;
  color: #000;
  position: fixed;
  z-index: 2;
  left: 15px;
}

.back-btn::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 10px;
  height: 8px;
  width: 8px;
  border-top: 2px solid #333333;
  border-left: 2px solid #333333;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}

.img-wrapper {
  line-height: 0;
  width: 100%;
}

.img-wrapper > img {
  width: 100%;
}

.img-wrapper--header .back-btn {
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

.border {
  display: block;
  height: 1px;
  width: 100%;
  background-color: #E0E0E0;
}

.section-title {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 20px;
}

.section-content {
  margin-top: 5px;
}

.section-content--indent {
  padding-left: 1em;
}

.section-content--sheets {
  padding-left: 1em;
  width: 200px;
  margin: 0 auto;
}

.price {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  margin-top: 10px;
}

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

.text {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 21px;
  color: #333333;
}

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

.text--small {
  font-size: 12px;
  line-height: 1.5;
}

.text--red {
  color: #EB5757;
}
a.text--blue,
a.text--blue:link,
a.text--blue:visited {
  color: #413FD1;
}

.text--attention {
  color: #EB5757;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}
.text--attention.with-bg {
  background: #FAF3EB;
  padding: 15px;
  font-weight: normal;
}
.text--attention.with-bg span.block-title{
  display: block;
  font-weight: bold;
  margin-bottom: 8px;
  padding-left: 20px;
  position: relative;
}
.text--attention.with-bg span.block-title::before{
  content:"";
  background: url(../img/attention-icon.svg) no-repeat;
  width: 14px;
  height: 14px;
  position: absolute;
  top: calc(50% - 7px);
  left: 0;
}
.text--attention.text--small{
  font-size: 12px;
  font-weight: normal;
  line-height: 140%;
  display: inline-block;
}

.sub-text {
  font-size: 14px;
  line-height: 1.5;
  color: #4F4F4F;
}

.sup-text {
  font-size: 12px;
  line-height: 1.5;
  color: #4F4F4F;
  margin-top: 5px;
}

.sup-text--light {
  color: #828282;
}

.attention {
  border: 1px solid #EB5757;
  padding: 9px;
  font-size: 12px;
  line-height: 1.5;
  color: #EB5757;
}

.attention__title {
  font-weight: 700;
}

.attention__inner {
  margin-top: 18px;
}

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

.button {
  display: block;
  border-radius: 4px;
  text-decoration: none;
  color: #000;
}

.button--medium {
  padding: 14px 40px 13px 15px;
  border: 1px solid #000;
  position: relative;
  font-size: 14px;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 283px;
  margin-left: auto;
  margin-right: auto;
}

.button--medium:after {
  content: "";
  display: inline-block;
  position: absolute;
  height: 9px;
  width: 9px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.max-width100 {
  max-width: 100% !important;
}

.button--large {
  padding: 12px 20px 12px;
  position: relative;
  font-size: 16px;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.button.button--register_gray {
  background-color: #BDBDBD !important;
}

.button--cancel {
  background-color: #E0E0E0;
}

.button.button--disabled {
  background-color: #BDBDBD;
}

.button.button--used {
  background-color: #E0E0E0;
}

.button.button--red {
  background-image: none !important;
  background-color: #F76666 !important;
  color: #fff !important;
}

.button-icon {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  vertical-align: middle;
  display: inline-block;
}

.page-button-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 45px;
  margin-right: 45px;
}

.page-button-area__button {
  display: block;
  width: calc(50% - 10px);
  border-radius: 4px;
  text-decoration: none;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  position: relative;
  font-size: 14px;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 14px;
  padding-bottom: 13px;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.page-button-area__button:not(.page-button-area__button--disabled):active {
  opacity: 0.5;
}

.page-button-area__button--disabled {
  border: none;
  cursor: auto;
  pointer-events: none;
  background-color: #E0E0E0;
  color: #4F4F4F;
}

.page-button-area__button::after {
  content: "";
  display: inline-block;
  position: absolute;
  height: 9px;
  width: 9px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  top: 50%;
}

.page-button-area__button:nth-child(1) {
  padding-left: 32px;
  padding-right: 14px;
}

.page-button-area__button:nth-child(1):after {
  left: 25px;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
}

.page-button-area__button:nth-child(2) {
  margin-left: 20px;
  padding-left: 14px;
  padding-right: 32px;
}

.page-button-area__button:nth-child(2):after {
  right: 25px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.checkbox {
  display: inline-block;
}

.checkbox input {
  display: none;
}

.checkbox input:checked ~ .checkbox__label .checkbox__icon::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  height: 16px;
  width: 16px;
  border-radius: 2px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  background-color: #000;
  background-image: url("../img/icon_check.svg");
  background-position: center 45%;
  background-size: 80% auto;
  background-repeat: no-repeat;
}

.checkbox__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.5;
  color: #000;
}

.checkbox__icon {
  display: inline-block;
  height: 16px;
  width: 16px;
  background-color: #fff;
  border-radius: 2px;
  border: 1px solid #BDBDBD;
  position: relative;
  margin-right: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-top: 1px;
}

/* チェックボックス複数 */
.check-btns .check-list {
  margin-top: 10px;
}

.check-btns .check-list + .check-list {
  margin-top: 13px;
}

/* input */
.check-btns input[type=checkbox] {
  display: none;
}

/* label */
.check-btns .check-label {
  display: block;
  position: relative;
  padding-left: 19px;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.5;
  color: #000;
}

.check-btns input[type=checkbox]  + .check-label::before {
  position: absolute;
  top: 1px;
  left: 0;
  content: '';
  display: inline-block;
  height: 16px;
  width: 16px;
  background-color: #fff;
  border-radius: 2px;
  border: 1px solid #BDBDBD;
  box-sizing: border-box;
}
.check-btns input[type=checkbox] + .check-label::after {
  position: absolute;
  top: 1px;
  left: 0;
  content: '';
  display: block;
  height: 16px;
  width: 16px;
  background-color: #000;
  border-radius: 2px;
  border: 1px solid #BDBDBD;
  box-sizing: border-box;
  background-image: url("../img/icon_check.svg");
  background-position: center 45%;
  background-size: 95% auto;
  background-repeat: no-repeat;
  opacity: 0;
  visibility: hidden;
}
.check-btns input[type=checkbox]:checked + .check-label::after {
  opacity: 1;
  visibility: visible;
}

.check-btns.check-btns--custom label {
  font-size:14px;
  padding-left:27px;
}
.check-btns.check-btns--custom input[type=checkbox]  + .check-label::before {
  top: 3px;
}
.check-btns.check-btns--custom input[type=checkbox] + .check-label::after {
  top: 3px;
}

.step__wrapper {
  background-color: #F2F2F2;
  padding: 17px 20px;
}

.step__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.step__item {
  width: 84px;
  text-align: center;
  position: relative;
  z-index: 1;
}

.step__item:after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  right: -35px;
  width: 70px;
  height: 2px;
  background-color: #BDBDBD;
  z-index: -1;
}

.step__item:last-child:after {
  content: none;
}

.step__item--current .step__text {
  color: #000;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;
}

.step__item--done .step__icon {
  position: relative;
  color: rgba(255, 255, 255, 0);
}

.step__item--done .step__icon:before {
  content: "";
  display: block;
  position: absolute;
  height: 13px;
  width: 17px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("../img/icon_check.svg");
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.step__item--done .step__text {
  color: #BDBDBD;
}

.step__icon {
  display: inline-block;
  height: 30px;
  width: 30px;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #BDBDBD;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  line-height: 30px;
}

.step__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 36px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1.5;
  color: #828282;
}

.input-button {
  font-size: 30px;
  line-height: 1.5;
  border: 1px #000 solid;
  border-radius: 26px;
  width: 53px;
  text-align: center;
  padding: 4px 0;
}

.input-button--ok {
  font-size: 20px;
  line-height: 1.5;
  border-radius: 26px;
  width: 55px;
  text-align: center;
  padding: 12.5px 0;
}

.page-bg {
  content: "";
  display: none;
  position: absolute;
  top: 0.2px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999;
  transform: translate3d(0, 0, -1px);
}

.body--modal-open .page-bg, .body--menu-open .page-bg {
  display: block;
}

.modal {
  display: none;
  position: fixed !important;
  top: 50%;
  left: 20px;
  right: 20px;
  width: calc(100% - 40px);
  max-height: calc(100% - 100px);
  overflow: auto;
  background-color: #fff;
  z-index: 9999;
  border-radius: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 30px 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.modal_limited {
  min-height: 440px;
  padding: 15px 15px;
  max-height: calc(100vh - 227px);
}
.modal .simplebar-scrollbar {
  background: #DDD;
  border-radius: 5px;
  top: 0;
  width: 8px;
}
.modal .simplebar-scrollbar:before{
  display: none;
}
.modal *::-webkit-scrollbar{
  display:none;
  -ms-overflow-style: none;
}


.modal--is-show {
  display: block;
}

.modal--bg {
  background-color: #000;
  color: #fff;
}

.modal__link {
  margin-bottom: 10px;
}

.select {
  display: flex;
  align-items: center;
  padding: 6px 30px 6px 20px;
  border: 1px solid #000;
  border-radius: 4px;
  position: relative;
  min-height: 42px;
  box-sizing: border-box;
}

.select::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-75%) rotate(45deg);
  transform: translateY(-75%) rotate(45deg);
  right: 20px;
  height: 6px;
  width: 6px;
  border-right: 2px solid #333333;
  border-bottom: 2px solid #333333;
}

.select--date {
  padding: 13px 40px 13px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.select__title {
  width: 80px;
  margin-right: 8px;
  color: #828282;
  font-size: 14px;
  line-height: 1.5;
  padding: 2px 0 1px;
  word-break: break-word;
}

.select__select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  color: #333333;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  width: calc(100% - 20px);
  height: 100%;
  position: absolute;
  z-index: 1;
}

.select_in_price {
  font-weight: 700;
}

.select__select:focus {
  outline: none;
}

.select__input {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  width: 100%;
  border: none;
  color: #333333;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.select__input:focus {
  outline: none;
}

.select__input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.col-2.selected{
  justify-content: flex-start;
}

.col-2.selected .section-title{
  width: 100px;
}

.selected--date {
  color: #333333;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.input {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 4px;
  padding: 14px 20px 14px;
  font-size: 14px;
  line-height: 1.5;
  color: #333333;
  word-break: break-all;
}

.textarea{
  display:block;
}

.input::-webkit-input-placeholder {
  color: #828282;
}

.input::-moz-placeholder {
  color: #828282;
}

.input:-ms-input-placeholder {
  color: #828282;
}

.input::-ms-input-placeholder {
  color: #828282;
}

.input::placeholder {
  color: #828282;
}

.input::placeholder,
.textarea::placeholder {
    color: #828282;
    opacity: 1;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    font-family: 'Noto Sans JP', sans-serif;
}

.input--has-title {
  padding: 13px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.input--has-title .input__title {
  width: 80px;
  margin-right: 8px;
  color: #828282;
  font-size: 14px;
  line-height: 1.5;
  padding: 2px 0 1px;
  word-break: break-word;
}

.input--has-title .input__input {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  width: calc(100% - 100px);
  border: none;
  color: #333333;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.input--has-title .input__input:focus {
  outline: none;
}

.input--has-title .input__input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.departure-arrival-time-input-area .input {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  padding: 11px 20px;
}

.departure-arrival-time-input-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.departure-arrival-time-input-area__time-input {
  width: 50.43478%;
}

.departure-arrival-time-input-area__button-area {
  width: calc(49.56522% - 10px);
  margin-left: 10px;
  overflow: hidden;
  border: 1px solid #828282;
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.departure-arrival-time-input-area__button {
  display: block;
  text-decoration: none;
  border: none;
  color: #000;
  padding: 11px 14px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  height: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.departure-arrival-time-input-area__button:active {
  opacity: 0.7;
}

.departure-arrival-time-input-area__button:first-child {
  width: calc(50% + 0.5px);
  border-right: 1px solid #828282;
}

.departure-arrival-time-input-area__button:nth-child(2) {
  width: calc(50% - 0.5px);
}

.departure-arrival-section-input-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.departure-arrival-section-input-area__input-area {
  flex: 1;
}

.departure-arrival-section-input-area__button-area {
  width: 36px;
  margin-left: 10px;
}

.departure-arrival-section-input-area__button {
  text-decoration: none;
  height: 100%;
  border: none;
  color: #000;
  padding: 11px 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #F2F2F2;
  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;
  border-radius: 4px;
  border: 1px solid #828282;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.departure-arrival-section-input-area__button > img {
  width: 25px;
}

.departure-arrival-section-input-area__button:active {
  opacity: 0.5;
}

.radio {
  margin-top: 10px;
}

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

.radio input {
  display: none;
}

.radio input:checked + label .radio__icon::after {
  content: "";
  position: absolute;
  top: 2px;
  height: 10px;
  left: 2px;
  width: 10px;
  border-radius: 50%;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  background-color: #4F4F4F;
}

.radio label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: #4F4F4F;
}

.indent-radio-area .radio label {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: #333333;
}

.indent-radio-area input[type="radio"]:checked+label{
  font-weight: 700;
}

.radio__icon {
  display: inline-block;
  margin-right: 11px;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  border: 1px solid #E0E0E0;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  background-color: #fff;
  margin-top: 4px;
}

.indent-radio-area .radio__icon {
  margin-top: 2px;
}

.indent-radio-area {
  padding-left: 1em;
}

.table {
  width: 100%;
  table-layout: fixed;
}

.table__th {
  color: #828282;
  width: 110px;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  padding: 6px 6px 6px 0;
}

.table__th--w-0 {
  width: 0%;
}

.table__th--w-10 {
  width: 10%;
}

.table__th--w-20 {
  width: 20%;
}

.table__th--w-30 {
  width: 30%;
}

.table__th--w-40 {
  width: 40%;
}

.table__th--w-50 {
  width: 50%;
}

.table__th--w-60 {
  width: 60%;
}

.table__th--w-70 {
  width: 70%;
}

.table__th--w-80 {
  width: 80%;
}

.table__th--w-90 {
  width: 90%;
}

.table--3col .table__th, .table--3col .table__td {
  font-size: 16px;
  line-height: 1.5;
  width: 280px;
}

.table__td {
  color: #333333;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  padding: 4px 0;
}

.line-table {
  width: 100%;
  font-size: 12px;
  line-height: 1.5;
}

.line-table__th, .line-table__td {
  border-bottom: 1px solid #E0E0E0;
}

.line-table__th {
  text-align: center;
  padding: 4px;
  vertical-align: middle;
}
.line-table__th .w20{
  width: 20px;
  vertical-align: middle;
}
.line-table__th .w10{
  width: 10px;
}

.line-table__td {
  text-align: left;
  padding: 10px 10px 10px 0;
}

.col1 {
  width: 56px;
}

.col2 {
  width: 72px;
}

.text-link {
  text-decoration: underline;
  color: #333333;
  font-size: 16px;
  line-height: 1.5;
}

.col-2 {
  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;
  margin-top: 25px;
}

.col-2--vertical-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.col-2__item {
  width: calc(50% - 20px);
}

.info-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.info-label__text {
  font-size: 12px;
  line-height: 1.5;
}

.info-text {
  margin-top: 4px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  display: flex;
  align-items: baseline;
}

.info-eng{
  font-size: 10px;
  line-height: 1.5;
}

.info-text--strong {
  font-size: 32px;
  line-height: 1.5;
  font-weight: 700;
}

.info-text--time {
  font-size: 25px;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
  margin-top: 18px;
}

.info-text--time:after {
  content: "〜";
  position: absolute;
  right: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.info-text--strong-time {
  font-size: 36px;
  line-height: 1.5;
  font-weight: 700;
}

.info-text--sub {
  font-size: 10px;
  line-height: 1.5;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.info-text--place {
  font-size: 36px;
  line-height: 1.5;
  font-weight: 700;
}

.info-frame {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border: 2px solid #EB5757;
  padding: 3px 8px;
  border-radius: 10px;
  color: #EB5757;
}

.ticket-border {
  width: 100%;
  border-top: 1px dashed #000;
  margin-top: 40px;
  position: relative;
}

.ticket-border::before, .ticket-border::after {
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 19px;
  width: 20px;
  border-width: 10px;
  border-style: solid;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.ticket-border::before {
  top:-1px;
  left: 0;
  border-color: rgba(255, 255, 255, 0) rgba(255, 255, 255, 0) rgba(255, 255, 255, 0) #000;
}

.ticket-border::after {
  top:-1px;
  right: 0;
  border-color: rgba(255, 255, 255, 0) #000 rgba(255, 255, 255, 0) rgba(255, 255, 255, 0);
}

.ticket-done {
  margin: 25px 0 18px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.ticket-done.lines2:first-child {
  margin-top: 0;
}

.ticket-done.lines2:nth-child(2) {
  margin-top: 22px;
  margin-bottom: -3px;
}

.text-button-list {
  border-bottom: 1px solid #E0E0E0;
  margin-top: 16px;
}

.text-button-list__item {
  border-top: 1px solid #E0E0E0;
  background-color: #F2F2F2;
  padding: 10px 0;
}

.text-button-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  min-height: 38px;
}

.text-button-list__text {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}

.text-button-list__button-text,
.text-button-list__button {
  font-size: 14px;
  line-height: 1.5;
  display: inline-block;
  padding: 7px 4px;
  min-width: 95px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  margin: 0 0 0 8px;
  text-align: center;
  box-sizing: border-box;
}

.text-button-list__button--bold {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
}

.icon, .icon--check {
  width: 40px;
}

.icon--check {
  height: 40px;
  border-radius: 20px;
  position: relative;
  margin: 0 auto;
}

.icon--check:after {
  content: "";
  width: 30px;
  height: 22px;
  background: url(../img/icon_check.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 10px;
  left: 6px;
}

.icon--coupon {
  -webkit-mask-image: url(../img/icon_coupon.svg);
  mask-image: url(../img/icon_coupon.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: cover;
  mask-size: cover;
  font-size: 0;
  height: 40px;
  display: block;
  margin-right: auto;
  margin-left: auto;
  width: 38px;
  height: 25px;
  background-size: cover;
}

.icon--alert {
  -webkit-mask-image: url(../img/icon_alert.svg);
  mask-image: url(../img/icon_alert.svg);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-image: contain;
  mask-image: contain;
  font-size: 0;
  height: 40px;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.input-code-area {
  width: 260px;
  margin: 20px auto 0;
}

.input-code-area__text {
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
}

.input-code-area__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #4F4F4F;
  margin-top: 20px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 6px;
}

.input-code-area__input {
  width: calc(100% - 48px);
  border: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 24px;
  line-height: 1.5;
}

.input-code-area__input:focus {
  outline: none;
}

.input-code-area__delete-btn {
  display: block;
  width: 40px;
  height: 30px;
  background-image: url("../img/icon_delete-button.svg");
  position: relative;
}

.input-code-area__delete-btn::before, .input-code-area__delete-btn::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #4F4F4F;
  width: 18px;
  height: 2px;
  right: 8px;
}

.input-code-area__delete-btn::before {
  top: 50%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.input-code-area__delete-btn::after {
  top: 50%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.input-code-area__btn-area {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.input-code-area__btn {
  height: 56px;
  width: 56px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #4F4F4F;
  border: 1px solid #4F4F4F;
  margin-left: 45px;
  margin-top: 25px;
  text-align: center;
  font-size: 30px;
  line-height: 1.5;
  padding: 5px;
}

.input-code-area__btn:nth-child(-n+3) {
  margin-top: 0;
}

.input-code-area__btn:nth-child(3n+1) {
  margin-left: 0;
}

.input-code-area__btn--color {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  padding: 13px 0;
  border: none;
}

.sheet-animation-area {
  margin-top: 10px;
  text-align: center;
}

.sheet-animation-area > img {
  max-width: 100%;
}

.animation-area_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  overflow-x: hidden;
}

.animation-area {
  text-align: center;
  width: calc(50vw + 70px);
}

.animation-area > img {
  max-width: 100%;
  vertical-align: bottom;
}

.animation-area_wrap .qr-area {
  width: calc(50vw - 70px);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 10px;
}

@media only screen and (min-width:300px) {
  .animation-area {
    text-align: center;
    width: 65%;
  }
  .animation-area_wrap .qr-area {
    width: 35%;
    box-sizing: border-box;
    padding: 0 15px;
    max-width: 300px;
    margin: 0 auto;
  }
}
@media only screen and (max-width:301px) {
  .animation-area {
    text-align: center;
    width: calc(100vw - 106px);
  }
  .animation-area_wrap .qr-area {
    width: 106px;
    box-sizing: border-box;
    padding: 0 15px;
  }
}
.animation-area_wrap .qr-area img {
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}

.animation-area_wrap .qr-area.reload {
  text-align: center;
}

.animation-area_wrap .qr-area.reload p {
  margin-top: 10px;
}

.animation-area_wrap .qr-area.reload img {
  max-width: 50%;
  margin-top: 5px;
}

.qr-image {
  text-align: center;
}

.qr-image > img {
  max-width: 100%;
}

.qr-image.--w200 > img{
  width:200px;
}

 .qr-area_big{
  display: flex;
  justify-content: center;
}
.qr-area_big span.img-container{
  width: 150px;
  height: auto;
}
.qr-area_big img{
  width: 100%;
  height: auto;
}

/** 20260327 add **/
.ticket-wrap{
  width: 345px;
  margin: 0 auto;
  overflow: hidden;
}
.ticket-area{
  font-size: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ticket-area .ticket-title{
  padding: 6px 15px;
  background: #F3F3F3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  position: relative;
  border: 1px solid #E0E0E0;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
}
.ticket-area .ticket-title::before,
.ticket-area .ticket-title::after{
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #E0E0E0;
  bottom: -12px;
  left: -12px;
  z-index: 10;
}
.ticket-area .ticket-title::after{
  left: auto;
  right: -12px;
}
.ticket-area .ticket-title h1.icon-title{
  font-size: 16px;
  font-weight: bold;
  margin-top: 0;
}
.ticket-area .ticket-title a{
  display: flex;
  align-items: center;
}
.ticket-area .ticket-data-wrap{
  max-height: max(156px, calc(100vh - 511px));
  overflow-y: auto;
  overflow-x: clip;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  border: 1px solid #E0E0E0;
  border-top: none;
  border-radius: 0 0 16px 16px;
}
.ticket-area .ticket-data{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
  padding: 10px 25px;
}
.ticket-area .ticket-data dt{
  width: 80px;
  color: #828282;
}
.ticket-area .ticket-data dd{
  width: calc(100% - 80px);
  font-weight: bold;
}
.lang-en .ticket-area .ticket-data dt{
  width: 110px;
}
.lang-en .ticket-area .ticket-data dd{
  width: calc(100% - 110px);
}
.ticket-area .ticket-data__inline{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.ticket-area .ticket-data__inline dt,
.lang-en .ticket-area .ticket-data__inline dt{
  width: 80px;
}
.ticket-area .ticket-data__inline dd,
.lang-en .ticket-area .ticket-data__inline dd{
  width: calc(50% - 85px);
}
.ticket-area .ticket-data__inline dd:nth-of-type(1){
  margin-right: 10px;
}
.ticket-area .ticket-data dd .text--small{
  font-size: 10px;
  font-weight: normal;
}
.ticket-area .ticket-data dd .text--big{
  font-size: 28px;
}
/** qrコード表示エリア **/
.qr-area-gray{
  background: #F2F2F2;
  padding: 8px 0 30px;
}
.qr-area-gray:not(:has(.qr-content p)){
  padding: 2px 0 30px;
}
.qr-area-gray .qr-nav-wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 16px;
  margin-bottom: 8px;
}
.qr-area-gray:not(:has(.qr-content p)) .qr-nav-wrap{
  margin-bottom: 1px;
}
.qr-area-gray{
  position: relative;
}
.qr-area-gray .qr-nav{
  display: flex;
  gap: 8px;
}
.qr-area-gray.is-single-type .qr-nav{
  visibility: hidden;
}
.qr-area-gray .qr-counter{
  font-size: 14px;
  color: #828282;
}
.qr-area-gray .qr-slider-wrap{
  position: relative;
}
.qr-area-gray .qr-slider-wrap > .qr-counter{
  position: absolute;
  top: 8px;
  right: calc(50% - 150px + 8px);
  z-index: 10;
  pointer-events: none;
  background: #FFF;
  padding: 2px 8px;
  border-radius: 99px;
}
.qr-area-gray .qr-nav button{
  padding: 0 16px;
  border-radius: 20px;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
  border: none;
  height: 30px;
  color: #000;
}
.qr-area-gray .qr-nav button.is-active{
  background: #FDD000;
}
.qr-area-gray .qr-slider{
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 calc(50% - 150px);
  scrollbar-width: none;
  position: relative;
}

.qr-area-gray .qr-slider::-webkit-scrollbar{
  display: none;
}
.qr-area-gray .qr-slider:has(.qr-slide){
  align-items: flex-start;
}
.qr-area-gray .qr-slider .qr-slide{
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  scroll-snap-align: center;
}
.qr-area-gray .qr-box{
  background: #FFF;
  border: 1px solid #E0E0E0;
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  height: 300px;
  min-height: 300px;
  max-height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 16px;
  padding: 12px 0;
  box-sizing: border-box;
  scroll-snap-align: center;
  position: relative;
  overflow: hidden;
}
.qr-area-gray .qr-slider .qr-slide .qr-box{
  scroll-snap-align: unset;
}
.qr-area-gray .qr-box .bg{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 0;
}
.qr-area-gray .qr-box .bg img{
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}
.qr-area-gray .qr-box .qr-content{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #FFF;
  border-radius: 8px;
  overflow: hidden;
}
.qr-area-gray .qr-box .qr-content img{
  width: 182px;
}
.qr-area-gray .qr-box .qr-content p{
  font-size: 14px;
  padding: 0 8px 8px;
}
.qr-area-gray .qr-box .qr-content p.status{
  padding: 8px 8px 0;
}
.qr-area-gray .qr-box .qr-content p.status.status--entered{
  color: #00B368;
  font-weight: 700;
}
.qr-area-gray .qr-box .qr-content span.code{
  font-size: 12px;
  padding: 0 0 8px;
}

.qr-area-gray .qr-box .qr-content .qr-exited-message{
  width: 182px;
  height: 182px;
  padding: 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.qr-area-gray .qr-box .qr-content .qr-exited-message p{
  font-size: 12px;
  padding: 0;
}
.qr-area-gray .button{
  width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.qr-area-gray .qr-slider .qr-slide .button{
  width: 100%;
}



.text-set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-bottom: -5px;
}

.text-set__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  display: inline-block;
  font-size: 10px;
  line-height: 1.5;
}

.text-set__text {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  margin-left: 5px;
  display: inline-block;
  font-weight: 700;
  font-size: 10px;
  line-height: 1.5;
}

.text-set2 {
  padding-top: 3px;
  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;
}

.text-set2 .text-set__title {
  font-size: 14px;
}

.text-set2 .text-set__text {
  font-size: 24px;
}

.text-used{
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 32px 80px;
  border: 4px solid #D32F2F;
  border-radius: 20px;
  font-size: 28px;
  font-weight: 700;
  color: #D32F2F;
}

.full-height-center {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  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;
}

.table_form_dl--bg {
  background: #F2F2F2;
  margin: 20px 0 0;
  padding: 10px 15px 0;
  font-size: 14px;
}
.table_form_dl--bg.pt2 {
  padding: 20px 15px 10px;
}
.table_form_dl--bg.pt2 .title{
  padding-bottom: 20px;
  margin-bottom: 20px;
  position: relative;
}
.table_form_dl--bg.pt2 .title::after{
  content: "";
  position: absolute;
  left: -15px;
  bottom: 0;
  width: calc(100% + 30px);
  height: 1px;
  border-bottom: 1px dashed  #BDBDBD;
}

.table_form_dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.table_form_dl--bg.pt2 .table_form_dl {
  align-items: baseline;
}

.table_form_dl dt {
  width: 70px;
  color: #828282;
  margin-bottom: 10px;
}
.table_form_dl--bg.pt2 .table_form_dl dt {
  width: 115px;
}

.table_form_dl dd {
  width: calc(100% - 70px);
  margin-bottom: 10px;
  font-weight: 700;
}
.table_form_dl--bg.pt2 .table_form_dl dd {
  font-size: 16px;
  width: calc(100% - 115px);
}

.alert_area {
  border-radius: 100px;
  font-size: 12px;
  padding: 5px 20px;
}

.full-height-center > * {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.accordion {
  border-top: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
}

.accordion__head {
  padding: 16px 40px 16px 0;
  position: relative;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.accordion__head::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  right: 22px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  border-right: 2px solid #333333;
  border-bottom: 2px solid #333333;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.accordion--is-open .accordion__head::after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
}

.accordion__content {
  padding-bottom: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, padding;
  transition-property: height, padding;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.accordion--is-open .accordion__content {
  padding-bottom: 16px;
}

.bg-box {
  padding: 3px 15px;
  background-color: #F2F2F2;
}

.mt-0 {
  margin-top: 0px;
}

.mt-2 {
  margin-top: 2px;
}

.mt-4 {
  margin-top: 4px;
}

.mt-5 {
  margin-top: 5px;
}

.mt-6 {
  margin-top: 6px;
}

.mt-8 {
  margin-top: 8px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-12 {
  margin-top: 12px;
}

.mt-14 {
  margin-top: 14px;
}

.mt-15 {
  margin-top: 15px;
}

.mt-16 {
  margin-top: 16px;
}

.mb-16 {
  margin-bottom: 16px;
}

.mt-18 {
  margin-top: 18px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-22 {
  margin-top: 22px;
}

.mt-24 {
  margin-top: 24px;
}

.mt-26 {
  margin-top: 26px;
}

.mt-28 {
  margin-top: 28px;
}

.mt-30 {
  margin-top: 30px;
}

.mt-32 {
  margin-top: 32px;
}

.mt-34 {
  margin-top: 34px;
}

.mt-36 {
  margin-top: 36px;
}

.mt-38 {
  margin-top: 38px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-42 {
  margin-top: 42px;
}

.mt-44 {
  margin-top: 44px;
}

.mt-46 {
  margin-top: 46px;
}

.mt-48 {
  margin-top: 48px;
}

.mt-50 {
  margin-top: 50px;
}

.mt-52 {
  margin-top: 52px;
}

.mt-54 {
  margin-top: 54px;
}

.mt-56 {
  margin-top: 56px;
}

.mt-58 {
  margin-top: 58px;
}

.mt-60 {
  margin-top: 60px;
}

.mt-110 {
  margin-top: 110px;
}

.fw-bold {
  font-weight: 700;
}

.align-center {
  text-align: center;
}

.align-left {
  text-align: left;
}

.font12 {
  font-size: 12px;
}

.font14 {
  font-size: 14px;
}

.font333{
  color:#333;
}

.font--small .info-label__text {
  font-size: 10px;
  line-height: 1.5;
  white-space: nowrap;
}

.font--small .info-text--time {
  font-size: 24px;
  line-height: 1.5;
}

.font--small .info-text--strong {
  font-size: 24px;
  line-height: 1.5;
}

.font--small .info-text--place {
  font-size: 24px;
  line-height: 1.5;
}

.font--small .info-text--strong-time {
  font-size: 32px;
  line-height: 1.5;
  font-weight: 700;
}

.pad-t--none {
  padding-top: 0;
  min-height: 100%;
}

.greyAreaLink {
  font-size: 14px;
  height: 51px;
  background-color: #F2F2F2;
  text-align: center;
  line-height: 51px;
}

.greyAreaLink a {
  color: #000;
}

.color-gray2 {
  color: #4F4F4F !important;
}

.font-size-12 {
  font-size: 12px;
  line-height: 1.5;
}

.font-size-14 {
  font-size: 14px;
  line-height: 1.5;
}

.font-size-16 {
  font-size: 16px;
}
.font-color-red {
  color:#EB5757;
}

/*座席選択*/
.number_decide {
  width: 100%;
}

.number_decide {
  margin: 3px 0 30px;
}

.number_decide tr {
  display: flex;
  width: 100%;
}

.number_decide td {
  padding: 0px 2px;
  flex: 1;
}

.number_decide td:nth-child(1) div {
  border-radius: 5px 0 0 5px;
}

.number_decide td:last-child div {
  border-radius: 0 5px 5px 0px;
}

.number_decide div {
  background: #E0E0E0;
  font-size: 14px;
  color: #4f4f4f;
  height: 40px;
  text-align: center;
  line-height: 40px;
}

.number_decide div.on {
  color: #fff;
}
.number_decide div.off {
  background: #828282;
  color: #BDBDBD;
}

.title_block_cols {
  padding-top: 4px;
  padding-bottom: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

.title_block_cols .right {
  margin-top: 20px;
}

.seats_map {
  border: 5px solid #C22929;
  background: #F7E7D2;
  position: relative;
  border-radius: 16px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 0 20px;
}

.seats_map .title {
  font-size: 16px;
  text-align: center;
  font-weight: 700;
  padding: 20px 0;
}

.seats_map.front {
  border-radius: 300px 300px 16px 16px;
  padding-top: 50px;
}

.seats_map.front .title {
  padding: 20px 0 60px;
}

.seats_map.rear {
  border-radius: 16px 16px 300px 300px;
  padding-bottom: 50px;
  padding-top: 20px;
}

.seats_map.rear .title {
  padding: 50px 0 40px;
}

#selectedCarSeatsList {
  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;
}

#selectedCarSeatsList .seat {
  margin: 0 .5% 8px;
  width: 23%;
  height: 40px;
  background: #FFFFFF;
  border: 2px solid #C86F37;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px 10px 0px 0px;
  font-weight: 700;
  font-size: 16px;
  color: #C86F37;
  display: flex;
  justify-content: center;
  align-items: center;
}

#selectedCarSeatsList .seat.rm {
  margin-right: 1.8%;
}

#selectedCarSeatsList .seat.lm {
  margin-left: 1.8%;
}

#selectedCarSeatsList .seat.wc {
  color: #FFB5C9;
  border: 2px solid #FFB5C9;
}

#selectedCarSeatsList .seat.care {
  color: #83AFEB;
  border: 2px solid #83AFEB;
}

#selectedCarSeatsList .seat.wc.on img,
#selectedCarSeatsList .seat.care.on img{  
  filter: invert(0) sepia(0) saturate(1) hue-rotate(0deg) brightness(5);
}

.map-guide{
  margin-top: 7px;
  display: flex;
  align-items: center;
}

.map-guide .seat-img{
  width:32px;
  height:18px;
  border:2px solid #C86F37;
  border-radius:5px 5px 0 0;
}

.map-guide .img{
  margin-right:5px;
}

.map-guide .txt{
  margin-right:16px;
}

#selectedCarSeatsList .seat.on {
  color: #fff;
}

#selectedCarSeatsList .empty_seat {
  height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
}

.seats_map .exit {
  background: #066796;
  border-radius: 4px;
  padding: 6px;
  font-weight: 400;
  font-size: 16px;
  color: #FFFFFF;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 20px 4px;
}

.seats_map .empty_seat_for_dis {
  height: 40px;
  background: #FFFFFF;
  border: 2px solid #C86F37;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px 10px 0px 0px;
  font-weight: 700;
  font-size: 16px;
  color: #C86F37;
  line-height: 40px;
  opacity: .2;
}

.seats_map .empty_genral {
  opacity: .2;
}

.seats_map .window {
  width: calc(100% + 10px);
  border-left: 5px solid #C9A17E;
  border-right: 5px solid #C9A17E;
  position: absolute;
  height: 30px;
}

.light {
  font-weight: 400;
}

.seat_end_detail {
  margin-top: -13px;
}

.seat_end_detail .read {
  margin-top: 25px;
  font-size: 14px;
}

.seat_end_detail .windows_m {
  border-left: 5px solid #C9A17E;
  padding-left: 5px;
}

.ribon_tit {
  background: #F76666;
  color: #fff;
  text-align: center;
  font-size: 16px;
  padding: 7px 0 7px;
  position: relative;
}

.ribon_tit:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAABICAIAAABqcAIiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LmVkYTJiM2ZhYywgMjAyMS8xMS8xNy0xNzoyMzoxOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjEgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjEwRDk3NDQxNzUwMTExRUM4MjI2RjQ3NkFGOUNCOTY2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjEwRDk3NDQyNzUwMTExRUM4MjI2RjQ3NkFGOUNCOTY2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTBEOTc0M0Y3NTAxMTFFQzgyMjZGNDc2QUY5Q0I5NjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTBEOTc0NDA3NTAxMTFFQzgyMjZGNDc2QUY5Q0I5NjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7S6DS9AAABcElEQVR42rzYuY7CMBCA4WRSQUuJoISO4/F4S0TFUdJCCzSJN0a7GyWMXXh+E4EgifRpbOYQKV+7nbvfC/QQWa8L+pBqs+HRcjbLgI7HslzCqH+vVhlQegfeaLv80QhG/QeaA3/oYsGjVY5I2cSS/2/ldMqj4A50KJhY0juZzzOgUL320Gq75dFyMmlfMOrPiUEwRJHEGqLIIPhAiXoV5ZI5sTTUvAMaaq5X0a/aciCA2gaBjlY5IjUmloRuWAZBELXsQBC1JJbE7qUOgiiaWq8xNHkQxNDCOR6tz2cedYdDhkiPRxhtTqfi+YTRer/nK6q5XGDU3W7ueoXR5GSKRmpYexD1Pz2Ltrtp/LOuoLUtTB1tUqsziLrHo8EjtYsaal77VyL11Uk8+RGwOgOREhv6EWlqqw+illYfRC2tPhyprd0pqLHV6yiVTP1IubV3KFKdPdTe6hW0RsP8RRuoOjsUafVDFBffKL32XJH+CDAALveJU/k3d6oAAAAASUVORK5CYII=) center no-repeat;
  background-size: 100% 100%;
  width: 20px;
}

.ribon_tit:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAABICAIAAABqcAIiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDcuMS1jMDAwIDc5LmVkYTJiM2ZhYywgMjAyMS8xMS8xNy0xNzoyMzoxOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjEgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhERDA1NDA1NzUwMTExRUM5Nzk1QTJEQzEyRURGQjIzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhERDA1NDA2NzUwMTExRUM5Nzk1QTJEQzEyRURGQjIzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEREMDU0MDM3NTAxMTFFQzk3OTVBMkRDMTJFREZCMjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEREMDU0MDQ3NTAxMTFFQzk3OTVBMkRDMTJFREZCMjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4ziU/lAAABbElEQVR42tTYuw6CMBSAYdtOuurKiDgZn4rX5bLhqHF0lclihdC0XKb+TZQQxy+nh3MRRJvnG/QS+73c0JfMsgjo+fwPkRpR7HYSP/v3l0VVlsGoKSaRJDAq+zDpSNOUR9XxCKMmm+JwgFE5np1E1eVCo9utffQYqk4nLxXMU+q7k450LCYM/XbnWEwY6j4iDvUT+quRDqOeRmdnB1A1O3soakc9icqlMIMjdcYdhk66E0DdUY+hcuXsQag76iHUH/UMOhn1DCqWujM40pViCsupEDz6Lgoe1XUdAb3dIuS0bXXT8B31Lkse7R4PHjXH714vfp6uZSAI1ddrBDRGpGuFFbr39f0eAV3q12B0qbCAf33dLAMAOq9WANVVFeH4z6e5+beTySJg0ElhQai/CKB3U79fsbdot7Aw1F0EGOr2K/kNxWaARO0iQNEYkdrCgr/1DYuARvt+pdG+sPgvvWYR8KipVh41i+AjwADNhYJ6Zk9TGAAAAABJRU5ErkJggg==) center no-repeat;
  background-size: 100% 100%;
  width: 20px;
}

.ticket-list{
  display: inline-flex;
  flex-wrap:wrap;
  align-items: flex-start;
}

.ticket-list__item{
  min-width:35px;
  max-width:70px;
  margin-right:5px;
  margin-bottom:5px;
  box-sizing: content-box !important;
}


.ticket-list .ticket-list__item .info-label{
  display:flex;
}

.ticket-list .ticket-list__item{
  border: 2px solid transparent;
  padding: 3px 8px;
}

.ticket-list .ticket-list__item.info-frame{
  border-color:#EB5757;
  color: #EB5757;
}

.ticket-list .ticket-list__item .info-label .info-label__text{
  word-break:break-all;
}

.space--nowrap{
  white-space: nowrap;
}

.select--wrap{
  flex-wrap:wrap;
}

.select--wrap .select__title{
  width:100%;
  height: 100%;
}

.--checkbox-uncheck-grey .radio input[type="radio"]:not(:checked) + label{
  color:#828282;
  font-weight: 400;
}

.input--border-grey{
  border:1px solid #828282;
}

.input--credit-code{
  font-size: 18px;
  height: 52px;
  line-height: 52px;
}

.destroyFixed{
  padding-bottom:0!important;
}

.destroyFixed .footer--fixe1,.destroyFixed .footer--fixe2{
  position:initial;
  margin-top:20px;
}

b{
  font-weight: 700;
}

.--flex-1-90 .block-1{
  flex:1;
}

.--flex-1-90 .block-2{
  width: 90px;
  flex: 0 0 90px;
  margin-left:10px;
}

/* sc0120_3_2.html sc0120_5_6.html */
.--fix-height .ticket-list__item{
    padding: 3px 8px 3px 8px!important;
    max-width: initial;
}

.--fix-height .ticket-list__item .info-text span{
  line-height: 27px;
}

.--inline-label{
  flex-direction: row;
} 

.--inline-label p:first-child{
  margin-right: 5px;
}

.--mt--10px{
  margin-top:-10px;
}
/* END sc0120_3_2.html sc0120_5_6.html */

.warning-side{
  background: #FFEDED;
  padding:13px 15px
} 

.warning-side__row{
  display:table;
}

.warning-side__alert{
  width:16px;
  display:table-cell;
  padding-right: 6px;
  position: relative;
}

.warning-side__alert svg{  
  top: 2px;
  position: absolute;
}

.warning-side__text{
  font-weight: 700;
  font-size: 12px;
  line-height: 18px;
  color: #CB2121;
}

.option-hide {
	display: none;
}

/* sc0123-10.html */
.ticketPeriod{
  display: flex;
  align-items: baseline;
  margin-top: 10px;
}
.ticketPeriod .info-text--strong-time{
  line-height:24px;
  margin-right: 8px;
}
.ticketPeriod .info-text--sub{
  text-indent: 7px;
}
.ticketPeriod .info-text--time{
  margin-top: 0;
}
.ticketPeriod .info-text--time:after{
  content:" ";
}
.ticketTimeLeft{
  position:relative;
} 
.ticketTimeLeft img{
  width: 100%;
}
.ticketTimeLeft .time-limit{
  position: absolute;
  top: 0;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
}
/*END sc0123-10.html */

.select_sc_place,
.select_sc0070_place{
  position:relative
}
.select_sc_place select,
.select_sc0070_place select{
  position: absolute;
  z-index:1;
  top:0;
  left:0;
  width:100%;
  height:100%;
  text-indent: 110px;
}
.select_sc_place select{
  text-indent: 20px;
}

.select_sc0070_number{
  position:relative;
}

.select_sc0070_number label{
  height: 66px;
  box-sizing: border-box;
}

.select_sc0070_number select{
  position: absolute;
  z-index:1;
  top: 0;
  left: 0;
  width: 100%;
  height: 66px;
  text-indent: 20px;
  padding-top: 22px;
}

.select_sc0070_number .select_in_price{
  position: absolute;
  top: 32px;
  right: 0;
  width: 180px;
}


/* Update 2022-11-18 */
.tab-select{
  display: flex;
  border-bottom: 1px solid #BDBDBD;
  padding: 0 5px 0 5px;
  justify-content: space-around;/* Update 2022-12-15 */
}
.tab-select li{
  flex: 1;
  max-width: 122px;/* Update 2022-12-15 */
}
.tab-select li a{
  text-decoration: none;
  display: block;
  font-size: 14px;
  text-align: center;
  font-weight: 700;
  padding: 17px 0 7px 0;
  border-bottom: 4px solid transparent;
  color:#BDBDBD;
}
.text-note{
  font-size: 12px;
  line-height: 18px;
  color: #828282;
}
.button--white{
  padding: 12px 15px;
  position: relative;
  font-size: 14px;
  border: 1px solid black;
  width: 100%;
  text-align: left;
  background-color: white;
}
.button--white:after{
  content: "";
  background-image: url(../img/arrow-right.svg);
  width: 10px;
  height: 16px;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -8px;
}
.coupon-code{
  padding: 10px 0;
  border-top: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0
}
.coupon-code__flex{
  display:flex;
  align-items: center;
}
.coupon-code__input{
  flex:1;
}
.coupon-code__input input{
  font-size: 16px;
  width: 100%;
  border: none;
  outline: none;
  padding: 0;
  height: 36px;
  font-weight: 700;
}

.coupon-code__button{
  flex: 0 0 74px;
}

.coupon-code__button button{
  background-color:white;
  white-space: nowrap;
}

.button--36{
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid black;
  padding: 0 15px;
}

.notification{
  display: flex;
  align-items: center;
  padding: 0 15px;
  height: 76px;
  position: fixed;
  top: 0;
  z-index: 3;
  width: 100%;
  box-sizing: border-box;
}

.notification__text{
  flex: 1;
  font-weight: 700;
  color: #333;
}

.notification__btn button{
  background-color: transparent;
}
/* Update 2022-11-18 */

/* Update 2022-12-15 */
.stamp-collection{
  display: grid;
  grid-template-columns: auto auto auto;
  grid-gap: 42px 5px;
  justify-content: space-between;
}
.stamp-collection__item{
  max-width:106px;
}
.stamp-collection__square{
  border: 1px solid #EDEDED;
  border-radius: 9px;
  width: 100%;
  height: 106px;
  position:relative;
}
.stamp-collection__number{
  font-size: 10px;
  position:absolute;
  top: 4px;
  left: 9px;
}
.stamp-collection__circle{
  width:80px;
  height:80px;
  border-radius:50%;
}
.stamp-collection__square.checked .stamp-collection__circle{
  background-image:url(../img/stamp_checked.svg);
}
.stamp-collection__square.unchecked{
  background-color: #EDEDED;
}
.stamp-collection__square.unchecked .stamp-collection__circle{
  border: 1px dashed #6F6F6F;
  background-image:url(../img/stamp_emot.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.stamp-collection__info{
  font-size:14px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2; 
  line-clamp: 2; 
  -webkit-box-orient: vertical;
}
.stamp-collection__btn{
  font-weight: 700;
  border-radius: 4px;
  width: 100%;
  padding: 8px 0;
  font-size: 13px;
  text-align: center;
  border: 1px solid #FDD000;
}
.stamp-collection__btn.btn-confirm{
  background-color: white;
}
.stamp-collection__btn.btn-press{
  background-color: #FDD000;
}
/* Update 2022-12-15 */

.center-element{
  display:flex;
  align-items: center;
  justify-content: center;
}

.b-b-n{
  border-bottom: none!important;
}

/* Update 2023-10-13 */
.social_login p {
  font-size: 12px;
  margin: 10px 0;
}
.social_login ul {
  display: flex;
  justify-content: center;
}
.social_login ul li {
  margin: 0 20px;
  text-align: center;
  width: 45px;
}
.social_login ul li a {
  text-decoration: none;
}
.social_login ul li img {
  width: 100%;
  margin: 0 auto;
  max-width: 40px;
}
.social_login ul li span {
  display: block;
  text-align: center;
  font-size: 11px;
}

/*スクロールエリア*/
.sc_area {
  border: 1px solid #828282;
  height: 131px;
  padding: 15px;
  overflow-y: scroll;
  border-radius: 3px;
  margin-bottom: 8px;
  margin-top: 16px;
}

/* Update 2024-02-14 */
.select_sc0129_place .select__select{
  width: 100%;
  text-align: center;
}
.modal iframe{
  width: 100%;
  max-height: 280px;
  height: 280px;
}

/* Update 2024-04-05 */
.title-area.width-full{
  padding: 12px 0px 11px;
}
.title-area.width-full .title{
  text-align: left;
}
.title.align-left{
  text-align: left;
}
.img-link-list > li.border-bottom-0{
  border-bottom: none;
}
.link-area.processed .img-link-list__inner{
  opacity: 0.4;
}
.full-height-top {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  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: flex-start;
}
.full-height-top > * {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
.banner-shortcut {
  background: #F2F2F2;
  border-radius: 8px;
  padding: 12px 16px;
  position: relative;
  font-size: 14px;
  line-height: 1.5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 84%;
  margin-left: auto;
  margin-right: auto;
  /* text-align: center; */
  display: flex;
  align-items: center;
}
.banner-shortcut i{
  display: block;
  width: 48px;
  height: 48px;
  background: url(../img/EMot_icon.svg) no-repeat center center / cover;
  flex: none;
  margin-right: 10px;
}

/* Update 2024-05-29 */
.payment-logo-list{
  width: 220px;
  margin: 0 auto;
}
.payment-logo-list ul li img{
  width: 100%;
}

/* Update 2025-07-07 */
.bg-yellow{
  background: #FDD000;
}
.bg-white{
  background: #FFFFFF;
}
.bg-gray{
  background: #E6E6E6;
}
.pt-20{
  padding-top: 20px;
}
.pb-20{
  padding-bottom: 20px;
}
.pb-10{
  padding-bottom: 10px;
}
.pb-5{
  padding-bottom: 5px;
}
.flex-column{
  display: flex;
  flex-direction: column;
}
.flex-center{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
button.qr-refresh {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: #FFF;
  border:1px solid #000;
  width: 283px;
  padding: 12px;
  border-radius: 4px;
  box-sizing: border-box;
  text-decoration: none;
}
button.qr-refresh img{
  width: 24px;
}

.scroll-box{
  padding: 10px;
  height: 130px;
  overflow-y: scroll;
  border: 1px solid #828282;
}

.input--time {
  background-repeat: no-repeat;
  background-position: right 17px center;
  background-size: 16px;
  background-image: url(../img/icon_time.svg);
}

/* STANDARD レイアウト: TicketColor 適用時のテキスト・アイコン色 */
.hakone .ticket-area .ticket-title h1.icon-title {
  color: #fff;
}
.hakone .ticket-area .ticket-title a img {
  filter: brightness(0) invert(1);
}

/* スライドモーダル */
.modal-slide {
  overflow: hidden;
}
.modal-slide__item {
  display: none;
}
.modal-slide__item--active {
  display: block;
  animation: slideIn 0.3s ease-in-out;
}
.modal-slide__item--no-animation {
  animation: none;
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

body.ticket-used{
  background: #E6E6E6;
}
body.ticket-used .content{
  background: #FFF;
}