@charset "utf-8";

@import url("../style/variables.css");/*変数定義*/
@import url("../style/form_mail.css");/*フォームメール周りまとめ*/
	
:root{
}

main{
  background:white;
  border-radius: 20px;
  padding:30px;
  border:3px solid rgb(var(--mainColor));
	@media (max-width: 860px) {
		padding:0;
		border:none;

	}
}

#top_com{
	width:min(760px,100%);
	margin:0 auto;
	text-align: left;
}

/*-----------------------------------------------------	*/
/*	for all						*/
/*-----------------------------------------------------	*/
	/*** main px ***/
	#contact{
		width:min(860px,100%);
		background:white;
		margin:30px auto 0 auto;
		border:1px solid silver;
		padding:40px;
		border-radius:10px;
		article{
			text-align: left;
			display:grid;
			grid-template-columns: 12em 1fr;
			> *{
				padding:20px;
				border-top:1px solid silver;
			}
			> *:nth-child(odd){
				text-align: right;
				border-left:1px solid silver;
				padding-top:1.7em;
				&:has(+* > input[type='radio']),
				&:has(+* > input[type='checkbox']){/*radio,checkboxの場合は、paddingを調整*/
					padding-top:20px;
				}
			}
			> *:nth-child(even){
				border-right:1px solid silver;
				aside{
					font-size: .9rem;
					margin:.3em auto 0 auto;
					&:has(+ *){
						margin:.3em auto;
					}
				}
				aside + label{
					margin-bottom:0;
				}
			}
			> *:nth-last-child(1),
			> *:nth-last-child(2){
				border-bottom:1px solid silver;
				border-bottom:1px solid silver;
			}
			> *:nth-child(even):not(:nth-child(4n)) {
				background:#f4f4f4;
			}
			> *:nth-child(2n-1):not(:nth-child(4n-1)) {
				background:#f4f4f4;
			}
			> *:nth-child(1){
				margin-top:0;
			}
		}
		@media (max-width: 768px) {
			padding:20px;
			article{
			grid-template-columns: 1fr;
			> *{
				padding:0 ;
				border:none;
			}
			> *:nth-child(odd){
				text-align: left;
				border:1px solid silver;
				border-bottom:none;
				padding:20px 20px 0 20px; 
			}
			> *:nth-child(even){
				border-left:1px solid silver;
				border-right:1px solid silver;
				padding:10px 20px 20px 20px;
			}
		}

		}
	}
	
 
	#tel_fax{
		margin:20px auto 0 auto;
		svg{
			width:20px;
			height:20px;
			fill:var(--baceFontColor);
			margin:0 .3em 0 0;
		}
		span{
			font-size: 1.5rem;
			font-weight: 600;
			&:nth-of-type(1){
				margin-right:20px;
			}
			&:nth-of-type(2){
				font-size: 1.2em;
			}
		}
		br{
			display:none;
		}
		@media (max-width: 768px) {
			br{
				display:block;
			}
		}
	}

	#privacy{
		margin:60px auto 0 auto;
		width:860px;
		max-width:calc(100% - 66px);
		padding:30px;
		background:#eee;
		border:3px solid gray;
		height:40vh;
		overflow-x: auto;
		ul{
			li{
				h3{
					font-size: 1.1rm;
				}
			}
		}
		aside{
			width: min(290px,100%);
			margin:30px 0 auto auto;
			text-align: left;
		}
		@media (max-width: 1200px) {
			width:auto;
			max-width:none;
		}
		@media (max-width: 768px) {
			padding:20px;
		}
	}

	#top_com{
		text-align:left;
		}

form{
	div.g-recaptcha{
		> div{
			margin:20px auto 0 auto;
		}
	}
}