body{
  font-family: Arial, sans-serif;
  margin:0;
  padding: 0;
  overflow-x: hidden;
  background-image: url('../img/bg_ground.png');
  background-position: 0 0;
  background-size: 100vw auto;
  background-repeat: repeat-y;
  background-attachment: fixed;
	position: relative;

}

body::after {
  content: "";
  position: fixed;
  inset: 0;         /* top/left/width/height をまとめて安定 */
  width: 100vw;
  height: 100vh;    /* まずはvh */
  background-image: url('../img/img3.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  opacity: 0;
  transform: translateY(0);
  transition: opacity 1.6s ease-out, transform 2s ease-out;
  z-index: -1;
  pointer-events: none;
}

body.loaded::after {
  opacity: 1;
  transform: translateY(60px);
}

.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0px;
  background-color: rgba(255, 255, 255, 0);
  z-index: 99; /* 最前面に配置 */

}

.container1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: -2px;
  background-color: rgba(255, 255, 255, 0);
  z-index: 98; /* 最前面に配置 */

}

.section {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease-out, transform 0.6s ease-out;
  margin-top: 0px;
  margin-bottom: -2%;
  padding: 0px;
  width: 100%;
  text-align: center;
  justify-content: center; /* 画像を中央に揃える */
  z-index: 97; /* 最前面に配置 */
}


.section img {
  margin: 200px;}


.section.show {
  opacity: 1;
  transform: translateY(0);
}

.pp{
     color: #000; 

}

.p1 {
	font-size: 20px;
	text-align: center;
}


@media (max-width: 768px){
  .p1{
		font-size: 12px;
		text-align: center;
  }
}

.p2 {
  line-height: 2.5; /* 行間を広げる */
  font-weight: bold;
}

.p3 {
  line-height: 0; /* 行間を広げる */
  font-weight: bold;
  font-size: 20px;
}

.nop4 a {
  color: #00AB95;
}

.section2 {
  background-color: transparent; /* 背景を完全に透明に */
  width: 100%; /* セクションの幅を100%に */
  padding: 0; /* パディングをリセット */
  margin: 0; /* マージンをリセット */
  display: flex; /* フレックスボックスで整列 */
  justify-content: center; /* 画像を中央に配置 */
}




.section2 img {
  width: 90%; /* セクションの幅にぴったり合わせる */
  height: auto; /* アスペクト比を保つ */
  display: block; /* 余白をなくすためにブロック要素に */
  margin: 0; /* 画像の外側の余白をなくす */
  padding: 0; /* 画像の内側の余白をなくす */
  z-index: 10;
}


.section3{
  width: 90%;
  margin: 0 auto;
  padding: 4% 2%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  
  background: linear-gradient(
    to right,
    rgba(245, 225, 235, 1) 0%,
    rgba(255, 255, 255, 1) 50%,
    rgba(230, 245, 246, 1) 100%
  );

  text-align: left;
  color: rgba(51, 51, 51, 1);
  font-size: 14px;
}

.j-button .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 500px;
  height: 50px;
  margin: 3% auto 0;
  border-radius: 25px;
  background: #000;
  color: rgba(255, 255, 255, 1);
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: 0.3s;
}

.j-button .btn:hover {
  background: rgba(0, 0, 0, 0.6);
}

@media (max-width: 797px) {
	.j-button .btn {
		  width: 320px;

    font-size: 13px;   
    letter-spacing: -0.05em; 
  }
}