@charset "UTF-8";
@media screen and (max-width: 767px) {
  /* spで非表示 */
  .ifpc {
    display: none;
  }
  .ifsp {
    display: block;
  }
  html {
    -webkit-text-size-adjust: 100%;
    height: 100%;
    overflow-x: hidden;
    width: 100%;
  }
  body {
    font-size: 1.4rem;
    overflow-x: hidden;
  }
  .contents {
    padding: min(10vw, 72px) min(5vw, 20px);
  }
  .visual-reveal + .back--black_gradient {
    position: relative;
    z-index: 1;
  }
  .inner {
    width: 98%;
    margin-right: auto;
    margin-left: auto;
  }
  /*------title sp*/
  h2 {
    font-size: 1.8rem;
  }
  .title__h2 {
    margin: 0 0 20px;
    font-size: 2em;
    white-space: nowrap;
  }
  .title__h2 span {
    font-size: 1.6rem;
  }
  .title__after-comma {
    margin-left: -0.5em;
    font-style: normal;
  }
  .ttl--h3 {
    font-size: 1.8rem;
  }
  .ttl--h4 {
    font-size: 1.8rem;
  }
  .sp-column--1 {
    display: flex;
    flex-direction: column;
    gap: 1em;
  }
  .sp-column--2 {
    display: flex;
    flex-direction: column;
    gap: 2em;
  }
  /* ---------table sp*/
  th,
  td {
    font-size: 1.6rem;
    padding: 1.5em 0.5em;
    background-color: #f2f2f2;
  }
  .table_title {
    writing-mode: vertical-rl;
  }
  .dl__wrap {
    padding: 1em;
  }
  .dl__wrap dl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    font-size: 1.6rem;
  }
  .dl__wrap dd {
    font-size: 1.8rem;
  }
  /* ----------tab sp*/
  .tab-buttons button {
    width: 46%;
    writing-mode: vertical-rl;
    padding: 16px 8px;
  }
  .tab-content iframe {
    width: 100%;
  }
  /* ----------trigger sp*/
  .btn--plus {
    width: 18px;
    height: 18px;
  }
  /* ----------up to button sp*/
  .upto_button {
    width: 64px;
    height: 64px;
  }
  .upto_button a::before {
    width: 32px;
    height: 32px;
  }
  /* ----------banner sp*/
  .banner {
    width: 140px;
  }
  /* ---------- news */
  .news__flex {
    flex-direction: column;
    gap: 0;
  }
  .news .title__h2 span {
    width: 45%;
  }
  .news__wrap {
    padding: 0 20px;
  }
  /* ----------about*/
  .about__text {
    font-size: 1.4rem;
  }
  /* ----------profile sp*/
  .profile__wrap .profile__img {
    width: 70%;
  }
  .profile__wrap .txt_profile {
    top: 220px;
    width: 50%;
  }
  .profile__wrap--02 {
    margin-top: 2em;
  }
  .profile__wrap--02 > img:first-of-type {
    width: 60%;
  }
  .txt_kaga {
    top: 13em;
    width: 48%;
  }
  /* ------ ticket */
  .ticket__flex {
    flex-direction: column;
  }
  .ticket__flex > div:first-child {
    width: 100%;
  }
  .ticket__price {
    margin-bottom: 1em;
  }
  .ticket__details {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .ticket__detail:not(:last-child) {
    padding-right: 0;
    border-right: none;
  }
  .ticket__detail:not(:first-child) {
    padding-left: 0;
  }
  .btn {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 20px;
  }
  .btn__about, .btn__ticket {
    margin-top: 0;
  }
  /*--------- map */
  .map__flex {
    flex-direction: column;
  }
  .map__info-box {
    width: 100%;
  }
  .map__info-box a {
    margin: 0 auto;
  }
  .map__info {
    margin-bottom: 2.5em;
  }
  .map__info dl {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 1.5em;
  }
  .map__info dt {
    width: 7em;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(31, 47, 84, 0.5);
  }
  .map__map {
    width: 100%;
  }
  .map__map iframe {
    width: 100%;
  }
  /* ------ hamburger menu */
  .sp-nav {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: radial-gradient(ellipse at 15% 15%, rgba(197, 235, 242, 0.8) 0%, transparent 55%), radial-gradient(ellipse at 80% 20%, rgba(214, 241, 234, 0.8) 0%, transparent 50%), radial-gradient(ellipse at 55% 100%, rgba(226, 241, 247, 0.9) 0%, transparent 65%), linear-gradient(135deg, #f4fbfb 0%, #eaf6f5 50%, #f1f9fa 100%);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 999;
  }
  .header__hamburger {
    height: 48px;
    width: 48px;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s;
    position: fixed;
    right: 2%;
    top: 1%;
    z-index: 1000;
    background-color: #040000;
    border-radius: 4px;
  }
  .header__menu--border {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 28px;
    height: 18px;
    position: relative;
  }
  .header__hamburger--line {
    background-color: #fff;
    width: 100%;
    height: 2px;
    display: block;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  .header__nav--list {
    align-items: center;
    margin-top: 6em;
  }
  .header__nav--list a {
    font-size: 2rem;
  }
  /* ------ hamburger menu active */
  .sp-nav.active {
    transform: translateX(0);
  }
  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 5px);
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -5px);
  }
}
@media screen and (max-width: 468px) {
  .dinner__text {
    font-size: 1.6rem;
  }
  .dinner img {
    width: 100%;
  }
} /*# sourceMappingURL=sp.css.map */