html {
    font-family: "Noto Sans JP", serif;
    scroll-behavior: smooth;
}

.pop {
  font-family: "Poppins", serif;
}
.container {
  width: 90%;
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.flex dt {
  /* 固定幅の場合 */
  /* flex: 0 0 400px; */
  /* もしくは、割合で指定する場合（例: 30%） */
  flex: 0 0 30%;
}

.flex dd {
  flex: 70%; /* 残りの幅を占有 */
}
@media only screen and (max-width: 768px) {
  .flex dt {
    /* 固定幅の場合 */
    /* flex: 0 0 400px; */
    /* もしくは、割合で指定する場合（例: 30%） */
    flex: 0 0 19%;
  }
  
  .flex dd {
    flex: 81%; /* 残りの幅を占有 */
  }
}

/* ページトップに遷移するボタン */
/* ボタン全体 */
#page_top {
  width: 80px;
  height: 80px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  background: gray;
  border-radius: 50%;
  opacity: 0.6;
  z-index: 5;
  }
  
  /* Font Awesome */
  #page_top::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f106';
  font-size: 45px;
  color: rgb(255, 255, 255);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -48%;
  }
  @media only screen and (max-width: 768px) {
    #page_top {
      width: 60px;
      height: 60px;
      bottom: 30px;
    }
  }

/* ヘッダー */
header{
padding: 27px 0;
}
.logo {
  width: 200px;
  height: 100px;
  margin-left: 1%;
  margin-bottom: 10px;
}
/* .logo span {
  color: #deb887;
} */
.logo img {
  width: 200px;
  height: 100px;
}
.header_nav {
  padding-left: 0;
  margin-right: 5%;
}
.header_nav nav {
  height: 100px;
}
.header_menu {
  padding-top: 10%;
  transform: translateY(0%);
}
.header_menu li {
  margin-left: 40px;
  margin-bottom: 10px;
  border-left: solid 2px #ff5c20;
  border-bottom: solid 1px #999;
}
.header_menu li a {
  transition: 0.3s;
}
.header_menu li a:hover {
  color: #deb887;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .logo {
    margin-bottom: 0;
  }
  .header_nav {
    padding-left: 3%;
    height: 95px;
  }
  .header_nav nav {
    height: 95px;
  }
  .header_menu {
    margin-top: auto;
    margin-bottom: auto;
    padding-top: 10%;
  }
  header .container{
    justify-content: center;
  }
  .header_menu li {
    display: flex;
    margin-left: 0;
    margin-right: 1%;
  }
}

/* メイン */

/* ヒーロー */
#hero{
background-image: url(..//images/HERO.jpg);
background-position: center;
background-size: cover;
height: 840px;
width: 100%;
border-radius: 30px;
display: flex;
align-items: center;
margin-bottom: 0px;
overflow: hidden;
}
#hero::before{
  content: '';
  width: 100%;
  background-color: black;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.2;
  z-index: 1;
}
.hero_inner{
  z-index: 2;
  color: aliceblue;
  width: 100%;
  text-align: center;
}
.hero_inner p {
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 16px;
}
.hero_inner h1 {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 30px;
}
.hero .filter {
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  #hero{
    border-radius: 10px;
    height: 540px;
  }
  #hero.hero_container {
    height: 320px
  };
  .hero_inner p {
      font-size: 15px;
  }
  .hero_inner h1 {
      font-size: 17px;
  }
}
/* Googleに読ませるが、画面上には表示しない設定（Screen Reader Only） */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* グローバルナビゲーション */
ul.gnav-navi-1{
  background: #fffacd;
  padding: 0;
  text-align: center;
}
  ul.gnav-navi-1 li{
  display: inline-block;
} 
  ul.gnav-navi-1 li a{
  display: block;
  padding: 1em;
  color: #ff5c20;
  text-decoration: none;
  transition: 0.3s;
}
  ul.gnav-navi-1 a::first-line{
  font-size: 16px;
  font-weight: bold;
}
  ul.gnav-navi-1 li:hover{
    background: #f5deb3;
    transition: 0.3s;
}
@media only screen and (max-width: 768px) {
    ul.gnav-navi-1 li{
      border: solid 1px #999;
      border-style: none none solid none;      
    }
    ul.gnav-navi-1 a::first-line{
    font-size: 16px;
    font-weight: bold;
  }
}

/* カルーセルの外枠 */
.carousel {
  width: 100%;
  height: 320px;
  display: flex;    /* 子要素を横に並べる */
  margin: 0 auto;   /* 水平方向中央寄せ */
  overflow: hidden;
}
/* カルーセル内の画像 */
.carousel img {
  margin: 0;
  padding: 0;
  display: block; /* imgタグの改行のすき間を消すため */
}
.carousel .filter {
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
/* スクロールアニメーションのキーフレーム */
@keyframes scroll {
  /* 初期位置は1個目の画像が左端 */
  0% { margin-left: 0}      
  10% { margin-left: -0%; }      
  20% { margin-left: -30%; }
  25% { margin-left: -30%; }
  28% { margin-left: -20%; }
  35% { margin-left: -60%; }
  45% { margin-left: -60%; }
  48% { margin-left: -50%; }
  55% { margin-left: -90%; }
  65% { margin-left: -90%; }
  68% { margin-left: -80%; }
  75% { margin-left: -120%; }
  85% { margin-left: -120%; }    
  88% { margin-left: -110%; }    
  92% { margin-left: -150%; }       
  99% { margin-left: -150%; }         
  100% { margin-left: 0%; }
}
/* カルーセルの子要素にスクロールアニメーションを設定 */
.carousel > :first-child {
  animation-name: scroll;    /* キーフレーム名 */
  animation-duration: 40s;  /* 再生時間全体 */
  animation-delay: 0s;      /* 読込直後から遅延無しで開始 */
  animation-iteration-count: infinite;  /* 無限に繰り返す */
}
@media only screen and (max-width: 768px) {
  .carousel {
    height: auto;
  }
}

/* 目次 */
.toc-002 {
  margin-bottom: 30px;
  border: 2px solid #ff5c20;
  border-radius: 3px;
}

.toc-002 div {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  background-color: #fffacd;
  color: #ff5c20;
  font-weight: 600;
  font-size: 1.1em;
}

.toc-002 div::before {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 5px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4H21V6H8V4ZM3 3.5H6V6.5H3V3.5ZM3 10.5H6V13.5H3V10.5ZM3 17.5H6V20.5H3V17.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  content: '';
}

.toc-002 label::after {
  margin-left: 7px;
  font-weight: 500;
  font-size: .7em;
  color: #ff5c20;
  content: "[開く]";
  cursor: pointer;
}

.toc-002:has(:checked) label::after {
  content: "[閉じる]";
}

.toc-002 input {
  display: none;
}

.toc-002 ol {
  list-style-type: disc;
  margin: 0;
  overflow: hidden;
}

.toc-002 > ol {
  height: 0;
}

.toc-002:has(:checked) > ol {
  height: auto;
  padding: 1em 1em 1em 3em;
}

.toc-002 ol ol {
  margin-top: 5px;
  padding-left: 1.1em;
}

.toc-002 li {
  padding: 5px 0;
  font-weight: 600;
}

.toc-002 ol ol li {
  font-weight: 500;
  font-size: .9em;
}

.toc-002 a {
  color: #ff5c20;
  text-decoration: none;
}

/* ネクストライブ */
#nextLive {
  margin-top: 50px;
  margin-bottom: 120px;
}
#nextLive .title {
  font-size: 30px;
  font-weight: 800;
  color: #ff20da;
  margin-bottom: 40px;
}
#nextLive .heading {
  color: #ff97f1;
}
#nextLive h2 {
  max-width: 100%;
  font-size: 34px;
  text-align: center;
  margin-left: auto;
}
#nextLive hr {
  margin: 0 auto 40px;
}
#nextLive h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
.nextLive-img img {
  width: 100%;
  height: 100%;
  width: 460px;
  height: 680px;
}
.nextLive-img2 {
  background-image: url(../images/IMG_1828.JPG);
background-position: center;
background-size: cover;
height: 340px;
border-radius: 20px;
}
.nextLive-poster {
  background-image: url(../images/新歓vol2アー写.jpg);
  background-position: center;
  background-size: cover;
  height: 660px;
  border-radius: 20px;
}
#nextLive a {
  color: #50a7ff;
}
#nextLive a:hover {
  color: #3c39ff;
}
@media only screen and (max-width: 768px) {
  #nextLive .title {
    font-size: 28px;
    font-weight: 800;
    color: #f323d7;
    margin-bottom: 20px;
  }
  .nextLive-img img{
  /* background-image: url(../images/バンド研究会新歓ライブ2025ポスター.jpg); */
  /* background-position: center;
  background-size: cover; */
  width: 100%;
  height: 100%;
  width: 380px;
  height: 600px;
  /* border-radius: 20px; */
  }
  #nextLive h3 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 30px;
  }
  .nextLive-poster {
    background-image: url(../images/新歓vol2アー写.jpg);
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 560px;
    border-radius: 20px;
  }
}

/* アバウトアス */
#aboutUs {
  margin-top: 50px;
  margin-bottom: 120px;
}
.title {
  font-size: 20px;
  font-weight: 800;
  color: #f3aa23;
  margin-bottom: 40px;
}
#aboutUs h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#aboutUs hr {
  margin: 0 auto 40px;
}
#aboutUs h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
.column-2 {
  width: 48%;
}
.column-2 .text {
  margin-bottom: 50px;
}
.column-3 {
  width: 100%;
  text-align: center;
  margin-top: 50px;
}
.text {
  line-height: 2;
}
.aboutUs-img {
  background-image: url(../images/IMG_1826.JPG);
background-position: center;
background-size: cover;
height: 340px;
border-radius: 20px;
}
.heading {
  font-family: "Dancing Script", serif;
  font-size: 200px;
  font-weight: 700;
  color: #ffd8a4;
  opacity: 0.3;
  position: absolute;
  top: 0;
  right: 0;
  transition: translateY(-30%);
  z-index: -1;  
}
@media only screen and (max-width: 768px) {
  .heading {
    font-size: 80px;
    font-weight: 900;
    left: 0px;
    text-align: center;
}
}

/* moreボタン */
.btn {
  font-size: 18px;
  border: solid 1px #000000;
  border-radius: 100px;
  display: inline-block;
  width: 270px;
  line-height: 60px;
  text-align: center;
  transition: .2s;
}
.btn:hover {
  color: #50a7ff;
  border: solid 1px #50a7ff;
  transition: .2s;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}

.blink {
  animation: blink 0.3s infinite alternate;
}


/* メイン全般レスポンシブ */
@media only screen and (max-width: 768px)  {
  #aboutUs h3 {
    font-size: 26px;
  }
  .column-2 {
    width: 100%;
  }
  .text {
    font-size: 15px;
    line-height: 1.7;
  }
  .aboutUs-img {
    margin-top: 30px;
    height: 320px;
  }
  .carousel img {
    width: 100%;
    height: 80%;
  }
  @keyframes scroll {
    /* 初期位置は1個目の画像が左端 */
    0% { margin-left: 40%}      
    5% { margin-left: 0%; }      
    15% { margin-left: -100%; }
    18% { margin-left: -100%; }
    20% { margin-left: -85%; }
    30% { margin-left: -200%; }
    38% { margin-left: -200%; }
    40% { margin-left: -180%; }
    50% { margin-left: -300%; }
    58% { margin-left: -300%; }
    60% { margin-left: -285%; }
    70% { margin-left: -400%; }
    78% { margin-left: -400%; }
    80% { margin-left: -380%; }
    90% { margin-left: -500%; }
    98% { margin-left: -500%; }
    100% { margin-left: 40%; }
  }
  /* カルーセルの子要素にスクロールアニメーションを設定 */
.carousel > :first-child {
  animation-duration: 30s;  /* 再生時間全体は20秒 */
}
}

/* コンタクトアス */
#contactus {
  margin-top: 50px;
  margin-bottom: 120px;
}
#contactus h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#contactus hr {
  margin: 0 auto 40px;
}
.contactus_inner {
  margin-bottom: 40px;
  position: relative;
}
.column-40 {
  width: 40%;
}
.column-40-img {
  background-image: url(../images/IMG_1830.JPG);
  background-position: center;
  background-size: cover;
  height: 340px;
  border-radius: 20px;
}
.column-40-img2 {
  background-image: url(../images/IMG_1829.JPG);
  background-position: center;
  background-size: cover;
  height: 340px;
  border-radius: 20px;
}
.column-40-img3 {
  background-image: url(../images/IMG_1831.JPG);
  background-position: center;
  background-size: cover;
  height: 340px;
  border-radius: 20px;
}
.column-55 {
  width: 55%;
  text-align: center;
}

#contactus img {
  border-radius: 20px;
}
#contactus h3 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
/* SNSボタン全体の外枠指定 */
.snsbtniti {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  max-width: 350px;/* ボタンを設置する場所の最大横幅 */
  margin: 0 auto;/* ボタンを中央へ */
}
/* ulタグの内側余白なしと箇条書きの黒丸削除 */
ul.snsbtniti {
  padding: 0!important;
  list-style-type: none!important;
}
/* ボタン同士の余白調整 */
.snsbtniti li {
  flex: 0 0 33%;/* ボタンを3つ並びへ */
  text-align: center!important;
}
/* ボタン全体 */
.flowbtn {
  font-family: 'Noto Sans Japaneses', sans-serif; /* フォント指定 */
  position: relative;
  display: inline-block;
  width:65px; /* 背景横幅 */
  height: 60px;/* 背景高さ */
  font-size: 30px;/* アイコンサイズ */
  border-radius: 4px;
  color: #fff;/* ボタン内カラー */
  transition: .5s;
  text-decoration: none;
  box-shadow: 0 1px 2px #999;
  margin-bottom:10px;/* ボタン下余白 */
}
/* アイコンの位置を少し下げる */
.flowbtn i {
  position: relative;
  top: 5px;
}
/* ボタン内テキスト調整 */
.flowbtn div {
  margin-top: 5px;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0;
}
/* ボタンマウスホバー時少し浮き上がる */
.flowbtn:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
  text-decoration: none;
  cursor: pointer;
}
/* インスタのアイコンを少し大きく */
.flowbtn i.fa-brands.fa-instagram {
  font-size: 35px;
}
/* エックス背景 */
.my_x1 {
  background: #000;
}
/* Instagram紫グラデ背景 */
.my_instagram1 {
  background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
}
 /* YouTube背景 */
.my_youtube1 {
  background: #da1725;
}
@media only screen and (max-width: 768px) {
  .column-40 {
    width: 100%;
    margin-bottom: 30px;
  }
  .column-55 {
    width: 100%;
  }
  #contactus h3 {
    font-size: 26px;
  }
}

/* ニュース */
#news {
  margin-top: 50px;
  margin-bottom: 120px;
}
#news h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#news hr {
  margin: 0 auto 40px;
}
#news ul {
  max-width: 700%;
  margin: 0 auto;
}
#news li {
  list-style-type: none;
  border: solid 1px #000000;
  margin-bottom: 20px;
  padding: 16px 24px;
}
#news .date {
  color: #d2b48c;
  font-weight: 500;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

/* サークル */
#circle {
  margin-top: 50px;
  margin-bottom: 120px;
}
#circle h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#circle hr {
  margin: 0 auto 40px;
}
#circle dl {
  max-width: 100%;
  transform: translateX(0%);
}
#circle dt {
  width: 30%;
  padding: 48px 0;
  font-weight: 500;
  border-bottom: solid 1px #d2b48c;
}
#circle dd {
  width: 70%;
  padding: 48px 0;
  border-bottom: solid 1px #d2b48c;
}
#circle dd a {
  color: #50a7ff;
}
#circle dd a:hover {
  color: #3c39ff;
}
@media only screen and (max-width: 768px) {
  #circle dl {
    font-size: 13px; 
  }
}

/* ボトム */
.column-a {
  background-image: url(../images/IMG_1827.JPG);
  background-position: center;
  background-size: cover;
  width: 24%;
  height: 270px;
  border-radius: 20px;
}
.column-b {
  background-image: url(../images/無題5_20250320230934.png);
  background-position: center;
  background-size: cover;
  width: 18%;
  height: 270px;
  border-radius: 20px;
}
.column-c {
  background-image: url(../images/LINE_ALBUM_ホームページ使用可能画像_250320_1.jpg);
  background-position: center;
  background-size: cover;
  width: 24%;
  height: 270px;
  border-radius: 20px;
}
.column-d {
  background-image: url(../images/LINE_ALBUM_素材集_250320_1.jpg);
  background-position: center;
  background-size: cover;
  width: 28%;
  height: 270px;
  border-radius: 20px;
}
@media only screen and (max-width: 768px) {
  .column-a, .column-b, .column-c, .column-d {
    width: 48%;
    height: 140px;
    margin: 1%;
  }

}


/* フッター */
footer {
  text-align: center;
  margin: 30px 0;
}
.character {
  text-align: center;
  margin: 0 auto;
  margin-bottom: 30px;
  background-image: url(..//images/番犬ギター通常透過影付.png);
  background-position: center;
  background-size: cover;
  width: 290px;
  height: 300px;
  border-radius: 20px;
}
.copyright {
  font-size: 12px;
  margin-top: 40px;
}

/* 以下下層ページ */

/* 下層ページ共通 */
#page_main_visual{
  background-image: url(..//images/LINE_ALBUM_ホームページ使用可能画像_250320_1.jpg);
  background-position: center;
  background-size: cover;
  height: 300px;
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 0px;
  overflow: hidden;
  }
  #page_main_visual::before{
    content: '';
    width: 100%;
    background-color: black;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.2;
    z-index: 1;
  }
  .page_main_visual_inner{
    z-index: 2;
    color: aliceblue;
    width: 100%;
    text-align: center;
  }
  .page_main_visual_inner p {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 16px;
  }
  .page_main_visual_inner h1 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 30px;
  }
  .page_main_visual .filter {
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  @media only screen and (max-width: 768px) {
    #hero{
      height: 460px;
      }
      .hero_inner p {
        font-size: 15px;
  
      }
      .hero_inner h1 {
        font-size: 17px;
  
      }
  }

/* 下層ページ下の各トピック */
#topic {
  margin-top: 50px;
  margin-bottom: 120px;
}
#topic h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#topic hr {
  margin: 0 auto 40px;
}
#topic h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
.topic-img {
  background-image: url(../images/Guitar_background.jpg);
  background-position: center;
  background-size: cover;
  height: 340px;
  border-radius: 20px;
}
#topic accent {
  font-size: 20px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  #topic h3 {
    font-size: 20px;
    margin-bottom: 30px;
  }
}

/* 下層ページアクセス */
#access {
  margin-top: 50px;
  margin-bottom: 120px;
}
#access h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#access hr {
  margin: 0 auto 40px;
}
#access h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
.access-img {
  background-image: url(../images/LINE_ALBUM_20250320_250320_1.jpg);
  background-position: center;
  background-size: cover;
  height: 340px;
  border-radius: 20px;
}
.map {
  margin-left: 0;
  margin-top: 30px;
}
@media only screen and (max-width: 768px) {
  #access h3 {
    font-size: 26px;
    margin-bottom: 30px;
  }
  .access-img {
    height: 240px;
    border-radius: 20px;
  }
}

/* 下層ページスケジュール */
#Schedulepage_main_visual{
  background-image: url(..//images/LINE_ALBUM_ホームページ使用可能画像_250320_1.jpg);
  background-position: center;
  background-size: cover;
  height: 300px;
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 0px;
  overflow: hidden;
  }
#schedule {
  margin-top: 50px;
  margin-bottom: 120px;
}
#schedule dl {
  max-width: 100%;
  margin-left: auto;
}
#schedule dt {
  width: 30%;
  padding: auto;
  font-weight: 300;
  font-size: 24px;
  border: solid 1px #999;
}
#schedule dd {
  width: 70%;
  padding: auto;
  font-weight: 400;
  font-size: 24px;
  border: solid 1px #999;
}
#schedule a {
  color: #50a7ff;
}
#schedule a:hover {
  color: #3c39ff;
}
@media only screen and (max-width: 768px) {
  #schedule {
    margin-bottom: 20px;
  }
  #schedule .flex dd:nth-child(8),.flex dd:nth-child(12),.flex dd:nth-child(14) {
    white-space: nowrap;
    font-size: 14px;
    padding: 3.1% 10% 3.4% 0;
  }
  #schedule .flex dd:nth-child(12),.flex dd:nth-child(14) {
    white-space: nowrap;
    font-size: 16px;
    padding: 3% 0 3% 0;
  }
  #schedule .flex dd:nth-child(14) {
    white-space: nowrap;
    font-size: 15.5px;
    padding: 3% 0 3% 0;
  }
  #schedule dl {
    font-size: 13px; 
  }
  #schedule dt {
    padding: 3% 0 3% 0;
    font-size: 16px;
  }
  #schedule dd {
    padding: 3% 0 3% 0;
    font-size: 16px;
  }
}

#sche_other {
  margin-bottom: 70px;
}
#sche_other dl {
  max-width: 100%;
  margin-left: auto;
}
#sche_other dt {
  width: 100%;
  font-weight: 300;
  font-size: 24px;
}
#sche_other dd {
  width: 70%;
  font-weight: 400;
  font-size: 24px;
  border: solid 1px #999;
}
@media only screen and (max-width: 768px) {
  #sche_other {
    margin-bottom: 20px;
  }
  #sche_other dl {
    font-size: 13px; 
  }
  #sche_other dt {
    font-size: 14px;
  }
  #sche_other dd {
    padding: auto;
    font-size: 16px;
  }
}

/* 下層ページギャラリー */
#gallery1 {
  margin-top: 50px;
  margin-bottom: 120px;
}
#gallery1 .heading {
  max-width: 120%;
}
#gallery1 h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#gallery1 hr {
  margin: 0 auto 40px;
}
#gallery1 h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
#gallery1 li {
  margin-top: 20px;
  margin-bottom: 100px;
  list-style-type: none;
}
#gallery1 li a {
  transition: 0.3s;
}
#gallery1 li a:hover {
  color: #50a7ff;
  transition: 0.3s;
}
.gallery1-img {
  background-image: url(../images/Preparation.png);
  background-position: center;
  background-size: cover;
  height: 340px;
  border-radius: 20px;
}
.column-40-img4 {
  background-image: url(../images/Preparation.png);
  background-position: center;
  background-size: cover;
  height: 190px;
  border-radius: 20px;
}
@media only screen and (max-width: 768px) {
  #gallery1 h3 {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
#gallery2 {
  margin-top: 50px;
  margin-bottom: 120px;
}
#gallery2 h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#gallery2 hr {
  margin: 0 auto 40px;
}
.gallery2_inner {
  margin-bottom: 40px;
  position: relative;
}
/* .column-40 {
  width: 40%;
} */
#gallery2 .column-55 .text{
  text-align: left;
}
#gallery2 img {
  border-radius: 20px;
}
.column-40-img5 {
  background-image: url(../images/Preparation.png);
  background-position: center;
  background-size: cover;
  height: 190px;
  border-radius: 20px;
}
#gallery2 h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  /* .column-40 {
    width: 100%;
    margin-bottom: 30px;
  }
  .column-55 {
    width: 100%;
  } */
   #gallery2 .column-40 img{
    height: 170px;
   }
  #gallery2 h3 {
    font-size: 20px;
  }
}

/* 下層ページFAQ */
.qa-8 dt {
  margin-bottom: 1em;
  color: #303030;
  font-weight: 600;
}
.qa-8 dt::before,
.qa-8 dd::before {
  margin-right: .4em;
}
.qa-8 dt::before {
  content: "Q.";
}
.qa-8 dd {
  margin: 0 0 2.5em;
  padding: 1em 1.5em;
  background-color: #f2f2f2;
  color: #303030;
}
.qa-8 dd::before {
  content: "A.";
}

/* 下層ページinquiries */
.inq{
  padding: 27px 0;  
}
.inq li {
  margin-bottom: 10px;
  list-style-type: none;
}
.inq li a {
  transition: 0.3s;
}
.inq li a:hover {
  color: #80ba4a;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  .inq{
    padding: 27px 0;  
  }
  .inq li {
    margin-bottom: 10px;
    list-style-type: none;
    text-align: center;
  }
  .inq li a {
    transition: 0.3s;
  }
}

/* 下層ページlibrary */
h4 {
  font-size: 27px;
  font-weight: 500;
  margin-top: 40px;
  margin-bottom: 40px;
}
#library {
  margin-top: 50px;
  margin-bottom: 120px;
}
#library .heading {
  max-width: 120%;
}
#library h2 {
  max-width: 100%;
  font-size: 28px;
  text-align: center;
  margin-left: auto;
}
#library hr {
  margin: 0 auto 40px;
}
#library h3 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 60px;
}
#library details {
  margin-bottom: 20px;
}
#library li {
  margin-top: 20px;
  margin-bottom: 20px;
  list-style-type: none;
}
#library li a {
  transition: 0.3s;
}
#library li a:hover {
  color: #50a7ff;
  transition: 0.3s;
}
@media only screen and (max-width: 768px) {
  #library h3 {
    font-size: 20px;
    margin-bottom: 30px;
  }
  h4 {
    font-size: 18px;
    font-weight: 500;
    margin-top: 40px;
    margin-bottom: 20px;
  }
  #library li {
    margin-top: 12px;
    margin-bottom: 12px;
    list-style-type: none;
    color: #50a7ff;
  }
  #library details {
    margin-bottom: 10px;
  }
}

/* Googleに読ませるが、画面上には表示しない設定 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* 動的生成用：NextLiveの画像自動リサイズとレイアウト保持 */
.dynamic-poster {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4; /* ポスターの黄金比 */
  object-fit: cover;   /* はみ出た部分を綺麗に切り取る */
  border-radius: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* 準備中画面用 */
.coming-soon-box {
  text-align: center;
  padding: 60px 20px;
  background-color: #fffacd;
  border-radius: 20px;
  width: 100%;
}
.coming-soon-box h3 {
  color: #ff5c20;
  margin-bottom: 10px !important;
}