@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");
/* =============================================

基本設定

============================================= */
html {
  font-size: 0.625em;
}

body {
  font-family: "YakuHanJP", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  line-height: 1;
  position: relative;
}

img {
  width: 100%;
  max-width: none;
  height: auto;
}

.sp {
  display: none;
}

summary {
  list-style: none;
}

em {
  font-style: normal;
}

@media only screen and (min-width: 0px) and (max-width: 750px) {
  html {
    font-size: 1vw;
  }
}
body {
  height: -webkit-fill-available;
  overflow-x: clip;
}

area {
  outline: none;
  border: none;
}

.wrapper {
  overflow: scroll;
  white-space: nowrap;
  height: 100vh;
  height: 100dvh;
  padding-top: min(17.5vw, 21rem);
  cursor: grab;
}

.timetable {
  width: 347.9rem;
  border-collapse: collapse;
  border-spacing: 0;
}
.timetable__left {
  width: 28.4rem;
}
.timetable__right {
  width: 319.5rem;
}
.timetable-timeline {
  display: flex;
  position: relative;
  overflow-x: clip;
}
.timetable-timeline__hour {
  width: 5.1rem;
  height: 100%;
  position: absolute;
  pointer-events: none;
}
.timetable-timeline__hour:nth-of-type(1) {
  width: 6.5rem;
}
.timetable-timeline__hour:nth-of-type(2) {
  left: 6.5rem;
}
.timetable-timeline__hour:nth-of-type(3) {
  left: 11.6rem;
}
.timetable-timeline__hour:nth-of-type(4) {
  left: 16.7rem;
}
.timetable-timeline__hour:nth-of-type(5) {
  left: 21.8rem;
}
.timetable-timeline__hour:nth-of-type(6) {
  left: 26.9rem;
}
.timetable-timeline__hour:nth-of-type(7) {
  left: 32rem;
}
.timetable-timeline__hour:nth-of-type(8) {
  left: 37.1rem;
}
.timetable-timeline__hour:nth-of-type(9) {
  left: 42.2rem;
}
.timetable-timeline__hour:nth-of-type(10) {
  left: 47.3rem;
}
.timetable-timeline__hour:nth-of-type(11) {
  left: 52.4rem;
}
.timetable-timeline__hour:nth-of-type(12) {
  left: 57.5rem;
}
.timetable-timeline__hour:nth-of-type(13) {
  left: 62.6rem;
}
.timetable-timeline__hour:nth-of-type(14) {
  left: 67.7rem;
}
.timetable-timeline__hour:nth-of-type(15) {
  left: 72.8rem;
}
.timetable-timeline__hour:nth-of-type(16) {
  left: 77.9rem;
}
.timetable-timeline__hour:nth-of-type(17) {
  left: 83rem;
}
.timetable-timeline__hour:nth-of-type(18) {
  left: 88.1rem;
}
.timetable-timeline__hour:nth-of-type(19) {
  left: 93.2rem;
}
.timetable-timeline__hour:nth-of-type(20) {
  left: 98.3rem;
}
.timetable-timeline__hour:nth-of-type(21) {
  left: 103.4rem;
}
.timetable-timeline__hour:nth-of-type(22) {
  left: 108.5rem;
}
.timetable-timeline__hour:nth-of-type(23) {
  left: 113.6rem;
}
.timetable-timeline__hour:nth-of-type(24) {
  left: 118.7rem;
}
.timetable-timeline__hour:nth-of-type(25) {
  left: 123.8rem;
}
.timetable-timeline__hour:nth-of-type(26) {
  left: 128.9rem;
}
.timetable-timeline__hour:nth-of-type(27) {
  left: 134rem;
}
.timetable-timeline__hour:nth-of-type(28) {
  left: 139.1rem;
}
.timetable-timeline__hour:nth-of-type(29) {
  left: 144.2rem;
}
.timetable-timeline__hour:nth-of-type(30) {
  left: 149.3rem;
}
.timetable-timeline__hour:nth-of-type(31) {
  left: 154.4rem;
}
.timetable-timeline__hour:nth-of-type(32) {
  left: 159.5rem;
}
.timetable-timeline__hour:nth-of-type(33) {
  left: 164.6rem;
}
.timetable-timeline__hour:nth-of-type(34) {
  left: 169.7rem;
}
.timetable-timeline__hour:nth-of-type(35) {
  left: 174.8rem;
}
.timetable-timeline__hour:nth-of-type(36) {
  left: 179.9rem;
}
.timetable-timeline__hour:nth-of-type(37) {
  left: 185rem;
}
.timetable-timeline__hour:nth-of-type(38) {
  left: 190.1rem;
}
.timetable-timeline__hour:nth-of-type(39) {
  left: 195.2rem;
}
.timetable-timeline__hour:nth-of-type(40) {
  left: 200.3rem;
}
.timetable-timeline__hour:nth-of-type(41) {
  left: 205.4rem;
}
.timetable-timeline__hour:nth-of-type(42) {
  left: 210.5rem;
}
.timetable-timeline__hour:nth-of-type(43) {
  left: 215.6rem;
}
.timetable-timeline__hour:nth-of-type(44) {
  left: 220.7rem;
}
.timetable-timeline__hour:nth-of-type(45) {
  left: 225.8rem;
}
.timetable-timeline__hour:nth-of-type(46) {
  left: 230.9rem;
}
.timetable-timeline__hour:nth-of-type(47) {
  left: 236rem;
}
.timetable-timeline__hour:nth-of-type(48) {
  left: 241.1rem;
}
.timetable-timeline__hour:nth-of-type(49) {
  left: 246.2rem;
}
.timetable-timeline__hour:nth-of-type(50) {
  left: 251.3rem;
}
.timetable-timeline__hour:nth-of-type(51) {
  left: 256.4rem;
}
.timetable-timeline__hour:nth-of-type(52) {
  left: 261.5rem;
}
.timetable-timeline__hour:nth-of-type(53) {
  left: 266.6rem;
}
.timetable-timeline__hour:nth-of-type(54) {
  left: 271.7rem;
}
.timetable-timeline__hour:nth-of-type(55) {
  left: 276.8rem;
}
.timetable-timeline__hour:nth-of-type(56) {
  left: 281.9rem;
}
.timetable-timeline__hour:nth-of-type(57) {
  left: 287rem;
}
.timetable-timeline__hour:nth-of-type(58) {
  left: 292.1rem;
}
.timetable-timeline__hour:nth-of-type(59) {
  left: 297.2rem;
}
.timetable-timeline__hour:nth-of-type(60) {
  left: 302.3rem;
}
.timetable-timeline__hour:nth-of-type(61) {
  left: 307.4rem;
}
.timetable-timeline__hour--past {
  background: rgba(0, 0, 0, 0.4);
}
.timetable thead th {
  /* 縦スクロール時に固定する */
  position: sticky;
  top: 0;
  /* tbody内のセルより手前に表示する */
  z-index: 1;
}
.timetable thead th:first-child {
  /* ヘッダー行内の他のセルより手前に表示する */
  z-index: 2;
}
.timetable th:first-child {
  /* 横スクロール時に固定する */
  position: sticky;
  left: 0;
  z-index: 1;
}

.btn-map {
  width: 39rem;
  position: fixed;
  right: 5rem;
  bottom: 3rem;
  z-index: 10;
  filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.75));
}
.btn-map__close {
  width: 5rem;
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
}

.btn-stamp {
  width: 39rem;
  position: fixed;
  right: 5rem;
  bottom: 23rem;
  z-index: 10;
  filter: drop-shadow(0 0 1rem rgba(0, 0, 0, 0.75));
}
.btn-stamp__close {
  width: 5rem;
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
}

.header {
  background: #fff;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.header img {
  width: auto;
  height: min(17.5vw, 21rem);
}

/* =============================================

モーダルウィンドウ

============================================= */
.modal {
  display: none;
}
.modal-club-wrapper .modaal-container {
  width: 75rem;
}
.modal-club-wrapper .modaal-content-container {
  padding: 0;
}
.modal-club-wrapper .modaal-inner-wrapper {
  padding: 8rem 0;
}
.modal-club-wrapper .modaal-close {
  background: url("../img/btn-close-black.svg") no-repeat center center/cover;
  width: 7rem;
  height: 7rem;
  position: fixed;
  top: 3rem;
  right: auto;
  left: calc(50% + 37.5rem - 7rem);
  transform: translateX(-50%);
}
.modal-club-wrapper .modaal-close::before, .modal-club-wrapper .modaal-close::after {
  content: none;
}

/* =============================================

クラブ活動のモーダルウィンドウ

============================================= */
.club {
  width: 75rem;
  padding: 5rem;
  margin: 0 auto;
  position: relative;
}
.club__title {
  font-size: 4rem;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  background: #37bef0;
  width: 60rem;
  padding: 2.6rem 4rem;
  margin: 0 auto 4rem;
  border-radius: 1rem;
}
.club-schedule {
  padding: 3.8rem 2.8rem;
  border: 0.2rem solid #000;
  border-radius: 1.6rem;
}
.club-schedule__heading {
  font-size: 3.2rem;
  font-weight: 700;
  color: #fff;
  background: #37bef0;
  text-align: center;
  width: 100%;
  height: 6rem;
  margin-bottom: 2rem;
  border-radius: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.club-schedule__btn {
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  background: #fff;
  text-align: center;
  width: 48rem;
  height: 8rem;
  margin: 0 auto 3.5rem;
  border-radius: 9999px;
  overflow: hidden;
  position: relative;
}
.club-schedule__btn a {
  background: #b81c2b;
  width: 100%;
  height: 100%;
  padding-right: 3rem;
  transition: opacity 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}
.club-schedule__btn a::after {
  content: "";
  background: url("../img/arrow-right.svg") no-repeat center center/cover;
  width: 3.6rem;
  height: 3.6rem;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
.club-schedule__btn a:hover {
  opacity: 0.7;
}
.club-detail {
  margin-bottom: 3rem;
}
.club-detail__heading {
  font-size: 3.2rem;
  font-weight: 700;
  padding: 0 1rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}
.club-detail__txt {
  font-feature-settings: "palt";
  font-size: 2.8rem;
  line-height: 1.2857142857;
  font-weight: 500;
  padding: 0 1rem 2rem;
  margin-bottom: 2rem;
  border-bottom: 0.2rem solid #000;
}
.club-detail__topics {
  font-size: 2.4rem;
  background: #ffff26;
  padding: 0.6rem 1.6rem;
  margin-left: 0.5em;
  border-radius: 1.2rem;
}
.club-detail__topics--culture {
  color: #fff;
  background: #ff0399;
}
.club-notice {
  font-feature-settings: "palt";
  font-size: 2.4rem;
  line-height: 1.3333333333;
  font-weight: 500;
  text-align: justify;
  width: 64rem;
  margin: 3rem auto 0;
}
.club-notice__item {
  text-indent: -1em;
  padding-left: 1em;
}

@media only screen and (min-width: 0px) and (max-width: 750px) {
  .wrapper {
    padding-top: 60px;
  }
  .header img {
    height: 60px;
  }
  /* =============================================

  モーダルウィンドウ

  ============================================= */
  .modal-club-wrapper .modaal-container {
    width: 95.99976rem;
  }
  .modal-club-wrapper .modaal-inner-wrapper {
    padding: 1.999995rem 0;
  }
  .modal-club-wrapper .modaal-close {
    right: 3.99999rem;
    left: auto;
    transform: none;
  }
  /* =============================================

  クラブ活動のモーダルウィンドウ

  ============================================= */
  .club {
    width: 95.9976vw;
    padding: 6.6665vw 1.99995vw;
    margin: 0 auto;
    position: relative;
  }
  .club__title {
    font-size: 5.3332vw;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    background: #37bef0;
    width: 79.998vw;
    padding: 3.46658vw 5.3332vw;
    margin: 0 auto 5.3332vw;
    border-radius: 1.3333vw;
  }
  .club-schedule {
    padding: 5.06654vw 3.73324vw;
    border: 0.26666vw solid #000;
    border-radius: 2.13328vw;
  }
  .club-schedule__heading {
    font-size: 4.26656vw;
    font-weight: 700;
    color: #fff;
    background: #37bef0;
    text-align: center;
    width: 100%;
    height: 7.9998vw;
    margin-bottom: 2.6666vw;
    border-radius: 1.3333vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .club-schedule__btn {
    font-size: 3.19992vw;
    font-weight: 700;
    color: #fff;
    background: #fff;
    text-align: center;
    width: 63.9984vw;
    height: 10.6664vw;
    margin: 0 auto 4.66655vw;
    border-radius: 9999px;
    overflow: hidden;
    position: relative;
  }
  .club-schedule__btn a {
    background: #b81c2b;
    width: 100%;
    height: 100%;
    padding-right: 3.9999vw;
    transition: opacity 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .club-schedule__btn a::after {
    content: "";
    background: url("../img/arrow-right.svg") no-repeat center center/cover;
    width: 4.79988vw;
    height: 4.79988vw;
    position: absolute;
    top: 50%;
    right: 2.6666vw;
    transform: translateY(-50%);
  }
  .club-schedule__btn a:hover {
    opacity: 0.7;
  }
  .club-detail {
    margin-bottom: 3.9999vw;
  }
  .club-detail__heading {
    font-size: 4.26656vw;
    font-weight: 700;
    padding: 0 1.3333vw;
    margin-bottom: 1.3333vw;
    display: flex;
    align-items: center;
  }
  .club-detail__txt {
    font-feature-settings: "palt";
    font-size: 3.73324vw;
    line-height: 1.2857142857;
    font-weight: 500;
    padding: 0 1.3333vw 2.6666vw;
    margin-bottom: 2.6666vw;
    border-bottom: 0.26666vw solid #000;
  }
  .club-detail__topics {
    font-size: 3.19992vw;
    background: #ffff26;
    padding: 0.79998vw 2.13328vw;
    margin-left: 0.5em;
    border-radius: 1.59996vw;
  }
  .club-detail__topics--culture {
    color: #fff;
    background: #ff0399;
  }
  .club-notice {
    font-feature-settings: "palt";
    font-size: 3.19992vw;
    line-height: 1.3333333333;
    font-weight: 500;
    text-align: justify;
    width: 85.3312vw;
    margin: 3.9999vw auto 0;
  }
  .club-notice__item {
    text-indent: -1em;
    padding-left: 1em;
  }
}
@media only screen and (min-width: 751px) {
  .mb0pc {
    margin-bottom: 0rem;
  }
  .mb5pc {
    margin-bottom: 0.5rem;
  }
  .mb10pc {
    margin-bottom: 1rem;
  }
  .mb15pc {
    margin-bottom: 1.5rem;
  }
  .mb20pc {
    margin-bottom: 2rem;
  }
  .mb25pc {
    margin-bottom: 2.5rem;
  }
  .mb30pc {
    margin-bottom: 3rem;
  }
  .mb35pc {
    margin-bottom: 3.5rem;
  }
  .mb40pc {
    margin-bottom: 4rem;
  }
  .mb45pc {
    margin-bottom: 4.5rem;
  }
  .mb50pc {
    margin-bottom: 5rem;
  }
  .mb55pc {
    margin-bottom: 5.5rem;
  }
  .mb60pc {
    margin-bottom: 6rem;
  }
  .mb65pc {
    margin-bottom: 6.5rem;
  }
  .mb70pc {
    margin-bottom: 7rem;
  }
  .mb75pc {
    margin-bottom: 7.5rem;
  }
  .mb80pc {
    margin-bottom: 8rem;
  }
  .mb85pc {
    margin-bottom: 8.5rem;
  }
  .mb90pc {
    margin-bottom: 9rem;
  }
  .mb95pc {
    margin-bottom: 9.5rem;
  }
  .mb100pc {
    margin-bottom: 10rem;
  }
  .mb105pc {
    margin-bottom: 10.5rem;
  }
  .mb110pc {
    margin-bottom: 11rem;
  }
  .mb115pc {
    margin-bottom: 11.5rem;
  }
  .mb120pc {
    margin-bottom: 12rem;
  }
  .mb125pc {
    margin-bottom: 12.5rem;
  }
  .mb130pc {
    margin-bottom: 13rem;
  }
  .mb135pc {
    margin-bottom: 13.5rem;
  }
  .mb140pc {
    margin-bottom: 14rem;
  }
  .mb145pc {
    margin-bottom: 14.5rem;
  }
  .mb150pc {
    margin-bottom: 15rem;
  }
  .mb155pc {
    margin-bottom: 15.5rem;
  }
  .mb160pc {
    margin-bottom: 16rem;
  }
  .mb165pc {
    margin-bottom: 16.5rem;
  }
  .mb170pc {
    margin-bottom: 17rem;
  }
  .mb175pc {
    margin-bottom: 17.5rem;
  }
  .mb180pc {
    margin-bottom: 18rem;
  }
  .mb185pc {
    margin-bottom: 18.5rem;
  }
  .mb190pc {
    margin-bottom: 19rem;
  }
  .mb195pc {
    margin-bottom: 19.5rem;
  }
  .mb200pc {
    margin-bottom: 20rem;
  }
}
@media only screen and (max-width: 750px) {
  .mb0sp {
    margin-bottom: 0rem;
  }
  .mb5sp {
    margin-bottom: 0.5rem;
  }
  .mb10sp {
    margin-bottom: 1rem;
  }
  .mb15sp {
    margin-bottom: 1.5rem;
  }
  .mb20sp {
    margin-bottom: 2rem;
  }
  .mb25sp {
    margin-bottom: 2.5rem;
  }
  .mb30sp {
    margin-bottom: 3rem;
  }
  .mb35sp {
    margin-bottom: 3.5rem;
  }
  .mb40sp {
    margin-bottom: 4rem;
  }
  .mb45sp {
    margin-bottom: 4.5rem;
  }
  .mb50sp {
    margin-bottom: 5rem;
  }
  .mb55sp {
    margin-bottom: 5.5rem;
  }
  .mb60sp {
    margin-bottom: 6rem;
  }
  .mb65sp {
    margin-bottom: 6.5rem;
  }
  .mb70sp {
    margin-bottom: 7rem;
  }
  .mb75sp {
    margin-bottom: 7.5rem;
  }
  .mb80sp {
    margin-bottom: 8rem;
  }
  .mb85sp {
    margin-bottom: 8.5rem;
  }
  .mb90sp {
    margin-bottom: 9rem;
  }
  .mb95sp {
    margin-bottom: 9.5rem;
  }
  .mb100sp {
    margin-bottom: 10rem;
  }
  .mb105sp {
    margin-bottom: 10.5rem;
  }
  .mb110sp {
    margin-bottom: 11rem;
  }
  .mb115sp {
    margin-bottom: 11.5rem;
  }
  .mb120sp {
    margin-bottom: 12rem;
  }
  .mb125sp {
    margin-bottom: 12.5rem;
  }
  .mb130sp {
    margin-bottom: 13rem;
  }
  .mb135sp {
    margin-bottom: 13.5rem;
  }
  .mb140sp {
    margin-bottom: 14rem;
  }
  .mb145sp {
    margin-bottom: 14.5rem;
  }
  .mb150sp {
    margin-bottom: 15rem;
  }
  .mb155sp {
    margin-bottom: 15.5rem;
  }
  .mb160sp {
    margin-bottom: 16rem;
  }
  .mb165sp {
    margin-bottom: 16.5rem;
  }
  .mb170sp {
    margin-bottom: 17rem;
  }
  .mb175sp {
    margin-bottom: 17.5rem;
  }
  .mb180sp {
    margin-bottom: 18rem;
  }
  .mb185sp {
    margin-bottom: 18.5rem;
  }
  .mb190sp {
    margin-bottom: 19rem;
  }
  .mb195sp {
    margin-bottom: 19.5rem;
  }
  .mb200sp {
    margin-bottom: 20rem;
  }
}/*# sourceMappingURL=style.css.map */