@charset "utf-8";

main{
	width:min(95%,1200px);
	margin:80px auto 0 auto;
}

/*-------------------------------


	コメント


-------------------------------*/

#coment h2{
	/*font-family: "Zen Old Mincho", serif;*/
	width:100%;
	font-size:1.3rem;	
	  font-weight: 700;
	text-align: center;
	line-height: normal;
}

#contacttel{
	margin:50px 0;
	line-height: normal;
	text-align: center;
	font-weight: 700;
}

#contacttel a[href^="tel:"]{
	font-size:2.5rem;
	color:#BB004A;
	
}

/*------------------------------------

	レスポンシブ

------------------------------------*/
@media screen and (max-width: 430px){
	#contacttel a[href^="tel:"]{
		font-size:2rem;
	}
}

/*-------------------------------


	フォーム


-------------------------------*/

#form{
	width:100%;
	margin:0 auto;
	background-color: rgba(243,243,243,0.5);
	padding:30px 20px;
	border-radius: 10px;
}

#form h2{
	font-size:2rem;	
	 font-weight: 700;
	text-align: center;
	color:#21278A;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}

#form form{
	width:100%;
	margin-top:50px;
}

#form table{
	width:min(100%,900px);
	border-collapse:separate;
	border-spacing:0 5px;
	margin:0 auto;
}

#form caption{
	color:#BB004A;
	font-size:0.95rem;
	font-weight: bold;
}

#form th,
#form td{
	padding:10px 10px;
	line-height: normal;
}

#form th{
	background-color:rgba(92,130,236,1.00);
	font-weight: 700;
	color:#fff;
	border-radius: 5px 0 0 5px;
	width:200px;
}

#form td{
	background-color: #fff;
	border-radius: 0 5px 5px 0;
}

#form input,
#form textarea{
	width:min(100%,300px);
	padding:3px 5px;
	border:1px solid #CFCFCF;
	font-family:  "Noto Sans JP",sans-serif;
	font-size: 1rem;
	color:#383838;
	font-weight: 500;
}

#form textarea{
	width: 100%;
	height: 200px;
}

#form span.chu,
#inputerr{
	font-size:0.85rem;
	color:#BB004A;
	font-weight: 800;
	margin-left:5px;
	
}

#inputerr{
	margin-left:0;
}

#botan,
#pr{
	width:min(100%,900px);
	margin:30px auto 0 auto;
	text-align: center;
}

#pr{
	font-size:1rem;
	color:rgba(44,44,44,1.00);
}

#pr a{
	/*text-decoration-line: underline;
	text-decoration-style: dotted;
	text-underline-offset:5px;
	text-decoration-color: rgba(54,54,54,1.00);*/
	color:#3841CF;
}

#pr a:hover{
	color:#21278A;
}

#botan button{
	cursor: pointer;
}

#kakunin #botan{
	display: flex;
	align-items: center;
	justify-content: center;
	gap:20px;
}

#contact #botan button,
#kakunin #botan button[type="submit"]{
	line-height: 40px;
	background-color: #353DCE;
	color:#fff;
	border-radius: 5px;
	border:none;
	font-size: 1.2rem;
	font-weight: 700;
	background: #353DCE;
background: -webkit-linear-gradient(bottom, #11379C 0%, #4961DE 100%);
background: -o-linear-gradient(bottom, #11379C 0%, #4961DE 100%);
background: linear-gradient(to top, #11379C 0%, #4961DE 100%);
	overflow: hidden;
  position: relative;
}

#contact #botan button{
	width:200px;
}

#kakunin #botan button[type="submit"]{
	flex:2;
	max-width: 200px;
}

#kakunin #botan button{
	flex:1;
	max-width:150px;
	line-height: 40px;
	color:#1747C6;
	border-radius: 5px;
	font-size: 1.2rem;
	font-weight: 700;
	background: #353DCE;
background: -webkit-linear-gradient(bottom, #E2E3E6 0%, #FFFFFF 100%);
background: -o-linear-gradient(bottom, #E2E3E6 0%, #FFFFFF 100%);
background: linear-gradient(to top, #E2E3E6 0%, #FFFFFF 100%);
	border:1px solid #ddd;
	overflow: hidden;
  position: relative;
}


/*------------------------------------

	レスポンシブ

------------------------------------*/
@media screen and (min-width: 431px){
	
	#botan button::before {
	  position: absolute;
	  top: 0;
	  left: -75%;
	  z-index: 2;
	  display: block;
	  content: '';
	  width: 50%;
	  height: 100%;
	  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	  -webkit-transform: skewX(-25deg);
	  transform: skewX(-25deg);
	}
	
	#botan button:hover::before {
	  -webkit-animation: shine .75s;
	  animation: shine .75s;
	}
}

@media screen and (max-width: 430px){
	#form{
		background-color: rgba(243,243,243,0.7);
	}
	#form h2{
		font-size:1.8rem;
	}
	
	#form th,
	#form td{
		display: block;
		width:100%;
		padding:5px 0;
		color:rgba(44,44,44,1.00);
		text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
	}
	
	#form td{
		padding:10px 0;
	}
	
	#form th{
		background-color: rgba(0,0,0,0.00);
		border-radius: 0;
	}
	
	#form th::before{
		content: "■";
		font-size:0.9rem;
			color:#0033CE;
		text-shadow:none;
	}
	
	#form td{
		background-color: rgba(0,0,0,0.00);
		border-radius: 0;
	}
	
	#form input{
		width:100%;
	}
	
}

/*------------------------------------

	アニメーション

------------------------------------*/

@-webkit-keyframes shine {
	  100% {
		left: 125%;
	  }
	}
	@keyframes shine {
	  100% {
		left: 125%;
	  }
	}



/*------------------------------------

	確認画面

------------------------------------*/

#kakunin p{
	width:min(100%,900px);
	margin:0 auto;
	line-height: normal;
	font-weight: 700;
	text-align: center;
}

/*------------------------------------

	最終画面

------------------------------------*/

body#contactend{
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

body#contactend main{
	flex:1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

body#contactend section{
	eidth:min(95%,1200px);
	margin:30px auto;
	text-align: center;
	font-weight: 700;
}

body#contactend section h2{
	font-size:1.5rem;
}


body#contactend section img{
	width:min(100%,400px);
	margin-bottom:20px;
}

/*------------------------------------

	レスポンシブ

------------------------------------*/
@media screen and (max-width: 430px){
	body#contactend section h2{
		font-size:1.3rem;
	}
}
