@charset "utf-8";

/* リセット */

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: none;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-family: 'Noto Sans JP', sans-serif;
  color: #42413e;
  line-height: 1;
  background-color: #fff;
  position: relative;
}
img {
  max-width: 100%;
}

.top{
  position: relative;
}


@media(max-width: 750px){
  #countdown {
    font-size: 28px;
  }
  #countdown-timer{
    font-size: 28px;
  }
}
#countdown {
  position: absolute;
  top: 2%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  color: #42413e;
  font-size: clamp(23px, 6vw, 45px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
#countdown-timer{
  background-color:	#fdf063;
  color: #42413e;
  font-size: clamp(22px, 6vw, 48px);
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 5px;

}
/* コンテンツ */
.contents{
  margin: 0 auto;
  max-width: 750px;
  position: relative;
}
.contact{
  position: relative;
  margin-top: -3px;
}

.form-content{
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%; /* 要素の幅 */
}
.table{
  width: 100%;
}
.form-control{
  width: 100%;
  font-size: clamp(10px, 3vw, 22px);
  padding: 1em 1em;
  margin-top: 10%;
  border: 1.5px solid #000;
  border-radius: 8px;

}

/*btn-topの記述*/

.btn-top:hover{
  top: 70.5%;
  left: 55.5%;
  transform: translateX(-55.5%);
  filter: drop-shadow(0px 0px 0px #aaa);
}
.btn-top{
  background-image: url(../images/botton.png);
  background-repeat: no-repeat;
  background-size: 100%; /* 画像を要素に合わせて拡大/縮小 */
  width: 80%; /* 要素の幅 */
  height: 120px; /* 要素の高さ */
  text-indent: -9999px; /* テキストを非表示にする */
  /* その他のスタイル */
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(8px 8px 5px #aaa);
  transition: .3s;
  cursor: pointer;
  /* margin-top: 140px; */
  /* background-position:bottom; */

  }
  .top-form{
    background-position:center;
    background-size: 50% 60%;
  }

.button:hover{
  top: 36.5%;
  left: 55.5%;
  transform: translateX(-55.5%);
  filter: drop-shadow(0px 0px 0px #aaa);

}
form{
  padding: 0 50px;
  max-width: 500px;

}
.button {
  background-image: url(../images/botton.png);
  background-repeat: no-repeat;
  background-size: 100%; /* 画像を要素に合わせて拡大/縮小 */
  width: 85%; /* 要素の幅 */
  height: 120px; /* 要素の高さ */
  text-indent: -9999px; /* テキストを非表示にする */
  /* その他のスタイル */
  margin-top: 0px;
  position: absolute;
  top: 36%;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(8px 8px 5px #aaa);
  transition: .3s;
  cursor: pointer;

}

.button2 {

  /* width: 80%;
  height: 120px;
  position: absolute;
  top: 17%;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(8px 8px 5px #aaa);
  transition: .3s;
  cursor: pointer; */
  width: 80%;
  height: 120px;
  position: absolute;
  top: 17%;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(8px 8px 5px #aaa);
  transition: .3s;
  cursor: pointer;

}
.button2:hover{
  top: 17.2%;
  left: 51%;
  transform: translateX(-51%);
  filter: drop-shadow(0px 0px 0px #aaa);

}

.button3{
  width: 80%;
  height: 120px;
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(8px 8px 5px #aaa);
  transition: .3s;
  cursor: pointer;
}

.button3:hover{
  top: 90.2%;
  left: 51%;
  transform: translateX(-51%);
  filter: drop-shadow(0px 0px 0px #aaa);


}

#form01{
				aspect-ratio: 375/278;
				background-image: url('./images/image03.jpg');
				background-size: contain;
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
			}
			#form01 form{
				padding: 0;
				width: 100%;
				max-width: 100%;
				padding-bottom: 16%;
			}
			#form01 .form-content {
				position: relative;
				transform: translateX(-50%);
				width: 80%;
			}
			#form01 .form-control{
				width: 100%;
				padding: 1em;
				margin: 0;
				border: 1.5px solid #000;
				border-radius: 8px;
				margin-bottom: 0.6em;
			}
			#form01 .button{
				padding-top: 1em;
				background-image: none;
				width: auto;
				height: auto;
				position: relative;
				transform: none;
				top: auto;
				left: auto;
				filter: none;
			}
			#form01 .button input{
				display: block;
				background-image: url('./images/botton.png');
				background-repeat: no-repeat;
				background-size: 100%;
				width: 80%;
				height: auto;
				aspect-ratio: 37/8;
				margin-top: 0px;
				position: relative;
				filter: drop-shadow(8px 8px 5px #aaa);;
				transition: .3s;
				cursor: pointer;
				margin: 0 auto;
				line-height: 0;
				font-size: 0;
				border: none;
				background-color: transparent;
			}
			#form01 .button input:hover {
				background-position: 8px 8px;
				filter: drop-shadow(0px 0px 0px #aaa);
			}
			.d-none{
				display: none;
			}

.mt-3{
  margin-top: -5px;
  line-height: 0;
}
.image15{
  margin-top: -1px;
}
.footer{
  height: 112px;
  background-color:#F7CED4;
  margin: -3px auto 0;
  max-width: 750px;
}
.footer-inner{
  padding-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer p{
  color: #42413e;
  /* font-size: 20px; */
  /* font-size: clamp(13px, 2.9vw, 20px); */
  font-size: calc(50% / 11);

  padding: 0 10px;
  text-align: center;
}
.footer p:first-child{
  border-right: 1px solid #294067;
}
.footer-inner a{
  color: #42413e;
  /* font-size: 20px; */
  cursor: pointer;
  transition: 0.3s;
  /* font-size: clamp(13px, 2.9vw, 20px); */
  font-size: calc(50% / 11);
}
.footer-inner a:hover{
  opacity: 0.7;
}
.copyright{
  margin-top: 1em;
  letter-spacing: 0.12em;
}


/* Youtubeエリア ///////////////////////////////////// */
.youtube_area{
  position: relative;
}
.name{
  margin-bottom: 10px;
}
.name01{
  width: 40%;
}
.name02{
  width:55%;
}
.name03{
  width:50%;
}
.name04{
  width:60%;
}
.name05{
  width:45%;
}

.youtube{
  width: 75%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  margin-top: 0%;
}
.item01{
  top: 8%;

}
.item02{
  top: 17%;
}
.item03{
  top: 26%;
}
.item04{
  top: 35%;
}
.item05{
  top: 44%;
}

.yt-wrap {
  max-width: 560px;
  margin: auto;
}
.yt-block {
  margin: -2.5rem 0 5rem;
  position: relative;
}

.videowrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  padding-top: 25px;
  height: 0;
}


#videowrapper1::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/image06.jpg");
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}

#videowrapper2::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/image07.png");
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}
#videowrapper3::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/image08.png");
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}
#videowrapper4::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/image09.png");
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}
#videowrapper5::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/image10.png");
  background-position: bottom;
  background-size: 100%;
  background-repeat: no-repeat;
}

#playButton1.button-class {
  display: none;
}
#playButton2.button-class {
  display: none;
}
#playButton3.button-class {
  display: none;
}
#playButton4.button-class {
  display: none;
}
#playButton5.button-class {
  display: none;
}

#videowrapper1.wrapper-class::after {
  display: none;
}
#videowrapper2.wrapper-class::after {
  display: none;
}
#videowrapper3.wrapper-class::after {
  display: none;
}
#videowrapper4.wrapper-class::after {
  display: none;
}
#videowrapper5.wrapper-class::after {
  display: none;
}

.play {
  /*波紋の基点とするためrelativeを指定*/
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%,-60%);
    /*波紋の形状*/
  display:inline-block;
  background:#fc031a;
  width:40px;
  height:40px;
  border-radius: 50%;
  color:#ccc;
    outline: none;
    /*アニメーションの設定*/
    transition: all .3s;
    z-index: 10;
  }

.play span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 34%;
  transform: translateY(-50%);
  width: 0px;
  height: 0px;
  border: 1rem solid transparent;
  border-left: 1.8rem solid #fff;
  box-sizing: border-box;
}


.play::after,
.play::before {
  content: '';
  /*絶対配置で波形の位置を決める*/
  position: absolute;
  left: -25%;
  top: -25%;
  /*波形の形状*/
  border: 1px solid #333;
  width: 150%;
  height: 150%;
  border-radius: 50%;
  /*はじめは不透明*/
  opacity: 1;
  /*ループするアニメーションの設定*/
  animation:1s circleanime linear infinite;
}

/*波形の2つ目は0.5秒遅らせてアニメーション*/
.play::before {
  animation-delay:.5s; 
}

/*波形のアニメーション*/
@keyframes circleanime{
0%{
  transform: scale(0.68);
}
100%{
  transform: scale(1.2);
  opacity: 0;
}
}
/* -----------------------------------------------
2023/08/16
----------------------------------------------- */
#form01{
	aspect-ratio: 375/278;
	background-image: url('../images/image03.jpg');
	background-size: contain;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
#form01 form{
	padding: 0;
	width: 100%;
	max-width: 100%;
	padding-bottom: 16%;
}
#form01 .form-content {
	position: relative;
	transform: translateX(-50%);
	width: 80%;
}
#form01 .form-control{
	width: 100%;
	padding: 1em;
	margin: 0;
	border: 1.5px solid #000;
	border-radius: 8px;
	margin-bottom: 0.6em;
}
#form01 .button{
	padding-top: 1em;
	background-image: none;
	width: auto;
	height: auto;
	position: relative;
	transform: none;
	top: auto;
	left: auto;
	filter: none;
}
#form01 .button input{
	display: block;
	background-image: url('../images/botton.png');
	background-repeat: no-repeat;
	background-size: 100%;
	width: 80%;
	height: auto;
	aspect-ratio: 37/8;
	margin-top: 0px;
	position: relative;
	filter: drop-shadow(8px 8px 5px #aaa);;
	transition: .3s;
	cursor: pointer;
	margin: 0 auto;
	line-height: 0;
	font-size: 0;
	border: none;
	background-color: transparent;
}
#form01 .button input:hover {
	background-position: 8px 8px;
	filter: drop-shadow(0px 0px 0px #aaa);
}
.d-none{
	display: none;
}
div.button input {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 37/8;
	position: relative;
	line-height: 0;
	font-size: 0;
	border: none;
	background-color: transparent;
	cursor: pointer;
}

.footer p{
	font-size: 18px;
}
.footer-inner a{
	word-break: keep-all;
	font-size: calc(750px / 2 / 19);
}
.form-control {
	margin-top: 7%; /* フォーム#2及び#3のメールアドレス入力欄 */
}
.button{
	top: 34%; /* フォーム#2及び#3のボタン位置 */
}
.button:hover{
	top: 34.5%;
}
/* -------------------------------------
MEDIA QUERY
-------------------------------------- */
@media screen and (max-width: 750px){
	.footer-inner a{
		font-size: calc(50vw / 16);
	}
	.footer p{
		word-break: keep-all;
		font-size: calc(100vw / 34);
	}
	#form01 form {
		padding-bottom: 15.5%; /* スマホの場合の表示調整 */
	}
}