@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP&display=swap');
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


body {
  background: #F9F9F9;
  font-weight: 400;
  font-style: normal;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
	color: #444444;

  /* ★追加：固定ヘッダーの高さ分、コンテンツが隠れないようにボディに余白を設定 */
  padding-top: 55px; /* ここはメニューバーの実際の高さに合わせて調整する */
}
h1{
	margin: 0 auto;
	margin-top: 30px;
	width: 500px;
	color: #F90;
	text-align: center;
}

/* Animation webkit */
@-webkit-keyframes myfirst
{
	0% {margin-left: -235px}
	90% {margin-left: 100%;}
	100% {margin-left: 100%;}
}

/* Animation */
@keyframes myfirst
{
	0% {margin-left: -235px}
	70% {margin-left: 100%;}
	100% {margin-left: 100%;}
}

.fish{
	background-image: url('img/fish.png');
	width: 200px;
	height: 88px;
	margin-left: -300px;
	position: absolute;	
	animation: myfirst 24s;
	-webkit-animation: myfirst 24s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	animation-timing-function: linear;
	-webkit-animation-timing-function: linear;
}

#fish{
	top: 120px;
}

#fish2{
	top: 260px;
	animation-delay: 12s;
	-webkit-animation-delay: 12s;
}


#form-title{
	height: 160px;
	background: url('img/golf.png') repeat-x bottom;/* 波のギザギザ */
}

#form{
	height: 100%;	
	background-color: #98d4f3;
	overflow: hidden;
	position: relative;
	
}
form{
	margin: 0 auto;
	width: 500px;
	padding-top: 40px;
	color: white;
	position: relative;
	
	
}
label, input, textarea{
	display: block;	
}
input, textarea{
	width: 500px;	
	border: none;
	border-radius: 20px;
	outline: none;
	padding: 10px;
	font-family: 'Sniglet', cursive;
	font-size: 1em;
	color: #676767;
	transition: border 0.5s;
	-webkit-transition: border 0.5s;
	-moz-transition: border 0.5s;
	-o-transition: border 0.5s;
	border: solid 3px #98d4f3;	
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	
}
input:focus, textarea:focus{
	border: solid 3px #77bde0;	
}

textarea{
	height: 100px;	
	resize: none; 
	overflow: auto;
}
input[type="submit"]{
	background-color: #F90;
	color: white;
	height: 50px;
	cursor: pointer;
	margin-top: 30px;
	font-size: 1.29em;
	font-family: 'Sniglet', cursive;
	-webkit-transition: background-color 0.5s;
	-moz-transition: background-color 0.5s;
	-o-transition: background-color 0.5s;
	transition: background-color 0.5s;
}
input[type="submit"]:hover{
	background-color: #e58f0e;
	
}
label{
	font-size: 18px;
	margin-top: 20px;
	padding-left: 20px;
}
.formgroup, .formgroup-active, .formgroup-error{
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 10.5%;
	transition: background-image 0.7s;
	-webkit-transition: background-image 0.7s;
	-moz-transition: background-image 0.7s;
	-o-transition: background-image 0.7s;
	width: 566px;
	padding-top: 2px;
}

.formgroup{
	background-image: url('img/pixel.gif');	
}
.formgroup-active{
	background-image: url('');/* 入力場所を示す画像 */
}
.formgroup-error{
	background-image: url('');/* エラーが出た時の画像 */
	color: red;
}


#thanks-text{
	margin: 50px;
	padding: 100px;
	text-align: center;
}



@media screen and (max-width: 600px) {
  form {
    width: 90%;
    padding-left: 5%;
    padding-right: 5%;
  }

  input, textarea {
    width: 100%;
    font-size: 1em;
  }

  .formgroup, .formgroup-active, .formgroup-error {
    width: 100%;
    background-size: 14%; /* 背景サイズも少し調整（必要なら） */
  }

  h1 {
    width: 90%;
    font-size: 1.5em;
  }

  .fish {
    /*display: none;*/ /* モバイルではアニメーションをオフにしても◎ */
  }
}


.submit-padding{
	margin-bottom: 20pt
}



/* プライバシーポリシー同意チェック */
#privacy-consent {
  margin-top: 30px;
  padding-left: 20px;
}

.privacy-label {
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
}

.privacy-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
}

@media screen and (max-width: 600px) {
  #privacy-consent {
    padding-left: 0;
    margin-top: 20px;
    text-align: left;
  }

  .privacy-label {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    font-size: 15px;
    line-height: 1.5;
  }

  .privacy-label input[type="checkbox"] {
    margin-right: 0;
  }

  .privacy-label a {
    font-size: 14px;
    word-break: break-word;
  }
}
