@charset "UTF-8";

html {
  -webkit-font-smoothing: antialiased; /* フォントスムージングをオフ */
  scroll-behavior: smooth;
}

body {
  -webkit-text-stroke: 0.5px; /* フォントの輪郭を調整 */
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 12px;
  color: #333;
  margin: 0 auto; /* 外側の余白（上下と中央配置） */
  padding: 1em;     /* 内側余白 */
  border: solid 2px #eee; /* 線の種類・太さ・色 */
  transition: background-color 0.3s;
}
.wrap { animation: fadein 1.5s forwards; }

@keyframes fadein {
  0% {opacity: 0}
  100% {opacity: 1}
}

/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*----------------------- PC -----------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

@media screen and (min-width: 750px) {
.sp { display: none; }

/*----------------------   header   ----------------------*/

header {
  background-color: white;
  position: sticky;
  top: 0;
  height: 88px;
  padding-bottom: 8px;
  padding-inline: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
  z-index: 100;
}
header h1 {
  font-family: "Baskerville", serif;
  font-weight: 200;
  font-style: normal;
  font-size: 42px;
  color: #333;
}
.header-nav {
  display: flex;
  gap: 30px;
}
header ul {
  display: flex;
  list-style: none;
  align-items: center;
  opacity: 1;
  transition: opacity 0.3s ease;  /* 他の要素に透明感をつける */
}
header ul.sns li { padding-left: 23px; }
header ul.menu li:first-child { padding-left: 20px; }
header ul.menu li { padding-left: 40px; }
header ul li img {
  display: block;
  width: 23px;
}
/* リストアイテム */
header ul li a {
  display: block;
  color: black;
  text-decoration: none;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
header ul li a:hover { opacity: .2;  /* ホバーした部分だけ透明度を100% */ }
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  background-color: #ddd;
  padding: 16px;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
.breadcrumb a:hover {
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
  opacity: .2;  /* ホバーした部分だけ透明度を100% */
}
.breadcrumb li:not(:last-of-type)::after {
  content: "›";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}

/*----------------------   schedule   ----------------------*/

#schedule {
  background-color: #eee;
  padding: 120px 0;
  display: block;
  margin: 0 auto;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-size: 12px;
}
#schedule h2 {
  font-style: normal;
  font-size: 42px;
  text-align: center;
  letter-spacing: 0.12em;
  padding: 50px 0 80px;
}
#schedule h3 {
  font-style: normal;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.12em;
  padding: 50px 0 24px;
}
.calendar-wrap {
  display: block;
  margin: 0 auto;
  max-width: 798px;
}
.calendar {
  width: 100%;
  border-collapse: collapse;
}
.calendar th,
.calendar td {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  height: 75px;
  width: 45px;
  line-height: 75px;
  text-align: center;
  letter-spacing: 0.12em;
  transition: 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
.calendar th:hover,
.calendar td:hover {
  transition: 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
  background-color: #d9d9d9;
}
.calendar th { background-color: #d9d9d9; }
.calendar th.kadomaru_1 { border-top-left-radius: 20px; }
.calendar th.kadomaru_2 { border-top-right-radius: 20px; }
.calendar td.kadomaru_3 { border-bottom-left-radius: 20px; }
.calendar td.kadomaru_4 { border-bottom-right-radius: 20px; }
.calendar td { background-color: #ffffff; }
.calendar .mute { color: #bbb; }

#schedule a.link {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  display: block;
  margin: 80px auto 160px;
  text-align: center;
  font-style: normal;
  letter-spacing: 0.12em;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
#schedule a.link:hover { opacity: .2;  /* ホバーした部分だけ透明度を100% */ }
#schedule .link_box {
  display: block;
  margin: 0 auto;
  padding: 24px 0 16px;
  max-width: 798px;
  position: relative;
  letter-spacing: 0.12em;
}
#schedule .link_box .left ,
#schedule .link_box .right {
  display: inline-block;
  width: auto;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
#schedule .link_box a.left:hover ,
#schedule .link_box a.right:hover { opacity: .2;  /* ホバーした部分だけ透明度を100% */ }

#schedule .link_box .right {
  position: absolute;
  right: 0;
  bottom: 16px;
}

/* モーダルを開くボタンのスタイル */
.open-modal {
  display: block;
  width: 100%;
  cursor: pointer; /* カーソルがホバーした時にポインタが表示されるように設定 */
}
/* モーダルウィンドウの基本スタイル */
.modal {
  visibility: hidden;  /* 画面に残すが見えないようにする */
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  transition: opacity 0.3s ease, visibility 0.3s;
}
.modal img ,
.modal p {
  display: block;
  margin: 0 auto;
  width: 60%;
  padding-bottom: 30px;
}
/* モーダルを開いた時 */
.modal.show {
  visibility: visible;
  opacity: 1;
}
.modal-content {
  position: fixed; /* モーダル内容が画面上に固定されるように設定 */
  top: 53%; /* 縦方向の中央に配置 */
  left: 50%; /* 横方向の中央に配置 */
  transform: translate(-50%, -50%) scale(0.8); /* 最初は小さめ */
  padding: 30px; /* モーダル内の余白を設定 */
  width: 650px; /* モーダルの幅 */
  height: auto; /* モーダルの高さ */
  background-color: #fff; /* モーダルの背景色を白に設定 */
  border: 1px solid #888; /* 境界線の色を薄いグレーに設定 */
  border-radius: 10px; /* モーダルの角を丸くするための半径 */
  font-size: 12px;
  text-align: left;
  line-height: 1.5;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  opacity: 0; /* 最初は透明 */
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* モーダルを閉じるボタン（×）のスタイル */
.close-modal {
  position: absolute; /* モーダル内で絶対位置に配置 */
  display: flex; /* ボタン内のテキストが中央に配置されるようにフレックスボックスを使用 */
  align-items: center; /* ボタン内のテキストを縦方向に中央揃え */
  justify-content: center; /* ボタン内のテキストを横方向に中央揃え */
  bottom: 0; /* モーダル内容の上部から離れた位置に配置 */
  left: 50%; /* モーダル内容の右端から離れた位置に配置 */
  transform: translate(-50%, -50%);
  font-size: 12px; /* 閉じるボタンのフォントサイズ */
  cursor: pointer; /* ホバー時にポインタが表示されるように設定 */
  width: 100px; /* ボタンの幅 */
  height: 40px; /* ボタンの高さ */
  padding: 10px 0;
  z-index: 1000;
}
/* モーダルを開いた時 */
.modal.show .modal-content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1); /* 通常サイズに */
}
.open-modal {
  background-color: #eee;
  font-weight: bold;
}
.open-modal:hover {
  background-color: #ddd;
}
.modal p a { transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */ }
.modal p a:hover { opacity: .2;  /* ホバーした部分だけ透明度を100% */ }

/*----------------------   foot   ----------------------*/

#foot {
  width: 100%;
  margin: 0 auto;
}
#foot img {
  width: 100%;
  display: block;
}

/*----------------------   footer   ----------------------*/

footer {
  width: 100%;
  padding: 24px 0 8px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 10px;
}

}

/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*----------------------- SP -----------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

@media screen and (max-width: 749px) {

/* メニュー全体 */
.menu-wrapper {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 1001;
}
/* ハンバーガーメニュー */
.menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
/* チェックボックスを隠す */
.menu-checkbox { display: none; }
/* 3本線 */
.menu-icon {
  width: 30px;
  height: 20px;
  position: relative;
}
.menu-icon span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #333;
  transition: 0.3s ease-in-out;
}
.menu-icon span:nth-child(1) { top: 0; }
.menu-icon span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu-icon span:nth-child(3) { bottom: 0; }

/* テキスト */
.menu-label {
  margin-top: 5px;
  font-size: 12px;
  font-weight: 200;
  transition: 0.3s ease-in-out;
  color: #333;
}
.menu-label::after { content: "menu"; }
/* メニューエリア */
.menu-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: background-color 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
  z-index: 1000;
}
.menu-content ul {
  list-style: none;
  text-align: center;
}
.menu-content li {
  margin: 20px 0;
  font-size: 24px;
  color: #777;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
/* チェックが入ったら変化 */
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(1) {
  top: 45%;
  transform: rotate(45deg);
}
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(2) { opacity: 0; }
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(3) {
  bottom: 45%;
  transform: rotate(-45deg);
}
.menu-checkbox:checked + .menu-wrapper .menu-label::after { content: "close"; }
/* メニューを表示する（ふわっと出る） */
.menu-checkbox:checked ~ .menu-content {
  background-image: linear-gradient(210deg, rgba(225, 225, 225, .9) 26%, rgba(255, 255, 255, 1));
  opacity: 1;
  visibility: visible;
}
.menu-checkbox:checked ~ .menu-content li { opacity: 1; }
/* メニューを閉じるときのふわっと感 */
.menu-checkbox:not(:checked) ~ .menu-content {
  background-color: rgba(0, 0, 0, 0);
  opacity: 0;
  visibility: hidden;
}
.menu-checkbox:not(:checked) ~ .menu-content li { opacity: 0; }

/*----------------------   header   ----------------------*/

header {
  position: relative;
  top: 0;
  height: 88px;
  padding-bottom: 8px;
  padding-inline: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #eee;
}
header h1 {
  font-family: "Baskerville", serif;
  font-weight: 200;
  font-style: normal;
  font-size: 26px;
  color: #333;
}
.header-nav {
  display: flex;
  gap: 30px;
}
header ul {
  display: flex;
  list-style: none;
  align-items: center;
  opacity: 1;
  transition: opacity 0.3s ease;  /* 他の要素に透明感をつける */
}
header ul.sns ,
header ul.menu { display: none; }
header ul li img {
  display: block;
  width: 23px;
}
/* リストアイテム */
header ul li a {
  display: block;
  color: black;
  text-decoration: none;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
header ul li a:hover {
  opacity: .2;  /* ホバーした部分だけ透明度を100% */
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  background-color: #eee;
  padding: 16px;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
.breadcrumb a:hover {
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
  opacity: .2;  /* ホバーした部分だけ透明度を100% */
}
.breadcrumb li:not(:last-of-type)::after {
  content: "›";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}

/*----------------------   schedule   ----------------------*/

#schedule {
  background-color: #eee;
  padding: 50px 0;
  display: block;
  margin: 0 auto;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-size: 12px;
}
#schedule h2 {
  font-style: normal;
  font-size: 42px;
  text-align: center;
  letter-spacing: 0.12em;
  padding-bottom: 50px;
}
#schedule h3 {
  font-style: normal;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.12em;
  padding: 20px 0;
}
.calendar-wrap {
  display: block;
  margin: 0 auto;
  width: 90%;
}
.calendar {
  width: 100%;
  border-collapse: collapse;
}
.calendar th,
.calendar td {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  height: 60px;
  width: 45px;
  line-height: 60px;
  text-align: center;
  letter-spacing: 0.12em;
  transition: 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
.calendar th:hover,
.calendar td:hover {
  transition: 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
  background-color: #d9d9d9;
}
.calendar th { background-color: #d9d9d9; }
.calendar th.kadomaru_1 { border-top-left-radius: 20px; }
.calendar th.kadomaru_2 { border-top-right-radius: 20px; }
.calendar td.kadomaru_3 { border-bottom-left-radius: 20px; }
.calendar td.kadomaru_4 { border-bottom-right-radius: 20px; }
.calendar td { background-color: #ffffff; }
.calendar .mute { color: #bbb; }

#schedule a.link {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  display: block;
  margin: 80px auto;
  text-align: center;
  font-style: normal;
  letter-spacing: 0.12em;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
#schedule a.link:hover { opacity: .2;  /* ホバーした部分だけ透明度を100% */ }
#schedule .link_box {
  display: block;
  margin: 0 auto;
  padding: 24px 0 16px;
  width: 90%;
  position: relative;
  letter-spacing: 0.12em;
}
#schedule .link_box .left ,
#schedule .link_box .right {
  display: inline-block;
  width: auto;
  transition: opacity 0.3s ease;  /* ホバー時の透明度変更をスムーズに */
}
#schedule .link_box .right {
  position: absolute;
  right: 0;
  bottom: 16px;
}
/* モーダルを開くボタンのスタイル */
.open-modal {
  display: block;
  width: 100%;
  cursor: pointer; /* カーソルがホバーした時にポインタが表示されるように設定 */
}
/* モーダルウィンドウの基本スタイル */
.modal {
  visibility: hidden;  /* 画面に残すが見えないようにする */
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  transition: opacity 0.3s ease, visibility 0.3s;
}
.modal p {
  display: block;
  margin: 0 auto 20px;
  width: 100%;
  padding-bottom: 30px;
}
.modal img {
  display: block;
  margin: 0 auto;
  width: 70%;
  padding-bottom: 30px;
}
/* モーダルを開いた時 */
.modal.show {
  visibility: visible;
  opacity: 1;
}
.modal-content {
  position: fixed; /* モーダル内容が画面上に固定されるように設定 */
  top: 53%; /* 縦方向の中央に配置 */
  left: 50%; /* 横方向の中央に配置 */
  transform: translate(-50%, -50%) scale(0.8); /* 最初は小さめ */
  padding: 30px; /* モーダル内の余白を設定 */
  width: 90%; /* モーダルの幅 */
  height: auto; /* モーダルの高さ */
  background-color: #fff; /* モーダルの背景色を白に設定 */
  border: 1px solid #888; /* 境界線の色を薄いグレーに設定 */
  border-radius: 10px; /* モーダルの角を丸くするための半径 */
  font-size: 10px;
  text-align: left;
  line-height: 1.5;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  opacity: 0; /* 最初は透明 */
  overflow: scroll;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* モーダルを閉じるボタン（×）のスタイル */
.close-modal {
  position: absolute; /* モーダル内で絶対位置に配置 */
  display: block;
  align-items: center; /* ボタン内のテキストを縦方向に中央揃え */
  text-align: center;
  justify-content: center; /* ボタン内のテキストを横方向に中央揃え */
  bottom: 0; /* モーダル内容の上部から離れた位置に配置 */
  left: 50%; /* モーダル内容の右端から離れた位置に配置 */
  transform: translate(-50%, -50%);
  font-size: 10px; /* 閉じるボタンのフォントサイズ */
  cursor: pointer; /* ホバー時にポインタが表示されるように設定 */
  width: 100px; /* ボタンの幅 */
  height: 40px; /* ボタンの高さ */
  padding: 10px 0;
  z-index: 1000;
}
/* モーダルを開いた時 */
.modal.show .modal-content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1); /* 通常サイズに */
}
.open-modal {
  background-color: #eee;
  font-weight: bold;
}
.open-modal:hover {
  background-color: #ddd;
}


/*----------------------   foot   ----------------------*/

#foot {
  width: 100%;
  margin: 0 auto;
}
#foot img {
  width: 100%;
  display: block;
}

/*----------------------   footer   ----------------------*/

footer {
  width: 100%;
  padding: 24px 0 8px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 10px;
}

}

/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*---------------------- TAB -----------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

@media screen and (min-width:768px) and ( max-width:1200px) {



}
