/*
 * opera subpage
 */

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

/* noto-serif-jp-200 - japanese_latin ExtraLight */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-300 - japanese_latin Light */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-regular - japanese_latin Regular */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-500 - japanese_latin Medium */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-600 - japanese_latin SemiBold */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-700 - japanese_latin Bold */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-800 - japanese_latin ExtraBold */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-serif-jp-900 - japanese_latin Black */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/noto-serif-jp/noto-serif-jp-v32-japanese_latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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

:root {
	--color-1c2d5a: #1c2d5a;
	--color-ededed: #ededed;
	--color-f7f8fa: #f7f8fa;
	--color-a33a3a: #a33a3a;
	--color-c4a159: #c4a159;
	--color-b4b4b4: #b4b4b4;
	--color-70665a: #70665a;
	--color-f4f6fb: #f4f6fb;
	--color-ededed: #ededed;
	
	--color-d5485b: #d5485b;
}

/* ---------------------------------------- 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: var( --color-ededed ) url( ../images/opera/pattern_back.svg ); }

main .inner { background: #fff; }

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

@media (min-width: 768px) {
	main { padding: 0 1em; }
	main .inner {
		max-width: 1250px;
		padding: 6.25em 2em 1em;
		margin: 0 auto;
	}
	main article {
		max-width: 1170px;
		margin: 0 auto 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-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-weight: 600;
	line-height: 1.4;
	position: relative;
}

article .centered {
	text-align: center;
}
article .leftalign {
	text-align: left;
}
article .color02afe6 {
	color: var( --color-02afe6 );
}
article strong { 
	font-weight: bold;
	font-weight: 700;
}
article em { 
	font-style: italic;
}

article h1 { 
	color: var( --color-1c2d5a );
	margin: 0 0 1em; 
}

article h2 { 
	color: var( --color-1c2d5a );
	margin: 0 0 1em; 
}
article h2.centered span {
	display: inline-block;
	padding: 0 2.5em;
	position: relative;
}
article h2.centered span::before,
article h2.centered span::after {
	content: "";
	display; block;
	width: 2em;
	height: 1px;
	border-top: 1px var( --color-1c2d5a ) solid;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
article h2.centered span::before {
	left: 0;
}
article h2.centered span::after {
	right: 0;
}
article h2.leftalign span {
	display: inline-block;
	padding: 0 2.5em 0 0;
	position: relative;
}
article h2.leftalign span::after {
	content: "";
	display; block;
	width: 2em;
	height: 1px;
	border-top: 1px var( --color-1c2d5a ) solid;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

article h3 { 
	color: var( --color-a33a3a );
	margin: 0 0 1em; 
}
article h3.centered span {
	display: inline-block;
	padding: 0 1.5em .5em;
	position: relative;
}
article h3.centered span::after {
	content: "";
	display; block;
	width: 100%;
	height: 1px;
	background: #A33A3A;
	background: linear-gradient(90deg,rgba(163, 58, 58, 0.1) 5%, rgba(163, 58, 58, 1) 50%, rgba(163, 58, 58, 0.1) 95%);
	position: absolute;
	bottom: 0;
	left: 0;
}
article h3.leftalign span {
	display: inline-block;
	padding: 0 1.5em .5em 0;
	position: relative;
}
article h3.leftalign span::after {
	content: "";
	display; block;
	width: 100%;
	height: 1px;
	background: #A33A3A;
	background: linear-gradient(90deg,rgba(163, 58, 58, 1) 0%, rgba(163, 58, 58, 1) 50%, rgba(163, 58, 58, 0.1) 95%);
	position: absolute;
	bottom: 0;
	left: 0;
}

article h4 { 
	color: var( --color-1c2d5a );
	margin: 0 0 1em; 
}
article h5 { 
	color: var( --color-1c2d5a );
	margin: 0 0 1em; 
}
article h6 { 
	color: var( --color-1c2d5a );
	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;
	width: .5em;
	height: 1.2em;
	border-left: 1px var( --color-a33a3a ) solid;
	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 1em;
}
article ol li::marker {
	color: var( --color-a33a3a );
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
}
article ul li + li,
article ol li + li { margin: .5em 0 0; }

/* aside */

article aside {
	max-width: 750px;
	background: var( --color-f4f6fb );
	border-left: 1px var( --color-1c2d5a ) solid;
	padding: 1em;
	margin: 0 auto 1em;
}
article aside .deco.upper {
	margin: 0 0 .5em;
}
article aside .deco.upper img {
	width: auto;
	height: 1.25em;
}
article aside .inside p { margin: 0; }

/* table */

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

/**
 * 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 { /** 画像を囲む dt のスタイル **/
	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: #fff;
	font-size: 11px;
	line-height: 1.4;
	text-align: center;
	padding: .5em;
}

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

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

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

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

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

#mainimg { position: relative; }
#mainimg::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #1C2D5A;
	background: linear-gradient(180deg,rgba(28, 45, 90, 0) 50%, rgba(28, 45, 90, 1) 100%);
	position: absolute;
	top: 0;
	left: 0;
	/* mix-blend-mode: multiply; */
}
#mainimg img {
	width: 100%;
	vertical-align: text-top;
	line-height: 1;
}

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

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

