@charset "UTF-8";

.bg_green {
	background: #E9F5E5 repeat-x;
}
.bg_green .page_title_area h2.page_title {
	color: #292929;
	font-weight: bold;
	font-size: 32px;
	margin: 0;
	padding: 54px 0 30px;
	letter-spacing: 0.04em;
}
.bg_green .page_title_area {
	position: relative;
	max-width: 1200px;
	width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 0 auto;
}
#main div.green_bg img {
	margin-right: 10px;
}
@media screen and (max-width: 1023px) {
	.bg_green {
		padding: 0 24px;
		min-height: 100px;
	}
	div.bg_green .page_title_area {
		width: auto;
	}
}
@media screen and (max-width: 768px) {
	.bg_green {
		padding: 0 20px;
		min-height: 70px;
	}
	.bg_green .page_title_area {
		padding: 0;
	}
	.bg_green .page_title_area h2.page_title {
		font-size: 20px;
		padding: 30px 0 24px;
	}
	#main .page_title_area > h3:last-of-type + .index.clearfix {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	#main .page_title_area > h3:last-of-type + .index.clearfix::before {
		content: none;
	}
}
.pankuzu_area {
	border-bottom: 1px solid #D3D6D5;
	padding: 12px 20px;
}
.pankuzu_area ul.pankuzu {
	max-width: 1200px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}
.pankuzu_area ul.pankuzu li {
}
.pankuzu_area ul.pankuzu li a,
.page_title_area ul.pankuzu li i {
	color: #808080;
	font-size: 13px;
}
.pankuzu_area ul.pankuzu li a:after {
	content: "\f105";
	font-family: "FontAwesome";
	padding: 0 10px;
}
.pankuzu_area ul.pankuzu li i {
	margin-left: 4px;
	margin-right: 3px;
}
.pankuzu_area ul.pankuzu li a.last {
	color: #808080;
	text-decoration: none;
}
.pankuzu_area ul.pankuzu li a.last:after {
	content: "";
}
@media screen and (max-width: 768px) {
	.pankuzu_area {
		padding: 9px 20px;
	}
	.pankuzu_area ul.pankuzu {
	}
	.pankuzu_area ul.pankuzu li a,
	.page_title_area ul.pankuzu li i {
		font-size: 11px;
	}
	.pankuzu_area ul.pankuzu li a:after {
		padding: 0 5px;
	}
}

.main_contents_area_lower {
	background-color: #fff;
	line-height: 1.5;
	color: #292929;
}
.main_contents_area_lower i {
	font-style: italic;
}
.main_contents_area_lower .lower_contents {
	max-width: calc(1200px + 40px);
	width: 100%;
	margin: 0 auto 80px;
	padding: 30px 20px 0 20px;
	box-sizing: border-box;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	gap: 0 5.33%;
}
.main_contents_area_lower.one_column .lower_contents {
	max-width: 961px;
	display: block;
}
.main_contents_area_lower.one_column div.clearfix {
	display: block;
}
.main_contents_area_lower.one_column div.clearfix div.contents_left {
	width: 100%;
	float: none;
}
.main_contents_area_lower:not(.one_column) .lower_contents #main {
	padding-left: 40px;
	padding-top: 21px;
	font-size: 16px;
	color: #292929;
	box-sizing: border-box;
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
	.main_contents_area_lower .lower_contents {
		gap: 0 1.33%;
	}
}
@media screen and (max-width: 1024px) {
	.main_contents_area_lower .lower_contents {
		flex-direction: column;
		margin: 0 auto 45px;
	}
	.main_contents_area_lower:not(.one_column) .lower_contents #main {
		padding-left: 20px;
		padding-top: 2px;
	}
}

.bg_color_box {
	border: 1px solid #bab8b3;
	background: #e8e8e8;
	padding: 11px 10px;
	font-size: 10px;
	text-align: center;
}
.contents_left {
	width: calc(100% - 5.33% - 23.33%);
	min-height: 10px;
}

#main div.index {
	width: 100%;
	margin-bottom: 32px;
	padding-bottom: 22px;
	position: relative;
	display: flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}
#main div.index.hidden {
	display: none;
}
#main div.index::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -40px;
	background: #F2F3F2;
	height: 4px;
	width: calc(100% + 40px);
}
#main div.index + h3 {
	margin-top: 32px;
}
#main div.index ul {
	flex: 0 0 50%;
	max-width: 50%;
	list-style-type: none;
	margin: 4px 0 0;
	padding: 0;
}
#main div.index ul + ul {
	/*padding-left: 21px;	*/
}
#main div.index ul li {
	text-indent: -1ex;
	padding: 0;
	margin: 0 0 15px;
}
#main div.index ul li:before {
	display: none;
}
#main div.index ul li a {
	display: block;
	padding: 0 0 0 24px;
	text-indent: -16px;
	color: #292929;
	font-size: 18px;
	font-weight: 500;
}
#main div.index ul li a: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;
}
#main div.index ul li a.external::after {
	font-size: 16px;
}

@media screen and (max-width: 768px) {
	#main div.index {
		flex-direction: column;
		margin-bottom: 34px;
		padding-bottom: 24px;
	}
	#main div.index ul li a {
		font-size: 16px;
		padding-left: 18px;
	}
	#main div.index ul {
		width: 100%;
		max-width: 100%;
	}
	#main div.index ul li a::before {
		left: 0;
	}
	#main div.index ul li {
		margin: 0 0 11px;	
	}
	#main div.index ul + ul {
		padding-left: 0;
		/*margin: 0;*/
		margin-top: 10px;
	}
	#main div.index::before {
		left: -20px;
		width: calc(100% + 20px);
	}
	#main div.index ul li a::before {
		top: 1px;
	}
	#main div.index:last-of-type {
		margin-bottom: 0;
	}
}


#main .submit_calendar {
	margin-bottom: 10px;
	text-align: right;
	margin-top: 22px;
	margin-bottom: 34px;
}
#main .submit_calendar .btn_gray {
	float: none;
	margin-left: auto;
	background: #A1E672;
	border: 2px solid #D3D6D5;
	background: #D3D6D5;
	color: #292929;
	font-size: 18px;
	border-radius: 24px;
	transition: all .2s;
	width: 272px;
	margin-right: 20px;
}
#main .submit_calendar .btn_gray::after {
	color: #292929;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_lock_black.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
	position: relative;
	top: 1px;
}
#main .calendar_table {
	width: 100%;
}
#main .calendar_table thead th {
	background-color: #f1f1f0;
	color: #333;
	font-weight: bold;
	border-bottom: 1px solid #016801;
	padding: 15px 0;
	width: 3px;
	border-left: none;
}
#main .calendar_table thead th:first-child {
	padding-left: 15px;
	padding-right: 15px;
	width: 27%;
}
#main .calendar_table tbody td {
	border-bottom: 1px dotted #e4e3e0;
	padding: 14px 0;
	vertical-align: top;
	padding-right: 25px;
	border-left: none;
}
#main .calendar_table tbody td:first-child {
	padding-left: 15px;
	padding-right: 15px;
}
#main .calendar_table tbody td.tags {
	padding-right: 0px;
	width: 12%;
	white-space: nowrap;
}
#main .calendar_table tbody span.use_tag {
	padding: 3px 7px;
	margin-right: 6px;
	border-radius: 5px;
	background-color: #cececc;
}
#main .chairman_greeting_ever {
	width: 100%;
	margin-top: 13px;
}
#main .chairman_greeting_ever ul {
	width: 300px;
}
#main .chairman_greeting_ever ul li {
	border-bottom: 1px dotted #e4e3e0;
	padding: 13px 0 13px 14px;
}
#main .chairman_greeting_ever ul li:first-child {
	border-top: 1px dotted #e4e3e0;
}

@media screen and (max-width: 1024px) and (min-width: 769px) {
	html .contents_left {
		width: calc(100% - 1.33% - 23.33%);
	}
}
@media screen and (max-width: 1024px) {
	html .contents_left {
		width: 100%;
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 768px) {
	#main .submit_calendar {
		padding-right: 10px;
		margin-bottom: 40px;
		text-align: center;
	}
	#main table.calendar_table thead {
		display: none;
	}
	#main table.calendar_table tbody th,
	#main table.calendar_table tbody td {
		width: 100%;
		display: block;
		text-wrap: wrap;
	}
	#main table.calendar_table tbody td:first-child {
		padding: 8px 5px 2px;
		border-bottom: none;
	}
	#main .calendar_table tbody td.tags {
		border: none;
		padding: 3px 5px;
		font-size: 13px;
	}
	#main table.calendar_table tbody td:last-child {
		border-top: none;
		padding: 2px 5px 8px;
	}
}

.contents_right {
	width: 23.33%;
	color: #292929;
	font-size: 16px;
}
.contents_right h2.top_title {
	margin: 17px 0 0;
}
.contents_right h2.top_title a {
	display: block;
	background: #A1E672;
	padding: 9px 25px;
	font-size: 20px;
	font-weight: 700;
	color: #292929;
}
.contents_right ul {
	padding: 0;
	list-style: none;
}
.contents_right ul li.depth1:first-child {
}
.contents_right ul li {
	border-bottom: 1px solid #D3D6D5;
	padding: 0;
	margin: 0;
}
.contents_right ul li a[href^="http"]::after {
	font-size: 14px;	
	padding-left: 6px;
}

.contents_right ul li a, .contents_right ul li span {
	position: relative;
	display: block;
	padding: 8px 24px 8px;
	text-align: left;
	color: #292929;
}
.contents_right ul li.active > a {
	background: #EBFAE1;
	font-weight: 500;
}
.contents_right ul li ul.depth2 {
	display: none;
}
.contents_right ul li ul.depth2 li {
	border-bottom: 1px top #D3D6D5;
}
.contents_right ul li ul.depth2 li:first-child {
	border-top: 1px solid #D3D6D5;

}
.contents_right ul li ul.depth2 li a, .contents_right ul li ul.depth2 li span {
	padding: 4px 0px 5px 55px;
	background-repeat: no-repeat;
	background-position: 13px 17px;
	text-indent: -11px;
	font-size: 15px;
}
.contents_right ul li ul.depth2 li a:before, .contents_right ul li ul.depth2 li span:before {
	content: "";
	background: #292929;
	width: 8px;
	height: 1px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
	position: relative;
	top: -1px;
}

.contents_right a[href^="http"]:after,
.contents_right a.external:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 4px;
	padding-right: 0;
	color: #989898;
	font-size: 13px;
}
.contents_right a[href$=".doc"]:after,
.contents_right a[href$=".docx"]:after,
.contents_right a[href$=".DOC"]:after,
.contents_right 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;
}
.contents_right a[href$=".xls"]:after,
.contents_right a[href$=".xlsx"]:after,
.contents_right a[href$=".XLS"]:after,
.contents_right 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;
}
.contents_right a[href$=".ppt"]:after,
.contents_right a[href$=".pptx"]:after,
.contents_right a[href$=".PPT"]:after,
.contents_right 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;
}
.contents_right a[href$=".pdf"]:after,
.contents_right 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;
}
.contents_right a[href$=".epub"]:after,
.contents_right a[href$=".EPUB"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #999;
}
.contents_right a[href^="mailto"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #666;
}
.contents_right a[href$=".zip"]:after,
.contents_right a[href$=".ZIP"]:after {
	font-family: FontAwesome;
	content: "";
	padding-left: 5px;
	padding-right: 0;
	color: #FF9C00;
}
.contents_right a.no_icon:before,
.contents_right a.no_icon:after {
	display: none !important;
	padding: 0;
}

.contents_right ul li ul.depth2 li a[href$=".doc"]:after,
.contents_right ul li ul.depth2 li a[href$=".docx"]:after,
.contents_right ul li ul.depth2 li a[href$=".DOC"]:after,
.contents_right ul li ul.depth2 li a[href$=".DOCX"]:after,
.contents_right ul li ul.depth2 li a[href$=".xls"]:after,
.contents_right ul li ul.depth2 li a[href$=".xlsx"]:after,
.contents_right ul li ul.depth2 li a[href$=".XLS"]:after,
.contents_right ul li ul.depth2 li a[href$=".XLSX"]:after,
.contents_right ul li ul.depth2 li a[href$=".ppt"]:after,
.contents_right ul li ul.depth2 li a[href$=".pptx"]:after,
.contents_right ul li ul.depth2 li a[href$=".PPT"]:after,
.contents_right ul li ul.depth2 li a[href$=".PPTX"]:after,
.contents_right ul li ul.depth2 li a[href$=".pdf"]:after,
.contents_right ul li ul.depth2 li a[href$=".PDF"]:after {
	width: 20px;
	height: 20px;
	padding-left: 8px;
}

.contents_right ul li ul.depth2 li:last-child {
	border-bottom: none;
}
.contents_right ul li ul.depth2 li.depth2.active {
	background: #EBFAE1;
	font-weight: 500;
}
.contents_right ul li.depth1.active ul.depth2 {
	display: block;
}
.contents_right ul li ul.depth3 {
	display: none;
}
.contents_right div.logout {
	padding-top: 20px;
}
.contents_right div.logout a {
	display: block;
	padding: 5px;
	text-align: center;
	background: #ededed;
	color: #454545;
}
@media screen and (max-width: 1024px) {
	.contents_right {
		width: 100svw;
		margin-left: -20px;
		margin-right: -20px;
	}
	.contents_right h2.top_title a {
		font-size: 18px;
		padding: 11px 20px;
	}
	.contents_right ul li a,
	.contents_right ul li span {
		padding: 7px 21px 8px;	
	}
	.contents_right ul li:last-child {
		border-bottom: none;
	}
	.contents_right ul li ul.depth2 li a,
	.contents_right ul li ul.depth2 li span {
		padding: 5px 0px 5px 51px;	
	}
}


#main ul.tab {
	height: 40px;
	text-align: right;
	margin: 0 0 24px;
	padding: 0 10px 0 0;
	border-bottom: 1px solid #D4D6D5;
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-direction: row-reverse;
	gap: 8px;
	padding: 0 40px;
	left: -40px;
	width: calc(100% + 40px);
}
#main ul.tab li {
	display: block;
	height: 40px;
	margin: 0;
	padding: 0;
	max-width: 188px;
	width: 100%;
	text-indent: 0;
}
#main ul.tab li:before {
	display: none;
}
#main ul.tab li:has(> a):not(.no_icon) a {
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F2F3F2;
	width: 100%;
	border: 1px solid #D4D6D5;
	border-bottom-color: none;
	border-radius: 4px 4px 0 0;
	text-align: center;
	color: #292929;
	padding: 3px 0 3px 0;
	font-size: 16px;
	font-weight: 400;
}
#main ul.tab li.active:has(> a):not(.no_icon) a {
	border-bottom-color: white;
	background: white;
	border-top: 4px solid #52a61f;
	border-right: 1px solid #d4d4d4;
	border-left: 1px solid #d4d4d4;
	font-weight: 700;
	padding-top: 0;
}
@media screen and (max-width: 768px) {
	#main .tab_container > .current.sp {
		display: none !important;
	}
	#main ul.tab {
		display: flex !important;
		left: -30px;
		width: calc(100% + 40px);
		padding: 0 10px;
		gap: 5px;
		height: 49px;
	}
	#main ul.tab li {
		height: 49px;
	}
	#main ul.tab li:has(> a):not(.no_icon) a {
		font-size: 13px;
		height: 49px;
		padding: 0 5px;
	}
}


.go_home_or_top_area {
	background-color: #F2F3F2;
	padding: 16px 20px 12px;
}
.go_home_or_top_area .go_home_or_top_link {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.go_home_or_top_area .go_home_or_top_link ul {
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.go_home_or_top_area .go_home_or_top_link ul li {
	position: relative;
}
.go_home_or_top_area .go_home_or_top_link ul li:not(:first-child)::before {
	content: "";
	width: 1px;
	height: 24px;
	background: #D3D6D5;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}
.go_home_or_top_area .go_home_or_top_link ul li a {
	display: block;
	font-size: 16px;
	color: #292929;
	padding: 0 24px;
	line-height: 24px;
	background: transparent;
}
.go_home_or_top_area .go_home_or_top_link ul li a::before {
	vertical-align: middle;
	position: relative;
	margin-right: 6px;
	top: -2px;
}
.go_home_or_top_area .go_home_or_top_link ul li.home a {
}
.go_home_or_top_area .go_home_or_top_link ul li.home a:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_home.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.go_home_or_top_area .go_home_or_top_link ul li.back a {

}
.go_home_or_top_area .go_home_or_top_link ul li.back a:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_arrow_back.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
.go_home_or_top_area .go_home_or_top_link ul li.top a {
}
.go_home_or_top_area .go_home_or_top_link ul li.top a:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url('../media/images/common_v2/icon_arrow_up.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
	.go_home_or_top_area {
		padding: 10px 0 9px;	
	}
	.go_home_or_top_area .go_home_or_top_link ul {
		gap: 0 21px;
	}
	.go_home_or_top_area .go_home_or_top_link ul li a {
		font-size: 12px;
		padding: 0;
	}
	.go_home_or_top_area .go_home_or_top_link ul li.home a {
		background: transparent;
	}
	.go_home_or_top_area .go_home_or_top_link ul li.home a:before,
	.go_home_or_top_area .go_home_or_top_link ul li.back a:before,
	.go_home_or_top_area .go_home_or_top_link ul li.top a:before {
		width: 16px;
		height: 16px;
		margin-right: 3px;
	}
	.go_home_or_top_area .go_home_or_top_link ul li:not(:first-child)::before {
		height: 16px;
		left: -10px;
	}
}


#event_contents {
	margin-left: 15px;
}
#event_contents > p {
	margin-left: 0;
}


/* 会長挨拶 */
#main:has( > .head),
#main:has(.head) > div:has(.head):not([class])  {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 32px 55px;
	padding: 0;
	width: 100%;
}
#main div.head {
	background: none;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: auto;
}
#main h3.message {
	margin-bottom: -11px;	
}
#main h3.message {
	width: 100%;
	bottom: auto;
	margin: 0;
	padding: 0 0 2px 23px;
}
#main h3.message br {
	display: none;
}
#main div.head p {
	position: static !important;
	order: 2;
	font-size: 18px !important;
	margin: 20px 0px !important;
	line-height: 1.2 !important;
}
#main div.head p strong {
	font-size: 24px !important;
	font-weight: 500 !important;
	margin-top: 7px;
	display: block;
}
#main div.head p strong span {
	font-size: 18px !important;
	margin-right: 17px;
}
#main div.head img {
	position: static !important;
	display: block;
	width: 100% !important;
	height: auto !important;
	order: 1;
}
#main:has(.head) div:nth-of-type(1) {
	width: 180px;
	height: auto;
	background: transparent;
}
#main:has(.head) div:nth-of-type(2) {
	width: calc(100% - 55px - 180px);

	.message_title {
		margin-top: 0;
		font-size: 18px;
	}
}
#main:has(.head) div .chairman-body {
	width: calc(100% - 55px - 180px) !important;
}
#main:has(.head) div:nth-of-type(2) p {
	line-height: calc(28/16);
	font-size: 16px;
	margin: 0 0 17px;
}
#main:has( > .head) > div:nth-of-type(3) div.index::before {
	display: none;
}

#main:has(.head) div:has(.index):not(.chairman_submenu) {
	width: 100%;
	padding-top: 51px;
}

#main:has(.head) div div:not([class]),
#main:has(.head) div:has(.index) div {
	width: auto;
}
#main:has(.head) div:nth-of-type(3):has(.index)::before {
	content: "";
	position: absolute;
	top: 0;
	left: -40px;
	background: #F2F3F2;
	height: 4px;
	width: calc(100% + 40px);
}
#main div.index ul li.active a {
	color: #989898;
}
#main:has(.head) .head h3 {
	display: none;
}

#main .chairman_submenu .index.clearfix {
	margin-bottom: 0;
	flex-wrap: nowrap;

	ul.depth1 {
		flex: 0 0 33.333%;
		margin-top: -10px;

		li.depth1 {
			margin-top: 11px;

			a {
				@media screen and (min-width: 1025px) and (max-width: 1120px) {
					font-size: 17px;
					white-space: nowrap;
				}
			}
		}
	}
}

@media screen and (max-width: 768px) {
	#main div.head {
		margin-bottom: -4px;
	}
	#main:has(.head) div:nth-of-type(1) {
		min-width: 135px;
		width: auto;
		height: auto;
		margin: 0 auto -6px;
		left: -10px;
	}
	#main:has(.head) div div:not([class]) > div {
		left: 0;
	}
	#main:has(.head) div:nth-of-type(1) img {
		width: 135px !important;
		margin: auto;
		height: auto !important;
	}
	#main:has(.head) .head h3 {
		display: none;
	}
	#main h3.message + div.head p,
	#main h3.message + div div.head p {
		font-size: 16px !important;
		margin: 13px 0px 0px !important;
		line-height: 1.2 !important;
	}
	html body #main div.head p strong {
		font-size: 20px !important;
		margin-top: 3px;
	}
	#main div.head p strong span {
		font-size: 16px;
		margin-right: 15px;
	}
	#main:has(.head) div .chairman-body {
		width: auto !important;
	}
	#main:has(.head) div:nth-of-type(2) {
		width: 100%;
		padding-right: 10px;

		.message_title {
			font-size: 16px;
		}
	}
	#main:has(.head) div:nth-of-type(2) p {
		line-height: calc(27/16);
	}
	#main:has(.head) div:nth-of-type(3):has(.index)::before {
		left: -20px;
		width: calc(100% + 20px);
		top: -10px;
	}
	#main:has(.head) div:has(.index):not(.chairman_submenu) {
		padding-top: 33px;
	}
	#main:has(.head) div:has(.index):not(.chairman_submenu) .index {
		margin-bottom: 8px;
		padding-bottom: 0;
	}
	#main:has(.head) div:has(.index):not(.chairman_submenu) ul {
		padding-left: 20px;
	}
	#main:has(.head) div:has(.index):not(.chairman_submenu) ul+ ul {
		padding-left: 20px;
	}
	#main .chairman_submenu div.index::before {
		display: none;
	}
	#main .chairman_submenu .index ul.depth1 + ul.depth1 {
		/*margin-top: 12px;*/
		margin-top: 0;
	}
}


/* PCP */
html #main .pcp_list_area ul {
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 20px 22px;
}
html #main .pcp_list_area ul li {
	padding: 0 0 5px;
	margin: 0;
	height: auto;
	width: 20%;
	width: calc((100% - (22px * 3)) /4);
}
html #main .pcp_list_area ul li img {
	width: 100%;
}
html #main .pcp_list_area ul li p {
	margin-top: 5px;
}
html #main .pcp_list_area ul li:has(> a):not(.no_icon) a {
	display: block;
	padding: 0;
}
html #main .pcp_back_number_area li {
	text-align: left !important;
}
html #main .top_dotted_box {
	width: 100%;
	border: none;
}
html #main .top_dotted_box .pcp_text {
	width: calc(100% - 255px - 15px);
}
html #main .members_login {
	font-size: 14px;
	text-align: center;
	margin-top: 10px;
}
#main #author ul.authors {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}
#main #author ul.authors li {
	margin-left: 0;
}
#main table tbody td[rowspan] {
	border-right: 1px solid #D3D6D5;
}
#main .top_dotted_box .pcp_img {
	max-width: 255px;
}

@media screen and (max-width: 768px) {
	html #main .pcp_list_area ul li {
		width: calc((100% - (22px * 2)) /3);
	}
	html #main .gallery_categories li {
		margin-left: 15px;
	}
	#main .top_dotted_box .pcp_img {
		max-width: none;
	}
}

@media screen and (max-width: 480px) {
	html #main .pcp_list_area ul li {
		width: calc((100% - (22px * 1)) /2);
	}
}


/* 会員執筆による出版物 */
#main .history.tab-pane,
#main .history.tab-pane table {
	margin-top: 15px;
}
#main .history tr.book td:first-child,
#main .history tr.book td.pic {
	border-bottom: none;
	border-top: none;
	width: 100px;
	padding: 0;
}
#main .history tr.book td.pic img {
	border: 1px solid #D3D6D5;
}
#main .history tr.book td {
	border-bottom: none;
	border-top: none;
	border-left: none;
	border-right: none;
	padding: 0 0 30px 30px;
	text-wrap: wrap;
}
#main .history tr.book h4 {
	font-size: 18px !important;
	padding: 1px 0 8px !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
}
#main .history tr.book ul.target {
	margin: 11px 0 12px;
}
#main .history tr.book ul.target li {
	font-size: 13px;
	padding: 2px 11px 2px;
	margin: 0 3px 0 0;
}
#main .history nav ul li.rakuten {
	font-size: 16px;
}
#main .history nav ul li.amazon::before,
#main .history nav ul li.rakuten::before,
#main .history nav ul li.icon_book:has(> a):not(.no_icon)::before {
	content: "" !important;
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('../media/images/common_v2/icon_shopping_cart.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
	position: absolute;
	top: 1px;
	left: -25px;
}

#main .history nav ul li.icon_book:has(> a):not(.no_icon) a::after {
	content: none;
}
#main .history.tab-pane ul li {
	margin-right: 33px;
}
#main div.history.tab-pane div.detail {
	margin-top: 10px;
	margin-bottom: 10px;
}
#main div.history div.detail p {
	font-size: 15px;
}
#main .tab-pane > p {
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	#main .history table.books {
		display: block;
	}
	#main .history table.books tr, #main .history table.books thead,
	#main .history table.books tbody, #main .history table.books th,
	#main .history table.books td {
		display: block;
	}
	#main .history table.books tr td:first-child {
		padding: 0;
		text-align: center;
		border: none;
		margin: auto;
	}
	#main .history table.books tr td:first-child img {
		margin: 0 auto;
	}
	#main .history table.books tr td:last-child {
		padding: 0 0 34px;
		border: none;
		width: auto !important;
	}
	#main > div.history.tab-pane {
		margin-top: 40px;
	}
	#main > #qa_tab ~ div.history:not(.tab-pane) {
		margin-top: 0;
	}
	#wholewrapper #main table.topic tbody td.pic {
		margin: auto;	
	}
	#main .history:has(table.books) .table-wrapper,
	#main > div.history.tab-pane .table-wrapper {
		width: 100% !important;
		overflow: visible;
	}
	#main .history:has(table.books) h4,
	#main .history.tab-pane h4 {
		margin: 6px 0 8px;
		padding: 1px 0 7px;
	}
	#main .history tr.book ul.target li {
		padding: 3px 11px 3px;	
	}
	#main .history table.books tr td:last-child p {
		word-break: break-all;
		margin-right: -10px;
	}
	#main .history tr.book span.price {
		padding-right: 17px;
	}
	#main .history nav ul:has(.icon_book) {
		display: flex;
		gap: 5px;
	}
	#main .history nav ul:has(.icon_book) li {
		width: auto;
		margin: 0;
	}
	#main .history nav ul li.rakuten::before,
	#main .history nav ul:has(.icon_book) li.icon_book:has(> a):not(.no_icon)::before {
		position: absolute;
		z-index: 10;
		top: 8px;
		left: 8px;
	}
	#main .history nav ul:has(.icon_book) li.detail:has(> a):not(.no_icon) > a {
		font-size: 13px;
		padding: 6px 9px 3px 45px;
	}
	#main .history nav ul:has(.icon_book) li.detail:has(> a):not(.no_icon)::before {
		width: 20px;
		height: 20px;
		top: 8px;
		left: 23px;
	}
	#main .history nav ul:has(.rakuten) li.rakuten:not(:has(a)),
	#main .history nav ul:has(.icon_book) li.icon_book:has(> a):not(.no_icon) a {
		display: inline-block;
		padding: 6px 9px 3px 34px;
		padding: 6px 8px 3px 31px;
		height: 36px;
		line-height: calc(20/14);
		border-radius: 3px;
		font-size: 13px;
		color: #292929;
		border-radius: 18px;
		transition: all .2s;
		border: 2px solid #A1E672;
		background: #fff;
		color: #292929;
		margin-bottom: 4px;
	}
	#main .history nav ul:has(.icon_book) {
		margin: 11px 0 0;	
	}
}


/* テーブル関係 */
#main table.table400 tbody th {
	width: 220px;
}
#main table.table400 thead th {
	padding: 12px 20px;
}
#main table {
	font-size: 15px;
}
.main_contents_area_lower.one_column .lower_contents:has(.table-wrapper),
.main_contents_area_lower .lower_contents h3:has(+ .table-wrapper),
.table-wrapper {
	max-width: calc(1200px + 40px);
	width: 100%;
}
.main_contents_area_lower.one_column .lower_contents:has(.table-wrapper) #main h3,
.main_contents_area_lower .lower_contents h3:has(+ .table-wrapper) #main h4 {
	left: 0;
}
.main_contents_area_lower.one_column .lower_contents #main table th,
.main_contents_area_lower.one_column .lower_contents #main table td {
	padding: 12px 10px;
}
@media screen and (max-width: 768px) {
	#main .table-wrapper table tbody td {
		text-wrap: nowrap;
	}

	#main table tbody td {
		text-wrap: auto;
	}

	html #main table.table2block td {
		text-wrap: wrap;
	}
	#main table.table400 tbody th {
		width: 120px;
	}
	#main table.table400 thead th {
		padding: 7px 8px 8px;
	}
	#main table tbody th {
		padding: 7px 8px 8px;
	}
	#main table tbody td {
		padding: 8px 8px 8px;
		//text-wrap: nowrap;
	}
	#main table.table2block {
		font-size: 16px;
	}
	#main table.table2block th {
		display: block;
		border-right: none;
		border-bottom: none;
	}
	#main table.table2block td {
		display: block;
		border-left: none;
		border-top: none;
		border-bottom: none;
	}
	#main table.table2block tr:last-of-type td {
		border-bottom: 1px solid #D3D6D5;
	}
	#main table.table2block table.table2block {
		margin: 11px 8px;
	}
	#main table.table2block table.table2block th {
		display: table-cell;
		border-right: none;
		border-bottom: none;
		padding: 0;
	}
	#main table.table2block table.table2block td {
		display: table-cell;
		border-right: none;
		border-bottom: none;
		padding: 0;
	}
}


/* 講義やアウトリーチ活動のためのコンテンツのリンク集 */
#main #tech_top div > div > p {
	margin-bottom: 10px;
}
#main #tech_top .youtube_frame {
	margin-bottom: 20px;
}

/* MIRAI2030 */
#main .mirai2030-page p {
	margin-bottom: 10px;
	max-width: none;
}
#main .mirai2030-page h2 {
	margin-top: 20px;
}
#main .mirai2030-page h3 {
	font-size: 1.3em;
	margin-top: 1em;
	color: #333;
	font-weight: bold;
	border-left: 3px solid #2978b5 !important;
	padding: 10px 0 0 16px !important;
	margin-bottom: 19px !important;
	left: 0;
}
#main .mirai2030-page h3::before {
	content: none;
}
@media screen and (max-width: 768px) {
	#main .mirai2030-page {
		margin-left: -20px;
		width: calc(100% + 20px);
	}
}


/* フォーム等 */
#main div.container {
	margin: 20px 0;	
}
#main div.form div.submit input {
	border-radius: 28px;
	font-size: 18px;
	font-weight: 500;
	width: 272px;
	border:2px solid #D3D6D5;
	background: #D3D6D5;
	transition: all .2s;
}
.entry_banner {
	margin-top: 20px;
	text-align: center;
}
body#login #login_notice li:has(> a):not(.no_icon) {
	padding-left: 20px !important;
}
body#login #login_notice li:has(> a):not(.no_icon) a {
	padding-left: 0 !important;
	left: -14px;
	position: relative;
}


/* サイトマップ */
#main #sitemap {
	display: flex;
	gap: 25px;
}
#main #sitemap * {
	font-size: 16px !important;
	color: #292929 !important;
}
#main #sitemap div.c {
	width: 30%;
	margin-left: 0;
}
#main #sitemap div.c h4 {
	left: 0;
	padding: 0 10px;
	margin: 0 0 10px;
	line-height: 35px;
}
#main #sitemap div.c h4::before {
	content: none;
}
#main #sitemap div.tree + h4 {
	margin-top: 20px;
}
#main #sitemap div.tree li a {
	padding-left: 0;
}
#main #sitemap div.tree li::before {
	left: 7px;
}
#main #sitemap div.tree ul.depth1 li.depth1 {
	padding: 5px 0 5px 23px;
}
#main #sitemap div.tree ul.depth1 li.depth1 li a {
	padding-left: 20px;
}

@media screen and (max-width: 768px) {
	#main #sitemap div.tree ul.depth1 li.depth1::before {
		top: 10px;
	}
	#main #sitemap div.tree ul.depth1 li.depth1 {
		padding: 10px 0 10px 23px;	
	}
	#sitemap div.tree ul.depth1 li.depth1 ul.depth2 {
		margin: 10px 15px 0 12px !important;
	}
}

/* 本詳細 */
#main section.cover div.texts {
	width: calc(100% - 250px) !important;
}
@media screen and (max-width: 768px) {
	#main section.cover div.thumbnail  {
		float: none !important;
	}
	#main section.cover div.texts {
		float: none !important;
		width: 100% !important;
		margin-top: 20px;
	}
}


/* 過去の年会 */
#main .history h4 {
	font-size: 16px !important;
	font-weight: 500;
	border-color: #D3D6D5;
	padding: 0 0 6px !important;
	margin: 26px 0 8px !important;
	left: 0 !important;
	width: 100%;
}
#main > .history > h4:first-of-type {
	margin-top: -3px;
}
#main .history h4::before {
	content: none;
}
#main .history h4 .bold {
	font-size: 20px;
	font-weight: 700;
	position: relative;
	left: 0;
	margin-right: 14px;
}
#main .history h4 .bold::before {
	content: "";
	width: 100%;
	height: 2px;
	background: #292929;
	position: absolute;
	left: 0;
	bottom: -7px;
}
#main .history nav ul li:has(> a):not(.no_icon) a {
	font-size: 16px;
	padding: 0 0 3px 18px;
	padding: 0 17px 3px 0;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}
#main .history nav ul li:has(> a):not(.no_icon)::before {
	font-size: 18px;
	top: -1px;
	color: #292929 !important;
}
#main .history nav ul li:has(> a):not(.no_icon) a::after {
	font-size: 16px;
	padding-left: 5px;
	color: #989898;
	position: relative;
	top: 2px;
}
#main .history table.books p {
	margin-left: 0;
	margin-right: 0;	
}
#main .history nav ul {
	margin: 10px 0 0 !important;
	padding: 0 17px;
}
#main .history nav ul li {
	margin-right: 30px;
}
#main .history nav ul li.detail::before {
	content: "" !important;
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('../media/images/common_v2/icon_add_circle.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
	top: 1px;
	left: -18px;
}
#main .history nav ul li.detail {
	margin-left: -5px;
}
#main .history nav ul li.detail.opened::before {
	content: "" !important;
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('../media/images/common_v2/icon_remove_circle.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: -4px;
	top: 1px;
	left: -18px;
}
#main .history nav ul li.detail:has(> a):not(.no_icon) > a {
	padding-left: 10px;
}
#main .history nav ul li.detail:has(> a):not(.no_icon)::before {
	top: 1px;
}
#main div.history div.detail {
	border-left: 8px solid #F2F3F2 !important;
	margin: 0 0 0 6px !important;
	font-size: 15px;
	padding: 0 0 0 20px !important;
}
#main div.history div.detail p {
	line-height: calc(22/15);
}
#main div.history div.detail ul {
	margin-top: 9px;
	font-size: 15px;
	padding-left: 0;
}
#main div.history div.detail ul li {
	margin-bottom: 7.5px;
}
#main .history nav ul li:has(> a):not(.no_icon) a::after {
	width: 20px;
	height: 20px;
}
#main .history nav ul li.summary::before {
	content: "";
}
#main .history nav ul li.summary a::after {
	color: #989898;
	font-size: 16px;
	padding-left: 5px;
	font-family: FontAwesome;
	content: "";
	padding-left: 4px;
	padding-right: 0;
	color: #989898;
	font-size: 15px;
	display: inline !important;
	position: relative;
	top: 4px;
}
#main .list {
	width: 100%;
}

@media screen and (max-width: 768px) {
	#main > div.history {
		margin-left: -20px !important;
		width: calc(100% + 20px);
		margin-top: 44px !important;
	}
	#main .history h4 {
		border-color: #D3D6D5;
		margin: 26px 0 8px !important;
		left: 0;
		padding: 0 0 4px !important;
	}
	#main .history h4 .bold {
		font-size: 18px;
		margin-right: 10px;
	}
	#main .history nav ul {	
		padding: 0;
		margin: 13px 0 0 !important;
	}
	#main .history nav ul li:has(> a):not(.no_icon):first-child a {
		background: none;
		margin: auto 0;
		text-align: left;
		line-height: normal;
		border-radius: 0;
	}
	#main .history nav ul li:has(> a):not(.no_icon) a {
		padding: 0 0 0 24px;
	}
	#main div.history nav ul li:first-child::before {
		display: block;
	}
	#main div.history nav ul li:first-child a::before {
		display: none;
	}
	#main .history nav ul li.detail {
		margin-left: 0;
	}
	#main .history nav ul li {
		margin-right: 0;
		margin-left: 0 !important;
		margin-bottom: 7px !important;
		width: 100%;
	}
	#main .history nav ul li:has(> a):not(.no_icon)::before {
		font-size: 16px;
	}
	#main .history nav ul li:has(> a):not(.no_icon) a::after {
		position: relative;
		top: 5px;
	}
	#main .history nav ul li:has(> a):not(.no_icon)::before {
		top: 1px;
		left: 2px;	
	}
	#main .history h4 {
		margin: 38px 0 8px;	
	}
	#main .history nav ul li.detail:has(> a):not(.no_icon):not(.icon_books)::before {
		position: absolute;
		z-index: 10;
		width: 24px;
		height: 24px;
		top: 6px;
		left: 18px;
	}
	#main div.history nav ul li.detail:first-child a::before {
		content: none !important;
	}
	#main .history nav ul li.detail:has(> a):not(.no_icon) a {
		display: inline-block;
		padding: 6px 9px 3px 47px;
		height: 36px;
		line-height: calc(20/14);
		border-radius: 3px;
		font-size: 14px;
		color: #292929;
		border-radius: 18px;
		transition: all .2s;
		border: 2px solid #A1E672;
		background: #A1E672;
		color: #292929;
		min-width: 99px;
		margin-bottom: 4px;
	}
	#main .history nav ul li.detail.opened:has(> a):not(.no_icon) a {
		border: 2px solid #D3D6D5;
		background: #fff;
		color: #292929;	
	}
	#main div.history div.detail {
		margin: 0 !important;
		padding-right: 10px !important;
	}
	#main div.history div.detail ul {
		padding-left: 13px;
		margin-top: 15px;
	}
	#main div.history div.detail ul li {
		margin-bottom: 10px;
	}
	#main div.history nav ul li:not(.icon_books):first-child a {
		color: #292929;
	}
	#main div.history nav ul li:not(.icon_books):first-child::before {
		display: inline;
		top: 2px;
	}
	#main div.history nav ul li:not(.icon_books):first-child a::before {
		display: none;
	}
}


/* みんなのひろば調整用 */
body#main ul.top_index,
.main_contents_area_lower.one_column .lower_contents #main .top_index {
	margin: 0;
}
body#main ul.top_index li,
.main_contents_area_lower.one_column .lower_contents #main .top_index li {
	margin-bottom: 20px;
}
body#main ul.top_index li h4,
.main_contents_area_lower.one_column .lower_contents #main .top_index h4 {
	left: 0;
	margin-bottom: 5px;
	margin-top: 0;
}
body#main ul.top_index li h4::before,
.main_contents_area_lower.one_column .lower_contents #main .top_index h4::before {
	content: none;
}
body#main ul.top_index a {
	font-size: 16px;
}
body#main ul.top_index li .pic {
	width: 120px;
}
body#main ul.top_index li p,
.main_contents_area_lower.one_column .lower_contents #main .top_index p {
	margin: 3px 0 8px 135px;
	font-size: 15px;
}
html #main div.thumbnail_small_frame {
	float: right;
	width: 32%;
	max-width: 160px;
	margin: 0 0 15px 20px;	
}
html #main div.green_bg {
	padding: 4px 10px 14px;
}
html #main ul.essay li:has(> a):not(.no_icon) a {
	padding-left: 0;
}
html .pankuzu_area:has(a[href="hiroba/"]) + .main_contents_area_lower #main h3:not(:has(img)) {
	border-left: 6px solid #42C86E;
	padding: 0 0 2px 28px;
}
#qa #main h3 {
	left: 0;
}
#qa #main div.right section ul li a {
	font-size: 13px;
}
#main #qa_tab > p{
	line-height: 1.75;
}
#gallery #main table.gallery td,
#gallery #main table.gallery th {
	border: none;
	text-wrap: wrap;
}
ul#movie h5 a {
	font-size: 16px !important;
}
ul#movie ul.depth2 ul.depth3 li.depth3 {
	padding: 5px 0 5px !important;
}

@media screen and (max-width: 768px) {
	#qa #main h3 {
		width: 100%;
	}
	html .pankuzu_area:has(a[href="hiroba/"]) + .main_contents_area_lower #main h3:not(:has(img)) {
		border-left: 4px solid #42C86E;
		padding: 0 0 2px 14px;
	}
	body#qa #main .top .left div.results + div.table-wrapper table td {
		text-wrap: wrap;	
	}
	#main a {
		overflow-wrap: anywhere;
	}
}

@media screen and (max-width: 1024px) {
	.main_contents_area_lower.one_column .lower_contents #main .top_index h4 {
		width: auto;
	}
}

@media screen and (max-width: 768px) {
	html #main ul.essay li:has(> a):not(.no_icon) a {
		width: 100%;
	}
}




/* hover */
@media screen and (min-width: 769px) {
	.pankuzu_area ul.pankuzu li a:not(.last):hover {
		color: #1269CE;
	}
	.pankuzu_area ul.pankuzu li a:not(.last):hover::after {
		color: #808080;
	}
	#main div.index ul li a:hover {
		color: #1269CE;
	}
	#main .submit_calendar .btn_gray:hover {
		background: #fff;
	}
	.contents_right ul li a:hover,
	.contents_right ul li span:hover {
		background: #F6FDF0;
	}
	.contents_right div.logout a:hover {
		background: #f3f3f3;
	}
	#main ul.tab  li:has(> a):not(.no_icon) a:hover {
		background: #fff;
	}
	#main ul.tab li:has(> a):not(.no_icon) a:hover {
		background: #fafafa;
		color: #292929;
	}
	#main ul.tab li.active a:hover {
		background: white;
	}

	.go_home_or_top_area .go_home_or_top_link ul li a:hover {
		color: #1269CE;
	}
	#main:has(.head) div.index ul li a:hover {
		background: transparent;
	}
	#main div.form div.submit input:hover {
		background: #fff;	
	}
	#main #sitemap div.tree li a:hover {
		color: #1269CE !important;
	}
}