/* ===== フッター（白い地の下に貼り付けた淡い面。スクロールすると白い地の下から現れる） ===== */
.ft {
  position: sticky;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  padding: 1.4rem max(0.8rem, calc((100% - 9.6rem) / 2)) 0.7rem;
  background: var(--cream);
}
.ft__in { display: flex; }
.ft__w1 { display: flex; flex-direction: column; justify-content: space-between; margin-top: 0.73rem; }
.ft__copy { font-size: max(9px, min(0.1rem, 12px)); }
.ft__w2 { display: flex; flex-wrap: wrap; max-width: 5.43rem; margin-left: auto; }
.ft__t1 { width: 100%; text-align: right; font-size: max(14px, min(0.18rem, 20px)); font-weight: 700; }
.ft__btn { align-self: flex-end; margin-top: 0.3rem; }
.ft__t3 { margin: 0.6rem 0 0 auto; text-align: right; translate: 0 5px; }
.ft__rc { margin: 0.7rem 0 0 auto; }
.ft__rc tr { border-bottom: 1px solid var(--line); }
.ft__rc th, .ft__rc td { text-align: center; }
.ft__week th { padding-bottom: 0.1rem; font-weight: 400; }
.ft__week .ft__time { font-weight: 700; }
.ft__rc tbody th { padding: 18px 0.18rem 18px 0; text-align: left; font-size: max(11px, min(0.13rem, 15px)); }
.ft__rc tbody td { position: relative; padding: 18px 0.18rem; line-height: 1; }
.ft__rc tbody td span {
  position: absolute;
  left: 50%;
  bottom: 3px;
  translate: -50% 0;
  width: max-content;
  font-size: max(9px, min(0.1rem, 12px));
  line-height: 1;
}

@media (max-width: 767px) {
  .ft { padding: 1.2rem 0.25rem 1rem; }
  .ft__in { position: relative; display: block; }
  .ft__w1 { margin: 0; }
  .ft__logo { position: absolute; top: 0; left: 0; }
  .ft__logo .logo-txt__en { font-size: 0.2rem; }
  .ft__logo .logo-txt__ja { font-size: 0.15rem; }
  .ft__copy { position: absolute; left: 0; bottom: -0.55rem; }
  .ft__w2 { max-width: none; }
  .ft__t1 { position: absolute; top: 0; right: 0; width: auto; writing-mode: vertical-rl; font-feature-settings: "vpal"; font-size: min(0.16rem, 18px); }
  .ft__t3 { order: 1; margin: 1rem 0 0; text-align: left; translate: none; }
  .ft__btn { order: 2; margin-top: 0.12rem; }
  .ft__rc { order: 3; flex: 1 1 100%; margin: 0.4rem 0 0; }
  .ft__rc table { width: 100%; }
  .ft__week th { font-size: min(0.12rem, 14px); }
  .ft__rc tbody th { font-size: min(0.1rem, 12px); padding-right: 0.05rem; }
  .ft__rc tbody td { padding: 18px 0.06rem 18px; font-size: min(0.12rem, 14px); }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .ft { padding: 1.2rem 0.5rem 0.7rem; }
}
