@charset "UTF-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap");
/* ==============================================
setting
============================================== */
/* 
    min-width:960px 
    min-width:1200px
*/
:root {
  --color-main: #f7e378;
  --color-sub: #f5f0e1;
  --color-gold: #D5A727;
  --sp-content-width: 90%;
  --content-width-s: 420px;
  --content-width-m: 500px;
  --content-width-l: 600px;
  --font-mincho: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --transition: 0.3s ease;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  background: #000;
  font-family: "Hiragino Kaku Gothic Pro", "Noto Sans JP", "sans-serif";
  font-weight: normal;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body.micromodal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.wrapper {
  position: relative;
  width: 100%;
  margin: auto;
  z-index: 1;
}
@media (min-width: 576px) {
  .wrapper {
    max-width: var(--content-width-m);
  }
}
@media (min-width: 1200px) {
  .wrapper {
    max-width: var(--content-width-m);
  }
}
@media (min-width: 1440px) {
  .wrapper {
    max-width: var(--content-width-l);
  }
}

main {
  background-color: #000;
  color: #fff;
  position: inherit;
  margin: auto;
  z-index: 2;
}

img {
  border: none;
  height: auto;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

a,
.btn,
.toggle-btn,
.modal__close {
  cursor: pointer;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  a:hover,
  .btn:hover,
  .toggle-btn:hover,
  .modal__close:hover {
    opacity: 0.6;
    transition: var(--transition);
  }
}

.pc {
  display: none;
}

@media (min-width: 992px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
.none {
  display: none;
}

.gulzar-regular {
  font-family: "Gulzar", serif;
  font-weight: 400;
  font-style: normal;
}

dd {
  margin-left: 0;
}

/* ==============================================
body
============================================== */
/* opening movie */
.opening-section {
  width: 100vw;
  height: 100svh;
}

.hidden {
  display: none;
}

.transparent {
  opacity: 0;
}

.visible {
  transition-timing-function: ease-in;
}

#opening video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.skip-button {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 100;
}

.text-movie {
  position: fixed;
  top: 0%;
  left: 0%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  text-align: center;
  font-family: var(--font-mincho);
  font-weight: bold;
  z-index: 10;
}

.logo img {
  height: 24px;
  width: auto;
}
@media (min-width: 992px) {
  .logo img {
    height: 30px;
  }
}

.text-movie .logo {
  position: fixed;
  top: 20px;
  left: 20px;
}
@media (min-width: 576px) {
  .text-movie .logo {
    display: none;
  }
}

.text-animation p {
  font-size: clamp(26px, 4vw, 3rem);
  display: block;
  margin: 0 auto;
}
.text-animation p span {
  opacity: 0;
  transition: opacity 3s ease;
}

.fade-char {
  opacity: 0;
  display: inline-block;
  transition: opacity 3s ease;
}

.fade-out {
  animation: fadeOut 1.5s ease-out forwards;
}

.fade-in {
  animation: fadeIn 1.5s ease-out forwards;
  opacity: 0;
}

.fade-in_normal {
  animation: fadeInNormal 1.5s ease-out forwards;
  opacity: 0;
}

.text-fade-in {
  opacity: 0;
  translate: 0 13%;
}

.text-fade-in.isActive {
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  opacity: 1;
  translate: 0;
  transition-timing-function: opacity var(--ease-out-cubic), translate var(--ease-out-quint);
  transition-duration: 1.8s;
}

.split {
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
}

.split .splitText .char {
  opacity: 0;
  translate: 0 100%;
}

.split.isActive .description .char {
  --delay: 0.004s;
  opacity: 1;
  translate: 0;
  transition: opacity 0.5s var(--ease-in-quad) calc(var(--delay) * var(--index) + 0.23s), translate 1.3s var(--ease-out-quart) calc(var(--delay) * var(--index) + 0.23s);
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translate(-50%, -60%);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
@keyframes fadeInNormal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ==============================================
header
============================================== */
.mv {
  position: relative;
  min-height: 100svh;
}
@media (min-width: 1200px) {
  .mv {
    height: auto;
  }
}

.mv_top {
  border-bottom: solid 1px #000;
  position: relative;
  aspect-ratio: 1/0.697;
  width: 100%;
  height: auto;
}

.mv_top a {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 1;
}
.mv_top a:hover {
  opacity: 1;
}

.mv-img_wrapper {
  position: relative;
  z-index: -1;
  overflow: hidden;
}
.mv-img_wrapper::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../images/golfer.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  left: 0;
  bottom: -22.5%;
}
@media (min-width: 576px) {
  .mv-img_wrapper::after {
    bottom: -85px;
  }
}

.mv_img {
  width: 100%;
  height: auto;
  z-index: -1;
}
.mv_img--0 {
  z-index: 0;
  top: auto;
  bottom: -100px;
}
.mv_img--1 {
  border-bottom: solid 1px #000;
}
.mv_img.transparent {
  transform: scale(1);
}
.mv_img.visible {
  opacity: 1;
  transform: scale(1.1);
  transition-delay: 0s;
  transition-duration: 2s;
}

.mv_bottom {
  height: 50svh;
  text-align: center;
  min-height: 150px;
  transition: var(--transition);
}

.mv_bottom .mv_title {
  margin-top: 4svh;
  max-width: 246px;
  width: 80vw;
}
.mv_bottom .mv_title.transparent {
  transform: translateY(10svh);
}
.mv_bottom .mv_title.visible {
  opacity: 1;
  transition-delay: 1.5s;
  transition-duration: 0.5s;
  transform: translateY(0);
}

.cta {
  display: none;
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 250px;
  max-height: 250px;
}
.cta img {
  display: block;
  width: 12.5vw;
  margin: 0 0 0 auto;
}

.scroll-wrapper {
  position: absolute;
  right: 1vw;
  bottom: 5svh;
  width: 30px;
  height: 150px;
}
.scroll-wrapper.visible {
  opacity: 1;
  transition-delay: 2s;
  transition-duration: 1s;
}
.scroll-wrapper .scroll_text {
  margin-bottom: 25px;
}
.scroll-wrapper a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  height: inherit;
  color: #000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: 0.2s;
  overflow: hidden;
  margin: auto;
}

.scroll_down {
  position: relative;
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.scroll_down a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  height: inherit;
  color: #000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: 0.2s;
  overflow: hidden;
  margin: auto;
}
.scroll_down a:hover {
  opacity: 0.5;
}

.scroll_text-wrapper {
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  margin-top: auto;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/* pc background */
.pc-background {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  align-items: center;
  overflow: hidden;
}
.pc-background.visible {
  opacity: 1;
  transition-delay: 2s;
  transition-duration: 1s;
}

.pc-bg_content.visible {
  opacity: 1;
  transition-delay: 3s;
  transition-duration: 1s;
}

.pc-background .bg-wrapper {
  position: inherit;
  width: 100%;
  height: 100%;
}

.pc-background .bg-wrapper img {
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}

.pc-background .bg-title,
.pc-background .toc-wrapper {
  display: none;
  position: absolute;
  align-items: center;
  justify-content: center;
  top: 0;
  bottom: 0;
  margin: auto;
  width: calc((100vw - var(--content-width-m)) / 2);
}
@media (min-width: 1200px) {
  .pc-background .bg-title,
  .pc-background .toc-wrapper {
    width: calc((100vw - var(--content-width-m)) / 2);
  }
}
@media (min-width: 1440px) {
  .pc-background .bg-title,
  .pc-background .toc-wrapper {
    width: calc((100vw - var(--content-width-l)) / 2);
  }
}

@media (min-width: 992px) {
  .pc-background .bg-title,
  .pc-background .toc-wrapper,
  .pc-background .cta {
    display: flex;
  }
}
.pc-background .bg-title {
  left: 0;
}

.mv_title_pc {
  max-width: 165px;
  opacity: 0;
  transition: var(--transition);
}
.mv_title_pc.show {
  opacity: 1;
}
@media (min-width: 1200px) {
  .mv_title_pc {
    max-width: 200px;
  }
}
@media (min-width: 1440px) {
  .mv_title_pc {
    max-width: 246px;
  }
}

.pc-background .toc-wrapper {
  justify-content: flex-start;
  right: 0;
}
#toc {
  margin: 0 0 0 4vw;
}

.toc-list_item {
  margin-bottom: 1.5em;
}
.toc-list_item:last-child {
  margin-bottom: 0;
}

.toc-link {
  color: #aaa;
  line-height: 1;
}

.toc-list_item.events .toc-link,
.toc-list_item.service .toc-link {
  position: relative;
  padding-left: 25px;
}

.toc-list_item.events .toc-link::before,
.toc-list_item.service .toc-link::before {
  display: inline-block;
  position: absolute;
  content: "";
  left: 0;
  width: 18px;
  height: 24px;
  background-repeat: no-repeat;
  background-size: cover;
}

.toc-list_item.events .toc-link::before {
  background-image: url(../images/title_num_gray-1.png);
}

.toc-list_item.service .toc-link::before {
  background-image: url(../images/title_num_gray-2.png);
}

.toc-list_item.events .toc-link.active::before {
  background-image: url(../images/title_num-1.png);
}

.toc-list_item.service .toc-link.active::before {
  background-image: url(../images/title_num-2.png);
}

.toc-link.active {
  color: #fff;
}

.toc-link span {
  display: block;
  font-size: clamp(1.5rem, 2.1vw, 44px);
  font-family: "Gulzar", serif;
  line-height: 1;
  letter-spacing: 3px;
}

/* ==============================================
section common
============================================== */
.section {
  margin-bottom: 77px;
}

.section_inner {
  width: var(--sp-content-width);
  margin-left: auto;
  margin-right: auto;
}

/* title */
.section_ttl {
  color: var(--color-gold);
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  margin-bottom: 43px;
}
@media (min-width: 992px) {
  .section_ttl {
    font-size: 18px;
  }
}

.section_ttl_sub {
  display: block;
  font-family: "Gulzar", serif;
  font-size: 60px;
  letter-spacing: 3px;
}

.section_content_item_ttl {
  display: flex;
  align-items: center;
  font-size: 20px;
}
@media (min-width: 992px) {
  .section_content_item_ttl {
    font-size: 24px;
  }
}

.section-01 .section_inner {
  padding: 90px 0 50px;
}

.section-01 .split {
  margin: 0 0 3em;
}

.section-01 p {
  font-family: var(--font-mincho);
  font-size: 16px;
  line-height: 2;
  letter-spacing: -1.6px;
  margin: 0;
}
@media (min-width: 360px) {
  .section-01 p {
    font-size: clamp(18px, 2.2vw, 20px);
  }
}

/* benefits */
#events .section_content_item_ttl {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

#benefits .section_inner p {
  margin: 0 auto 45px;
}
@media (min-width: 992px) {
  #benefits .section_inner p {
    font-size: 18px;
  }
}

#service .cta-wrapper {
  margin: 20px auto 30px;
}

.section-content--01 .section_content_item_ttl img,
.section-content--02 .section_content_item_ttl img {
  margin-right: 10px;
}

.card {
  border: 2px solid var(--color-gold);
}

.card_inner {
  position: relative;
  padding: 0;
  width: 100%;
  height: 100%;
}

.card.event,
.card.service {
  position: relative;
  z-index: 1;
  transition: var(--transition);
}

.card.event {
  aspect-ratio: 0.828/1;
}
.card.event img {
  transition: var(--transition);
}
.card.event:hover img {
  filter: brightness(0.7);
}

.card_inner {
  box-sizing: border-box;
  width: 100%;
}

.card.service {
  cursor: pointer;
  box-sizing: border-box;
  aspect-ratio: 19/9;
  margin-bottom: 20px;
  background-repeat: no-repeat;
  background-size: cover;
}
.card.service::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0);
  /* 初期は透明 */
  transition: background-color 0.3s ease;
}
.card.service:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
  /* ホバー時に暗くする */
}
.card.service:nth-child(1) {
  background-image: url(../images/service-0.jpg);
}
.card.service:nth-child(2) {
  background-image: url(../images/service-1.jpg);
}
.card.service:nth-child(3) {
  background-image: url(../images/service-2.jpg);
}
.card.service:nth-child(4) {
  background-image: url(../images/service-3.jpg);
}
.card.service .card_inner {
  padding: 4% 4% 0 4%;
  box-sizing: border-box;
  height: auto;
  z-index: inherit;
}

.card.event .card_inner img,
.card.service .card_inner img {
  transition: var(--transition);
}

.card.event .card_inner::after {
  bottom: 10%;
}

.card .card_content-wrapper {
  position: absolute;
  z-index: 1;
}

.card.event .card_content-wrapper {
  width: 90%;
  left: 0;
  right: 0;
  bottom: 21px;
  margin: auto;
}
.card.event .card_content {
  margin: 0.5em auto 0;
}

.card.service .card_content {
  line-height: 1.2;
}
@media (min-width: 360px) {
  .card.service .card_content {
    line-height: 1.5;
  }
}
.card.service .card_content dt {
  margin-bottom: 5px;
}
@media (min-width: 576px) {
  .card.service .card_content dt {
    margin-bottom: 0.25em;
  }
}
.card.service .card_content dd {
  margin-bottom: 0;
}

.month {
  font-size: clamp(19px, 3vw, 30px);
  font-family: var(--font-mincho);
  font-weight: bold;
  line-height: 1;
}
.month .month_num {
  font-size: clamp(34px, 3vw, 80px);
}
.month .day_num {
  font-size: clamp(20px, 2.4vw, 40px);
}

.card_content_ttl {
  font-size: clamp(18px, 1.5vw, 25px);
  font-weight: bold;
  margin-bottom: 8px;
}

.card_content_txt {
  font-size: clamp(13px, 1.3vw, 19px);
}

.card .more {
  background-color: var(--color-gold);
  color: #000;
  font-weight: bold;
  text-align: center;
  padding: 0.5em 0;
}

.card.service .more {
  position: absolute;
  background-color: #000;
  color: var(--color-gold);
  width: 100%;
  bottom: 0;
  z-index: inherit;
}

.more .icon {
  margin-left: 5px;
}

.card_ttl {
  font-size: 20px;
}

.card.service .card_ttl {
  font-size: clamp(16px, 1.8vw, 22px);
  font-weight: bold;
  margin-bottom: 16px;
}

.card_txt {
  font-size: 16px;
  margin-bottom: 1em;
}

.card.service .card_txt {
  font-size: clamp(14px, 1.4vw, 19px);
}

.card.event img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

.list-service-note {
  margin-bottom: 20px;
}

/* service-info */
.service-info {
  background-color: #323232;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
}
.service-info p {
  margin: 0;
}
.service-info a {
  color: #fff;
}
.service-info--overview p {
  margin-bottom: 0.5em;
}

.service-info_list {
  margin: 0;
}

.service-info_ttl {
  border-bottom: 1px solid #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#overview .service-info_ttl::after {
  top: -0.5em;
}

.service-info_txt {
  font-size: 14px;
}
.service-info_txt .note-wrapper {
  margin-top: 1em;
}
.service-info_txt dl,
.service-info_txt dt,
.service-info_txt dd ol li {
  margin-bottom: 1em;
}
.service-info_txt dl:last-child {
  margin-bottom: 0;
}
.service-info_txt li dt {
  margin-bottom: 0;
}

#overview .service-info_list {
  border-bottom: solid 1px #fff;
}
#overview .service-info_ttl {
  margin-bottom: 0;
  border-bottom: none;
}
#overview .service-info_txt {
  transition: var(--transition);
}
#overview .service-info_txt.open {
  margin: 0 0 1em;
}
#overview .service-info_txt > dl dt {
  font-weight: bold;
  margin-bottom: 0.25em;
}
#overview .service-info_txt > dl dd {
  margin-bottom: 1em;
}
#overview .service-info_txt a {
  text-decoration: underline;
}

.list-cancel li {
  margin-bottom: 1.75em;
}
.list-cancel li dt {
  font-weight: bold;
}

.service-info .text-large {
  font-size: clamp(15px, 1.8vw, 20px);
  font-weight: bold;
}

.service-info .text-arrow {
  margin-left: 5px;
}

.service-info--overview .service-info_ttl {
  padding-right: 1em;
}
@media (min-width: 992px) {
  .service-info--overview .service-info_ttl {
    padding-right: 2em;
  }
}
.service-info--overview .disc,
.service-info--overview .decimal {
  padding-left: 1em;
}

/* flow */
.flow_list {
  list-style: none;
}

.flow_item .flow_item_ttl {
  display: flex;
  gap: 10px;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 1;
}
.flow_item .flow_item_txt {
  border-left: 1px solid #fff;
  margin: 0 0 10px 14px;
  padding: 0 0 44px 33px;
}
.flow_item .flow_item_txt p {
  font-size: 14px;
  margin-top: 0;
}
.flow_item .flow_item_txt p:last-child {
  margin-bottom: 0;
}
.flow_item:last-child .flow_item_txt {
  border-left: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.flow_item .font-bold {
  margin-bottom: 1em;
}

/* related */
#related .section_content img {
  width: 100%;
  height: auto;
}

.text-note {
  display: block;
  position: relative;
  padding-left: 1rem;
}
.text-note::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  width: 1rem;
}
.flow_list .text-note {
  font-size: 12px;
}

.text-deco-frame {
  border: 1px solid #ccc;
}

.cta-wrapper {
  margin: 50px auto 40px;
  text-align: center;
}
.cta-wrapper .inner-link {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  margin-bottom: 25px;
}

.btn {
  box-sizing: border-box;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 16px;
  line-height: 1;
  justify-content: center;
  gap: 10px;
  padding: 1.4em 20px;
  border-radius: 35px;
  background-color: #fff;
  color: #000;
  font-weight: bold;
  width: 100%;
  font-size: 13px;
}
@media (min-width: 360px) {
  .btn {
    font-size: 16px;
  }
}
.btn.gold {
  position: relative;
  background-color: var(--color-gold);
  margin-bottom: 1rem;
  font-size: 15px;
  flex-direction: column;
  gap: 5px;
  border-radius: 50px;
  font-weight: normal;
}
@media (min-width: 992px) {
  .btn.gold {
    padding-top: 0.75em;
    padding-bottom: 0.75em;
  }
}
.btn.gold::after {
  position: absolute;
  content: "";
  background-image: url(../images/cta-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 28px;
  height: 28px;
  top: 0;
  bottom: 0;
  right: 1.5em;
  margin: auto;
}
@media (min-width: 992px) {
  .btn.gold {
    font-size: 18px;
  }
}
.btn.gold .bold {
  font-size: 30px;
  font-weight: bold;
}

.modal_link {
  font-size: 15px;
  visibility: hidden;
  opacity: 0;
  transition: var(--transition);
}
@media (min-width: 576px) {
  .modal_link {
    font-size: 16px;
  }
}
.modal_link::after {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 13px;
  background-image: url(../images/btn-arrow.svg);
  background-repeat: no-repeat;
  background-size: 8px 13px;
  right: 1em;
}
.modal_link.active {
  visibility: visible;
  opacity: 1;
}

.toggle-btn {
  position: relative;
}
.toggle-btn::after {
  position: absolute;
  content: "";
  background-image: url(../images/plus.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 14px;
  height: 14px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
@media (min-width: 992px) {
  .toggle-btn::after {
    right: 1em;
  }
}
.toggle-btn[aria-expanded=true]::after {
  background-image: url(../images/minus.svg);
  height: 2px;
}

.arrow {
  position: relative;
  display: inline-block;
  width: 8.5px;
  height: 13.5px;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 10.5px;
  height: 2px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: calc(100% - 1px) 50%;
}

.arrow::before {
  transform: rotate(46.55deg);
}

.arrow::after {
  transform: rotate(-46.55deg);
}

/* footer */
footer {
  color: #fff;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 400px;
  padding: 100px 0;
  background-color: #303030;
  gap: 25px;
}
footer img {
  display: block;
}
footer .asobou {
  width: 160px;
  height: auto;
}
footer .footer-logo {
  width: 141px;
  height: auto;
}
footer address {
  font-size: 14px;
  font-style: normal;
  text-align: center;
  line-height: 1.2;
}

/* swiper */
.swiper.swiper-event {
  padding-bottom: 60px;
}

.swiper-pagination-wrapper {
  position: absolute;
  display: flex;
  align-items: center;
  margin-top: 25px;
  margin-left: 5%;
}

.swiper-slide {
  cursor: pointer;
}

.swiper-event .swiper-slide.swiper-slide-active:not(:last-child) {
  margin-left: 5%;
}
.swiper-event .swiper-slide.on-last {
  margin-left: -5%;
}

.swiper-event .swiper-pagination {
  display: flex;
  position: initial;
}

.swiper-event .swiper-button-prev,
.swiper-event .swiper-button-next {
  border: 1px solid #fff;
  border-radius: 50%;
  color: #fff;
  width: 45px;
  height: 45px;
  top: auto;
  bottom: 0;
}

.swiper-event .swiper-button-prev:after,
.swiper-event .swiper-button-next:after {
  font-size: 11px;
}

.swiper-event .swiper-button-prev {
  right: 77px;
  left: auto;
  right: calc(5% + 45px + 8px);
}

.swiper-event .swiper-button-next {
  right: 5%;
}

.swiper-event .swiper-pagination-bullet {
  background: #fff;
  border-radius: 0;
  margin: 0 !important;
  width: 35px;
  height: 2px;
}

.swiper-counter {
  font-size: 12px;
  margin-left: 9px;
}

/* ==============================================
qanda
============================================== */
.section-04 {
  margin-bottom: 40px;
}

.qanda {
  margin: 0 0 1.25em;
}

.question {
  position: relative;
  background: transparent;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  padding: 0;
  width: 100%;
  padding: 0 1em 0 2em;
}
.question::before {
  content: "Q.";
  position: absolute;
  color: var(--color-gold);
  font-size: 16px;
  font-weight: bold;
  top: 0.25em;
  left: 0;
}
.question::after {
  position: absolute;
  content: "";
  background-image: url(../images/plus.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 14px;
  height: 14px;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.question[aria-expanded=true]::after {
  background-image: url(../images/minus.svg);
  height: 2px;
}

.answer,
.list-toggle,
#overview .service-info_txt {
  display: block;
  overflow: hidden;
  transition: max-height 0.4s ease;
  max-height: 0;
}
.answer dl dd .list-note,
.list-toggle dl dd .list-note,
#overview .service-info_txt dl dd .list-note {
  margin-top: 0.5em;
}

.answer {
  position: relative;
  padding-left: 2em;
  transition: var(--transition);
}
.answer::before {
  content: "A.";
  position: absolute;
  font-weight: bold;
  left: 0;
}
.answer.open {
  margin-top: 0.4em;
}
.answer p {
  margin: 0;
}

.list-toggle {
  max-height: 0;
  overflow: hidden;
}

/* ==============================================
modal
============================================== */
.modal {
  display: none;
}
.modal.is-open {
  display: block;
}
.modal section h3 .font-normal {
  margin-top: 0.75em;
}

.modal[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal .modal__container,
.modal .modal__overlay {
  will-change: transform;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: end;
  pointer-events: auto;
  z-index: 2;
}

.modal__container {
  position: relative;
  width: 100%;
  max-width: var(--content-width-l);
}

.modal_inner {
  background-color: #fff;
  padding: 30px 22px;
  max-width: var(--content-width-l);
  max-height: calc(100svh - 83px);
  box-sizing: border-box;
  overflow-y: auto;
}
.modal_inner:target {
  scroll-margin-top: 0 !important;
}
@media (min-width: 576px) {
  .modal_inner {
    padding: 30px;
  }
}

.modal .month {
  color: #000;
  margin-bottom: 10px;
}

.modal__title {
  color: #000;
  margin: 0 0 14px;
  font-weight: 600;
  font-size: 20px;
  box-sizing: border-box;
  line-height: 1.4;
}
.modal__title .font-normal {
  font-size: 16px;
}

.modal__close {
  cursor: pointer;
  position: absolute;
  right: 6px;
  top: -60px;
  border: solid 1px #000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  pointer-events: auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.modal__content {
  margin: 0 auto;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
}

.modal section {
  margin-bottom: 40px;
}

.modal_img {
  margin-bottom: 0.5em;
}

.modal__container p {
  margin-top: 0;
}

.modal .warning {
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 8px;
}

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

.modal_link {
  position: relative;
  color: #000;
  padding-right: 15px;
}

.modal_link:hover {
  text-decoration: underline;
}

.modal_link::after {
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.guest-wrapper {
  justify-content: space-around;
  gap: 20px;
}

.guest-wrapper .modal-dl {
  width: 50%;
}

.modal-dl dt {
  font-weight: bold;
  margin: 10px 0 5px;
}

.modal-dl dt:first-child {
  margin-top: 0;
}

.modal-dl ol {
  padding-left: 2em;
}

.modal-dl ul.disc {
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -1.5em;
  padding-left: 2em;
}
.modal-dl ul.disc::marker {
  margin: 0;
}

.modal-dl ol,
.decimal {
  list-style-type: decimal;
}

.modal-dl ol.list-custom {
  counter-reset: item;
  list-style-type: none;
  padding-left: 1em;
}

.modal-dl ol.list-custom li {
  counter-increment: item;
  position: relative;
  margin-bottom: 0;
  padding-left: 1.5em;
}
.modal-dl ol.list-custom li::before {
  content: "(" counter(item) ")";
  position: absolute;
  left: 0;
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

.modal table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 40px;
}

.modal table,
.modal th,
.modal td {
  border: 1px solid #dfdfdf;
}

.modal th,
.modal td {
  padding: 4px 18px;
}

.modal th {
  background: #ddd;
  min-width: 70px;
  box-sizing: border-box;
}

.person-list {
  justify-content: center;
  gap: 10px;
}
.person-list::after {
  display: none;
}
.person-list li {
  text-align: center;
  line-height: 1.3;
}
.person-list li img {
  max-width: 68px;
}

/**************************\
    Demo Animation Style
  \**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10%);
  }
}
/* tailwindow */
.text-right {
  text-align: right;
}

a.text-right {
  display: block;
}

.font-bold {
  font-weight: bold;
}

.font-normal {
  font-weight: 400;
}

.flex {
  display: flex;
}

.disc {
  list-style-type: disc;
}/*# sourceMappingURL=style.css.map */