@charset "utf-8";

/* -----------------------------------------------------------------
 common
----------------------------------------------------------------- */
.cmn_ticket_body{
  margin-top: var(--margin_size_XS);
  line-height: 2;
}
.cmn_other_links {
  margin-top: var(--margin_size_S);
}

/* -----------------------------------------------------------------
 section_hours
----------------------------------------------------------------- */
.section_hours__col {
  margin-top: var(--margin_size_XS);
}
.ticket_hours {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: var(--color_main) 1px solid;
  border-bottom: var(--color_main) 1px solid;
}
.ticket_hours .title {
  width: 100%;
  padding: .6rem 1rem;
  background-color: var(--color_bg_light_bl);
  text-align: center;
  color: var(--color_main);
}
.ticket_hours .body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.ticket_hours .time {
  padding: 1.5rem 1rem .5rem;
  font-weight: 400;
  font-size: 2.7rem;
  color: var(--color_main);
}
.ticket_hours .note {
  padding-bottom: 2rem;
  font-size: .77rem;
}
.ticket_closed_date {
  margin-top: 1rem;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--color_main);
}
.ticket_closed_note {
  margin-top: .6rem;
}
.ticket_closed .cmn_title02 {
  margin-top: 0;
  
}
@media print, screen and (min-width: 768px) {
  .section_hours__layout {
    display: flex;
    gap: 4vw;
    align-items: stretch;
  }
  .section_hours__col {
    width: 100%;
  }
  .ticket_hours {
    height: 100%;
    flex: 1; /* �� �e���ō����????߂� */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* ���g���㉺�ɕ������Ȃ� */
  }
  .section_hours .cmn_ticket_btn {
    max-width: none;
    margin-top: 1rem;
  }
  .ticket_closed_date {
    font-size: 1.33rem;
  }

}
/* -----------------------------------------------------------------
 section_price
----------------------------------------------------------------- */
.ticket_price {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: var(--margin_size_XS);
}
.ticket_price .heading {
  width: 100%;
  padding: .6rem 1rem;
  background-color: var(--color_bg_light_bl);
  text-align: center;
  color: var(--color_main);
}
.ticket_price .list {
  display: table;
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto;
}
.ticket_price .item {
  display: table-row;
}
.ticket_price .label,
.ticket_price .value {
  display: table-cell;
  padding: 0.8em 1em;
  border-bottom: 1px solid #d3d3d3;
  vertical-align: middle;
}
.ticket_price .label .small {
  font-size: .86rem;
}
.ticket_price .value {
  text-align: right;
}
.ticket_note {
  margin-top: var(--margin_size_XXS);
  line-height: 1.7;
  font-size: .77rem;
}
@media print, screen and (min-width: 768px) {
  .ticket_note {
    font-size: .88rem;
  }
}
/* -----------------------------------------------------------------
 attention
----------------------------------------------------------------- */
.attention {
  margin-top: var(--margin_size_S);
  padding: 1.5rem;
  border: #d3d3d3 1px solid;
}
.attention .title {
  font-weight: 700;
  font-size: .92rem;
  color: var(--color_main);
}
.attention .cmn_list01 {
  margin-top: .7rem;
  font-size: .77rem;
}
@media print, screen and (min-width: 768px) {
  .attention .title {
    font-size: 1rem;
  }
  .attention .cmn_list01 {
    font-size: .88rem;
  }
}

/* -----------------------------------------------------------------
 ticket_value
----------------------------------------------------------------- */
.ticket_value >.item {
  margin-top: var(--margin_size_XS-S);
  padding: var(--margin_size_S) 5% var(--margin_size_XS);
  background-color: #fff;
}
.ticket_value >.item .plan_title {
  display: flex;
  gap:1.5rem;
  color: var(--color_main);
}
.ticket_value >.item .plan_title .num {
  align-self: flex-start;
  margin-left: .5rem;
  padding-top: .1rem;
  border-bottom: var(--color_main) 1px solid;
  line-height: 1;
  font-weight: 500;
  font-size: 1.69rem;
}
.ticket_value >.item .plan_title .title {
  font-weight: 700;
  font-size: 1.54rem;
}
.ticket_value .intro {
  padding-top: var(--margin_size_XXS);
  padding-bottom: var(--margin_size_XXS);
}
.ticket_value .body {
  padding-bottom: 1rem;
  border-bottom: var(--color_line_light_gray) 1px solid;
}
.ticket_value .body:first-of-type {
  border-top: var(--color_line_light_gray) 1px solid;
}
.ticket_value .body .title {
  font-weight: 700;
  font-size: .92rem;
}
.ticket_value .body .text {
  font-size: .85rem;
}
@media screen and (max-width: 767px) {
  .ticket_value__image {
    margin-top: var(--margin_size_XS);
  }
}
@media print, screen and (min-width: 768px) {
  .ticket_value__layout {
    display: flex;
    gap: 4vw;
    margin-top: var(--margin_size_XXS);
  }
  .ticket_value__col {
    width: 100%;
  }
  .ticket_value .body .title {
    font-size: 1em;
  }
  .ticket_value .body .text {
    font-size: .93rem;
  }
}



/* -----------------------------------------------------------------
 slider_stay
----------------------------------------------------------------- */
#slider_stay {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-top: var(--margin_size_XS-S);
  padding-bottom: var(--margin_size_S-M);
}
#slider_stay .name {
  margin-top: .8em;
  font-size: .92rem;
}
@media (hover: hover) and (pointer: fine) {
  #slider_stay a  {
    transition: opacity 0.3s ease;
  }
  #slider_stay a :hover {
    opacity: .8;
  }
}

@media print, screen and (min-width: 768px) {
  #slider_stay .name {
    font-size: 1rem;
  }
}

