@charset "utf-8";


/*-----------------------------------------------------	*/
/*	for all						*/
/*-----------------------------------------------------	*/
	/*** main px ***/

	:where(label):has(+ :where(textarea, input, select)) {
  display: block;
}

:where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
}

input[type="checkbox"],
   input[type="radio"]{
   all: revert;
}



	#top_com{
		margin:3rem auto 0 auto;
		width:min(640px,100%);
		p{
			text-align: left;
			
			&:nth-of-type(2){
				font-weight: 600;
			}
		}
	}
	#contact{
				width:min(860px,100%);
				background:white;
				margin:30px auto 0 auto;
				border:1px solid silver;
				padding:2em;
				border-radius:.7em;
				article{
					text-align: left;
					display:grid;
					grid-template-columns: 12em 1fr;
					> *{
						padding:1.2em;
						border-top:1px solid silver;
					}
					> *:nth-child(odd){
						text-align: right;
						border-left:1px solid silver;
						padding-top:calc(1.2em + .5em);
					}
					> *: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;
						}
						&:has(ul){/*チェックやラジオはフレックス*/
							ul{
								padding-top:.5em;
								display:flex;
								justify-content: start;
								gap:.3em 1em;
								flex-wrap:wrap;
								li:has(input){
									input{
										width:auto;
									}
								}
							}
						}
					}
			
			> *: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) {
					article{
						grid-template-columns: 1fr;
						> *{
							padding:0 ;
							border:none;
						}
						> *:nth-child(odd){
							text-align: left;
							border:1px solid silver;
							border-bottom:none;
							padding:1.2em 1.2em 0 1.2em; 
						}
						> *:nth-child(even){
							border-left:1px solid silver;
							border-right:1px solid silver;
							padding:.5em 1.2em 1.2em 1.2em;
						}
					}
				}
			}
 
	#tel_fax{
		margin:20px auto 0 auto;
		svg{
			width:20px;
			height:20px;
			fill:var(--baceFontColor);
			margin:0 .3em 0 0;
		}
		span{
				font-size: 1.2em;
				font-weight: 500;
				a{
					font-size: 1.2em;
				}
				a[href*="tel:"] {/*電話*/
   pointer-events: none;
   cursor: text;
   text-decoration: none;
   color: rgb(var(--baceFontColor));
   @media (max-width: 768px) {
      pointer-events: revert;
      text-decoration: revert;
      text-decoration-thickness: 1px;
   }
}
			
			&:nth-of-type(1){
				margin-right:20px;
			}
		}
		br{
			display:none;
		}
	}

	#privacy{
		margin:60px auto 0 auto;
		width:860px;
		max-width:100%;
		padding:30px;
		background:#eee;
		border:3px solid gray;
		height:40vh;
		overflow-x: auto;
		ul{
			li{
				@include font-size(15);
				h3{
					@include font-size(18);
				}
			}
		}
	}
	form{
	div.g-recaptcha{
		> div{
			margin:20px auto 0 auto;
		}
	}
}