@charset "utf-8";
:root {
  --baseItemColor01: #ddd4cb;
  --baseItemColor02: #f7f6f4;
  --baseItemColor03: #ff2be3;
  --baseItemColor04: #fff885;
  --baseItemColor05: #ffe0fc;
  --baseItemColor06: #d0fffa;
  --baseItemColor07: #84ece0;
  --color-red: #e30a52;
  --color-red2: #e50651;
  --color-yellow: #fdf799;
  --color-osaka: #000;
  --color-kyoto: #638c0c;
  --color-kobe: #a395d0;
  --color-nagoya: #01b5b2;
  --color-tokyo: #b28750;
  --color-yokohama: #1d2089;
  --color-hakata: #ec68a2;
  --color-platinum: #00b7ee;
  --color-diamond: #001c58;
  --color-gold: #b28850;
  --color-silver: #626262;
  --color-trainee: #32b16c;
  --boxShadow: 0px 8px 0px 0px rgba(0, 0, 0, 0.004);
  --font01: "corporate-logo-ver2", sans-serif;
}
html {
  scroll-behavior: smooth;
}

html,
body,
.wrap {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Noto Sans Japanese", "游ゴシック", "Yu Gothic", YuGothic,
    "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", Osaka,
    "MS PGothic", arial, helvetica, sans-serif;
  font-weight: normal;
  line-height: 1;
  overflow-x: hidden;
  line-break: strict;
  color: #313131;
}

.elps {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
}

.clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.clamp_2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.wrap {
  padding: 0 0.5rem;
}
.wrap_box {
  max-width: 700px;
  box-sizing: border-box;
  margin-inline: auto;
  margin-bottom: 5rem;
}
.wrap_inner {
  padding: 2rem 0.5rem;
  box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 10px;
}
.-osaka {
  color: var(--color-osaka);
}
.--osaka {
  background-color: var(--color-osaka);
}
.-kyoto {
  color: var(--color-kyoto);
}
.--kyoto {
  background-color: var(--color-kyoto);
}
.-kobe {
  color: var(--color-kobe);
}
.--kobe {
  background-color: var(--color-kobe);
}
.-nagoya {
  color: var(--color-nagoya);
}
.--nagoya {
  background-color: var(--color-nagoya);
}
.-tokyo {
  color: var(--color-tokyo);
}
.--tokyo {
  background-color: var(--color-tokyo);
}
.-yokohama {
  color: var(--color-yokohama);
}
.--yokohama {
  background-color: var(--color-yokohama);
}
.-hakata {
  color: var(--color-hakata);
}
.--hakata {
  background-color: var(--color-hakata);
}
/*information*/
.information {
  background: #f9f9f9;
  padding: 0px 0px 10px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.info-left {
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.info-box svg {
  vertical-align: middle;
}

.info-box {
  width: 100%;
}
.info-box-ttl {
  padding: 10px 0;
  cursor: pointer;
}
.info-box-ttl span {
  position: relative;
}
.info-box-ttl span::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 44%;
  right: -30px;
  transform: translateY(-50%) rotate(135deg);
  width: 10px;
  height: 10px;
  border-top: 3px solid #000000;
  border-right: 3px solid #000000;
  transition: 0.3s;
}
.info-box-ttl.js-accordion span::before {
  content: "";
  width: 20px;
  height: 20px;
  display: inline-block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ctitle%3Enotification_fill%3C/title%3E%3Cg id='notification_fill' fill='none'%3E%3Cpath d='M24,0 L24,24 L0,24 L0,0 L24,0 Z M12.5935,23.2578 L12.5819,23.2595 L12.5109,23.295 L12.4919,23.2987 L12.4767,23.295 L12.4057,23.2595 C12.3958,23.2564 12.387,23.259 12.3821,23.2649 L12.378,23.2758 L12.3609,23.7031 L12.3659,23.7235 L12.3769,23.7357 L12.4805,23.8097 L12.4953,23.8136 L12.5071,23.8097 L12.6107,23.7357 L12.6233,23.7197 L12.6267,23.7031 L12.6096,23.2758 C12.6076,23.2657 12.601,23.2593 12.5935,23.2578 Z M12.8584,23.1453 L12.8445,23.1473 L12.6598,23.2397 L12.6499,23.2499 L12.6472,23.2611 L12.6651,23.6906 L12.6699,23.7034 L12.6784,23.7105 L12.8793,23.8032 C12.8914,23.8069 12.9022,23.803 12.9078,23.7952 L12.9118,23.7812 L12.8777,23.1665 C12.8753,23.1546 12.8674,23.147 12.8584,23.1453 Z M12.143,23.1473 C12.1332,23.1424 12.1222,23.1453 12.1156,23.1526 L12.1099,23.1665 L12.0758,23.7812 C12.0751,23.7927 12.0828,23.8019 12.0926,23.8046 L12.1083,23.8032 L12.3092,23.7105 L12.3186,23.7024 L12.3225,23.6906 L12.3404,23.2611 L12.3372,23.2485 L12.3278,23.2397 L12.143,23.1473 Z'/%3E%3Cpath fill='%231A6C96FF' d='M12.0002,2 C8.13417,2 5.00016,5.13401 5.00016,9 L5.00016,12.5279 C5.00016,12.6831 4.96402,12.8362 4.89459,12.9751 L3.1781,16.4081 C2.8124,17.1395 3.34425,18 4.16197,18 L19.8384,18 C20.6561,18 21.1879,17.1395 20.8222,16.4081 L19.1057,12.9751 C19.0363,12.8362 19.0002,12.6831 19.0002,12.5279 L19.0002,9 C19.0002,5.13401 15.8662,2 12.0002,2 Z M11.9999,21 C10.6937,21 9.58249,20.1652 9.17065,19 L14.8292,19 C14.4174,20.1652 13.3062,21 11.9999,21 Z'/%3E%3C/g%3E%3C/svg%3E");
  vertical-align: bottom;
  margin-right: 5px;
}
.js-accordion-close {
  padding: 10px 0 0 0;
}

.info-box-ttl.open span::after {
  transform: rotate(-45deg);
}
.info_accordion-box {
  line-height: initial;
  padding-top: 10px;
}
.acc_list-item {
  padding-bottom: 10px;
}
.open + .info_accordion-box {
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
}
.acc_list-item:not(:last-child) {
  border-bottom: 1px solid #cfcfcf;
  margin-bottom: 10px;
}
.c-ttl {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  font-size: 1.1rem;
}
.c-ttl-2 {
  background: #dad6cd;
  padding: 25px;
  text-align: center;
  font-size: 0.9rem;
}
.calendar_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
  margin-bottom: 20px;
}
.this_month {
  font-size: 1rem;
  font-weight: bold;
}
.drawer_open {
  position: fixed;
  overflow-y: hidden;
  width: 100%;
  height: 100%;
}

/* Add this CSS to your stylesheet */
.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

.header_logo {
  text-align: center;
  font-weight: bold;
}
.header_logo rt {
  ruby-align: center;
}
.header {
  background: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  margin: 1rem 0 2rem;
  border-radius: 50px;
  position: sticky;
  top: 10px;
  left: 0;
  z-index: 2;
}
.header_inner {
  padding: 1rem;
  position: relative;
}
.toggle_button {
  position: absolute;
  z-index: 1001;
  top: 50%;
  right: 10px;
  display: block;
  width: 50px;
  padding: 10px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  border: 0;
  outline: 0;
  background-color: transparent;
  transform: translateY(-50%);
}
.toggle_active.toggle_button .bar {
  background: #fff;
}
.toggle_button::before {
  content: "";
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  position: absolute;
  right: -20px;
  top: -15px;
  z-index: -1;
}
.toggle_button .bar {
  background-color: #000;
  display: block;
  width: 100%;
  height: 4px;
  border-radius: 3px;
  -webkit-transition: background-color 0.35s ease, transform 0.35s ease;
  transition: background-color 0.35s ease, transform 0.35s ease;
}
.toggle_button .bar + .bar {
  margin-top: 5px;
}
.toggle_button.toggle_active .middle {
  opacity: 0;
}
.toggle_button.toggle_active .top {
  -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
  transform: translateY(11px) translateX(0) rotate(45deg);
  width: 30px;
}
.toggle_button.toggle_active .bottom {
  -webkit-transform: translateY(-7px) translateX(0) rotate(-45deg);
  transform: translateY(-7px) translateX(0) rotate(-45deg);
  width: 30px;
  margin-left: 0;
}
.drawer_bg {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(51, 51, 51, 0.5);
  overflow: hidden;
  z-index: 0;
}
.header_menu .nav_global.is_open {
  display: block;
  top: 0;
  opacity: 1;
  animation-duration: 0.4s;
  animation-name: fadeInRight;
  background: #000;
  overflow-y: scroll;
  z-index: 1;
}
.header_menu .nav_global {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 300px;
  padding: 100px 30px 60px;
  display: none;
  opacity: 0;
}

.menu_list-item {
  position: relative;
  border-bottom: 1px solid #fff;
}
.menu_list-item a {
  color: #fff;
  padding: 20px 0;
  display: block;
}
.menu_list-item::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22rgba(255%2C255%2C255%2C1)%22%3E%3Cpath%20d%3D%22M16%2012L10%2018V6L16%2012Z%22%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.menu_list-item.line-through a {
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  padding-right: 40px;
}
.menu_list-item.line-through em {
  text-decoration: line-through;
  pointer-events: none;
}
.next svg,
.next-month svg {
  transform: rotate(90deg);
}
.prev svg,
.prev-month svg {
  transform: rotate(90deg);
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 0;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(100%, 0, 0);
  }
}

.c-batch {
}
.c-batch--v-2 {
}

.c-button {
  appearance: none;
  border: none;
  font-size: 16px;
  border: 1px solid #a39b98;
  background-color: #483632;
  border-radius: 5px;
  padding: 0.5em 1em;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 3em;
}

.c-text-input {
  appearance: none;
  border: 1px solid #a39b98;
  font-size: 16px;
  padding: 0.25em 0.5em;
}

.c-message {
  --color: initial;
  padding: 0.5rem 1rem;
  border: 1px solid var(--color);
  color: var(--color);
}
.c-message--stand-alone {
  margin: 1rem auto;
}
.c-message--error {
  --color: red;
}
.c-message--success {
  --color: blue;
}

.c-pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.c-pager li.current span {
  background: #a39b98;
  color: #fff;
}
.c-pager li {
  margin: 3px;
  font-size: 14px;
}
.c-pager li a,
.c-pager li span {
  display: block;
  padding: 10px;
  border: 1px solid #999;
  font-size: 14px;
  margin-top: 0;
}
.c-pager li a.milk_link {
  background: #ff6371;
  color: #fff;
}
.c-pager li a.milk_link:hover {
  color: #ffe8e2;
}
.c-pager li.current a {
  background: #e1e1e1;
}

.c-pager li a:hover {
  color: #c90037;
}

.c-pager li:not(.current) a,
.c-pager li:not(.current) span {
  background: #473732;
  color: #fff;
}

.c-box {
  border: 1px solid #c9c9c9;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-box__text {
  font-size: 0.8rem;
}
.c-box__batch {
}
.c-box__date {
  font-size: 0.8rem;
  color: #707070;
}
.c-box__text-2 {
  font-size: 0.8rem;
}

.c-box-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.c-box-list__item {
}

.c-article {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-article__image {
  img {
    width: 100%;
  }
}
.c-article__cast-name {
  font-weight: bold;
  font-size: 0.9rem;
}
.c-article__date {
  font-size: 0.8rem;
  color: #707070;
}
.c-article__title {
  font-weight: bold;
  font-size: 0.9rem;
  a {
  }
}
.c-article__content {
  font-size: 0.8rem;
}
.c-article__footer {
  text-align: right;
  a {
    font-size: 0.8rem;
  }
}

.c-article-list {
  --gap: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: var(--gap);
}
.c-article-list__item {
  padding-top: var(--gap);
  border-top: 1px dotted #000;
  &:first-child {
    border-top: none;
  }
}

.c-section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.c-section__header {
}
.c-section__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.c-section-2 {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.c-section-2__no-margin {
  margin: 0;
}

.c-section-3 {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-section-3__group {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.c-section-3__buttons {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}
.c-section-3__button {
}
