@charset "UTF-8";

html, 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;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
	font-family: "Noto Sans JP", sans-serif;
}

html {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0.1em;
}

.clearfix {
	display: inline-table;
}



/** 
* common
*/
html {
	height: 100%;
	overflow: auto;
}
html body {
	font-size: 13px;
	color: #292929;
	/*background-image: url("../media/images/common/bg_white.png");*/
}
@media print, screen and (min-width: 1024px) {
	body .tab-sp,
	body .sp-tab {
		display: none;
	}
}
@media screen and (min-width: 769px) {
	body .sp {
		display: none;
	}
}

/* header */
.top header {
	background: transparent;
}
header {
	padding-top: 32px;
	background: #E9F5E5;
	z-index: 10000;
	height: 132px;
}
header a[href^="http"]:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	vertical-align: middle;
	background-image: url(../media/images/common_v2/icon_external.png);
	background-color: transparent;
	padding-left: 8px;
	margin-top: -2px;
}
header .header_bg_gray {
	position: relative;
	z-index: 100;
	width: auto;
	max-width: calc(1200px - (40px * 2));
	height: 100%;
	margin: 0 auto 0;
	padding: 0 40px;
	background: rgba(255,255,255,.92);
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.1));
	border-radius: 10px;
}
header .header_contents {
	position: relative;
	margin: 0 auto;
	height: 100%;
	width: 100%;
	border-top: 6px solid #A1E672;
}
header .header_contents h1.logo {
	position: absolute;
	left: 0;
	top: 27px;
}
header .header_contents .menu_area {
	margin-left: auto;
	max-width: calc(100% - 300px);
}

header .header_contents .serch_area {
	position: relative;
	width: 100%;
	top: 0;
	right: auto;
	display: flex;
	justify-content: flex-end;
	margin: 18px 0 0;
}
header .header_contents .serch_area form {
	position: relative;
}
header .header_contents .serch_area input {
	box-sizing: border-box;
	display: block;
	-webkit-appearance: none;
	padding: 0px 5px;
	font-size: 14px;
	position: static;
	border-radius: 18px;
	border: 1px solid #D3D6D5;
	line-height: 36px;
	width: 210px;
	height: 36px;
	padding: 0 45px 0 15px;
}

header .header_contents .serch_area button {
	display: block;
	border: none;
	padding: 0;
	-webkit-appearance: none;
	border: none;
	cursor: pointer;
	border-radius: 20px;
	background: #292929;
	width: 36px;
	height: 36px;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
header .header_contents .sub_menu {
	margin: 4px 26px 0 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
}
header .header_contents .sub_menu a {
	color: #666666;
	font-size: 15px;
	line-height: 28px;
}
header .header_contents .sub_menu a img {
	position: relative;
	top: 3px;	
}
header .header_contents .serch_area a.english_link {
	text-align: center;
	display: block;
	font-family: "Manrope", sans-serif;
	font-weight: 600;
	border-radius: 18px;
	background: #A1E672;
	color: #292929;
	width: 100px;
	padding: 8px 0;
	font-size: 16px;
	margin-left: 12px;
	transition: all .2s;
	border: 2px solid #A1E672;
}
header .header_contents .serch_area ul {
	margin-bottom: 5px;
}
header .header_contents .serch_area ul li {
	font-size: 11px;
	display: inline-block;
	display: inline\9;
	zoom: 1\9;
}
header .header_contents nav#gnavi {
	padding: 0;
	height: auto;
}
header .header_contents nav#gnavi ul.depth1 {
	display: flex;
	gap: 30px;
	justify-content: flex-end;
	margin-top: 21px;
}	
header .header_contents nav#gnavi ul.depth1 li {
	width: auto;
	height: auto;
	position: relative;
}
header .header_contents nav#gnavi ul li a {
	position: relative;
	color: #fff;
	height: 30px;
	float: left;
	color: #292929;
	font-weight: 500;
	font-size: 18px;
	width: auto;
	padding: 4px 0 0;
}
header .header_contents nav#gnavi ul.depth1 > li > a {
	background-image: none;
	background: transparent;
	position: relative;
}
header .header_contents nav#gnavi > ul li > ul a.active {
	background: #A1E672;	
}
header .header_contents nav#gnavi ul.depth1 > li > a:hover::after,
header .header_contents nav#gnavi ul li.active > a::after {
	content: "";
	width: 100%;
	height: 4px;
	background: #A1E672;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	z-index: 1;
}
header .header_contents nav#gnavi ul li a.active + ul {
	display: block;
}
header .header_contents nav#gnavi ul li ul {
	display: none;
	position: absolute;
	top: 0;
	left: -25px;
	z-index: 10;
	width: 210px;
}
header .header_contents nav#gnavi ul li ul li {
	float: none;
	border: none;
	margin: 0;
	padding: 0;
	height: auto;
	width: 100%;
}
header .header_contents nav#gnavi ul li ul li a {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	background: #F2F1EF;
	color: #333;
	padding: 6px;
	line-height: 1.5;
	border-bottom: 1px dotted #ccc !important;
	border-left: 1px solid #F2F1EF;
	border-right: 1px solid #F2F1EF;
	float: none;
	background-image: none !important;
}
header .header_contents nav#gnavi ul.depth1 li > ul.depth2 {
	left: -60px;
	transform: translateX(-50%);
	left: 50%;
}
header .header_contents nav#gnavi ul li ul li a {
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	background: #292929;
	padding: 6px 15px 6px 15px;
	border: none !important;
	border-bottom: none !important;
}
header .header_contents nav#gnavi ul li ul li.active > a,
header .header_contents nav#gnavi ul li ul li a:hover {
	background: #A1E672;
	color: #292929;
}
header .header_contents nav#gnavi ul li ul li.has_children > a {
	padding: 6px 25px 6px 15px;
}
header .header_contents nav#gnavi ul li ul li {
	position: relative;
}
header .header_contents nav#gnavi ul li ul li:not(:last-child)::before {
	content: "";
	width: calc(100% - 30px);
	height: 1px;
	background: #666666;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -1px;
	z-index: 1;
}
header .header_contents a[href^="http"]::after {
}
header .header_contents nav#gnavi ul li ul li.has_children > a::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	vertical-align: middle;
	background-image: url(../media/images/common_v2/icon_chevron_right.png);
	background-color: transparent;
	position: absolute;
	left: auto;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);

}
header .header_contents nav#gnavi ul li.depth1 > ul {
	top: 41px;	
}

header .header_contents nav#gnavi ul li ul.depth3 {
	left: 211px;
}
header .header_contents nav#gnavi ul li ul.depth3 a:after {
	display: none;
}
/* hover */
@media screen and (min-width: 769px) {
	a:hover {
		color: #49B13F;
	}
	#main ul.pagination li a:hover {
		background: #fafafa;
	}
	header .header_contents .serch_area a.english_link:hover {
		background: #fff;
	}
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
	header {
		padding-left: 10px;
		padding-right: 10px;
	}
	header .header_bg_gray {
		max-width: calc(1200px - (20px * 2));
		padding: 0 20px;
	}
	header .header_contents nav#gnavi ul.depth1 {
		gap: 18px;
	}
	header .header_contents nav#gnavi ul li a {
		font-size: 17px;
	}
}
@media screen and (max-width: 1023px) {
	header {
		height: 64px;
		padding-top: 10px;
	}
	header .header_contents {
		width: auto !important;
		border-top-width: 4px;
	}
	header .header_contents .menu_area,
	header .header_contents .serch_area,
	header .header_contents nav#gnavi {
		display: none;
	}
	header .header_bg_gray {
		width: calc(100% - 20px - (20px + 16px));
		padding: 0 20px 0 16px;
	}
}
@media screen and (max-width: 1023px) {
	header .header_contents h1.logo {
		top: 12px;
	}
	header .header_contents h1.logo img {
		width: auto;
		height: 35px;
	}
}

.header__nav_sp {
	position: absolute;
	top: calc(50% - 1px);
	right: 3px;
	transform: translateY(-50%);
}
.header__nav_sp .sp__menu--button {
	display: inline-block;
	transition: all 0.4s;
	box-sizing: border-box;
	position: relative;
	width: 18px;
	height: 12px;
	background: none;
	border: none;
	appearance: none;
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	.header__nav_sp .sp__menu--button {
		height: 12px;
	}
}
.header__nav_sp .sp__menu--button span {
	display: inline-block;
	transition: all 0.4s;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #292929;
}
.header__nav_sp .sp__menu--button span:nth-of-type(1) {
	top: 0;
}
.header__nav_sp .sp__menu--button span:nth-of-type(2) {
	top: 5px;
}
@media screen and (max-width: 768px) {
	.header__nav_sp .sp__menu--button span:nth-of-type(2) {
		top: 5px;
	}
}
.header__nav_sp .sp__menu--button span:nth-of-type(3) {
	bottom: 0;
}
.header__nav_sp .sp__menu.open {
	position: relative;
	z-index: 13;
}
.header__nav_sp .sp__menu.open span {
	background-color: #292929;
}
.header__nav_sp .sp__menu.open span:nth-of-type(1) {
	transform: translateY(5px) rotate(-41deg);
}
.header__nav_sp .sp__menu.open span:nth-of-type(2) {
	opacity: 0;
}
.header__nav_sp .sp__menu.open span:nth-of-type(3) {
	transform: translateY(-5px) rotate(41deg);
}

.menuopen header {
	background: #fff;
}

.menu.sp {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	background: #fff;
	overflow: hidden;
	z-index: 11;
}

.menu.sp .menu_inner {
	max-height: 100dvh;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	padding: 100px 30px 40px;
}

.menu.sp .search_area {
	position: relative;
	width: 100%;
	top: 0;
	right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 14px 0 30px;
	padding: 0 4px;
}
.menu.sp .search_area form {
	position: relative;
}
.menu.sp .search_area input {
	box-sizing: border-box;
	display: block;
	-webkit-appearance: none;
	padding: 0px 5px;
	font-size: 14px;
	position: static;
	border-radius: 18px;
	border: 1px solid #D3D6D5;
	line-height: 36px;
	width: 202px;
	height: 36px;
	padding: 0 45px 0 15px;
}

.menu.sp .search_area button {
	display: block;
	border: none;
	padding: 0;
	-webkit-appearance: none;
	border: none;
	cursor: pointer;
	border-radius: 20px;
	background: #292929;
	width: 36px;
	height: 36px;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

header .header_contents > .sp_header_lang {
	display: none;

	@media screen and (max-width: 1023px) {
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 40px;

	}
}

.sp_header_lang a.english_link,
.menu.sp .search_area a.english_link {
	text-align: center;
	display: block;
	font-family: "Manrope", sans-serif;
	font-weight: 600;
	border-radius: 18px;
	background: #A1E672;
	color: #292929;
	width: 102px;
	padding: 10px 0;
	font-size: 16px;
	margin-left: 12px;
}
.sp.menu > section nav a {
	position: relative;
	display: block;
	color: #292929;
	font-size: 15px;
	padding: 0 14px;
	height: 42px;
	line-height: 42px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sp.menu > section nav a > span {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 48px;
	height: 48px;
	z-index: 10;
	top: 3px;
	right: 6px;
}
.sp.menu > section nav a > span span.open,
.sp.menu > section nav a > span span.close {
	position: absolute;
	top: 19px;
	left: 15px;
}
.sp.menu > section nav a > span span.open::before, .sp.menu > section nav a > span span.open::after,
.sp.menu > section nav a > span span.close::before,
.sp.menu > section nav a > span span.close::after {
	position: absolute;
	width: 15px;
	display: block;
	content: " ";
	border-top: 2px solid #292929;
}
.sp.menu > section nav a > span span.open::after {
	transform: rotate(90deg);
	top: 0;
}
.sp.menu > section nav a > span span.close {
	display: none;
}
.sp.menu > section nav ul.depth1 {
	border-bottom: 1px solid #A1E672;
}
.sp.menu > section nav ul.depth1 > li {
	border-top: 1px solid #A1E672;
}
.sp.menu > section nav ul.depth1 > li > a {
	font-size: 16px;
	font-weight: 500;
	color: #292929;
	position: relative;
	padding-left: 36px;
	padding-right: 20px;
	height: 48px;
	line-height: 48px;
}
.sp.menu > section nav ul.depth1 > li > a::before {
	content: "";
	background: #A1E672;
	width: 12px;
	height: 12px;
	display: block;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 20px;
}
.sp.menu > section nav ul.depth1 > li > a.active {
	background: #A1E672;	
}
.sp.menu > section nav ul.depth1 ul li.active > a {
	background: #EBFAE1;	
}
.sp.menu > section nav ul.depth1 > li > a.active::before {
	background: #fff;	
}
.sp.menu > section nav ul.depth1 > li ul.depth2 {
	padding: 0 0 0 14px;
	display: none;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li {
	border-top: 1px solid #D7DDDC;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li.lm246 {
	display: none;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li > a {
	font-size: 15px;
	color: #292929;
	height: 40px;
	line-height: 40px;
	padding-left: 37px;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li > a.current {
	background: #EBFAE1;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li > a[href^="http"]:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	vertical-align: middle;
	background-image: url(../media/images/common_v2/icon_external.png);
	background-color: transparent;
	padding-left: 8px;
	margin-top: -2px;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li ul.depth3 {
	padding: 0 0 0 0;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li ul.depth3 > li:first-child {
	border-top: 1px solid #D7DDDC;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li ul.depth3 > li {
	border-top: 1px solid #D7DDDC;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li ul.depth3 > li a {
	padding: 0 8px 0 74px;
	font-size: 14px;
	height: 32px;
	line-height: 32px;
	color: #808080;
	position: relative;
}
.sp.menu > section nav ul.depth1 > li ul.depth2 > li ul.depth3 > li a::before {
	content: "";
	width: 8px;
	height: 1px;
	background: #808080;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 58px;
	display: block;
}
.sp.menu > section nav ul.depth1 > li:not(.has_children) > a::after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 29px;
	bottom: 0;
	margin: auto;
}
.sp.menu .sub_menu {
	margin: 27px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}
.sp.menu .sub_menu a {
	color: #666666;
	font-size: 15px;
	line-height: 28px;
}
.sp.menu .sub_menu a img {
	position: relative;
	top: 3px;	
}
.sp.menu .sns_area {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 25px;
	margin: 26px 0 0;
	padding-bottom: 140px;
}
.sp.menu .sns_area .sns_box {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
}
.sp.menu .sns_area .sns_box .account_container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.sp.menu .sns_area .sns_box .account_container {
	margin-top: 12px;	
	font-size: 14px;
}
.sp.menu .sns_area .sns_box .account_container a {
	color: #292929;
	font-size: 14px;
	font-family: "Manrope", sans-serif;
	font-weight: 500;
	margin-bottom: 11px;
}


/* スクロール時 */
@media screen and (max-width: 768px) {
	header {
		position: relative;
	}

	header .header_bg_gray {
		transition:
			transform 0.35s cubic-bezier(.4,0,.2,1),
			opacity 0.2s ease;
	}

	header.is-sp-overlay .header_bg_gray {
		position: fixed;
		top: 10px;
		left: 10px;
		right: 10px;
		transform: translateY(0);
		height: 64px;
	}

	header.is-sp-hide .header_bg_gray {
		transform: translateY(-120%);
		opacity: 0;
	}

	header.is-sp-return .header_bg_gray {
		position: fixed;
		top: 10px;
		left: 10px;
		right: 10px;
	}
	header.is-sp-leave .header_bg_gray {
		position: fixed;
		top: 10px;
		left: 10px;
		right: 10px;
		transform: translateY(-120%);
		opacity: 0;
	}
}


/* to_top */
#wholewrapper {
	position: relative;
}
.to_top {
	position: fixed;
	bottom: 26px;
	right: 26px;
	display: none;
	z-index: 1000;
}
.to_top a {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #292929;
	border-radius: 50%;
	transition: background .2s;
}

@media screen and (max-width: 768px) {
	.to_top {
		bottom: 16px;
		right: 16px;
	}
}


/* footer */
footer {
	background: #292929;
	padding: 65px 10px 45px;
	box-sizing: border-box;
}
footer .footer_inner {
	max-width: 1200px;
	margin: auto;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
}
footer .footer_inner a {
	color: #fff;
}
footer .footer_inner .footer_logo {
	width: 280px;
	position: relative;

	[lang="en"] & {
		width: 304px;

		@media screen and (max-width: 768px) {
			width: 234px;
		}
	}
}
footer .footer_inner .footer_logo img {
	width: 100%;
	height: auto;
}
footer .footer_inner .copyright {
	font-family: "Manrope", sans-serif;
	font-size: 13px;
	color: #808080;
	position: absolute;
	left: 3px;
	bottom: 5px;
}
footer .footer_inner .footer_menu_area {
	width: calc(100% - 280px);
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	gap: 0 42px;


	@media screen and (min-width: 768px)  {
		[lang="en"] & {
			width: calc(100% - 304px);
			gap: 0 53px;
		}
	}
}
footer .footer_inner .footer_menu {
	border-left: 1px solid #A1E672;
	padding-left: 16px;

	[lang="en"] & {
		@media screen and (min-width: 768px)  {
			padding-bottom: 22px;	
		}
	}
}
footer .footer_inner .footer_menu.menu01 {
	width: calc(18.7% - 16px);

	[lang="en"] & {
		@media screen and (min-width: 768px)  {
			width: calc(17% - 16px);
		}
	}
}
footer .footer_inner .footer_menu.menu02 {
	width: calc(10.66% - 16px);


	[lang="en"] & {
		@media screen and (min-width: 768px)  {
			width: calc(16.66% - 16px);
		}
	}
}
footer .footer_inner .footer_menu.menu03 {
	width: calc(26% - 16px);


	[lang="en"] & {
		@media screen and (min-width: 768px)  {
			width: calc(19.5% - 16px);
		}
	}
}
footer .footer_inner .footer_menu.menu04 {
	width: calc(16.4% - 16px);


	[lang="en"] & {
		@media screen and (min-width: 768px)  {
			width: calc(16.9% - 16px);
		}
	}
}

footer .footer_inner .footer_menu ul {
	margin-top: 4px;
}
footer .footer_inner .footer_menu ul li {
	margin-bottom: 10px;
}
footer .footer_inner .footer_menu a {
	font-size: 15px;
	color: #fff;


	[lang="en"] & {
		white-space: nowrap;	
	}
}
footer .footer_inner .footer_menu a img {
	vertical-align: middle;
	position: relative;
	top: -3px;
	left: 2px;
}
footer .footer_inner .footer_menu  .sns_box {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
	margin-bottom: 4px;
}
footer .footer_inner .footer_menu .sns_box .account_container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
footer .footer_inner .footer_menu .sns_box .account_container {
	margin-top: 4px;
}
footer .footer_inner .footer_menu .sns_box .account_container a {
	font-size: 15px;
	font-family: "Manrope", sans-serif;
	font-weight: 500;
	margin-bottom: 11px;

}
footer .footer_inner .footer_menu .sns_box.bluesky_box .account_container {
	margin-top: 9px;
}
/* hover */
@media screen and (min-width: 769px) {
	.to_top a:hover {
		background: #A1E672;
		opacity: 1;
	}

	footer .footer_inner a:hover {
		color: #A1E672;
	}
	footer .footer_inner .footer_menu a:hover {
		color: #A1E672;
	}
}
@media screen and (max-width: 1200px) and (min-width: 769px) {
	footer .footer_inner {
		justify-content: space-between;
	}
	footer .footer_inner .footer_menu_area {
		gap: 0 25px;
	}
	footer .footer_inner .footer_menu {
		width: 19% !important;


		[lang="en"] & {
			width: auto!important;
		}
	}
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
	footer .footer_inner .footer_logo {
		width: 180px;	
		margin-right: 20px;
	}
	footer .footer_inner .footer_menu_area {
		width: calc(100% - 180px - 20px);
	}
	footer .footer_inner .footer_menu_area {
		gap: 0 5px;


		[lang="en"] & {
			gap: 0 5px;
		}
	}
	footer .footer_inner .footer_menu {
		width: 19% !important;
		flex: 1;
	}
}
@media screen and (max-width: 768px) {
	footer {
		padding: 40px 30px 24px;
	}
	footer .footer_inner .footer_logo {
		width: 215px;
		position: relative;
		margin-bottom: 20px;
	}
	footer .footer_inner .footer_logo img {
		width: 100%;
		height: auto;
	}
	footer .footer_inner {
		flex-direction: column;
		max-width: 600px;
		margin: auto;
	}
	footer .footer_inner .footer_menu_area {
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		gap: 21px 25px;
		width: auto;
		padding: 0 10px;
		position: relative;
	}
	footer .footer_inner .footer_menu.menu01 {
		width: auto;
	}
	footer .footer_inner .footer_menu.menu02 {
		width: auto;
		position: absolute;
		left: 187px;
		top: 0;
	}
	footer .footer_inner .footer_menu.menu03 {
		width: auto;
	}
	footer .footer_inner .footer_menu.menu04 {
		width: auto;
		position: absolute;
		left: 187px;
		top: 72px;
	}
	footer .footer_inner .footer_menu ul li {
		margin-bottom: 15px;	
	}
	footer .footer_inner .footer_menu ul li:last-child {
		margin-bottom: 1px;	
	}
	footer .footer_inner .footer_menu .sns_box img {
		width: 28px;
		height: 28px;
	}
	footer .footer_inner .footer_menu .sns_box .account_container a {
		font-size: 13px;
	}
	footer .footer_inner .footer_menu .sns_box .account_container {
		margin-top: 6px;
	}
	footer .footer_inner .footer_menu .sns_box .account_container a {
		margin-bottom: 10px;
	}
	footer .footer_inner .footer_menu .sns_box .account_container a:last-of-type {
		margin-bottom: 0;
	}
	footer .footer_inner .copyright {
		font-size: 12px;
		position: relative;
		left: auto;
		bottom: auto;
		padding: 0 0 0 10px;
		margin-top: 40px;
	}
}


/* アイコン */
.icon_pdf:after {
	content: url("../media/images/common/icon_pdf.png");
	padding-left: 5px;
	position: relative;
	top: 2px;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_file_pdf.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

/* リンク */
a {
	text-decoration: none;
	color: #339900;
}

a.link_box {
	border: 1px solid #666666;
	width: 100%;
	padding: 8px 0 9px 0;
	text-align: center;
	color: #666666;
}

a.btn_gray {
	border: 1px solid #bab8b3;
	padding: 7px 0 7px 0;
	text-align: center;
	color: #666666;
	width: 158px;
	background-color: #e8e8e8;
	display: inline-block;
}


/* float */
.left {
	float: left;
}

.right {
	float: right;
}
#main a[href^="http"]:after,
#main a.external:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 4px;
	padding-right: 0;
	color: #989898;
	font-size: 13px;
}
#main a[href$=".doc"]:after,
#main a[href$=".docx"]:after,
#main a[href$=".DOC"]:after,
#main a[href$=".DOCX"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 9px;
	padding-right: 0;
	color: #1D87FF;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_file_word.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
}
#main a[href$=".xls"]:after,
#main a[href$=".xlsx"]:after,
#main a[href$=".XLS"]:after,
#main a[href$=".XLSX"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 9px;
	padding-right: 0;
	color: #00A733;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_file_excel.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
}
#main a[href$=".ppt"]:after,
#main a[href$=".pptx"]:after,
#main a[href$=".PPT"]:after,
#main a[href$=".PPTX"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 9px;
	padding-right: 0;
	color: #FF9C00;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_file_powerpoint.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
}
#main a[href$=".pdf"]:after,
#main a[href$=".PDF"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #c30;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_file_pdf.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
}
#main a[href$=".epub"]:after,
#main a[href$=".EPUB"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #999;
}
#main a[href^="mailto"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #666;
}
#main a[href$=".zip"]:after,
#main a[href$=".ZIP"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #FF9C00;
}
#main a.no_icon:before,
#main a.no_icon:after {
	display: none !important;
	padding: 0;
}

#main {
	/* テーブル */
}
#main img {
	max-width: 100%;
	height: auto !important;
}
#main * {
	position: relative;
	box-sizing: border-box;
}

.block-section .block.text {
	h1,
	h2 {
		position: relative;
		left: -34px;
		font-size: 26px;
		border-left: 6px solid #42C86E;
		padding: 0 0 2px 28px;
		margin-bottom: 23px;
		margin-top: 48px;
		position: relative;
		font-weight: bold;

		&::before {
			content: "";
			width: 6px;
			height: 100%;
			background: #A1E672;
			display: block;
			position: absolute;
			top: 0;
			left: 6px;
		}
	}
}

#main h3 {
	font-size: 20px;
	border-left: 3px solid #52a61f;
	padding: 10px 0 0 16px;
	margin-bottom: 19px;
}
#main h3 {
	font-size: 26px;
	border-left: 6px solid #42C86E;
	padding: 0 0 2px 28px;
	margin-bottom: 23px;
	margin-top: 48px;
	position: relative;
	font-weight: bold;
}
#main h3:not(:has(>img))::before {
	content: "";
	width: 6px;
	height: 100%;
	background: #A1E672;
	display: block;
	position: absolute;
	top: 0;
	left: 6px;
}
.lower_contents #main h3 {
	position: relative;
	left: -34px;
}
#main h3 div.sub {
	font-size: 13px;
}
#main > h3:first-of-type {
	margin-top: 0;
}
#main > div h3:first-of-type {
	margin-top: 0;
}
#main h3 + h4 {
	margin-top: 20px;
}
#main  h3 + h4 {
	margin-top: 40px;
}
#main h4 {
	font-size: 16px;
	border-left: 3px solid #8dba37;
	padding: 5px 0 0 16px;
	margin-top: 37px;
	margin-bottom: 10px;
}
#main h4 {
	font-size: 22px;
	font-weight: bold;
	padding: 0 0 0 40px;
	margin-top: 33px;
	margin-bottom: 20px;
	border-left: none;
}
#main h4::before {
	content: "";
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #A1E672;
	display: block;
	position: absolute;
	top: 7px;
	left: 6px;
	padding: 0;
}
.lower_contents #main h4 {
	position: relative;
	left: -40px;
}
#main h4 + .list > ul {
	margin-top: 0;
	margin-bottom: 0;
}
#main h4 + .list + h4 {
	margin-top: 23px;
}
#main h4 + h5 {
	margin-top: 20px;
}
#main div.index + h4 {
	margin-top: 0;
}
#main h5 {
	font-size: 16px;
	border-left: 3px solid #CCCCCC;
	padding: 5px 0 0 16px;
	margin-top: 27px;
	margin-bottom: 10px;
}
#main h5 {
	border-left: none;
	font-size: 18px;
	font-weight: 700;
	padding: 0;
}
#main h6 {
	font-size: 16px;
	padding-left: 0;
	margin-top: 20px;
	margin-bottom: 10px;
	font-weight: bold;
}
#main h5 + h6 {
	margin-top: 10px;
}
@media screen and (max-width: 1024px) {
	#main h3 {
		width: calc(100% + 20px);
		left: -20px;
	}
	#main h4 {
		width: calc(100% + 20px);
		left: -20px;
	}
}
@media screen and (max-width: 768px) {
	#main h3 {
		font-size: 20px;
		padding: 0 0 2px 14px;
		border-width: 4px;
		margin-bottom: 17px;
		width: calc(100% + 20px);

	}
	.lower_contents #main h3 {
		left: -20px;
	}
	#main h3:not(:has(> img))::before {
		width: 4px;
		left: 4px;
	}
	#main h3 + h4 {
		margin-top: 32px;	
	}
	#main h4 {
		font-size: 18px;
		line-height: calc(28/18);
		padding: 0 0 0 18px;
		width: calc(100% + 20px);
		margin-bottom: 16px;
	}
	.lower_contents #main h4 {
		left: -20px;
	}
	#main h4::before {
		width: 12px;
		height: 12px;
		left: 0;
	}
	#main h4 + h5 {
		margin-top: -5px;
	}
	#main h5 {
		font-size: 16px;
		margin-top: 16px;
	}
}

#main p {
	margin: 15px 0px 10px 15px;
	line-height: 1.5;
	font-size: 13px;
}
#main h4 + p {
	margin-top: 17px;
}
#main h5 + p {
	margin-top: 13px;
}
#main blockquote {
	margin: 30px 20px;
	border-radius: 5px;
	padding: 13px;
	background: #f1f1f0;
	border: 1px solid #DFDFDF;
}
#main blockquote h4 {
	margin: -13px -13px 15px;
	background: #C6C6C5;
	color: white;
	border-radius: 5px 5px 0 0;
	border-left: none !important;
	border-bottom: 1px solid #ACACAB;
	font-size: 14px !important;
	font-weight: bold !important;
	padding: 6px 5px 4px 10px;
	left: 0 !important;
}
#main blockquote h4::before {
	content: none;
}
#main blockquote h5 {
	margin: 0 0 10px;
	padding: 0;
	font-size: 16px;
	border-left: none;
}
#main blockquote p {
	padding: 0;
	margin: 0;
}
#main blockquote ul, #main blockquote ol {
	margin: 5px 10px;
}
#main ul, #main ol {
	margin: 16px 0 20px 14px;
}
#main ul li, #main ol li {
	margin: 5px 0;
	line-height: 1.3;
}
#main ul ul, #main ul ol, #main ol ul, #main ol ol {
	margin-top: 10px;
	margin-bottom: 10px;
}
#main ul {
	list-style-type: disc;
	padding-left: 12px;
}
#main ul li:has(> a):not(.no_icon) {
	list-style-type: none;
	text-indent: -16px;
}
#main ul li:has(> a):has(a):not(.no_icon) {
	font-size: 15px;
	color: #808080;
	margin-bottom: 9px;
	line-height: 1.33333333;
	position: relative;
}
#main ul li:has(> a):has(a):has(span):not(.no_icon) {
	margin-bottom: 17px;
}
#main ul:has(> li.arrow) > li:not(.arrow),
#main ul li:has(> a):not(.no_icon) a {
	font-size: 18px;
	font-weight: 500;
	display: inline-block;
	padding: 0 0 3px 15px;
	color: #292929;
	text-indent: 0;
}
#main ul li:has(> a):not(.no_icon):has(a) a,
#main ul li:has(>a):not(.no_icon) a,
#main ul:has(> li:has(> a):not(.no_icon)) li:has(> a):not(.no_icon) {
	font-size: 18px;
	font-weight: 500;
	display: inline-block;
	padding: 0 0 3px 15px;
	color: #292929;
	text-indent: 0;
}
#main ul:has(> li:has(> a):not(.no_icon)) li:has(> a):not(.no_icon) {
	color: #989898;	
}
#main ul:has(> li.arrow) > li:not(:has(> a):not(.no_icon)) {
	color: #989898;	
}
#main ul li:has(> a):has(>br):not(.no_icon),
#main ul:has(> li:has(> a):not(.no_icon)) > li:not(.arrow):has(>br) {
	margin-bottom: 16px;
}
#main ul:has(> li.arrow) > li:not(.arrow) {
	padding-left: 0;
	text-indent: -15px;
}

#main ul li:has(> a):not(.no_icon)::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 11px;
	color: #292929;
	content: "\f105";
	font-size: 16px;
	font-weight: bold;
	position: relative;
	top: 3px;
	vertical-align: top;
	position: absolute;
	padding: 0;
	left: -3px;
}

#main ul li.arrow:not(:has(a)) {
	padding-left:0;
}

#main ul li.arrow,
#main ul li.inline_link  {
	&:not(:first-child) {
		margin-top: 19px;
	}
}

#main ul li.arrow.inline_link {
	text-indent: 0;
	list-style-type: disc;

	a {
		//padding-left: 0;
		font-size: unset;
		/* color: #808080;*/
		//color: #1269CE;

		&::after {
			color: #1269CE;
			padding-right: 3px;
		} 
	}
}

#main ul li.arrow.inline_link::before {
	display: none;
}

#main ul li.arrow{
	a + a {
		padding-left: 0;
	}
}

#main ul li.arrow:has( > a:not(:only-child)):not(.no_icon) {
	&::before {

	}
}

@media screen and (max-width: 768px) {
	#main ul:has(> li.arrow) > li:not(.arrow),
	#main ul li:has(> a):not(.no_icon) a {
		font-size: 16px;
		padding: 0 0 0 7px;
	}
	#main ul li:has(> a):has(a):not(.no_icon) {
		text-indent: 0;
		font-size: 14px;
		margin-bottom: 10px;
	}
	#main ul:has(> li.arrow) > li:not(:has(> a):not(.no_icon)):has(>br) a,
	#main ul li:has(> a):has(>br):not(.no_icon) a {
		margin-bottom: 4px;
		padding-left: 0;
	}
	#main ul:has(> li.arrow) > li:not(:has(> a):not(.no_icon)):has(>br),
	#main ul li:has(> a):not(.no_icon):has(>br) {
		margin-bottom: 16px;
		padding-left: 7px;
	}
	#main ul li:has(> a):has(a):not(.no_icon):last-child {
		margin-bottom: 0;
	}
	#main ul li:has(> a):not(.no_icon):before {
		left: -8px;
		top: 1px;
	}
}

#main ul:has(li.inline_link):has(li.arrow) {
	li.inline_link {
		display: list-item;
		padding-left: 15px;
		list-style-type: disc;
		font-size: 15px;
		color: #808080;
		margin-bottom: 9px;
		line-height: 1.33333333;



		&.first_text {
			padding-left: 0;
			text-indent: 0;

			&::before {
				display: none;
			}
		}

		&.first_link {
			display: block;

			&::before {
				top: -2px;
				left: -4px;
			}
		}

		a {
			padding-left: 0;
			font-size: inherit;
		}
	}
}


#main ul li ol li {
	padding-left: 13px;
}
#main ol {
	padding-left: 0px;
	margin-left: 17px;
	margin-top: 10px;
}
#main ol > li {
	list-style-type: decimal;
	padding-left: 8px;
	margin: 0 0 12px;
}
#main ol > li a {
	color: #292929;
}
#main h6 + ul {
	margin-top: 10px;
}
#main table {
	width: 100%;
	margin: 30px 0;
}
#main h5 + table {
	margin-top: 0;
}
#main table thead th, #main table thead td, #main table tbody th, #main table tbody td {
	padding: 15px 10px;
	vertical-align: top;
}
#main table thead th, #main table thead td, #main table tbody th {
	white-space: nowrap;
	font-weight: bold;
	color: #333;
}
#main table thead th {
	white-space: wrap;
}
#main table thead th, #main table thead td {
	background-color: #F5F6F5;
	border-bottom: 1px solid #D3D6D5;
	border-left: 1px solid #D3D6D5;
}
#main table thead th:first-child, #main table thead td:first-child {
	border-right: none;
	border-left: none;
}
#main table tbody th {
	border-top: 1px solid #D3D6D5;
	border-bottom: 1px solid #D3D6D5;
	border-right: 1px solid #D3D6D5;
	background: #F5F6F5;
	font-weight: 500;
	padding: 12px 20px;
	line-height: 1.4;
}
#main table thead th span {
	font-size: 13px;
}
#main table tbody th span {
	font-size: 15px;
}
#main table tbody th:first-child {
	border-left: none;
}
#main table tbody td {
	border-top: 1px solid #D3D6D5;
	border-bottom: 1px solid #D3D6D5;
	border-left: 1px solid #D3D6D5;
	padding: 12px 20px;
	line-height: 1.5;
}
#main table tbody td:first-child {
	/* 2014-12-10 design_table.psd 指示適応 */
	border-left: none;
	/* 2014-12-10 design_table.psd 指示適応ここまで */
}
#main table tbody td:last-child {
	border-right: none;
}
#main table tbody td > h3:first-child,
#main table tbody td > h4:first-child,
#main table tbody td > h5:first-child,
#main table tbody td > h6:first-child {
	margin-top: 0;
}
#main table tbody td > ul:first-child {
	margin-top: 0;
}
#main table table {
	margin: -15px 0;
	width: auto;
}
#main table tbody td:has(table) {
	padding: 0;
}
#main table table {
	margin: 0;
	width: 100%;
}
#main table table tbody th {
	background: #fff;
	border-top: none;
	width: 200px;
}
#main table table tbody td {
	border-top: none;
}
#main table td .post {
	display: inline-block;
	margin-right: 8px;
	margin-left: 15px;
	padding: 2px 6px;
	border-radius: 3px;
	background-color: #ddd;
}

#main table td .post:first-child {
	margin-left: 0;
}

#main table table tbody tr:last-child th, #main table table tbody tr:last-child td {
	border-bottom: none;
}
#main form.mailform table tbody td {
	border-left: none;
}
#main strong {
	font-weight: bold;
}
#main hr {
	background-color: transparent;
	border: none;
	border-bottom: 1px solid #e5e5e5;
}
#main ul.column3pics {
	width: 660px;
	margin: 0;
	padding: 0;
}
#main ul.column3pics li {
	list-style-type: none;
	margin: 0 0 30px;
	padding: 0;
	width: 220px;
	text-indent: 0;
	float: left;
}
#main ul.column3pics li:before {
	display: none;
}
#main ul.column3pics li img {
	width: 190px;
}
#main ul.column4pics {
	width: 660px;
	margin: 0px 0px 0px 15px;
	padding: 0;
}
#main ul.column4pics li {
	list-style-type: none;
	margin: 0 0 30px;
	padding: 0;
	width: 165px;
	text-indent: 0;
	float: left;
}
@media screen and (max-width: 768px) {
	#main ul.column3pics li {
		width: 50% !important;
	}
	#main ul.column3pics + h5 {
		margin-top: 10px !important;
	}

}
#main ul.column4pics li:before {
	display: none;
}
#main ul.column4pics li img {
	width: 140px;
}
#main ul.column4pics li div {
	text-align: center;
}
#main ul.column4pics li div p {
	margin: 5px 0px 0px 0px;
	width: 140px;
}
#main ul.column2 li {
	display: inline-block;
	width: 48%;
}
@media screen and (max-width: 768px) {
	#main ul.column2 li {
		width: 100%;
		margin-bottom:0.2em;
	}
}
#main ul.column3 li {
	display: inline-block;
	width: 32%;
}
#main table.topic td {
	border-left: none;
	border-right: none;
}
#main table.topic a.text {
	color: #666;
	cursor: default;
}
#main ul.pagination {
	padding: 10px 10px 5px 10px;
	text-align: center;
}

#main ul.pagination:has(> li.arrow) > li:not(.arrow),
#main ul.pagination li {
	// display: inline;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	list-style-type: none;
}
#main ul.pagination li {
	display: inline;	
}

#main ul.pagination li.page,
#main ul.pagination li:not([class]),{

}

#main ul.pagination:has(> li.arrow) > li:not(.arrow) a,
#main ul.pagination li:has(> a):not(.no_icon) a,
#main ul.pagination:has(> li.arrow) > li:not(.arrow) span,
#main ul.pagination li span {
	padding: 3px 8px;
	font-size: 14px;
}

#main ul.pagination:has(> li.arrow) > li:not(.arrow) a,
#main ul.pagination li:has(> a):not(.no_icon) a {
	&:hover {
		background: none;
	}
}

#main ul.pagination:has(> li.arrow) > li.active:not(.arrow) span {
	/*color: #1269CE;*/

}
#main ul.pagination li:before {
	display: none;
}

#main ul.pagination li a,
#main ul.pagination li span {
	display: table;
	text-align: center;
}

#main ul.pagination li.active span,
#main ul.pagination li.page a:hover {
	background-color: #EBFAE1;
	color: #292929;
}

#main ul.pagination li.prev,
#main ul.pagination li.next,
#main ul.pagination li:not([class]) span {
	border: none;
}

#main ul.pagination li.page:not(.first),
#main ul.pagination li.page:not(.last) {

}

#main ul.pagination li.page:not(.first) a,
#main ul.pagination li.page:not(.last) a,
#main ul.pagination li.page:not(.first) span,
#main ul.pagination li.page:not(.last) span {
	padding: 0;
	border: 1px solid #d3d6d5;
	border-radius: 2px;
	min-width: 30px;
	height: 30px;
	font-size: 15px;
	line-height: 30px;
	padding: 0 2px;
}

#main ul.pagination li a,
#main ul.pagination li span {
	display: inline-block;
	margin-bottom: 5px;
	padding: 3px 8px;
	text-decoration: none;
	text-indent: 0;
}



#main sub {
	font-size: 12px;
	top: 1px;
	padding: 0 1px;
}
#main sup {
	font-size: 12px;
	top: -3px;
	padding: 0 3px;
}
#main div.open_close {
	height: 36px;
	margin: 25px 20px 0 0;
}
#main div.open_close a {
	display: block;
	float: right;
	padding: 2px 9px 3px 18px;
	margin-left: 7px;
	height: 36px;
	line-height: calc(20/14);
	background: red;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	font-size: 14px;
	color: #292929;
	border-radius: 18px;
	transition: all .2s;
}
#main div.open_close a.open {
	background: #A1E672;
	border: 2px solid #A1E672;
	background: #A1E672;
	color: #292929;
}
#main div.open_close a.open:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 0px;
	padding-right: 0;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_add_circle.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
	position: relative;
	top: 3px;
}
#main  div.open_close a.close {
	border: 2px solid #D3D6D5;
	background: #fff;
	color: #292929;
}
#main div.open_close a.close:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 3px;
	padding-right: 0;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_remove_circle.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
	position: relative;
	top: 3px;
}
#main nav.prev_next {
	margin-top: 20px;
	padding-top: 10px;
	border-top: 1px solid #f1f1f0;
	text-align: center;
}
#main nav.prev_next a {
	display: inline-block;
	margin: 0px 10px;
	padding: 7px 15px;
	border: 1px solid #DDD;
	border-radius: 3px;
	color: #333;
}
#main nav.prev_next a {
	color: #292929;	
}
#main nav.prev_next a.prev:before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 5px;
}
#main nav.prev_next a.next:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
}
#main nav.prev_next a.index:before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 5px;
}
#main nav.prev_next a.hide {
	visibility: hidden;
}
#main .hidden {
	display: none;
}
#main div.wave_wrapper {
	position: relative;
	height: 450px;
	overflow: hidden;
	overflow: hidden;
	*zoom: 1;
}
#main div.wave_wrapper img.wave_img {
	position: absolute;
	width: 959px;
	bottom: 0;
	left: 1px;
}
#main div.wave_wrapper + div.open_close {
	margin-top: 0;
	text-align: right;
}
#main div.wave_wrapper + div.open_close a {
	display: inline-block;
	float: none;
}
#main div#sns_wrapper {
	margin: 15px 0 0;
	padding: 0 0 0 25px;
	padding: 0;
}
#main div#sns_wrapper table {
	width: auto;
	margin: 0 auto;
}
#main div#sns_wrapper table td {
	border: none;
}

#event #main p.date {
	font-size: 14px;
	font-family: sans-serif;
}

/* wrap */
.main_contents_wrap {
	margin: 0 auto;
	width: 100%;
	background-image: none;
	background-position: top center;
	background-repeat: no-repeat;
}
.main_contents_wrap .white_bg {
	/*
	background: transparent url("../media/images/common/bg_gradation_white.png") bottom center repeat-x;
	background: transparent url("../media/images/common/new_bg_gradation_white.png") bottom center repeat-x;
	*/
}


/* topics */
#main .winners h5,
#main .winners h6{
	border:none;
	margin:15px;	
	padding:0;
}
#main .winners +p {
	margin:0 15px 12px;
}
#main .winners h5{
	margin:20px 15px 10px;
	font-size:1.2em;
	font-weight:bold;
}
#main .winners h6{
	font-size:1.12em;	
}
#main .winners dl{
	margin:15px 15px 20px 15px;	
}
#main .winners dl dt{
	margin:15px 0 4px;
}

#main .winners dl dd{
	margin:0 0 6px;
}


/* main_contents */
.main_contents_area {
	line-height: 1.5;
}
.main_contents_area .main_contents {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	height: 100%;
}

.debug * {
	border: 1px dotted red;
	background: rgba(255, 0, 0, 0.1);
}

body#main {
	background-color: white;
	background-image: none;
	padding: 10px 20px;
	font-size: 16px;
	/*	width: 640px; */
}
body#main > div {
	margin-bottom: 15px;
}
body#main .no_icon a[href$=".pdf"]::after,
body#main .no_icon a[href$=".ppt"]::after,
body#main .no_icon a[href$=".xls"]::after,
body#main .no_icon a[href$=".doc"]::after {
	content: none;
}
body#main ul:has(a):not(.top_index) li:not(:has(>a)),
body#main ul:not(.top_index) li > a {
	font-size: 18px;
	font-weight: 500;
	display: inline-block;
	padding: 0 0 3px 15px;
	color: #292929;
	text-indent: 0;
}
body#main ul:has(a):not(.top_index) li:not(:has(>a)) {
	color: #989898;
	padding-left: 0;
}
body#main table.books {
	border: none;
}
body#main table.books h4::before {
	content: none;
}

div.horizontal {
	width: 100%;
	overflow-x: scroll;
}


#main section.year h5 span.number {
	padding-left: 10px;
	/*font-size: 14px;*/
}
#main section.year h6 {
	margin-top: 3px;
	font-size: 14px;
}
@media screen and (max-width: 768px) {
	#main section.year h6 {
		margin-top: 3px;
		font-size: 16px;
	}
}
#main div.asterisk {
	margin-left: 16px;
}
#main div.asterisk span.leader {
	color: red;
}
#main section.year span.notes {
	display: inline-block;
	margin-right: 10px;
	margin-left: 0;
	margin-top: 10px;
	padding: 2px 6px;
	border-radius: 3px;
	background-color: #ddd;
	font-size: 13px;
}
#main section.year span.leader {
	color: red;
	padding-left: 2px;
	padding-right: 1px;
}
#main section.year + div.total {
	margin-top: 30px;
	margin-left: 0;
	margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
	#main div.asterisk,
	#main section.year span.notes,
	#main section.year + div.total {
		margin-left: 0;
	}
}
h6 span.thesis,
h6 span.research {
	display: inline-block;
	margin-right: 8px;
	padding: 2px 6px;
	border-radius: 3px;
	background-color: #ddd;
}
span[style*="color:#FF0000"] {
	color: #E63E3E !important;
}

#main .sp_hide {
	display: inherit;
}

@media screen and (max-width: 768px) {
	.pc,
	#main .sp_hide {
		display: none;
	}
}

#main .tab_show {
	display: none;
}

#main .new{
	display:inline-block;
	background-color:red;
	color:#fff;
	font-size:0.8em;
	padding:0 5px;
	margin-right:6px;
	line-height:1.4;
	text-indent: 0;
}

#main .poster_prize{
	margin-left:1.5em;	
}
#main .poster_prize dt{
	margin:0 0 0.25em 0;
	display:inline-block;
	border:1px solid #999;
	color:#999;
	padding:0.08em 0.3em 0em;
	font-size:0.85em;
}
#main .poster_prize dd{
	margin:0 0 0.25em;
	line-height:1.35;
}

#main .poster_prize dd.who{
	margin-bottom:2em;
	font-size:1.08em;
}
#main .poster_prize dd.title{
	/* font-size:1em; */
	font-weight:bold;
}
#main .poster_prize dd.who span{
	font-size:0.85em;
}


@media screen and (max-width: 1024px) and (min-width :769px) {
	#main .tab_show {
		display: block;
	}
}

#main .pc_hide {
	display: none;
}

@media screen and (max-width: 768px) {
	#main .pc_hide {
		display: block;
	}

	#main section.year span.notes { 
		font-size: 14px;
	}
}

/* sp/common/からの移植 */
@media screen and (max-width: 1023px) {
	section.main_contents_area .main_contents {
		width: 100%;
	}
	.main_contents_area_lower .lower_contents {
		width: auto;
		padding: 0;
	}
	.main_contents_area_lower .lower_contents > .clearfix {
		display: block;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left {
		width: auto !important;
		padding: 24px 10px;
		float: none;
	}
	.main_contents_area_lower.one_column div.clearfix div.contents_left {
		padding: 0 20px;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main {
		zoom: 1;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main:before, .main_contents_area_lower .lower_contents > .clearfix .contents_left #main:after {
		content: "";
		display: table;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main:after {
		clear: both;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main div.index {
		display: flex;
		width: auto;
		margin: 0;
	}
}
@media screen and (max-width: 768px) {
	.main_contents_area_lower .lower_contents > .clearfix .contents_left {
		padding: 20px 10px;
	}
}
@media (max-width: 550px) {
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main div.index {
		display: block;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main div.index ul {
		display: block;
		width: auto;
		float: none;
		margin-right: 0 !important;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_left #main div.index ul + ul {
		margin-top: -21px;
	}
}
.main_contents_area_lower .lower_contents > .clearfix .contents_left #main div.index.hidden {
	display: none;
}
@media screen and (max-width: 1023px) {
	.main_contents_area_lower .lower_contents > .clearfix .contents_right {
		float: none;
		width: auto;
		margin: 0;
		padding: 0 24px 40px;
		background: #e4e3e0;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_right li.active {
		background-color: transparent !important;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_right li.active > a {
		background-color: transparent;
		color: #96b74d;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_right .logout {
		padding-bottom: 20px;
	}
	.main_contents_area_lower .lower_contents > .clearfix .contents_right .logout a {
		max-width: 300px;
		margin: 0 auto;
		background: #f4f4f4;
	}
}


#main .table-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 1023px) {
	#main ul.column3pics,
	#main ul.column4pics {
		width: auto;
		display: flex;
		flex-wrap: wrap;
	}
	#main ul.column3pics > li,
	#main ul.column4pics > li {
		float: none;
		height: auto !important;
	}
}

@media screen and (max-width: 768px) {
	#main ul.science_advisers {
		margin: 0;
	}
	#main ul.science_advisers li {
		width: auto;
		margin: 0 10px 20px 0;
	}
	#main ul.science_advisers li img {
		width: 120px;
	}
	#main ul.science_advisers li div p {
		width: auto;
	}
}

@media screen and (max-width: 1023px) {
	#main #login_notice {
		width: auto;
	}
}


@media screen and (max-width: 768px) {
	body#login div #main form {
		padding: 10px 0;
	}
	body#login div #main form table {
		display: block;
		width: auto;
		margin: 0;
	}
	body#login div #main form table thead, body#login div #main form table tr, body#login div #main form table th, body#login div #main form table td {
		display: block;
		border: none;
		padding: 0;
	}
	body#login div #main form table th {
		padding: 0;
	}
	body#login div #main form table td {
		padding: 10px 0 20px;
	}
	body#login div #main form table input {
		-webkit-appearance: none;
		appearance: none;
		border: 1px solid #ccc;
		font-size: 16px;
		width: 100%;
		padding: 2px;
		line-height: 1.5;
	}
}


@media screen and (min-width: 769px) and (max-width: 1023px) {
	#main p {
		margin: 15px 15px 10px;
	}
}
@media screen and (max-width: 768px) {
	#main p {
		margin: 15px 0 10px;
	}
}

@media screen and (max-width: 768px) {
	#main ul,
	#main ol {
		margin: 12px 0;
	}
	#main ol {
		padding-left: 20px;
	}
	#main ol > li {
		padding-left: 5px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
	#main .history table.books tr td:first-child {
		width: 125px;
	}
	#main .history table.books tr td:last-child {
		width: auto !important;
	}
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
	body #main .pcp_list_area ul {
		width: auto;
		padding: 0;
		margin-left: 0;
	}
	body #main .pcp_list_area ul li {
		list-style: none;
		text-indent: 0;
		padding: 0;
		margin: 5px 20px 20px 0;
	}
	body #main .pcp_list_area ul li p {
		padding: 0;
		margin: 5px 0 0;
		text-align: center;
	}
}
@media screen and (max-width: 768px) {
	body #main .pcp_list_area ul {
		width: auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	body #main .pcp_list_area ul li {
		width: 50%;
		height: auto;
		padding: 0;
		list-style: none;
		box-sizing: border-box;
		float: none;
		border: none;
		text-indent: 0;
	}
	body #main .pcp_list_area ul li:nth-child(odd) {
		padding-right: 4px;
	}
	body #main .pcp_list_area ul li:nth-child(even) {
		padding-left: 4px;
	}
	body #main .pcp_list_area ul li p {
		text-align: center;
	}
	body #main .pcp_list_area ul li img {
		width: 100%;
	}
}
@media screen and (max-width: 1023px) {
	body #main .pcp_back_number_area ul.gallery_categories {
		margin: 0 0 20px;
	}
	body #main .pcp_back_number_area ul.gallery_categories li {
		width: 170px;
		text-align: left;
	}
}
@media screen and (max-width: 768px) {
	body #main .pcp_back_number_area ul.gallery_categories {
		margin: 0 -20px 0 0;
		padding: 0;
	}
	body #main .pcp_back_number_area ul.gallery_categories li {
		width: 135px;
	}
}
@media screen and (max-width: 1023px) {
	body #main #detail_gallery .top_dotted_box {
		display: flex;
	}
	body #main #detail_gallery .top_dotted_box .pcp_img {
		float: none;
	}
	body #main #detail_gallery .top_dotted_box .pcp_text {
		width: auto;
		float: none;
	}
}
@media screen and (max-width: 768px) {
	body #main #detail_gallery .top_dotted_box {
		display: block;
	}
	body #main #detail_gallery .top_dotted_box .pcp_img {
		margin: 20px auto;
		padding: 0;
		max-width: 300px;
	}
	body #main #detail_gallery .top_dotted_box .pcp_img img {
		width: 100%;
	}
	body #main #detail_gallery .top_dotted_box .pcp_text {
		margin: 20px 0;
		display: flex;
		flex-direction: column;
	}
	body #main #detail_gallery .top_dotted_box .pcp_text .title {
		order: 2;
		margin: 20px 0 10px;
		font-weight: bold;
	}
	body #main #detail_gallery .top_dotted_box .pcp_text .pcp_text_caption {
		margin: 0 0 10px;
		order: 3;
	}
	body #main #detail_gallery .top_dotted_box .pcp_text .provide {
		margin: 0 0 10px;
		padding: 10px 10px;
		border: 1px solid #ccc;
		order: 1;
		font-size: 14px;
	}
}
@media screen and (max-width: 1023px) {
	body #main #author ul.authors {
		display: flex;
		flex-wrap: wrap;
		margin: 0;
	}
	body #main #author ul.authors li {
		float: none;
		margin: 20px 20px 0 0;
	}
	body #main #author ul.authors li:nth-child(3n+1) {
		clear: none;
	}
}
@media screen and (max-width: 768px) {
	body #main #author ul.authors li {
		width: 125px;
		margin: 10px 10px 0 0;
	}
}

@media screen and (max-width: 768px) {
	#main nav.prev_next a {
		margin: 0;
	}
}

@media screen and (max-width: 768px) {
	body #main div.open_close {
		display: flex;
		justify-content: center;
		margin: 39px 0 0;
		gap: 0 6px;
		margin-right: 18px;
	}
	#main div.open_close a {
		margin-left: 0;
	}
	body #main div.open_close a {
		/*
		flex: 1 1 auto;
		width: auto;
		height: 30px;
		line-height: 30px;
		float: none;
		text-align: center;
		font-size: 13px;
		padding: 0;
		*/
	}
	body #main div.open_close a:first-child {
		order: 2;
	}
	body #main div.open_close a:last-child {
		order: 1;
		margin-left: 0;
	}
}

@media screen and (max-width: 1023px) {
	body #sitemap {
		display: flex;
		width: auto;
		margin: 0;
		justify-content: space-between;
	}
	body #sitemap > div {
		float: none !important;
		margin: 0;
	}
	body #sitemap > div ul.depth1 {
		padding-left: 0;
	}
}
@media (max-width: 550px) {
	body #sitemap {
		flex-direction: column;
	}
	body #sitemap > div {
		width: 100% !important;
		min-height: 100px !important;
	}
}

@media screen and (max-width: 768px) {
	body #main form.mailform {
		margin-bottom: 100px;
	}
	body #main form.mailform table {
		display: block;
		border: none;
	}
	body #main form.mailform tbody, body #main form.mailform tr, body #main form.mailform th, body #main form.mailform td {
		display: block;
	}
	body #main form.mailform th, body #main form.mailform td {
		padding: 0 !important;
		border: none;
	}
	body #main form.mailform td {
		padding-top: 10px !important;
		padding-bottom: 20px !important;
		margin-bottom: 10px !important;
		border-bottom: 1px solid #ccc;
		overflow: hidden;
	}
	body #main form.mailform td button {
		background: #eee;
		border: 1px solid #bbb;
		float: right;
		margin-top: 5px;
	}
	body #main form.mailform td .example, body #main form.mailform td .errormessage {
		font-size: 12px;
		padding: 0;
	}
	body #main form.mailform input {
		font-size: 16px;
	}
	body #main form.mailform textarea {
		font-size: 16px;
	}
	body #main form.mailform tr.error th, body #main form.mailform tr.error td {
		background: transparent;
	}
	body #main form.mailform tr.error th {
		color: #c00;
	}
	body #main form.mailform div.submit {
		display: flex;
		justify-content: center;
	}
	body #main form.mailform div.submit input {
		width: auto;
		margin: 0 5px;
	}
	body #main form.mailform div.submit input.confirm, body #main form.mailform div.submit input.send {
		/* background: #96b74d;
		color: white; */
	}
}

@media (max-width: 600px) {
	body #main table.communication {
		display: block;
		margin: 20px 0;
	}
	body #main table.communication tbody, body #main table.communication tr, body #main table.communication th, body #main table.communication td {
		display: block;
		border: none;
		padding: 0;
	}
	body #main table.communication ul {
		margin: 0;
		padding: 0;
	}
	body #main table.communication ul li {
		padding: 10px 0;
		border-bottom: 1px solid #eee;
		text-indent: 0;
	}
}

@media screen and (max-width: 768px) {
	body #main blockquote {
		margin: 30px 0;
		padding: 8px;
	}
	body #main blockquote h4 {
		margin-left: -8px;
		margin-right: -8px;
	}
}

#main .pic_small_frame .pictures + div {
	font-size: 13px;
	width: 163px;
	margin-left: auto;
	margin-top: -5px;
	width: 84%;
}
#main div {
	font-size: 16px;
	line-height: 1.5;
}
html #main p {
	font-size: 16px;
	/* line-height: 1.5;*/
	line-height: 1.75;
	margin: 0;
}

@media screen and (max-width: 768px) {
	html #main p {
		line-height: 1.6875;
	}
}

html #main > div > p:not([class]) {
	margin: 10px 0 15px;
}
html #main > p + div p {
	margin-top: 24px;
}
html #main > p,
.main_contents_area_lower .lower_contents.message #main p {
	line-height: 1.75;
}
html #main a {
	color: #1269CE;	
}

@media screen and (min-width: 769px) {
	html #main a:hover {
		color: #5196E5;	
	}
}
@media screen and (max-width: 768px) {
	html #main p {
		margin: 0 0 15px;	
	}
	html #main > p,
	.main_contents_area_lower .lower_contents.message #main p {
		line-height: 1.6875;
	}
	html #main > p + div p {
		margin-top: 22px;	
	}
}


#main .table-wrapper2 {
	margin-top: 0 !important;
	padding: 0 !important;
}

#main .table-wrapper2 table {
	margin-top: 0;
}
#main .table-wrapper2 table th,
#main .table-wrapper2 table td {
	padding: 12px 20px;
}

@media screen and (max-width: 768px) {
	#main .table-wrapper2 table {
		font-size: 16px;
		table-layout: auto;
	}
	#main .table-wrapper2 table th,
	#main .table-wrapper2 table td {
		padding: 11px 11px;
	}
	#main .table-wrapper2 table th {
		white-space: wrap;
		border-right: none;
	}
	#main .table-wrapper2 table td {
		min-width: 77px;
	}
}

/* hover */
@media screen and (min-width: 769px) {
	#main ul li:has(> a):not(.no_icon) a:hover,
	#main ol li a:hover {
		color: #1269CE;
	}
	#main div.open_close a.open:hover {
		background: #fff;
	}
	#main div.open_close a.close:hover {
		background: #F2F3F2;
	}
	#main .history nav ul li.detail a:hover {
		color: #666666;
	}
	#main nav.prev_next a:hover {
		color: #1269CE;
	}
	header .header_contents nav#gnavi ul li ul li.has_children:hover > a {
		color: #292929;
	}
}


/*b-editor*/
#main {
	.block.text-image {
		.title {
			margin: 0 0 20px;
			left: 0;
		}

		.image {
			@media screen and (max-width: 767px) {
				float: none;
				margin: 0 auto 20px;
				text-align: center;

				img {
					max-width: 100%;
				}
			}
		}

		&.layout-image-text {

			@media print, screen and (min-width: 769px) {
				display: flex;
				flex-flow: row nowrap;

				.texts {
					flex: 1 1 auto;	
				}
			}

			.image {
				float: none;
			}
		}
	}

	.block.youtube,
	.block.google-map {
		.iframe-inner {
			iframe {
				position: absolute;
			}
		}
	}


	.block.images {
		ul {
			list-style: none;
			padding: 0;
			margin: 0;
		}

		li{
			padding: 0;

			&::before {
				display: none;
			}
		}

		&.wrap-4 {
			li {

			}
		}

		a,span {
			position: relative;
			padding: 0;
			display: block;
			width: 100%;

			img {
				width: 100%;
			}
		}

		&.trimming {
			img {
				position: absolute;
			}
		}
	}

	.block.buttons {
		ul {
			display: block;
			padding: 0;
		}

		li {
			//display: table;
			margin: 0 auto 20px;
			min-width: 272px;
			text-indent: 0px;

			&::before {
				display: none;
			}

			a {
				position: relative;
				display: table;
				width: auto;
				padding: 6px 25px 6px 40px;
				margin: 20px auto;
				border-radius: 80px;
				background: #A1E672;
				transition: all .2s;
				border: 2px solid #A1E672;
				color: #292929;
				font-size: 14px;

				@media (any-hover: hover) {
					&:hover {
						background: #fff;
						color: #292929;
					}
				}

				@media screen and (max-width: 767px) {
					padding: 6px 25px 6px 37px;
				}

				&::after {
					content: '';
					width: 5px;
					height: 5px;
					border: 0;
					border-top: solid 2px #333;
					border-right: solid 2px #333;
					transform: rotate(45deg);
					position: absolute;
					top: 0;
					left: 18px;
					bottom: 0;
					margin: auto;
				}
			}
			/*
			a {

			display: block;
			padding: 7px 10px;
			border: 2px solid #D3D6D5;
			background: #D3D6D5;
			color: #292929;
			font-size: 18px;
			border-radius: 60px;
			transition: background-color .2s;
			text-align: center;

			@media (any-hover: hover) {
			&:hover {
			background: #fff;
			color: #292929;
		}
		}

		}
			*/
		}
	}

	.block.define-list {
		dl {
			dt,dd {

			}

			dt {
				font-size: 18px;

			}

			dd {
				display: block;
				width: 100%;
				margin-bottom: 20px;

			}
		}
	}

	/*list*/
	.block.editor,
	.block.list.ul {
		ul {
			li:not([class]) {
				display: list-item;
				list-style-type: disc;
				text-indent: 0;
				font-size: 16px;
			}
		}
	}

	.block.editor,
	.block.list.ul,
	.block.list.ol {
		ol {
			li {
				&.inline_link {
					a {
						/*text-decoration: underline;*/
						/*color: #1269CE;*/
						color: #292929;
					}
				}
			}
		}
	}

	.block.editor {
		p {
			& + p {
				margin: 1em 0;
			}
		}
	}
}

/* 緑ボタン */
.button,
#main .button,
#main .go_pcp_gallery {
	text-align: center;
	display: block;
	font-family: "Manrope", sans-serif;
	border-radius: 18px;
	background: #A1E672;
	color: #292929;
	width: 132px;
	padding: 6px 0;
	font-size: 14px;
	margin-left: 12px;
	transition: all .2s;
	border: 2px solid #A1E672;
	position: relative;

	&::after {
		content: '';
		width: 5px;
		height: 5px;
		border: 0;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		transform: rotate(45deg);
		position: absolute;
		top: 0;
		left: 18px;
		bottom: 0;
		margin: auto;
	}

	&:hover {
		@media screen and (min-width: 769px) {
			background: #fff;
			color: #292929;
		}
	}

	&.full_button {
		width: 100%;
		margin-left: 0;
	}

	&.link_box {

	}

	&.link_box,
	&.variable_button {
		display: table;
		width: auto;
		padding: 6px 25px 6px 40px;
		margin: 20px auto;

		@media screen and (max-width: 767px) {
			padding: 6px 25px 6px 37px;
		}

		lang(en) & {
			/*	padding: 6px 25px 6px 40px;*/
		}
	}
}
