@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/* Editor Reset
================================================== */
:where(.editor-styles-wrapper) *,
:where(.editor-styles-wrapper) ::before,
:where(.editor-styles-wrapper) ::after,
:where(.mce-content-body) *,
:where(.mce-content-body) ::before,
:where(.mce-content-body) ::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

:where(.editor-styles-wrapper) ul,
:where(.editor-styles-wrapper) ol,
:where(.mce-content-body) ul,
:where(.mce-content-body) ol {
	padding: 0;
	list-style: none;
}

:where(.editor-styles-wrapper) dt,
:where(.mce-content-body) dt {
	font-weight: bold;
}

:where(.editor-styles-wrapper) dd,
:where(.mce-content-body) dd {
	margin-left: 0;
}

:where(.editor-styles-wrapper) hr,
:where(.mce-content-body) hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

:where(.editor-styles-wrapper) table,
:where(.mce-content-body) table {
	border-collapse: collapse;
}

:where(.editor-styles-wrapper) caption,
:where(.mce-content-body) caption {
	text-align: left;
}

:where(.editor-styles-wrapper) td,
:where(.editor-styles-wrapper) th,
:where(.mce-content-body) td,
:where(.mce-content-body) th {
	vertical-align: top;
	padding: 0;
}

:where(.editor-styles-wrapper) th,
:where(.mce-content-body) th {
	text-align: left;
	font-weight: bold;
}

/* root / body
================================================== */
:root {
	--white     : #ffffff;
	--gray05    : #f9f9f9;
	--gray10    : #ededed;
	--gray15    : #d9d9d9;
	--gray20    : #cccccc;
	--gray40    : #999999;
	--gray60    : #666666;
	--gray80    : #333333;
	--black     : #000000;
	--red       : #cc0000;
	--textBody  : #333333;
	--linkColor : #3f50b5;
	--visitColor: #626fc0;
	--hoverColor: #626fc0;
	--mainColor : #90c1e1;
	--subColor  : #e4eefc;
	--accent1   : #f2d746;
	--accent2   : #fff3b2;
	--tableBack : #f8f9f3;
	--btnColor  : #000000;
	--font12    : .75rem;
	--font13    : .8125rem;
	--font14    : .875rem;
	--font16    : 1rem;
	--font18    : 1.125rem;
	--font20    : 1.25rem;
	--font22    : 1.375rem;
	--font24    : 1.5rem;
	--font26    : 1.625rem;
	--font28    : 1.75rem;
	--font30    : 1.875rem;
	--font32    : 2rem;
	--font34    : 2.125rem;
	--font36    : 2.25rem;
	--font38    : 2.375rem;
	--font40    : 2.5rem;
	--spacing   : .08em;
}

* {
	letter-spacing: var(--spacing);
}

.editor-styles-wrapper {
	background-color: var(--white);
	color: #333;
	font-family: fot-udkakugo-large-pr6n, sans-serif;
	font-weight: 400;
	font-size: var(--font16);
	letter-spacing: .08em;
	line-height: 1.5;
}

.wp-block {
	max-width: 980px;
}

.wp-block[data-align=wide] {
	max-width: 1200px;
}

.wp-block[data-align=full] {
	max-width: none;
}

.wp-block:has(.wp-block-group__inner-container) {
	max-width: none;
}

.wp-block > div {
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
}

.wp-block[data-align=full] > div,
.wp-block[data-align=full] .wp-block {
	max-width: none;
}

section {
	padding-top: 120px;
	padding-bottom: 120px;
}

@media screen and (max-width: 800px) {
	section {
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
}

/* content
================================================== */
h1,h2,h3,h4,h5,h6 {
	color: var(--black);
	font-weight: 700;
	line-height: 1.5;
}

h1 {
	font-size: var(--font40);
	text-align: center;
	position: relative;
}

#content h1::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 12em;
	max-width: 100%;
	border-bottom: 1px solid var(--black);
}

h2 {
	margin: 64px 0;
	font-size: var(--font30);
	text-align: center;
	position: relative;
}

section h2::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 12em;
	max-width: 100%;
	border-bottom: 1px solid var(--black);
}

h3 {
	margin: 50px 0 26px;
	font-size: var(--font26);
}

h4 {
	margin: 36px 0 20px;
	font-size: var(--font22);
}

h5 {
	margin: 28px 0 20px;
	font-size: var(--font18);
}

h6 {
	margin: 20px 0 16px;
	font-size: var(--font16);
}

@media screen and (max-width: 767px) {
	h1 {
		font-size: var(--font28);
	}

	h2 {
		margin: 48px 0;
		font-size: var(--font28);
	}

	h3 {
		margin: 42px 0 18px;
		font-size: var(--font24);
	}

	h4 {
		margin: 28px 0 20px;
		font-size: var(--font20);
	}
}

h2:first-child,
h3:first-child {
	margin-top: 0;
}

h2 + h3 {
	margin-top: -6px;
}

p,
ol,
ul,
dl {
	margin-bottom: 1.125em;
	line-height: 1.8;
}
/*
ol,
ul,
dl {
	margin-top: 28px;
}
*/

ol {
	list-style-type: decimal;
	padding-left: 2em;
}

ul {
	list-style-type: disc;
	padding-left: 1.5em;
}

li ul {
	list-style-type: circle;
}

li li ul {
	list-style-type: square;
}

.wp-block-freeform.block-library-rich-text__tinymce ul {
	padding-left: 0;
}

li ol,
li ul,
dd dl {
	margin-top: .625em;
	margin-bottom: .625em;
}

dd + dt {
	margin-top: 1.125em;
}

dd ol,
dd ul {
	margin-top: 0;
}

a {
	color: var(--textLink);
	text-decoration: underline;
}

a:visited {
	color: var(--textLink);
}

a:hover,
a:active {
	text-decoration: none;
}

@media (hover: hover) {
	a:hover img {
		opacity: .8;
	}
}

a:focus-visible img {
	background-color: transparent;
}

a.marker {
	padding-left: 1.5em;
	background: url(../images/ico_arrow1.svg) no-repeat .25em .125em / .75em;
	text-decoration: none;
}

a.arrow:hover,
a.arrow:active {
	text-decoration: underline;
}

strong {
	font-weight: 700;
}

sup,
sub {
	font-size: var(--font12);
	line-height: 1;
}

table,
.wp-block-table table {
	width: 100%;
	border-bottom: 1px solid var(--gray20);
	border-right: 1px solid var(--gray20);
	background-color: var(--tableBack);
	line-height: 1.8;
}

table.fixed {
	table-layout: fixed;
}

table th,
table td,
.wp-block-table th,
.wp-block-table td {
	padding: 15px 16px;
	border: 0;
	border-top: 1px solid var(--gray20);
	border-left: 1px solid var(--gray20);
	vertical-align: top;
}

table thead th {
	text-align: center;
}

table td > *:first-child {
	margin-top: 0;
}

table td > *:last-child {
	margin-bottom: 0;
}

.wp-block-table thead {
	border-bottom: 0;
}

figcaption,
.wp-caption-text {
	margin-top: 10px;
	color: var(--gray60);
	font-size: var(--font14);
}

.wp-caption {
	max-width: 100%;
}

a[href$='.pdf'] {
	position: relative;
}

a[href$='.pdf']::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 12px;
	background:  url(../images/ico_pdf.svg) no-repeat 0 100%;
	vertical-align: text-bottom;
}

hr,
.wp-block-separator {
	margin: 64px auto;
	border-top: 1px solid var(--gray40);
}

.lead,
.lead p {
	font-size: var(--font18);
	line-height: 2.0;
}

.caption {
	margin-top: 10px;
	margin-bottom: 10px;
	color: var(--gray60);
	font-size: var(--font14);
}

p + .caption {
	margin-top: -12px;
}

.alignleft {
	float: left;
	margin: .5em 40px .5em 0;
}

.alignright {
	float: right;
	margin: .5em 0 .5em 40px;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

@media screen and (min-width: 873px) {
	.alignwide {
		margin-right: calc(-50vw + 40px - -50%);
		margin-left: calc(-50vw + 40px - -50%);
	}
}

@media screen and (min-width: 1281px) {
	.alignwide {
		margin-right: calc(-600px - -50%);
		margin-left: calc(-600px - -50%);
	}
}

.alignfull {
	margin-right: calc(-50vw - -50%);
	margin-left: calc(-50vw - -50%);
}

