/*
Description: Page css.
*/
.sheight{
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
body.page main{
	height:100%;
	margin:0;
	line-height:150%;
	flex: 1;
}
body.page main section{
	width:100%;
	height:100%;
	margin:40px 0;
}
/*h1を見えなくする*/
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	clip-path: inset(100%);
}
body.page-template-page-noheader footer,
body.page-template-page-noheader footer .footerbox{
	padding:0;
}

/* ヘッダー無しトップ画像 */
.page-top-box{
	width: 100vw;
	height:auto;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	margin-bottom:20px;
	display:block;
	overflow:hidden;
	position:relative;
}
img.page-top-image {
	width: 100%;
	height: auto;
	object-fit: cover;
}
/* reCAPTCHAバッジを非表示 */
.grecaptcha-badge {
	visibility: hidden;
}
p.recaptcha-notice{
	font-size: clamp(1.3rem, calc(1.1rem + 0.625vw), 1.5rem);
}

/*テーブル*/
table.table03 {
	color: #757575;
	line-height: 2;
	margin: 0 0 24px;
	width: 100%;
	border-collapse: collapse;
	border-radius:5px;
}
table.table03 tr:first-child>*:first-child{
    border-radius: 5px 0 0 0;
}
table.table03 tr:first-child>*:last-child{
    border-radius: 0 5px 0 0;
}
table.table03 tr:last-child>*:first-child{
    border-radius: 0 0 0 5px;
}
table.table03 tr:last-child>*:last-child{
    border-radius: 0 0 5px 0;
}
table.table03 th {
	border: 1px solid #999;
	padding: 1%;
	height:200%;
	color:#333;
	vertical-align:middle;
	margin:-1px 0 -1px 0;
	background:#efefef;
	text-align:center;
	box-sizing:border-box;
}

table.table03 th.w30{width:30%;}
table.table03 th.w20{width:20%;}
table.table03 th.w50{width:50%;}
table.table03 td {
	border: 1px solid #999;
	padding: 1%;
	height:200%;
	color:#333;
	vertical-align:middle;
	margin:-1px 0 -1px 0;
	box-sizing:border-box;
}
table.table03 td.center{
	text-align:center;
}
table.table03 td.backred{
	color:#dd0000;
	font-weight:bold;
}
dl.pagetable .wrapin{
	display:flex;
}
dl.pagetable dt {
	width: 40%;
	margin:0 0 20px 0;
	padding:10px;
	font-weight:normal;
	border-left:3px solid #3399cc;
	box-sizing:border-box;
	align-items: center;
	display: flex;
	vertical-align:middle;
	background:#fff;
}
dl.pagetable dd {
	width:60%;
	margin: 0 0 20px 10px;
	padding:10px;
	box-sizing:border-box;
	border-left:1px dashed #ccc;
	border-right:1px dashed #ccc;
}

.grad01box{
	border-radius:5px;
	padding:10px;
	margin-bottom:20px;
	display:block;
	text-align:center;
	background: #ffffff;
	background: -moz-linear-gradient(-45deg, #ffffff 0%, #fcf7ef 31%, #f2f8f9 68%, #d7ecf2 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, #ffffff 0%,#fcf7ef 31%,#f2f8f9 68%,#d7ecf2 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, #ffffff 0%,#fcf7ef 31%,#f2f8f9 68%,#d7ecf2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	position:relative;
}

/* スマホ */
@media (max-width: 768px) {
	/* ヘッダー無しトップ画像 */
	.page-top-box {
		height: 500px;
	}
	img.page-top-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	/*テーブル*/
	dl.pagetable .wrapin,dl.pagetable,dl.pagetable dt,dl.pagetable dd{
		margin: 0;
		display:block;
	}
	dl.pagetable {
		font-size:.9em;
		width: 100%;
		box-sizing:border-box;
		margin:1em 0;
		padding: 0;
	}
	dl.pagetable dt {
		width: 100%;
		background-color: #efefef;
		padding:10px;
	}
	dl.pagetable dd {
		width: 100%;
		background-color: #fff;
		padding:10px;
		border:none;
	}
}