@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root {
 --primary-color: #2ca338;
 --primary-inverse-color: #fff;
 --global-space: 5vw;
}
@keyframes animation1 {
 0% {
left: -200px;
}
 100% {
left: 0px;
}
}
@keyframes opa1 {
 0% {
opacity: 0;
}
 100% {
opacity: 1;
}
}
body * {
	box-sizing: border-box;
}
body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-style: normal;
	-webkit-text-size-adjust: none;
	background: #fff;
	color: #000;
	line-height: 2;
	animation: opa1 0.2s 0.5s both;
	background: url(../imgs/bg_body.png) repeat-x, #EAFFEA;
}
figure {
	margin: 0;
}
dd {
	margin: 0;
}
ul, li, ol {
	margin: 0;
	padding: 0;
}
table {
	border-collapse: collapse;
}
img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
html.f-large {
	font-size: 1.2em;
}
html.f-small {
	font-size: 1em;
}
a {
	color: #03c;
	transition: 0.2s;
	text-decoration: none;
	word-break: break-all !important;
}
a:hover {
	color: #900;
}
/* gsearch
-----------------------------------*/
.gsearch {
	width: 350px;
	float: right;
	margin: 0;
	line-height: 1.4;
	text-shadow: none !important;
}
.gsearch.wide {
	width: 100%;
	margin: 0 0 10px;
}
 @media screen and (min-width:1200px) {
.gsearch {
	margin: 0 0 10px 0;
}
}
 @media screen and (min-width:1000px) {
.gsearch {
	margin: 0 0 10px 10px;
}
}
 @media screen and (max-width:900px) {
.gsearch {
	float: none;
	margin: 15px auto 0;
}
}
 @media screen and (max-width:500px) {
.gsearch {
	width: 95%;
}
}
.gsres {
	margin: 15px auto 10px !important;
	max-width: 1600px !important;
	font-size: 1em !important;
	line-height: 1.4;
}
.gsc-results .gsc-cursor-box .gsc-cursor-current-page, .gsc-results .gsc-cursor-box .gsc-cursor-page {
	border: 1px solid #ccc !important;
	padding: 5px 8px 3px !important;
	font-size: 14px !important;
	line-height: 1.4;
}
 @media screen and (min-width:900px) {
.gsc-input-box {
	margin: 0px !important;
	padding: 2px 0 !important;
}
.gsc-search-button-v2 {
	margin: 0px !important;
	padding: 9px 5px 8px !important;
	border-top-style: none !important;
	border-right-style: none !important;
	border-bottom-style: none !important;
	border-left-style: none !important;
	cursor: pointer;
}
.gsc-search-button-v2 svg {
	width: 40px !important;
	height: 20px !important;
}
}
 @media screen and (max-width:900px) {
.gsc-search-button-v2 {
	padding: 12px 5px 11px !important;
}
.gsc-search-button-v2 svg {
	width: 40px !important;
	height: 20px !important;
}
}
.gsc-control-cse .gs-spelling, .gsc-control-cse .gs-result .gs-title, .gsc-control-cse .gs-result .gs-title * {
	font-size: 1.05em !important;
}
/* header
-----------------------------------*/
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
 @media screen and (min-width:900px) {
header {
	height: 110px;
	max-width: 1600px;
	margin: 0 auto;
}
}
h1 {
	margin: 0;
	padding: 0;
}
h1 img {
	display: block;
}
 @media screen and (max-width:1600px) {
h1 {
	margin-left: 10px;
}
}
 @media screen and (max-width:900px) {
header {
	height: 75px;
	margin-top: 5px;
}
h1 {
	width: 70%;
	margin: 0 0 0 5px;
}
h1 img {
	text-align: left;
	height: 70px;
}
}
.topbtn {
	font-style: normal;
	line-height: 1.2;
	text-align: center;
	padding: 0;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 0.9em;
}
.topbtn ul {
	margin: 0;
	padding: 0;
}
.topbtn ul li {
	display: inline-block;
	margin: 10px 0 0 8px;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.topbtn ul li.join a {
	padding: 10px 14px 12px 50px;
	color: #FFF;
	background: url(../imgs/ic_join.png) no-repeat left 8px top 4px, #0077a3;
	border-radius: 0 0 4px 4px;
}
.topbtn ul li.mypage a {
	padding: 10px 30px 12px 46px;
	color: #FFF;
	background: url(../imgs/ic_mypg.png) no-repeat left 8px top 4px, url(../imgs/ic_blkw.png) no-repeat right 10px top 15px, #be416a;
	border-radius: 0 0 4px 4px;
}
.topbtn ul li.join a:hover {
	background: url(../imgs/ic_join.png) no-repeat left 8px top 4px, #005676;
}
.topbtn ul li.mypage a:hover {
	background: url(../imgs/ic_mypg.png) no-repeat left 8px top 4px, url(../imgs/ic_blkw.png) no-repeat right 10px top 15px, #a82550;
}
 @media screen and (max-width:1600px) {
.topbtn ul li.mypage a {
	margin-right: 10px;
}
}
 @media screen and (max-width:900px) {
.topbtn {
	display: none;
}
}
.slf {
	display: flex;
	align-items: center;
	margin-top: 36px;
	color: #333;
}
.lang {
	margin: 0 15px;
}
.lang li {
	list-style-type: none;
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.2;
	margin: 0 1px;
}
.lang li.on a {
	background: #2ca338;
	border: 1px solid #2ca338;
	border-radius: 25px;
	color: #FFF;
	padding: 2px 15px 3px;
}
.lang li.off a {
	background: #fff;
	border: 1px solid #9a9a9a;
	border-radius: 25px;
	color: #9a9a9a;
	padding: 2px 15px 3px;
}
.lang li.off a:hover {
	border: 1px solid #2ca338;
	color: #2ca338;
}
.sns {
	margin: 0 12px 0 0;
}
.sns li {
	list-style-type: none;
	display: inline-block;
	margin: 0 5px 0 0;
}
 @media screen and (max-width:900px) {
.slf {
	display: block;
	margin-top: 0;
	right: 0;
}
.lang li {
	list-style-type: none;
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.2;
	margin: 40px 0 0 8px;
}
.lang li.on a {
	background: none;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #2ca338;
	border-radius: 0;
	color: #2ca338;
	padding: 2px 4px 3px;
}
.lang li.off a {
	background: none;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #9a9a9a;
	border-radius: 0;
	color: #9a9a9a;
	padding: 2px 4px 3px;
}
.lang li.off a:hover {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #2ca338;
	color: #2ca338;
}
.sns {
	display: none;
}
}
.f-size {
	background: rgba(44,163,56,0.25);
	display: flex;
	align-items: center;
	border-radius: 5px;
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
	box-sizing: border-box;
}
 @media screen and (max-width:1600px) {
.f-size {
	margin-right: 10px;
}
}
.f-size li {
	transition: 0.3s;
}
.f-size li.txt {
	font-size: 0.85em;
	font-weight: 500;
	padding: 6px 12px 8px 17px;
}
.f-size li#f-small {
	margin-right: 10px;
	background: #fff;
	border: 1px solid #c5e4c7;
}
.f-size li#f-small::before {
	display: block;
	content: "中";
	font-size: 0.85em;
	width: 23px;
	line-height: 22px;
	text-align: center;
	padding-bottom: 2px;
}
.f-size li#f-small:hover {
	background: #fff;
	border: 1px solid #2ca338;
}
.f-size li#f-small.current {
	border: 1px solid #2ca338;
}
.f-size li#f-small.current::before {
	background: #2ca338;
	color: #fff;
	border: none;
}
.f-size li#f-large {
	background: #fff;
	border: 1px solid #c5e4c7;
	margin-right: 15px;
}
.f-size li#f-large::before {
	display: block;
	content: "大";
	font-size: 1.1em;
	width: 28px;
	line-height: 25px;
	text-align: center;
	padding-bottom: 3px;
}
.f-size li#f-large:hover {
	background: #fff;
	border: 1px solid #2ca338;
}
.f-size li#f-large.current {
	border: 1px solid #2ca338;
}
.f-size li#f-large.current::before {
	background: #2ca338;
	color: #fff;
	border: 1px solid #2ca338;
}
.f-size li#f-large.current:hover {
	border: 1px solid #2ca338;
}
.f-size li {
	cursor: pointer;
}
 @media screen and (max-width:900px) {
.f-size {
	display: none;
}
}
/* menubar
-----------------------------------*/
	
#menubar {
	opacity: 0;
	line-height: 1.5;
}
#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.large-screen #menubar {
	opacity: 1;
}
.small-screen #menubar.display-none {
	display: none;
}
.small-screen #menubar.display-block {
	display: block;
	opacity: 1;
}
#menubar_hdr.display-none {
	display: none;
}
.ddmenu_parent ul {
	display: none;
}
a.ddmenu::after {
}
#menubar a {
	display: block;
	text-decoration: none;
}
.large-screen #menubar {
	top: 0;
	z-index: 30;
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
	transition: opacity 0.5s;
	border-bottom: 2px solid #0e7d3b;
}
.large-screen #menubar > ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
.large-screen #menubar li {
	flex: 1;
	text-align: center;
}
.large-screen #menubar li.current {
	color: #000;
}
.large-screen #menubar li a {
	flex: 1;
	color: #000;
	padding: 14px 0 16px;
	transition: 0.2s;
	font-weight: 500;
}
.large-screen #menubar li.current a {
	background: #2ca339;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.large-screen #menubar li.last a {
	border-right: none !important;
}
.large-screen #menubar li a:hover {
	background: #0d7b39;
	border-top: none !important;
	color: #FFF;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.large-screen #menubar li.last a:hover {
	background: #0d7b39;
}
.large-screen #menubar li a.ddp1, .large-screen #menubar li a.ddp2, .large-screen #menubar li a.ddp3, .large-screen #menubar li a.ddp4, .large-screen #menubar li a.ddp5 {
	background: url(../imgs/bg_ddmenu_g.png) no-repeat bottom -3px center;
}
.large-screen #menubar li a.ddp1:hover, .large-screen #menubar li a.ddp2:hover, .large-screen #menubar li a.ddp3:hover, .large-screen #menubar li a.ddp4:hover, .large-screen #menubar li a.ddp5:hover {
	background: url(../imgs/bg_ddmenu_g.png) no-repeat bottom -3px center, #0d7b39;
	transition-duration: 0.2s;
	transition-delay: 0.2s;
}
.large-screen #menubar li.current a.ddp1, .large-screen #menubar li.current a.ddp2, .large-screen #menubar li.current a.ddp3, .large-screen #menubar li.current a.ddp4, .large-screen #menubar li.current a.ddp5 {
	background: url(../imgs/bg_ddmenu.png) no-repeat bottom -3px center, #2ca339;
	color: #fff;
}
.large-screen #menubar li.current a.ddp1:hover, .large-screen #menubar li.current a.ddp2:hover, .large-screen #menubar li.current a.ddp3:hover, .large-screen #menubar li.current a.ddp4:hover, .large-screen #menubar li.current a.ddp5:hover {
	background: url(../imgs/bg_ddmenu.png) no-repeat bottom -3px center, #0d7b39;
}
.large-screen .ddhv {
	background: url(../imgs/bg_ddmenu_g.png) no-repeat bottom -3px center, #0d7b39 !important;
	color: #fff !important;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.large-screen #menubar ul ul, .small-screen #menubar ul ul {
	animation: opa1 0.4s 0s both;
}
.large-screen #menubar ul ul {
	position: absolute;
	z-index: 5;
	min-width: 100%;
	top: 100%;
	border-left: 1px solid #0d7b39;
	border-right: 1px solid #0d7b39;
	border-bottom: 1px solid #fff;
	width: 100%;
	background: #0d7b39;
	padding: 5px 0 20px;
	left: 0;
}
.large-screen #menubar ul li ul li {
	font-size: 0.95em;
	display: inline-block;
	vertical-align: top;
	border-bottom: none;
	margin: 10px 25px;
}
 @media screen and (max-width:1100px) {
.large-screen #menubar ul li ul li {
	margin: 10px 10px;
}
}
.large-screen #menubar ul li ul li a, .large-screen #menubar ul li.current ul li a {
	transition: 0.3s;
	padding: 0.6em 20px 0.7em;
	text-align: left;
	background: none !important;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
	border-bottom: 1px solid rgba(255,255,255,0.3);
	border-right: none !important;
}
.large-screen #menubar ul li ul li.current a {
	border: 1px solid rgba(255,255,255,0.7) !important;
}
.large-screen #menubar ul li ul li.current a:hover {
	border: 1px solid rgba(255,255,255,0.7) !important;
}
.large-screen #menubar ul li ul li a.current, .large-screen #menubar ul li ul li a.current:hover {
	border: 1px solid rgba(255,255,255,0.7) !important;
}
.large-screen #menubar ul li ul li a.current, .large-screen #menubar ul li ul li a.current:hover {
	border: 1px solid rgba(255,255,255,0.7) !important;
}
.large-screen #menubar ul li ul li a::after {
	padding-left: 6px;
	content: url(../imgs/arrow01.png);
}
.large-screen #menubar ul li ul li span a {
	padding: 0.5em 6px 0.5em 5px;
	font-size: 0.9em;
	margin-left: 15px;
	margin-top: 10px;
	border-bottom: 1px dashed rgba(255,255,255,0.3) !important;
	transition: .3s;
}
.large-screen #menubar ul li ul li span a::before {
	content: url(../imgs/ic_note_wh.png);
	color: #fff;
	padding-right: 5px;
}
.large-screen #menubar ul li ul li span a:hover {
	border-bottom: 1px solid rgba(255,255,255,1) !important;
}
.large-screen #menubar ul li ul li a:hover {
	border-bottom: 1px solid rgba(255,255,255,1) !important;
}
.large-screen #menubar ul li ul li.mypg {
	background: #be416a;
	border: 1px solid #fff !important;
}
.large-screen #menubar ul li ul li.mypg a {
	border-bottom: none !important;
}
.large-screen #menubar ul li ul li.mypg a:hover {
	background: #a82550 !important;
	border-bottom: none !important;
}
.large-screen #menubar ul li ul li.mypg a::after {
	padding-left: 8px;
	padding-right: 3px;
	content: url(../imgs/ic_blkw.png) !important;
	position: relative;
	top: 1px;
}
.small-screen #menubar ul li ul li.mypg {
	background: #f3dde4;
	margin-left: 8px;
	padding: 8px;
}
.small-screen #menubar.display-block {
	position: fixed;
	overflow: auto;
	z-index: 100;
	left: 0px;
	top: 0;
	width: 100%;
	height: 100%;
	padding-top: 60px;
	background: #0e7d3b;
	animation: animation1 0.2s both;
	color: var(--primary-inverse-color);
}
.small-screen #menubar ul {
	margin-bottom: 15px;
}
.small-screen #menubar li {
	border: 1px solid #fff;
	background: #FFF;
	margin: 8px 1em;
	border-radius: 5px;
	font-weight: 500;
}
.small-screen #menubar a {
	color: #0e7d3b;
	padding: 10px 10px 10px 10px;
	line-height: 1.4;
}
.small-screen #menubar li li a {
	color: #000;
	padding: 0 0 0 8px;
}
.small-screen #menubar li li.current a {
	color: #0e7d3b;
}
.small-screen #menubar li li a.current {
	color: #0e7d3b;
}
.small-screen #menubar li a.ddp1, .small-screen #menubar li a.ddp2, .small-screen #menubar li a.ddp3, .small-screen #menubar li a.ddp4, .small-screen #menubar li a.ddp5 {
	background: url(../imgs/bg_ddmenu_gs.png) no-repeat right 20px center;
}
.small-screen #menubar ul li ul li:first-child {
	margin: 0 1em 8px;
}
.small-screen #menubar ul li ul li span a {
	padding: 10px 0 4px;
}
.small-screen #menubar ul li ul li span a::before {
	content: url(../imgs/ic_note.png);
	color: #2ca338;
	padding-right: 0;
	padding-left: 8px;
}
.small-screen #menubar li.home {
	margin-top: -50px;
	width: 100px;
	background: url(../imgs/ic_home.png) no-repeat left 6px center, #fff;
	background-size: 25px;
	padding-left: 25px;
}
.small-screen #menubar li.home a {
	padding: 9px 10px 10px;
}
/* menubar_hdr
-----------------------------------*/

#menubar_hdr {
	position: fixed;
	z-index: 101;
	cursor: pointer;
	top: 15px;
	right: 0;
	width: 90px;
	height: 50px;
	padding: 14px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.5s;
	background: rgba(255,255,255,0.7);
}
#menubar_hdr.ham {
	top: 0;
}
#menubar_hdr div {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#menubar_hdr div span {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #0e7d3b;
	border-radius: 2px;
	transition: all 0.3s ease-in-out;
	position: absolute;
}
#menubar_hdr div span:nth-child(1) {
	top: 0;
}
#menubar_hdr div span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
#menubar_hdr div span:nth-child(3) {
	bottom: 0;
}
#menubar_hdr.ham div span:nth-child(1) {
	top: 50%;
	transform: translateY(-50%) rotate(30deg);
}
#menubar_hdr.ham div span:nth-child(2) {
	opacity: 0;
}
#menubar_hdr.ham div span:nth-child(3) {
	top: 50%;
	transform: translateY(-50%) rotate(-30deg);
}
.large-screen .sp_catch, .large-screen .sp_sns {
	display: none;
}
.sp_catch {
	margin: 0 15px 15px;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 0;
	justify-content: space-between;
}
.sp_catch p {
	background: #FFF;
	margin: 0;
	padding: 0 5px;
	text-align: center;
	width: calc((100% - 15px) / 2);
	border-radius: 6px;
}
.sp_catch p img {
	width: 50px;
	display: block;
	margin: 6px auto 0;
}
.sp_sns {
	text-align: center;
	margin: 0 auto 10px;
}
.sp_sns p {
	display: inline-block;
	margin: 0 6px;
}
/* .btmbtn
-----------------------------------*/
.btmbtn {
	font-style: normal;
	line-height: 1.2;
	text-align: center;
	padding: 0;
	margin-top: 0;
	z-index: 1000 !important;
}
.btmbtn ul {
	width: 100%;
	background: #300;
	position: fixed;
	bottom: 0;
	right: 0;
	display: flex;
}
.btmbtn ul li {
	padding: 0;
	margin: 0;
	list-style: none;
	font-size: 0.9em;
}
.btmbtn ul li a {
	color: #FFF;
}
.btmbtn ul li.join {
	padding: 4px 6px 2px;
	color: #FFF;
	background: #0077a3;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	flex: 4.5;
}
.btmbtn ul li.join::before {
	content: url(../imgs/ic_join.png);
	display: inline-block;
	vertical-align: middle;
	padding-right: 6px;
}
.btmbtn ul li.mypage {
	padding: 4px 6px 2px;
	color: #FFF;
	background: #be416a;
	border-top: 1px solid #fff;
	flex: 5.5;
}
.btmbtn ul li.mypage::before {
	content: url(../imgs/ic_mypg.png);
	display: inline-block;
	vertical-align: middle;
	padding-right: 6px;
}
.btmbtn ul li.mypage::after {
	content: url(../imgs/ic_blkw.png);
	display: inline-block;
	vertical-align: middle;
	padding-left: 6px;
}
 @media screen and (min-width:900px) {
.btmbtn {
	display: none;
}
}
/* column, main_cts
-----------------------------------*/

.main_cts {
	margin: 10px auto 0;
	order: 2;
	flex: 1;
	max-width: 1600px;
	background: #FFF;
	padding: 20px 30px 30px;
	border: 1px solid #c4edc6;
}
 @media screen and (min-width:900px) {
.column {
	display: flex;
	justify-content: space-between;
	gap: 1.5vw;
	max-width: 1600px;
	margin: 0 auto;
}
.home .column {
	max-width: 100%;
}
.home_main {
	margin-bottom: 0;
	order: 2;
	flex: 1;
}
}
 @media screen and (max-width:1660px) {
.column, .main_cts.long {
	padding: 0 20px;
}
.home .column {
	padding: 0;
}
}
 @media screen and (max-width:900px) {
.column {
	padding: 0 5px;
}
.home .column {
	padding: 0;
}
.main_cts {
	padding: 10px 10px 30px;
	margin-top: 0;
}
}
/* footer
-----------------------------------*/
#footer {
	background: #0e7d3b;
	padding: 10px 100px;
	margin-top: 30px;
}
 @media screen and (max-width:1600px) {
#footer {
	padding: 10px 30px;
}
}
 @media screen and (max-width:900px) {
#footer {
	padding: 0 10px;
}
}
.footer_cts {
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	color: #fff;
	padding: 5px 0 0;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.footer_cts a {
	color: #FFF;
	text-decoration: none;
}
.footer_cts p {
	font-size: 0.9em;
	line-height: 1.5;
	margin: 5px 0;
}
.footer_cts p span {
	display: inline-block;
	margin-right: 1em;
}
.footer_cts .left {
	margin: 0;
	flex: 1.5;
}
.footer_cts .right {
	margin: 0;
	flex: 2;
	text-align: right;
}
 @media screen and (max-width:1200px) {
.footer_cts .left {
	flex: 1;
}
.footer_cts .right {
	flex: 2;
}
}
 @media screen and (max-width:1100px) {
.footer_cts .left {
	flex: 1;
}
.footer_cts .right {
	flex: 1.5;
}
}
 @media screen and (max-width:900px) {
.footer_cts {
	display: block;
}
.footer_cts .left {
	margin: 0 auto;
	text-align: center;
}
.footer_cts .right {
	margin: 0 auto;
	text-align: center;
}
}
 @media screen and (max-width:600px) {
.flogo img {
	width: 270px;
}
}
.footermenu {
	color: #fff;
	font-size: 0.95em;
	margin-top: 20px;
	clear: both;
}
.footermenu ul {
	margin: 0 0 10px 0;
	list-style: none;
	padding: 0;
	text-align: right;
}
.footermenu ul li {
	display: inline-block;
	vertical-align: middle;
	line-height: 1.5;
	font-size: 0.95em;
	padding: 0;
}
.footermenu ul li a {
	margin: 0 0 0 15px;
	padding-right: 18px;
	background: url(../imgs/arrow02.png) no-repeat right center;
	color: #fff;
}
.footermenu ul li.noic a {
	padding-right: 0;
	background: none;
}
 @media screen and (max-width:1200px) {
.footermenu ul li {
	margin: 5px 0;
}
}
 @media screen and (max-width:900px) {
.footermenu {
	margin-top: 25px;
}
.footermenu ul {
	margin-top: -10px;
	text-align: center;
}
.footermenu ul li {
	display: block;
	padding-top: 5px;
}
.footermenu ul.snslink li {
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
	margin-top: 10px;
	margin-bottom: 0;
}
}
footer {
	font-size: 0.85em;
	line-height: 1.2;
	background: #0e7d3b;
	color: #fff;
	text-align: center;
	padding: 15px 15px 15px;
	z-index: 10;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
 @media screen and (max-width:900px) {
footer {
	padding: 5px 50px 65px 10px;
	text-align: left;
}
}
 @media screen and (max-width:900px) {
.sitemap {
	margin-top: 5px;
}
}
.sitemap ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	line-height: 1.5;
}
.sitemap ul li {
	margin: 20px 0 5px;
}
.sitemap ul li::before {
	content: "●";
	color: #0e7d3b;
	margin: 0 0.3rem 0 0;
}
.sitemap ul li ul {
	margin: 5px 0 0 0;
}
.sitemap ul li ul li {
	display: inline-block;
	vertical-align: top;
	border-bottom: none;
	margin: 0 15px 5px;
}
.sitemap ul li ul li::before {
	content: "";
	margin: 0 5px 0 0;
}
.sitemap ul li ul li a::before {
	content: url(../imgs/arrow04.png);
	position: relative;
	top: 3px;
	padding-right: 2px;
}
.sitemap ul li ul li ul {
	margin: 5px 0 5px 10px;
}
.sitemap ul li ul li ul li {
	text-indent: -24px;
	margin-left: 24px;
}
.sitemap ul li ul li ul li::before {
	content: url(../imgs/ic_note.png);
	color: #0e7d3b;
	padding-right: 0;
	margin: 0 0 0 7px;
}
.sitemap ul li ul li ul li a::before {
	content: "";
}
.sitemap .w100x {
	width: calc(100% - 30px);
}
/* pkz
-----------------------------------*/
.pkz {
	max-width: 1600px;
	margin: 15px auto 5px;
	font-size: 0.85em;
	font-weight: 400;
	padding: 0 18px;
	list-style: none;
	line-height: 1.2;
}
.pkz li {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.pkz li a::after {
	content: "＞";
	margin: 0 0.3em 0 0.5em;
	cursor: default;
	color: #000;
}
 @media screen and (max-width:900px) {
.pkz {
	font-size: 0.8em;
	padding: 10px 5px;
	margin: 0;
	border-top: 1px solid #def1df;
	margin-left: 5px;
	color: #666;
	line-height: 1.6;
}
.pkz li a::after {
	content: ">";
	margin: 0 0.1em 0 0.2em;
}
}
/* pagetop
-----------------------------------*/

.pagetop-show {
	display: block;
}
.pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	z-index: 99;
	position: fixed;
	right: 20px;
	bottom: 20px;
	color: #fff;
	font-size: 1.5em;
	background: rgba(44,163,56,0.8);
	width: 60px;
	line-height: 60px;
	border-radius: 6px;
}
.pagetop a:hover {
	background: rgba(44,163,56,1);
}
 @media screen and (max-width:900px) {
.pagetop a {
	right: 10px;
	bottom: 65px;
	width: 40px;
	line-height: 40px;
}
}
.catmenu {
	margin: 0 -10px;
	padding: 0;
	font-size: 0;
}
.catmenu li {
	font-size: 1.05rem;
	line-height: 1.4;
	display: inline-block;
	vertical-align: top;
	border-bottom: none;
	margin: 0 10px 10px;
	width: calc((100% - 60px) / 3);
	font-weight: 500;
}
.catmenu li.c1 {
	width: calc(100% - 20px);
}
.catmenu li.c2 {
 width: calc(((100% - 30px) / 3) * 2);
}
.catmenu li.c4 {
	width: calc((100% - 40px) / 2);
}
.catmenu.rep li {
	width: calc((100% - 80px) / 4);
}

 @media screen and (max-width:1450px) {
.catmenu li {
	width: calc((100% - 40px) / 2);
}
.catmenu li.c2, .catmenu li.c3 {
	width: calc(100% - 20px);
}
}
 @media screen and (min-width:1450px) {
.catmenu li.c2 {
	padding-right: 20px;
	border-right: 1px solid #a4c41c;
}
}
 @media screen and (max-width:1080px) {
.catmenu li {
	width: calc(100% - 20px);
}
}
.catmenu li a {
	transition: 0.3s;
	text-shadow: none;
	padding: 15px 10px 15px;
	text-align: left;
	background: none;
	border: none;
	color: #000;
	border-bottom: 2px solid #2ca338;
	display: block;
}
.catmenu li a::after {
	padding-left: 6px;
	content: url(../imgs/arrow04.png);
	position: relative;
	top: 2px;
}
.catmenu.rep li a::after{
	content: url(../imgs/PDF_32.png);
	position: relative;
	top: 10px;
}
.catmenu li span a {
	font-size: 1em;
	margin-left: 15px;
	margin-top: 5px;
	border-bottom: 1px dashed #2ca338;
	transition: .3s;
	display: block;
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.catmenu li span a::before {
	content: url(../imgs/ic_note.png);
	color: #2ca338;
	padding-right: 5px;
}
.catmenu li a:hover {
	color: #900;
	background: #fff;
	border-bottom: 2px solid #900;
}
.catmenu li span a:hover {
	border-bottom: 1px solid #900;
}
 @media screen and (min-width:1360px) {
.catmenu li.c1 span a {
	display: inline-block;
	width: calc((100% - 70px) / 3);
}
.catmenu li.c2 span a {
	display: inline-block;
	width: calc((100% - 33px) / 2);
}
}
 @media screen and (max-width:1360px) {
.catmenu li.c1 span a {
	display: inline-block;
	width: calc((100% - 40px) / 2);
}
.catmenu li.c2 span a {
	display: inline-block;
	width: calc((100% - 33px) / 2);
}
.catmenu.rep li {
	width: calc((100% - 70px) / 3);
}
}
 @media screen and (max-width:1100px) {
.catmenu.rep li {
	width: calc((100% - 40px) / 2);
}
}
 @media screen and (max-width:900px) {
.catmenu li {
	font-size: 1rem;
}
.catmenu li.c1 span a, .catmenu li.c2 span a, .catmenu li.c4 {
	width: calc(100% - 20px);
}
.catmenu li span a {
	margin-left: 10px;
}
}
 @media screen and (max-width:600px) {
.catmenu.rep li {
	width: auto;
}
}
.catmenu.sml li {
	font-size: 0.95rem;
	margin: 0 10px 8px;
}
.catmenu.sml li a {
	color: #666;
	padding: 5px 10px 10px;
	border-bottom: 1px solid #fff;
}
.catmenu.sml li a:hover {
	color: #900;
	border-bottom: 1px solid #900;
	background: none;
}
.catmenu.sml li.current {
	color: #0e7d3b;
	padding: 5px 10px 10px;
	border-bottom: 1px solid #0e7d3b;
}
/* sub_cts
-----------------------------------*/
.sub_cts {
	width: 245px;
	background: rgba(44,163,56,0.2);
	margin-top: 10px;
	margin-bottom: 0;
}
 @media screen and (max-width:900px) {
.sub_cts {
	display: none;
}
}
.submenu {
	margin: 10px;
	border-radius: 6px;
	line-height: 1.3;
}
.submenu ul {
	margin: 0;
	padding: 0;
}
.submenu li {
	list-style-type: none;
	position: relative;
	margin-bottom: 8px;
	font-size: 0.9em;
}
.submenu li a {
	display: block;
	padding: 10px 10px;
	background: #FFF;
	color: #000;
}
.submenu li.current a {
	background: #2ca339;
	color: #fff;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
}
.submenu li ul {
	background: #FFF;
	padding: 0 10px 15px 25px !important;
}
.submenu .togcts_n {
	padding: 10px 0 0;
}
.submenu .togcts_n a {
	background: #FFF !important;
	color: #000 !important;
	text-shadow: none !important;
}
.submenu li ul li {
	margin: 0;
	font-size: 1em;
}
.submenu li ul li a {
	border-bottom: 1px dashed #9fcbb1;
	padding: 8px 0;
}
.submenu li ul li.current a {
	border-bottom: 1px solid #2ca338;
	color: #0e7d3b !important;
	font-weight: 500;
}
.submenu li ul li a.current {
	border-bottom: 1px solid #2ca338;
	color: #0e7d3b !important;
	font-weight: 500;
}
.submenu li a:hover, .submenu li ul li a:hover {
	color: #fff;
	background: #0d7b39;
}
.submenu li.current a:hover {
	color: #fff;
	background: #2ca338;
}
.submenu li ul li a:hover {
	border-bottom: 1px solid #2ca338;
	background: #fff !important;
}
.submenu li ul li a:hover {
	color: #900 !important;
}
.submenu li ul li span a {
	font-size: 0.95em;
	margin-left: 0.95em;
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.submenu li ul li span a::before {
	content: url(../imgs/ic_note.png);
	color: #2ca338;
	padding-right: 0.2em;
}
.togttl::after {
	cursor: pointer;
}
.togttl::after {
	content: url(../imgs/arw_tog_p.png);
	position: absolute;
	right: 0;
	top: 4px;
}
.togttl.close::after {
	content: url(../imgs/arw_tog_m.png);
}
.togcts {
	display: none;
}
.togttl_n::after {
	cursor: pointer;
}
.togttl_n::after {
	content: url(../imgs/arw_tog_m.png);
	position: absolute;
	right: 0;
	top: 4px;
}
.togttl_n.close::after {
	content: url(../imgs/arw_tog_p.png);
}
.togttl_n {
	display: block;
}
.current .togttl_n.close::after {
	content: url(../imgs/arw_tog_p_c.png);
}
.current .togttl_n::after {
	content: url(../imgs/arw_tog_m_c.png);
}
.sub_catch {
	margin: 20px 10px 20px;
	list-style-type: none;
}
.sub_catch {
	margin: 20px 10px 20px;
	list-style-type: none;
}
.sub_catch li a {
	display: block;
	font-size: 0.95em;
	background: #fff;
	margin: 0 0 8px;
	padding: 10px 5px 10px;
	text-align: left;
	border-radius: 6px;
	color: #000;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.1);
}
.sub_catch li a img {
	width: 60px;
	display: inline-block;
	margin: 0 6px 0 0;
}
.sub_catch li a:hover {
	color: #900;
	background: #fcffe1;
}
.sub_catch li.current a {
	background: #2ca338;
	color: #fff;
}
.main_cts h2 {
	margin: 0 0 25px;
	padding: 5px 5px 15px;
	font-size: 1.8em;
	position: relative;
	font-weight: 600;
	line-height: 1.4;
	border-bottom: 5px double var(--primary-color);
}
.main_cts h2.tools {
	font-size: 1.7em;
}
.main_cts h2.meeting::before {
	content: "学術集会";
	color: #0e7d3b;
	font-size: 0.65em;
	margin: 0 0 2px;
	padding: 0;
	display: block;
}
.main_cts h2.journal::before {
	content: "学会雑誌";
	color: #0e7d3b;
	font-size: 0.65em;
	margin: 0 0 2px;
	padding: 0;
	display: block;
}
.main_cts h2.tools::before {
	content: "治験・臨床研究のお助けツール";
	color: #0e7d3b;
	font-size: 0.65em;
	margin: 0 0 2px;
	padding: 0;
	display: block;
}
 @media screen and (min-width:900px) {
.main_cts .h2wrap {
	display: flex;
	justify-content: space-between;
	align-items: end;
	margin: 0 0 25px;
	padding: 5px 5px 15px;
	border-bottom: 5px double var(--primary-color);
}
.main_cts .h2wrap h2 {
	border-bottom: none;
	margin: 0;
	padding: 0;
}
}
.main_cts .h2wrap div span {
	margin: 0 -5px 0 0;
	display: inline-block;
}
.main_cts .h2wrap div span a {
	padding: 5px 20px 7px 12px;
	display: block;
	border: 1px solid #0e7d3b;
	border-radius: 4px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.7);
	background: url(../imgs/arrow04_2.png) no-repeat right 4px top 6px, #2ca338;
	color: #fff;
	font-size: 0.9em;
	line-height: 1.4;
}
.main_cts .h2wrap div span a:hover {
	background: url(../imgs/arrow04_2.png) no-repeat right 4px top 6px, #0e7d3b;
}
.main_cts .h2wrap div.sort1 span a {
	background: url(../imgs/arrow06.png) no-repeat right 4px top 7px, #2ca338;
}
.main_cts .h2wrap div.sort1 span a:hover {
	background: url(../imgs/arrow06.png) no-repeat right 4px top 7px, #0e7d3b;
}
.main_cts .h2wrap div.sort2 span a {
	background: url(../imgs/arrow07.png) no-repeat right 4px top 7px, #2ca338;
}
.main_cts .h2wrap div.sort2 span a:hover {
	background: url(../imgs/arrow07.png) no-repeat right 4px top 7px, #0e7d3b;
}
 @media screen and (max-width:900px) {
.main_cts .h2wrap div {
	margin: -18px 5px 20px 0;
	text-align: right;
}
.main_cts h2 {
	font-size: 1.5em;
	padding: 5px 5px 10px;
}
.main_cts h2.tools {
	font-size: 1.3em;
}
}
 @media screen and (max-width:600px) {
.main_cts h2 {
	margin: 5px 0 15px;
	padding: 5px 0 10px;
	font-size: 1.2em;
}
.main_cts h2.tools {
	font-size: 1.2em;
}
.main_cts .h2wrap div {
	margin: -10px 5px 20px 0;
}
}
.main_cts h3, .main_cts .h3 {
	margin: 35px 0 15px;
	padding: 13px 5px 15px 14px;
	font-size: 1.4em;
	position: relative;
	font-weight: 600;
	line-height: 1.4;
	border-left: 6px solid var(--primary-color);
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.5) 30%, rgba(255, 255, 255, 0) 100%), url(../imgs/bg_h3.png);
}
.main_cts.past h3 {
	font-size: 1.1em;
	border-left: 6px solid #999;
	margin: 35px 0 5px;
	padding: 8px 0 6px 10px;
	background: none;
}
 @media screen and (max-width:1200px) {
.main_cts h3, .main_cts .h3 {
	font-size: 1.3em;
}
}
 @media screen and (max-width:900px) {
.main_cts h3, .main_cts .h3 {
	font-size: 1.2em;
}
h2 + h3 {
	margin-top: 15px !important;
}
.h2wrap + h3 {
	margin-top: 15px;
}
.h2wrap + .news {
	margin-top: -15px !important;
}
}
 @media screen and (max-width:600px) {
.main_cts h3, .main_cts .h3 {
	font-size: 1.1em;
}
}
.main_cts h4 {
	margin: 25px 0 0 0;
	padding: 5px 5px 10px 1.35em;
	font-size: 1.2em;
	position: relative;
	font-weight: 600;
	line-height: 1.6;
	text-indent: -1.35em;
	border-bottom: 2px solid #9fcbb1;
}
.main_cts.h4nl h4 {
	border-bottom: none;
	padding: 5px 5px 5px 1.5em;
}
.main_cts .past h4 {
	padding: 5px 5px 0 1.5em;
	border-bottom: none;
}
.main_cts h4::before {
	content: "●";
	color: #0e7d3b;
	margin: 0 5px 0 0;
}
.main_cts .past h4 {
	font-size: 1.05em;
}
.main_cts .past h4::before {
	color: #999;
}
.main_cts h4 .br {
	display: block;
}
 @media screen and (max-width:1200px) {
.main_cts h4 {
	font-size: 1.1em;
}
.main_cts h4 .br {
	display: inline;
	margin-left: 1em;
}
}
 @media screen and (max-width:600px) {
.main_cts h4 {
	font-size: 1.05em;
}
}
.main_cts.h4_3 h3 {
	margin: 25px 0 0 1.5em;
	padding: 5px 5px 5px 0;
	font-size: 1.2em;
	position: relative;
	font-weight: 600;
	line-height: 1.6;
	text-indent: -1.5em;
	border-left: none;
	background: none;
}
.main_cts.h4_3 h3::before {
	content: "●";
	color: #0e7d3b;
	margin: 0 5px 0 0;
}
.main_cts.h4_3 .past h3 {
	font-size: 1.05em;
}
.main_cts.h4_3 .past h3::before {
	color: #999;
}
.main_cts.h4_3 .spn01 {
	display: inline-block;
	font-size: 0.85em;
	font-weight: 400;
	margin: 0 0 0 1em;
	padding: 0 3px 1px;
	color: #0e7d3b;
	position: relative;
	bottom: 0;
	border: 1px solid #0e7d3b;
	text-indent: 0;
}
 @media screen and (max-width:1200px) {
.main_cts.h4_3 h3 {
	font-size: 1.15em;
}
}
 @media screen and (max-width:600px) {
.main_cts.h4_3 h3 {
	font-size: 1.1em;
}
}
/* div h4 */
.h4 {
	margin: 25px 0 0 1.2em;
	padding: 5px 5px 5px 0;
	font-size: 1.2em;
	position: relative;
	font-weight: 600;
	line-height: 1.4;
	text-indent: -1.5em;
}
.h4::before {
	content: "●";
	color: #0e7d3b;
	margin: 0 5px 0 0;
}
.main_cts h5 {
	margin: 10px 0 5px;
	padding: 5px 5px 5px 0;
	font-size: 1.1em;
	position: relative;
	font-weight: 600;
	line-height: 1.4;
}
.main_cts h5::before {
	content: "◆";
	color: #a4c41c;
	margin: 0 8px 0 0;
}
.main_cts .past h5 {
	padding: 5px 5px 0 0;
	font-size: 1em;
}
.main_cts .past h5::before {
	color: #999;
}
ul.pglink01 {
	margin: 0;
	padding: 0;
}
ul.pglink01 li {
	list-style-type: none;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 10px 0;
	border: 2px solid #2ca338;
	position: relative;
	transition: 0.3s;
	line-height: 1.4;
}
ul.pglink01 li a {
	display: block;
	padding: 12px 30px 14px 15px;
	text-indent: 0;
	color: #000;
	background: url(../imgs/arrow04.png) no-repeat right 10px center, rgba(44,163,56,0.1);
}
ul.pglink01 li a:hover {
	background: url(../imgs/arrow04.png) no-repeat right 10px center, rgba(207,227,231,0.05);
	color: #900;
}
ul.pglink01.sml li {
	border: 1px solid #2ca338;
}
ul.pglink01.sml li a {
	padding: 8px 30px 10px 15px;
	background: url(../imgs/arrow04.png) no-repeat right 10px center, rgba(44,163,56,0.07);
}
ul.pglink01 li.pdf a {
	padding: 12px 45px 14px 15px;
	background: url(../imgs/PDF_32.png) no-repeat right 10px center, rgba(44,163,56,0.1);
}
ul.pglink01 li.pdf a:hover {
	background: url(../imgs/PDF_32.png) no-repeat right 10px center, rgba(207,227,231,0.05);
}
ul.pglink01 li.mail {
	padding: 12px 18px 12px 15px;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #2ca338;
	background: url(../imgs/arrow04.png) no-repeat left center, #fff;
}
ul.pglink01 li.simple {
	padding: 12px 6px 12px 18px;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #2ca338;
	background: url(../imgs/arrow04.png) no-repeat left top 14px, #fff;
}
ul.pglink01 li.simple a {
	display: block;
	padding: 0;
	background: none;
}
ul.pglink01 li.simple a:hover {
	background: none;
	color: #900;
}
ul.pglink01 li.col01 {
	border: 2px solid #2d74df;
}
ul.pglink01 li.col01 a {
	background: url(../imgs/arrow04_1.png) no-repeat right 10px center, rgba(45,116,223,0.1);
}
ul.pglink01 li.col01 a:hover {
	background: url(../imgs/arrow04_1.png) no-repeat right 10px center, rgba(45,116,223,0.05);
	color: #900;
}
/* 202510 ADD */
.main_cts {
	font-size: 0.95em;
	line-height: 2;
}
.main_cts p {
	margin-top: 0;
	margin-bottom: 15px;
}
.main_cts p.title {
	text-align: center;
	font-weight: bold;
	margin: 15px 5px 10px;
	font-size: 1.2em;
	line-height: 1.6;
	text-decoration: underline;
	text-indent: 0;
}
 @media screen and (max-width:1300px) {
.main_cts p.title {
	font-size: 1.1em !important;
}
}
.main_cts .past p {
	line-height: 1.6;
}
table p {
	margin-bottom: 0 !important;
}
ol.nml {
	margin-left: 20px;
	margin-bottom: 15px;
}
ul.nml {
	margin-left: 20px;
	margin-bottom: 15px;
}
ol.nml.ur {
	list-style-type: upper-roman;
}
ol.nml li, ul.nml li {
	line-height: 1.6;
	margin-bottom: 6px;
}
ol.ir01 {
	margin: 0;
	padding: 0
}
ol.ir01 li {
	list-style: none;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.4;
	margin-bottom: 3px;
}
ul.board {
	margin: 0 0 30px 10px;
	padding: 0;
	display: block;
}
ul.board li {
	display: inline-block;
	text-align: center;
	border-bottom: 1px solid #9fcbb1;
	line-height: 1.6;
	text-decoration: none;
	padding: 8px 0 10px;
	margin: 0 8px 2px 0;
	width: 115px;
}
@media screen and (max-width:900px) {
ul.board {
	margin: 0 0 30px 0;
}
ul.board li {
	width: auto;
	margin: 5px;
	padding: 5px;
}
}
ul.support {
	margin: 0 0 30px 0;
	padding: 0;
	display: block;
}
ul.support li {
	display: inline-block;
	text-align: center;
	border-bottom: 1px solid #9fcbb1;
	line-height: 1.6;
	text-decoration: none;
	padding: 8px 15px 10px;
	margin: 0 15px 15px 0;
}
@media screen and (max-width:600px) {
ul.support {
	margin: 0 0 10px 0;
}
ul.support li {
	width: 100%;
	text-align: left;
	margin: 5px 0;
	padding: 0 0 10px;
}
}
ul.links {
	margin: 0 0 30px 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}
ul.links li {
	width: calc((100% - 40px) / 2);
	list-style-type: none;
	border-bottom: 1px solid #9fcbb1;
	line-height: 1.6;
	text-decoration: none;
	padding: 0 15px 10px;
	margin: 0 10px 15px;
}
@media screen and (max-width:900px) {
ul.links {
	display: block;
}
ul.links li {
	width: 100%;
	padding: 0 15px 10px;
	margin: 0 0 15px;
}
}
.box01 {
	margin: 0;
	padding: 7px 14px 9px;
	border: 1px solid #9fcbb1;
}
/* table */
table.tt th {
	text-align-last: justify;
}
@media screen and (max-width:600px) {
table.tt th {
	text-align-last: left;
}
.tbl02.tt th {
	text-align-last: justify;
}
}
/*委員会／タスクフォース*/
.tbl01 {
	padding: 0;
	margin: 0 0 30px 0;
}
.tbl01 th, .tbl01 td {
	vertical-align: top;
	line-height: 1.6;
	padding: 3px 0;
}
.tbl01 th {
	white-space: nowrap;
	text-align: left;
	font-weight: 400;
	width: 7em;
}
.tbl01 td.mark {
	width: 20px;
}
.tbl01 td.org {
	font-size: 0.95em;
}/*特商, 会員種別, 学術集会*/
.tbl02 {
	padding: 0;
	margin: 0 -2px;
	border-collapse: separate;
	border-spacing: 2px;
}
.tbl02 th, .tbl02 td {
	vertical-align: top;
	line-height: 1.6;
	padding: 10px 12px 12px;
}
.tbl02 th {
	white-space: nowrap;
	text-align: left;
	font-weight: 400;
	background: rgba(44,163,56,0.1);
}
.tbl02 td.ttl1 {
	font-size: 1.15em;
	font-weight: 600;
	padding: 20px 0 8px 18px;
	background: url(../imgs/point_01.png) no-repeat left top 20px;
}
@media screen and (min-width:600px) {
.tbl02 th span {
	display: block;
}
}
.past .tbl02 th, .past .tbl02 td {
	line-height: 1.6;
	padding: 5px 12px 7px;
}
.past .tbl02 th {
	background: #e1e1e1;
}
.past .tbl02 td.ttl1 {
	font-size: 1.1em;
	background: url(../imgs/point_02.png) no-repeat left top 30px;
	padding: 30px 0 8px 18px;
}
.past .tbl02 tr:first-child .ttl1 {
	background: url(../imgs/point_02.png) no-repeat left top 20px;
	padding: 20px 0 8px 18px;
}
@media screen and (max-width:600px) {
.tbl02 th, .tbl02 td, .past .tbl02 th, .past .tbl02 td {
	line-height: 1.4;
	padding: 10px 8px 12px;
}
.tbl02.spblk th, .tbl02.spblk td {
	padding: 6px 12px 8px;
	display: block;
}
.past .tbl02 td.ttl1 {
	background: url(../imgs/point_02.png) no-repeat left top 22px;
	padding: 25px 0 8px 18px;
}
.past .tbl02 tr:first-child .ttl1 {
	background: url(../imgs/point_02.png) no-repeat left top 18px;
	padding: 20px 0 8px 18px;
}
}
/*定款・規定*/
.tbl03 {
	padding: 0;
	margin: 20px 0 30px 0;
}
.tbl03 th, .tbl03 td {
	vertical-align: top;
	line-height: 1.6;
	padding: 30px 0;
	border-bottom: 1px solid #9fcbb1;
}
.tbl03 th {
	white-space: nowrap;
	text-align: left;
	font-weight: 400;
}
.tbl03 th a {
	display: block;
	text-align: center;
	padding: 15px 50px 18px 20px;
	background: url(../imgs/PDF_32.png) no-repeat right 10px center, #f6f9e8;
	border: 2px solid #2ca338;
	border-radius: 6px;
	color: #000;
}
.tbl03 th a:hover {
	background: url(../imgs/PDF_32.png) no-repeat right 10px center, #fff;
	color: #900;
}
.tbl03 th.page a {
	padding: 15px 30px 18px 20px;
	background: url(../imgs/arrow04.png) no-repeat right 10px center, #fff;
	border: 2px solid rgba(44,163,56,0.5);
}
.tbl03 th.page a:hover {
	background: url(../imgs/arrow04.png) no-repeat right 10px center, #fff;
	color: #900;
	border: 2px solid rgba(44,163,56,1);
}
.tbl03 td {
	padding-left: 15px;
}
@media screen and (max-width:900px) {
.tbl03 th {
	display: block;
	padding: 30px 0 10px;
	border-bottom: none;
}
.tbl03 td {
	display: block;
	padding: 0;
	border-bottom: none;
}
.tbl03 td.blk {
	display: none;
}
}
/*年会費*/
.tbl04 {
	padding: 0;
	margin: 0 0 15px 0;
	border-collapse: separate;
	border-spacing: 2px;
}
.tbl04 th, .tbl04 td {
	vertical-align: top;
	line-height: 1.6;
	padding: 10px 12px 12px;
}
@media screen and (min-width:600px) {
.tbl04 th, .tbl04 td {
	min-width: 200px;
}
}
.tbl04 th {
	white-space: nowrap;
	text-align: left;
	font-weight: 400;
	background: rgba(164,196,28,0.2);
}
.tbl04 td {
	background: rgba(164,196,28,0.06);
}
/*Tools, 認定, セミナー*/
.tbl05 {
	padding: 0;
	margin: 0 0 15px 0;
	border-collapse: separate;
	border-spacing: 2px;
}
.tbl05 th, .tbl05 td {
	vertical-align: top;
	line-height: 1.6;
	padding: 10px 12px 12px;
}
.tbl05.tools.wide {
	min-width: 600px;
}
.tbl05.tools th {
	vertical-align: middle;
	text-align: center;
}
.tbl05.tools th, .tbl05.tools td {
	vertical-align: middle;
}
.tbl05 th {
	white-space: nowrap;
	text-align: left;
	font-weight: 400;
	background: rgba(164,196,28,0.2);
}
.tbl05 td {
	background: rgba(164,196,28,0.06);
}
.tbl05 th.ir01 {
	white-space: normal;
}
.tbl05 td.ir01 {
	background: #FFF;
	padding: 10px 0 12px;
}
.tbl05 td.ir02 {
	text-align: center;
	width: 80px;
	white-space: nowrap;
}
@media screen and (max-width:600px) {
.nopast .tbl05 th, .nopast .tbl05 td {
	display: block;
	padding: 5px 12px 6px;
}
.tbl05.ir01 th {
	white-space: normal;
}
.tbl05.ir01 th, .tbl05.ir01 td {
	display: block;
}
}
.past .tbl05 th {
	background: #e1e1e1;
	padding: 5px 8px 6px;
}
.past .tbl05 td {
	background: #f7f7f7;
	padding: 5px 8px 6px;
}
.tblnml {
	padding: 0;
	margin: 0;
}
.tblnml th, .tblnml td {
	vertical-align: top;
	line-height: 1.6;
	padding: 3px 0;
	background: none;
}
.tblnml th {
	white-space: nowrap;
	text-align: left;
	font-weight: 400;
	background: none;
}
.tblnml.nar th, .tblnml.nar td {
	padding: 0 0;
}
@media screen and (max-width:600px) {
.nopast .tbl05 .tblnml th {
	display: table-cell;
}
.nopast .tbl05 .tblnml td {
	display: table-cell;
}
}
.nopast {
	margin-top: -10px;
}
/*FACTBOOK, 代議員名簿*/
ul.pglink02 {
	text-align: center;
	margin: 20px 0;
}
ul.pglink02 ul {
	margin: 0 0 25px;
}
ul.pglink02 li {
	display: block;
	margin: 0 10px;
	font-size: 1.1em;
}
ul.pglink02 li a {
	display: inline-block;
	border: 2px solid #2ca338;
	border-radius: 6px;
	padding: 15px 70px 12px;
	background: rgba(44,163,56,0.07);
	text-decoration: none;
	color: #000;
}
ul.pglink02 li a:hover {
	background: #fff;
	color: #900;
}
@media screen and (max-width:600px) {
ul.pglink02 li a {
	padding: 15px 40px 12px;
}
}
/*入会申請リンク*/
ul.pglink03 {
	margin: 15px 0 0;
	padding: 0;
}
ul.pglink03 li {
	list-style-type: none;
	display: inline-block;
	vertical-align: middle;
	margin: 0 15px 10px 0;
	border: 2px solid #0077a3;
	position: relative;
	transition: 0.3s;
	line-height: 1.4;
}
ul.pglink03 li a {
	display: block;
	padding: 12px 36px 14px 15px;
	text-indent: 0;
	font-size: 1.05em;
	color: #000;
	background: url(../imgs/ic_blk.png) no-repeat right 10px center, rgba(0,119,163,0.1);
}
ul.pglink03 li a:hover {
	background: url(../imgs/ic_blk.png) no-repeat right 10px center, rgba(0,119,163,0.05);
	color: #900;
}
ul.pglink03 li.mypage {
	border: 2px solid #be416a;
}
ul.pglink03 li.mypage a {
	padding: 12px 36px 14px 15px;
	background: url(../imgs/ic_blk.png) no-repeat right 10px center, rgba(190,65,106,0.1);
}
ul.pglink03 li.mypage a:hover {
	background: url(../imgs/ic_blk.png) no-repeat right 10px center, rgba(190,65,106,0.05);
	color: #900;
}
ul.pglink03 li.word a {
	padding: 12px 50px 14px 15px;
	background: url(../imgs/ic_docx.png) no-repeat right 10px center, rgba(0,119,163,0.1);
}
ul.pglink03 li.word a:hover {
	background: url(../imgs/ic_docx.png) no-repeat right 10px center, rgba(0,119,163,0.05);
	color: #900;
}
ul.pglink03 li.pdfs {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 2px solid #0077a3;
}
ul.pglink03 li.pdfs a {
	padding: 12px 55px 14px 15px;
	font-size: 1em;
	background: url(../imgs/PDF_32.png) no-repeat right 15px center, #fff;
}
ul.pglink03 li.pdfs a:hover {
	background: url(../imgs/PDF_32.png) no-repeat right 15px center, #fff;
}
/*認定規則*/
ul.pglink04 {
	margin: 0 0 10px 0;
	padding: 0;
}
ul.pglink04 li {
	list-style-type: none;
	display: inline-block;
	vertical-align: middle;
	margin: 0 15px 10px 0;
	position: relative;
	transition: 0.3s;
	line-height: 1.4;
}
ul.pglink04 li.pdf a {
	display: block;
	padding: 3px 50px 12px 1.35em;
	text-indent: 0;
	font-size: 1.05em;
	font-weight: 600;
	border-bottom: 2px solid #0e7d3b;
	background: url(../imgs/PDF_32.png) no-repeat right 5px top;
	text-indent: -1.35em;
}
ul.pglink04 li.pdf a::before {
	content: "●";
	color: #0e7d3b;
	margin: 0 5px 0 0;
}
ul.pglink04 li.pdf a:hover {
	border-bottom: 2px solid #900;
	background: url(../imgs/PDF_32.png) no-repeat right 5px top;
}
ul.pglink05 {
	margin: 10px 0 0;
	padding: 0;
}
ul.pglink05 li {
	list-style-type: none;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 10px 0;
	position: relative;
	transition: 0.3s;
	line-height: 1.4;
}
ul.pglink05 li a {
	display: block;
	padding: 14px 35px 16px 15px;
	text-indent: 0;
	font-size: 1.05em;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
	border-radius: 5px;
	border: 1px solid #1259c4;
	color: #fff;
	background: url(../imgs/arrow04_2.png) no-repeat right 10px center, #2d74df;
}
ul.pglink05 li a:hover {
	border: 1px solid #900;
	background: url(../imgs/arrow04_2.png) no-repeat right 10px center, #900;
}
ul.notice01 {
	margin-left: 1.25em;
	padding: 0;
	line-height: 1.6;
}
ul.notice01 li {
	text-indent: -1.25em;
	list-style-type: none;
	margin-bottom: 5px;
}
ul.notice01.nar li {
	margin-bottom: 0;
}
ul.notice01 li::before {
	content: "※ ";
}
ul.notice01 li.red::before {
	color: #F00;
}
ul.disc01, ul.disc02 {
	margin-left: 1.25em;
	padding: 0;
	line-height: 1.6;
}
ul.disc01 li, ul.disc02 li {
	text-indent: -1.25em;
	list-style-type: none;
	margin-bottom: 5px;
}
ul.disc01 li::before {
	content: "● ";
}
ul.disc02 li::before {
	content: "○ ";
}
.encircle01 {
	display: inline-block;
	background: #fcf2f2;
	padding: 10px 15px;
	border-radius: 6px;
}
.encircle02 {
	padding: 10px 20px 15px;
	border: 1px solid #a4c41c;
	border-radius: 6px;
}
.encircle03 {
	display: inline-block;
	padding: 10px 15px;
	border: 2px solid #f09898;
	border-radius: 6px;
	background: #feffe8;
}
/* 関連メニュー用*/
.encircle04 {
	border-top: 1px solid #c4edc6;
	padding: 10px 20px;
	background: #eff4ef;
	margin: 40px -30px -30px !important;
}
@media screen and (max-width:900px) {
.encircle04 {
	padding: 10px;
	margin: 40px -10px -30px !important;
}
}
@media screen and (max-width:600px) {
.encircle01, .encircle02, .encircle03, .encircle04 {
	padding: 10px;
}
}
.encircle05 {
	display: inline-block;
	padding: 10px;
	margin: 0;
	background: #ebebeb;
}
.encircle05 ul.pglink04 li.pdf a {
	display: block;
	padding: 3px 50px 12px 5px;
	text-indent: 0;
	font-size: 1.05em;
	font-weight: 600;
	border-bottom: 2px solid #999;
	background: url(../imgs/PDF_32.png) no-repeat right 5px top;
}
.encircle05 ul.pglink04 li.pdf a::before {
	color: #999;
}
.encircle05 ul.pglink01 li {
	border: 1px solid #999;
}
.encircle05 ul.pglink01 li a {
	display: block;
	padding: 12px 30px 14px 15px;
	text-indent: 0;
	color: #000;
	background: url(../imgs/arrow04.png) no-repeat right 10px center, rgba(255,255,255,0.5);
}
.encircle05 ul.pglink01 li a:hover {
	background: url(../imgs/arrow04.png) no-repeat right 10px center, rgba(255,255,255,0.8);
	color: #900;
}
.encircle05 .tbl05 th {
	background: #d0d0d0;
	padding: 5px 12px 6px;
}
.encircle05 .tbl05 td {
	background: rgba(255,255,255,0.7);
	padding: 5px 12px 6px;
}
.encircle06 {
	display: inline-block;
	background: #fff;
	padding: 30px;
	border-radius: 6px;
	text-align: center;
	border: 2px solid #9fcbb1;
}
.flex01 {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	width: 100%;
}
.flex01 div {
	flex: 1;
}
@media screen and (max-width:900px) {
.flex01 {
	display: block;
}
}
.flex02 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
	margin: 0;
}
@media screen and (max-width:1100px) {
.flex02 {
	display: block;
}
}
.meetpos {
}
.meetpos {
	min-width: 250px !important;
}
@media screen and (max-width:1100px) {
.meetpos {
	margin: 10px 0;
}
}
@media screen and (max-width:600px) {
.meetpos {
	text-align: center;
}
}
.grid01 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 32px;
	margin-bottom: 60px;
	align-self: start;
}
.grid01:last-child {
	margin-bottom: 30px;
}
.grid01 h4 {
	margin: 0;
	border-bottom: none;
	padding: 5px 5px 0 1.35em;
	display: inline-block;
}
.com_mov {
	width: 100%;
	max-width: 800px;
	margin: 0 auto !important;
}
.com_mov iframe {
	margin: 10px 0;
	border: 1px solid #000;
}
h3 + .grid01 {
	margin-top: 0;
}
 @media screen and (max-width:1500px) {
.grid01 {
	display: block;
}
.grid01 h4 {
	margin-top: 30px;
}
h3 + .grid01 {
	margin-top: -15px;
}
}
.ready {
	background: #ffffff;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(230, 230, 230, 1) 100%);
	padding: 30px 0;
	min-height: 150px;
	margin-top: 10px;
	text-align: center;
}
.main_cts p + h3 {
	margin-top: 20px;
}
.main_cts h4 + table {
	margin-top: 5px;
}
.main_cts h4 + p {
	margin-top: 10px;
}
.main_cts h4 + h5 {
	margin-top: 0;
}
/*JSCTR_info_20231201*/
.statement p {
	text-indent: 1em;
}
.statement.noidt p {
	text-indent: 0;
}
.statement p.ttl1 {
	margin-top: 5px;
	text-indent: 0;
	font-size: 1em;
	font-weight: bold;
	text-decoration: underline;
}
.statement p.ttl2, .statement p.ttl3 {
	text-indent: 0;
	font-size: 1em;
	margin-bottom: 0;
}
.statement p.ttl2 {
	margin-top: 5px;
	font-weight: bold;
}
.statement p.ttl3 {
	margin-top: 5px;
}
.statement p.ttl4 {
	text-align: center;
	font-weight: bold;
	margin: 5px 5px 0;
	font-size: 1.3em;
	text-indent: 0;
	color: #F00;
}
.statement p.ttl5 {
	text-align: center;
	text-indent: 0;
	font-size: 1.1em;
	font-weight: bold;
}
.statement p.txt1 {
	text-indent: 0;
	margin-bottom: 0;
	margin-left: 30px;
}
.statement p.img {
	text-indent: 0;
	text-align: center;
	margin-bottom: 0;
}
.statement p:last-child {
	margin-bottom: 0;
}
.statement p.title {
	text-align: center;
	font-weight: bold;
	margin: 15px 5px 10px;
	font-size: 1.4em;
	text-decoration: underline;
	text-indent: 0;
}
@media screen and (max-width:600px) {
.statement p.title {
	font-size: 1.2em;
}
}
.statement p.heading {
	margin: 15px 5px 10px;
	text-decoration: underline;
	text-indent: 0;
}
.statement table {
	border-collapse: collapse;
	margin-bottom: 15px;
	overflow-x: scroll;
	min-width: 600px;
}
.tblscr {
	overflow-x: scroll;
}
.statement .tblnml_l th, .statement .tblnml_l td {
	border: solid 1px;
	padding: 6px;
}
.statement .tblnml_l th {
	font-weight: normal;
	text-align: center;
	background: #d7d7d7;
}
.statement .tblnml_l th.w1 {
	width: 28%;
}
.linkf1 {
	display: inline-block;
	background: url(../imgs/ic_blk.png) no-repeat right 10px center, url(../imgs/arrow03.png) no-repeat left center, #fff;
	margin: 2px 0 0 15px;
	padding: 3px 30px 5px 20px;
	border: 1px solid #2ca338;
}
.linkf1:hover {
	border: 1px solid #900;
}
.title01 {
	margin: 30px 0 10px;
	padding: 0 0 4px 10px;
	color: #0e7d3b;
	font-size: 1.3em;
	font-weight: 600;
	line-height: 1.6;
	border-left: 2px solid #2ca338;
	border-bottom: 2px solid #2ca338;
}
.title01 + h4 {
	margin-top: 10px;
}
.lead {
	margin: 10px 0 15px 5px;
}
.lead p {
	line-height: 1.5;
	font-size: 0.95em;
	margin-bottom: 6px;
}
.tgl01 {
	margin: 0;
	padding: 0 10px 10px;
}
.tgl01 .tglttl {
	background: url(../imgs/arw_tog_p.png) no-repeat right -8px top 1px, url(../imgs/arrow04.png) left top 6px no-repeat;
	border-bottom: solid 1px #cccc99;
	cursor: pointer;
	color: #03c;
	padding: 0 48px 8px 24px;
	margin: 0;
	text-decoration: none;
}
.tgl01 .tglttl:hover {
	color: #c36;
	text-decoration: none;
}
.tgl01 .tglttl.close {
	background: url(../imgs/arw_tog_m.png) no-repeat right -8px top 1px, url(../imgs/arrow04.png) left top 6px no-repeat;
}
.tgl01 .tglcts {
	display: none;
	font-weight: normal;
	padding: 0 4px 0 2px;
	margin: 0;
	border-left: solid 1px #cccc99;
	border-right: solid 1px #cccc99;
	border-bottom: solid 1px #cccc99;
	background: rgba(164,196,28,0.06);
}
@media screen and (max-width:600px) {
.tgl01 {
	padding: 0 0 10px;
}
}
.tgl01 ol {
	margin: 0 0 10px 25px;
	padding: 5px 10px;
	line-height: 1.6;
}
.tgl01 ol li {
	border-bottom: dashed 1px #cccc99;
	padding: 6px 0;
}
.tgl01 ol li span {
	font-size: 0.9em;
	display: block;
}
.pnf {
	font-size: 1.4em;
	color: #0e7d3b;
	font-weight: 600;
	text-align: center;
	padding: 40px 0;
}
@media screen and (max-width:900px) {
.pnf {
	font-size: 1.2em;
}
}
 @media print {
html, body {
	margin: 0;
	padding: 0;
	height: auto;
	font-size: 12px;
	background: none;
}
#menubar, #menubar_hdr, .pkz, .pagetop, .topbtn, .slf, .btmbtn, .gsearch, .footermenu, .sub_cts, .encircle04, .h2wrap div {
	display: none;
}
header {
	display: block;
	border-bottom: solid 3px #0e7d3b;
	padding-bottom: 10px;
}
h1 img {
	width: 300px;
}
#footer {
	padding: 0 10px;
}
.footer_cts {
	display: block;
}
.footer_cts .left {
	margin: 0 auto;
	text-align: center;
}
.footer_cts p, footer {
	font-size: 1em;
}
.flogo img {
	width: 270px;
}
.main_cts {
	max-width: 100%;
	padding: 0;
}
.catmenu li {
	width: calc((100% - 60px) / 2);
	font-size: 0.9rem;
}
.catmenu li.c1, .catmenu li.c2, .catmenu li.c3 {
	width: 100%;
}
.catmenu li.c1 span, .catmenu li.c2 span {
	display: inline-block;
}
.sitemap {
	margin-top: 30px;
}
.encircle02 {
	border: none;
}
}
