@charset "UTF-8";

/*----------------------

・目次・

# Universal
# 変数 & Main Bg Color
# Parts Default Setting
# Header
# Footer
# Contents
# Index_module
# Article_module
# レスポンシブ
# Print

----------------------*/


/* Universal
------------------------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
	margin: 0;
	padding: 0;
	border: 0;
}

body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
}

body {
	line-height: 1.8;
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	width: 100%;
	height: auto;
	background: #ffffff;
	font-weight: 350;
}


/* 変数 & Main Bg Color
------------------------------------------------------------------*/
:root {
	--font-sans: "Noto Sans JP", "Noto Sans",
		"Hiragino Sans", "Hiragino Kaku Gothic ProN",
		"Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
	--txt-color: #1a1a1a;
	--sub-txt-color: #5c6561;
	--link-color: #113399;
	--white-bg: #f3f6f5;
	--gray-bg: #f2f2f2;
	--sub-gray-bg: #dfdfdf;
	--pc-max-width: 928px;
	--default-tr: all ease 0.2s;
	--line: #d9ddd9;
	--nav-bg: #047D45;
	--current-accent: #7EB54D;
	--radius: 1.4rem;
	--shadow: 0 .6rem 1.8rem rgba(0, 0, 0, .08);
	--header-h: 52px;
	--mega-top: 96px;

	--sidenav-w: 20rem;

	--hover-ease: cubic-bezier(.2, .7, .2, 1);
	--hover-dur: .28s;

	--side-current-top: #739050;
  --side-current-bottom: #d4ddb6;
  --side-current-w: .6rem;

	--fs-xxs: 1.1rem;
	/* 11px */
	--fs-xs: 1.2rem;
	/* 12px（最小）*/
	--fs-sm: 1.4rem;
	/* 14px */
	--fs-md: 1.6rem;
	/* 16px：本文標準 */
	--fs-lg: 1.8rem;
	/* 18px */
	--fs-xl: 2.3rem;
	/* 23px */
	--fs-2xl: 2.3rem;
	/* 23px */
	--fs-3xl: 2.6rem;
	/* 26px */
	--fs-4xl: 3.1rem;
	/* 31px */
	--fs-5xl: 3.4rem;
	/* 34px：H1/ヒーロー */
}

body {
	color: var(--txt-color);
}

header {
	background: var(--white-bg);
}

footer {
	background: var(--gray-bg);
}

iframe[title="YouTube"] {
	aspect-ratio: 16 / 9;
}


/* Parts Default Setting
------------------------------------------------------------------*/
ol,
ul {
	list-style: none;
}

.textRed {
	color: #cc0000;
}

.textBold {
	font-weight: 500;
}

.textR {
	text-align: right;
}

.textC {
	text-align: center;
}

.textL {
	text-align: left;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #b5b5b5;
}
table th, table td{
	border: 1px solid #b5b5b5;
	padding: 0.8rem 1.2rem;
	text-align: left;
}
table th{
	background-color: var(--gray-bg);
}

p {
	text-align: left;
	border: none;
}

img {
	position: relative;
}

a {
	display: inline-block;
	text-decoration: none;
	color: var(--link-color);
	/* word-break: break-all; */
}

a:hover {
	text-decoration: underline;
}

a:hover .image {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

sup,
sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	position: relative;
}

sup {
	bottom: 1ex;
}

sub {
	top: .5ex;
}

em {
	font-style: italic;
}

b,
strong {
	font-weight: 500;
}

.content_wrap[aria-hidden="true"],
.disnon {
	display: none;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	white-space: nowrap;
}

/* Header
------------------------------------------------------------------*/
header {
	position: fixed;
	left: 0;
	top: 0;
	width: var(--sidenav-w);
	box-sizing: border-box;
	overflow: auto;
	z-index: 1250;
	background: linear-gradient(#f1f2f0 0px, #fff 818px);
	color: #e8f2ef;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden visible;
	box-shadow: 6px 0 8px rgba(0, 0, 0, 0.08);
}

.header_inner {
	padding: 0;
	height: auto;
	min-height: 100vh;
}

.brand {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	color: inherit;
}

.brand a {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	flex: 1 0 auto;
	position: relative;
	overflow: visible;
	/* 疑似要素を見せるため */
	padding: 2.3rem 1.8rem 1.7rem;
}

.brand a::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -7px;
	width: 130%;
	height: 16px;
	background: var(--header-bg, #ffffff);
	border-bottom-left-radius: 50% 100%;
	border-bottom-right-radius: 50% 100%;
	z-index: 0;
}

.brand a img {
	height: 3.2rem;
	display: block;
}

.global_menu {
	position: relative;
}
.global_menu::before {
	content: "";
	position: absolute;
	left: 1.4rem;
	right: 1.4rem;
	bottom: 0;
	height: 1px;
	background: rgba(183, 183, 183, 1);
}
.gn_left {
	padding: 2.4rem 0 1.0rem;
}

.gn_left .g_menu {
	display: none !important;
}

.gn_left ul {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gn_left ul li span a,
.recruitment a {
	font-size: var(--site-menu-fz);
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.2rem;
	color: #000000;
}

.gn_left ul li span a.current::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 6px;
	/* 右端に配置 */
	transform: translateY(-50%);
	/* 中央揃え */
	width: 5px;
	/* 指定された幅5px */
	height: 100%;
	/* 高さはお好み（70%はちょうどよい） */
	background: #7faf96;
	/* 半透明の白 */
	pointer-events: none;
}

.gn_left ul li span a.is-mega-active{
	background: #e7e8e8;
}

.gn_left ul li span a:hover,
.recruitment a:hover {
	background: #fff;
	text-decoration: none;
}
.recruitment {
	margin-top: 1rem;
}
.recruitment a {
	position: relative;
	margin-top: 0;
}

.gn_left ul li span a svg,
.recruitment a svg {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	opacity: .95;
}

.donate {
	margin-top: 1.2rem;
	padding: 0 1.4rem;
}

.donate a {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .01em;
	align-items: center;
	position: relative;
	display: block;
	width: 100%;
	padding: 1.4rem 1.4rem 1.4rem 2.0rem;
	background: #2d3e32;
	color: #fff;
	border: 1px solid rgba(45, 62, 50, 1);
	border-radius: 0.6rem;
	text-decoration: none;
	text-align: left;
	transition: all 0.3s ease;
}

.donate a::after {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	translate: 0 .5px;
	display: inline-block;
	margin-inline-start: 0.4em;
	vertical-align: -0.1em;
	background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTFweCIgaGVpZ2h0PSIxNXB4Ij48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9IlBTZ3JhZF8wIiB4MT0iMzQuMjAyJSIgeDI9IjAlIiB5MT0iOTMuOTY5JSIgeTI9IjAlIj4gPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0icmdiKDkwLDE3MCw4OSkiIHN0b3Atb3BhY2l0eT0iMSIgLz4gPHN0b3Agb2Zmc2V0PSI2NyUiIHN0b3AtY29sb3I9InJnYig1MSwxMTUsNjcpIiBzdG9wLW9wYWNpdHk9IjEiIC8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9InJnYigyNTUsIDI1NSwgMjU1KSIgc3Ryb2tlLXdpZHRoPSIycHgiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIiBmaWxsPSJub25lIiBkPSJNMS4xMDAwLDIuMDAwIEw3LjAwMCw3LjAwMCBMMS4xMDAwLDExLjEwMDAgIi8+PC9zdmc+") center center no-repeat;
	background-size: 1.0rem;
	/* background: currentColor; */
	transition: transform .22s cubic-bezier(.22, .61, .36, 1);
}

.donate a:hover {
	background: #0d6739;
	text-decoration: none;
	border: 1px solid rgba(13, 103, 57, 1);
	opacity: 0.7;
}

.donate a::after:hover {
	transform: translateX(.25rem);
}

.utility_menu {
	margin-top: 2.9rem;
	position: relative;
	padding-top: 1.2rem;
}

.utility_menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .8rem;
}

.utility_menu ul li a {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: 1rem 1.2rem 0.4rem;
	color: #000;
	text-decoration: none;
	border-bottom: rgba(183, 183, 183, 1) 1px solid;
	font-size: 1.4rem;
	box-sizing: border-box;
}

.utility_menu ul li a:hover {
	text-decoration: none;
	padding: 1rem 1.2rem 0.3rem;
	border-bottom: rgba(183, 183, 183, 1) 2px solid;
}

.sns_btn {
	padding-top: 2.3rem;
}

.sns_btn ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
	margin-bottom: .6rem;
	padding: 0 1.6rem 3.2rem;
}

.site_utils {
	display: flex;
	align-items: center;
	gap: 0;
	flex: 1 1 auto;
	min-width: 0;
	flex-wrap: nowrap;
	top: 0;
	right: 0;
	background-color: #fff;
	margin: 1rem;
	border-radius: 6px;
	position: fixed;
	z-index: 999;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18), 0 6px 12px rgba(0, 0, 0, 0.12);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.site_search {
	flex: 0 1 clamp(16rem, 28vw, 30rem);
	min-width: 0;
	display: flex;
	gap: 0;
	white-space: nowrap;
	height: var(--header-h);
	align-items: center;
	background: #2d3e32;
	padding: 0;
	border-radius: 0;
	margin-right: 0;
}
.site_utils .site_search:last-child, .site_utils .site_search:last-child button{
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

.site_search input {
	border: 0;
	border-radius: .4rem;
	background: #fff;
	font-size: 1.4rem;
	padding: 0 1rem;
	margin: 0;
	min-width: 12rem;
	margin-left: 1.6rem;
	margin-right: .6rem;
	height: auto;
	line-height: normal;
	align-self: center;
	padding-block: .4rem;
	display: none;
	width: min(60vw, 28rem);
}

.site_search button {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	width: 5.2rem;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #2D3E32;
	color: #fff;
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 .1rem .2rem rgba(0, 0, 0, .06);
}

.site_search button::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");
}

.site_utils>* {
	text-decoration: none;
	color: var(--ink);
	font-size: 1.4rem;
	transition: background-color .2s ease;
}

.site_utils .lang_box {
	position: relative;
}

.site_utils .lang_box button {
	margin: 0;
	color: #104238;
	width: 5.2rem;
	display: inline-block;
	text-align: center;
}

.site_utils .lang_box ul.lang_menu {
	position: absolute;
	top: 3.0rem;
	right: 3.5rem;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18), 0 6px 12px rgba(0, 0, 0, 0.12);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	background-color: #fff;
	border-radius: 0.6rem;
	padding: .8rem 0;
}

.site_utils .lang_box ul.lang_menu li a {
	width: max-content;
	color: #104238;
	background-color: #fff;
	padding: .4rem 1.0rem .4rem 1.6rem;
	position: relative;
}

.site_utils .lang_box ul.lang_menu li a::after {
	content: "";
	inline-size: 1em;
	block-size: 1em;
	translate: 0 .5px;
	display: inline-block;
	margin-inline-start: 0.4em;
	vertical-align: -0.1em;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222.5px%22%20height%3D%2226.5px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20stroke%3D%22rgb(16%2C%2066%2C%2056)%22%20stroke-width%3D%221px%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%20fill%3D%22none%22%20d%3D%22M8.500%2C8.500%20L12.500%2C12.500%20L8.500%2C16.500%20%22%2F%3E%3C%2Fsvg%3E') center center no-repeat;
	background-size: 1.5rem;
}

.site_utils .lang_box ul.lang_menu li:first-child a {
	border-top-left-radius: 0.6rem;
	border-top-right-radius: 0.6rem;
}

.site_utils .lang_box ul.lang_menu li:last-child a {
	border-bottom-left-radius: 0.6rem;
	border-bottom-right-radius: 0.6rem;
}

.site_utils .k_views a {
	text-decoration: none;
	font-size: 1.4rem;
	transition: background-color .2s ease;
	align-self: stretch;
	display: flex;
	align-items: center;
	block-size: 100%;
	background: linear-gradient(135deg, #65ae55 0%, #4c705b 100%);
	color: #fff;
	width: 14rem;
	min-width: 14rem;
	max-width: 14rem;
	height: var(--header-h);
	padding: .8rem 1rem;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	border-top-right-radius: .6rem;
	border-bottom-right-radius: .6rem
}

.site_utils .k_views a span {
	color: #FFF;
	font-size: 1rem;
	line-height: 1em;
	margin-left: auto;
	text-shadow: 0 0 .2rem rgba(0, 0, 0, 0.5);
}

.site_utils .k_views a svg {
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.6));
	max-width: 10.8rem;
}

.site_utils .k_views a:hover {
	background: linear-gradient(135deg, #6fc05d 0%, #608e73 100%);
	transform: translateZ(0) scale(1.02);
}

.top_navi {
	position: relative;
	overflow: visible;
	width: 100%;
}

/* .sub_column:has(.menu_list), */
.local_menu{
	position: sticky;
	/* top: var(--header-h, 52px); */
	z-index: 1;
	background-color: #006b51;
	border-bottom: 7px solid #dde5dc;
	color: #fff;
}

.menu_list {
	max-width: calc(100% - 254px - 1em);
	/* calc(100dvw - var(--sidenav-w) - 28rem); */
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto;
	gap: 0;
	align-items: center;
}

.menu_list a,
.mega_list .select>span {
	color: #fff;
	text-decoration: none;
}

.menu_list .menu_list_top {
	grid-column: 1 / 2;
	background-color: #0b5d3b;
}

.menu_list_top h2 {
	display: flex;
	align-items: center;
}

.menu_list_top h2 a {
	padding: .5rem .8rem .5rem 2.2rem;
	font-size: var(--fs-sm);
}

.menu_list_top button {
	display: none;
	color: #fff;
}

.menu_list .menu_list_middle {
	grid-column: 2 / 3;
	display: flex;
	align-items: center;
	padding: 1.8rem 0 1.9rem;
}

.menu_list .selectable_ul {
	background-image: linear-gradient(to right, #fff 1px, transparent 1px);
	background-size: 1px 100%;
	background-position: center left 1.4rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.4rem 0;
}

.menu_list .selectable_ul li {
	display: inline-block;
	border-left: 1px solid #fff;
	padding-left: 1.4rem;
	margin-left: 1.4rem;
	line-height: 1.5;
	font-size: var(--fs-xs);
}

.menu_list .selectable_ul li.select > span,
.menu_list .selectable_ul li.select > a span {
	padding-bottom: 4px;
	border-bottom: 1px solid #7aba9d;
}

.local_menu.float{
	position: fixed;
	top: 0;
	z-index: 10;
	width: calc(100% - var(--sidenav-w));
}

.local_menu h2 a:hover,
.menu_list .selectable_ul li a:hover {
	text-decoration: underline;
}

/* ローカルメニューPC */
.local_menu .menu_list {
	max-width: var(--mega-pc-max);
	display: block;
}

.local_menu h2 {
	display: flex;
	justify-content: space-between;
	z-index: 12;
	position: relative;
}

.local_menu h2 a {
	padding: 1.1rem .8rem 1.2rem 2.2rem;
	font-size: var(--fs-sm);
}

.local_menu button {
	display: inline-block;
}

.local_menu button::before {
	content: "+";
	color: transparent;
	margin-right: 2.2rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012%2012%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%3E%20%3Cpolygon%20id%3D%22G%E3%83%8A%E3%83%92_xFF0B_%22%20points%3D%2212%205.5%206.5%205.5%206.5%200%205.5%200%205.5%205.5%200%205.5%200%206.5%205.5%206.5%205.5%2012%206.5%2012%206.5%206.5%2012%206.5%2012%205.5%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
	background-size: 1.2rem 1.2rem;
	background-repeat: no-repeat;
	background-position: center;
}

.local_menu .opened .menu_list_top button::before {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 1'%3E%3Crect width='12' height='1' fill='%23ffffff'/%3E%3C/svg%3E");
}
.local_menu:not(.float) .menu_list_middle{
	display: none;
}
.local_menu .menu_list_middle {
	grid-column: 2 / 3;
	transform: translateY(calc(-100% - 5rem));
	position: absolute;
	z-index: 10;
	transition: ease .3s;
	width: var(--mega-pc-max);
	background: #fff;
	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.08);
	opacity: 0;
	padding: 0;
}

.local_menu.float .menu_list_middle {
	top: 100%;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0;

	display: block;
	align-items: normal;
	justify-content: flex-start;

	transform: translateY(-1rem);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 20;
}

.local_menu.float .opened.menu_list .menu_list_middle {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	max-height: calc(100dvh - 5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: stable;
	max-width: var(--mega-pc-max);
}


.local_menu .selectable_ul {
	background-image: none;
	display: block;
	width: 100%;
	padding: 0;
}

.local_menu .selectable_ul li {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
	display: block;
}

.local_menu .selectable_ul li a,
.selectable_ul .select>span {
	color: #276c46;
	padding: 0.8em 2em 1em;
	display: flex;
	align-items: center;
	background: #fff;
	width: 100%;
	justify-content: space-between;
	box-shadow: 0 3px 3px rgba(0, 0, 0, .045) inset;
}

.local_menu .selectable_ul li a::after {
	content: "";
	background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2017.79%206.85%22%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%3E%20%3Cpolygon%20id%3D%22arrow_x5F_black%22%20points%3D%2210.93%200%2010.23%20.71%2015.37%205.85%200%205.85%200%206.85%2017.79%206.85%2010.93%200%22%20fill%3D%22%23276c46%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
	width: 1.8rem;
	height: 1em;
}

.local_menu .selectable_ul li.select {
	position: relative;
}
.local_menu .selectable_ul > li.select ul,
.local_menu .selectable_ul > li:has(.select) ul{
	padding-left: 2rem;
}

.local_menu .selectable_ul li.select > span,
.local_menu .selectable_ul li.select > a{
	padding: 0.8em 2em 1em;
	border-bottom: none;
}

.local_menu .selectable_ul li.select::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	right: 0.4rem;
	width: 5px;
	height: 100%;
	background: linear-gradient(to bottom, #739050 0%, #d4ddb6 100%);
	border-radius: .3rem;
	pointer-events: none;
}

.breadcrumb {
	box-sizing: border-box;
	background: #fff;
	display: flex;
	text-align: left;
	max-width: calc(100% - 254px - 1em);
	/* calc(100dvw - var(--sidenav-w) - 28rem); */
	flex-wrap: wrap;
	gap: .4rem .6rem;
	margin: 0;
	padding: 1.6rem clamp(1.2rem, 2vw, 2.4rem);
	list-style: none;
	color: #484848;
}

.breadcrumb li {
	font-size: var(--fs-xs);
	line-height: 1.6;
}

.breadcrumb li a {
	color: var(--breadcrumb-color);
	text-decoration: none;
}

.breadcrumb .breadcrumb a:hover {
	text-decoration: underline;
}

.breadcrumb li span {
	margin: 0 .4rem;
	color: #a0aba8;
}

.pc_menu_wrap {
	width: 100%;
	position: absolute;
	top: 130.27px;
	left: 0;
	background: rgba(255, 255, 255, 0.95);
	z-index: 10;
}

.pc_menu_wrap .menu_box {
	width: 100%;
	max-width: var(--pc-max-width);
	margin: 0 auto;
	padding-bottom: 4rem;
}

.gn_left li.is-current,
.gn_left li.is-current-top{
  position: relative;
}
.gn_left li.is-current::after,
.gn_left li.is-current-top::after{
  content: "";
  position: absolute;
  top: 0;
  right: 3px;
  width: 5px;
  height: 100%;
  background: linear-gradient(to bottom, #739050 0%, #d4ddb6 100%);
	border-radius: .3rem;
  pointer-events: none;
}

#mega_dock li.is-current > a{
  position: relative;
  display: block;
}
#mega_dock li.is-current > a::before{
  content: "";
  position: absolute;
  top: 0;
  right: 3px;
  width: 5px;
  height: 100%;
  background: linear-gradient(to bottom, #739050 0%, #d4ddb6 100%);
	border-radius: .3rem;
  pointer-events: none;
  transition: none;
}

#sidenav .recruitment a.is-current,
#sidenav .utility_menu a.is-current{
  position: relative;
}

#sidenav .recruitment a.is-current::before,
#sidenav .utility_menu a.is-current::before{
  content: "";
  position: absolute;
  top: 0;
  right: 3px;
  width: 5px;
  height: 100%;
  background: linear-gradient(to bottom, #739050 0%, #d4ddb6 100%);
	border-radius: .3rem;
  pointer-events: none;
}


/* Footer
------------------------------------------------------------------*/
footer {
	border-top: 1px solid var(--line);
	background: #f8faf9;
	text-align: right;
}

.footer_inner {
	margin: 0 auto;
	padding: 1.6rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .8rem 1.2rem;
}

.footer_nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem 0;
	align-items: center;
	font-size: var(--fs-xs);
}

.footer_nav a {
	color: var(--primary, #4FA09B);
}

.footer_nav ul li:has(+ li)::after {
	content: "|";
	padding: 0 1.2rem;
}

footer .copyright {
	display: block;
	color: #6b7280;
	font-size: var(--fs-xs);
}

.to_top {
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #1a1a1a;
	border-radius: 3rem;
	background-size: 50%;
	width: 35px;
	height: 35px;
	position: fixed;
	bottom: 47px;
	right: 20px;
	display: block;
	transition: all ease 0.2s;
	z-index: 999;
}

.to_top a {
	width: 100%;
	height: 100%;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../images/arrow_right.png) no-repeat;
	background-position: center center;
	background-size: auto 18px;
	transform: rotate(-90deg);
	color: transparent;
}

/* Contents
------------------------------------------------------------------*/
#container {
	display: grid;
	grid-template-columns: var(--sidenav-w) minmax(0, 1fr);
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
	min-height: 100dvh;
}

header {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}

.top_navi {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
.insert_block {
	grid-column: 2 / 3;
	grid-row: 2;
}
.insert_block [class^="article_text"]{
	max-width: var(--pc-max-width);
	margin: 0 auto;
}
.insert_block [class^="article_text"] p{
	margin-top: 0;
	padding-top: 1rem;
}

#contents {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	flex: 1;
	padding-bottom: 4rem;
	position: relative;
}

#contents::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	/* ← これで “下側” に影が付く */
	height: 6px;
	/* 影の深さ（調整可） */
	pointer-events: none;

	background: linear-gradient(to bottom,
			/* ← 下 → 上に向かう影 */
			rgba(0, 0, 0, 0.06) 0%,
			/* 一番下：濃い */
			rgba(0, 0, 0, 0.02) 60%,
			/* 中間：薄く */
			rgba(0, 0, 0, 0) 100%
			/* 上で完全に消える */
		);
}

footer {
	grid-column: 2 / 3;
	grid-row: 3 / 4;
}

.main_column {
	max-width: var(--pc-max-width);
	margin: 0 auto;
}

.main_column_middle {
	max-width: var(--pc-max-width);
	margin: 0 auto 0 auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0 2rem;
}

/* .main_column_middle > *{
	margin-top: 2rem;
} */
div#contents:has(#contents_sub) {
	max-width: var(--pc-max-width);
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: start;
	gap: 4rem;
}

div#contents:has(#contents_sub) main {
	max-width: calc(75% - 2rem);
}

div#contents:has(#contents_sub) #contents_sub {
	max-width: calc(25% - 2rem);
	background: #f7f7f7;
	margin-top: 4rem;
	padding: 1.5rem 2rem 2rem;
}

div#contents:has(#contents_sub) #contents_sub h2,
div#contents:has(#contents_sub) #contents_sub h3,
div#contents:has(#contents_sub) #contents_sub h4 {
	margin-top: 0;
}

/* タブ設定
-------------------*/
.tab_block {
	max-width: var(--pc-max-width);
	margin: 2rem auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: .8rem .4rem;
}

.tab_block .tab {
	display: flex;
	flex-direction: row;
}

.tab>li,
.tab_block button {
	flex: 0 0 auto;
	order: -1;
	min-width: auto;
	padding: 0 .75em;
	border: solid 1px #dadeda;
	border-radius: 2rem;
	background-color: #fff;
	color: #000;
	font-size: var(--fs-sm);
	text-align: center;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	/* flex: 1 1 12rem;
	min-width: calc(10ch + 1.5rem);
	white-space: nowrap; */
}

.tab>li:hover,
.tab_block button:hover {
	opacity: .7;
}

.tab>li[aria-selected="true"],
.tab_block button[aria-selected="true"] {
	background-color: #24423c;
	border-color: #24423c;
	color: #fff;
	overflow: hidden;
}
:root{
	--tabline: .1rem;
}
main>article>.tab_block{
	justify-content: center;
	border-bottom: var(--tabline) solid #efefef;
	gap: 1rem 0;
}
main>article>.tab_block button{
	font-size: clamp(1.6rem, 1.25cqi, 2.0rem);
	background: none;
	border-bottom: var(--tabline) solid #cdcdcd;
	border-top: none;
	border-left: none;
	border-right: none;
	border-radius: 0;
	white-space: nowrap;
	margin-bottom: calc(var(--tabline) * -1);
	padding: 0 0 .3rem;
	gap: 1.8rem;
	font-weight: 300;
	color: #000000;
}
main>article>.tab_block.fs_down button{
	font-size: clamp(1.6rem, 1.125cqi, 1.65rem);
	gap: 1.2rem;
}
main>article>.tab_block button[aria-selected="true"]{
	background: none;
	border-bottom: var(--tabline) solid #54ac00;
	color: #666666;
	overflow: visible;
}
main>article>.tab_block button::before,
main>article>.tab_block button::after,
main>article>.tab_block button[aria-selected="true"]::before,
main>article>.tab_block button[aria-selected="true"]::after{
	content: "";
	height: 0;
	margin-top: auto;
	margin-bottom: calc(var(--tabline) * -1 - .3rem);
	border-bottom: var(--tabline) solid #fff;
	width: .3rem;
}
main>article>.tab_block button:first-child:before,
main>article>.tab_block button:first-child[aria-selected="true"]::before,
main>article>.tab_block button:last-child:after,
main>article>.tab_block button:last-child[aria-selected="true"]::after{
	width: .6rem;
}

/* カラム設定
-------------------*/
.col1of1 {
	width: 100%;
}

.col1of2 {
	width: 100%;
	max-width: calc((100% - 2rem) / 2);
}

.col1of3 {
	width: 100%;
	max-width: calc((100% - 4rem) / 3);
}

.col2of3 {
	width: 100%;
	max-width: calc((100% - 4rem) / 3 * 2 + 2rem);
}

.block_title,
.block_title2 {
	width: 100%;
	max-width: var(--pc-max-width);
	margin: 0 auto;
}

.title_area,
.page_info {
	margin: 0;
}

.page_title,
.lead,
.event_info,
.presenter_info,
.page_info {
	max-width: var(--pc-max-width);
	margin: 0 auto 0 auto;
}
.page_title img{
	max-width: 100%;
	height: auto;
}

.tab_block .tab {
	max-width: var(--pc-max-width);
	margin: 0 auto;
}

.anchor_list {
	max-width: var(--pc-max-width);
	margin: 2rem auto 0 auto;
}

.anchor_list ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.anchor_list ul.anchor_b{
	flex-direction: column;
}

.anchor_list ul li {
	margin-right: 1.5rem;
}

h1,
h2,
h3,
h4,
h5 {
	font-weight: 500;
}

h1 {
	font-size: var(--fs-5xl);
}

h2 span {
	display: inline-block;
}

h2 small {
	display: block;
	color: var(--sub-txt-color);
	font-weight: 500;
}

h3 span {
	display: inline-block;
	width: 100%;
}

h4 span {
	width: 100%;
}

h5 span {
	width: 100%;
}

.h_def-L,
h2.migration {
	margin-top: 7.2rem;
	line-height: 1.516129032258065;
	width: 100%;
}
button.block_title:has(.h_def-L, h2.migration) {
	margin-top: 7.2rem;
}
button.block_title .h_def-L,
button.block_title h2.migration {
	margin-top: 0;
}
.lead_author .h_def-L,
.lead_author h2.migration {
	margin-top: 0;
}

.h_def-M,
.module_title h3 {
	margin-top: 6rem;
	line-height: 1.461538461538462;
	width: 100%;
}
button.block_title:has(.h_def-M, h3.migration) {
	margin-top: 6rem;
}
button.block_title .h_def-M,
button.block_title h2.migration {
	margin-top: 0;
}

.h_def-S {
	margin-top: 3rem;
	line-height: 1.521739130434783;
	width: 100%;
}
button.block_title:has(.h_def-S) {
	margin-top: 3rem;
}
button.block_title .h_def-S {
	margin-top: 0;
}

/* .main_column_middle > .block_title2 .h_def-L{
	margin-top: 2rem;
} */

.h_def-L span,
h2.migration {
	font-size: var(--fs-3xl);
}

.h_def-M span,
.module_title h3 {
	font-size: 2.0rem;
}

.h_def-S span {
	font-size: var(--fs-lg);
}

.open,
.close {
	width: 100%;
	max-width: var(--pc-max-width);
	margin: 1.6rem auto 0;
	text-align: right;
	padding: .4rem 0 1.6rem;
	border-top: 1px solid #ccc;
	display: block;
}
.main_column>.open{
	padding: 0;
}
.main_column>.open span,
.main_column>.open button{
	display: none!important;
}
.main_column>.close,
.main_column>button{
	text-align: center;
	color: #113399;
}
.main_column>.close:hover span,
.main_column>.close:hover button{
	text-decoration: underline;
}
.acc_cl .block_title,
.acc_op .block_title,
.open span,
.close span,
.open button,
.close button{
	cursor: pointer;
}
.acc_cl .block_title,
.acc_op .block_title{
	position: relative;
	text-align: left;
}
.acc_cl .block_title::after,
.acc_op .block_title::after{
	content: "";
	width: 3.6rem;
	height: 3.6rem;
	position: absolute;
	bottom: -0.8rem;
	right: 1rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236px%22%20height%3D%2236px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(117%2C%20117%2C%20117)%22%20d%3D%22M16.1000%2C-0.000%20C17.667%2C-0.000%2018.333%2C-0.000%2019.000%2C-0.000%20C19.000%2C5.666%2019.000%2C11.334%2019.000%2C16.1000%20C24.666%2C16.1000%2030.334%2C16.1000%2036.000%2C16.1000%20C36.000%2C17.667%2036.000%2C18.333%2036.000%2C19.000%20C30.334%2C19.000%2024.666%2C19.000%2019.000%2C19.000%20C19.000%2C24.666%2019.000%2C30.334%2019.000%2C36.000%20C18.333%2C36.000%2017.667%2C36.000%2016.1000%2C36.000%20C16.1000%2C30.334%2016.1000%2C24.666%2016.1000%2C19.000%20C11.334%2C19.000%205.666%2C19.000%20-0.000%2C19.000%20C-0.000%2C18.333%20-0.000%2C17.667%20-0.000%2C16.1000%20C5.666%2C16.1000%2011.334%2C16.1000%2016.1000%2C16.1000%20C16.1000%2C11.334%2016.1000%2C5.666%2016.1000%2C-0.000%20Z%22%2F%3E%3C%2Fsvg%3E');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.acc_cl .block_title.opened::after,
.acc_op .block_title.opened::after{
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236px%22%20height%3D%222px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(117%2C%20117%2C%20117)%22%20d%3D%22M-0.000%2C-0.000%20L36.000%2C-0.000%20L36.000%2C2.000%20L-0.000%2C2.000%20L-0.000%2C-0.000%20Z%22%2F%3E%3C%2Fsvg%3E');
}

.open a,
.close a,
.open > span,
.close > span,
.open > button,
.close > button{
	line-height: 1;
	position: relative;
}

.open a,
.open > span,
.open > button {
	padding-left: 1.1em;
	background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='_レイヤー_2' data-name='レイヤー_2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15.64 9.24'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23047d45; stroke-width: 2px; %7D %3C/style%3E%3C/defs%3E%3Cg id='_レイヤー_6' data-name='レイヤー_6'%3E%3Cpath id='down_x5F_arrow' class='cls-1' d='M.71.71l7.11,7.11L14.94.71'/%3E%3C/g%3E%3C/svg%3E") left .6rem no-repeat;
	background-size: 1.4rem;
	color: #113399;
}

.close a,
.close > span,
.close > button {
	padding-left: 1.1em;
	background: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='_レイヤー_2' data-name='レイヤー_2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15.64 9.24'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23047d45; stroke-width: 2px; %7D %3C/style%3E%3C/defs%3E%3Cg id='_レイヤー_6' data-name='レイヤー_6'%3E%3Cpath id='up_x5F_arrow' class='cls-1' d='M14.94,8.53L7.82,1.41.71,8.53'/%3E%3C/g%3E%3C/svg%3E") left .6rem no-repeat;
	background-size: 1.4rem;
	color: #113399;
}

.main_image.wave {
	position: relative;
	line-height: 1;
	max-width: 100%;
	max-height: 21rem;
}

#mainVisualArea {
	max-width: 100%;
}

.main_image a {
	width: 100%;
}

.main_image img {
	width: 100%;
	height: auto;
	z-index: 2;
	display: block;
}

.main_image .caption {
	font-size: var(--fs-xs);
  	line-height: 1.6;
	z-index: 3;
	color: #595959;
	padding: .5rem clamp(1.2rem, 2vw, 2.4rem) 1.6rem ;
}

.main_image .sp_image {
	display: none;
}

.main_image:has(.sp_image) .pc_image {
	display: block;
}

#contents_sub .sub_module {
	width: 100%;
	max-width: var(--pc-max-width);
	margin: 0 auto;
}

.snsBlock {
	margin-top: 1rem;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.snsBlock>div {
	line-height: 0;
}

.snsBlock>div>* {
	line-height: 1;
}


/* Index_module
------------------------------------------------------------------*/
.index_module li {
	list-style: none;
}
.article_module+.index_module,
.index_module+.index_module {
	margin-top: 3rem;
}

/* 共通設定 */
.index_module .image a,
.index_module .image img {
	display: block;
}

.index_module .image img {
	max-width: 100%;
	width: 100%;
	height: auto;
	/* aspect-ratio: 8 / 5; */
	object-fit: cover;
}
/* body:not(.is_legacy) .index_module [class*="list"] .image img{
	aspect-ratio: 8 / 5;
}
body:not(.is_legacy) .index_module:has(.tile2, .tile3, .tile4) .image img{
	aspect-ratio: 16 / 9;
} */

.index_module .list2,
.tile2 {
	grid-template-columns: repeat(2, 1fr);
}

.index_module .list3,
.tile3 {
	grid-template-columns: repeat(3, 1fr);
}

.index_module .list4,
.tile4 {
	grid-template-columns: repeat(4, 1fr);
}

.index_module .text {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0;
}
.index_module .image+.text{
	align-items: flex-start;
}
.index_module .date{
	order: 1;
}
.index_module .newicon,
.is_legacy .index_module .text>span.icon:not(:has(img)){
	order: 2;
}

.index_module .linkTitle:has(.tags1),
.index_module .tagArea:has(.tags1){
	order: 0;
	flex: 0 0 100%;
	/* margin-bottom: 1.2rem; */
	margin-top: 0;
}
.index_module .tags23wrap{
	order: 3;
	flex: 0 0 100%;
}
.index_module .item_icon{
	order: 4;
	flex: 0 0 100%;
}
.index_module .index_subtitle{
	order: 5;
	flex: 0 0 100%;
}
.index_module .linkTitle:has(.tags4),
.index_module .tagArea:has(.tags4){
	order: 6;
	flex: 0 0 100%;
}
.index_module .description{
	order: 7;
	flex: 0 0 100%;
}
.index_module .tags56wrap{
	order: 8;
	flex: 0 0 100%;
}
.index_module .add_link{
	order: 9;
	flex: 0 0 100%;
}
.index_module .add_item+.add_item{
	margin-top: .5rem;
}
.index_module .description > div[style*="text-align:right;"]:has(a[href*="nies.go.jp"]) { display: none; }

/* 画像＋テキスト設定 */
.index_module [class*="list"] .image_text {
	display: grid;
	gap: 0.5rem 1.2rem;
	align-items: flex-start;
}
.index_module .tile1 .image_text {
	display: grid;
	align-items: flex-start;
	gap: 0;
}

.index_module [class*="list"] .image_text {
	grid-template-columns: 100px auto;
}

.index_module .tile1 .image_text {
	grid-template-columns: 36% auto;
}

.index_module [class*="tile"]:not(.tile1) .image_text {
	display: grid;
	grid-template-rows: auto auto;
	gap: 0;
}

/* リスト設定 */
.index_module [class*="list"]:not(.list1) {
	display: grid;
	gap: 0 1.6rem;
}

.index_module [class*="list"]>li:has(.image),
.index_module [class*="list"]>li:has(time),
.index_module [class*="list"]:has(.item_icon+*)>li:not(:has(.res_head)){
	padding-top: 1.5rem;
	margin-top: 1.5rem;
	border-top: 1px solid #ccc;
}
.index_module [class*="list"] li+li .res_head{
	margin-top: 4rem;
}

.index_module [class*="tile"]>li:has(.res_head){
  border: none;
  box-shadow: none;
}

/* タイル設定 */
.index_module [class*="tile"] {
	display: grid;
	gap: 1.6rem 1.6rem
}

.index_module [class*="tile"]>li {
	flex-direction: column;
	/* border: 1px solid var(--line); */
	border-radius: .6rem;
	box-shadow: var(--shadow);
	background: #fff;
	box-shadow: 0 0px 8px rgba(0, 0, 0, .16);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}

.index_module [class*="tile"]>li a {
	text-decoration: none;
}
.index_module [class*="tile"]>li a .item_icon{
	color: #000;
}

.index_module [class*="tile"]>li>a {
	display: block;
	width: stretch;
	height: stretch;
}

.index_module [class*="tile"]>li:has(a):hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .10);
}

.index_module [class*="tile"] .text {
	padding: 1.8rem 1.8rem 3.4rem;
	gap: .2rem;
}

body:not(.is_legacy) .index_module [class*="tile"] .image:not(:has(a)),
body:not(.is_legacy) .index_module [class*="tile"] .image a {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
body:not(.is_legacy) .index_module .tile1 .image_text{
	grid-template-columns: minmax(0, 36%) auto;
	align-items: stretch;
}
body:not(.is_legacy) .index_module .tile1 .image:not(:has(a)),
body:not(.is_legacy) .index_module .tile1 .image a {
	aspect-ratio: auto;
	width: 100%;
}
body:not(.is_legacy) .index_module [class*="tile"] .image img {
	width: auto;
	max-width: none;
	min-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
body:not(.is_legacy) .index_module [class*="list"] .image:not(:has(a)),
body:not(.is_legacy) .index_module [class*="list"] .image a {
	aspect-ratio: 8 / 5;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
body:not(.is_legacy) .index_module [class*="list"] .image img {
	width: auto;
	max-width: none;
	min-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.index_module ul+span.list:not(.list1) {
	display: block;
	margin: 1.6rem 0 0 auto;
	text-align: right;
}

.index_module ul+.list a {
	padding-right: 2.25rem;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2223px%22%20height%3D%2211px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20stroke%3D%22rgb(17%2C%2051%2C%20153)%22%20stroke-width%3D%222px%22%20stroke-linecap%3D%22butt%22%20stroke-linejoin%3D%22miter%22%20fill%3D%22none%22%20d%3D%22M1.000%2C7.1000%20L17.1000%2C7.1000%20L12.000%2C1.1000%20%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right 0 bottom 0.3rem;
	background-size: 1.9rem;
	display: inline;
	color: #113399;
}

/* タグフィルター */
.filter-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	list-style: none;
	margin: 1rem 0 1rem;
	padding: 0;
}

.filter-buttons button {
	padding: .4rem .8rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	font-size: 1.3rem;
	cursor: pointer;
}

.filter-buttons button[aria-selected="true"] {
	background: var(--nav-bg);
	color: #fff;
	border-color: var(--nav-bg);
}



/* Article_module
------------------------------------------------------------------*/
/* .index_module + .article_module ,
.article_module + .article_module {
	margin-top: 3rem;
} */
.article_module .h_def-L,
.article_module .h_def-M,
.article_module .module_title h3,
.article_module .h_def-S {
	width: 100%;
}

/* .article_module .h_def-L:first-child,
.article_module .h_def-M:first-child,
.article_module .module_title h3:first-child,
.article_module .h_def-S:first-child{
	margin-top: 0;
} */
.article_image_float:after {
	content: "";
	display: block;
	clear: both;
}

.article_image_float .article_image {
	float: left;
	margin-right: 2rem;
	display: table;
	width: 1px;
}
.article_image_float .article_image img{
	display: block;
	width: auto;
	max-width: none;
}
.article_image_float .article_image .image_title,
.article_image_float .article_image .caption{
	display: table-caption;
	caption-side: bottom;
	word-break: break-all;
}

.main_column_middle .article_module {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0 2rem;
}
.main_column_middle>.article_module {
  width: 100%;
}

.article_module hgroup {
	width: 100%;
}

[class*="article_text"]{
	flex: 1;
}
[class*="article_text"] a[href=""] {
  cursor: default;
  pointer-events: none;
  color: #000;
}
[class*="article_text"] a[href=""][target="_blank"]::after,
[class*="article_text"] .blank a[href=""]::after,
[class*="article_text"] .gif a[href=""]::after,
[class*="article_text"] .zip a[href=""]::after,
[class*="article_text"] .docx a[href=""]::after,
[class*="article_text"] .doc a[href=""]::after,
[class*="article_text"] .xlsx a[href=""]::after,
[class*="article_text"] .xls a[href=""]::after,
[class*="article_text"] .pptx a[href=""]::after,
[class*="article_text"] .ppt a[href=""]::after,
[class*="article_text"] .pdf a[href=""]::after{
	display: none!important;
}
.article_image_center,
.article_image_float {
	width: 100%;
}

.article_image_left,
.article_image_right {
	width: 100%;
	max-width: calc(50% - 1rem);
}
[class^="article_image"]  .article_image {
	width: fit-content;
	height: auto;
}
[class^="article_image"]  .article_image.code {
	width: 100%;
	height: auto;
}
.mfp-content{
	text-align: center!important;
}

/* .article_image_center .article_image{
	margin: 0 auto;
} */
/* .article_image a{
	line-height: 0;
} */
.article_image img {
	line-height: 1;
	width: 100%;
	height: auto;
}

[class*="article_text"]_left,
[class*="article_text"]_right {
	width: 100%;
	max-width: calc(50% - 1rem);
}

[class*="article_text"]_left>*:first-child,
[class*="article_text"]_right>*:first-child {
	margin-top: calc(3.2rem - (1.6rem * 0.5));
}

.article_image_right {
	order: 3;
}

[class*="article_text"]_left {
	order: 2;
}

.cautionBlock {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 1rem;
	margin-top: 2.1rem;
}

.cautionBlock p[class^="cautionBlock"] {
	grid-column: 1 / 3;
	display: grid;
	grid-template-columns: subgrid;
	margin: 0;
}
.cautionBlock p[class^="cautionBlock"]+p[class^="cautionBlock"] {
	margin-top: 1em;
}
/* .cautionBlockSizeM{
	font-size: var(--fs-sm);
} */
.cautionBlockSizeS{
	font-size: var(--fs-sm);
}

[class^="article_text"] ul,
[class^="article_text"] ol,
[class^="article_text"] .wysiwyg{
	margin-top: 2.1rem;
}
.wysiwyg ul{
	list-style: disc;
	list-style-position: outside;
	margin-left: 1.5em;
}
.wysiwyg ol{
	list-style: decimal;
	list-style-position: outside;
	margin-left: 1.5em;
}

.fileSize{
	font-size: .8em;
	font-weight: lighter;
}
/* youtube & 動画
-------------------*/
.code iframe,
.mov a {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

.mov a {
	line-height: 0;
}

.mov a>* {
	line-height: 1;
}

/* 多言語ページリンク */
.otherLang {
	text-align: right;
}

#block_skip a {
	display: inline;
	font-size: 1.25rem;
	font-weight: bold;
	left: -1000em;
	padding: .5rem;
	position: absolute;
	text-align: center;
	text-decoration: none;
	top: 0;
	width: auto;
	z-index: 99;
}
#block_skip a:focus, #block_skip a:active {
	background: none repeat scroll 0 0 #fff !important;
	border: 2px solid #000;
	left: 1.2rem;
	position: absolute;
	top: 6rem;
	width: auto;
}

#recommend_area .index_module{
	width: 100%;
}

/* レスポンシブ
------------------------------------------------------------------*/
@media (min-width: 993px) {
	header {
		position: fixed;
		left: 0;
		top: 0;
		width: var(--sidenav-w);
		box-sizing: border-box;
		z-index: 50;
		border-radius: 0;
		display: flex;
		flex-direction: column;
		overflow: hidden visible;
	}

	.side_nav {
		height: calc(100vh - 5rem - var(--header-h));
	}

	header .site_search {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		/* å³è©°ã‚ */
		gap: .6rem;
	}

	header .site_search input {
		display: none;
		width: min(60vw, 28rem);
	}

	header.search-open .site_search input {
		display: inline-block;
	}

	header .site_search .submit {
		order: 2;
	}

	header .site_search input {
		order: 1;
	}
}
@media (min-width: 993px){/*  and (max-width: 1640px) */
	.main_image.wave {
		height: 21rem;
	}
	.main_image.wave img{
		height: 100%;
		object-fit: cover;
		object-position: top left;
	}
}

/* タブレット (992px以下) */
@media (max-width: 992px) {
	.col1of2,
	.col1of3,
	.col2of3 {
		width: 100%;
		max-width: calc((100% - 2rem) / 2);
	}
	header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 1250;
		width: 100%;
		overflow: visible;
	}

	header.is-scrolled {
		box-shadow: var(--header-shadow);
	}

	header .burger {
		place-items: center;
		box-shadow: none;
		position: relative;
		z-index: 1400;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 3.2rem;
		height: var(--header-h);
		min-width: 52px;
		padding: 0 1.4rem;
		background: var(--nav-bg, #047D45);
		color: #fff;
		border: 0;
		border-radius: 0;
		line-height: 1;
		order: -100;
	}

	header .burger .bar {
		display: block;
		width: 2.6rem;
		height: .2rem;
		background: #fff;
		margin: .4rem 0;
		border-radius: .2rem;
		transition: transform .2s, opacity .2s;
	}

	.header_inner {
		padding: 0;
		height: auto;
		flex-wrap: nowrap;
		display: flex;
		min-height: auto;
		background-color: #fff;
	}

	.side_nav {
		display: block !important;
		position: fixed;
		left: 0;
		top: var(--header-h, 64px);
		height: calc(100dvh - var(--header-h, 64px));
		width: min(100dvw, var(--sidenav-w, 20rem));
		max-width: 100dvw;
		transform: translateX(-100%);
		transition: transform .28s ease;
		z-index: 150;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background: var(--nav-bg, #047D45);
		color: #e8f2ef;
		box-sizing: border-box;
	}

	.brand {
		order: -90;
		flex: 0 0 auto;
	}

	.brand a {
		padding: 1rem 1.8rem;
	}

	.brand a::after {
		display: none;
	}

	header .site_utils {
		flex: 0 1 auto;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		margin: 0 0 0 auto;
		gap: 0;
		position: static;
		order: 100;
		z-index: 1;
		border-radius: 0;
	}

	header .site_search {
		flex: 0 1 clamp(14rem, 40vw, 22rem);
		margin-left: auto !important;
	}

	.site_search input {
		display: flex;
	}

	.site_utils .k_views a {
		border-radius: 0;
		gap: 0.25em;
	}

	.site_utils .lang_box ul.lang_menu {
		right: 0;
		transform: translateX(50%);
		z-index: 9;
	}
	html[lang="en"] .site_utils .lang_box ul.lang_menu {
		transform: translateX(-0%);
	}

	#container {
		display: block;
	}

	.breadcrumb {
		max-width: 100%;
	}

	.top_navi {
		margin: var(--header-h, 64px) 0 0;
		padding-top: 2px;
	}

	.local_menu.float{
		top: calc(var(--header-h, 64px) + 2px);
		width: 100%;
	}

	.local_menu .menu_list {
		max-width: 100%;
		display: block;
	}

	.menu_list .menu_list_middle {
		width: 100%;
	}
	.main_image.wave img{
		min-height: 18rem;
		object-fit: cover;
		object-position: top left;
	}

	.index_module [class＊="tile"]:not(.tile1) .image_text {
		grid-template-columns: 36% auto;
		gap: 0 1.2rem
	}

	.index_module [class*="list"],
	.index_module [class*="tile"] {
		grid-template-columns: 1fr;
	}
	.index_module .list4,
	.index_module .tile4 {
		grid-template-columns: repeat(2, 1fr);
	}

	.index_module [class*="tile"]:not(.tile1) .image a {
		width: 100%;
		height: 100%;
	}

	.index_module [class*="tile"]:not(.tile1) .image img {
		width: 100%;
		height: 100%;
	}

	.local_menu.float .opened.menu_list .menu_list_middle {
		max-height: calc(100dvh - 10rem);
		max-width: 100%;
	}

	.site_utils .site_search:last-child, .site_utils .site_search:last-child button{
		border-radius: 0;
	}
}

/* タブレット/スマートフォン (768px以下) */
@media (max-width: 768px) {
	.col1of2,
	.col1of3,
	.col2of3 {
		width: 100%;
		max-width: 100%;
	}
	.main_image .sp_image {
		display: block;
	}

	.main_image:has(.sp_image) .pc_image {
		display: none;
	}

	/* clamp を無効化：width ではなく flex-basis が勝っているため flex を固定 */
	header .site_search {
		display: inline-flex;
		/* shrink-wrap */
		align-items: center;
		justify-content: flex-end;
		gap: 0;
		/* 余白ゼロにしてボタン幅＝箱幅 */
		flex: 0 0 auto !important;
		/* ★ これで clamp を無効化 */
		width: auto !important;
		max-width: 100%;
		margin-left: auto;
		/* 右端寄せ */
		padding: 0;
		/* 内側パディングがあれば潰す */
	}

	/* 閉じているときは input を完全に消す（最小幅/余白も消す） */
	header:not(.search-open) .site_search input {
		display: none;
		min-width: 0;
		width: 0;
		margin: 0;
		padding: 0;
	}

	/* 展開時だけ input を出して幅を与える */
	header.search-open .site_search input {
		display: inline-block;
		width: min(34vw, 16rem);
		/* お好みで */
		margin: 0 0 0 1.6rem;
	}

	/* ボタンは常に表示・右側に配置 */
	header .site_search .submit {
		order: 2;
	}

	header .site_search input {
		order: 1;
	}

	.is_legacy .article_image_left,
	.is_legacy .article_image_right,
	.is_legacy [class*="article_text"]_left,
	.is_legacy [class*="article_text"]_right {
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* スマートフォン (576px以下) */
@media (max-width: 576px) {
	h1 {
		font-size: var(--fs-3xl);
	}
	.h_def-L span,
	h2.migration {
		font-size: var(--fs-2xl);
	}
	.brand a img {
		height: 2.2rem;
	}

	header .brand a {
		padding: .2rem 0.6rem;
	}

	header .site_utils .lang_box button {
		padding: .4rem 1.0rem;
	}

	header .site_utils .k_views a {
		padding: .4rem .2rem;
		min-width: 0;
		width: 10rem;
		gap: 0;
	}

	.site_utils .k_views a svg {
		width: 8rem;
		height: 2.4rem;
	}

	header .site_utils .lang_box button,
	.site_search button {
		width: 4.8rem;
	}

	.index_module .tile1 .image_text,
	body:not(.is_legacy) .index_module .tile1 .image_text,
	.index_module [class*="tile"]:not(.tile1) .image_text {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
	}
	body:not(.is_legacy) .index_module .tile1 .image:not(:has(a)),
	body:not(.is_legacy) .index_module .tile1 .image a{
		aspect-ratio: 16 / 9;
	}

	.index_module .tile1 .image_text img,
	.index_module [class*="tile"]:not(.tile1) .image img {
		height: auto;
	}
	#blockSkip {
		visibility: hidden;
		display: none;
	}
}


/* Print
------------------------------------------------------------------*/
@media print {
	header {
		position: relative !important;
	}

	#header2 {
		display: none;
	}

	footer {
		position: relative !important;
	}

	body {
		_zoom: 67% !important;
	}
}

/* 共通トランジション（負荷を抑えつつ滑らかに） */
header .burger,
header .site_search button,
header .site_search .submit,
header .site_search input[type="submit"] {
	transition:
		background-color .18s ease,
		color .18s ease,
		transform .08s ease,
		box-shadow .18s ease,
		filter .18s ease;
	will-change: transform, background-color;
}

/* マウス操作がある環境だけ :hover を効かせる */
@media (hover: hover) {

	/* Burger：少し明るく＋微スケール */
	header .burger:hover {
		filter: brightness(1.06);
		transform: translateZ(0) scale(1.02);
		box-shadow: 0 .2rem .6rem rgba(0, 0, 0, .08);
	}

	/* 検索の submit：背景をわずかにトーンアップ、アイコンはそのまま */
	header .site_search button:hover,
	header .site_search .submit:hover,
	header .site_search input[type="submit"]:hover {
		background-color: #0d6739;
		transform: translateZ(0) scale(1.02);
		box-shadow: 0 .2rem .6rem rgba(0, 0, 0, .10);
	}
}

/* クリック時（押し込み感） */
header .burger:active,
header .site_search button:active,
header .site_search .submit:active,
header .site_search input[type="submit"]:active {
	transform: translateY(1px) scale(0.98);
	box-shadow: 0 .1rem .3rem rgba(0, 0, 0, .06);
}

/* キーボード操作でも分かるように（アクセシビリティ） */
header .burger:focus-visible,
header .site_search button:focus-visible,
header .site_search .submit:focus-visible,
header .site_search input[type="submit"]:focus-visible {
	outline: 2px solid var(--accent, #dce03f);
	outline-offset: 2px;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent, #dce03f) 25%, transparent);
}

/* 無効状態の見た目（もし使う場合） */
header .site_search button:disabled,
header .site_search .submit:disabled,
header .site_search input[type="submit"]:disabled {
	opacity: .6;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

/* 動きが苦手なユーザー設定に配慮 */
@media (prefers-reduced-motion: reduce) {

	header .burger,
	header .site_search button,
	header .site_search .submit,
	header .site_search input[type="submit"] {
		transition: background-color .1s linear, color .1s linear;
	}
}
@media (min-width: 1728px){
  	.page_title, .page_info, .main_column:not(:has(.module_list, .authorbox)), .anchor_list, .title_block+.tab_block, .anchor_list+.tab_block, .title_area+.tab_block, main>article>.tab_block,.insert_block [class^="article_text"]{
	    transform: translateX(calc(var(--sidenav-w) * -.5));
	}
	.lead_author, section:has(.authorbox, .summarybox) .main_column_middle>.col1of1{
		transform: translateX(calc(var(--sidenav-w) * -.5));
	}
}