/* Variable */
/*COLORS*/
/*FONT SIZES*/
/*BREAKPOINTS*/
/* Tools */
/* LIST OF COMPONENTS */
.styleguide {
  padding-bottom: 50px; }
  .styleguide__list {
    padding: 15px 20px;
    margin-bottom: 2px;
    width: 100%; }
  .styleguide__title {
    font-size: 35px; }
    @media screen and (max-width: 767px) {
      .styleguide__title {
        font-size: 8.75vw; } }
  .styleguide__subtitle {
    font-size: 28px; }
    @media screen and (max-width: 767px) {
      .styleguide__subtitle {
        font-size: 7.5vw; } }
  .styleguide__subtext {
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .styleguide__subtext {
        font-size: 5.625vw; } }
  .styleguide__primary {
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .styleguide__primary {
        font-size: 5.625vw; } }
  .styleguide__smaller {
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .styleguide__smaller {
        font-size: 4.375vw; } }
  .styleguide__smallest-size {
    font-size: 14px; }
    @media screen and (max-width: 767px) {
      .styleguide__smallest-size {
        font-size: 3.75vw; } }
  .styleguide__primary-color {
    background: #FFEF00; }
  .styleguide__secondary-color {
    background: #8E1F15; }
  .styleguide__dark-gray {
    background: #CCCCCC; }
  .styleguide__light-gray {
    background: #F8FBF2; }
  .styleguide__white-color {
    background: #FFFFFF; }

.button {
  display: inline-block;
  width: 100%;
  padding: 15px;
  font-size: 16px;
  text-align: center;
  background: url("../../images/common/button_arrow.png") no-repeat;
  background-size: 4%;
  background-position: 33%;
  background-color: #e95504;
  border: 1px solid #CCCCCC;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
  color: #fff; }
  .button:hover {
    background-color: #623a13;
    color: #fff;
  }
  @media screen and (max-width: 767px) {
    .button {
      padding: 10px 0;
      font-size: 4.375vw; } }
  @media screen and (max-width: 767px) {
    .button.reservation {
      padding: 10px 0;
      font-size: 14px; } }
  .button__icon {
    display: inline-block;
    margin-right: 10px;
    width: 25px;
    height: 25px;
    background: url("../../images/common/button_arrow.png") no-repeat;
    vertical-align: middle; }
  .button__text {
    display: inline-block;
    margin-left: 30px;
    vertical-align: middle; }
  .button__label-number {
    display: block;
    font-size: 14px;
    padding-bottom: 5px; }
    @media screen and (max-width: 767px) {
      .button__label-number {
        font-size: 3.75vw; } }
  .button__phone-number {
    display: inline-block;
    border-bottom: 1px solid #8E1F15;
    font-weight: 600;
    font-size: 28px; }
    @media screen and (max-width: 767px) {
      .button__phone-number {
        font-size: 5vw; } }
  @media screen and (max-width: 767px) {
    .button__float-wrapper {
      width: 100%;
      opacity: 0;
      position: fixed;
      bottom: 0;
      left: 0;
      font-size: 0;
      transition: 0.3s;
      font-size: 0; } }
  .button__float-container {
    margin-bottom: -5px;
    z-index: 999;
    height: auto;
    position: relative;
    padding: 40px 0 0; }
  .button__container {
    display: inline-block;
    width: 50%;
    padding: 10px 5px;
    background: #F6F6EE;
    border-top: 1px solid #CACAB7;
    vertical-align: top; }
  .button__reservation-container {
    width: 100%;
    font-size: 0;
    position: relative; }
    .button__reservation-container.center {
      text-align: center; }
  .button__wrapper {
    display: inline-block;
    width: 50%;
    padding: 5px 15px; }
    .button__wrapper.small {
      width: 20%;
      padding: 0; }
      @media screen and (max-width: 767px) {
        .button__wrapper.small {
          width: 30%; } }
    .button__wrapper.large {
      width: 50%;
      position: absolute;
      right: 0;
      padding: 0; }
      @media screen and (max-width: 767px) {
        .button__wrapper.large {
          width: 60%; } }
    @media screen and (max-width: 767px) {
      .button__wrapper {
        width: 100%;
        padding: 10px 0; } }

.button.button--contact {
  padding: 12px 15px;
  text-align: left;
  color: #fff;
  border: none;
  background: url("../../images/common/button_arrow_renewal_2022.png") no-repeat;
  background-color: #e95504;
  background-position: 95% center;
  background-size: 10px; }
  @media screen and (max-width: 767px) {
    .button.button--contact {
      background-position: 95% center;
      background-size: 4%;
      padding: 7% 5%; } }

.button.button--more {
  padding: 10px;
  width: 50%;
  background-image: none; }
  @media screen and (max-width: 767px) {
    .button.button--more {
      width: 90%; } }

.button__icon.button__icon-down {
  transform: translateX(-50%) rotate(90deg);
  background-position: center;
  background-size: 65%; }
  @media screen and (max-width: 767px) {
    .button__icon.button__icon-down {
      transform: translateX(0) rotate(90deg); } }

.button.button--navigation {
  display: inline-block;
  width: 90%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media screen and (max-width: 767px) {
    .button.button--navigation {
      padding: 10px; } }

.button__icon.button__icon--change {
  position: absolute;
  left: 38%;
  top: 30%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }
  @media screen and (max-width: 767px) {
    .button__icon.button__icon--change {
      left: 25%;
      width: 100%;
      font-size: 5.625vw;
      padding: 12px;
      border: none; } }

.button__icon.button__icon--submit {
  position: absolute;
  left: 25%;
  top: 30%; }
  @media screen and (max-width: 767px) {
    .button__icon.button__icon--submit {
      left: 16%; } }

.button.button--navigation-link {
  width: 100%; }
  @media screen and (max-width: 767px) {
    .button.button--navigation-link {
      background-position: 27%; } }

.button.button--cancel,
.button.button--submit {
  padding: 10px;
  font-size: 16px;
  background-color: #EEEEEE;
  border: 1px solid #CCCCCC; }
  .button.button--cancel.reservation-search,
  .button.button--submit.reservation-search {
    padding: 7.8px;
    font-size: 14px; }
  .button.button--cancel.reservation,
  .button.button--submit.reservation {
    padding: 10px 5px;
    font-size: 14px; }

.button.button--cancel {
  background-position: 25%; }
  @media screen and (max-width: 767px) {
    .button.button--cancel {
      background-position: 20%; } }

.button.button--submit {
  background-color: #FFEF00;
  border: none; }

.button.button--seemore {
  width: 90%;
  background-position: 25%;
  background-size: 3%; }
  @media screen and (max-width: 767px) {
    .button.button--seemore {
      width: 100%;
      background-position: 11%;
      background-size: 4%; } }

.button.button--disabled {
  background-position: 25%; }

.button.button--has-icon {
  background-image: none; }

.back_btn_box .button.button--has-icon i {
  margin-right: 10px; }

.button.button--reservation {
  width: 100%;
  padding: 8px 1px;
  text-align: center;
  background-image: none;
  background-color: #00B050;
  border-radius: 5px;
  cursor: pointer;
  outline: none;
  line-height: 17px; }
  @media screen and (max-width: 767px) {
    .button.button--reservation {
      margin-top: 10px;
      padding: 7% 1px;
      line-height: 25px; } }
  @media screen and (max-width: 480px) {
    .button.button--reservation {
      padding: 3% 1px;
      line-height: 17px; } }
  .button.button--reservation .button__text {
    margin: 0;
    font-size: 14px;
    color: #FFF; }
    @media screen and (max-width: 767px) {
      .button.button--reservation .button__text {
        font-size: 3.125vw; } }
    @media screen and (max-width: 480px) {
      .button.button--reservation .button__text {
        font-size: 3.75vw; } }
  .button.button--reservation .button__subtext {
    font-size: 12px;
    color: #FFF; }
    @media screen and (max-width: 767px) {
      .button.button--reservation .button__subtext {
        font-size: 3.125vw; } }
  .button.button--reservation.list {
    margin-left: 25px;
    width: 40%;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .button.button--reservation.list {
        margin-left: 20px;
        width: 35%; } }
    @media screen and (max-width: 480px) {
      .button.button--reservation.list {
        margin-left: 2px;
        width: 40%; } }
  .button.button--reservation.detail {
    margin-top: 5px; }
  .button.button--reservation.center {
    text-indent: 0; }

@media screen and (max-width: 767px) {
  .button.button--float-green {
    font-size: 3.75vw;
    background-image: none;
    background-color: #00B050;
    color: #FFF;
    overflow: hidden;
    display: flex;
    height: 58px;
    align-items: center;
    justify-content: center;
    line-height: 1.5em; } }

@media screen and (max-width: 767px) {
  .button.button--float {
    font-size: 4.375vw;
    background-image: none;
    overflow: hidden;
    display: flex;
    height: 58px;
    align-items: center;
    justify-content: center; } }

.button.button--float .button__link {
  color: #000; }

.button.button--float .button__text {
  padding-left: 5px; }

.button__float-wrapper.button__float-wrapper--active {
  opacity: 1; }

.button.button--reservation-submit {
  padding: 10px 0; }

.button.button--reservation-cancel {
  background-color: #EEEEEE; }

.button.button--show-more {
  background-color: #CCC;
  border: 1px solid #a9a9a8;
  padding: 11px;
  width: 305px; }
  @media screen and (max-width: 767px) {
    .button.button--show-more {
      padding: 9px;
      width: 80%;
      font-size: 14px; } }

.total-points {
  background: url("../../images/totalpoints/totalpoints.png?ver1.0.3") no-repeat;
  background-size: cover;
  background-position: center;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .total-points {
      position: relative;
      width: 100%;
      background: url("../../images/totalpoints/points-bg.png?ver1.0.3") no-repeat;
      background-size: 100%;
      text-align: center; } }
  .total-points__content {
    margin: 0 auto;
    max-width: 1008px;
    
    padding-top: 103px;
    padding-bottom: 103px;}
    @media screen and (max-width: 768px) {
      .total-points__content {
        padding: 0;
        padding-top: 3%;} }
  .total-points__name {
    font-size: 2.5vw;
    padding-bottom: 20px;}
    /* @media screen and (max-width: 1350px) {
      .total-points__name {
        padding: 0 0 3% 2%; } } */
    @media screen and (max-width: 767px) {
      .total-points__name {
        font-size: 14px;
        padding: 0;
        padding-top: 20px; } }
  .total-points__logo-text {
    font-size: 2.5vw;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .total-points__logo-text {
        font-size: 14px; } }
  .total-points__amount {
    font-size: 0; }
  .total-points__amount-number {
    font-size: 5.625vw;
    color: #004774;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .total-points__amount-number {
        font-size: 11vw;
        line-height: 1.5em;
        font-weight: bold; } }
  @media screen and (max-width: 767px) {
    .total-points__logo-img {
      width: 100%; } }
  .total-points__icon {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .total-points__icon {
        margin-right: 2%;
        vertical-align: top;
        width: 5%;
        margin-top: 2px; } }
  .total-points__text {
    display: inline-block;
    vertical-align: middle; }
  .total-points__pt {
    font-size: 3.125vw;
    color: #004774;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .total-points__pt {
        font-size: 11vw;
        font-weight: bold; } }
    @media screen and (max-width: 767px) {
      .total-points__logo {
        padding: 0;
        margin-top: 3%; } }
  .total-points__alert {
    display: none;
    background: #FF0000;
    width: 65%;
    margin: 4% auto 0;
    padding: 12px;
    border-radius: 10px;
    position: relative;
    cursor: pointer;
    visibility: hidden; }
    @media screen and (max-width: 1350px) {
      .total-points__alert {
        margin: 3.5% auto 0; } }
    @media screen and (max-width: 767px) {
      .total-points__alert {
        background: #FF0000;
        width: 85%;
        margin: 0 auto;
        padding: 10px 5px;
        border-radius: 10px;
        text-align: center; } }
  .total-points__alert-icon {
    display: inline;
    margin-right: 10px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .total-points__alert-icon {
        margin-right: 0;
        width: 7%; } }
  .total-points__alert-text {
    display: inline;
    vertical-align: middle;
    color: #FFFFFF;
    font-size: 24px; }
    @media screen and (max-width: 1350px) {
      .total-points__alert-text {
        font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .total-points__alert-text {
        font-size: 3.125vw;
        font-weight: 600; } }
  .total-points__arrow {
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #FF0000;
    position: absolute;
    top: -15px;
    left: 48%; }
    @media screen and (max-width: 767px) {
      .total-points__arrow {
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #FF0000;
        top: -10px; } }

.total-points__alert.total-points__alert--show {
  display: block;
  visibility: visible; }

.section {
  width: 100%;}
  .section__content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 70px 24px 35px; }
    @media screen and (max-width: 767px) {
      .section__content {
        padding: 40px 10px 35px; } }
  .section__title-container {
    margin: 0 auto;
    max-width: 1008px;
    text-align: center;
    padding: 62px 24px 32px; }
    @media screen and (max-width: 767px) {
      .section__title-container.reservation {
        padding: 30px 24px; } }
    @media screen and (max-width: 767px) {
      .section__title-container.authenticate {
        padding: 30px 0; } }
    .section__title-container--complete {
      padding: 0 0 20px; }
      @media screen and (max-width: 767px) {
        .section__title-container--complete {
          padding: 0 0 20px; } }
  .section__head-title {
    font-size: 40px; }
    @media screen and (max-width: 767px) {
      .section__head-title {
        font-size: 8.75vw; } }
  .section__title {
    text-align: center;
    color: #111111;
    font-size: 35px;
    font-weight: 600; }
    .section__title.reservation {
      color: #000; }
      @media screen and (max-width: 767px) {
        .section__title.reservation {
          font-size: 20px; } }
    @media screen and (max-width: 767px) {
      .section__title {
        font-size: 7.5vw; } }
  .section__form {
    background: #F6F6EE;
    font-size: 0;
    padding-bottom: 15px; }
  .section__form-content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 0 24px; }
    @media screen and (max-width: 767px) {
      .section__form-content {
        padding: 0; } }
  .section__link {
    line-height: 18px; }
  .section__list {
    padding-bottom: 20px !important; }
  .section__subtitle {
    font-size: 30px;
    color: #000;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .section__subtitle {
        font-size: 20px; } }
  .section__paragraph {
    width: 100%;
    font-size: 14px;
    color: #676767;
    padding: 15px 0;
    line-height: 1.5em; }
    .section__paragraph.large {
      font-size: 18px; }
      @media screen and (max-width: 767px) {
        .section__paragraph.large.center {
          text-align: center; } }
    @media screen and (max-width: 767px) {
      .section__paragraph.center {
        text-align: center !important; } }
    @media screen and (max-width: 767px) {
      .section__paragraph {
        text-align: justify; } }
  .section__notification {
    width: 100%;
    font-size: 16px;
    color: #96361c;
    padding: 15px 0px 0px;
    line-height: 1.5em; }
  .section__flash-message {
    background: #ef614f;
    max-width: 760px;
    margin: 0 auto;
    padding: 15px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.5em;
    color: #fff; }
    .section__flash-message--reservation {
      margin: 20px auto 0; }
  .section__notify {
    max-width: 760px;
    margin: 0 auto;
    color: #676767;
    font-size: 12px;
    display: block;
    padding-bottom: 15px;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .section__notify {
        padding: 0 15px 15px; } }

@media screen and (max-width: 767px) {
  .section__content.section__content--fullwidth {
    padding: 0 0 35px; } }

.section.section--order-history {
  background: #F5F5F7;
  padding: 50px 0 100px; }
  @media screen and (max-width: 767px) {
    .section.section--order-history {
      padding: 0; } }

.section.section--gray {
    background: #F5F5F7; }

.section.section--yellow {
  background: #FFEF00; }
  .section.section--yellow .section__content {
    padding: 20px 10px; }

.section__content.section__content--address {
  padding: 70px 24px 35px; }

.section__title-container.section__title-container--reservation {
  max-width: 100%;
  margin: 0 auto 30px;
  background-color: #EEE;
  padding: 30px 0; }
  .section__title-container.section__title-container--reservation .section__title {
    color: #000;
    font-size: 40px; }
    @media screen and (max-width: 767px) {
      .section__title-container.section__title-container--reservation .section__title {
        font-size: 25px; } }

.section__subtitle.section__subtitle--input {
  margin-top: 50px; }


.current-points {
  background: #F5F5F7;
  height: inherit; }
  @media screen and (max-width: 947px) {
    .current-points {
      height: inherit;
      border: 1px dashed #CCCCCC;
      border-right: none;
      border-left: none; } }
  @media screen and (max-width: 640px) {
    .current-points {
      height: 375px;
      border: 1px dashed #CCCCCC;
      border-right: none;
      border-left: none; } }
  @media screen and (max-width: 480px) {
    .current-points {
      height: inherit; } }
  .current-points__content {
    border-left: 1px dashed #000000;
    border-right: 1px dashed #000000;
    border-bottom: 1px dashed #CCCCCC;
    margin: 0 auto;
    max-width: 1008px;
    padding: 0 24px;
    font-size: 0; }
    @media screen and (max-width: 767px) {
      .current-points__content {
        border-left: 0;
        border-right: 0;
        height: inherit;
        padding: 0; } }
.current-points__content1 {
  border-left: 1px dashed #000000;
  border-right: 1px dashed #000000;
  margin: 0 auto;
  max-width: 1008px;
  padding: 0 24px;
  font-size: 0; }
  @media screen and (max-width: 767px) {
    .current-points__content1 {
      border-left: 0;
      border-right: 0;
      height: inherit;
      padding: 0; } }
  .current-points__list {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    height: inherit; }
    @media screen and (max-width: 767px) {
      .current-points__list {
        height: inherit; } }
    .current-points__list:first-child {
      /* border-right: 1px dashed #000000;  */
    }
    @media screen and (max-width: 767px) {
      .current-points__list:first-child {
        border-left: none;
        /* border-right: 1px dashed #CCCCCC; */
        height: inherit; } }
  #points__list_first_child{
    border-right: 1px dashed #CCCCCC;
  }
  #points__list_first_child_noItem{
    border-right: 0;
  }
  #points__list_last_child_noItem{
    border-left: 0;
  }
  #points__list_last_child{
    padding-left :84px;
    border-left: 1px dashed #CCCCCC;
  }
  @media screen and (max-width: 947px) {
    #points__list_last_child{
      padding-left :0;
  } }
  @media screen and (max-width: 767px) {
    #points__list_last_child {
      /* border-left: 1px dashed #CCCCCC;  */
      border-right: none; } }
  .current-points__list-items {
    padding-top: 30px;
    padding-bottom: 15px;
    padding-left: 60px; }
    @media screen and (max-width: 947px) {
      .current-points__list-items {
        padding: 20px 4px; } }
    @media screen and (max-width: 640px) {
      .current-points__list-items {
        padding-top: 15px;
        padding-right: 4px;
        padding-bottom: 10px;
        padding-left: 0; } }

  .current-points__list1 {
    margin-bottom: 30px;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    height: inherit; }
  @media screen and (max-width: 640px) {
    .current-points__list1 {
      margin-bottom: 10px; } }
  .current-points__list1-items {
    float:left;
    width:65%;
    padding-top: 30px;
    padding-right: 60px;
    padding-bottom: 0;
    padding-left: 60px; }
  @media screen and (max-width: 767px) {
    .current-points__list1 {
      height: inherit; }
    .current-points__list1:first-child {
      border-left: none;
      /* border-right: 1px dashed #CCCCCC; */
      height: inherit; }
    .current-points__list1:last-child {
      border-left: none;
      border-right: none; }
  }
  @media screen and (max-width: 947px) {
    .current-points__list1-items {
      padding: 20px 20px; } }
  @media screen and (max-width: 640px) {
    .current-points__list1-items {
      padding-top: 10px;
      padding-right: 10px;
      padding-bottom: 0;
      padding-left: 10px; } }
  .current-points__list1-items1 {
    float:left;
    width:35%;
    padding-top: 20px; }
  @media screen and (max-width: 947px) {
    .current-points__list1-items1 {
      padding: 30px 4px; } }
  @media screen and (max-width: 640px) {
    .current-points__list1-items1 {
      padding-top: 20px;
      padding-right: 4px;
      padding-bottom: 0;
      padding-left: 4px; } }
  .current-points__noItem {
    float:left;
    width:30%;
    padding-top: 40px; }
  @media screen and (max-width: 947px) {
    .current-points__noItem {
      padding: 30px 4px; } }
  @media screen and (max-width: 640px) {
    .current-points__noItem {
      padding: 35px 4px; } }
  .current-points__icon1 {
    float: left;
    margin-right: 5%;
    vertical-align: baseline;}
  @media screen and (max-width: 947px) {
    .current-points__icon1 {
      margin-left: 10px;
      margin-right: 0;
      width: 18%;
      padding-top: 10px; }
    .current-points__icon1 img{
      width: 75%; }
  }

  .current-points__amount1 {
    margin-top: 25px;
    float: left;
    vertical-align: bottom;
    font-size: 24px;
    font-weight: 600; }
  .current-points__amount-number1 {
    display: inline-block;
    font-size: 24px; }
  @media screen and (max-width: 947px) {
    .current-points__amount-number1 {
      font-size: 3.75vw; } }
  .current-points__date1 {
    float: left;
    line-height: 25px;
    display: block;
    margin: 0 auto;
    width: 75%;
    text-align: left;
    padding-top: 15px;
    font-size: 18px;
    color: #808080; }
    @media screen and (max-width: 947px) {
      .current-points__date1 {
        width: 100%;
        font-size: 2.125vw;
        padding: 15px 0 0;
        margin-left: 90px; } }
    @media screen and (max-width: 640px) {
      .current-points__amount1 {
        margin-top: 10px;
      }
      .current-points__date1 {
        padding-top: 10px;
        padding-bottom: 10px;
        line-height: 18px;
        font-size: 3.125vw;
        margin-left: 10px; } }

  .current-points__title {
    display: block;
    /* margin: 0 auto 20px; */
    width: 100%;
    font-size: 24px;
    font-weight: 600; }
    @media screen and (max-width: 947px) {
      .current-points__title {
        margin-left: -20px;
        width: 100%;
        font-size: 3.75vw;
        text-align: center; } }
    @media screen and (max-width: 767px) {
      .current-points__title {
        margin-bottom: 10px;
        width: 100%;
        font-size: 3.125vw; } }
  .current-points__date-error{
    color: red;
  }
  @media screen and (max-width: 947px) {
    .current-points__middle {
      padding-left: 30px;
      } }
  @media screen and (max-width: 767px) {
    .current-points__middle {
      padding-left: 10px;
       } }
  .current-points__amount {
    display: inline-block;
    color: #004774;
    vertical-align: bottom;
    font-weight: 600; }
  .current-points__amount-number {
    display: inline-block;
    font-size: 54px; }
    @media screen and (max-width: 947px) {
      .current-points__amount-number {
        font-size: 6.875vw; } }
  .current-points__pt {
    display: inline-block;
    font-size: 28px; }
    @media screen and (max-width: 947px) {
      .current-points__pt {
        font-size: 4.375vw; } }
  .error_limited_time_point {
    margin-top: 20px;
    display: inline-block;
    color: red;
    font-size: 18px;
    font-weight: normal;}
    @media screen and (max-width: 947px) {
      .error_limited_time_point {
        margin-top: 11px;
        line-height: 17px;
        font-size: 3.125vw; } }
  .current-points__icon {
    display: inline-block;
    margin-right: 5%;
    vertical-align: baseline;
    padding-bottom: 25px;}
    @media screen and (max-width: 947px) {
      .current-points__icon {
        width: 20%;
        padding-bottom: 10px;} }
  @media screen and (max-width: 947px) {
    .current-points__image {
      width: 100%; } }
  .current-points__date {
    line-height: 25px;
    display: block;
    margin: 0 auto;
    text-align: left;
    padding-top: 15px;
    font-size: 18px;
    color: #808080; }
    @media screen and (max-width: 947px) {
      .current-points__date {
        width: 100%;
        font-size: 2.125vw;
        padding: 15px 0 0;
        margin-left: 30px; } }
    @media screen and (max-width: 640px) {
  .current-points__date {
    line-height: 18px;
    font-size: 3.125vw;
    padding-left: 10px;
    margin-left: 0; } }

.current-points__image.current-points__image--bonus {
  height: 67px; }
  @media screen and (max-width: 767px) {
    .current-points__image.current-points__image--bonus {
      height: 37px; } }

.about-points {
  font-size: 0;
  text-align: center; }
  .about-points__list {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    text-align: center; }
  .about-points__link {
    display: inline-block;
    font-size: 18px;
    vertical-align: middle;
    border-bottom: 1px solid #000000;
    padding-bottom: 3px; }
    @media screen and (max-width: 767px) {
      .about-points__link {
        padding: 0;
        font-size: 3.75vw;
        text-align: left; } }
  .about-points__icon {
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .about-points__icon {
        margin-right: 5%;
        width: 13%; } }

.previous-treatment__content {
  margin: 0 auto;
  width: 70%; }
  @media screen and (max-width: 767px) {
    .previous-treatment__content {
      width: 100%; } }

.board {
  background: #FFFFFF;
  padding: 18px;
  position: relative; }
  .board__clip {
    position: absolute;
    top: -20px;
    left: 33%; }
    @media screen and (max-width: 480px) {
      .board__clip {
        top: -3%;
        left: 30%;
        width: 40%; } }
    @media screen and (max-width: 480px) {
      .board__clip {
        top: -3%;
        left: 25%;
        width: 55%; } }
  @media screen and (max-width: 767px) {
    .board {
      padding: 3%; } }
  .board__content {
    background: #FFFFFF;
    border-radius: 8px;
    padding: 0 50px; }
    @media screen and (max-width: 767px) {
      .board__content {
        padding: 0 5%; } }
  .board__title {
    padding-top: 50px;
    text-align: center;
    font-size: 35px;
    color: #8E1F15; }
    @media screen and (max-width: 767px) {
      .board__title {
        font-size: 7.5vw; } }
  .board__list {
    padding-top: 35px;
    font-size: 0; }
  .board__item {
    padding: 15px 0;
    border-bottom: 2px dashed #CCCCCC; }
    .board__item:last-child {
      border-bottom: none; }
  .board__item-text {
    display: block;
    padding-bottom: 8px; }
  .board__label {
    display: inline-block;
    margin-right: 8%;
    width: 18%;
    font-size: 16px;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .board__label {
        width: 25%;
        font-size: 4.375vw; } }
  .board__item-description, .board__image-list {
    display: inline-block;
    width: 74%;
    font-size: 18px;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .board__item-description, .board__image-list {
        width: 67%;
        font-size: 5vw; } }
  .board__image {
    width: 90%; }
  .board__image-list {
    font-size: 0; }
  .board__image-item {
    display: inline-block;
    width: 25%;
    margin-bottom: 3%; }
  .board__button {
    padding: 15px 0;
    text-align: center; }
  .board__item-button {
    padding: 10px 0 0; }

.board.board--order-history .board__content {
  padding: 0 25px; }

.board.board--order-history .board__label {
  font-size: 14px;
  line-height: 1.5em; }

.board.board--order-history .board__item {
  border-bottom: 1px dotted #CCCCCC; }

.guide {
  background: #F5F5F7; }
  .guide__content {
    margin: 0 auto;
    max-width: 1008px;
    padding: 35px 24px 70px;
    font-size: 0; }
  .guide__list {
    display: inline-block;
    margin-right: 4.3%;
    width: 30.3%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .guide__list {
        margin-right: 0;
        margin-bottom: 30px;
        width: 100%; } }
    .guide__list:last-child {
      margin-right: 0; }
      @media screen and (max-width: 767px) {
        .guide__list:last-child {
          margin-bottom: 0; } }
  .guide__text {
    font-size: 18px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .guide__text {
        font-size: 5.625vw; } }
  .guide__image {
    display: inline-block;
    width: 100%; }

.download-app {
  font-size: 0;
  text-align: center;
  padding: 50px 0; }
  @media screen and (max-width: 767px) {
    .download-app {
      padding: 50px 15px 0; } }
  .download-app__list {
    display: inline-block;
    width: 45%;
    vertical-align: top;
    margin-right: 5%; }
    @media screen and (max-width: 767px) {
      .download-app__list {
        margin-right: 0;
        margin-bottom: 50px;
        width: 100%; } }
  .download-app__store {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .download-app__store {
        width: 100%; } }
  .download-app__description {
    display: block;
    font-size: 24px;
    padding-top: 20px; }
    @media screen and (max-width: 767px) {
      .download-app__description {
        width: 100%;
        font-size: 5.625vw; } }
  .download-app__text {
    display: block;
    padding: 5px;
    text-decoration: underline;
    line-height: 1.5em;
    font-weight: 600; }
  .download-app__image {
    width: 90%;
    border-radius: 25%;
  }
  .download-app__store-text {
    font-size: 24px;
    padding-bottom: 10px; }
    @media screen and (max-width: 767px) {
      .download-app__store-text {
        font-size: 5.625vw; } }
  .download-app__logo {
    margin: 0 auto;
    width: 212px; }
  .download-app__store-logo {
    display: inline-block;
    margin-right: 5%;
    width: 60%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .download-app__store-logo {
        width: 70%; } }
  .download-app__store-code {
    display: inline-block;
    width: 18.6%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .download-app__store-code {
        width: 22.6%; } }
  .download-app__store-list {
    padding: 0 0 20px; }
  .download-app__store-image {
    width: 100%; }
  .download-app__qrcode {
    width: 89px; }
    @media screen and (max-width: 767px) {
      .download-app__qrcode {
        width: 100%; } }

.menu {
  padding: 20px 50px;
  font-size: 0; }
  @media screen and (max-width: 767px) {
    .menu {
      padding: 20px 0; } }
  .menu__list {
    display: inline-block;
    width: 20%;
    vertical-align: middle; }
  .menu__item {
    display: block;
    width: 100%;
    height: 80px;
    padding: 20px;
    text-align: center;
    /* border-right: 1px dashed #000000;  */
  }
    @media screen and (max-width: 767px) {
      .menu__item {
        height: 50px;
        padding: 10px 5px; } }
  .menu__text {
    display: block;
    font-size: 16px;
    text-decoration: underline;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .menu__text {
        display: inline-block;
        font-size: 3.125vw; } }
  @media screen and (max-width: 767px) {
    .menu__icon {
      border-left: 1px solid #fff;
      background-position: left 42% center; } }
  @media screen and (max-width: 767px) {
    .menu__icon-reservation {
      right: 33.2%;
      border-right: 2px solid #fff;
      background: url(../../images/ge/riraku-reservation-icon.png) no-repeat;
      background-position: left 50% center;
      background-size: 70%;
      background-color: #94311d;
      width: 17%;
      border-left: 2px solid #fff; } }
  .menu__navigation {
    right: 38%; }
    .menu__navigation.second {
      right: 27%; }
    .menu__navigation.third {
      right: 18%; }
  @media screen and (max-width: 767px) {
    .menu__logo-wrapper {
      width: 100%;
      padding-left: 5px;
      padding-top: 5px; } }
  @media screen and (max-width: 480px) {
    .menu__logo-wrapper {
      width: 90%; } }
  @media screen and (max-width: 380px) {
    .menu__logo-wrapper {
      width: 75%; } }
  @media screen and (max-width: 767px) {
    .menu__logo {
      width: 75% !important; } }
  @media screen and (max-width: 640px) {
    .menu__logo {
      width: 60% !important; } }
  @media screen and (max-width: 480px) {
    .menu__logo {
      width: 50% !important; } }
  @media screen and (max-width: 767px) {
    .menu__text-wrapper {
      width: 55% !important; } }
  @media screen and (max-width: 767px) {
    .menu__mypage {
      width: 31% !important; } }
  @media screen and (max-width: 640px) {
    .menu__mypage {
      width: 31% !important; } }

.menu__item.menu__item--last-child {
  border-right: none; }

.order-history__content {
  font-size: 0; }

.order-history__list {
  display: inline-block;
  margin: 1% 1% 0 0;
  width: 49.5%;
  vertical-align: top; }
  @media screen and (max-width: 767px) {
    .order-history__list {
      margin: 1% 0 0 0;
      width: 100%; } }
  .order-history__list:nth-child(2n) {
    margin-right: 0; }

.order-history__button {
  text-align: center;
  padding: 10% 0 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .order-history__button {
      padding: 20% 0; } }

.order-history__loadmore {
  display: none;
  margin: 0 auto;
  width: 80px;
  padding: 20px;
  position: absolute;
  left: 46%;
  top: 10%; }
  @media screen and (max-width: 767px) {
    .order-history__loadmore {
      width: 70px;
      left: 38%;
      top: 0; } }

.order-history__list.order-history__list--hide {
  display: none; }

.alert-modal {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  z-index: 999; }
  .alert-modal__content {
    margin: 0 auto;
    width: 50%;
    background: #FFFFFF;
    padding: 50px;
    position: absolute;
    top: 10%;
    left: 25%;
    right: 25%;
    border-top: 10px solid #F9C026;
    border-bottom: 10px solid #F9C026; }
    @media screen and (max-width: 767px) {
      .alert-modal__content {
        width: 85%;
        left: 7.5%;
        right: 7.5%;
        padding: 10%; } }
  .alert-modal__close {
    position: absolute;
    top: -25px;
    right: -20px;
    background: #FFFFFF;
    color: #8E1F15;
    border: 4px solid #8E1F15;
    border-radius: 50%;
    padding: 8px 13px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .alert-modal__close {
        font-size: 5.625vw;
        border-width: 2px;
        padding: 5px 9px;
        right: -15px; } }
  .alert-modal__image-container {
    text-align: center; }
  .alert-modal__image {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .alert-modal__image {
        width: 100%; } }
  .alert-modal__title {
    text-align: center;
    padding: 40px 0 20px; }
  .alert-modal__title-text {
    font-size: 28px;
    color: #FF0000;
    font-weight: 700;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .alert-modal__title-text {
        font-size: 5.625vw; } }
  .alert-modal__description {
    text-align: center;
    line-height: 1.5em;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .alert-modal__description {
        font-size: 4.375vw; } }
  .alert-modal__close-button {
    padding: 50px 0 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .alert-modal__close-button {
        font-size: 4.375vw; } }
  .alert-modal__exit {
    cursor: pointer; }

.points {
  font-size: 0; }
  .points__list {
    display: inline-block;
    width: 48%;
    vertical-align: middle;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .points__list {
        text-align: left; } }
  .points__list-amount {
    display: inline-block;
    width: 52%;
    vertical-align: middle; }
  .points__title {
    display: inline-block;
    font-size: 24px;
    vertical-align: middle;
    line-height: 1.5em;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .points__title {
        font-size: 5vw;
        font-weight: 600; } }
  .points__logo {
    display: inline-block;
    width: 35%;
    text-align: center;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .points__logo {
        margin-right: 5%; } }
  .points__image {
    width: 65%; }
    @media screen and (max-width: 767px) {
      .points__image {
        width: 80%; } }
  .points__amount {
    font-size: 72px;
    color: #004774;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .points__amount {
        font-size: 10.625vw; } }
  .points__pt {
    font-size: 40px; }
    @media screen and (max-width: 767px) {
      .points__pt {
        font-size: 6.25vw; } }

.points-history {
  background: #FFFFFF;
  padding: 50px 65px 100px; }
  @media screen and (max-width: 767px) {
    .points-history {
      padding: 50px 5% 8%; } }
  .points-history__title {
    text-align: center;
    color: #004774;
    font-size: 28px;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .points-history__title {
        font-size: 5.625vw; } }
  .points-history__content {
    padding: 20px 50px 50px;
    font-size: 0;
    background: #FFFFFF; }
    @media screen and (max-width: 767px) {
      .points-history__content {
        padding: 5% 5% 10%; } }
  .points-history__list {
    padding: 25px 20px 10px;
    border-bottom: 1px dashed #CCCCCC;
  }
    @media screen and (max-width: 767px) {
      .points-history__list {
        padding: 25px 0 15px; } }
  .points-history__item {
    display: inline-block;
    width: 75%; }
    @media screen and (max-width: 767px) {
      .points-history__item {
        width: 55%;
        vertical-align: middle; } }
  .points-expiration__item {
    line-height: 25px;
    display: inline-block;
    width: 75%; }
    @media screen and (max-width: 767px) {
      .points-expiration__item {
        line-height: 15px;
        width: 55%;
        vertical-align: middle; } }
  .points-history__date {
    display: inline-block;
    width: 45%;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .points-history__date {
        width: 100%;
        font-size: 3.5vw;
        padding-bottom: 5px; } }
  .points-expiration__date {
    display: inline-block;
    width: 70%;
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .points-expiration__date {
        width: 100%;
        font-size: 3.75vw;
        padding-bottom: 5px; } }
  .points-history__text {
    display: inline-block;
    width: 65%;
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .points-history__text {
        width: 100%;
        font-size: 3.75vw; } }
  .points-history__amount {
    vertical-align: top;
    display: inline-block;
    width: 25%;
    font-size: 35px;
    text-align: right;
    color: #004774; }
    @media screen and (max-width: 767px) {
      .points-history__amount {
        width: 45%;
        font-size: 7.5vw;
       } }
  .points-history__pt {
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .points-history__pt {
        font-size: 4.375vw; } }
  .points-history__button {
    padding-top: 70px;
    text-align: center;
    position: relative; }
  .points-history__loadmore {
    display: none;
    margin: 0 auto;
    width: 80px;
    padding: 20px;
    position: absolute;
    left: 46%;
    top: 0; }
    @media screen and (max-width: 767px) {
      .points-history__loadmore {
        width: 70px;
        left: 38%;
        top: 0; } }

.points-history__list.points-history__list--hide {
  display: none; }

.form-page {
  margin: 0 auto;
  max-width: 730px; }
  .form-page__list {
    padding: 5px 0 15px; }
    .form-page__list.reservation {
      font-size: 0; }
    .form-page__list.top {
      display: inline-block;
      width: 33%;
      padding: 0; }
      .form-page__list.top.small {
        width: 32%; }
      @media screen and (max-width: 767px) {
        .form-page__list.top {
          width: 32%; } }
    .form-page__list.bottom {
      padding: 5px 0 30px; }
    @media screen and (max-width: 767px) {
      .form-page__list {
        padding: 10px 0; } }
  .form-page__list-wrapper {
    width: 100%; }
  .form-page__label {
    display: inline-block;
    width: 100%; }
    .form-page__label.small {
      font-size: 16px; }
    .form-page__label.left {
      text-align: left;
      padding: 5px 0; }
    .form-page__label.bold {
      font-weight: 900; }
  .form-page__selectbox {
    height: 54px;
    width: 40%;
    padding: 0 10px;
    border: 1px solid #CECECE; }
    @media screen and (max-width: 767px) {
      .form-page__selectbox {
        width: 60%;
        height: 45px; } }
  .form-page__input {
    margin-bottom: 0;
    border: 1px solid #CECECE; }
    @media screen and (max-width: 767px) {
      .form-page__input {
        padding: 15px 5px; } }
  .form-page__button-wrapper {
    position: relative; }
  .form-page__button {
    padding: 40px 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .form-page__button {
        padding: 10px 0; } }
  .form-page__error-wrapper {
    padding-left: 25%; }
    @media screen and (max-width: 767px) {
      .form-page__error-wrapper {
        padding-left: 0; } }
    .form-page__error-wrapper.top {
      padding-left: 0; }
    .form-page__error-wrapper.long {
      padding-left: 40%; }
      @media screen and (max-width: 767px) {
        .form-page__error-wrapper.long {
          padding-left: 0; } }
  .form-page__error {
    display: block;
    color: #FF0000;
    font-size: 14px;
    padding: 5px; }
    .form-page__error.reservation {
      font-size: 14px;
      text-align: left;
      padding: 5px 0; }
      @media screen and (max-width: 767px) {
        .form-page__error.reservation {
          font-size: 10px; } }
    .form-page__error.title {
      font-size: 16px;
      text-align: center;
      padding: 0; }
      @media screen and (max-width: 767px) {
        .form-page__error.title {
          font-size: 3.5vw; } }
    .form-page__error.total {
      text-align: left;
      padding-left: 0;
      line-height: 1.5em; }
  .form-page__item {
    width: 100%;
    padding-bottom: 20px; }
    .form-page__item.hidden {
      display: none; }
    .form-page__item:last-child {
      padding-bottom: 0; }
  .form-page__label-container {
    display: inline-block;
    width: 25%;
    vertical-align: middle;
    text-align: left;
    padding-right: 10px; }
    .form-page__label-container.title {
      width: 100%;
      margin-bottom: 0; }
    .form-page__label-container.confirm {
      width: 100%; }
      @media screen and (max-width: 767px) {
        .form-page__label-container.confirm {
          margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      .form-page__label-container {
        width: 100%;
        margin-bottom: 5px; } }
    .form-page__label-container.search {
      padding-left: 5px;
      width: 15%; }
      @media screen and (max-width: 767px) {
        .form-page__label-container.search {
          width: 25%;
          vertical-align: top; } }
    .form-page__label-container.top {
      width: 100%;
      margin-bottom: 5px; }
      @media screen and (max-width: 767px) {
        .form-page__label-container.top {
          margin-bottom: 0; } }
    .form-page__label-container.terms {
      width: 100%;
      padding-top: 10px; }
    .form-page__label-container.confirm-title {
      font-size: 18px;
      margin-bottom: 5px;
      width: 100%; }
    .form-page__label-container--align-top {
      vertical-align: top; }
  .form-page__desc-wrapper {
    display: inline-block;
    width: 75%;
    text-align: right;
    vertical-align: middle;
    font-size: 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .form-page__desc-wrapper.confirm {
        width: 70%;
        margin-bottom: 5px; } }
    @media screen and (max-width: 400px) {
      .form-page__desc-wrapper.confirm {
        width: 60%; } }
    @media screen and (max-width: 767px) {
      .form-page__desc-wrapper {
        width: 100%;
        margin-bottom: 5px; } }
    .form-page__desc-wrapper.search {
      width: 100%;
      text-align: left;
      vertical-align: top; }
    .form-page__desc-wrapper.top {
      width: 100%;
      margin-bottom: 5px; }
    .form-page__desc-wrapper.zip-code {
      width: 100%;
      text-align: left;
      vertical-align: middle; }
      .form-page__desc-wrapper.zip-code .short {
        width: 15%; }
        @media screen and (max-width: 767px) {
          .form-page__desc-wrapper.zip-code .short {
            width: 18%; } }
      .form-page__desc-wrapper.zip-code .long {
        width: 23% !important; }
      .form-page__desc-wrapper.zip-code .dash {
        margin: 0 10px;
        vertical-align: initial !important;
        vertical-align: auto !important; }
    .form-page__desc-wrapper--courses {
      display: inline-flex;
      text-align: left; }
      @media screen and (max-width: 767px) {
        .form-page__desc-wrapper--courses {
          display: inline-block; } }
  .form-page__option {
    display: inline-block;
    margin: 0 4px 10px 0;
    overflow: hidden;
    user-select: none;
    text-align: left;
    vertical-align: top; }
    .form-page__option--input-modal {
      width: calc(33% - 5px); }
      .form-page__option--input-modal .form-page__option-text {
        width: 100%; }
      .form-page__option--input-modal:nth-of-type(3n+3) {
        margin-right: 0; }
  .form-page__option-input {
    display: none; }
    .form-page__option-input.visible {
      display: inline-block;
      vertical-align: middle; }
  .form-page__option-label {
    font-size: 16px;
    user-select: none; }
    @media screen and (max-width: 767px) {
      .form-page__option-label {
        font-size: 12px; } }
    .form-page__option-label.align-middle {
      vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .form-page__option-label--long {
        line-height: 22px; } }
  .form-page__option-text {
    display: inline-block;
    text-align: center;
    padding: 5px;
    border-radius: 4px;
    border: 1px solid #CCC;
    font-size: 16px; }
    .form-page__option-text:hover {
      background-color: #FFF892; }
  .form-page__show-more-wrapper {
    text-align: right;
    user-select: none; }
  .form-page__show-more {
    font-size: 14px;
    color: #0070ff;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .form-page__show-more {
        font-size: 12px; } }
  .form-page__label-wrapper {
    padding: 20px 0 0; }
    @media screen and (max-width: 767px) {
      .form-page__label-wrapper {
        padding: 5px 0 10px; } }
  .form-page__required {
    display: inline-block;
    margin-right: 5px;
    width: auto;
    padding: 5px;
    background-color: #94311d;
    color: #FFF;
    border-radius: 6px;
    font-size: 12px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .form-page__required {
        margin: 0 3px 5px 0;
        font-size: 11px; } }
    .form-page__required--no-bottom-margin {
      margin-bottom: 0; }
  .form-page__sub-label {
    display: block;
    padding: 2px 0;
    font-size: 10px;
    text-decoration: underline; }
    .form-page__sub-label.large {
      display: inline;
      padding: 0;
      font-size: 12px;
      text-decoration: none; }
      @media screen and (max-width: 767px) {
        .form-page__sub-label.large {
          display: inline;
          padding: 0;
          font-size: 11px;
          vertical-align: initial; } }
    @media screen and (max-width: 767px) {
      .form-page__sub-label {
        display: inline-block;
        padding: 0 5px;
        vertical-align: middle; } }
  .form-page__tab {
    font-size: 0;
    padding: 40px 0 0; }
    @media screen and (max-width: 767px) {
      .form-page__tab {
        line-height: 1.5em; } }
  .form-page__tab-item {
    font-size: 18px;
    font-weight: initial;
    cursor: pointer;
    user-select: none; }
    @media screen and (max-width: 767px) {
      .form-page__tab-item {
        font-size: 3vw;
        line-height: 1.5em; } }
  .form-page__tab-login {
    display: inline-block;
    font-size: 15px; }
    @media screen and (max-width: 767px) {
      .form-page__tab-login {
        display: block;
        font-size: 3vw; } }
  .form-page__tab-list {
    display: inline-flex;
    width: 33.3%;
    border-right: 1px solid #000;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
    height: 45px; }
    .form-page__tab-list.login {
      width: 33.3%;
      border-right: none; }
    @media screen and (max-width: 767px) {
      .form-page__tab-list:nth-child(2) {
        width: 30%; } }
    @media screen and (max-width: 767px) {
      .form-page__tab-list {
        width: 36.3%;
        height: 40px; } }
  .form-page__members-card-no {
    width: 60%;
    font-size: 16px;
    font-weight: bold;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .form-page__members-card-no {
        width: 100%;
        padding: 10px 0 0; } }
  .form-page__terms-note {
    font-size: 12px;
    display: block;
    padding: 0 0 10px; }
    @media screen and (max-width: 767px) {
      .form-page__terms-note {
        padding: 0 0 5px; } }
  .form-page__label-data {
    font-size: 14px;
    display: inline-block;
    width: 100%;
    padding: 12px 12px 12px 40px;
    text-align: left;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .form-page__label-data {
        padding: 12px 0;
        text-align: center; } }
  .form-page__note {
    font-size: 14px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 2%;
    color: #676767; }
    @media screen and (max-width: 767px) {
      .form-page__note {
        font-size: 12px; } }
  .form-page__course-note {
    font-size: 11px;
    text-align: left;
    display: block;
    line-height: 1.3em;
    padding: 10px 0 0;
    color: #676767; }
  .form-page__recommendation-button {
    display: inline-block;
    text-align: center;
    border-radius: 4px;
    border: 1px solid #CCC;
    font-size: 16px;
    appearance: none;
    background-color: #fff;
    margin-bottom: 10px;
    cursor: default;
    user-select: none; }
    @media screen and (max-width: 767px) {
      .form-page__recommendation-button {
        font-size: 4vw;
        width: 100%; } }
  .form-page__course-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(25% - 5px);
    margin-right: 5px;
    text-align: center;
    padding: 5px;
    border-radius: 4px;
    border: 1px solid #CCC;
    font-size: 16px;
    background-color: #fff;
    cursor: default;
    user-select: none;
    line-height: 24px;
    flex-direction: column; }
    .form-page__course-button:last-child {
      margin-right: 0; }
    .form-page__course-button.disabled {
      pointer-events: none;
      background-color: #ddd; }
    @media screen and (max-width: 767px) {
      .form-page__course-button {
        width: calc(50% - 5px);
        margin-bottom: 10px;
        padding: 20px 5px;
        margin-right: 10px;
        height: 90px; }
        .form-page__course-button:nth-child(2n) {
          margin-right: 0; } }
  .form-page__total {
    font-weight: 900;
    font-size: 16px;
    color: #000;
    display: block;
    text-align: left;
    padding: 0 0 2px; }
    @media screen and (max-width: 767px) {
      .form-page__total {
        padding: 0 0 0 10px;
        vertical-align: top;
        margin-top: -2px; } }

.form-page.form-page--reservation-list {
  max-width: 760px;
  padding: 50px; }
.form-page.form-page--reservation {
  max-width: 760px;
  padding-bottom: 50px; }
  .form-page.form-page--reservation.confirm {
    padding: 0 90px 50px; }
    @media screen and (max-width: 767px) {
      .form-page.form-page--reservation.confirm {
        padding: 0 15px 40px; } }
  @media screen and (max-width: 767px) {
    .form-page.form-page--reservation-list {
      padding: 40px 15px; }
    .form-page.form-page--reservation {
      padding: 0 15px 40px; } }

.form-page__label.form-page__label--representative {
  width: auto;
  font-size: 16px;
  vertical-align: middle;
  line-height: 1.3em; }
  .form-page__label.form-page__label--representative.bold {
    font-weight: bold; }
  .form-page__label.form-page__label--representative.title {
    font-size: 18px; }
    @media screen and (max-width: 767px) {
      .form-page__label.form-page__label--representative.title {
        padding: 0; } }
  .form-page__label.form-page__label--representative.sublabel {
    font-size: 11px;
    padding-top: 5px; }
    .form-page__label.form-page__label--representative.sublabel.auth {
      padding-top: 0; }
    @media screen and (max-width: 767px) {
      .form-page__label.form-page__label--representative.sublabel {
        font-size: 11px;
        padding-top: 0; } }
  @media screen and (max-width: 767px) {
    .form-page__label.form-page__label--representative {
      padding-bottom: 5px;
      font-size: 14px; } }

.form-page__selectbox.form-page__selectbox--representative {
  height: 40px;
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #CCC;
  text-align: left;
  background-color: #fff !important;
  font-size: 14px; }
  .form-page__selectbox.form-page__selectbox--representative.no-resize {
    margin-bottom: 5px;
    resize: none;
    height: 200px;
    overflow: auto;
    font-size: 14px;
    line-height: 1.5em; }
  .form-page__selectbox.form-page__selectbox--representative.small {
    width: 32%;
    margin-left: 1%; }
  .form-page__selectbox.form-page__selectbox--representative.long {
    width: 34%;
    vertical-align: top; }
  .form-page__selectbox.form-page__selectbox--representative.select {
    background: url(../../images/re/arrow_updown.png) no-repeat;
    border-radius: 10px;
    background-size: 12% 45%;
    background-position: 93% 50%;
    -webkit-appearance: none; }
  .form-page__selectbox.form-page__selectbox--representative.select-large {
    background: url(../../images/re/arrow_updown.png) no-repeat;
    border-radius: 10px;
    background-size: 7% 45%;
    background-position: 97% 50%;
    -webkit-appearance: none; }
    @media screen and (max-width: 480px) {
      .form-page__selectbox.form-page__selectbox--representative.select-large {
        background-size: 12% 45%;
        background-position: 92% 50%; } }
  .form-page__selectbox.form-page__selectbox--representative.select-ticker {
    background: url(../../images/common/select_ticker_2022.png);
    background-repeat: no-repeat;
    background-color: #fff;
    background-position: 100.2% 50%;
    background-size: 9%;
    -webkit-appearance: none;
    border-radius: 0;
    padding-right: 9%;
    overflow: hidden; }
    @media screen and (max-width: 480px) {
      .form-page__selectbox.form-page__selectbox--representative.select-ticker {
        background-position: 101% 50%;
        background-size: 16%;
        padding-right: 16%;
        overflow: hidden; } }
  .form-page__selectbox.form-page__selectbox--representative.thick {
    border: 2px solid #CCC; }
  @media screen and (max-width: 375px) {
    .form-page__selectbox.form-page__selectbox--representative.date {
      padding: 10px 7px;
      font-size: 12px; } }

.form-page__desc-wrapper.form-page__desc-wrapper--options, .form-page__desc-wrapper--options1 {
  vertical-align: top;
  text-align: left; }

.form-page__desc-wrapper.form-page__desc-wrapper--options, .form-page__desc-wrapper--options1  {
  vertical-align: top;
  text-align: left; }



.form-page__label-container.form-page__label-container--long {
  width: 40%; }
  @media screen and (max-width: 767px) {
    .form-page__label-container.form-page__label-container--long {
      width: 100%; } }

.form-page__desc-wrapper.form-page__desc-wrapper--short {
  width: 60%; }
  @media screen and (max-width: 767px) {
    .form-page__desc-wrapper.form-page__desc-wrapper--short {
      width: 100%; } }

.form-page.form-page--completion {
  max-width: 500px;
  text-align: center;
  padding: 50px 0; }
  @media screen and (max-width: 767px) {
    .form-page.form-page--completion {
      max-width: 100%;
      padding: 50px 15px; } }

.form-page__tab-item.form-page__tab-item--active {
  font-weight: bold; }

.form-page__selectbox.form-page__selectbox--disabled {
  color: #808080; }

@media screen and (max-width: 767px) {
  .form-page__sp-loading {
    left: 10% !important; } }

@media screen and (max-width: 320px) {
  .form-page__sp-loading {
    left: 9% !important; } }

.form-page__selectbox--reservation-time {
  display: inline-block;
  vertical-align: middle !important; }

.login-form {
  display: inline-block;
  margin-right: 9%;
  width: 40%;
  vertical-align: top; }
  @media screen and (max-width: 767px) {
    .login-form {
      margin-right: 0;
      width: 100%;
      padding: 0 15px; } }
  .login-form__title {
    text-align: center;
    font-size: 24px;
    color: #603711;
    padding: 50px 20px;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .login-form__title {
        font-size: 5.625vw; } }
  .login-form__list {
    padding-bottom: 25px; }
  .login-form__label {
    display: inline-block;
    padding-bottom: 5px;
    font-size: 18px;
    color: #603711; }
    @media screen and (max-width: 767px) {
      .login-form__label {
        font-size: 5vw; } }
  .login-form__note {
    font-size: 14px; }
    @media screen and (max-width: 767px) {
      .login-form__note {
        font-size: 3.75vw; } }
  .login-form__input {
    margin: 0;
    font-size: 18px;
    border-radius: 5px;
    border: 2px solid #8E1F15; }
  .login-form__button {
    text-align: center; }
  .login-form__terms {
    padding: 40px 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .login-form__terms {
        padding: 15% 0; } }
  .login-form__terms-icon, .login-form__terms-link {
    display: inline-block;
    vertical-align: middle; }
  @media screen and (max-width: 767px) {
    .login-form__icon {
      width: 75%; } }
  .login-form__terms-icon {
    margin-right: 3%; }
  .login-form__terms-text {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid #000000;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .login-form__terms-text {
        font-size: 4.375vw; } }
  .login-form__button-wrapper {
    position: relative; }
  .login-form__error {
    display: block;
    color: #FF0000;
    font-size: 14px;
    padding: 10px 5px 0; }

.signup {
  display: inline-block;
  width: 50%;
  background: #f9e6d7;
  vertical-align: top; }
  @media screen and (max-width: 767px) {
    .signup {
      width: 100%; } }
  .signup__content {
    padding: 50px 10% 40%; }
    @media screen and (max-width: 767px) {
      .signup__content {
        padding: 15% 10%; } }
  .signup__title {
    font-size: 24px;
    color: #603711 ;
    padding-bottom: 12%; }
    @media screen and (max-width: 767px) {
      .signup__title {
        font-size: 5vw;
        font-weight: 600; } }
  .signup__description {
    padding-bottom: 15%;
    font-size: 16px;
    color: #603711 ;
    line-height: 1.5em;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .signup__description {
        font-size: 3.75vw; } }
  .signup__remarks {
    font-size: 16px;
    color: #603711 ;
    line-height: 1.5em;
    text-align: left;
    margin-top: 15%; }
    @media screen and (max-width: 767px) {
      .signup__remarks {
        font-size: 3.75vw; } }

.common-modal {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999991; }
  .common-modal__content {
    margin: 0 auto;
    width: 50%;
    background: #FFFFFF;
    padding: 50px;
    position: absolute;
    top: 10%;
    left: 25%;
    right: 25%;
    border-top: 10px solid #F9C026;
    border-bottom: 10px solid #F9C026; }
    @media screen and (max-width: 767px) {
      .common-modal__content {
        width: 85%;
        left: 7.5%;
        right: 7.5%;
        top: 10%;
        padding: 10%; } }
  .common-modal__close {
    position: absolute;
    top: -25px;
    right: -20px;
    background: #FFFFFF;
    color: #8E1F15;
    border: 4px solid #8E1F15;
    border-radius: 50%;
    padding: 8px 13px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .common-modal__close {
        font-size: 5.625vw;
        border-width: 2px;
        padding: 5px 9px;
        right: -15px; } }
  .common-modal__title {
    text-align: center;
    font-size: 35px;
    color: #FF0000;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .common-modal__title {
        font-size: 5.625vw; } }
  .common-modal__notes {
    margin-top: 20px;
    border: 1px solid #FF0000;
    border-radius: 5px;
    padding: 25px 20px; }
    @media screen and (max-width: 767px) {
      .common-modal__notes {
        padding: 25px 0; } }
  .common-modal__notes-title {
    text-align: center;
    color: #FF0000;
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .common-modal__notes-title {
        font-size: 5vw; } }
  .common-modal__note-wrapper {
    font-size: 0;
    padding: 10px 20px; }
  .common-modal__note-list {
    padding-bottom: 20px; }
  .common-modal__list-disc {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #CCCCCC;
    border-radius: 50%;
    margin-right: 5%;
    vertical-align: top; }
    @media screen and (max-width: 767px) {
      .common-modal__list-disc {
        width: 15px;
        height: 15px; } }
  .common-modal__list-text {
    display: inline-block;
    width: 90%;
    vertical-align: top;
    font-size: 18px;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .common-modal__list-text {
        width: 85%;
        font-size: 3.125vw; } }
  .common-modal__button {
    font-size: 0;
    padding: 40px 20px 10px; }
    @media screen and (max-width: 767px) {
      .common-modal__button {
        padding: 25px 0 10px; } }
  .common-modal__button-wrapper {
    display: inline-block;
    margin-right: 4%;
    width: 48%; }
    @media screen and (max-width: 767px) {
      .common-modal__button-wrapper {
        width: 100%;
        margin-bottom: 15px; } }
    .common-modal__button-wrapper:last-child {
      margin-right: 0; }
      @media screen and (max-width: 767px) {
        .common-modal__button-wrapper:last-child {
          margin-bottom: 0; } }

.survey__title {
  margin-bottom: 30px;
  text-align: center;
  font-size: 0; }

.survey__title-image {
  margin: 0 auto;
  max-width: 480px;
  color: #8E1F15;
  text-align: left; }

.survey__logo {
  display: inline-block;
  background: url("/images/survey/surveyimage.png") no-repeat;
  background-size: contain;
  width: 110px;
  height: 85px;
  vertical-align: middle; }
  @media screen and (max-width: 767px) {
    .survey__logo {
      width: 70px;
      height: 60px; } }

.survey__text-logo {
  display: inline-block;
  vertical-align: middle;
  font-size: 30px;
  padding-top: 20px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .survey__text-logo {
      font-size: 5.625vw; } }
  .survey__text-logo::before {
    margin: 0 auto;
    width: 100%;
    border-top: 8px solid #FFEF00;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    z-index: -1; }

.survey__getpoint {
  display: block; }

.survey__getpoint-text {
  display: inline-block; }

.survey__title-text {
  font-size: 60px;
  color: #8E1F15;
  vertical-align: top;
  position: relative; }
  @media screen and (max-width: 767px) {
    .survey__title-text {
      font-size: 9.375vw; } }
  .survey__title-text::before {
    margin: 0 auto;
    width: 100%;
    border-top: 10px solid #FFEF00;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    z-index: -1; }
    @media screen and (max-width: 767px) {
      .survey__title-text::before {
        bottom: 11px; } }

.survey__slash {
  display: inline-block;
  margin: 0 5px;
  width: 45px;
  height: 30px;
  background: url("/images/survey/survey-slash.png") no-repeat;
  background-size: contain;
  background-position: center;
  position: relative;
  vertical-align: bottom; }
  @media screen and (max-width: 767px) {
    .survey__slash {
      margin: 0;
      width: 25px;
      height: 20px; } }

.survey__paragraph {
  margin: 0 auto;
  max-width: 760px;
  padding: 20px 0;
  text-align: center;
  border-top: 2px dashed #CCCCCC;
  border-bottom: 2px dashed #CCCCCC;
  font-size: 18px;
  line-height: 1.5em;
  font-weight: 600; }
  @media screen and (max-width: 767px) {
    .survey__paragraph {
      font-size: 5vw; } }

.survey__textbox {
  padding: 3px;
  text-indent: 10px;
  font-size: 18px;
  width: 85%; }
  @media screen and (max-width: 767px) {
    .survey__textbox {
      width: 100; } }

.survey__slash.survey__slash--after {
  background: url("/images/survey/slash-after.png") no-repeat;
  background-size: contain;
  background-position: center; }

.survey__paragraph.survey__paragraph--noborder {
  border: none;
  font-weight: normal; }

.survey__paragraph.survey__paragraph--already-answered {
  margin-top: -60px; }

.questions {
  margin: 50px auto 0;
  max-width: 760px; }
  .questions__item {
    padding: 20px; }
  .questions__textarea {
    width: 100%;
    height: 100px;
    resize: none;
    border: 2px solid #8E1F15; }
  .questions__list {
    margin-top: 50px; }
    @media screen and (max-width: 767px) {
      .questions__list {
        margin-top: 15px; } }
  .questions__text {
    font-size: 18px;
    color: #8E1F15;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .questions__text {
        font-size: 5vw; } }
  .questions__chooseone {
    display: inline-block;
    vertical-align: top;
    width: 47%;
    padding-bottom: 20px; }
    .questions__chooseone:last-child {
      padding-bottom: 0; }
    @media screen and (max-width: 767px) {
      .questions__chooseone {
        width: 100%;
        padding: 10px 0; } }
  .questions__radio {
    display: inline-block;
    margin-right: 10px;
    width: 100%; }
  .questions__radiobutton, .questions__checkinput {
    margin-right: 15px;
    vertical-align: top; }
  .questions__label-wrapper {
    display: inline-block;
    vertical-align: top;
    width: 85%; }
  .questions__label {
    cursor: pointer;
    font-size: 18px;
    word-break: break-all; }
    @media screen and (max-width: 767px) {
      .questions__label {
        font-size: 5vw; } }
  .questions__checkbox-list {
    display: inline-block;
    width: 45%;
    vertical-align: top;
    padding: 20px; }
    @media screen and (max-width: 767px) {
      .questions__checkbox-list {
        width: 100%; } }
  .questions__checkbox-wrapper {
    display: inline-block;
    width: 100%; }
  .questions__checkbox {
    display: inline-block;
    margin-right: 10px;
    width: 100%; }
  .questions__button {
    margin: 0 auto;
    max-width: 500px;
    text-align: center;
    padding: 50px; }
    @media screen and (max-width: 767px) {
      .questions__button {
        padding: 50px 0;
        max-width: 100%; } }

.point-modal {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  z-index: 999; }
  .point-modal__content {
    margin: 0 auto;
    width: 30%;
    padding: 3% 0 0;
    position: absolute;
    top: 5%;
    left: 35%;
    right: 35%;
    border-top: 10px solid #F9C026;
    border-bottom: 10px solid #F9C026;
    background: url("/images/survey/point-review.png");
    background-position: center;
    background-size: cover; }
    @media screen and (max-width: 767px) {
      .point-modal__content {
        width: 85%;
        left: 7.5%;
        right: 7.5%;
        top: 10%;
        padding: 8% 5%; } }
  .point-modal__close {
    position: absolute;
    top: -25px;
    right: -20px;
    background: #FFFFFF;
    color: #8E1F15;
    border: 4px solid #8E1F15;
    border-radius: 50%;
    padding: 8px 13px;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .point-modal__close {
        font-size: 5.625vw;
        border-width: 2px;
        padding: 5px 9px;
        right: -15px; } }
  .point-modal__title {
    margin: 10px 0;
    color: #FB640F;
    font-size: 1.5625vw;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__title {
        font-size: 4.375vw; } }
  .point-modal__subtitle {
    line-height: 1.5em;
    font-size: 0.9375vw;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__subtitle {
        font-size: 3.75vw; } }
  .point-modal__earned {
    margin: 20% 0 10px;
    font-weight: 600;
    font-size: 1.5625vw;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__earned {
        margin: 32% 0 10px;
        font-size: 5vw; } }
  .point-modal__earned-number {
    font-size: 0;
    text-align: center;
    color: #8E1F15; }
  .point-modal__amount {
    font-size: 12.5vw;
    line-height: 1em;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .point-modal__amount {
        font-size: 32.8125vw; } }
  .point-modal__pt {
    font-size: 2.5vw;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .point-modal__pt {
        font-size: 7.5vw; } }
  .point-modal__close-button {
    padding: 25% 0 13%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .point-modal__close-button {
        font-size: 4.375vw; } }
  .point-modal__exit {
    cursor: pointer; }
.section__notice-text {
  width: 42%;
  color: #ff0000;
  display: inline-block;
  vertical-align: middle;
}
  @media screen and (max-width: 767px) {
    .section__notice-text {
      width: 100%;
      margin-bottom: 10px;
    }
  }
.section__notice-download {
  width: 55%;
  display: inline-block;
  vertical-align: middle;
}
  @media screen and (max-width: 767px) {
    .section__notice-download {
      width: 100%;
    }
  }
.about-app__download-notice {
  padding-top: 19px;
}
  @media screen and (max-width: 767px) {
    .about-app__download-notice {
      padding-top: 0px;
    }
  }
.reservation-about-app__download-item {
  padding-bottom: 5px!important;
  width: 80%;
}
/* .reservation-about-app__download-mobile-image {
  width: 70%!important;
} */
.reservation-about-app__download-wrapper {
  width: 22%!important;
  float: left;
}
.section__notice-container {
  max-width: 840px;
  padding-left: 60px;
  margin: 0 auto;
  position: relative;
  line-height: 18px;
  font-size: 14px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .section__notice-container {
    padding: 20px;
    padding-top: 0px;
    margin-bottom: 0px;
  }
}
.reservation-breadcrumbs {
  max-width: 800px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 767px) {
    .reservation-breadcrumbs {
      padding: 0; } }
  .reservation-breadcrumbs__list {
    overflow: hidden;
    padding: 0;
    font-size: 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .reservation-breadcrumbs__list {
        margin-left: -25px; } }
  .reservation-breadcrumbs__item {
    display: inline-block;
    width: 30%;
    height: auto;
    overflow: initial;
    font-size: 20px; }
    .reservation-breadcrumbs__item:first-child {
      width: 28%; }
      .reservation-breadcrumbs__item:first-child .reservation-breadcrumbs__text {
        padding-left: 15px; }
      @media screen and (max-width: 767px) {
        .reservation-breadcrumbs__item:first-child {
          width: 24%; } }
    @media screen and (max-width: 767px) {
      .reservation-breadcrumbs__item {
        width: 26%;
        font-size: 14px; } }
  .reservation-breadcrumbs__text {
    display: block;
    width: 100%;
    color: white;
    text-decoration: none;
    padding: 10px 0 10px 55px;
    background: #CCC;
    position: relative; }
    .reservation-breadcrumbs__text::after {
      content: " ";
      display: block;
      width: 0;
      height: 0;
      border-top: 50px solid transparent;
      border-bottom: 50px solid transparent;
      border-left: 30px solid #CCC;
      position: absolute;
      top: 50%;
      margin-top: -50px;
      left: 100%;
      z-index: 2;
      margin-left: -1px; }
    .reservation-breadcrumbs__text::before {
      content: " ";
      display: block;
      width: 0;
      height: 0;
      border-top: 50px solid transparent;
      border-bottom: 50px solid transparent;
      border-left: 30px solid white;
      position: absolute;
      top: 50%;
      margin-top: -50px;
      left: 100%;
      z-index: 1; }
    @media screen and (max-width: 767px) {
      .reservation-breadcrumbs__text {
        padding: 10px 0 10px 30px; } }

.reservation-breadcrumbs__text.reservation-breadcrumbs__text--active {
  background: #FFEF00;
  color: #000; }
  .reservation-breadcrumbs__text.reservation-breadcrumbs__text--active::after {
    border-left: 30px solid #FFEF00; }
.representative-favoriteBody {
  padding: 40px 0; }
  .representative-favoriteBody.multiple {
    padding: 0 0 40px; }
  .representative-favoriteBody.view {
    padding: 40px 0 20px; }
  .representative-favoriteBody__container {
    width: 100%; }
  .representative-favoriteBody__header-wrapper {
    width: 100%;
    background-color: #8E1F15;
    color: #FFF;
    padding: 10px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-size: 16px;
    text-align: left; }
  .representative-favoriteBody__body {
    width: 100%;
    border: 1px solid #8E1F15;
    padding: 25px;
    font-size: 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .representative-favoriteBody__body {
        padding: 15px; } }
.representative {
  padding: 40px 0; }
  .representative.multiple {
    padding: 0 0 40px; }
  .representative.view {
    padding: 40px 0 20px; }
  .representative__container {
    width: 100%; }
  .representative__header-wrapper {
    width: 100%;
    background-color: #8E1F15;
    color: #FFF;
    padding: 10px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-size: 16px;
    text-align: left; }
  .representative__body {
    width: 100%;
    border: 1px solid #8E1F15;
    padding: 25px;
    font-size: 0;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .representative__body {
        padding: 15px; } }
  .representative__footer {
    width: 100%;
    border: 1px solid #8E1F15;
    padding: 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    text-align: right;
    color: #8E1F15;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .representative__footer {
        font-size: 15px; } }
  .representative__total {
    margin-bottom: 30px;
    width: 100%;
    border: 2px solid #8E1F15;
    padding: 10px;
    border-radius: 5px;
    text-align: right;
    color: #8E1F15;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .representative__total {
        font-size: 15px;
        padding-left: 0; } }
  .representative__code {
    margin: 0 auto 30px;
    width: 60%;
    border: 1px solid #8E1F15;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    color: #000;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .representative__code {
        width: 80%; } }
  .representative__text-wrapper {
    padding-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .representative__text-wrapper--complete {
        padding-bottom: 0px; } }
  .representative__subtitle {
    padding: 20px 0;
    font-size: 24px; }
  .representative__paragraph {
    padding: 10px 0;
    font-size: 16px;
    text-align: left;
    line-height: 1.5em; }
  .representative__link {
    text-decoration: underline;
    color: #0070ff; }
  .representative__back-link {
    font-size: 20px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .representative__back-link {
        font-size: 18px; } }
  .representative__back-text {
    font-size: 16px;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .representative__back-text {
        font-size: 14px; } }
  .representative__app-total {
    font-weight: 900;
    padding: 6px 0 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    letter-spacing: 0.3px; }
    .representative__app-total .star {
      font-size: 16px; }

.table {
  width: 100%;
  border: 2px solid #CCC; }
  .table.list {
    margin-bottom: 40px; }
  .table__row {
    text-align: center;
    border: 2px solid #CCC; }
  .table__head {
    width: 30%;
    text-align: center;
    padding: 10px;
    border-right: 2px solid #CCC;
    background-color: #004774;
    color: white;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .table__head {
        font-size: 14px; } }
  .table__description {
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .table__description {
        font-size: 14px; } }
  .table__link {
    color: #6464FF;
    font-size: 12px; }
  @media screen and (max-width: 767px) {
    .table__white-space {
      width: 60px; } }
  @media screen and (max-width: 400px) {
    .table__white-space {
      width: 30px; } }
  @media screen and (max-width: 767px) {
    .table__white-space.longer {
      width: 60px; } }

.table__head.table__head--horizontal:last-child {
  border-right: none; }

.table__description.table__description--horizontal {
  border-right: 2px solid #CCC;
  padding: 10px;
  vertical-align: middle; }
  .table__description.table__description--horizontal:last-child {
    border-right: none; }

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1000;
  opacity: 0;
  transition: opacity 400ms ease-in;
  -moz-transition: opacity 400ms ease-in;
  -webkit-transition: opacity 400ms ease-in;
  pointer-events: none; }
  .modal:target {
    opacity: 1;
    pointer-events: auto; }
  .modal:target .modal__overlay {
    display: block; }
  .modal__wrapper {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    height: 100vh; }
  .modal__container {
    width: 500px;
    position: relative;
    z-index: 10;
    padding: 25px 30px;
    border-radius: 10px;
    background: #FFF; }
    @media screen and (max-width: 767px) {
      .modal__container {
        width: 90%;
        height: initial;
        padding: 25px 15px; } }
    .modal__container--login {
      width: 500px;
      padding: 100px 30px 25px; }
      @media screen and (max-width: 767px) {
        .modal__container--login {
          width: 90%;
          padding: 60px 15px 20px; } }
      .modal__container--login .modal__content {
        margin: 0 auto;
        width: 75%; }
        @media screen and (max-width: 767px) {
          .modal__container--login .modal__content {
            width: 90%; } }
      .modal__container--login .modal__reservation-title {
        font-size: 18px;
        text-align: center;
        border: 3px solid #F59701;
        color: #F59701;
        font-weight: bold;
        font-family: sans-serif;
        padding: 20px;
        width: 85%;
        margin: 0 auto;
        margin-bottom: 15px; }
        @media screen and (max-width: 767px) {
          .modal__container--login .modal__reservation-title {
            font-size: 12px;
            width: 90%; } }
        @media screen and (max-width: 320px) {
          .modal__container--login .modal__reservation-title {
            font-size: 10px; } }
      .modal__container--login .modal__reservation-text {
        font-size: 23px;
        font-weight: bold;
        padding: 10px 0px;
        text-align: center;
        color: #555354; }
        @media screen and (max-width: 767px) {
          .modal__container--login .modal__reservation-text {
            font-size: 19px;
            font-family: sans-serif; } }
        @media screen and (max-width: 320px) {
          .modal__container--login .modal__reservation-text {
            font-size: 18px; } }
      .modal__container--login .modal__note {
        font-size: 16px;
        padding: 15px;
        text-align: center;
        color: #555354;
        font-family: sans-serif; }
        @media screen and (max-width: 767px) {
          .modal__container--login .modal__note {
            /* color: #F59701; */
            font-size: 15px;
            padding: 10px; } }
        @media screen and (max-width: 320px) {
          .modal__container--login .modal__note {
            font-size: 12px; } }
      .modal__container--login .modal__btn-wrapper {
        margin: 10px auto; }
        @media screen and (max-width: 767px) {
          .modal__container--login .modal__btn-wrapper {
            margin: 5px auto; } }
      @media screen and (max-width: 767px) {
        .modal__container--login .modal__close {
          top: 3%; } }
      .modal__container--login .button {
        color: #FFF;
        background-color: #F59701;
        padding: 20px;
        font-size: 18px;
        font-weight: bold;
        font-family: sans-serif; }
        @media screen and (max-width: 767px) {
          .modal__container--login .button {
            font-size: 18px;
            padding: 15px; } }
        @media screen and (max-width: 320px) {
          .modal__container--login .button {
            font-size: 15px; } }
        .modal__container--login .button--reservation-cancel {
          background-color: #EEEEEE;
          color: #555354; }
        .modal__container--login .button__wrapper {
          display: block;
          margin: 0 auto;
          width: 100%;
          font-weight: bold;
          padding: 0; }
  .modal__close {
    position: absolute;
    color: #B9B9B9;
    right: 25px;
    top: 20px;
    font-weight: bold;
    font-size: 30px;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .modal__close {
        font-size: 20px;
        right: 4%;
        top: 11%; } }
    @media screen and (max-width: 767px) {
      .modal__close--inquiry {
        top: 5%; } }
  .modal__logo {
    position: absolute;
    left: 25px;
    top: 20px;
  }
  @media screen and (max-width: 767px) {
    .modal__logo {
      left: 3%;
      top: 3%; }
    .img_modal_logo {
      width: 75px;
    }
  }
  .modal__overlay {
    display: none;
    z-index: 9;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0; }
  .modal__icon {
    font-size: 24px !important;
    color: orange; }
    @media screen and (max-width: 767px) {
      .modal__icon {
        font-size: 22px !important;
        vertical-align: text-bottom; } }
  .modal__title {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .modal__title {
        font-size: 18px; } }
    .modal__title.reservation {
      font-size: 20px; }
      @media screen and (max-width: 767px) {
        .modal__title.reservation {
          font-size: 18px; } }
  .modal__paragraph {
    padding: 30px 0 20px;
    border-bottom: 2px solid #EEE;
    font-size: 14px;
    line-height: 1.5em; }
    @media screen and (max-width: 767px) {
      .modal__paragraph {
        font-size: 14px; } }
  .modal__button-container {
    padding: 10px 0 0;
    text-align: right; }
    .modal__button-container--reservation {
      display: flex;
      justify-content: space-between;
      align-items: center; }
  .modal__button-wrapper {
    display: inline-block;
    width: 15%;
    vertical-align: top; }
    .modal__button-wrapper.left {
      float: left; }
    @media screen and (max-width: 767px) {
      .modal__button-wrapper {
        width: 20%; } }
  .modal__button {
    font-size: 14px !important; }
  .modal__sub-title {
    padding: 5px 0 20px;
    font-size: 16px; }
  .modal__form {
    font-size: 0; }
  .modal__body {
    font-size: 0; }
  .modal__inquiry-title {
    font-size: 18px;
    font-weight: 900;
    text-decoration: underline;
    margin-bottom: 30px;
    padding: 4px 20px 0 0;
    text-align: center;
    line-height: 20px; }
  .modal__inquiry-wrapper {
    font-size: 0;
    width: 100%;
    margin-bottom: 25px; }
    .modal__inquiry-wrapper:last-child {
      margin-bottom: 0; }
  .modal__inquiry-item {
    display: inline-block;
    width: 40%;
    vertical-align: top; }
    .modal__inquiry-item--image {
      width: 60%; }
  .modal__inquiry-text {
    font-size: 16px;
    padding: 0 5px;
    line-height: 20px; }
  .modal__inquiry-image {
    width: 100%;
    height: auto; }

.modal__button.modal__button--ok {
  color: #FFF;
  background-color: #339ADB;
  border: 1px solid #339ADB; }

.tab {
  margin: 0 auto 30px;
  max-width: 400px;
  border: 2px solid #004774;
  border-radius: 5px;
  font-size: 0; }
  .tab__item {
    display: inline-block;
    width: 50%;
    padding: 10px 0;
    border-right: 2px solid #004774;
    text-align: center;
    cursor: pointer; }
    .tab__item:last-child {
      border-right: none; }
  .tab__text {
    color: #004774;
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .tab__text {
        font-size: 14px; } }

.tab__item.tab__item--active {
  background-color: #004774; }
  .tab__item.tab__item--active .tab__text {
    color: #FFF;
    font-weight: bold; }

.pc-hidden {
  display: none; }
  @media screen and (max-width: 767px) {
    .pc-hidden {
      display: block; } }

.sp-hidden {
  display: block; }
  @media screen and (max-width: 767px) {
    .sp-hidden {
      display: none; } }

@media screen and (max-width: 767px) {
  .form-page__total.pc-hidden {
    display: inline-block !important; } }

.show-more-recommendations {
  min-height: 15px; }

.show-more-gif {
  bottom: -20px !important;
}
/* about-app css */
.about-app {
  max-width: 960px;
  margin: 0 auto;
  padding: 65px 0 0; }
  @media screen and (max-width: 767px) {
    .about-app {
      padding: 15px 15px 0; } }
  .about-app__title {
    font-size: 26px;
    display: block;
    padding: 0 0 25px; }
    @media screen and (max-width: 767px) {
      .about-app__title {
        font-size: 4.6875vw;
        padding: 0 0 15px; } }
  .about-app__title-text {
    font-weight: bold;
    color: #333333; }
    @media screen and (max-width: 767px) {
      .about-app__title-text {
        line-height: 25px;
        padding: 7px 10px;
        border-left: 5px solid #e95504; } }
  .about-app__title-number {
    color: #ee4900;
    font-size: 40px;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .about-app__title-number {
        font-size: 5.9375vw; } }
  .about-app__download-link {
    display: none; }
    @media screen and (max-width: 767px) {
      .about-app__download-link {
        display: block;
        font-size: 0; } }
  .about-app__download-image {
    display: inline-block;
    width: 50%;
    text-align: center;
    vertical-align: top;
    padding: 15px 20px 0; }
  .about-app__download-link-image {
    display: block;
    width: 100%; }
  .about-app__wrapper {
    background: ##F5F5F7;
    padding: 30px 15px 0 30px;
    font-size: 0; }
    @media screen and (max-width: 767px) {
      .about-app__wrapper {
        padding: 15px 5px 0; } }
  .about-app__mobile-image {
    width: 23%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 767px) {
      .about-app__mobile-image {
        width: 30%;
        display: inline-block;
        vertical-align: bottom; } }
  .about-app__image {
    display: inline-block;
    width: 95%; }
  .about-app__info {
    display: inline-block;
    width: 41%;
    vertical-align: middle;
    font-size: 0;
    margin-right: 2%; }
    @media screen and (max-width: 767px) {
      .about-app__info {
        margin-right: 0;
        width: 70%;
        vertical-align: middle; } }
  .about-app__info-list {
    padding-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .about-app__info-list {
        padding-bottom: 10px; } }
  .about-app__info-item {
    display: inline-block;
    width: 31.3%;
    background: #004774;
    padding: 16px 0;
    border-radius: 50%;
    margin-right: 3%;
    text-align: center; }
    .about-app__info-item:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .about-app__info-item {
        padding: 4% 0; } }
  .about-app__info-item-title {
    font-size: 20px;
    display: block;
    color: #FFFFFF;
    font-weight: bold;
    padding-bottom: 5px; }
    @media screen and (max-width: 767px) {
      .about-app__info-item-title {
        font-size: 3.125vw;
        padding-bottom: 4px; } }
  .about-app__info-number {
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .about-app__info-number {
        font-size: 3.75vw; } }
  .about-app__info-item-text {
    display: block;
    font-size: 14px;
    color: #FFFFFF;
    font-weight: bold;
    line-height: 1.3em; }
    @media screen and (max-width: 767px) {
      .about-app__info-item-text {
        font-size: 2.1875vw;
        line-height: 1.4em; } }
  .about-app__info-link-text {
    font-size: 20px; }
  .about-app__info-note {
    font-size: 14px;
    color: #333333;
    padding-bottom: 8px; }
    @media screen and (max-width: 767px) {
      .about-app__info-note {
        font-size: 2.5vw;
        padding-bottom: 4px; } }
  .about-app__info-link {
    background: url("/images/renew/common/btn-circle-arrow.png") no-repeat;
    background-size: 15px;
    background-position: left center; }
    @media screen and (max-width: 767px) {
      .about-app__info-link {
        background-size: 9px; } }
  .about-app__info-link-text {
    display: inline-block;
    font-size: 16px;
    color: #004774;
    border-bottom: 1px solid #004774;
    font-weight: bold;
    margin-left: 6%; }
    .about-app__info-link-text:hover {
      border-bottom: 1px solid transparent; }
    @media screen and (max-width: 767px) {
      .about-app__info-link-text {
        font-size: 2.5vw; } }
  .about-app__download {
    width: 34%;
    display: inline-block;
    vertical-align: top;
    background: #FFFFFF;
    padding: 15px; }
    @media screen and (max-width: 767px) {
      .about-app__download {
        display: none; } }
  .about-app__download-wrapper {
    width: 55%;
    vertical-align: middle;
    display: inline-block; }
  .about-app__download-mobile-image {
    display: block;
    width: 100%;
    height: auto; }
  .about-app__download-item {
    padding-bottom: 15px; }
    .about-app__download-item:last-child {
      padding-bottom: 0; }
  .about-app__download-qcode {
    display: inline-block;
    width: 45%;
    vertical-align: middle;
    text-align: center;
    padding-top: 18px; }
  .about-app__info-item-text-lastchild {
    font-size: 16px; }
    @media screen and (max-width: 767px) {
      .about-app__info-item-text-lastchild {
        font-size: 2.8125vw;
        line-height: 1em; }
      .section__form {
        padding-bottom: 0px;
      }
    }

.title_shop {
  width: 35%;
}

.title_pax {
  width: 15%;
}
