/* popup関係 */
html,body {
  overflow-x: hidden;
  margin: 0;
  color: #333333;
  font-family: "Noto Sans JP";

}

.cell-list {
  width: 100%;
  height: 100%;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
  display: inline-flex;
  margin-bottom: 16px;
}

.cell-image {
  width: 100px;
  height: 100px;
  position: relative;
  transform: rotate(180deg);
  transform-origin: 0 0;
}

/* Custom hamburger menu styles */

.menu.menu-open ~ .title-area .nav-title {
  display: block;
}


/* Hamburger menu base styles */

.hamburger.openbtn1 {
    position: relative;
    width: 29px;
    height: 16px;
    cursor: pointer;
    margin-left: auto;
}

/* Hamburger menu lines */
.hamburger.openbtn1 span {
  background-color: white;
  display: block;
  width: 25px;
  margin: 6px 0;
  border-radius: 2px;
  transition: all 0.4s ease;
  position: absolute;
}
.hamburger.openbtn1 span:nth-of-type(1) {
  top: 0px; /* 上部に配置 */
  left: 0px;

}

/* 中央の線 */
.hamburger.openbtn1 span:nth-of-type(2) {
  top: 8px; /* 中央に配置 */
  left: 0px;

}

/* 最下部の線 */
.hamburger.openbtn1 span:nth-of-type(3) {
  top: 16px; /* 下部に配置 */
  left: 0px;

}


.menu {
  display: none;
  width: 100%;
  position: fixed;
  top: 70px; /* ヘッダーの高さに応じて調整 */
  left: 0;
  background: #169757;
  padding-left: 0; /* 左のパディングを削除 */
  padding-right: 0; /* 右のパディングを削除 */
  z-index: 999; /* ヘッダーより下に表示されるようにする */
  height: calc(100vh - 70px); /* ビューポートの高さからヘッダーの高さを引く */
  overflow-y: auto; /* スクロール可能にする */
}
.nav-title.logo-hidden {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 1001;
}

.menu.menu-open ~ .title-area .nav-title.logo-hidden {
  display: block;
  opacity: 1;
}



.hamburger.openbtn1.active + .menu {
  display: block;
}

.top-maenu{
  display: none;
}

.hamburger-parent {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1000;
  padding: 10px 16px;
  box-sizing: border-box;
}


.hamburger-parent {
  height: auto;
  width: 100%;
  background-color: transparent;
  display: flex;
  justify-content: flex-end; /* 右寄せにする */
  align-items: center;
}
.hamburger-bg {
  /* ひだ */
  display: flex;
  align-items: flex-end;
  padding: 16px;
  justify-content: flex-end; /* 右寄せにする */
}


.hamburger.openbtn1 span {
  background-color: #000;
  display: block;
  height: 3px;
  border-radius: 2px;
  transition: all 0.4s ease;
}

.hamburger.openbtn1.active span:nth-of-type(1) {
  background-color: #fff;
  width: 33.06px;
  top: 0;
  left: 0;
  transform-origin: left top;
  transform: rotate(28.88deg);
}

.hamburger.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.hamburger.openbtn1.active span:nth-of-type(3) {
  background-color: #fff;
  width: 33.06px;
  bottom: 0;
  left: 0;
  transform-origin: left bottom;
  transform: rotate(-28.88deg);
}
/* メニューのスタイル */
.menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  background: #169757;
  z-index: 999;
  padding-top: 70px; /* 上部にパディングを追加してハンバーガーアイコンと被らないようにする */
  border-radius: 0 0 0 10px; /* 左下を丸くする */
  box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.1); /* 影を追加 */
}

.menu.menu-open {
  display: block;

}

/* メニューリスト */
.menu-list {
  display: flex;
  flex-direction: column;
}

.menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 40px;
}

.menu ul li {
  margin: 20px 0;
  text-align: center;
}

.menu ul li a {
  text-align: center;
  color: var(--white, #FFF);
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
}

/* メニューの他のスタイル */
.menu_characters {
  margin-top: 24px !important;
  margin-bottom: 60px !important;
}

.menu-list img {
  color: #FFFFFF;
  width: 241px;
  margin: 0 auto;
}

.body-bg {
  position: relative;
}

/* 他の要素に影響を与える可能性があるスタイルを適切に設定 */
.header, .menu, .hamburger.openbtn1 {
  z-index: 100; /* メニューが最前面に来るように調整 */
}

.button:hover {
  background: #169757;
  color: #FFFFFF;
  border: 2px solid #169757;
}



/* その他のスタイルは変更なし */


.menu {
  display: none;
  width: 100%;
  position: fixed; /* メニューを固定表示に変更 */
  top: 0; /* ウィンドウの直上に表示 */
  left: 0;
  background: #169757;
  z-index: 99; /* 他の要素よりも前面に表示 */
}

.menu-list {
  display: flex;
  flex-direction: column;
  /* gap: 12px; */
}

.menu ul {
  list-style: none;
  padding: 0;
  gap: 40px;
  margin: 0px;
}

.menu ul li {
  /* border-bottom: 1px solid #444; */
  margin: 20px 0;
  text-align: center;

}

.menu ul li a {
  text-align: center;
  color: var(--white, #FFF);
  font-family: "Noto Sans JP";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.menu_characters{
  /* important */
  margin-top: 24px !important;  
  margin-bottom: 60px !important;
}


.menu-list img {
  color: #FFFFFF;
  width: 241px;
  /* この要素を中央寄せ */
  margin: 0 auto;
}

.body-bg{
  position: relative;
}

.welcome-image{
  display: inline-flex;
  /* transform: rotate(8.586deg); */
  position: absolute;
  right: 20px;
  top: 0px;
  justify-content: center;
  align-items: flex-end;
  width: 280px;
  gap: 6.41px;
}

.cell-image img {
  width: 100%;
  height: auto; /* 画像のアスペクト比を保持 */
  transform: rotate(180deg); /* 必要に応じて画像を180度回転 */
  transform-origin: 0 0;
}

.cell-good {
  background: #0071BB;
}

.cell-bad{
  background: #E47059;
}
.icon-inner {
  width: 100px;
  height: 100px;
  left: 0;
  top: 0;
  position: absolute;
  transform: rotate(180deg);
  transform-origin: 0 0;
  background: #D9D9D9;
  border-radius: 8px;
}

.text-section {
  flex: 1 1 0;
  height: 85px;
  border-bottom: 1px #333 dotted;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
  display: inline-flex;
}

.label {
  padding: 4px 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
  color: white;
  font-size: 12px;
  font-family: Noto Sans JP;
  font-weight: 500;
  line-height: 14px;
  word-wrap: break-word;
}

.text-content {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.text {
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
  color: #333;
  font-family: Noto Sans JP;
  font-weight: 400;
  line-height: 15px;
  word-wrap: break-word;
}

.text-large {
  font-size: 16px;
  line-height: 24px;
  font-weight: 500;
}




svg{
  overflow: visible;

}

.container{
    display: flex;
    flex-direction: column;
    padding: 0px;
    margin: 0px;
    align-items: center;
}

.h2-title{
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible;
  padding: 32px 12px 12px 12px;
}



.h2-title{
  display: flex;
  flex-direction: column;
  align-items: center;

}

.hamburger-menu__line {
  background-image: url(assets/hamberger.png);
  width: 24px;
  height: 24px;
  background-size: 24px 24px;
}

.center-content{
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible;
  width: 375px;;
}
.bg{
  width: 100%;
    background-color: #FFEFEC;
}

header{

display: flex;

}

.menu-content{
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  }

  .credit{
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 200%; /* 32px */

  }

.button{
  --svg-fill-color: #169757; /* 初期色を白に設定 */
    border-radius: 100px;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 2px solid #169757;

    color: #169757;
  padding: 16px 40px;
    text-decoration: none;
    text-align: center;
    gap:10px;
    width: 280px;
    /* この要素を中央に配置する */
    margin: 0 auto;

}


.title-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.nav-title {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  height: 33px; /* ロゴの最大高さを設定 */
}
.menu.menu-open ~ .title-area .nav-title {
  display: block;
  opacity: 1;
}

.nav-close{
  width: 33px;
  height: 20px;
  margin: 0px 32px 0px 0px;
  /* このボタンを右寄せ */

}

.button svg {
  fill: var(--svg-fill-color, #169757);
  
}

.button-text{
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;

}

.button:hover{
  background: #169757;
  color: #FFFFFF;
  border: 2px solid #169757;

  --svg-fill-color: #169757;
}


.top-image{
  width: 386px;
  height: 294px;
  flex-shrink: 0;
  position: relative;
  animation: zoomIn 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  background-image: url('assets/top.png');
  background-size: 268px 225px;
  /* 背景の繰り返しなし */
  background-repeat: no-repeat;
  /* 背景を要素野中央に配置 */
  background-position: top;

}
.beetle{
  position:  absolute;        /* 要素の配置方法を指定 */
  left: -20px;   
  top: 190px;
  height: 92px;                  /* 上からの位置指定 */

}
.penguin{
  position:  absolute;        /* 要素の配置方法を指定 */
  left: 0px;    
  top:0px;             
  height: 86px;

}

.boy{
  position:  absolute;        /* 要素の配置方法を指定 */
  right: 0px;    
  top: 13px;             
  height: 86px;
}

.ship{
  position:  absolute;        /* 要素の配置方法を指定 */
  right: 10px;    
  top: 162px;             
  height: 86px;
}

@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.slidein {
  opacity: 0; /* 初期状態では不透明度を0に設定 */
  transform: translate(0, 0); /* 初期状態では移動しない */
  transition: all 0.5s; /* アニメーションの持続時間とタイプを指定 */
  transform: translate(0, 34px); /* 下からスライドインする開始位置を指定 */

}

.slidein.slidein-bottom {
  transform: translate(0, 34px); /* 下からスライドインする開始位置を指定 */
}

/* スクロールまたはトリガーによって追加されるクラス */
.slidein.scrollin {
  transform: translate(0, 0) !important; /* 最終的な位置に移動 */
  opacity: 1 !important; /* 不透明度を1に設定して完全に表示 */
}
.br-sp {
  display: block;
}
.br-tab {
  display: none;
}


.bg-center{
    background-color: #FFEFEC;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.about-image{
  width: 320px;
  height: auto;
}
.content{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    margin: 10px 12px;
}
.container{
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 80px 16px;

    align-items: center;
}

.title-characters{
    display: flex;
    align-items: flex-end;
    margin-top: 82px;

}

a{
    text-decoration: none;
    color:inherit;

}

h2{
  color: var(--333333, #333);
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 54px */
  margin: 0px;
}


.title-underbar{
  display: inline-block; /* 要素の幅をテキストの量に合わせる */

    color: var(--333333, #333);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 48px */
    position: relative; /* 疑似要素の位置の基準点 */


}

.title-underbar:after {
  content: ""; /* 疑似要素を表示するために必要 */
  position: absolute;
  bottom: -5px; /* テキストの下から5pxの位置 */
  left: 0;
  width: 100%; /* 要素の幅に合わせる */
  border-bottom: 4px dashed #333; /* 下線スタイル */
}


.image-elips{
  width: 240px;
  height: 240px;

}

.title-bg{
  margin-bottom: -46px;
}


.main-bg{
  background-image: url('assets/wave-sp.png');
  background-size: 485px 1774px;
  /* 背景を中央寄せにする */
  background-position: calc(50% - 10px) top;
  background-repeat: repeat;
}

.main-content{
  color: #333;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%; /* 32.4px */
  text-align: left;
}
.english{
    margin: 0%;
    color: var(--333333, #333);
    text-align: center;
    font-family: "Helvetica Neue";
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 36px */
    letter-spacing: 3.6px;
}

.box{
    display:flex;
    margin-top: 24px;
    margin-bottom: 24px;
    /* justify-content: center; */
    align-items: center;
    flex-direction: column-reverse;
    margin-left: 16px;
    margin-right: 16px;

  
  }

  
.box-left{
    display: flex;
    width: 100%;
    padding: 46px 16px 24px 16px;
    flex-direction: column;
    align-items: flex-starttextarea;
    margin: 16px 16px;
    gap: 8px;
    flex-shrink: 0;
}

.box-right{
    display: flex;
    width: 100%;
    padding: 46px 16px 24px 16px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex-shrink: 0;
    background: #FFEFEC;



}
.bg-primary{
    background: #FFEFEC;
}
.bg-yellow{
    background: #FFFAE2;
}

.h4{
    color: #0000;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 30px */
}



.photo{
    display: flex;
    align-items: center;
    margin-bottom: -32px;
    width: 200px;
    height: 200px;
    z-index: 999;

}

.graph{
   width: 375px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.box-textarea{
    flex-shrink: 0;
    align-self: stretch;
    text-align: left;
}

.box-description{
    color: "#000000";
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
    text-align: left;

}

.h3-content{
    gap: 24px;
    margin-top: 40px;
    margin-bottom: 40px;
    text-align: center; /* 中央寄せ */


}

.body-pc{
  display: none;
  }
  
  .body-sp{
  display: inline;
  margin-top: -110px;
  
  }

.cell-size-image{
  background-image: url('assets/cell-size-sp.png');
  width: 375px;
  height: 732px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 343px 732px;

}

.inspection-flow-image{
  background-image: url('assets/flow-image-sp.png');
  width: 375px;
  height: 1022px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}


.sub-content{
   width: 375px;
    gap: 24px;
    text-align: center;


}
.inspaction-image{
  width: 313px;

}
.numberling{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 14px;
    gap: 16px;
    margin: 40px 0px;
}

.number{
    font-family: "Helvetica Neue";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; 
}

h5{
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  margin-top: 0px;
  margin-bottom: 0px;

}
.sub-title{
    position: relative; /* 疑似要素の位置の基準点 */


}

.sub-title:after {
  content: ""; /* 疑似要素を表示するために必要 */
  position: absolute;
  bottom: -5px; /* テキストの下から5pxの位置 */
  left: 0;
  width: 100%; /* 要素の幅に合わせる */
  border-bottom: 2px dashed #333; /* 下線スタイル */
}

.numberling-contnt{
    gap: 4px;
}

.insepction_top{
    width: 450.273px;
    height: 273px;
    flex-shrink: 0;
}

.about-bg {
    position: relative;
  }
  

  .blank{
height: 80px;
  }


  .about-bg::before,
  .about-bg::after {
    content: '';
    position: absolute;
    top: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  
  .about-bg::before {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10; 
    width: 198px;
    height: 230px;
    background-image: url('assets/Vector-1.svg'); 
    transform: translateY(-133px);
    background-position: top left;
    
}
  
  .about-bg::after {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10; 
    width: 178px;
    height: 166px;
    background-image: url('assets/Vector.svg'); 
    transform: translateY(-72px);

    background-position: top right;
    

  }

  .inspection-bg {
    position: relative;
  }
  
  .inspection-bg::before,
  .inspection-bg::after {
    content: '';
    position: absolute;
    top: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  
  .inspection-bg::before {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10; 
    width: 198.105px;
    height: 237.626px;
    background-image: url('assets/Vectormiddle-1.svg'); 
    transform: translateY(-96px);
    background-position: top left;
    
}
  
  .inspection-bg::after {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10; 
    width: 178px;
    height: 166.365px;
    background-image: url('assets/Vectormiddle.svg'); 
    transform: translateY(-98px);
    background-position: top right;

  }
  .graph-content{
    display: flex;
    flex-direction: column;
    gap: 36px;
    margin-top: 24x;
    margin-bottom: 24px;
    width: 350px;
    text-align: left;
    align-items: center;
  }

  .graph-description{
color: var(--333333, #333);
font-family: "Noto Sans JP";
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 150%; /* 24px */
  }
  .graph-subimage{
    width: 200px;
    height: 155px;
  }

  .bottom-content-bg {
    display: flex;
    padding: 80px 16px;
    gap: 10px;
    justify-content: center; /* 水平方向の中央揃え */

  }

  .salutation-bg{
    background: #FFE353;
  }

  .workshop-bg{
    background: #169757;
  }

  .contact-bg{
    background: #0071BB;
  }

  .infomation-bg{
    background: #FFEFEC;
  }

  .bottom-content-content{
   width: 375px;
    text-align: center;
    gap: 32px;

    display: flex;
    justify-content: center; 
    align-items: center; 
    flex-direction: column; 

  }

  .box-fonttype-mini{
    color: var(--333333, #333);
    color: var(--333333, #333);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; 
    }
  .salutation-image{
    width: 200px;
    height: 200px;
    margin: 32px;

  
  }
  .flip-animation{
    animation: flip 2s ease-out 0s 1; 
    transform-style: preserve-3d;

  }

  .bottom-content-text{
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 24px */
    text-align: left
  }

  .workshop-text{
    color: var(--white, #FFF);
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 24px */
    text-align: left;
    }

    .contact-text{
      color: var(--white, #FFF);
      font-family: "Noto Sans JP";
      font-size: 20px;
      font-style: normal;
      font-weight: 500;
      line-height: 150%; /* 24px */
      }
  
  
  .white-text{
    color: #FFFFFF;
  }


  @keyframes flip {
    from {
      transform: rotateY(0deg);
    }
    to {
      transform: rotateY(360deg);
    }
  }
  
  .bottom-button{

    border-radius: 100px;
    width: 300px;
    padding: 15px;
    box-sizing: border-box;
    background: #FFFFFF;
    text-decoration: none;
    text-align: center;

    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;

    transform-origin: center;

  }

    
  .added-button{

    border-radius: 100px;
    width: 300px;
    padding: 15px;
    box-sizing: border-box;
    background: #FFE353;
    text-decoration: none;
    text-align: center;

    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;

    transform-origin: center;

  }


  .workshop-button{
    color: #169757;
    border: 2px solid #169757;

  }
  
  .workshop-button:hover{
    background: #169757;
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
  }

.contact-button{
     color: #0071BB;
     border: 2px solid #0071BB;
}


.contact-button:hover{
    background: #0071BB;
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
}

.infomation-type{
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    margin: 0;

}
.infomation-content{
    border-top: #000000 2px solid;
    display: flex;
    width: 343px;
    padding: 16px 0px;
    align-items: flex-start;
    gap: 24px;
}

.infomation-parent{
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.supporter-parent{
    display: flex;
    flex-direction: column;

    gap: 0px;
    margin-top: 32px;
}

.supporter-flame{
    width: 229px;
    flex: 1 0 0;
    margin: 16px 40px;
}

.sapporter-content{
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 18px;
}

.sapporter{
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  margin: 0px;

}

footer{
  display: flex;
  padding: 24px 0px;
  gap: 40px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #EBEBEB;
}

.copy-right-pearent{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.copy-right{
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 24px */
  text-align: center;

}

.popup {
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: all .2s;

  visibility: hidden;
}
.popup__container {
  width: 279px;
  background: var(--back-ground, #FFEFEC);
   position: absolute;
  display: flex;
   flex-direction: column;

  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 24px 32px;
  border-radius: 8px;
  max-height: 100vh; 
  /* 要素の大きさがmax-height に達した場合のみ、 margin 10pxにする */
  
  overflow-y: auto; 

  /* 子要素を横に中央寄せにする */

}
.box-title{
  color: var(--white, #FFF);
text-align: center;
font-family: "Noto Sans JP";
font-size: 24px;
font-style: normal;
font-weight: 700;
line-height: 150%; /* 36px */
padding: 0;
margin: 0; !important

}

.title-box{
  display: flex;
  width: 176px;
  padding: 8px 16px;
  flex-direction: column;
  align-items: center;  
  border-radius: 8px;
  border: 2px solid var(--white, #FFF);
  background: #169757;
  z-index: 999;
  position: absolute;
  top: -32px;

    /* 子要素を左寄せにする */
  text-align: left;

}
.datebox{
 width: 375px; 
  margin: 32px;
   border: 2px white solid; 
   justify-content: center; 
   align-items: center; 
   gap: 10px; 
   display: inline-flex;
   z-index: 0;
   position: relative;

   
}

.workshop-data{
  text-align: left;
  color: var(--white, #FFF);
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  justify-content: flex-start; /* Aligns child elements to the left if it's a flex container */
  margin-right: auto; /* Pushes the item to the left in a flex container with flex-direction: row */

}


.workshop-data-parent{
  display: flex;
  flex-direction: column;
  padding: 36px;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
  justify-content: flex-start; /* Aligns child elements to the left if it's a flex container */
  align-items: center; /* Pushes the item to the left in a flex container with flex-direction: row */

}
.popup__container h2 {
  margin-bottom: 2rem;
}
.popup:target {
  visibility: visible;
}
.popup__close {
  position: absolute;
  top: 9px;
  right: 9px;
  color: black;
  text-decoration: none;
  font-size: 24px;
  line-height: 1rem;
}

.popup-title{
  display: flex;
  padding: 8px 16px 8px 0px;
  align-items: center;
  justify-content: center;
}

.ruby{
  color: var(--333333, #333);
text-align: center;
font-family: "Noto Sans JP";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: 150%; /* 18px */
margin: 0; !important

}

.part-title{
  color: var(--333333, #333);
text-align: center;
font-family: "Noto Sans JP";
font-size: 24px;
font-style: normal;
font-weight: 700;
line-height: 150%; /* 36px */
margin: 0; !important
}
.image-bg{
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFFFFF;
  justify-content: center;
  padding: 16px 0px;

}

.popup-description{
  color: var(--333333, #333);
  font-family: "Noto Sans JP";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 24px */
}

.madeform{

  display: flex;
  align-items: center;
  z-index: 999;
  width: 335px; 
  height: 173px; 
}

#pageTopBtn {
  position: fixed;
  bottom: 16px;
  right: 16px;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 87.477px;
  height: 77.867px;
  background-image: url(assets/top-button.png);
}

/* #pageTopBtn:hover {
  background-image: url(assets/top-button-hover.png);
} */

.ruby-part{
  color: var(--333333, #333);
font-family: "Noto Sans JP";
font-size: 10px;
font-style: normal;
font-weight: 400;
line-height: 150%; /* 15px */
  
}

@keyframes fadeIn {
  from {
      opacity: 0;
  }
  to {
      opacity: 1;
  }
}



.popup:target {
  visibility: visible;
  animation: fadeIn 0.5s ease-out forwards;
}




.sliderwrap {
  width: 100vw; /* 全画面幅に設定 */
  height: 144px; /* 高さを拡大された要素の高さに設定 */
  margin: 40px 0;
  overflow: hidden; /* 親要素から出たコンテンツを非表示にします */
  display: flex;
  position: relative;
  align-items: center; /* 子要素を上下中央寄せにします */
}

.slider {
  display: flex;
  transition: transform 0.5s ease-in-out; /* スムーズなアニメーションを追加します */
  position: absolute;
}

.slider ul {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center; /* 子要素を上下中央寄せにします */
}

.slide {
  width: 192px; /* 通常スライドの幅 */
  height: 108px; 
  text-align: center;
  margin: 0 16px; /* コンテンツの間に40pxの空間を追加します */
  transition: transform 0.5s ease-in-out; /* スムーズなアニメーションを追加 */
  display: flex;
  align-items: center; /* 子要素を上下中央寄せにします */
  justify-content: center; /* 子要素を左右中央寄せにします */
}

.slide:last-child {
  margin-right: 0; /* 最後のスライドの右マージンを削除 */
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide.center {
  width: 256px; /* 拡大されたスライドの具体的な幅 */
  height: 144px; /* 拡大されたスライドの具体的な高さ */
}

.nav-button {
  position: absolute;
  top: 50%;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  background-color: #FFFFFF;
  color: #169757;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}

.prev-button {
  left: calc(50% - 180px);
}

.next-button {
  right: calc(50% - 185px);
}

.video-container {
  width: 343px;
  height: 192.94px;
  padding: 8px;
  background-color: #ffffff;
  box-sizing: border-box;
}

.video-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.video-header {
  display: flex;
  align-items: center;
  justify-content: center; /* 横方向の中央寄せ */
  margin-bottom: 20px;
  margin-top: 64px;

}

.video-header img {
  width: 40px; /* アイコンのサイズ */
  margin-right: 10px;
}

.video-title {
  font-size: 24px;
  color: white; /* 文字色を白に */
  display: flex;
  align-items: center; /* 上下中央寄せ */
  margin: 0; /* 不要な余白を削除 */
}

.video-description{
  font-size: 14px;
  color: white; /* 文字色を白に */
}

/* 2025-10-03: ごあいさつセクションを非表示（SP） */
.salutation-bg {
  display: none !important;
}

/* 念のための当て広げ（見出しごと消えるように） */
#greeting,
.greeting,
.greeting-section,
.message-section,
section[aria-label="ごあいさつ"] {
  display: none !important;
}

/* 2025-10-03: ワークショップセクション非表示（SP） */
.workshop,
.section-workshop,
#workshop {
  display: none !important;
}

