/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
}

@media (min-width: 600px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 480px) {
}

@media (min-width: 481px) and (max-width:767px) {
}

@media (min-width: 768px) and (max-width:959px) {
}

@media (min-width: 960px) {
}

@media (max-width: 767px) {
}

@media (min-width: 768px) {
}

/* ---------------------------------------- common */

@media (max-width: 767px) {
}

@media (min-width: 768px) {

	article .inner-s {
		max-width: 770px;
	}

}

/* ---------------------------------------- article h2 */

article h2 {
	position: relative;
	text-align: center;
	margin: 0 0 3em;
}
article h2 em {
	color: #F3f3f3;
	font-family: "Lilita One", sans-serif;
}
article#philosophy h2 em {
	color: #F0D541;
}
article h2 span {
	display: inline-block;
	width: 100%;
	color: #FC9913;
	font-weight: 600;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
article#philosophy h2 span {
	color: #000;
}

@media (max-width: 767px) {
	article h2 em {
		font-size: clamp(4.4rem, 1.139rem + 8.05vw, 8rem);
	}
	article h2 span {
		font-size: clamp(1.8rem, 0.678rem + 2.24vw, 2.8rem);
	}
}

@media (min-width: 768px) {
	article h2 em {
		font-size: clamp(7rem, -1.832rem + 12.93vw, 10rem);
	}
	article h2 span {
		font-size: clamp(2.4rem, -0.155rem + 3.45vw, 3.2rem);
	}
}

article .inside + .inside { margin: 3em 0 0; }

/* ---------------------------------------- telnum */

#telnum {
	max-width: 490px;
	background: #FCE879;
	border-radius: 1em;
	font-weight: 500;
	margin: 0 auto;
}

@media (max-width: 767px) {
	#telnum { 
		text-align: center;
		line-height: 1.6;
		padding: 2em 1em;
	}
	#telnum p + p { margin: 1em 0 0; }
}

@media (min-width: 768px) {

	#telnum { 
		padding: 2em;
	}
	#telnum p { line-height: 2; }
	#telnum p br { display: none; }

}

/* ---------------------------------------- telnum + p */

#telnum + .inside p { 
	text-align: center;
	text-decoration: underline #DC000C;
	font-weight: 600;
	line-height: 2;
}

@media (min-width: 768px) {
	#telnum + .inside p br { display: none; }
	#telnum a { pointer-events: none; }
}

/* ---------------------------------------- contact */

#contact table { width: 100%; }

#contact table th {
	font-weight: 600;
}
#contact table th .req {
	display: inline-block;
	color: #fff;
	background: #DC000C;
	line-height: 1;
	padding: .4em .6em;
	border-radius: 4px;
}

#contact table td p {
	font-weight: 500;
	line-height: 2;
	margin: 1em 0 0;
}

#contact .agree { 
	text-align: center;
	margin: 2em 0 0;
}
#contact .agree input { margin: 0 .5em 0 0; }
#contact .agree a {
	color: #0075C2;
	text-decoration: underline;
}
#contact .submits { 
	text-align: center; 
	margin: 3.5em 0 0;
}

@media (max-width: 767px) {

	#contact table th,
	#contact table td {
		display: block;
		font-size: clamp(1.3rem, -0.278rem + 5.45vw, 1.6rem);
	}
	#contact table th { padding: .75em 0 .5em; }
	#contact table td { padding: .5em 0 .75em; }
	#contact table th .req {
		font-size: clamp(1rem, -0.102rem + 3.64vw, 1.2rem);
		margin: 0 0 0 .5em;
	}

	#contact .agree {
		font-size: clamp(1.2rem, 0.023rem + 3.64vw, 1.4rem);
	}

}

@media (min-width: 768px) {

	#contact table { 
		table-layout: fixed;
		border-collapse: separate;
		border-spacing: 0 2.5em;
	}
	#contact table th,
	#contact table td {
		font-size: clamp(1.3rem, 0.192rem + 1.29vw, 1.6rem);
		vertical-align: middle;
	}
	#contact table th.textareaWrap { vertical-align: top; }
	#contact table th {
		position: relative;
		width: 11.5em;
		padding: 0 2em 0 0;
	}
	#contact table th .req {
		font-size: clamp(1rem, 0.211rem + 0.86vw, 1.2rem);
		position: absolute;
		top: 54%;
		right: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	#contact table th.textareaWrap .req {
		top: 0;
		-webkit-transform: none;
		transform: none;
	}
	#contact table td { padding: 0 0 0 1.5em; }

	#contact .agree {
		font-size: clamp(1.2rem, 0.336rem + 0.86vw, 1.4rem);
	}
}

/* form */
#contact input[type="checkbox"] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

#contact .radioWrap {
	display: flex;
	align-items: center;
}
#contact .radioWrap label {
	display: flex;
	align-items: center;
	column-gap: 4px;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
}

#contact .radioWrap label:not(:last-of-type) {
	margin-right: 1.5em;
}

#contact .radioWrap label input[type="radio"] {
	appearance: none;
	position: relative;
	width: 20px;
	height: 20px;
	border: 1px solid #999;
	border-radius: 9999px;
	cursor: pointer;
	margin: 0 .25em 0 0;
}

#contact .radioWrap label input[type="radio"]:checked {
	border: none;
	background-color: #DC000C;
}

#contact .radioWrap label input[type="radio"]::after {
	content: "";
	position: absolute;
	inset: 0;
	width: 10px;
	height: 10px;
	margin: auto;
	border-radius: 9999px;
	background-color: #ffffff;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"],
textarea {
	width: 100%;
	background: #F3F3F3;
	border-radius: .4em;
	line-height: 2;
}
#contact td.nameWrap input[type="text"] {
	width: calc( 100% - 2.5em );
	margin: 0 0 0 1em;
}
#contact input[type="text"].short {
	width: 30%;
}

#contact .submits input[type="submit"] {
	color: #fff;
	background: #DC000C;
	padding: 1.5em;
	border-radius: 100px;
	cursor: pointer;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#contact .submits input[type="submit"]:hover {
	opacity: .5;
}

input::placeholder {
	color: #999;
}

#agree-1 + span.mwform-checkbox-field-text { display: none; }

@media (max-width: 767px) {

	#contact input[type="text"],
	#contact input[type="email"],
	#contact input[type="tel"],
	textarea {
		font-size: clamp(1.2rem, 0.023rem + 3.64vw, 1.4rem);
		padding: .75em 1em;
	}
	#contact .submits input[type="submit"] {
		width: 80%;
		max-width: 300px;
		font-size: clamp(1.3rem, -0.278rem + 5.45vw, 1.6rem);
		font-weight: 500;
	}

}

@media (min-width: 768px) {

	#contact input[type="text"],
	#contact input[type="email"],
	#contact input[type="tel"],
	textarea {
		font-size: clamp(1.2rem, 0.336rem + 0.86vw, 1.4rem);
		padding: .75em 1em;
	}

	#contact .submits input[type="submit"] {
		width: 40%;
		min-width: 300px;
		font-size: clamp(1.3rem, 0.192rem + 1.29vw, 1.6rem);
		font-weight: 500;
	}

}