@charset "UTF-8";
ul,
ol,
li,
dl,
dt,
dd,
figure,
figcaption,
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
  transition: background-color 0.2s linear, color 0.2s linear;
}
a:hover {
  text-decoration: none;
  color: #000;
  transition: background-color 0.2s linear, color 0.2s linear;
}

img {
  width: 100%;
  height: auto;
}

html {
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-overflow-scrolling: auto;
  width: 100%;
  color: #000;
}
@media screen and (max-width: 767px) {
  body {
    width: 100%;
  }
}

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

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

header {
  width: 100%;
  height: min(60px, 4.8vw);
  position: relative;
  z-index: 100;
  background: #fff;
  top: 0;
}
@media screen and (max-width: 767px) {
  header {
    height: 16vw;
    padding-left: 4.5333333333vw;
  }
}
header div {
  width: min(980px, 78.4vw);
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 767px) {
  header div {
    width: 100%;
  }
}
header div h2 {
  width: min(190px, 15.2vw);
}
@media screen and (max-width: 767px) {
  header div h2 {
    width: 33.8666666667vw;
  }
}
header div h2 a {
  display: block;
}
header div h2 a img {
  vertical-align: text-top;
}
header div h2 + p {
  font-size: min(0.96vw, 12px);
  line-height: 1.6666666667;
  margin-left: min(14.33px, 1.1464vw);
}
@media screen and (max-width: 767px) {
  header div h2 + p {
    display: none;
  }
}
header div .contact {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  header div .contact {
    display: none;
  }
}
header div .contact a {
  display: block;
  border-radius: min(8px, 0.64vw);
  padding: 0 min(12px, 0.96vw);
  text-align: center;
  border: min(1px, 0.08vw) solid #000;
  color: #fff;
  background-color: #000;
  font-size: min(1.12vw, 14px);
  line-height: 2.4285714286;
  font-weight: 600;
}
@media (hover: hover) and (pointer: fine) {
  header div .contact a:hover {
    background-color: #fff;
    color: #000;
  }
}

main {
  position: relative;
  z-index: 0;
  overflow: visible;
}

#mainVisual {
  width: 100%;
  aspect-ratio: 1401/500;
  position: relative;
}
@media screen and (max-width: 767px) {
  #mainVisual {
    aspect-ratio: 100% 100%;
  }
}
#mainVisual p {
  width: 12.3vw;
  position: absolute;
  bottom: 0.6vw;
  left: 50%;
  transform: translateX(13.2vw);
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  #mainVisual p {
    width: 80vw;
    bottom: 3.2vw;
    transform: translateX(-50%);
  }
}
@media (hover: hover) and (pointer: fine) {
  #mainVisual p:hover {
    opacity: 0.7;
  }
}

#about {
  width: min(1000px, 80vw);
  margin: min(40px, 3.2vw) auto 0;
}
@media screen and (max-width: 767px) {
  #about {
    width: 89.3333333333vw;
    margin: 6.4vw auto 0;
  }
}
#about h2 {
  width: min(890px, 71.2vw);
  margin: 0 auto;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  #about h2 {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #about h2:hover {
    opacity: 0.7;
  }
}
#about figure {
  margin-top: min(40px, 3.2vw);
  display: grid;
  grid-template-columns: min(500px, 40vw) 1fr;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #about figure {
    grid-template-columns: 1fr;
    margin-top: 6.4vw;
  }
}
#about figure figcaption {
  justify-self: center;
}
#about figure figcaption img {
  width: min(418px, 33.44vw);
}
@media screen and (max-width: 767px) {
  #about figure figcaption img {
    width: 100%;
  }
}
#about p {
  width: min(890px, 71.2vw);
  margin: min(4px, 0.32vw) auto 0;
  font-size: min(0.96vw, 12px);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #about p {
    width: 100%;
    margin: 1.0666666667vw auto 0;
    font-size: 2.6666666667vw;
    line-height: 1.6;
  }
}

#point {
  width: min(1000px, 80vw);
  margin: min(28px, 2.24vw) auto min(60px, 4.8vw);
  background-color: #f0e2ca;
  border-top: min(3px, 0.24vw) solid #000;
  border-bottom: min(3px, 0.24vw) solid #000;
  text-align: center;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  #point {
    width: 89.3333333333vw;
    margin: 7.4666666667vw auto 10.6666666667vw;
    border-top-width: 0.8vw;
    border-bottom-width: 0.8vw;
  }
}
#point:before, #point:after {
  content: "";
  width: 100%;
  height: min(1px, 0.08vw);
  background-color: #000;
  display: block;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  #point:before, #point:after {
    height: 0.2666666667vw;
  }
}
#point:before {
  top: min(5px, 0.4vw);
}
@media screen and (max-width: 767px) {
  #point:before {
    top: 0.8vw;
  }
}
#point:after {
  bottom: min(5px, 0.4vw);
}
@media screen and (max-width: 767px) {
  #point:after {
    bottom: 0.8vw;
  }
}
#point .more {
  display: none;
  padding: min(40px, 3.2vw) min(62px, 4.96vw);
}
@media screen and (max-width: 767px) {
  #point .more {
    padding: 8.5333333333vw 2.6666666667vw 8vw;
  }
}
#point h2 {
  width: min(404px, 32.32vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #point h2 {
    width: 84vw;
  }
}
#point ol {
  margin-top: min(45px, 3.6vw);
  display: flex;
  flex-direction: column;
  gap: min(35px, 2.8vw);
}
@media screen and (max-width: 767px) {
  #point ol {
    margin-top: 12vw;
    gap: 4.2666666667vw;
  }
}
#point button {
  font-size: min(2.24vw, 28px);
  line-height: 1.2;
  font-weight: 700;
  position: relative;
  display: grid;
  grid-template-columns: min(64px, 5.12vw) auto;
  gap: min(10px, 0.8vw);
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: min(15px, 1.2vw) 0 min(17px, 1.36vw);
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  #point button {
    font-size: 4.2666666667vw;
    line-height: 1;
    grid-template-columns: 8.5333333333vw auto;
    gap: 2.6666666667vw;
    padding: 5.8666666667vw 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  #point button:hover {
    opacity: 0.7;
  }
}
#point button:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  display: block;
  top: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' fill='none'%3E%3Cmask id='a' width='64' height='64' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M0 0h64v64H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231C1B1F' d='M30.667 44h2.666V33.333H44v-2.666H33.333V20h-2.666v10.667H20v2.666h10.667V44Zm1.342 12c-3.319 0-6.44-.63-9.361-1.89-2.921-1.259-5.463-2.968-7.624-5.127-2.161-2.16-3.872-4.699-5.133-7.618C8.631 38.447 8 35.328 8 32.01s.63-6.44 1.89-9.361c1.259-2.921 2.968-5.463 5.127-7.624 2.16-2.161 4.699-3.872 7.618-5.133C25.553 8.631 28.672 8 31.99 8s6.44.63 9.361 1.89c2.921 1.259 5.463 2.968 7.624 5.127 2.161 2.16 3.872 4.699 5.133 7.618C55.369 25.553 56 28.672 56 31.99s-.63 6.44-1.89 9.361c-1.259 2.921-2.968 5.463-5.127 7.624-2.16 2.161-4.699 3.872-7.618 5.133C38.447 55.369 35.328 56 32.01 56ZM32 53.333c5.956 0 11-2.066 15.133-6.2 4.134-4.133 6.2-9.177 6.2-15.133 0-5.956-2.066-11-6.2-15.133-4.133-4.134-9.177-6.2-15.133-6.2-5.956 0-11 2.066-15.133 6.2-4.134 4.133-6.2 9.177-6.2 15.133 0 5.956 2.066 11 6.2 15.133 4.133 4.134 9.177 6.2 15.133 6.2Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}

#banner {
  width: 100%;
  background-repeat: repeat-y;
  background-size: 100% auto;
  background-position: top center;
  background-image: url(../img/banner-bg.png);
  padding: min(40px, 3.2vw) 0;
}
@media screen and (max-width: 767px) {
  #banner {
    padding: 8.5333333333vw 5.3333333333vw;
    background-image: url(../img/banner-bg_sp.png);
  }
}
#banner ul {
  width: min(890px, 71.2vw);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: min(40px, 3.2vw);
}
@media screen and (max-width: 767px) {
  #banner ul {
    width: 89.3333333333vw;
    gap: 5.3333333333vw;
  }
}
#banner ul li a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  #banner ul li a:hover {
    opacity: 0.7;
  }
}
#banner ul li p {
  width: min(890px, 71.2vw);
  margin: min(4px, 0.32vw) auto 0;
  font-size: min(0.96vw, 12px);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #banner ul li p {
    width: 100%;
    margin: 1.0666666667vw auto 0;
    font-size: 2.6666666667vw;
    line-height: 1.6;
  }
}

#facilities {
  width: min(1000px, 80vw);
  margin: min(60px, 4.8vw) auto 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  #facilities {
    width: 100%;
    margin: 0 auto;
  }
}
#facilities .period {
  display: block;
}
@media screen and (max-width: 767px) {
  #facilities .period {
    width: 89.3333333333vw;
    margin: 0 auto;
  }
}
#facilities h2 {
  color: #fff;
  background-image: url(../img/facilities-bg.png);
  background-size: auto min(60px, 4.8vw);
  font-size: min(1.92vw, 24px);
  line-height: 2.5;
  font-weight: 600;
  text-align: center;
  margin-top: min(20px, 1.6vw);
}
@media screen and (max-width: 767px) {
  #facilities h2 {
    font-size: 5.3333333333vw;
    line-height: 1.2;
    padding: 1.6vw 0;
    background-image: url(../img/facilities-bg_sp.png);
    background-size: auto 16vw;
    margin-top: 0;
  }
}
#facilities h2 span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #facilities h2 span {
    display: block;
  }
}
#facilities #cityTabs {
  position: sticky;
  top: 0;
  z-index: 100;
  margin-top: min(20px, 1.6vw);
}
@media screen and (max-width: 767px) {
  #facilities #cityTabs {
    margin-top: 5.3333333333vw;
  }
}
#facilities #cityTabs ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  gap: min(1px, 0.08vw);
  background-color: #fff;
  width: min(1000px, 80vw);
}
@media screen and (max-width: 767px) {
  #facilities #cityTabs ul {
    width: 89.3333333333vw;
  }
}
#facilities #cityTabs ul li {
  background-color: #f0e2ca;
  text-align: center;
  font-size: min(1.12vw, 14px);
  line-height: 2.8571428571;
}
@media screen and (max-width: 767px) {
  #facilities #cityTabs ul li {
    font-size: 3.7333333333vw;
    line-height: 2.5714285714;
  }
}
#facilities #cityTabs ul li a {
  display: block;
  font-weight: 500;
}
#facilities #cityTabs ul li a.active {
  background-color: #231815;
  color: #fff;
}
#facilities .tabContent {
  display: none;
  margin-top: min(40px, 3.2vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent {
    margin-top: 8vw;
  }
}
#facilities .tabContent.active {
  display: block;
}
#facilities .tabContent > ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(11px, 0.88vw) min(20px, 1.6vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul {
    width: 85.3333333333vw;
    margin: 0 auto;
    grid-template-columns: 1fr;
    gap: 3.2vw;
  }
}
#facilities .tabContent > ul > li {
  border-radius: min(8px, 0.64vw);
  background: #fff;
  box-shadow: min(2px, 0.16vw) min(2px, 0.16vw) min(8px, 0.64vw) min(0px, 0vw) rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li {
    border-radius: 2.1333333333vw;
    box-shadow: 0.5333333333vw 0.5333333333vw 2.1333333333vw 0vw rgba(0, 0, 0, 0.25);
  }
}
#facilities .tabContent > ul > li > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 min(16px, 1.28vw) min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a {
    padding: 0 4.2666666667vw 4.2666666667vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #facilities .tabContent > ul > li > a:hover {
    background-color: #F0E2CA;
  }
}
#facilities .tabContent > ul > li > a > div {
  order: -1;
  aspect-ratio: 320/180;
  overflow: hidden;
  width: calc(100% + min(32px, 2.56vw));
  margin: 0 max(-16px, -1.28vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a > div {
    width: calc(100% + 8.5333333333vw);
    margin: 0 -4.2666666667vw;
  }
}
#facilities .tabContent > ul > li > a > div img {
  aspect-ratio: 320/180;
  object-fit: cover;
  object-position: center;
  width: min(320px, 25.6vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a > div img {
    width: 85.3333333333vw;
  }
}
#facilities .tabContent > ul > li > a h4 {
  font-size: min(1.44vw, 18px);
  line-height: 1.1111111111;
  font-weight: 600;
  margin-top: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a h4 {
    font-size: 4.8vw;
    line-height: 1.1111111111;
    margin-top: 3.2vw;
  }
}
#facilities .tabContent > ul > li > a .pref {
  margin-top: min(8px, 0.64vw);
  font-size: min(0.96vw, 12px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a .pref {
    font-size: 3.2vw;
    line-height: 1;
    margin-top: 2.1333333333vw;
  }
}
#facilities .tabContent > ul > li > a .address,
#facilities .tabContent > ul > li > a .tel {
  display: grid;
  grid-template-columns: min(16px, 1.28vw) 1fr;
  gap: min(4px, 0.32vw);
  align-items: center;
  position: relative;
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a .address,
  #facilities .tabContent > ul > li > a .tel {
    grid-template-columns: 4.2666666667vw 1fr;
    gap: 1.0666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}
#facilities .tabContent > ul > li > a .address:before,
#facilities .tabContent > ul > li > a .tel:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
#facilities .tabContent > ul > li > a .address {
  margin-top: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a .address {
    margin-top: 3.2vw;
  }
}
#facilities .tabContent > ul > li > a .address:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cmask id='a' width='16' height='16' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M0 0h16v16H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231C1B1F' d='M8 14.667c-1.178 0-2.139-.186-2.883-.558C4.372 13.737 4 13.256 4 12.667c0-.266.08-.514.242-.741.16-.228.386-.425.675-.592l1.05.983c-.1.045-.208.095-.325.15a.82.82 0 0 0-.275.2c.144.178.478.334 1 .467s1.067.2 1.633.2c.567 0 1.114-.067 1.642-.2.528-.133.864-.289 1.008-.467a.869.869 0 0 0-.3-.216 8.21 8.21 0 0 0-.35-.15l1.034-1c.31.177.55.38.716.608.167.228.25.48.25.758 0 .59-.372 1.07-1.117 1.442-.744.372-1.705.558-2.883.558Zm.017-3.666c1.1-.811 1.928-1.625 2.483-2.442.556-.817.834-1.636.834-2.458 0-1.134-.362-1.99-1.084-2.567-.722-.578-1.472-.867-2.25-.867s-1.528.29-2.25.867c-.722.578-1.083 1.433-1.083 2.567 0 .744.272 1.52.817 2.325.544.805 1.388 1.663 2.533 2.575ZM8 12.667c-1.566-1.155-2.736-2.277-3.508-3.366-.772-1.09-1.159-2.156-1.159-3.2 0-.79.142-1.48.425-2.075A4.695 4.695 0 0 1 4.85 2.534c.445-.4.945-.7 1.5-.9.556-.2 1.106-.3 1.65-.3.545 0 1.095.1 1.65.3.556.2 1.056.5 1.5.9.445.4.809.897 1.092 1.492.283.594.425 1.286.425 2.075 0 1.044-.386 2.11-1.159 3.2-.772 1.088-1.941 2.21-3.508 3.366Zm0-5.333c.367 0 .68-.13.942-.392.26-.26.392-.575.392-.941 0-.367-.131-.68-.392-.942A1.284 1.284 0 0 0 8 4.667c-.367 0-.68.13-.941.392a1.284 1.284 0 0 0-.392.942c0 .366.13.68.392.941.26.261.574.392.941.392Z'/%3E%3C/g%3E%3C/svg%3E");
}
#facilities .tabContent > ul > li > a .tel {
  margin-top: min(4px, 0.32vw);
  margin-bottom: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a .tel {
    margin-top: 1.0666666667vw;
    margin-bottom: 3.2vw;
  }
}
#facilities .tabContent > ul > li > a .tel:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='16' fill='none'%3E%3Cmask id='a' width='15' height='16' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M0 .5h15v15H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231C1B1F' d='M10.313 7.36a.605.605 0 0 1-.446-.18.605.605 0 0 1-.18-.446c0-.177.06-.325.18-.445s.268-.18.445-.18c.178 0 .326.06.446.18s.18.268.18.445-.06.326-.18.446a.605.605 0 0 1-.445.18ZM8.75 5.827l-.656-.656a3.215 3.215 0 0 1 1.023-.695c.38-.162.779-.243 1.195-.243.417 0 .816.081 1.196.243.38.161.721.393 1.023.695l-.656.656a2.268 2.268 0 0 0-.71-.484 2.127 2.127 0 0 0-.852-.172c-.303 0-.586.057-.852.172a2.268 2.268 0 0 0-.711.484ZM7.437 4.484l-.656-.656a4.995 4.995 0 0 1 3.532-1.469 4.996 4.996 0 0 1 3.531 1.469l-.657.656a4 4 0 0 0-1.32-.882 4.055 4.055 0 0 0-1.555-.305 3.91 3.91 0 0 0-1.546.312c-.49.209-.933.5-1.329.875Zm5.032 9.141c-1.302 0-2.589-.284-3.86-.852a11.546 11.546 0 0 1-3.468-2.414 11.546 11.546 0 0 1-2.414-3.468c-.568-1.271-.852-2.558-.852-3.86 0-.187.063-.344.188-.469a.636.636 0 0 1 .468-.187h2.531c.146 0 .277.05.391.148a.571.571 0 0 1 .203.352l.407 2.188c.02.166.015.307-.016.421a.657.657 0 0 1-.172.297L4.359 7.313c.209.385.456.757.743 1.117.286.36.601.705.945 1.039.323.323.661.622 1.016.898.354.276.729.529 1.125.758l1.468-1.469a.875.875 0 0 1 .367-.21c.152-.048.3-.06.446-.04l2.156.438a.724.724 0 0 1 .36.226.55.55 0 0 1 .14.367v2.532a.636.636 0 0 1-.188.469.636.636 0 0 1-.468.187Zm-8.703-7.5 1.03-1.031-.265-1.469h-1.39c.052.427.125.849.218 1.266.094.416.23.828.407 1.234Zm5.593 5.594a7.76 7.76 0 0 0 2.516.625v-1.375l-1.469-.297-1.047 1.047Z'/%3E%3C/g%3E%3C/svg%3E");
}
#facilities .tabContent > ul > li > a object {
  margin-top: auto;
}
#facilities .tabContent > ul > li > a object .button {
  display: flex;
  flex-direction: column;
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a object .button {
    gap: 2.1333333333vw;
  }
}
#facilities .tabContent > ul > li > a object a {
  display: block;
  border-radius: min(4px, 0.32vw);
  padding: min(5px, 0.4vw) 0;
  text-align: center;
  color: #fff;
  font-size: min(1.28vw, 16px);
  line-height: 1.6;
  font-weight: 600;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a object a {
    font-size: 4.2666666667vw;
    line-height: 1.6;
    border-radius: 1.0666666667vw;
    padding: 1.3333333333vw 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  #facilities .tabContent > ul > li > a object a:hover {
    opacity: 0.8;
  }
}
#facilities .tabContent > ul > li > a object .facility a {
  background-color: #000;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #000;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a object .facility a {
    box-shadow: 0 0.5333333333vw 0 0 #000;
  }
}
#facilities .tabContent > ul > li > a object .coupon a {
  background-color: #bf0000;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #8d0d10;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a object .coupon a {
    box-shadow: 0 0.5333333333vw 0 0 #8d0d10;
  }
}
#facilities .tabContent > ul > li > a object .ticket a {
  background-color: #0086bf;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
}
@media screen and (max-width: 767px) {
  #facilities .tabContent > ul > li > a object .ticket a {
    box-shadow: 0 0.5333333333vw 0 0 #006590;
  }
}

#sns {
  margin-top: min(60px, 4.8vw);
  padding: min(20px, 1.6vw) 0;
  width: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../img/banner-bg.png);
}
@media screen and (max-width: 767px) {
  #sns {
    margin-top: 15.4666666667vw;
    padding: 5.3333333333vw 0;
    background-image: url(../img/banner-bg_sp.png);
  }
}
#sns h2 {
  font-size: min(1.28vw, 16px);
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #sns h2 {
    font-size: 3.7333333333vw;
    line-height: 1.4;
  }
}
#sns ul {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(4, min(154px, 12.32vw));
  gap: min(8px, 0.64vw);
  margin: min(12px, 0.96vw) auto 0;
}
@media screen and (max-width: 767px) {
  #sns ul {
    width: 85.3333333333vw;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.1333333333vw 3.2vw;
    margin-top: 4.2666666667vw;
  }
}
#sns ul li a {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: min(12px, 0.96vw);
  font-size: min(0.96vw, 12px);
  line-height: 1.6666666667;
  font-weight: 700;
  padding-left: min(16px, 1.28vw);
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
@media screen and (max-width: 767px) {
  #sns ul li a {
    border-radius: 3.2vw;
    font-size: 3.2vw;
    line-height: 1.6666666667;
    padding-left: 4.2666666667vw;
  }
}
#sns ul li a:hover {
  background-color: #f0e2ca;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
#sns ul li a i {
  padding: min(13px, 1.04vw) min(15px, 1.2vw) min(13px, 1.04vw) 0;
}
@media screen and (max-width: 767px) {
  #sns ul li a i {
    padding: 3.4666666667vw 4vw 3.4666666667vw 0;
  }
}
#sns ul li a i img {
  width: min(30px, 2.4vw);
  height: min(30px, 2.4vw);
}
@media screen and (max-width: 767px) {
  #sns ul li a i img {
    width: 8vw;
    height: 8vw;
  }
}

footer {
  position: relative;
  background: none;
  padding: initial;
  padding-top: min(40px, 3.2vw);
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 767px) {
  footer {
    margin-top: 0;
    padding-top: 10.6666666667vw;
    border-top: 0.2666666667vw solid #d9d9d9;
  }
}
footer dl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  footer dl {
    width: 80vw;
    margin: 0 auto;
  }
}
footer dl dt {
  font-size: min(1.6vw, 20px);
  line-height: 1.2;
  font-weight: 700;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer dl dt {
    font-size: 5.3333333333vw;
    line-height: 1.2;
  }
}
footer dl dd p:nth-of-type(1) {
  width: min(300px, 24vw);
  margin: min(40px, 3.2vw) auto 0;
}
@media screen and (max-width: 767px) {
  footer dl dd p:nth-of-type(1) {
    width: 100%;
    margin-top: 10.6666666667vw;
  }
}
footer dl dd p:nth-of-type(1) a {
  display: block;
  background-color: #fff;
  border-radius: min(4px, 0.32vw);
  color: #000;
  font-size: min(1.12vw, 14px);
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
  padding: min(6px, 0.48vw) 0;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
@media screen and (max-width: 767px) {
  footer dl dd p:nth-of-type(1) a {
    border-radius: 1.0666666667vw;
    padding: 1.6vw 0;
    font-size: 3.7333333333vw;
    line-height: 1.4;
  }
}
footer dl dd p:nth-of-type(1) a:hover {
  background-color: #f0e2ca;
}
footer dl dd p:nth-of-type(2) {
  text-align: center;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  color: #fff;
  margin-top: min(17px, 1.36vw);
}
@media screen and (max-width: 767px) {
  footer dl dd p:nth-of-type(2) {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    margin-top: 4.5333333333vw;
    text-align: left;
  }
}
footer div {
  margin-top: min(65px, 5.2vw);
  padding-top: min(17px, 1.36vw);
  padding-bottom: min(60px, 4.8vw);
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  footer div {
    margin-top: 10.6666666667vw;
  }
}
footer ul {
  width: min(1000px, 80vw);
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  footer ul {
    width: 100%;
    padding: 6.4vw 4.2666666667vw 0;
  }
}
footer ul li a {
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  color: #000;
}
@media screen and (max-width: 767px) {
  footer ul li a {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
footer ul li a:hover {
  text-decoration: underline;
  color: #000;
}
footer ul li + li:before {
  content: "｜";
  color: #000;
}
footer ul + p {
  width: min(1000px, 80vw);
  margin: 0 auto;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  color: #000;
  text-align: right;
  position: absolute;
  top: min(17px, 1.36vw);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  footer ul + p {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    width: 100%;
    padding: 1.0666666667vw 4.2666666667vw 6.4vw;
    position: relative;
    text-align: left;
    top: 0;
  }
}/*# sourceMappingURL=style.css.map */