@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500;700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

html {
  font-size: 62.5%;
  overflow-y: auto;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  line-height: 1.8;
  color: #333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana",
    sans-serif;
  margin: 0;
}

a {
  text-decoration: none;
  color: #333;
}

.contents {
  width: clamp(320px, 90%, 1600px);
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 2rem;
}

.area {
  padding-top: clamp(6rem, 2vw, 12rem);
  padding-bottom: clamp(6rem, 2vw, 12rem);
}

.sp-view {
  display: none;
}

.hidden {
  overflow: hidden;
}

.blk {
  display: block;
}

.iblk {
  display: inline-block;
}

  
.fadeUp,
.blur {
  opacity: 0;
}

.blur.view {
  animation-name:  blurAnime;
  animation-duration: .7s;
  animation-fill-mode: forwards;
  animation-delay: .1s;
}

@keyframes  blurAnime {
  from {
      filter: blur(10px);
      transform: scale(1.02);
      opacity: 0;
  }
  to {
      filter: blur(0);
      transform: scale(1);
      opacity: 1;
  }
}

.fadeUp.view{
  animation-name:fadeUpAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  animation-delay: 0.3s;
  opacity:0;
}

.fadeUp.delay {
  animation-delay: 0.5s;
}
  
@keyframes fadeUpAnime{
  from {
  opacity: 0;
  transform: translateY(50px);
  }

  to {
  opacity: 1;
  transform: translateY(0);
  }
}


.shine.view {
  animation: shine 5s infinite ease-out;
}

@keyframes shine {
	0% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}


header {
  position: fixed;
  z-index: 100;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
  padding-left:clamp(1.2rem, 2vw, 8rem);
  padding-right:clamp(1.2rem, 2vw, 8rem);
  width: 100vw;
  margin-top: 1.2rem;
  box-sizing: border-box;
}

/* header.blend {
  mix-blend-mode: difference;
} */


#header.ScrollDown {
animation: ScrollDownMove 0.5s forwards;
}

@keyframes ScrollDownMove {
  from {
      opacity: 0;
      transform: translateY(-9rem);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}


#header.ScrollUp {
animation: ScrollUpMove 0.5s forwards;
}

@keyframes ScrollUpMove {
  from {
      opacity: 1;
      transform: translateY(0);
  }
  to {
      opacity: 0;
      transform: translateY(-9rem);
  }
}


header .head-wrap {
  display: flex;
  padding: 1.2rem 2rem;
  justify-content: space-between;
  align-items: center;
}


header .head-wrap .logo svg {
  fill: #333;
  display: block;
}

/* header.blend .head-wrap .logo svg {
  fill: #fff;
} */

header .menu-box {
  border-radius: 50px;
  padding: 0.5rem 0;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}

header .menu-box .menu {
  font-weight: 500;
  font-size: 1.4rem;
  display: flex;
  padding-right: 4.8rem;
}


/* header.blend .menu-box .menu {
  font-weight: 300;
} */

header .menu-box .menu a {
  position: relative; /* 要素を相対配置 */
  display: inline-block; /* インラインブロックで配置 */
  overflow: hidden; /* コンテンツが外に出ないように制限 */
}

header .menu-box .menu a span {
  color: transparent;
  transition: text-shadow 0.3s;
  text-shadow: 0 0 0 #333, 0 1.5em 0 #333;
  display: block; /* スパンをブロック要素として表示 */
}

header .menu-box .menu a:hover span {
  text-shadow: 0 -1.5em 0 #a70d80, 0 0 0 #a70d80;
}


/* header.blend .menu-box .menu a span {
  color: transparent;
  transition: text-shadow 0.3s;
  text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
  display: block; 
} */

/* header.blend .menu-box .menu a:hover span {
  text-shadow: 0 -1.5em 0 #fff, 0 0 0 #fff;
} */

.btn {
  background: linear-gradient(160deg, rgba(33, 0, 165, 1), rgba(167, 13, 128, 1));
  border-radius: 50px;
  color: #fff;
  font-size: clamp(1.4rem,2vw,1.6rem);
  font-weight: 700;
  padding: 1.2rem 6rem;
  margin-left: -1.8rem;
  position: relative;
  z-index: 1;
  transition: .3s;
  overflow: hidden;
  /* box-shadow: rgba(84, 99, 129, 0.35) 0px 0px 25px 0px; */
}

header .menu-box .btn {
  font-size: 1.4rem;
  padding: 0.5rem 3.6rem;
}


.btn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #333;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
}


.btn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

/* header.blend .menu-box .btn {
  background-color: #fff;
  color: #000;
  box-shadow: rgba(255, 255, 255, 0.35) 0px 0px 15px 0px;
}
header.blend .menu-box .btn::before {
  background: #000;
}

header.blend .menu-box .btn:hover {
  color: #fff;
} */


.reserve-wrap .btn {
  margin-top: 1.2rem;
  display: inline-block;
}

.bg-black .reserve-wrap .btn::before {
  background-color: #fff;
} 

.bg-black .reserve-wrap .btn:hover {
  color: #333;
}

.num {
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  }


  #header.bk-blur {
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    margin: 1.2rem 3.6rem 0 3.6rem;
    width: calc(100% - 7.2rem);
    padding: 0;
}

#header.bk-blur .head-wrap {
  padding: 1.2rem 3.6rem;
}




/* header .menu {
  position: relative;
}

header .menu .dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  padding: 1.2rem 2.4rem;
  border-radius: 8px;
  z-index: 1000;
  width: 30rem;
  flex-direction: column;
  gap: 1.2rem;
}

header .menu .dropdown li {
  list-style: none;
}

header .menu .dropdown li a {
  color: #333;
  text-decoration: none;
  font-size: 1.2rem;
  display: block;
}

header .menu .dropdown li a:hover {
  color: #a70d80;
} */







.bg-wrap {
  /* background-image: url(../img/mv.png);
  background-attachment: fixed;
  background-size: cover;
  background-position: center; */
  background-color: #e8e8e8;
  position: relative;
  transition: all 0.5s ease-in-out;
}

.bg-wrap.bg-black {
  background-color: #333;
}

.bg-wrap.bg-white {
  background-color: #fff;
}
.circle {
  display: none;
  position: fixed;
  right: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  transition: all 0.3s ease-in-out;
}




.bg-wrap .circle {
  display: block;
}


.bg-wrap.bg-blur .circle {
  filter: blur(10px)!important;
  opacity: .7;
}


.bg-wrap.bg-black .circle {
  opacity: 0;
}

.bg-wrap.bg-white .circle {
  opacity: 0;
}


.bg-wrap .scroll {
  position: fixed;
  right: 2rem;
  transition: opacity 0.3s ease-out;
}

.bg-wrap .scroll.none {
  opacity: 0;
}


.bg-wrap .scroll span {
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  font-size: 1rem;
  animation: scrollProm 3s ease-out infinite;
  bottom: 4.2rem;
  right: 0;
  background: linear-gradient(to right, #2100A5, #a70d80); 
  -webkit-background-clip: text;
  color: transparent;
  position: absolute;
  letter-spacing: .15em;
  transform: rotate(90deg) translateZ(0);
  backface-visibility: hidden;
}

/* 
@keyframes scrollProm {
  0% {
    bottom: 4.2rem;
  }
  50% {
    bottom: 2rem;
  }
  100% {
    bottom: 4.2rem;
  }
} */

.bg-wrap .scroll::after {
  content: "";
  top: -7.5rem;
  right: 4rem;
  width: 0.1rem;
  height: 0; 
  background: linear-gradient(to bottom, #2100A5, #a70d80);
  position: absolute;
  animation: draw-line 1.5s ease-out infinite;
}

/* アニメーション定義 */
@keyframes draw-line {
  0% {
    height: 0;
  }
  100% {
    height: 8rem;
  }
}
.bg-wrap .scroll::before {
  content: url(../img/scroll_down.png);
  position: absolute;
  bottom: 0.5rem;
  width: 0.5rem;
  height: 0.9rem;
  right: 4.1rem;
  opacity: 0;
  animation: draw-arrow 1.5s ease-out infinite;
}


/* アニメーション定義 */
/* @keyframes draw-arrow {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
} */

.mv-wrap {
    display: flex;
    height: 100vh;
    flex-direction: column-reverse;
    justify-content: space-between;
    /* flex-direction:row-reverse;
    align-items:flex-start; */
    padding: 3.6rem 0;
    box-sizing: border-box;
    z-index: 2;
    position: relative;
}

/* .mv-wrap .mv-box.ttl {
  align-self: flex-end;
} */



.mv-wrap h1 {
    font-weight: 500;
    font-size: clamp(2.4rem, 4vw, 4.8rem);
    line-height: 1.4;
    
    letter-spacing: .05em;
    position: relative;;
    background-image: linear-gradient(
		70deg,
		#333  45%, 
		#a70d80 50%,
		#333 55% 
	  );
	  background-size: 500% 100%;
    background-clip: text;
  	-webkit-background-clip: text;
	  color: transparent;
    animation: shine 5s infinite ease-out;
    display: inline-block;
    animation-delay: -5.5s;
    font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
      "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana",
      sans-serif;
      
}

.mv-wrap h1 .sub {
  font-size: clamp(1.8rem, 4vw, 2rem);
  letter-spacing: .25em;
  color: #2100A5;
  display: block;
  margin-top: 1.2rem;
  text-shadow: 1px 1px 0 #e8e8e8, -1px -1px 0 #e8e8e8, -1px 1px 0 #e8e8e8, 1px -1px 0 #e8e8e8, 0px 1px 0 #e8e8e8, 0 -1px 0 #e8e8e8, -1px 0 0 #e8e8e8, 1px 0 0 #e8e8e8;
}

.mv-wrap h1 .mv-year {
  color: #2100A5;
}

.mv-wrap .mv-date {
  font-size: clamp(1.4rem, 4vw, 1.8rem);
  letter-spacing: .25em;
  font-weight: 500;
  
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana",
    sans-serif;
    text-shadow: 1px 1px 0 #e8e8e8, -1px -1px 0 #e8e8e8, -1px 1px 0 #e8e8e8, 1px -1px 0 #e8e8e8, 0px 1px 0 #e8e8e8, 0 -1px 0 #e8e8e8, -1px 0 0 #e8e8e8, 1px 0 0 #e8e8e8;
}

.mv-wrap .mv-box.copy {
  margin-top: 6rem;
  display: flex;
  /* text-shadow: 1px 1px 0 #e8e8e8, -1px -1px 0 #e8e8e8, -1px 1px 0 #e8e8e8, 1px -1px 0 #e8e8e8, 0px 1px 0 #e8e8e8, 0 -1px 0 #e8e8e8, -1px 0 0 #e8e8e8, 1px 0 0 #e8e8e8; */
  flex-direction: column;
}
/* 
.mv-wrap .mv-box.copy .copy-box {
  display: flex;
  overflow: hidden;
}

.mv-wrap .mv-box.copy .copy-item {
  font-size: 9rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: .05em;
  animation: .25s textAnime ease-out;
  animation-fill-mode: forwards;
  opacity: 0;
}

.mv-wrap .mv-box.copy .copy-item.cp02 {
  animation-delay: 0.05s;
}

.mv-wrap .mv-box.copy .copy-item.cp03 {
  animation-delay: 0.1s;
}

.mv-wrap .mv-box.copy .copy-item.cp04 {
  animation-delay: 0.15s;
}

.mv-wrap .mv-box.copy .copy-item.cp05 {
  animation-delay: 0.2s;
}


.mv-wrap .mv-box.copy .copy-item.cp06 {
  animation-delay: 0.1s;
}

.mv-wrap .mv-box.copy .copy-item.cp07 {
  animation-delay: 0.15s;
}

.mv-wrap .mv-box.copy .copy-item.cp08 {
  animation-delay: 0.2s;
}

.mv-wrap .mv-box.copy .copy-item.cp09 {
  animation-delay: 0.25s;
}

.mv-wrap .mv-box.copy .copy-item.cp10 {
  animation-delay: 0.3s;
}
.mv-wrap .mv-box.copy .copy-item.cp11 {
  animation-delay: 0.35s;
}
.mv-wrap .mv-box.copy .copy-item.cp12 {
  animation-delay: 0.4s;
}

@keyframes textAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
} */
 


.mv-wrap .mv-box.copy .copy-box {
  font-size: clamp(4.8rem, 5vw, 12rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: .05em;
  /* opacity: 0;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  width: 0; */
}


/* .mv-wrap .mv-box.copy .copy-box.cp01 {
  animation: textAnime01 0.8s;
  animation-fill-mode: forwards;
}

@keyframes textAnime01 {
  0% {
    width: 0em;
  }
  100% {
    width: 5em;
    opacity: 1;
  }
}


.mv-wrap .mv-box.copy .copy-box.cp02 {
  animation: textAnime02 0.8s;
  animation-fill-mode: forwards;
  animation-delay: 0.15s;
}

@keyframes textAnime02 {
  0% {
    width: 0em;
  }
  100% {
    width: 8em;
    opacity: 1;
  }
} */


#about .about-wrap {
  margin-top: 24rem;
  transition: color 0.5s ease-in-out;
}

.bg-black #about .about-wrap {
  color: #fff;
}

#about .about-wrap p {
  margin: 3.6rem 0;
  font-weight: 500;
  letter-spacing: .05em;
  text-align: center;
  line-height: 2.2;
  font-size: clamp(1.6rem, 2vw, 1.8rem);
}

#about .logo-wrap {
  margin-bottom: 6rem;
}


.bg-black #about .reserve-wrap,
.bg-black #about .reserve-wrap h2 {
  color: #fff;
}

#about .reserve-wrap {
  text-align: center;
  border-top: solid 1px #7b7b7b;
  border-bottom: solid 1px #7b7b7b;
  padding: 6rem 0;
  margin-top: 6rem;
  transition: color 0.5s ease-in-out;
}

#about .reserve-wrap h2 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  background-image: linear-gradient(70deg, #333 45%, #a70d80 50%, #333 55%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 8s infinite ease-out;
  display: block;
  position: relative;
  animation-delay: -8.5s;
  font-weight: 500;
  transition: color 0.5s ease-in-out;
  margin-top: 0;
}

#logo .slide-box {
  z-index: 10;
  position: relative;
}
#logo .slide-box ul li {
  background-color: #fff;
  box-shadow: rgba(206, 212, 224, 0.35) 0px 0px 35px 0px;
  text-align: center;

}

/* #logo .slide-box ul li img {
  width: 300px;
} */

.slide-box {
  overflow: hidden;
  display: flex;
  margin-top: 20px;
}

.slide-box ul {
  display: flex;
  animation: loop-list 40s linear infinite;
  padding-left: 0;
}

.slide-box ul li {
  border-radius: 0.8rem;
  margin: 0 2.4rem;
  padding: 1.2rem 2.4rem;
  width: fit-content;
  /* width: calc(100vw / 10); */
  display: flex;
  align-items: center;   
}

.slide-box ul li img {
  width: 250px;
}

@keyframes loop-list {
  from {
      transform: translateX(0);
  }
  to {
      transform: translateX(-100%);
  }
}



#timeline h2 {
  font-weight: normal;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  letter-spacing: .15em;
  transform: translateY(-20px); /* 画面外から少し上に位置 */
  transition: opacity 0.5s ease-out, transform 0.5s ease-out; /* スムーズなアニメーション */
  /* position: absolute; /* 最初は絶対位置 */
  top: 0;
  left: 2rem;
  padding-left: 1.6rem;
  line-height: 1.2em;
  border-left: solid 1px #333;
  transition: all 0.5s ease-in-out;
}

.bg-black #timeline h2,
.bg-black #timeline h2 span {
  color: #fff;
}

.bg-black #timeline h2 {
  border-left: solid 1px #fff;
}


#timeline h2 span {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  display: block;
  letter-spacing: normal;
  transition: color 0.5s ease-in-out;
}

#timeline .visible {
  opacity: 1;
  transform: translateY(0); /* 通常位置に戻す */
}

#timeline .hidden {
  opacity: 0;
  transform: translateY(-20px); /* 画面外に移動 */
}


#timeline .fixed-position {
  position: fixed;
  top: 4.8rem;
  left: 2rem;
  z-index: 10; /* 他の要素より前面に表示 */
}










#timeline .tl-wrap {
  display: flex;
  gap: 6rem;
  position: relative;
  z-index: 5;
}


#timeline .tl-wrap .tl-box {
  flex: 1;
  background-color: #fff;
  border-radius: 1.2rem;
  padding: clamp(2.4rem, 2vw, 6rem);
  box-shadow: rgba(206, 212, 224, 0.35) 0px 0px 35px 0px;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

#timeline .tl-wrap h3 {
  font-size: clamp(3.2rem, 4vw, 4.8rem);
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: .1em;
  margin: 0;
  font-weight: 500;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana",
    sans-serif;
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
  animation-delay: -5.5s;
  position: relative;;    
}


#timeline .tl-wrap .day01 h3 {
  background-image: linear-gradient(
  70deg,
  #2100A5  45%, 
  #a70d80 50%,
  #2100A5 55% 
  );

}

#timeline .tl-wrap .day02 h3 {
  background-image: linear-gradient(
  70deg,
  #a70d80  45%, 
  #2100A5 50%,
  #a70d80 55% 
  );
}

#timeline .tl-wrap h3 .sub {
  margin-top: 1.2rem;
  font-weight: 300;
  font-size: clamp(1.6rem, 2vw, 1.8rem);
  display: block;
  letter-spacing: .25em;
  color: #7b7b7b;
}

#timeline .tl-wrap .tl-cnt {
  position: relative;
}

#timeline .tl-wrap .tl-cnt.lineDown::after {
  content: "";
  position: absolute;
  top: 1.4rem;
  width: 0.2rem;
  height: 0; /* 初期状態は高さ0 */
  left: 8rem;
}


#timeline .tl-wrap .tl-cnt.lineDown.view::after {
  animation: drawLine 3s ease-out forwards;
  animation-delay: .3s;
}

@keyframes drawLine {
  from {
    height: 0;
  }
  to {
    height: calc(100% - 1.8rem);
  }
}


#timeline .tl-wrap .day01 .tl-cnt::after {
  background: linear-gradient(to bottom, #2100A5, #a70d80);
}

#timeline .tl-wrap .day02 .tl-cnt::after {
  background: linear-gradient(to bottom, #a70d80, #2100A5);
}


#timeline .tl-wrap .tl-item {
  display: flex;
  align-items: flex-start;
  margin-top: 6rem;
  /* flex-direction: column; */
}

#timeline .tl-wrap .tl-item .tl-time {
  width: 8rem;
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  letter-spacing: 0.25em;
  font-weight: 500;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
  "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana",
  sans-serif;
  position: relative;
  margin-top: 0.6rem;
}

#timeline .tl-wrap .tl-item .tl-time::before {
  content: "";
  position: absolute;
  left: 7.8rem;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  top: 0.6rem;
}




#timeline .tl-wrap .day01 .tl-item.ocl10 .tl-time {
  color: #2100A5;
}

#timeline .tl-wrap .day01 .tl-item.ocl10 .tl-time::before {
  background-color: #2100A5;
}

#timeline .tl-wrap .day01 .tl-item.ocl11 .tl-time {
  color: #35029F;
}

#timeline .tl-wrap .day01 .tl-item.ocl11 .tl-time::before {
  background-color: #35029F;
}

#timeline .tl-wrap .day01 .tl-item.ocl12 .tl-time {
  color: #4B049A;
}

#timeline .tl-wrap .day01 .tl-item.ocl12 .tl-time::before {
  background-color: #4B049A;
}

#timeline .tl-wrap .day01 .tl-item.ocl13 .tl-time {
  color: #5F0694;
}

#timeline .tl-wrap .day01 .tl-item.ocl13 .tl-time::before {
  background-color: #5F0694;
}

#timeline .tl-wrap .day01 .tl-item.ocl14 .tl-time {
  color: #74088F;
}

#timeline .tl-wrap .day01 .tl-item.ocl14 .tl-time::before {
  background-color: #74088F;
}

#timeline .tl-wrap .day01 .tl-item.ocl15 .tl-time {
  color: #880A89;
}

#timeline .tl-wrap .day01 .tl-item.ocl15 .tl-time::before {
  background-color: #880A89;
}

#timeline .tl-wrap .day01 .tl-item.ocl16 .tl-time {
  color: #9B0C83;
}

#timeline .tl-wrap .day01 .tl-item.ocl16 .tl-time::before {
  background-color: #9B0C83;
}

#timeline .tl-wrap .day02 .tl-item.ocl10 .tl-time {
  color: #a70d80;
}

#timeline .tl-wrap .day02 .tl-item.ocl10 .tl-time::before {
  background-color: #a70d80;
}

#timeline .tl-wrap .day02 .tl-item.ocl11 .tl-time {
  color: #920B85;
}

#timeline .tl-wrap .day02 .tl-item.ocl11 .tl-time::before {
  background-color: #920B85;
}

#timeline .tl-wrap .day02 .tl-item.ocl12 .tl-time {
  color: #80098B;
}

#timeline .tl-wrap .day02 .tl-item.ocl12 .tl-time::before {
  background-color: #80098B;
}

#timeline .tl-wrap .day02 .tl-item.ocl13 .tl-time {
  color: #6B0790;
}

#timeline .tl-wrap .day02 .tl-item.ocl13 .tl-time::before {
  background-color: #6B0790;
}

#timeline .tl-wrap .day02 .tl-item.ocl14 .tl-time {
  color: #570596;
}

#timeline .tl-wrap .day02 .tl-item.ocl14 .tl-time::before {
  background-color: #570596;
}

#timeline .tl-wrap .day02 .tl-item.ocl15 .tl-time {
  color: #42039B;
}

#timeline .tl-wrap .day02 .tl-item.ocl15 .tl-time::before {
  background-color: #42039B;
}

#timeline .tl-wrap .day02 .tl-item.ocl16 .tl-time {
  color: #2E01A1;
}

#timeline .tl-wrap .day02 .tl-item.ocl16 .tl-time::before {
  background-color: #2E01A1;
}


  
  /* #timeline .tl-wrap .tl-link .tl-dtl {
    transition: transform 0.3s ease;
  }



  #timeline .tl-wrap .tl-link:hover .tl-dtl{
    transform: scale(1.05);
  } */


  #timeline .tl-wrap .tl-item .tl-link {
    width: calc(100% - 10.4rem);
    padding-left: 2.4rem;
    min-height: 16rem;
  }

/* #timeline .tl-wrap .tl-item .tl-dtl {
  margin-left: 2.4rem;
} */

#timeline .tl-wrap .tl-item .tl-link .tl-dtl h4 {
  margin-top: 0;
  display: inline-block;
  margin-bottom: 1.2rem;
  transition: all 0.3s ease;
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 500;
  /* overflow: hidden;
  color: transparent; 
  text-shadow: 0 0 0 #000, 0 1.5em 0 #000;
  transition: text-shadow 0.3s; */
  /* color: transparent;
  background: linear-gradient(to right, #2100A5 30%,#a70d80 35%, #333 50%) 100%;
  background-clip: text;
  background-size: 350% 100%;
  background-position: 100% 0;
  transition: background-position .5s; */
}

#timeline .tl-wrap .tl-item a.tl-link:hover .tl-dtl h4 {
  opacity: .7;
}

/* #timeline .tl-wrap .tl-item .tl-link:hover .tl-dtl h4 {
  text-shadow: 0 -1.5em 0 #000, 0 0 0 #000;
  background-position: 0 100%;
} */


#timeline .tl-wrap.day01 .tl-item.ocl10 .tl-link .tl-dtl h4 {
  background: linear-gradient(to right, #2100A5 30%,#a70d80 35%, #333 50%) 100%;
}





#timeline .tl-wrap .tl-link .tl-dtl .presenter {
  margin-top: 1.2rem;
  transition: all 0.3s ease;
}

#timeline .tl-wrap a.tl-link:hover .tl-dtl .presenter {
  margin-top: 1.2rem;
  opacity: .7;
}

#timeline .tl-wrap .tl-link .tl-dtl .presenter .prs-ttl {
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  line-height: clamp(1.4, 2vw, 1.6);
  display: block;
}

#timeline .tl-wrap .tl-link .tl-dtl .presenter .prs-name {
  font-size: clamp(1.4rem, 2vw, 1.6rem);
  display: block;
  font-weight: 500;
}



#timeline .tl-wrap .tl-link .tl-dtl .tl-btn {
  display: flex;
  align-items: center;
  position: relative;
  margin-top: 1.2rem;
}

#timeline .tl-wrap .tl-link .tl-dtl .tl-btn .btn-arrow {
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  left: 0;
  top: 50%;
  transition: transform 0.8s ease;
  box-sizing: border-box;
  background-color: #fff;
  overflow: hidden;
  transform: translateY(-50%);
}


/* #timeline .tl-wrap.day01 .tl-item.ocl10 .tl-link .tl-dtl .tl-btn .btn-arrow {
  border: solid 1px #2100A5;
} */



/* #timeline .tl-wrap .tl-link .tl-dtl .tl-btn .btn-arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  opacity: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  background-color: #2100A5;
} */

#timeline .tl-wrap .tl-link:hover .tl-dtl .tl-btn .btn-arrow {
  transform: translateY(-50%), scale(1.05);
  color: #fff;
}


/* #timeline .tl-wrap .tl-link:hover .tl-dtl .tl-btn .btn-arrow::before {
  width: 200%;
  height: 200%;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
} */


#timeline .tl-wrap .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  position: absolute;
  left: 0.6rem;
  top: -7.5px;
  width: 6px;
  height: 10px;
  z-index: 1;
  transition: all 0.3s ease-out;
}

#timeline .tl-wrap .tl-link:hover .tl-dtl .tl-btn .btn-arrow::after {
  left: 1.2rem;
}


#timeline .tl-wrap .tl-box.day01 .tl-item.ocl10 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_10.png);
}

#timeline .tl-wrap .tl-box.day01 .tl-item.ocl11 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_11.png);
}

#timeline .tl-wrap .tl-box.day01 .tl-item.ocl12 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_12.png);
}

#timeline .tl-wrap .tl-box.day01 .tl-item.ocl13 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_13.png);
}

#timeline .tl-wrap .tl-box.day01 .tl-item.ocl14 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_14.png);
}

#timeline .tl-wrap .tl-box.day01 .tl-item.ocl15 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_15.png);
}

#timeline .tl-wrap .tl-box.day01 .tl-item.ocl16 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_01_16.png);
}
#timeline .tl-wrap .tl-box.day02 .tl-item.ocl10 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_10.png);
}

#timeline .tl-wrap .tl-box.day02 .tl-item.ocl11 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_11.png);
}

#timeline .tl-wrap .tl-box.day02 .tl-item.ocl12 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_12.png);
}

#timeline .tl-wrap .tl-box.day02 .tl-item.ocl13 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_13.png);
}

#timeline .tl-wrap .tl-box.day02 .tl-item.ocl14 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_14.png);
}

#timeline .tl-wrap .tl-box.day02 .tl-item.ocl15 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_15.png);
}

#timeline .tl-wrap .tl-box.day02 .tl-item.ocl16 .tl-link .tl-dtl .tl-btn .btn-arrow::after {
  content: url(../img/arrow_02_16.png);
}



/* #timeline .tl-wrap .tl-link .tl-dtl .tl-btn::before {
  content: "";
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background-color: transparent;
  left: 0;
  top: 50%;
  border: solid 1px #2100A5;
  transform: translateY(-50%) scale(1);
}

#timeline .tl-wrap .tl-link .tl-dtl .tl-btn::after {
  content: "";
  position: absolute;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 50%;
  background-color: transparent;
  left: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, background-color 0.3s ease;
}

#timeline .tl-wrap .tl-link:hover .tl-dtl .tl-btn::after {
  background-color: #2100A5; 
  transform: translateY(-50%) scale(1); 
} */



#timeline .tl-wrap .tl-item .tl-link .tl-dtl .tl-btn .btn-txt {
  letter-spacing: .15em;
  padding-left: 3rem;
  font-size: 1.4rem;
  transition: transform 0.3s ease;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  overflow: hidden;
  color: transparent; 
  transition: text-shadow 0.3s;
  /* color: #2100A5; */
  }
  

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl10 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #2100A5, 0 1.5em 0 #2100A5;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl10 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #2100A5, 0 0 0 #2100A5;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl11 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #35029F, 0 1.5em 0 #35029F;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl11 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #35029F, 0 0 0 #35029F;
  }


  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl12 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #4B049A, 0 1.5em 0 #4B049A;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl12 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #4B049A, 0 0 0 #4B049A;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl13 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #5F0694, 0 1.5em 0 #5F0694;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl13 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #5F0694, 0 0 0 #5F0694;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl14 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #74088F, 0 1.5em 0 #74088F;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl14 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #74088F, 0 0 0 #74088F;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl15 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #880A89, 0 1.5em 0 #880A89;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl15 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #880A89, 0 0 0 #880A89;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl16 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #9B0C83, 0 1.5em 0 #9B0C83;
  }

  #timeline .tl-wrap .tl-box.day01 .tl-item.ocl16 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #9B0C83, 0 0 0 #9B0C83;
  }



  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl10 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #a70d80, 0 1.5em 0 #a70d80;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl10 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #a70d80, 0 0 0 #a70d80;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl11 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #920B85, 0 1.5em 0 #920B85;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl11 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #920B85, 0 0 0 #920B85;
  }


  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl12 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #80098B, 0 1.5em 0 #80098B;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl12 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #80098B, 0 0 0 #80098B;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl13 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #6B0790, 0 1.5em 0 #6B0790;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl13 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #6B0790, 0 0 0 #6B0790;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl14 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #570596, 0 1.5em 0 #570596;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl14 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #570596, 0 0 0 #570596;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl15 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #42039B, 0 1.5em 0 #42039B;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl15 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #42039B, 0 0 0 #42039B;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl16 .tl-link .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 0 0 #2E01A1, 0 1.5em 0 #2E01A1;
  }

  #timeline .tl-wrap .tl-box.day02 .tl-item.ocl16 .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    text-shadow: 0 -1.5em 0 #2E01A1, 0 0 0 #2E01A1;
  }



  
  /* #timeline .tl-wrap .tl-link:hover .tl-dtl .tl-btn .btn-txt {
    transform: translateX(0.5rem);
  } */


  #keynote {
    padding-bottom:  clamp(12rem, 2vw, 24rem);;
  }


#keynote .kn-h {
  display: flex;
  text-align: left;
  align-items: center;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
}

#keynote .kn-h-sub span {
  font-weight: 300;
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  display: block;
  letter-spacing: .25em;
  line-height: 1.2;
  color: #7b7b7b;
  margin-left: 2.4rem;
}


.bg-black #keynote h3 {
  color: #fff;
}

#keynote h2 {
  font-weight: normal;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  letter-spacing: .15em;
  transform: translateY(-20px); /* 画面外から少し上に位置 */
  transition: opacity 0.5s ease-out, transform 0.5s ease-out; /* スムーズなアニメーション */
  top: 0;
  left: 2rem;
  padding-left: 1.6rem;
  line-height: 1.2em;
  border-left: solid 1px #333;
}



#keynote h2 span {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  display: block;
  letter-spacing: normal;
  /* color:#7b7b7b; */
}

#keynote .visible {
  opacity: 1;
  transform: translateY(0); /* 通常位置に戻す */
}

#keynote .hidden {
  opacity: 0;
  transform: translateY(-20px); /* 画面外に移動 */
}


/* h2が画面の50%に達したときに固定 */
#keynote .fixed-position {
  position: fixed;
  top: 4.8rem;
  left: 2rem;
  z-index: 10; /* 他の要素より前面に表示 */
}


/* #keynote h2::before {
  content: "・";
  position: absolute;
  left: -1.2rem;
} */

#keynote h3 {
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: .1em;
  margin: 0;
  font-weight: 500;
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
  animation-delay: -5.5s;
  position: relative;
  transition: color 0.5s ease-in-out;
  background-color: #a5a5a5;
}

#keynote .kn-button.day01.active h3.day01 {
  background-image: linear-gradient(70deg, #2100A5 45%, #a70d80 50%, #2100A5 55%);
}

#keynote .kn-button.day02.active h3.day02 {
  background-image: linear-gradient(70deg, #a70d80 45%, #2100A5 50%, #a70d80 55%);
}

#keynote .kn-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(3.6rem, 2vw, 6rem);
  flex-wrap: wrap;
  margin-top: 3.6rem;
}



#keynote .kn-wrap .kn-box {
  position: relative;
  border-radius: 0.8rem;
  padding: clamp(2.4rem, 2vw, 6rem) clamp(2.4rem, 2vw, 6rem) clamp(2.4rem, 2vw, 3.6rem);
  box-shadow: rgba(206, 212, 224, 0.35) 0px 0px 35px 0px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
  flex: 0 1 calc((100% - 3 * 3.6rem) / 4);  
  font-size: clamp(4.8rem, 6vw, 9rem);
  box-sizing: border-box;
  background-color: #fff;
  overflow: hidden;
}


#keynote .kn-wrap .kn-box::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  opacity: 0;
  border-radius: 50%; /* 円形にする */
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}

#keynote .kn-wrap.day01 .kn-box::before {
  background-image: linear-gradient(160deg, rgba(33, 0, 165, 1), rgba(167, 13, 128, 1));
}

#keynote .kn-wrap.day02 .kn-box::before {
  background-image: linear-gradient(160deg, rgba(167, 13, 128, 1), rgba(33, 0, 165, 1));
}


#keynote .kn-wrap a.kn-box:hover {
  transform: scale(1.05);
  color: #fff;
}

#keynote .kn-wrap.day01 a.kn-box:hover {
  box-shadow: rgba(95, 134, 211, 0.35) 0px 0px 35px 0px;
}


#keynote .kn-wrap.day02 a.kn-box:hover {
  box-shadow: rgba(207, 95, 211, 0.35) 0px 0px 35px 0px;
}

#keynote .kn-wrap a.kn-box:hover::before {
  width: 200%;
  height: 200%;
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}


#keynote .kn-wrap .kn-box .kn-thum {
  display: flex;
  gap: 1.2rem;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}

#keynote .kn-wrap .kn-box .kn-thum .thum-wrap {
  display: flex;
  gap: 1.2rem;
}

#keynote .kn-wrap .kn-box .kn-thum img {
  width: 80px;
  height: auto;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  display: block;
}

#keynote .kn-wrap .kn-box .kn-thum .kn-item {
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
  "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana",
  sans-serif;
  line-height: 1.4;
  letter-spacing: .05em;
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
  animation-delay: -5.5s;
  position: relative;
}

#keynote .kn-wrap.day01 .kn-box .kn-thum .kn-item {
  background-image: linear-gradient(
  70deg,
  #2100A5  45%, 
  #a70d80 50%,
  #2100A5 55% 
  );
}


#keynote .kn-wrap.day02 .kn-box .kn-thum .kn-item {
  background-image: linear-gradient(
  70deg,
  #a70d80  45%, 
  #2100A5 50%,
  #a70d80 55% 
  );
}

#keynote .kn-wrap a.kn-box:hover .kn-thum .kn-item {
  background: none;
  color: #fff;
}


#keynote .kn-wrap .kn-box .kn-thum .kn-item span {
  display: block;
}

#keynote .kn-wrap .kn-box .kn-thum .kn-item .kn-date {
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  font-weight: 500;
}


#keynote .kn-wrap .kn-box .kn-thum .kn-item .kn-time {
  font-size: clamp(1.6rem, 2vw, 2rem);
  font-weight: 500;
}

#keynote .kn-wrap .kn-box .kn-thum .kn-item .kn-place {
  text-align: right;
  font-size: clamp(1.2rem, 2vw, 1.4rem);
  margin-top: 0.25rem;
  font-weight: 300;
  color: #7b7b7b;
}

#keynote .kn-wrap a.kn-box:hover .kn-thum .kn-item .kn-place {
  color: #fff;
}

#keynote .kn-wrap .kn-box .kn-dtl {
  
  position: relative;
  z-index: 1;
}

#keynote .kn-wrap .kn-box .kn-dtl h4 {
  margin: 2.4rem 0 1.2rem;
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 500;
  color: #333;
  line-height: 1.4;
}

#keynote .kn-wrap a.kn-box:hover h4 {
  color: #fff;
}

#keynote .kn-wrap .kn-box .kn-dtl span {
  display: block;
}

#keynote .kn-wrap .kn-box .kn-dtl .kn-tag {
  display: flex;
    flex-wrap: wrap;
  font-size: 1.2rem;
  gap: 0rem 1.2rem;
  margin-bottom: 2.4rem;
}




#keynote .kn-wrap .kn-box .kn-dtl .kn-tag span {
  padding-left: 0.8rem;
  font-weight: 500;
  position: relative;
  color: #7b7b7b;
}

#keynote .kn-wrap a.kn-box:hover .kn-dtl .kn-tag span {
  color: #fff;
}




#keynote .kn-wrap .kn-box .kn-dtl .kn-tag span::before {
  content: "#";
  position: absolute;
  /* width: 0.3rem;
  height: 0.3rem;
  background-color: #2100A5;
  border-radius: 50%; */
  left: 0;
  /* top: 50%;
  transform: translateY(-50%); */

}



#keynote .kn-wrap .kn-box .kn-dtl .kn-ttl {
  font-size: 1.4rem;
  /* line-height: 1.4; */
}

#keynote .kn-wrap .kn-box .kn-dtl .kn-name {
  font-size: 1.6rem;
  font-weight: 500;
}

.kn-buttons {
  display: flex;
}


.kn-button {
  padding: 2.4rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 16px;
  flex: 1;
  border-bottom: solid 2px #cfcfcf;
}
.kn-button.active {
  position: relative;
}


.kn-button.day01.active::after,
.kn-button.day02.active::after {
  content: "";
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  width: 100%;
  height: 0.2rem; /* ボーダーの高さ */
  transform: scaleX(0); /* 初期状態で非表示 */
  transform-origin: left; /* 左端からアニメーション開始 */
}

.kn-button.day01.active::after {
  background: linear-gradient(90deg, #2100A5 0%, #a70d80 100%);
  animation: tabLine 0.3s ease-in-out forwards;
}

.kn-button.day02.active::after {
  background: linear-gradient(90deg, #a70d80 0%, #2100A5 100%);
  animation: tabLine 0.3s ease-in-out forwards;
}



/* 線を左から右へ伸ばすアニメーション */
@keyframes tabLine {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

#outline {
  padding: 0;
}






#outline h2 {
  font-weight: normal;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  letter-spacing: .15em;
  color: #fff;
  padding-left: 1.6rem;
  line-height: 1.2em;
  border-left: solid 1px #ffffff;
  margin-top: 6rem;
}



#outline h2 span {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  display: block;
  letter-spacing: normal;
  color:#fff;
}

#outline .visible {
  opacity: 1;
  transform: translateY(0); /* 通常位置に戻す */
}

#outline .hidden {
  opacity: 0;
  transform: translateY(-20px); /* 画面外に移動 */
}


/* h2が画面の50%に達したときに固定 */
#outline .fixed-position {
  position: fixed;
  top: 4.8rem;
  left: 2rem;
  z-index: 10; /* 他の要素より前面に表示 */
}
















#outline .ol-bg {
  width: 100%;
  background-color: #333;
  transition: width 0.8s ease-out;
  margin: 0 auto;
  border-radius: 2.4rem 2.4rem 0 0;
  box-shadow: rgba(84, 99, 129, 0.35) 0px 0px 35px 0px;
  position: relative;
  overflow: hidden;
}

#outline .ol-bg .ol-slide {
  position: absolute;
  bottom: -4rem;
  overflow: hidden;
}


#outline .ol-bg .ol-slide ul {
  display: flex;
}

#outline .ol-bg .ol-slide li {
  color: #444444;
  font-size: 18rem;
  font-weight: 700;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  letter-spacing: .08em;
  display: inline-block;
  white-space: nowrap;
  animation   : scrollAnime 60s linear infinite;
  margin-left: 3.6rem;
  line-height: 1em;
}

@keyframes scrollAnime{
  0% { transform: translateX(0)}
100% { transform: translateX(-100%)}
}


#outline .ol-wrap {
  display: flex;
  padding-bottom: 6rem;
  color: #fff;
  position: relative;
  z-index: 1;
  gap: 6rem;
}


#outline .ol-wrap .ol-box {
  flex: 1;
}

#outline .ol-wrap .ol-box dl {
  margin-top: 3.6rem;
}

#outline .ol-wrap .ol-box dt {
  padding-bottom: 0.6rem;
  margin-bottom: 0.6rem;
  font-weight: 500;
  font-size: clamp(1.6rem, 2vw, 1.8rem);
  border-bottom: solid 1px #636363;
}


#outline .ol-wrap .ol-box dd {
  margin-left: 0;
  font-size: clamp(1.4rem, 2vw, 1.6rem);
}

#outline .ol-wrap .ol-box dd a {
  color: #fff;
  text-decoration: underline;
}

#outline .ol-wrap .ol-box dd .day {
  font-weight: 500;
  display: inline-block;
  margin-right: 1.2rem;
}

#outline .ol-wrap .ol-box dd .num {
font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
}

#outline .ol-wrap .ol-box ul {
  margin: 0;
  padding: 0;
}


#outline .ol-wrap .ol-box ul li {
  margin-top: 1.2rem;
  margin-left: 2rem;
  font-size: clamp(1.2rem, 2vw, 1.4rem);
}

#outline .ol-wrap .ol-box .map {
  margin-top: 3.6rem;
}


#outline .ol-wrap .ol-box .map iframe {
  border-radius: 0.8rem;
}

footer {
  color: #dadada;
  position: relative;
  z-index: 2;
  text-align: center;
  margin: 1.2rem 0;
  display: flex;
  justify-content: space-between;
}

#detail footer {
  background-color: #333;
  margin: 0;
  padding: 1.2rem 0;
}

#detail footer .contents {
  display: flex;
  justify-content: space-between;

}

footer .footer-wrap {
  display: flex;
  justify-content: center;
  font-size: 1.2rem;
  gap: 0 2.4rem;
  align-items: center;
}


footer .footer-wrap a {
  color: #dadada;
  font-weight: 500;
  transition: all 0.5s ease-out;
}


footer .footer-wrap a:hover {
  color: #fff;
  text-decoration: underline;
}


footer .copyright {
  margin-top: 0.5rem;
  font-size: 1.2rem;
}




#detail {
  background-color: #e8e8e8;
}

#detail .title-wrap {
  padding-top: 10rem;
  /* padding-bottom:clamp(3.6rem, 2vw, 12rem); */
}

#detail .title-wrap .pre-wrap {
  display: flex;
  gap: 3.6rem;
}

#detail .title-wrap .pre-box {
  display: flex;
  gap: 2.4rem;
  align-items: center;
  flex: 1;
}

#detail .title-wrap .pre-box img {
  width: 100px;
}


#detail .pre-box {
  font-size:clamp(1.6rem, 4vw, 2rem);
  font-weight: 400;
  /* padding-left: 3.6rem; */
  letter-spacing: .15em;
  /* border-left: solid 1px #333; */
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
}

#detail .pre-box img {
  width: 150px;
}

#detail .pre-box span {
  display: block;
}

#detail .pre-box span.pre-ttl {
  font-size:clamp(1.4rem, 2vw, 1.6rem);
}


#detail .pre-box span.pre-name {
  font-size:clamp(1.6rem, 2vw, 2rem);
  font-weight: 500;
}

#detail h1 {
  font-size:clamp(3.2rem, 4vw, 4.8rem);
  background-image: linear-gradient(70deg, #333 45%, #a70d80 50%, #333 55%);
    background-size: 500% 100%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: shine 8s infinite ease-out;
    display: block;
    position: relative;
    animation-delay: -8.5s;
    font-weight: 400;
    letter-spacing: .15em;
    font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
    margin-top: 0;
}

#detail .title-wrap .num {
  letter-spacing: 0.2em;
   color: #2100A5;
   font-weight: 500;
   margin-bottom: -0.5rem;
   display: block;
   margin-top: 2.4rem;
}

#detail .title-wrap .num .ddd {
  font-size: 1.2rem;
}

/* プラポリ */
#privacy h1 {
  font-size: clamp(1.6rem, 4vw, 2rem);
  font-weight: 400;
  padding-left: 3.6rem;
  letter-spacing: .15em;
  border-left: solid 1px #333;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
}

#privacy h1 span {
  font-size: clamp(3.2rem, 4vw, 4.8rem);
  background-image: linear-gradient(70deg, #333 45%, #a70d80 50%, #333 55%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 8s infinite ease-out;
  display: block;
  position: relative;
  animation-delay: -8.5s;
}

#privacy .title-wrap {
  padding-top: 12rem;
  padding-bottom: clamp(3.6rem, 2vw, 12rem);
}


#privacy .area {
  padding-top: 0rem;
}

#privacy p {
  margin-bottom: 1.2rem;
}

#privacy h2 {
  margin-top: 6rem;
  font-size:clamp(2rem, 3vw, 2.4rem);
  color: #333;
  font-weight: 500;
  background: none;
}

#privacy dt {
  font-weight: 500;
  font-size:clamp(1.6rem, 2vw, 1.8rem);
}

#privacy dd {
  margin-inline-start: 20px;
  margin-top: 0.5rem;
  margin-bottom: 3.6rem;
}

#privacy .contact {
  margin-top: 6rem;
}

#detail #intro p {
  line-height: 2;
  font-size: clamp(1.4rem,2vw,1.6rem);
  margin-top: 2.4rem;
}

#detail #intro h2 {
  font-weight: normal;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  letter-spacing: .15em;
  transform: translateY(-20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  top: 0;
  padding-left: 1.6rem;
  line-height: 1.2em;
  border-left: solid 1px #333;
  background-image: linear-gradient(70deg, #333 45%, #a70d80 50%, #333 55%);
  background-size: 500% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: shine 8s infinite ease-out;
  display: block;
  position: relative;
  animation-delay: -8.5s;
}


#detail #intro h2:not(:first-of-type) {
  margin-top: clamp(8rem, 2vw, 12rem);
}

#detail #intro h2 span {
font-size: 1.4rem;
font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
display: block;
letter-spacing: normal;
color: #7b7b7b;
font-weight: 300;
}

#detail #intro .intro-wrap {
  display: flex;
  gap: 6rem;
  flex-direction: row-reverse;
  position: relative;
}

#detail #intro .intro-box:first-of-type {
  flex: 2;
}


#detail #intro .intro-box:nth-of-type(2) {
  flex: 1;
  max-width: clamp(450px,2vw,800px); /* お好みの幅に調整 */
  margin: 0 auto;
}

#detail #intro .intro-box.sticky {
  position: sticky;
  left: 0;
  height: 100%;
  top: 12rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.slider img {
  width: 100%;
  height: auto;
  display: block;
}

.slick-slider {
  padding-inline-start: unset;
  margin-block-start: unset;
  width: 80%;
}


/* #detail {
  background-image: url(../img/mv_dot.png);
  background-size: 100%;
  background-position: center center;
  background-attachment: fixed; 
} */


#detail #intro .agenda {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  list-style: none;
  counter-reset: item;
  padding-left: 0;
}

#detail #intro .agenda li {
  counter-increment: item;
  position: relative;
  padding-left: 2.5em; 
  margin-bottom: 0.5em;
  list-style: none;
  align-items: center;
  display: flex;
}

#detail #intro .agenda li::before {
  content: counter(item, decimal-leading-zero) ". ";
  position: absolute;
  left: 0;
  width: 2.5em;
  font-family: "Montserrat", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Segoe UI", "verdana", sans-serif;
  font-size: 2.4rem;
}

#detail #intro .pre-wrap {
  display: flex;
  gap: 3.6rem;
}

#detail #intro .pre-box h3 {
  font-weight: 500;
}

#detail #intro .pre-box .pre-ttl {
  display: block;
  font-size: clamp(1.2rem, 2vw ,1.4rem);
}

#detail .cta .btn {
  margin-top: 1.2rem;
  display: inline-block;
  background: #333;
}
#detail .cta .btn::before {
  background: #fff;
}

#detail .cta .btn:hover {
  color: #333;
}

#detail .ol-wrap {
  display: flex;
}

#detail .ol-box {
  flex: 1;
}

#detail .ol-box ul {
  gap: 2.4rem;
  display: flex;
  flex-direction: column;
  padding-left: 0;
}

#detail .ol-box ul li {
  list-style-type: none;
  display: flex;
  align-items: center;
}

#detail .ol-box ul li img {
  width: 2.4rem;
  height: auto;
}

#detail .ol-box ul li .blk {
  padding-left: 1.2rem;
}

#detail .ol-box ul li span.address {
  font-size: clamp(1.2rem,2vw,1.4rem);
}

#detail .ol-box ul li.num {
  font-size: clamp(1.8rem, 2vw, 2.4rem);
  letter-spacing: 0.05em;
}

#detail .ol-box ul li.num span.ddd {
  font-size: clamp(1.2rem,2vw,1.4rem);
  display: inline-block;
  font-weight: 500;
}

#detail .ol-box ul li a {
  text-decoration: underline;
}

#detail #keynote {
  background-color: #fff;
  padding-top: clamp(6rem, 2vw, 12rem);
  padding-bottom: clamp(6rem, 2vw, 12rem);
}

#detail #keynote h2 {
left: 0;
transform: none;
}

#detail .cta {
    width: 100%;
    background-image: linear-gradient(160deg, rgba(33, 0, 165, 1), rgba(167, 13, 128, 1));
    transition: width 0.8s ease-out;
    margin: 0 auto;
    box-shadow: rgba(84, 99, 129, 0.35) 0px 0px 35px 0px;
    position: relative;
    overflow: hidden;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    padding: 3.6rem 2.4rem;
    font-size: clamp(1.4rem,2vw,1.8rem);
    /* margin-top: clamp(0rem, 2vw, 12rem); */
}

#detail .cta h2 {
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 2.8rem);
}

.sp-view {
  display: none;
}



.sp-menu {
  display: none;
}

@media print,screen and (max-width:1440px){
  .contents {
   padding: 0;
  }
  #keynote .kn-wrap .kn-box {
    flex: 0 1 calc((100% - 2 * 3.6rem) / 3)
  }
} 


@media print,screen and (max-width:1024px){
  /* .circle svg {
  width: 100vw;
  height: 150vh;
} */
  #keynote .kn-wrap .kn-box {
    flex: 0 1 calc((100% - 3.6rem) / 2)
  }

  #keynote .kn-wrap .kn-box .kn-thum {
    flex-direction: column;
  }

  

  #keynote .kn-wrap .kn-box .kn-thum .kn-item .kn-place {
    text-align: left;
  }

 .mv-wrap {
  height: 90vh;
  justify-content: flex-end;
}



.mv-wrap h1 {
  margin-top: 4.8rem;
}


 .menu-box.pc-view {
    display: none;
  }

  #header.bk-blur {
    background: none;
    backdrop-filter:unset;
    -webkit-backdrop-filter:unset;
    padding-left: clamp(1.2rem, 2vw, 8rem);
    padding-right: clamp(1.2rem, 2vw, 8rem);
    margin: auto;
    margin-top: 1.2rem;
  }

  #header.bk-blur .head-wrap {
    padding: 1.2rem 2rem;
  }

  .circle svg {
    /* width: 100vw;
    height: 100vh; */
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    right: 0;
    /* left: 50%;
    transform: translate(-50%); */
  }
  /* #timeline .tl-wrap .tl-box {
    padding: 3.6rem;
  }

  #timeline .tl-wrap h3 {
    font-size: 3.2rem;
  }

  #timeline .tl-wrap h3 .sub {
    font-size: 1.6rem;
  } */

  .sp-menu {
    display: block;
}


.sp-menu-box {
    cursor: pointer;
    position: fixed;
    top: 1.2rem;
    right: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    width: 60px;
    z-index: 180;
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 50%;
}

.sp-menu-box span,
.sp-menu-box span::before,
.sp-menu-box span::after {
    content: "";
    position: absolute;
    display: block;
    height: 1px;
    width: 25px;
    border-radius: 3px;
    background: linear-gradient(160deg, rgba(33, 0, 165, 1), rgba(167, 13, 128, 1));
}

.sp-menu-box span::before {
    bottom: 8px;
}

.sp-menu-box span::after {
    top: 8px;
}

.sp-menu .content ul li.pulldown ul {
    padding-left: 2.4rem;
    padding-top: 0;
}



.sp-menu .content ul li.pulldown ul li {
    border-bottom: none;
}

#sp-menu-check {
    display: none;
}

#sp-menu-check:checked ~ .sp-menu-box span {
    background: rgba(255, 255, 255, 0);
}

#sp-menu-check:checked ~ .sp-menu-box span::before {
    bottom: 0;
    transform: rotate(45deg);
}

#sp-menu-check:checked ~ .sp-menu-box span::after {
    top: 0;
    transform: rotate(-45deg);
}

.sp-menu .content {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 100%;
    z-index: 150;
    background-color: #F4F4F4;
    transition: all .5s;
    overflow-x: scroll;
}

.sp-menu .content ul {
    padding: 1.2rem 1.2rem 1.2rem;
    background-color: #F4F4F4;
    overflow-y: hidden;
}

.sp-menu .content ul li {
    border-bottom: solid 1px #e8e8e8;
    list-style: none;
}

.sp-menu .content ul li a {
    font-weight: 500;
    display: block;
    width: 100%;
    font-size: 1.4rem;
    box-sizing: border-box;
    text-decoration: none;
    padding: 2rem;
}

#sp-menu-check:checked ~ .content {
    left: 0;
}

.sp-menu .btn {
    margin: 1.2rem auto;
}

.sp-menu .btn a {
    margin-left: -1.7rem;
}

.sp-menu .content img {
    width: 20rem;
}

.sp-menu .btn {
    text-align: center;
}

.sp-menu .btn a {
    position: relative;
}

.sp-menu .btn a span.btn-txt {
    padding: 1.2rem 1.6rem;
    border-radius: 50px;
    display: inline-block;
    width: 100%;
    background-color: #247754;
    color: #fff;
    font-weight: bold;
    border: solid 1px #247754;
    transition: 0.2s ease-in-out;
}

.sp-menu .btn a:hover span.btn-txt {
    background-color: #fff;
    color: #247754;
}

.sp-menu .btn a span {
  padding: 1.2rem 2.4rem;
  border-radius: 50px;
  display: inline-block;
  min-width: 24rem;
  background: linear-gradient(160deg, rgba(33, 0, 165, 1), rgba(167, 13, 128, 1));
  color: #fff;
  font-weight: 400;
  transition: 0.2s ease-in-out;
  box-sizing: border-box;
  position: relative;
} 
}

@media print,screen and (max-width:929px){
  #timeline .tl-wrap {
    flex-direction: column;
  }
  .kn-buttons {
    flex-direction: column;
  }

  .kn-button {
    padding: 3.6rem 0rem 1.2rem;
  }

  
  .circle svg {
  height: 100%;
  width: auto;
}

.bg-wrap .scroll {
  right: 0;
  bottom: 1.2rem;
}

footer,
#detail footer .contents {
  flex-direction: column-reverse;
}


footer .footer-wrap {
  gap: 0 1.2rem;
}

#keynote .kn-wrap {
  grid-template-columns: repeat(2, 1fr);
}

#detail .title-wrap .pre-wrap {
  flex-direction: column;
}

#detail #intro .intro-wrap {
  flex-direction: column-reverse;
}

#detail #intro .intro-box.sticky {
  position: relative;
  top: auto;
}


.slick-slider {
  width: 100%;
}


}


@media print,screen and (max-width:520px){
  .sp-view {
    display: block;
  }

  header .head-wrap {
    padding: 1.2rem 0rem;
  }
  #keynote .kn-wrap .kn-box .kn-thum {
    justify-content: left;
    align-items: center;
  }

  #keynote .kn-wrap {
    gap: 2.4rem 0;
  }

  
#keynote .kn-wrap {
  grid-template-columns: repeat(1, 1fr);
}

  #keynote .kn-wrap .kn-box {
    flex: 0 1 calc((100% - 1.2rem))
  }


  #outline .ol-wrap {
    flex-direction: column;
    padding: 0 2rem;
    gap: 0;
  }

  #about .about-wrap p {
    text-align: left;
  }

  #about .about-wrap p .blk {
    display: inline;
  }

  #timeline .tl-wrap .tl-cnt.lineDown::after {
    left: 6.4rem;
  }

  #timeline .tl-wrap .tl-item .tl-time::before {
    left: 6.2rem;
  }

  #timeline .tl-wrap .tl-item .tl-link {
    padding-left: 0;
  }

  #timeline .tl-wrap .tl-item .tl-link .tl-dtl .tl-btn .btn-txt {
    letter-spacing: 0.05em;
  }

  .circle svg {
    position: absolute;
    /* top: 40%; */
    top: 40%;
    /* top: 0; */
    height: 60%;
    /* transform: translateY(-50%); */
    right: -6rem;
  }



  header .head-wrap .logo svg {
    width: 10rem;
  }

  .mv-wrap .mv-box.copy {
    margin-top: 3.6rem;
  }

  #about .reserve-wrap p {
    text-align: left;
  }

  #detail h1 {
    border: none;
    padding-left: 0;
    padding-bottom: 6rem;
    border-bottom: solid 1px #aaaaaa;
  }

#detail #intro .intro-box:nth-of-type(2) {
  max-width: 320px;
}

#detail #intro .pre-wrap {
  gap: 2.4rem;
  align-items: center;
}

#detail .pre-box img {
  width: 100px;
}

#detail .ol-wrap {
  flex-direction: column;
}

.slide-box ul li img {
  width: 200px;
}
}
