@charset "UTF-8";
/* CSS Document */



/*=============================
  liqBg
=============================*/
/*liqSlide
=============================*/
#liqSlide {
  visibility: hidden;
}

/*liqBg
=============================*/
#liqBg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
}

#liqBg canvas {
  aspect-ratio: 3000/1958 !important;
  width: 100%!important;
  height: 100%!important;
  object-fit: cover;
  pointer-events: none;
}

/*=============================
  scroll-container
=============================*/
.scroll-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

/*=============================
  topPage
=============================*/
#topPage > .inner{
  width: 100%;
  height: 100%;
  padding: 45px 35px;
}
#topPage h2{
  aspect-ratio: 453/202;
  width: min(calc((552/(var(--vw) - 70))*100%),552px);
}
#topPage .logoArea{
  width: min(calc((600/(var(--vw) - 70))*100%),600px);
  margin-left: auto;
}
#topPage .logoArea .copy02{
  aspect-ratio: 415/27;
  width: min(calc((415/600)*100%),415px);
}
#topPage .logoArea .logo{
  aspect-ratio: 162/73;
  width: min(calc((162/600)*100%),162px);
  margin-left: auto;
}

section .tit{
  height: 32px;
}
/*=============================
  sch
=============================*/
#sch > .inner{
  height: 100%;
  padding: 30px 25px 20px;
}
#sch .titArea{
  width: 100%;
}
#sch .titArea .txt{
  width: calc(100% - 250px);
  max-width: 530px;
  margin-left: auto;
}
#sch .titArea .txt span{display: block;}
#sch .titArea .txt .jp{
  font-size: 0.15rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
#sch .titArea .txt .en{
  font-size: 0.15rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-top: 0.5em;
}

#sch .calArea {
  height: calc(100% - 160px);
  margin-top: auto;
}
#sch .cal_m {
  width: 465px;
  row-gap: 15px;
  margin-right: auto;
}
#sch .cal_m .splide__arrows{
  height: 48px;
}
#sch .cal_m .splide__arrows button{
  height: 48px;
  width: 227px;
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
  border: none;
  cursor: pointer;
  font-size: 0.2rem;
  letter-spacing: 0.03em;
  color: #FFF;
  position: relative;
  transition: color 0.35s ease;
}
#sch .cal_m .splide__arrows button[disabled]{
  color: rgba(255,255,255,0.5);
  cursor: default;
  pointer-events: none;
}
#sch .cal_m .splide__arrows button img{
  display: inline-block;
  width: 25px;
  height: auto;
}
#sch .cal_m .splide__arrows button[disabled] img{
  opacity: 0.5;
}
#sch .cal_m .splide__arrows button.splide__arrow--next{margin-left: auto;}
#sch .cal_m .splide__arrows button.splide__arrow--prev{padding: 0 40px 0 20px;}
#sch .cal_m .splide__arrows button.splide__arrow--prev img{
  margin-right: auto;
}
#sch .cal_m .splide__arrows button.splide__arrow--next{padding: 0 20px 0 40px;}
#sch .cal_m .splide__arrows button.splide__arrow--next img{
  transform: scale(-1, 1);
  margin-left: auto;
}

#sch .cal_m .splide__track__outer{
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
  isolation: isolate;
	border-radius: 16px;
  padding: 60px 0px 0px;
  height: 480px;
  /* height: auto;
  flex-grow: 1; */
}
#sch .cal_m .splide__track{
  height: 100%;
  /* max-height: 480px; */
  margin: auto 0;
}
#sch .cal_m .splide__track .splide__list{
}
#sch .cal_m .splide__slide{
  width: calc(305px + 16px);
  height: 100%;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 45px 60px repeat(6, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  cursor: grab;
}
#sch .cal_m .splide__slide .year {
  grid-area: 1 / 1 / 2 / 7;
  font-size: 0.24rem;
  padding-left: 10px;
}
#sch .cal_m .splide__slide .month {
  grid-area: 1 / 7 / 2 / 8;
  font-size: 0.5rem;
  text-align: right;
  padding-right: 10px;
}
#sch .cal_m .splide__slide .week{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.2rem;
  letter-spacing: 0.03em;
  margin-top: 10px;
}
/* .year(p:1番目) .month(p:2番目) の後に .week が来るため nth-of-type は3から始まる */
#sch .cal_m .splide__slide .week:nth-of-type(3) { grid-area: 2 / 1 / 3 / 2; }
#sch .cal_m .splide__slide .week:nth-of-type(4) { grid-area: 2 / 2 / 3 / 3; }
#sch .cal_m .splide__slide .week:nth-of-type(5) { grid-area: 2 / 3 / 3 / 4; }
#sch .cal_m .splide__slide .week:nth-of-type(6) { grid-area: 2 / 4 / 3 / 5; }
#sch .cal_m .splide__slide .week:nth-of-type(7) { grid-area: 2 / 5 / 3 / 6; }
#sch .cal_m .splide__slide .week:nth-of-type(8) { grid-area: 2 / 6 / 3 / 7; }
#sch .cal_m .splide__slide .week:nth-of-type(9) { grid-area: 2 / 7 / 3 / 8; }

#sch .cal_m .splide__slide .day{padding-bottom: 7px;}
#sch .cal_m .splide__slide .day:nth-of-type(1) { grid-area: 3 / 1 / 4 / 2; }
#sch .cal_m .splide__slide .day:nth-of-type(2) { grid-area: 3 / 2 / 4 / 3; }
#sch .cal_m .splide__slide .day:nth-of-type(3) { grid-area: 3 / 3 / 4 / 4; }
#sch .cal_m .splide__slide .day:nth-of-type(4) { grid-area: 3 / 4 / 4 / 5; }
#sch .cal_m .splide__slide .day:nth-of-type(5) { grid-area: 3 / 5 / 4 / 6; }
#sch .cal_m .splide__slide .day:nth-of-type(6) { grid-area: 3 / 6 / 4 / 7; }
#sch .cal_m .splide__slide .day:nth-of-type(7) { grid-area: 3 / 7 / 4 / 8; }
#sch .cal_m .splide__slide .day:nth-of-type(8) { grid-area: 4 / 1 / 5 / 2; }
#sch .cal_m .splide__slide .day:nth-of-type(9) { grid-area: 4 / 2 / 5 / 3; }
#sch .cal_m .splide__slide .day:nth-of-type(10) { grid-area: 4 / 3 / 5 / 4; }

#sch .cal_m .splide__slide .day:nth-of-type(11) { grid-area: 4 / 4 / 5 / 5; }
#sch .cal_m .splide__slide .day:nth-of-type(12) { grid-area: 4 / 5 / 5 / 6; }
#sch .cal_m .splide__slide .day:nth-of-type(13) { grid-area: 4 / 6 / 5 / 7; }
#sch .cal_m .splide__slide .day:nth-of-type(14) { grid-area: 4 / 7 / 5 / 8; }
#sch .cal_m .splide__slide .day:nth-of-type(15) { grid-area: 5 / 1 / 6 / 2; }
#sch .cal_m .splide__slide .day:nth-of-type(16) { grid-area: 5 / 2 / 6 / 3; }
#sch .cal_m .splide__slide .day:nth-of-type(17) { grid-area: 5 / 3 / 6 / 4; }
#sch .cal_m .splide__slide .day:nth-of-type(18) { grid-area: 5 / 4 / 6 / 5; }
#sch .cal_m .splide__slide .day:nth-of-type(19) { grid-area: 5 / 5 / 6 / 6; }
#sch .cal_m .splide__slide .day:nth-of-type(20) { grid-area: 5 / 6 / 6 / 7; }

#sch .cal_m .splide__slide .day:nth-of-type(21) { grid-area: 5 / 7 / 6 / 8; }
#sch .cal_m .splide__slide .day:nth-of-type(22) { grid-area: 6 / 1 / 7 / 2; }
#sch .cal_m .splide__slide .day:nth-of-type(23) { grid-area: 6 / 2 / 7 / 3; }
#sch .cal_m .splide__slide .day:nth-of-type(24) { grid-area: 6 / 3 / 7 / 4; }
#sch .cal_m .splide__slide .day:nth-of-type(25) { grid-area: 6 / 4 / 7 / 5; }
#sch .cal_m .splide__slide .day:nth-of-type(26) { grid-area: 6 / 5 / 7 / 6; }
#sch .cal_m .splide__slide .day:nth-of-type(27) { grid-area: 6 / 6 / 7 / 7; }
#sch .cal_m .splide__slide .day:nth-of-type(28) { grid-area: 6 / 7 / 7 / 8; }
#sch .cal_m .splide__slide .day:nth-of-type(29) { grid-area: 7 / 1 / 8 / 2; }
#sch .cal_m .splide__slide .day:nth-of-type(30) { grid-area: 7 / 2 / 8 / 3; }

#sch .cal_m .splide__slide .day:nth-of-type(31) { grid-area: 7 / 3 / 8 / 4; }
#sch .cal_m .splide__slide .day:nth-of-type(32) { grid-area: 7 / 4 / 8 / 5; }
#sch .cal_m .splide__slide .day:nth-of-type(33) { grid-area: 7 / 5 / 8 / 6; }
#sch .cal_m .splide__slide .day:nth-of-type(34) { grid-area: 7 / 6 / 8 / 7; }
#sch .cal_m .splide__slide .day:nth-of-type(35) { grid-area: 7 / 7 / 8 / 8; }
#sch .cal_m .splide__slide .day:nth-of-type(36) { grid-area: 8 / 1 / 9 / 2; }
#sch .cal_m .splide__slide .day:nth-of-type(37) { grid-area: 8 / 2 / 9 / 3; }
#sch .cal_m .splide__slide .day:nth-of-type(38) { grid-area: 8 / 3 / 9 / 4; }
#sch .cal_m .splide__slide .day:nth-of-type(39) { grid-area: 8 / 4 / 9 / 5; }
#sch .cal_m .splide__slide .day:nth-of-type(40) { grid-area: 8 / 5 / 9 / 6; }
#sch .cal_m .splide__slide .day:nth-of-type(41) { grid-area: 8 / 6 / 9 / 7; }
#sch .cal_m .splide__slide .day:nth-of-type(42) { grid-area: 8 / 7 / 9 / 8; }




#sch .cal_m .splide__slide .day .num{
  text-align: center;
  font-size: 0.2rem;
}
#sch .cal_m .splide__slide .day .mark{
  aspect-ratio: 1/1;
  height: 100%;
  max-height: 16px;
  margin-left: auto;
  margin-right: auto;
  margin-top: max(12%,6px);
}
#sch .cal_m .splide__slide .day .mark li{
  aspect-ratio: 1/1;
  max-width: 8px;
  width: 50%;
  align-self: flex-start;
}
#sch .no{background: var(--green);}
#sch .re{background: var(--blue);}
#sch .ev{background: var(--yello);}
#sch .or{background: var(--or);}


#sch .cal_d {
  width: calc(100% -  485px);
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
  isolation: isolate;
	border-radius: 16px;
  padding-top: 50px;
  padding-bottom: 60px;
  padding-left: min(calc((60/var(--vw))*100vw), 60px);
  padding-right: min(calc((40/var(--vw))*100vw), 40px);
}
#sch .cal_d .cList{
  column-gap: 30px;
  row-gap: 0px;
}
#sch .cal_d .cList li{
  width: fit-content;
  font-size: 0.15rem;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
#sch .cal_d .cList li span{
  display: inline-block;
  aspect-ratio: 1/1;
  width: 10px;
  margin-right: 0.25em;
}

#sch .cal_d .splide{
  margin-top: auto;
  height: calc(100% - 60px);
}
#sch .cal_d .splide .splide__track,
#sch .cal_d .splide .splide__list{
  height: 100%;
}
#sch .cal_d .splide .splide__slide{
  width: 100%;
  height: 100%;
  padding-right: 20px;
}
#sch .cal_d .splide .splide__slide ul li{
  border-bottom: 1px solid #FFF;
}
#sch .cal_d .splide .splide__slide ul li a{
  font-size: 0.18rem;
  padding: 25px 0px;
}
#sch .cal_d .splide .splide__slide ul li a .mark{
  aspect-ratio: 1/1;
  display: inline-block;
  width: 15px;
  margin-right: 15px;
  margin-top: 3px;
}
#sch .cal_d .splide .splide__slide ul li a .day{
  width: 110px;
  line-height: 1.3;
}
#sch .cal_d .splide .splide__slide ul li a .txt{
  width: calc(100% - 30px - 110px - 100px - 49px);
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-right: auto;
  padding-right: 1em;
  overflow-wrap: anywhere;
}
#sch .cal_d .splide .splide__slide ul li a .floor{
  width: 100px;
  letter-spacing: 0.05em;
  text-align: right;
  margin-top: 0.2em;
  overflow-wrap: anywhere;
}
#sch .cal_d .splide .splide__slide ul li a .icon{
  width: 24px;
  height: 15px;
  margin-left: 25px;
  margin-top: 0.1em;
}


/*=============================
  news
=============================*/
#news > .inner{
  height: 100%;
  padding: 0px 0px 0px 25px;
}

#news .titArea{
  width: calc((480/(var(--vw) - 65))*100%);
  margin-top: 30px;
}
#news .titArea .tit{
  width: fit-content;
  margin-bottom: auto;
}
#news .titArea .btList{
  width: fit-content;
  margin-bottom: 25px;
}
#news .titArea .btList li + li{
  margin-top: 12px;
}
#news .titArea .btList li a{
  min-width: 180px;
  min-height: 52px;
  margin-top: 12px;
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
  font-size: 0.22rem;
  padding: 0.5em 1em 0.5em 1.5em;
}
#news .titArea .btList li a .icon{
  width: 17px;
  height: 17px;
  margin-left: auto;
}


#news .newsArea{
  padding: 30px 40px 300px 0;
  width: calc((955/(var(--vw) - 65))*100%);
  max-width: 955px;
  height: 100%;
  margin-left: auto;
}
#news .newsArea ul{
  column-gap: 20px;
}
#news .newsArea ul + ul,
#news .newsArea ul > li:nth-child(n+5){
  margin-top: 20px;
}
#news .newsArea ul li{
  flex: 1;
  container-type: inline-size;/*.newsArea ul li a用*/
}
#news .newsArea ul:has(li:nth-child(4)){flex-wrap: wrap;}
#news .newsArea ul:has(li:nth-child(3)) li{
  flex: 0 0 calc((100% - 60px) / 4);
  width: calc((100% - 60px) / 4);
}
#news .newsArea ul li a{
  height: 100%;
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
	isolation: isolate;
	border-radius: calc((10/466)*100%);
  padding: clamp(10px, calc((35/466)*100cqi), 35px);/*(30/)*/
  row-gap: 20px;
  container-type: inline-size;/*.newsArea ul li a > 用*/
}
#news .newsArea ul:has(li:nth-child(3)) li a{row-gap: 10px;}
#news .newsArea ul li a .thum{
  aspect-ratio: 1/1;
  width: 100%;
  overflow: hidden;
}
#news .newsArea ul li a .thum.bgW{background: #FFF;}

#news .newsArea ul li a .data{
  width: 100%;
  letter-spacing: 0.05em;
  font-size: clamp(0.1rem, 4.44cqi, 0.13rem);
}
#news .newsArea ul li a .data .status{
  margin-left: 2em;
}
#news .newsArea ul li a h3{
  width: calc(100% - 30px);
  font-size: clamp(0.13rem,4.44cqi, 0.18rem);
  letter-spacing: 0.05em;
  margin-right: auto;
}
#news .newsArea ul li a .floor{
  width: 30px;
  text-align: right;
  font-size: clamp(0.13rem,4.44cqi, 0.18rem);
  letter-spacing: 0.05em;
}
/*=============================
  csoon
=============================*/
#csoon > .inner{
  height: 100%;
  padding: 30px 25px 15px;
}
#csoon h2{
  font-size: 0.46rem;
  line-height: 1.5;
}
#csoon footer{
  margin-top: auto;
}
#csoon footer #backToTop{
  width: 135px;
  margin-right: 50px;
}
#csoon footer #backToTop a{
  height: 52px;
  padding: 1em 1.25em 1em 1.5em;
  font-size: 0.22rem;
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
}
#csoon footer #backToTop a .icon{
  display: inline-block;
  width: 23px;
  height: 14px;
  margin-left: auto;
	transform: scale(1,-1) rotate(-90deg);
}


#csoon footer #fnav{
  --fnav_in_w:620;
  max-width: 700px;
  width: 100%;
  margin-left: auto;
  background: rgba(0,0,0,0.2);
  backdrop-filter: blur(20px);
  padding: 15px 40px;
  isolation: isolate;
	border-radius: 12px;
}
#csoon footer #fnav .logo{
  width: 122px;
  height: 55px;
  margin-right: calc((40/var(--fnav_in_w))*100%);
}
#csoon footer #fnav .snsList{
  width: 167px;
  margin-right: auto;
  padding-top: 3px;
}
#csoon footer #fnav .snsList li{
  width: 24px;
  height: 24px;
}
#csoon footer #fnav .snsList li + li{
  margin-left: auto;
}
#csoon footer #fnav .snsList li a{
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
}
#csoon footer #fnav .copyRight{
  font-size: 0.09rem;
  text-align: right;
  letter-spacing: 0.1em;
}
/* mainF
=============================*/