@charset "utf-8";
.news_item_gr {
		padding-bottom: 30px;
}
.news_item {
		border-radius: 20px;
		overflow: hidden;
		margin: 0 0 20px;
		border: 1px solid #1E1E1E;
}
@media(max-width: 767px) {
		.news_item {
				border-radius: 12px;
		}
}
.news_item a.nolink_item {
		pointer-events: none
}
.news_item a {
		text-decoration: none;
		display: flex;
		align-items: flex-start;
		background: #fff;
		position: relative;
}
.news_item a * {
		text-decoration: none;
		color: #000;
}
.news_item_thumb {
		width: 240px;
		height: 240px;
		overflow: hidden
}
.news_item_thumb img {
		width: 240px;
		height: 240px;
		object-fit: cover;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		a:hover .news_item_thumb img {
				transform: scale(1.1)
		}
}
.news_item_caption {
		flex: 1;
		padding-top: 30px;
		padding-left: 35px;
		padding-right: 35px;
}
.news_item_caption p {
		font-size: 24px;
		padding-top: 15px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		line-height: 1.4;
}
.news_item_caption br {
		/* display: none */
}
.news_item a .news_icon {
		position: absolute;
		bottom: 22px;
		right: 20px;
		width: 30px;
		height: 30px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 30px;
		border-radius: 6px;
		background-color: #1e1e1e;
		border: 1px solid #1e1e1e;
}
.news_icon.news_tolink {
		background-image: url("../images/news_arw_wht.png")
}
.news_icon.news_file {
		background-image: url("../images/icon_file_blk.png")
}
@media (hover: hover) {
		.news_item a:hover .news_icon {
				background-color: #fff;
		}
		.news_item a:hover .news_icon.news_tolink {
				background-image: url("../images/news_arw_blk.png")
		}
}
.news_icon.news_nolink::before {
		content: '';
		display: block;
		position: absolute;
		top: 8px;
		left: 8px;
		width: 4px;
		height: 4px;
		background: #000;
		border-radius: 50%;
}
.news_icon.news_blank::before, .news_icon.news_blank::after {
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		left: 6px;
		width: 6px;
		height: 6px;
		border: 1px solid #fff;
}
@media (hover: hover) {
		.news_item a:hover .news_icon.news_blank::before, .news_item a:hover .news_icon.news_blank::after {
				border: 1px solid #000;
		}
}
.news_icon.news_blank::before {
		top: 12px;
		left: 10px;
}
.news_icon.news_blank::after {
		top: 9px;
		left: 13px;
}
.news_wrap {
		margin: 0 auto 280px;
		display: flex;
		max-width: 1200px;
}
@media(max-width: 767px) {
		.news_wrap {
				margin-bottom: 120px;
		}
}
.news_wrap_left {
		flex: 1
}
.news_wrap_right {
		width: 780px;
		margin-left: 40px;
}
@media(max-width: 1024px) {
		.news_wrap_right {
				width: 65%;
				margin-left: 30px;
		}
		.news_item_thumb {
				width: 170px;
				height: 170px;
		}
		.news_item_thumb img {
				width: 170px;
				height: 170px;
		}
		.news_item_caption {
				padding-top: 20px;
				padding-left: 25px;
				padding-right: 30px;
		}
		.news_item_caption p {
				font-size: 18px;
		}
}
@media(max-width: 767px) {
		.news_wrap {
				display: flex;
				flex-direction: column;
		}
		.news_wrap_left, .news_wrap_right {
				display: contents
		}
		.news_wrap .title_hd_jp {
				order: 1;
				text-align: center;
		}
		.news_wrap .title_hd_en {
				order: 2;
				text-align: center;
		}
		.news_wrap .news_item_gr {
				order: 3;
				height: auto !important
		}
		.news_wrap .linkBtn {
				order: 4;
				margin-left: auto;
				margin-right: auto;
		}
		.news_item a {
				display: flex;
				align-items: flex-start;
				height: 110px;
		}
		.news_item_thumb {
				width: 110px;
				height: 110px;
		}
		.news_item_thumb img {
				width: 110px;
				height: 110px;
		}
		.news_item_caption {
				flex: 1;
				padding-top: 15px;
				padding-left: 15px;
				padding-right: 35px;
				padding-bottom: 55px;
		}
		.news_item_caption p {
				font-size: 14px;
				padding-top: 5px;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
		}
		.news_item_caption p:lang(en) {
				font-size: 13px;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
				line-height: 1.4;
		}
		.news_item a .news_icon {
				top: inherit;
				bottom: 15px;
				right: 15px;
				width: 20px;
				height: 20px;
		}
}
@media(max-width: 375px) {
		.news_item a, .news_item_thumb, .news_item_thumb img {
				height: 100px;
		}
		.news_item_thumb, .news_item_thumb img {
				height: 100px;
		}
		.news_item_caption {
				padding-top: 10px;
				padding-left: 15px;
				padding-right: 20px;
				padding-bottom: 35px;
		}
		.news_item_caption p {
				font-size: 12px;
				padding-top: 3px;
		}
		.news_item a .news_icon {
				bottom: 12px;
				right: 12px;
				width: 15px;
				height: 15px;
				background-size: 15px;
				border-radius: 4px;
		}
}
.date_flex {
		display: flex;
		align-items: center;
		font-size: 13px;
		font-family: "Baloo 2", sans-serif;
		font-weight: 600;
}
.date_category {
		margin-right: 15px;
		display: flex;
		align-items: center;
		border: 1px solid #000;
		border-radius: 60px;
		height: 20px;
		box-sizing: border-box;
		padding: 0 15px;
		font-weight: 700;
}
@media(max-width: 767px) {
		.date_flex {
				font-size: 11px;
		}
		.date_category {
				margin-right: 10px;
				height: 22px;
				padding: 0 10px;
		}
}
@media(max-width: 375px) {
		.date_category {
				margin-right: 5px;
				height: 18px;
				padding: 0 7px;
				font-size: 10px !important;
				font-weight: 500 !important;
		}
}
/* ============ */
.article_hdr {
		max-width: 1000px;
		margin: 0 auto 80px;
		padding: 0;
		position: relative;
}
.article_hdr h1 {
		font-size: 40px;
		line-height: 1.4;
		font-weight: 700;
		margin: 0 0 20px;
}
.article_eyecatch {
		margin-top: 60px;
}
.article_eyecatch img {
		width: 100%;
		height: auto;
}
@media(max-width: 1080px) {
		.article_hdr h1, .article_hdr .date_flex {
				padding: 0 40px;
		}
}
@media(max-width: 1500px) {
		.article_hdr {
				margin-bottom: 100px;
		}
		.article_hdr h1 {
				font-size: 32px;
		}
}
@media(max-width: 767px) {
		.article_hdr h1, .article_hdr .date_flex {
				padding: 0 20px;
		}
		.article_hdr {
				margin-bottom: 60px;
		}
		.article_hdr h1 {
				font-size: 22px;
		}
		.article_eyecatch {
				margin-top: 40px;
		}
}
/* ============= */
.article_body {
		max-width: 700px;
		margin: 0 auto;
		padding: 0 20px;
		font-size: 16px;
		position: relative;
}
.article_body p {
		line-height: 1.8;
		margin: 0 0 2em;
}
.article_body p a {
		color: #000;
		text-decoration: underline;
}
.article_body strong {
		font-weight: normal;
		font-weight: 700;
}
.article_body p a[target="_blank"] {
		display: inline-block;
		position: relative;
		padding-right: 22px;
}
@media(max-width: 767px) {
		.article_body p a[target="_blank"] {
				word-break: break-all;
		}
}
.article_body p a[target="_blank"]::before, .article_body p a[target="_blank"]::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		right: 2px;
		width: 9px;
		height: 9px;
}
.article_body p a[target="_blank"]::before {
		border: 1px solid #000;
}
.article_body p a[target="_blank"]::after {
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		width: 7px;
		height: 7px;
		top: calc(50% - 6px);
		right: 0;
}
@media (hover: hover) {
		.article_body p a:hover {
				color: #000;
				text-decoration: none;
		}
}
.article_body h1, .article_body h2 {
		font-size: 180%;
		margin: 3em 0 0.75em;
		line-height: 1.6;
		font-weight: 700;
}
.article_body h3, .article_body h4 {
		font-size: 140%;
		margin: 3em 0 1em;
		line-height: 1.6;
		font-weight: 700;
		padding-left: 13px;
		border-left: 1px solid #000;
}
.article_body h5, .article_body h6 {
		font-size: 120%;
		margin: 3em 0 1em;
		line-height: 1.6;
		font-weight: 700;
}
.wp-block-image {
		margin: 0 0 3em;
}
.article_body .wp-block-image :where(figcaption) {
		margin: 10px 0 !important;
		font-size: 85%;
}
@media(min-width: 768px) {
		.wp-block-image {
				max-width: 700px;
		}
}
.wp-block-image img {
		width: 100%;
		height: auto;
}
@media (hover: hover) {
		.wp-block-image:hover {
				opacity: 0.7
		}
}
@media(max-width: 767px) {
		.article_body h1, .article_body h2, .article_body h3 {
				font-size: 22px;
				margin: 3em 0 0.5em;
		}
		.article_body h4 {
				font-size: 18px;
				margin: 2em 0 0.5em;
		}
		.article_body p {
				font-size: 15px;
		}
}
/* ============== */
.control_nav_wrap {
		display: flex;
		justify-content: center;
		margin-top: 80px;
}
.control_nav li {
		width: 100px;
		height: 50px;
		margin: 0 0 8px;
		list-style: none
}
.control_nav li a {
		color: #000;
		text-decoration: none;
		display: block;
		position: relative;
}
.control_nav li a::before, .control_nav li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 24px);
		right: 0;
		width: 49px;
		height: 49px;
}
.control_nav li a::before {
		border: 1px solid #000;
		border-radius: 50%;
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s;
}
.control_nav li a::after {
		background-repeat: no-repeat;
		background-position: center 1px;
		background-size: 49px;
		background-image: url("../images/icon_left_blk.png");
		pointer-events: none
}
@media (hover: hover) {
		.control_nav li a:hover::before {
				background: #000;
		}
		.control_nav li a:hover::after {
				background-image: url("../images/icon_left_wht.png");
		}
}
@media(max-width: 767px) {
		.control_nav_wrap {
				margin-top: 80px;
		}
		.control_nav li {
				width: 86px;
				height: 38px;
		}
		.control_nav li a {
				color: #000;
				text-decoration: none;
				display: block;
				position: relative;
		}
		.control_nav li a::before, .control_nav li a::after {
				top: calc(50% - 19px);
				width: 38px;
				height: 38px;
		}
		.control_nav li a::after {
				background-position: center 1px;
				background-size: 38px;
				background-image: url("../images/icon_left_blk_sp.png");
		}
}
@media (hover: hover) and (max-width: 767px) {
		.control_nav li a:hover::after {
				background-image: url("../images/icon_left_wht_sp.png");
		}
}
/* ============= */
.pagenav_wrap {
		margin-top: 70px;
}
.pagenav_outer {
		display: flex;
		justify-content: center;
}
.wp-pagenavi a, .wp-pagenavi span {
		border: none !important;
		padding: 3px 5px;
		margin: 2px;
}
.pagenav_wrap {
		display: flex;
		justify-content: center;
		margin-top: 70px;
}
.pagenav_outer {
		display: flex;
		justify-content: center;
		font-family: "Baloo 2", sans-serif;
		font-weight: 700;
}
.wp-pagenavi {
		clear: both;
}
.wp-pagenavi a, .wp-pagenavi span {
		text-decoration: none;
		padding: 3px 5px;
		margin: 2px;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
		border-color: #000;
}
.wp-pagenavi span.current {
		font-weight: bold;
}
.pagenav {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 70px;
		height: 20px;
}
.pagenav_prev {
		padding-right: 25px;
		border-right: 1px solid #9A8B73;
}
.wp-pagenavi {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
}
.wp-pagenavi a, .wp-pagenavi span {
		margin: 0 10px !important;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: border-box;
		background: none;
		color: #000;
		text-decoration: none;
}
@media(max-width: 767px) {
		wp-pagenavi a, .wp-pagenavi span {
				margin: 0 5px !important;
		}
}
.wp-pagenavi a.page, .wp-pagenavi span.current {
		font-weight: 700;
		border: none;
		background: none;
}
@media (hover: hover) {
		.wp-pagenavi a.page:hover {
				color: #999;
		}
}
.wp-pagenavi span.current {
		color: #000;
		font-weight: 700 !important;
		border: none;
		background: none;
		position: relative;
}
.wp-pagenavi span.current::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -6px;
		left: calc(50% - 2px);
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: #000;
}
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
		width: 30px;
		height: 30px;
		border: none;
		text-indent: -9999px;
		position: absolute;
		top: 3px;
}
.wp-pagenavi a.previouspostslink {
		left: -60px;
}
.wp-pagenavi a.nextpostslink {
		position: absolute;
		right: -60px;
}
.wp-pagenavi a.previouspostslink::before, .wp-pagenavi a.nextpostslink::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 24px;
		height: 24px;
		border: 1px solid #000;
		border-radius: 50%;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
}
.wp-pagenavi a.previouspostslink::after, .wp-pagenavi a.nextpostslink::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 6px);
		width: 6px;
		height: 6px;
}
.wp-pagenavi a.previouspostslink::after {
		border-top: 1px solid #000;
		border-left: 1px solid #000;
		transform: rotate(-45deg);
		left: 11px;
}
.wp-pagenavi a.nextpostslink::after {
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: rotate(45deg);
		right: 15px;
}
@media (hover: hover) {
		.wp-pagenavi a.previouspostslink:hover::before, .wp-pagenavi a.nextpostslink:hover::before {
				background: #000;
		}
		.wp-pagenavi a.previouspostslink:hover::after {
				border-top: 1px solid #fff;
				border-left: 1px solid #fff;
		}
		.wp-pagenavi a.nextpostslink:hover::after {
				border-top: 1px solid #fff;
				border-right: 1px solid #fff;
		}
}
.wp-pagenavi span.pages {
		display: none;
}
@media(max-width: 767px) {
		.wp-pagenavi a, .wp-pagenavi span {
				width: 30px;
				height: 30px
		}
		.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink {
				width: 32px;
				height: 32px;
				top: calc(50% - 15px);
				color: rgba(255, 255, 255, 0) !important;
		}
		.wp-pagenavi a.previouspostslink {
				left: -50px;
		}
		.wp-pagenavi a.nextpostslink {
				position: absolute;
				right: -50px;
		}
}