/*
 * home subpage
 */
 
/* ---------------------------------------- common */

:root {
	--color-e7f3fa: #e7f3fa;
	--color-057cb2: #057cb2;
	--color-0287d9: #0287d9;
	--color-00796b: #00796b;
	--color-f29a21: #f29a21;
	--color-da4d2e: #da4d2e;
	--color-d5485b: #d5485b;
	--color-e57a0d: #e57a0d;
}

/* ---------------------------------------- fonts size */

@media (max-width: 767px) {
	main { font-size: clamp(0.75rem, 0.571rem + 0.89vw, 1rem); } /* 320-767 12-16 */
	article h1 { font-size: clamp(1.25rem, 1.026rem + 1.12vw, 1.563rem); }
	article h2 { font-size: clamp(1.125rem, 0.946rem + 0.89vw, 1.375rem); }
	article h3 { font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem); }
	article h4 { font-size: clamp(0.938rem, 0.803rem + 0.67vw, 1.125rem); }
	article h5 { font-size: clamp(0.75rem, 0.661rem + 0.45vw, 0.875rem); }
	article h6 { font-size: clamp(0.688rem, 0.598rem + 0.45vw, 0.813rem); } /* 11-14 */
	article h6 + p { font-size: clamp(0.688rem, 0.598rem + 0.45vw, 0.813rem); }
	article ul,
	article ol { font-size: clamp(0.75rem, 0.661rem + 0.45vw, 0.875rem); }
}

@media (min-width: 768px) {
	main { font-size: clamp(0.813rem, 0.1rem + 1.49vw, 1rem); } /* 768-970 13-16 */
	article h1 { font-size: clamp(1.563rem, -0.101rem + 3.47vw, 2rem); }
	article h2 { font-size: clamp(1.375rem, -0.051rem + 2.97vw, 1.75rem); }
	article h3 { font-size: clamp(1.188rem, -0.001rem + 2.48vw, 1.5rem); }
	article h4 { font-size: clamp(1rem, 0.05rem + 1.98vw, 1.25rem); }
	article h5 { font-size: clamp(0.891rem, 1.86vw, 1.125rem); }
	article h6 { font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem); } /* 11-14 */
	article h6 + p { font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem); }
	article ul,
	article ol { font-size: clamp(0.891rem, 1.86vw, 1.125rem); }
}

/* ---------------------------------------- main */

main { background: #fff; }
main article {
	background: #fff;
	border-radius: 2em;
}

@media (max-width: 767px) {
	main { padding: 4em 0 2em; }
	main .inner { padding: 0 1em; }
	main article { margin: 0 0 3em; }
}

@media (min-width: 768px) {
	main { padding: 6.25em 1em 2em; }
	main .inner {
		max-width: 940px;
		margin: 0 auto;
	}
	main article { margin: 0 0 5em; }
}

/* Probably not available in the Classic Editor */
main article .headline,
main article section:not(:last-child) {
	margin: 0 0 2em; 
}

/* text */

article p { line-height: 1.8; }
main article .headline p,
main article section p {
	margin: 0 0 1em; 
}
main article .headline h1.centered + p {
	text-align: center;
}

article .centered {
	text-align: center;
}
article .leftalign {
	text-align: left;
}
article strong { 
	font-weight: bold;
	font-weight: 700;
}
article em { 
	font-style: italic;
}

article a {
	color: #0B83C6;
	text-decoration: underline;
}

article .catelist a {
	text-decoration: none;
}

/* title */

article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
	font-weight: 700;
	line-height: 1.4;
	position: relative;
}

article h1 { margin: 0 0 1em; }

article h1.leftalign {
	border-bottom: 1px var( --color-057cb2 ) solid;
	padding: 0 0 .25em;
}

article h2,
article h3,
article h4 {
	margin: 0 0 1em;
}
article h2{ border-bottom: 1px solid #0088d4; }
article h3{ border-bottom: 1px solid #b2d000; }
article h4{ border-bottom: 1px solid #f7b200; }

/* article h2 span, 
article h3 span,
article h4 span {
	display: inline-block;
	padding: 0 0 0 1em;
	position: relative;
}

article h2 span::before,
article h3 span::before,
article h4 span::before {
	content: "";
	display: block;
	width: .3em;
	height: 90%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

article h2 span::before {
	background: #0088D4;
	background: linear-gradient(180deg,rgba(0, 136, 212, 1) 0%, rgba(0, 178, 233, 1) 100%);
}
article h3 span::before {
	background: #25A939;
	background: linear-gradient(180deg,rgba(37, 169, 57, 1) 0%, rgba(178, 208, 0, 1) 100%);
}
article h4 span::before {
	background: #E57708;
	background: linear-gradient(180deg,rgba(229, 119, 8, 1) 0%, rgba(247, 178, 0, 1) 100%);
}*/

article h5,
article h6 { margin: 0 0 1em; }

/* list */

article ul {
	line-height: 1.6;
	margin: 0 0 1em;
}
article ul li {
	padding: 0 0 0 1em;
	position: relative;
}
article ul li::before {
	content: "";
	display: block;
	background: #333;
	width: .8em;
	aspect-ratio: 1;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

article ol {
	list-style: decimal outside;
	line-height: 1.6;
	margin: 0 0 1em 1.5em;
}
article ol li::marker {
	color: #333;
}
article ul li + li,
article ol li + li { margin: .5em 0 0; }

/* aside */

article aside {
	max-width: 750px;
	margin: 0 auto 1em;
}
article aside .deco { 
	position: relative; 
}
article aside .deco.upper { margin: 0 0 1em; }
article aside .deco.under { 
	text-align: right; 
	margin: 1em 0 0;
}
article aside .deco span {
	display: inline-block;
	background: #fff;
	position: relative; 
	z-index: 3;
}
article aside .deco.upper span { padding: 0 .5em 0 0; }
article aside .deco.under span { padding: 0 0 0 .5em; }
article aside .deco span img {
	width: auto;
	height: 1.25em;
}
article aside .deco.upper::after,
article aside .deco.under::after {
	content: "";
	display: block;
	width: 100%;
	border-top: 1px var( --color-057cb2 ) solid;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
article aside .deco p { padding: 0 1em; }

/* table */

article table { margin: 0 0 1em; }
article table th,
article table td {
	border: 1px #333 solid;
	line-height: 1.6;
	padding: .5em 1em;
	vertical-align: middle;
}
article table th {
	background: var( --color-e7f3fa );
}

/**
 * gallery
 * dl .gallery-item.
 * dt class="gallery-icon portrait" a > img
 * dd class="wp-caption-text gallery-caption"
 */

article .gallery {
	width: 100%;
	margin-bottom: 20px !important;
    overflow: hidden;
}

article dl.gallery-item { 
	position: relative;
	float: left;
	margin: 0 1% 10px 0;
}
article dt.gallery-icon {
	width: 100%;
    text-align: center;
}
article dt.gallery-icon a { 
	display: inline-block; 
}
article dt.gallery-icon img {
	/* aspect-ratio: 1 / 0.696; */
	object-fit: cover;
	object-position: center;
}
article dd.gallery-caption { 
	width: 100%;
	background: var( --color-e7f3fa );
	line-height: 1.4;
	font-size: 11px;
	text-align: center;
	padding: .5em;
}
/*
@media (min-width: 768px) {

	article dd.gallery-caption { 
		font-size: clamp(0.688rem, -0.025rem + 1.49vw, 0.875rem);
	}

}
*/
/* ---------------------------------------- breadcrumbs */

#breadcrumb-wrap { line-height: 2; }
#breadcrumb-wrap i {
    color: var( --color-057cb2 );
    margin: 0 .5em 0 0;
}
#breadcrumb-wrap a:hover {
	color: var( --color-e7f3fa );
}

@media (max-width: 767px) {
	#breadcrumb-wrap { 
		padding: 2em 1em 2em; 
	}
}

@media (min-width: 768px) {
	#breadcrumb-wrap { 
		padding: 2em 1em 2em; 
	}
	#breadcrumb-wrap .inner { 
		max-width: 1170px;
		margin: 0 auto;
	}
}

/* ---------------------------------------- mainimg */

#mainimg img {
	width: 100%;
	vertical-align: text-top;
	line-height: 1;
	object-fit: cover;
	object-position: center;
}

@media (max-width: 767px) {
	#mainimg img  {
		aspect-ratio: 1 / 0.346;
	}
}

@media (min-width: 768px) {
	#mainimg img  {
		aspect-ratio: 1 / 0.263;
	}
}

