/* 共通部分 */
body{
  background-color: #3D3930;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400; /* ← 基本は標準の太さに */
  font-style: normal;
}

a{
  text-decoration: none;
}

li{
  list-style: none;
}

/* スマホ対応css */
@media screen and (max-width:560px) { 

/* ヘッター */
.page-header{
  background-color: #8B8673;
  position: fixed;    
  top: 0;
  left: 0;
  width: 100%;           
  padding: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 1000;
}

.header{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#navArea.open .inner{
  left: 0;
  opacity: 1;
}

/* snsボタン */
.sns-btn {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-right: 80px;
}

.sns-btn li{
  list-style: none;
}

.sns-btn li img{
  width: 25px;
  margin-top: 13px;
}


/* トグルボタン */
.toggle-btn{
  display: block;
  position: absolute;
  top: 21px;
  right: 30px;
  right: 30px;
  width: 30px;
  height: 30px;
  z-index: 3;
  cursor: pointer;
}

.toggle-btn span{
  position: absolute;
  display: block;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  transition: all.5s;
  border-radius: 4px;
}

.toggle-btn span:nth-child(1){
  top: 4px;
}

.toggle-btn span:nth-child(2){
  top: 14px;
}

.toggle-btn span:nth-child(3){
  bottom: 4px;
}


/* ナビゲーション（閉じている場所） */
.inner{
  display: block;
  width: 100%;
  position: fixed;
  background-color: #8B8673;
  top: 62px;
  left: -500px;
  bottom: 0;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
  height: 100%;
  padding: 20px
}

.inner ul{
  margin-top: 0px;
}

.inner ul li{
  border-bottom:  1px solid #3D3930;
}

.inner ul li:hover{
  background-color: #726C5D;
  transition: .5s;
}

.inner ul li a{
  padding: 15px;
  display: block;
  color: #3D3930;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}

#navArea.open .toggle-btn span{
  background-color: #3D3930;
}

#navArea.open .toggle-btn span:nth-child(1){
  transform: translateY(10px) rotate(-405deg);
}

#navArea.open .toggle-btn span:nth-child(2){
  opacity: 0;
}

#navArea.open .toggle-btn span:nth-child(3){
  transform: translateY(-10px) rotate(405deg);
}

#mask{
  display: none;
  transition: all.5s;
}

.open #mask{
  display: none;
}

/* メインビジュアル */
/* PC：PC画像だけ表示、スマホ画像は消す */
.photo-pc {
  display: block !important;
  width: 100%;
  height: auto;
  margin-top: 62px;
}

.photo-sp {
  display: none !important;
  width: 100%;
  height: auto;
  margin-top: 62px;
}


/* 画面が 768px 以下（スマホ）のときだけ切り替える */
  .photo-pc {
    display: none;
  }
  .photo-sp {
    display: block;
    margin-top: 62px;
  }

/* 開催期間 */
.kikan{
  background-color: #16160e;
  padding-top: 80px;
  padding-bottom: 40px;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}

.kikan h3{
  background-color: #f5f7f9;
  display: inline-block;
  margin: 0 auto;  
  padding: 3px;
  width: 300px;
}

.kikan p{
  margin-top: 20px;
  font-size: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #ffea00;
}

/* コンセプト */
.concept{
  text-align: center;
  padding-top: 100px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

/* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.concept.show {
  opacity: 1;
  transform: translateY(0);
}

.concept p{
  display: inline-block;
  margin: 0 auto;
  line-height: 50px;
  padding-bottom: 50px;
  font-size: 1.2rem;
  color: #F8F4EE;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.btn{
  justify-content: center;
}

.btn a{
  margin: 50px auto;
  color: #F8F4EE;
  background-color:  #2C5AA0;
  display: flex;
  justify-content: center;
  border: 2px solid #2C5AA0;
  max-width: 400px;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 300px;
  border-radius: 9999px;
  letter-spacing: 5px;
}

.btnred{
  justify-content: center;
}

.btnred a{
  margin: 50px auto;
  color: #F8F4EE;
  background-color:  #C0392B;
  display: flex;
  justify-content: center;
  border: 2px solid #C0392B;
  max-width: 400px;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 300px;
  border-radius: 9999px;
  letter-spacing: 5px;
}

/* 参加方法 */
.sanka{
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.sanka.show {
  opacity: 1;
  transform: translateY(0);
}

.sanka p{
  text-align: center;
  line-height: 70px;
  color: #F8F4EE;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* 説明 */
.setumei{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.setumei.show {
  opacity: 1;
  transform: translateY(0);
}

.setumei h3{
  margin: 20px;
  color: #101010;
  background-color: #f5f7f9;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

.setumei p{
  color: #F8F4EE;
  margin: 30px;
  text-align: justify;
  line-height: 30px;
  font-size: 13px;
}

.black{
  background-color: #16160e;
  margin: 15px;
  padding-top: 30px;
  padding-bottom: 5px;
}

/* ゼミ概要 */
.zemi{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.zemi.show {
  opacity: 1;
  transform: translateY(0);
}

.zemi h3{
  margin: 20px;
  color: #000B00;
  background-color: #f5f7f9;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

.zemi h4{
  color: #ffea00;
  margin: 30px;
  text-align: justify;
  line-height: 35px;
}

.zemi p{
  color: #F8F4EE;
  margin: 30px;
  text-align: justify;
  line-height: 30px;
  font-size: 13px;
}

.white{
  background-color: #16160e;
  margin: 15px;
  padding-top: 30px;
  padding-bottom: 5px;
}


/* 注意事項 */

.attention{
  padding-top: 25px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.attention.show {
  opacity: 1;
  transform: translateY(0);
}

.attention h3{
  margin: 15px;
  color: #101010;
  background-color: #f5f7f9;
  padding-top: 5px;
  padding-bottom: 5px;
  display: inline-block;
  padding-left: 20px;
  padding-right: 20px;
}

.tyuui h3{
  text-align: justify;
  line-height: 30px;
  color: #F8F4EE;
  font-size: 13px;
  background-color: #16160e;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 30px;
  padding-right: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.attention p{
  text-align: justify;
  margin: 30px;
  line-height: 30px;
  color: #F8F4EE;
  font-size: 13px;
}

/* フッター */
.copyright{
  color: #F8F4EE;
  text-align: center;
  padding: 50px;
}

/* ページのtopの文字 */
.top{
  margin-top: 150px;
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;    
}

.top h3{
  color: #F8F4EE;
  letter-spacing: 5px;
  font-size: 25px;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
  width: 360px;
}

/* CONTACTページ */
.contact{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.contact.show {
  opacity: 1;
  transform: translateY(0);
}

.contact p{
  padding-top: 50px;
  padding-bottom: 50px;
  font-size: 13px;
  color: #F8F4EE;
  line-height: 30px;
  text-align: center;
}

}
















/* PC対応css */
@media screen and (min-width:560px) { 
  /* ヘッター */
.page-header{
  background-color: #8B8673;
  position: fixed;    
  top: 0;
  left: 0;
  width: 100%;           
  padding: 10px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 1000;
}

.header{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#navArea.open .inner{
  left: 0;
  opacity: 1;
}

/* snsボタン */
.sns-btn {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-right: 80px;
}

.sns-btn li{
  list-style: none;
}

.sns-btn li img{
  width: 25px;
  margin-top: 13px;
}


/* トグルボタン */
.toggle-btn{
  display: block;
  position: absolute;
  top: 21px;
  right: 30px;
  right: 30px;
  width: 30px;
  height: 30px;
  z-index: 3;
  cursor: pointer;
}

.toggle-btn span{
  position: absolute;
  display: block;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  transition: all.5s;
  border-radius: 4px;
}

.toggle-btn span:nth-child(1){
  top: 4px;
}

.toggle-btn span:nth-child(2){
  top: 14px;
}

.toggle-btn span:nth-child(3){
  bottom: 4px;
}


/* ナビゲーション（閉じている場所） */
.inner{
  display: block;
  width: 100%;
  position: fixed;
  background-color: #8B8673;
  top: 62px;
  left: -1500px;              /* open時は0、閉じてるときは -100% */
  bottom: 0;
  transition: all 0.5s;
  z-index: 1000;        /* 高めに */
  opacity: 1;            /* JSで制御 */
  pointer-events: auto;  /* クリック可能に */
  height: 100%;
  padding: 20px;
}

.inner ul{
  margin-top: 0px;
}

.inner ul li{
  border-bottom: 1px solid #3D3930;
  max-width: 500px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.inner ul li:hover{
  background-color: #726C5D;
  transition: .5s;
}

.inner ul li a{
  padding: 15px;
  display: block;
  color: #3D3930;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  text-align: center;
}

#navArea.open .toggle-btn span{
  background-color: #3D3930;
}

#navArea.open .toggle-btn span:nth-child(1){
  transform: translateY(10px) rotate(-405deg);
}

#navArea.open .toggle-btn span:nth-child(2){
  opacity: 0;
}

#navArea.open .toggle-btn span:nth-child(3){
  transform: translateY(-10px) rotate(405deg);
}

#mask{
  display: none;
  transition: all.5s;
}

.open #mask{
  display: none;
}

/* メインビジュアル */
/* PC：PC画像だけ表示、スマホ画像は消す */
.photo-pc {
  display: block !important;
  width: 100%;
  height: auto;
  margin-top: 62px;
}

.photo-sp {
  display: none !important;
  width: 100%;
  height: auto;
  margin-top: 62px;
}

/* スマホ：PC画像を消して、スマホ画像を表示 */
  .photo-pc {
    display: none !important;
    margin-top: 62px;
  }
  .photo-sp {
    display: block !important;
    margin-top: 62px;
  }

/* 開催期間 */
.kikan{
  background-color: #16160e;
  padding-top: 80px;
  padding-bottom: 40px;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}

.kikan h3{
  background-color: #f5f7f9;
  display: inline-block;
  margin: 0 auto;  
  padding: 3px;
  width: 300px;
}

.kikan p{
  margin-top: 20px;
  font-size: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #ffea00;
}

/* コンセプト */
.concept{
  text-align: center;
  padding-top: 100px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

/* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.concept.show {
  opacity: 1;
  transform: translateY(0);
}

.concept p{
  display: inline-block;
  margin: 0 auto;
  line-height: 50px;
  padding-bottom: 50px;
  font-size: 1.2rem;
  color: #F8F4EE;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.btn{
  justify-content: center;
}

.btn a{
  margin: 50px auto;
  color: #F8F4EE;
  background-color:  #2C5AA0;
  display: flex;
  justify-content: center;
  border: 2px solid #2C5AA0;
  max-width: 400px;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 300px;
  border-radius: 9999px;
  letter-spacing: 5px;
}

@media screen and (min-width: 1030px) {
.btn-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 横3列 */
    gap: 15px; /* 列・行の間隔 */
  }

  .btn a {
    display: block;      /* ボタン幅を列いっぱいに */
    text-align: center;  /* 文字を中央揃え */
  }
}

.btnred{
  justify-content: center;
}

.btnred a{
  margin: 50px auto;
  color: #F8F4EE;
  background-color:  #C0392B;
  display: flex;
  justify-content: center;
  border: 2px solid #C0392B;
  max-width: 400px;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 300px;
  border-radius: 9999px;
  letter-spacing: 5px;
}

/* 参加方法 */
.sanka{
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.sanka.show {
  opacity: 1;
  transform: translateY(0);
}

.sanka p{
  text-align: center;
  line-height: 70px;
  color: #F8F4EE;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* 説明 */
.setumei{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.setumei.show {
  opacity: 1;
  transform: translateY(0);
}

.setumei h3{
  margin: 20px;
  color: #101010;
  background-color: #f5f7f9;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

.setumei p{
  color: #F8F4EE;
  margin: 30px;
  text-align: justify;
  line-height: 30px;
  font-size: 13px;
}

.black{
  background-color: #16160e;
  margin: 15px;
  padding-top: 30px;
  padding-bottom: 5px;
}

/* ゼミ概要 */
.zemi{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.zemi.show {
  opacity: 1;
  transform: translateY(0);
}

.zemi h3{
  margin: 20px;
  color: #000B00;
  background-color: #f5f7f9;
  padding-top: 5px;
  padding-bottom: 5px;
  text-align: center;
}

.zemi h4{
  color: #ffea00;
  margin: 30px;
  text-align: justify;
  line-height: 35px;
}

.zemi p{
  color: #F8F4EE;
  margin: 30px;
  text-align: justify;
  line-height: 30px;
  font-size: 13px;
}

.white{
  background-color: #16160e;
  margin: 15px;
  padding-top: 30px;
  padding-bottom: 5px;
}


/* 注意事項 */

.attention{
  padding-top: 25px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.attention.show {
  opacity: 1;
  transform: translateY(0);
}

.attention h3{
  margin: 15px;
  color: #101010;
  background-color: #f5f7f9;
  padding-top: 5px;
  padding-bottom: 5px;
  display: inline-block;
  padding-left: 20px;
  padding-right: 20px;
}

.tyuui h3{
  text-align: justify;
  line-height: 30px;
  color: #F8F4EE;
  font-size: 13px;
  background-color: #16160e;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 30px;
  padding-right: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.attention p{
  text-align: justify;
  margin: 30px;
  line-height: 30px;
  color: #F8F4EE;
  font-size: 13px;
}

/* フッター */
.copyright{
  color: #F8F4EE;
  text-align: center;
  padding: 50px;
}

/* ページのtopの文字 */
.top{
  margin-top: 150px;
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;    
}

.top h3{
  color: #F8F4EE;
  letter-spacing: 5px;
  font-size: 25px;
  text-align: center;
  padding-top: 5px;
  padding-bottom: 5px;
  width: 360px;
}

/* CONTACTページ */
.contact{
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative; /* z-indexを有効にするため */

  /* フェードイン用 初期設定 */  
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

/* 画面に入ったら表示 */
.contact.show {
  opacity: 1;
  transform: translateY(0);
}

.contact p{
  padding-top: 50px;
  padding-bottom: 50px;
  font-size: 13px;
  color: #F8F4EE;
  line-height: 30px;
  text-align: center;
}

}






