@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+P+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yomogi&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Tokumin&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	font-size: 62.5%;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

body {
  position: relative;
  min-height: 100vh;
  overflow-x: hidden;
}

header {
	width: 100%;
	height: 500px;
	margin: 0px auto;
	text-align: center;
	font-size: 280%;
	padding: 20px 0 0 0;
	color: #fff;
    font-family: "Kaisei Tokumin", serif;
    font-weight: 400;
    font-style: normal;
	text-shadow: 2px 2px 4px #2BA4CD;
    display: flex;
    flex-direction: column;
    justify-content: center; /* 垂直方向のセンタリング */
    align-items: center; /* 水平方向のセンタリング */
    position: relative; /* 相対位置を基準にする */
}

h1 {
    position: absolute;
	width: 100%;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 76%; /* 必要に応じてサイズ調整 */
	line-height: 110%;
	font-weight: normal;
}

.bottom-text {
    position: absolute;
	width: 100%;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 70%; /* 必要に応じてサイズ調整 */
}

.left-text {
    position: absolute;
	width: 30px;
    top: 70px;
    left: 2px;
    transform: translateX(-50%);
    font-size: 70%; /* 必要に応じてサイズ調整 */
    writing-mode: horizontal-tb; /* 横書きを保つ */
    transform: rotate(90deg); /* テキストを90度回転 */
    transform-origin: right top; /* 回転の基点を設定 */
    white-space: nowrap; /* テキストの折り返しを防ぐ */
    letter-spacing: 0.4em; /* 文字間を少し広げる */
}

.right-text {
    position: absolute;
	width: 30px;
    top: 130px;
    right: 2px;
    transform: translateX(-50%);
    font-size: 70%; /* 必要に応じてサイズ調整 */
    writing-mode: horizontal-tb; /* 横書きを保つ */
    transform: rotate(90deg); /* テキストを90度回転 */
    transform-origin: right top; /* 回転の基点を設定 */
    white-space: nowrap; /* テキストの折り返しを防ぐ */
    letter-spacing: 0.4em; /* 文字間を少し広げる */
}

h1::before,.bottom-text::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: #2BA4CD;
    filter: blur(30px); /* ぼかし効果 */
    z-index: -1; /* テキストの後ろに配置 */
}

header p{
	font-size:260%;
	margin-top: -20px;
	letter-spacing: -10px;
	font-feature-settings: "kern";
	}

@media (max-width: 768px) {

header {
	font-size: 220%;
}

.top-text {
    font-size: 70%; /* 必要に応じてサイズ調整 */
}

.bottom-text {
    font-size: 90%; /* 必要に応じてサイズ調整 */
}

header p{
	font-size:260%;
	}

}

.sub_title{
	width:100%;
	margin: 60px auto 60px auto;
	text-align: center;
	color:#fff;
	text-shadow: 2px 2px 4px #2BA4CD;
    display: flex;
    flex-direction: column;
    justify-content: center; /* 垂直方向のセンタリング */
    align-items: center; /* 水平方向のセンタリング */
    position: relative; /* 相対位置を基準にする */
	}

.sub_title::before {
    content: '';
    position: absolute;
    top: -15%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 100%;
	height:130%;
    background: #2BA4CD;
    filter: blur(20px); /* ぼかし効果 */
    z-index: -1; /* テキストの後ろに配置 */
}

h2{
	margin: 0px auto;
	text-align: center;
	font-family: "Aoboshi One", serif;
	font-weight: 400;
	font-style: normal;
	font-size:260%;
  }

.sub_title p{
	width:100%;
	margin: 0px auto;
	text-align: center;
	font-size:200%;
	}

footer {
	width: 100%;
	background: #1048AB;
	opacity: 0.9;
	text-align: center;
	font-size: 160%;
	margin: 50px auto 0px auto;
	padding: 0;
	}

footer p.top1{
	background: #fff;
	color: #3E9CDD;
	padding: 10px 0px;
	text-align: center;
	}

footer p.top2{
	background: #278FE6;
	color:#fff;
	padding: 10px 0px;
	text-align: center;
	}

footer p.top3{
	padding: 10px;
	}

/* -----------------------------
 ページ背景（動画）
----------------------------- */

.video-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

#bg-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.wrap {
  position: relative;
  z-index: 1;
  padding: 0px;
  color: #000; /* テキストの色を白に設定 */
}

/* -----------------------------
 スライドバナー
----------------------------- */

.slide_wrap{
	width:95%; margin: 20px auto 0px auto; padding:0; box-sizing: border-box;
	}

.slide_wrap img{
	border: 5px #fff solid;
	}

.thumb-item{
	width:94%;
	margin: 0px auto 10px auto;
	box-sizing:border-box;
	}

.thumb-item img{
	width:100%;
	max-width: 800px;
	display: block;
	margin: 0px auto;
	}

.thumb-item-nav{
	width:95%; margin: 20px auto 0px auto; padding:0; box-sizing: border-box;
	}

/* -----------------------------
 Navigation LIST
----------------------------- */

.navi-list {
  list-style: none;
  margin: 0;
  padding: 0px;
  display: flex;
  flex-wrap: wrap; /* フレックスボックスで複数段に対応 */
  width: 100%;
  height: auto; /* 高さは自動で調整 */
  background: repeating-linear-gradient(
    45deg, /* 45度の斜め方向 */
    #2BA4CD, /* 最初の色 */
    #2BA4CD 10px, /* 最初の色の終わり */
    #30B0D1 10px, /* 2色目の始まり */
    #30B0D1 20px /* 2色目の終わり */
  ); 
  color: #fff;
  font-size: 160%;
  font-family: "Kaisei Tokumin", serif;
  font-weight: 400;
  font-style: normal;
  box-shadow: 0px 4px 10px rgba(255, 255, 255, 0.5); /* 下に白のぼかしを追加 */
}


.navi-list li {
  flex: 1 0 calc(100% / 9); /* パソコンの場合、8段 */
  display: flex;
  flex-direction: column; /* 縦方向に配置 */
  align-items: center;
  justify-content: center;
  border-right: 1px dotted #fff; /* 視覚的な区切りのためのボーダー */
  box-sizing: border-box; /* ボーダーのサイズを含める */
  text-align: center; /* テキストを中央揃え */
  height: 70px; /* 任意の高さを指定 */
  transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}

.navi-list li a {
  display: flex; /* フレックスボックスを使う */
  flex-direction: column; /* 縦方向に配置 */
  align-items: center;
  justify-content: center;
  width: 100%; /* リンクの幅を親の幅に合わせる */
  height: 100%; /* リンクの高さを親の高さに合わせる */
  text-decoration: none; /* デフォルトのリンク下線を削除 */
  color: inherit; /* リンクの色を親要素から継承 */
  box-sizing: border-box; /* ボーダーのサイズを含める */
}

.navi-list li:hover {
  background: #fff;
  color: #2BA4CD;
  transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}

.navi-list li:hover a {
  color: #2BA4CD; /* リンク内のテキスト色も変更 */
}

.navi-list li p {
  margin: 0;
  margin-top: -5px; /* 適切な間隔を指定 */
}

.navi-list li:last-child {
  border: none;
}

/* メディアクエリを追加してスマホ用に4段のグリッドを設定 */
@media (max-width: 768px) {
.navi-list {
  padding: 0px 0px;

  }
  .navi-list li {
    flex: 1 0 calc(100% / 4); /* スマホの場合、4段 */
	font-size:70%;
	line-height: 180%;
  }

  .navi-list li:nth-child(-n+4) {
    border-bottom: 1px dotted #fff; /* 1行目にボーダーを追加 */
  }
  
   .navi-list li:nth-child(-n+8) {
    border-bottom: 1px dotted #fff; /* 1行目にボーダーを追加 */
  }
}

.pcnone {
   display: none;
}

@media (max-width: 768px) {
  .pcnone {
    display: block;
  }
}


.spnone {
   display: block;
}

@media (max-width: 768px) {
  .spnone {
    display: none;
  }
}

/* -----------------------------
 wrap
----------------------------- */

.w_wrap{
	width:100%;
	margin: 20px auto 0px auto;
	padding: 80px 0;
	background: #fff;
	opacity: 0.9;
	}

@media (max-width: 768px) {

.w_wrap{
	width:100%;
	margin: 20px auto 0px auto;
	padding: 30px 0;
	background: #fff;
	opacity: 0.9;
	}

}

/* -----------------------------
 NewInfo
----------------------------- */

.new-info {
  display: flex;
  align-items: center; /* 垂直センタリング */
  margin: 0 auto;
  width: 96%;
  max-width: 1000px;
  border-bottom: 1px #666 dotted;
  box-sizing: border-box;
}

.new-info img{
	width:50px;
	height: auto;
	margin: 4px 0px;
	}

.new-info p.left {
  padding: 20px 0;
  margin: 0;
  font-size: 130%;
  text-align: left;
  width: 100px; /* 固定幅 */
  box-sizing: border-box;
}

.new-info p.right {
  padding: 20px 10px;
  margin: 0;
  font-size: 160%;
  text-align: left;
  width: calc(100% - 100px); /* 残りの幅を計算 */
  box-sizing: border-box;
}

.new-info.animate {
  opacity: 1; /* 表示状態 */
  transform: translateY(0); /* 元の位置に移動 */
}

.thumbnail-container {
	display: flex;
	flex-wrap: wrap;
	gap: 10px; /* サムネイル間の隙間を調整 */
}

.l-none{
	text-decoration: none;
	color:#000;
	}

.new-info:hover{
	background: #D4E4F8;
	transition: background-color 0.9s ease;
	}

.thumbnail {
	width: 100px; /* 正方形のサイズを指定 */
	height: 100px; /* 正方形のサイズを指定 */
	overflow: hidden;
	position: relative;
	border: 1px solid #ddd; /* サムネイルの枠線 */
	margin: 5px 0px;
}

.thumbnail img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	min-width: 100%;
	min-height: 100%;
}

/* -----------------------------
 SystemInfo
----------------------------- */

.system-info-title {
  align-items: center; /* 垂直センタリング */
  margin: 0 auto;
  width: 94%;
  max-width: 1000px;
  font-size:180%;
  padding: 8px;
  background-color: #278FE6;
  color: #fff;
  }

.system-info {
  display: flex;
  align-items: center; /* 垂直センタリング */
  margin: 10px auto 30px auto;
  width: 94%;
  max-width: 1000px;
  box-sizing: border-box;
  opacity: 0; /* 初期状態では透明にする */
  transform: translateY(50px); /* 初期状態では30px下に配置 */
  transition: opacity 0.6s ease, transform 0.6s ease; /* アニメーションの設定 */
}

.system-info.min {
	margin-top: -60px;
	}

.system-info p.left {
  padding: 20px 0;
  margin: 0;
  font-size: 160%;
  text-align: left;
  width: 140px; /* 固定幅 */
  box-sizing: border-box;
}

.system-info p.right {
  padding: 20px 0;
  margin: 0;
  font-size: 160%;
  text-align: left;
  width: calc(100% - 140px); /* 残りの幅を計算 */
  box-sizing: border-box;
}

.system-info p.right span{
	font-size:180%;
	}

.system-info.animate {
  opacity: 1; /* 表示状態 */
  transform: translateY(0); /* 元の位置に移動 */
}

/* -----------------------------
 EventInfo
----------------------------- */

.event-info-title {
  align-items: center; /* 垂直センタリング */
  margin: 0 auto;
  width: 94%;
  max-width: 1000px;
  font-size:180%;
  padding: 8px;
  background-color: #2C3E50;
  color: #fff;
  }

.event-info {
  display: flex;
  align-items: center; /* 垂直センタリング */
  align-items: flex-start; /* 水平方向を上寄せ */
  margin: 10px auto 30px auto;
  width: 94%;
  max-width: 1000px;
  box-sizing: border-box;
  opacity: 0; /* 初期状態では透明にする */
  transform: translateY(50px); /* 初期状態では30px下に配置 */
  transition: opacity 0.6s ease, transform 0.6s ease; /* アニメーションの設定 */
}

.event-info p.left {
  padding: 20px 0;
  margin: 0;
  font-size: 160%;
  text-align: left;
  width: 50%; /* 固定幅 */
  box-sizing: border-box;
}

.event-info p.left.p30 {
	width:30%;
	}

.event-info p.left img{
	width:100%;
	}

.event-info p.right {
  padding: 20px;
  margin: 0;
  font-size: 160%;
  text-align: left;
  width: calc(100% - 50%); /* 残りの幅を計算 */
  box-sizing: border-box;
}

.event-info p.right.p70 {
  width: calc(100% - 30%); /* 残りの幅を計算 */
  }

.event-info p.right span{
	font-size:180%;
	}

.event-info.animate {
  opacity: 1; /* 表示状態 */
  transform: translateY(0); /* 元の位置に移動 */
}

@media (max-width: 768px) {

.event-info {
	display: block;
	width: 98%;
	}

.event-info p.left {
	display: block;
  margin: 5px auto 0px auto;
  text-align: center;
  width: 98%; /* 固定幅 */
  box-sizing: border-box;
}

.event-info p.right {
display: block;
  margin: 0px auto;
  padding: 0;
  font-size: 160%;
  text-align: left;
  width: 96%;
  box-sizing: border-box;
}

.event-info p.left.p30 {
	display: block;
  margin: 5px auto 0px auto;
  text-align: center;
  width: 95%; /* 固定幅 */
  box-sizing: border-box;
}

.event-info p.right.p70 {
display: block;
  margin: 0px auto;
  padding: 0;
  font-size: 160%;
  text-align: left;
  width: 90%;
  box-sizing: border-box;
}

}

/* -----------------------------
 EtcInfo
----------------------------- */

.etc-info {
  margin: 0 auto 80px auto;
  width: 98%;
  text-align: left;
  max-width: 1000px;
  font-size:180%;
  padding: 15px 20px;
  color:#fff;
  text-shadow: 2px 2px 4px #000;
  display: flex;
  flex-direction: column;
  justify-content: center; /* 垂直方向のセンタリング */
  align-items: center; /* 水平方向のセンタリング */
  position: relative; /* 相対位置を基準にする */
  }

.etc-info::before {
    content: '';
    position: absolute;
    top: -5%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 100%;
	height:110%;
    background: #2BA4CD;
    filter: blur(10px); /* ぼかし効果 */
    z-index: -1; /* テキストの後ろに配置 */
	opacity: 0.8;
}



/* -----------------------------
 girls LIST
----------------------------- */

.Gslider-container {
    width: 100%;
    max-width: 1000px;
    overflow: hidden;
    margin: auto;
    position: relative;
}

.Gslider {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: calc(200%); /* To accommodate the cloned items */
    transition: transform 1s linear;
}

.Gslider li {
    flex: 0 0 10%; /* Each item takes 10% of the container's width since we have 10 items */
    text-align: center;
    box-sizing: border-box;
    font-size: 80%;
    background: #f0f0f0;
    padding: 20px;
    margin: 0; /* Ensure no margin to prevent misalignment */
    position: relative;
}

.Gslider li.none {
    border: 1px #fff solid;
    background: none;
    box-shadow: 0px 4px 10px #ffffff;
    padding: 0;
    line-height: 1; /* 行間をなくす */
    margin: 5px; /* 外側の余白をなくす */
    display: block; /* ブラウザのデフォルトの余白をなくす */
}

.Gslider li.none img {
    margin: 0;
}

.Gslider li a {
    display: block; /* リンク全体をブロック要素にする */
    width: 100%;
    text-decoration: none; /* デフォルトのリンク下線を削除 */
    color: inherit; /* リンクの色を親要素から継承 */
    box-sizing: border-box; /* ボーダーのサイズを含める */
}

.Gslider li img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto;
}

.Gslider li img:hover {
    opacity: 0.8;
    transition: opacity 0.6s ease;
}

.Gslider li .mark {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px; /* マーク画像のサイズに合わせて調整 */
    height: auto; /* マーク画像のサイズに合わせて調整 */
}

.Gslider li .times {
    position: absolute;
    width: 80%;
    text-align: center;
    font-size: 190%;
    bottom: 10px; /* 画像の下から10px */
    left: 50%; /* 左端から50% */
    transform: translateX(-50%); /* 左端から50%に移動した後、中央に寄せる */
    color: white; /* テキストの色 */
    padding: 5px 10px; /* 内側の余白 */
    border-radius: 15px; /* 角を丸くする（オプション） */
    white-space: nowrap; /* テキストが折り返されないようにする（オプション） */
}

.Gslider li .times::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(43, 164, 205, 0.8); /* 背景色を追加（オプション） */
    border-radius: 15px; /* 親要素のborder-radiusに合わせる */
    z-index: -1; /* 背景をテキストの後ろに配置 */
}

@media (max-width: 600px) {
    .Gslider li {
        flex: 0 0 24%; /* Each item takes 50% of the container's width since we have 2 items per view */
    }
}


/* -----------------------------
 girls LIST
----------------------------- */

.girls-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto; /* コンテナを中央に配置 */
  box-sizing: border-box; /* ボーダーのサイズを含める */
  padding: 0; /* パディングをリセット */
  z-index: 1000;
}

.girls-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* デフォルトは3列のグリッド */
  grid-auto-rows: auto; /* 行の高さを自動で調整 */
  gap: 5px; /* アイテム間のギャップを設定 */
  padding: 0; /* パディングをリセット */
  list-style: none; /* デフォルトのリストスタイルを削除 */
}

.girls-list li {
  position: relative;
  font-size: 80%;
  padding: 5px;
  background: #fff;
  border: 1px solid #2BA4CD;
  opacity: 0.9;
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.girls-list li.none{
	border: 1px #fff solid;
	background: none;
	box-shadow: 0px 4px 10px #ffffff;
	padding: 0;
    line-height: 1; /* 行間をなくす */
    margin: 5px; /* 外側の余白をなくす */
    display: block; /* ブラウザのデフォルトの余白をなくす */
	}
	
.girls-list li.none img{
	margin: 0;
	}

/* 左から右にスライドするアニメーション */
.girls-list li.slide-right {
  opacity: 0;
  transform: translateX(40px);
}

.girls-list li.slide-right.animate {
  opacity: 1;
  transform: translateX(0);
}

/* 右から左にスライドするアニメーション */
.girls-list li.slide-left {
  opacity: 0;
  transform: translateX(-40px);
}

.girls-list li.slide-left.animate {
  opacity: 1;
  transform: translateX(0);
}

.girls-list li a {
  display: block; /* リンク全体をブロック要素にする */
  width: 100%;
  text-decoration: none; /* デフォルトのリンク下線を削除 */
  color: inherit; /* リンクの色を親要素から継承 */
  box-sizing: border-box; /* ボーダーのサイズを含める */
}

.girls-list li img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px; /* 画像とキャプションの間に少しマージンを追加 */
  transition: opacity 0.6s ease;
}

.girls-list li img:hover {
	opacity: 0.8;
	transition: opacity 0.6s ease;
	}

.girls-list li .mark {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px; /* マーク画像のサイズに合わせて調整 */
  height: auto; /* マーク画像のサイズに合わせて調整 */
}

.girls-list li .times {
  position: absolute;
  width: 80%;
  text-align: center;
  font-size: 190%;
  bottom: 105px; /* 画像の下から10px */
  left: 50%; /* 左端から50% */
  transform: translateX(-50%); /* 左端から50%に移動した後、中央に寄せる */
  color: white; /* テキストの色 */
  padding: 5px 10px; /* 内側の余白 */
  border-radius: 15px; /* 角を丸くする（オプション） */
  white-space: nowrap; /* テキストが折り返されないようにする（オプション） */
}

.girls-list li .times::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(43, 164, 205, 0.8); /* 背景色を追加（オプション） */
  border-radius: 15px; /* 親要素のborder-radiusに合わせる */
  z-index: -1; /* 背景をテキストの後ろに配置 */
}

.caption {
  text-align: center; /* キャプションを中央揃え */
  margin-bottom: 5px; /* キャプションのマージンをリセット */
  padding: 0; /* キャプションのパディングをリセット */
  font-size: 180%;
  overflow: hidden; /* はみ出たテキストを隠す */
  word-wrap: break-word; /* 長い単語を折り返す */
  overflow-wrap: break-word; /* 長い単語を折り返す */
}

.caption span{
 	color:#ff3399;
	}

.caption small{
	font-size:80%;
	}

.caption b{
 	display: block;
	font-size: 160%;
	color: rgba(43, 164, 205, 1); 
	}

/* メディアクエリを追加してスマホ用に2列のグリッドを設定 */
@media (max-width: 768px) {
  .girls-list {
    grid-template-columns: repeat(2, 1fr); /* スマホの場合は2列のグリッド */
  }
}

/* -----------------------------
 出勤日付
----------------------------- */

.schedule-daylist {
  display: flex;
  flex-wrap: wrap; /* 折り返しを有効にする */
  justify-content: space-between; /* 均等に配置 */
  width: 100%; /* 全体の幅を100%に設定 */
  max-width: 1000px;
  margin: 0 auto 30px auto;
  padding: 0;
  list-style: none; /* リストスタイルを削除 */
  font-family: "Kaisei Tokumin", serif;
  font-weight: 400;
  font-style: normal;
}

.schedule-daylist dt {
  flex: 1 0 calc(14.28% - 4px); /* 各項目を均等に幅を取る（7個分均等に） */
  max-width: calc(14.28% - 4px); /* 各項目の最大幅を指定 */
  text-align: center; /* テキストを中央揃え */
  border: 1px solid #ccc; /* 任意のボーダー */
  padding: 0; /* 内側の余白 */
  box-sizing: border-box; /* ボーダーを含めたボックスサイズ */
  margin: 2px; /* dtのデフォルトマージンをリセット */
  border-radius: 8px;
  background: repeating-linear-gradient(
    45deg, /* 45度の斜め方向 */
    rgba(43, 164, 205, 0.8), /* 最初の色 */
    rgba(43, 164, 205, 0.8) 10px, /* 最初の色の終わり */
    rgba(67, 184, 227, 0.8) 10px, /* 2色目の始まり */
    rgba(67, 184, 227, 0.8) 20px /* 2色目の終わり */
  ); 
  font-size: 180%;
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* テキストの影を追加 */
  transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}


.schedule-daylist dt.off {
  background: #fff;
  color: #000;
  text-shadow:none;
}

.schedule-daylist dt a {
  display: block; /* <a> をブロック要素にすることで、親の <dt> 全体をリンクにする */
  width: 100%;
  height: 100%;
  padding: 8px 0;
  color: inherit; /* テキストの色を親要素から継承 */
  text-decoration: none; /* デフォルトのリンクの下線を削除 */
  transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}

.schedule-daylist dt a:hover {
  background-color: rgba(43, 164, 205, 0.5); /* ホバー時の背景色 */
  transition: background-color 0.9s ease; /* 背景色の変化をゆっくりと */
}

/* スマホ版用のスタイル */
@media (max-width: 768px) {
  .schedule-daylist {
    flex-wrap: wrap; /* 折り返しを有効にする */
  }

  .schedule-daylist dt {
    flex: 1 0 calc(33.33% - 4px); /* 3段ずつに配置するための幅調整 */
    max-width: calc(33.33% - 4px); /* 各項目の最大幅を指定 */
    margin: 2px; /* マージンを維持 */
  }

  .schedule-daylist dt.full-width {
    flex: 1 0 92%; /* 幅92% */
    max-width: 92%; /* 最大幅92% */
    margin: 0 auto; /* センタリング */
    clear: both; /* 要素の前後の浮動要素をクリア */
  }
}

/* -----------------------------
 プロフィールページ
----------------------------- */

.profile_wrap {
    width: 100%;
    max-width: 1000px;
    margin: 5px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start; /* 上詰めにするために追加 */
}

.profile_wrap .left {
    width: 50%;
    box-sizing: border-box; /* 余白やボーダーを含めた幅調整のために追加 */
}

.profile_wrap .right {
    width: 50%;
    box-sizing: border-box; /* 余白やボーダーを含めた幅調整のために追加 */
	font-size:160%;
	padding: 10px 10px 10px 20px;
}

.slider6-wrap {
  width: 100%;
  position: relative;
  display: block;
}
.slider-6 .slick-slide {
  height: auto;
  overflow: hidden;
}

.slider-6 .slick-slide img {
  display: block;
  width: 98%;
  max-width: 700px;
  height: auto;
  margin: 0px auto;
   border: 5px #fff solid;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
}


.thumbs_dots {
	width:100%;
	margin: -80px auto 0px auto;
	text-align:center;
	position: absolute;
}
.thumbs_list li {
  display: inline-block;
  margin: 0px 5px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  opacity: 0.8;
  cursor: pointer;
  transition: opacity 0.3s;
  border: 3px #fff solid;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
}

.thumbs_list li.slick-active {
  opacity: 1;
}

table.type-week {
    border-collapse: separate;
    border-spacing: 1px;
    line-height: 1.5;
    margin: 0 auto;
    margin-top: 25px;
    margin-bottom: 35px;
    text-align: center;
    width: 100%;
	max-width: 1000px;
	font-size:150%;
  }
  table.type-week th {
    background: #2BA4CD;
    color: #fff;
    font-weight: 600;
  }
  table.type-week td, table.type-week th {
    padding: 10px;
    vertical-align: top;
    width: 155px
  }
  table.type-week td {
    background: #fff;
    border: 1px solid #0041ae;
    font-weight: 600;
  }


@media (max-width: 768px) {

.profile_wrap {
    width: 100%;
    max-width: 1000px;
    margin: 5px auto;
}

.profile_wrap .left {
	display: block;
	margin: 5px auto;
	text-align: center;
    width: 96%;
    box-sizing: border-box; /* 余白やボーダーを含めた幅調整のために追加 */
}

.profile_wrap .right {
	display: block;
	margin: 5px auto;
    width: 96%;
    box-sizing: border-box; /* 余白やボーダーを含めた幅調整のために追加 */
	font-size:160%;
	padding: 10px;
}

.thumbs_dots {
	width:100%;
	margin: -70px auto 0px auto;
	text-align:center;
	position: absolute;
}

.thumbs_list li {
  display: inline-block;
  margin: 0px 5px;
  width: 60px;
  height: 60px;
  }
  
table.type-week {
  border-collapse: separate;
  border-spacing: 1px;
  margin-left:15px;
  text-align: center;
  table-layout: fixed; /* テーブルのレイアウトを固定 */
}

table.type-week th, table.type-week td {
  font-size: 120%;
  padding: 5px 0;
  vertical-align: top;
  box-sizing: border-box; /* パディングやボーダーを含めた幅調整 */
  width: 120px; /* 個別に幅を設定 */
}




}