@charset "utf-8";

/*	ビジュアル
------------------------------*/
#visual {
	margin-bottom: 120px;
	border-bottom: 4px solid var(--color-deep-red);
    border-image: linear-gradient(to right, #a12301, #e16024) 1;
	background-color: #fafafa;
	overflow: hidden;
}
#visual .container {
	padding: 80px 0 40px;
	z-index: 0;
}
#visual .visual-hd-en {
    font-size: clamp(1.75rem, -0.278rem + 8.65vw, 3.875rem);
}
#visual .visual-hd-ja {
    font-size: clamp(0.875rem, 0.517rem + 1.53vw, 1.25rem);
}
#visual .container::after {
	content: "";
	display: block;
	width: 146px;
	height: 180px;
	background: url(../img/logomark_grey.svg) no-repeat right bottom;
	background-size: contain;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
}
@media only screen and (max-width: 480px) {

#visual {
	margin-bottom: 60px;
}
#visual .container {
	padding: 60px 0;
}
#visual .container::after {
	width: 113px;
    height: 140px;
}

}


/*	ページスタイル
------------------------------*/
.page-txt > *:first-child {
    margin: 0 auto 1rem !important;
}
.page-hd {
    display: inline;
    padding: 0 10px 2px;
    color: var(--color-deep-green);
    font-weight: var(--font-weight-600);
    font-size: var(--font-size-x-large);
    line-height: 1.4;
    background: linear-gradient(transparent 60%, #ffe280 60%);
}
.page-txt p,
.page-txt ul,
.page-txt dl {
    margin: 1rem auto;
}
.page-txt p {
    text-align: justify;
}
.page-txt dl ul {
    margin: 0.2rem auto 1rem;
}
.page-txt a {
    text-decoration: underline;
}
.page-txt a:hover {
    text-decoration: none;
}
.page-txt > *+*:last-child{
    margin: 1rem auto 0 !important;
}


/*	本文
------------------------------*/
.contents_body h2 {
	margin: 4rem auto 1.5rem;
    padding: 2px 26px;
    font-size: clamp(1.25rem, 1.029rem + 0.94vw, 1.5rem);
	font-weight: var(--font-weight-600);
	line-height: 1.6;
    border-left: 6px solid var(--color-deep-red);
}
.contents_body h3 {
	margin: 4rem auto 1.5rem;
    padding: 2px 26px;
    font-size: clamp(1rem, 0.89rem + 0.47vw, 1.125rem);
	font-weight: var(--font-weight-600);
	line-height: 1.6;
    border-left: 4px solid var(--color-deep-green);
}
.contents_body h4,
.contents_body h5,
.contents_body h6 {
	margin: 1.5rem auto;
    padding: 0 30px 8px;
    font-size: clamp(1rem, 0.89rem + 0.47vw, 1.125rem);
	font-weight: var(--font-weight-600);
	line-height: 1.6;
    border-bottom: 1px solid var(--color-deep-green);
}
.contents_body a,
.contents_body a:visited {
	text-decoration: underline;
}
.contents_body a:hover,
.contents_body .base_btn a {
	text-decoration: none;
}
.contents_body a[style] {
	padding: 8px 20px;
}
.contents_body p,
.contents_body ul,
.contents_body ol,
.contents_body .wp-block-image,
.contents_body .wp-block-table,
.contents_body .wp-block-gallery,
.contents_body .wp-block-buttons,
.contents_body .wp-block-embed {
	margin: 2rem auto;
	position: relative;
}
.contents_body p {
	line-height: 2.2;
}
.contents_body .has-inline-color {
	display: inline-block;
	padding: 2px 12px;
}
.contents_body ul li {
	list-style-type: disc;
	margin-left: 20px;
	margin-top: 6px;
}
.contents_body ol li {
	list-style-type: decimal;
	margin-left: 20px;
	margin-top: 6px;
}
.contents_body ul li:first-child,
.contents_body ol li:first-child {
	margin-top: 0;
}
.contents_body ul ul li {
	list-style-type: circle;
}
.contents_body ul ul ul li {
	list-style-type: square;
}
.contents_body ol ol li {
	list-style-type: lower-roman;
}
.contents_body ol ol ol li {
	list-style-type: lower-latin;
}
.wp-block-flexible-table-block-table {
	line-height: 1.6;
}
.contents_body .wp-block-table table {
	margin: 0 auto;
}
.contents_body table th,
.contents_body table td {
	padding: 16px 30px;
    font-size: 1rem;
    border: none;
    border-bottom: 1px solid var(--color-black-border);
}
.contents_body table figcaption {
	margin-top: 6px;
	text-align: right;
}
.contents_body table td p,
.contents_body table td ul,
.contents_body table td ol {
	margin: 0;
}
.contents_body .wp-block-image,
.contents_body .wp-block-gallery {
	overflow: hidden;
	zoom:1;
	font-size: inherit;
}
.contents_body .wp-block-image figcaption,
.contents_body .wp-block-gallery .blocks-gallery-caption {
	margin-top: 10px;
	line-height: 1.4;
	text-align: center;
}
.contents_body .wp-block-gallery.has-nested-images {
	display: flex;
}
.wp-block-file:not(.wp-element-button) {
	font-size: .875rem;
    text-align: center;
}
@media only screen and (max-width: 480px) {

.contents_body h2 {
	margin: 2rem auto 1.5rem;
	padding: 2px 16px;
}
.contents_body h3 {
	margin: 2rem auto 1.5rem;
    padding: 2px 12px;
}
.contents_body h4,
.contents_body h5,
.contents_body h6 {
	margin: 1rem auto;
    padding: 0 12px 4px;
}
.contents_body p,
.contents_body ul,
.contents_body ol,
.contents_body table,
.contents_body .wp-block-image,
.contents_body .wp-block-table,
.contents_body .wp-block-gallery,
.contents_body .wp-block-buttons,
.contents_body .wp-block-embed {
	margin: 1rem auto;
}
.wp-block-table .has-fixed-layout {
	table-layout: auto;
}
.contents_body table th,
.contents_body table td {
	padding: 12px;
    font-size: .875rem;
}

}

