@charset "UTF-8";
/* =====================
	RESERVATION イベント予約
 ======================= */
.reservation-giftcard {
  max-width: 792px;
  margin: 0 auto 50px; }

.reservation-tel {
  margin: 50px 0;
  text-align: center; }
  .reservation-tel-num {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.44; }
    .reservation-tel-num a {
      pointer-events: none; }

.reservation-detail {
  width: 100%;
  max-width: 996px;
  margin: 50px auto;
  border: 3px solid var(--c_text);
  position: relative;
  padding: 25px 20px; }
  .reservation-detail-title {
    position: absolute;
    top: -3px;
    left: 0;
    right: 0;
    margin: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    background: var(--c_wht);
    font-size: 26px;
    font-weight: 700;
    padding: 0 1em; }
  .reservation-detail-name {
    font-size: 26px;
    font-weight: 700;
    border-bottom: 1px solid #D2D2C8;
    padding: 20px 80px; }
  .reservation-detail-dl {
    padding: 20px 80px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-size: 20px; }
    .reservation-detail-dl dt:after {
      content: "："; }
  .reservation-detail input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    outline: 0;
    background: none;
    font-family: var(--font_ja);
    font-size: 100%;
    padding: 0;
    margin: 0;
    display: block;
    width: 100%; }
  .reservation-detail textarea {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    outline: 0;
    background: none;
    font-family: var(--font_ja);
    font-size: 100%;
    padding: 0;
    margin: 0;
    display: block;
    width: 100%;
    overflow: hidden;
    resize: none; }

.form-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .form-container .input-area--flow,
  .form-container .check-area--flow {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .form-container .date-dd select {
    min-width: 9em; }

.reservation.has-dateList [data-name=date01-input], .reservation.has-dateList [data-name=date02-input] {
  display: none; }

.reservation.no-dateList [data-name=date01-date], .reservation.no-dateList [data-name=date02-date] {
  display: none; }

/* タブレット
  ------------------------ */
/* スマホ
  ------------------------ */
@media (max-width: 699px) {
  .reservation-giftcard {
    margin-bottom: 24px; }
  .reservation-tel {
    margin: 24px 0; }
    .reservation-tel-num {
      font-size: 28px; }
      .reservation-tel-num a {
        pointer-events: auto; }
  .reservation-detail {
    margin: 24px 0;
    border-width: 2px;
    padding: 12px; }
    .reservation-detail-title {
      font-size: 18px; }
    .reservation-detail-name {
      font-size: 18px;
      padding: 10px 12px; }
    .reservation-detail-dl {
      padding: 10px 12px 0;
      font-size: 14px; } }
