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

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

section h2 {
	background: #008cd7;
	text-align: center;
	padding: 0 1em;
}
section h2 span {
	display: block;
	max-width: 1000px;
	margin: 0 auto;
}

main .inner {
	max-width: 1000px;
	margin: 0 auto;
}

table { width: 100%; }
table th, table td {
	border: 1px #ccc solid;
	vertical-align: middle;
	line-height: 1.8;
	padding: 1em;
}
table th { width: 25%; }
table td { background: #fff; }

input[type="text"], input[type="password"], input[type="email"], input[type="tel"], textarea {
	width: 100%;
	border: 1px #ccc solid;
	font-size: clamp(0.798rem, 1.7vw, 1.063rem);;
	font-weight: 500;
	line-height: 1.6;
	padding: .5em .75em;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input[type="text"].middle, input[type="password"].middle, input[type="email"].middle, input[type="tel"].middle {
	width: 40%;
}
input[type="text"].short, input[type="password"].short, input[type="email"].short, input[type="tel"].short {
	width: 20%;
}
input[type="radio"] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio;
}

input[type="checkbox"] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox;
}

select {
	border: 1px #ccc solid;
	line-height: 1.6;
	text-align: left;
	font-weight: 400;
	padding: .25em 1em;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
select optgroup option::before {
    content: "";
}

/* radio #0c71fa line #adadad */

/* ---------------------------------------- mainimg, mainimgUnder */

#mainimg {
	background: url( ../images/pc-oubo/mainimg-back.jpg ) no-repeat center center;
	background-size: cover;
	padding: 0 1em;
}
#mainimg .inner {
	max-width: 1155px;
	margin: 0 auto;
}

#mainimgUnder {
	background: #008cd7;
	text-align: center;
	padding: 0 1em;
}
#mainimgUnder .inner {
	max-width: 1102px;
	margin: 0 auto;
	position: relative;
}
#mainimgUnder .inner::before {
	content: "";
	display: block;
	width: 19.69147%;
	max-width: 217px;
	aspect-ratio: 1 / 1.138;
	background: url( ../images/pc-oubo/oubo-title-img.png ) no-repeat top center;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 0;
}
#mainimgUnder .inner::after {
	content: "";
	display: block;
	width: 13.70237%;
	max-width: 151px;
	aspect-ratio: 1 / 0.311;
	background: url( ../images/pc-oubo/triangle.png ) no-repeat top center;
	background-size: contain;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/* ---------------------------------------- application */

#application { padding: 5em 1em; }

#application table th,
#application table td,
#mails .backWrap .inner > p {
	font-size: clamp(0.813rem, -0.13rem + 2.01vw, 1.125rem);
}
#application table th {
	background: #f3f3f3;
	text-align: center;
	font-weight: 700;
}

/* ---------------------------------------- tels */

#tels .backWrap { 
	text-align: center;
	padding: 3.75em 1em; 
}
#tels .backWrap a { 
	display: inline-block;
	color: #fff;
	width: 52.25%;
	aspect-ratio: 1 / 0.211;
	background: url( ../images/pc-oubo/tel-bt-back.png ) no-repeat center center;
	background-size: contain;
	position: relative;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#tels .backWrap a:hover { opacity: .5; }

#tels .backWrap a > span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: clamp(2.25rem, -0.389rem + 5.62vw, 3.125rem);
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}
#tels .backWrap a > span img {
	width: .9em;
	aspect-ratio: 1;
	margin: 0 4px 0 0;
}

@media (max-width: 750px) {
	#tels .backWrap a > span { font-size: 36px; }
}

/* ---------------------------------------- mails */

#mails .backWrap { 
	background: #fdffd0;
	padding: 3.125em 1em 3.75em; 
}
#mails .backWrap .inner > p { 
	text-align: center; 
	margin: 0 0 2em;
}

#mails table th,
#mails table td {
	font-size: clamp(0.798rem, 1.7vw, 1.063rem);
	font-weight: 700;
}
#mails table td small {
	font-size: clamp(0.656rem, -0.004rem + 1.41vw, 0.875rem);
	font-weight: 400;
}
#mails table th {
	background: #dcf2ff;
	text-align: left;
	position: relative;
}

#mails table th .required {
	display: inline-block;
	color: #fff;
	background: #cf121b;
	font-size: clamp(0.625rem, 0.059rem + 1.2vw, 0.813rem);
	padding: .25em 1em;
	border-radius: 4px;
	position: absolute;
	right: 1em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#user_birth_year,
#user_birth_month,
#user_birth_day {
	display: inline-block;
	width: auto;
	min-width: 4em;
}

.submits {
	text-align: center;
	margin: 2.5em 0 0;
}
input[type="submit"] {
	display: inline-block;
	color: #fff;
	width: 35.1%;
	max-width: 351px;
	aspect-ratio: 1 / 0.251;
	background: url( ../images/pc-oubo/mail-submit.png ) no-repeat center center;
	background-size: contain;
	line-height: 1;
	text-indent: -9999px;
	padding: 1em 3em;
	-webkit-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
input[type="submit"]:hover {
	opacity: .5;
}

/* ---------------------------------------- some page */

#somes {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}
#somes h2 {	
	color: #008ad4;
	background: none;
	font-size: clamp(2.063rem, -0.011rem + 4.42vw, 2.75rem);
	font-weight: 700;
	padding: 1em 0 0;
	margin: 0 0 1em;
}
#somes p {
	line-height: 2.25;
}
#somes p + p { margin: 1em 0 0; }