/*--------------------------------------------------------------
 全ページ共通（style.cssからの書き換え）
--------------------------------------------------------------*/
h1 {
	font-size: 40px;
	font-weight: 600;
	font-family: "Noto serif JP", serif;
	color: #006c60;
	text-align: center;
	border-bottom: 1px solid #006c60;
	max-width: 1200px;
	margin-inline: auto;
	padding-block: 50px;
	background: url("../images/member/h1-bg.png");
	background-position: -25px bottom;
	background-repeat: no-repeat;
	background-size: 325px;
} 

h2 {
	font-size: 26px;
	border-bottom: 5px solid #006c60;
	padding-bottom: 10px;
	margin-block: 0 40px;
}

a {
	color: #333;
}

a:hover {
	
}

a[href^="tel:"] {
	position: relative;
	line-height: 1;
	margin-bottom: 0.15em;
}

a[href^="tel:"]:before {
	content: "\f095";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #006c60;
	position: absolute;
	left: -1.6em;
	top: 57%;
	transform: rotate(15deg) translateY(-50%);
}

a.button {
	width: fit-content;
	height: 50px;
	border: 1px solid #006c60;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #006c60;
	text-decoration: none;
	margin-inline: auto;
	padding: 10px 53px;
	position: relative;
}

a.button:hover {
	color: #fff;
	background: #006c60;
}

a.arrow:after {
	position: absolute;
	content: "";
	height: 10px;
	width: 80px;
	clip-path: polygon(88% 2.5%, 100% 100%, 0% 100%, 0 90%, 97% 90%, 87% 10%);
	background: #006c60;
	top: calc(50% - 2px);
	right: -50px;
	transform: translateY(-50%);
}

input {
	display: none;
}

p {
	margin: 0;
}

.site-main .inner-block {
	padding: 0px 20px 80px;
	max-width: 1240px;
}

.site-main .inner-block:has(.breadcrumbs) {
	padding-bottom: 0;
}

.site-main section .inner-block {
	max-width: 1040px;
	padding-top: 40px;
}

@media screen and (max-width: 1100px) {	
	h1 {
		margin-inline: 20px;
	}
	
	body.has-sidebar h1 {
		margin-inline: 0;
	}
	
	.site-content .inner-block:has(h1) {
		margin-top: 60px;
	}
	
	.site-main .inner-block {
		padding-inline: 25px;
		margin-top: 60px;
	}
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 28px;
		padding: 35px 12.5px;
		background-position: -15px bottom;
    	background-size: 150px;
	}
	
	a.button {
		height: 38px;
		padding: 6px 35px;
	}
	
	a.arrow:after {
		height: 8px;
		width: 62px;
		clip-path: polygon(88% 2.5%, 100% 100%, 0% 100%, 0 87.5%, 96.5% 87.5%, 86.5% 10%);
		right: -43px;
	}
	
	.site-main .inner-block {
		padding-inline: 15px;
	}
}

.post-meta h2 {
	font-family: "Noto Sans JP", serif;
	color: #333;
	padding: 0 0 10px;
	border-bottom-color: #006c60;
	margin-bottom: 0;
	width: 100%;
}

/* タブ -------------------------- */
.tabs {
	display: flex;
	gap: 30px;
	margin-bottom: 65px;
}
.tabs ~ div {
	display: none;
}
.tabs li {
	width: calc((100% - 60px)/2);
}
.tabs li label {
	cursor: pointer;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eee;
	color: #666;
	font-weight: 700;
	position: relative;
	transition: all 0.25s ease;
	text-align: center;
}
.tabs li label:after {
	content: "";
	width: 20px;
	height: 20px;
	background: #eee;
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%) rotate(45deg);
	z-index: -1;
	transition: all 0.25s ease;
}
.tabs li:hover label,
.tabs li:hover label:after,
.tabs li input:checked ~ label,
.tabs li input:checked ~ label:after {
	color: #fff;
	background: #606060;
}
.tabs li:has(#tab-news):hover label, /* お知らせ */
.tabs li:has(#tab-news):hover label:after,
.tabs li:has(#tab-news) input:checked ~ label,
.tabs li:has(#tab-news) input:checked ~ label:after {
	background: #338277;
}
.tabs li:has(#tab-seminar):hover label:after, /* 委員会・セミナー */
.tabs li:has(#tab-seminar):hover label,
.tabs li:has(#tab-seminar) input:checked ~ label,
.tabs li:has(#tab-seminar) input:checked ~ label:after {
	background: #ff6700;
}
.tabs li:has(#tab-prefecture):hover label:after, /* 県からのお知らせ */
.tabs li:has(#tab-prefecture):hover label,
.tabs li:has(#tab-prefecture) input:checked ~ label,
.tabs li:has(#tab-prefecture) input:checked ~ label:after {
	background: #314fad;
}
.tabs li:has(#tab-m-all):hover label, /* すべて（会員向け情報） */
.tabs li:has(#tab-m-all):hover label:after,
.tabs li:has(#tab-m-all) input:checked ~ label,
.tabs li:has(#tab-m-all) input:checked ~ label:after {
	background: #338277;
}
.tabs li:has(#tab-m-regular):hover label, /* 例会 */
.tabs li:has(#tab-m-regular):hover label:after,
.tabs li:has(#tab-m-regular) input:checked ~ label,
.tabs li:has(#tab-m-regular) input:checked ~ label:after {
	background: #4066c6;
}
.tabs li:has(#tab-m-seminar):hover label, /* 委員会・セミナー */
.tabs li:has(#tab-m-seminar):hover label:after,
.tabs li:has(#tab-m-seminar) input:checked ~ label,
.tabs li:has(#tab-m-seminar) input:checked ~ label:after {
	background: #ff6700;
}
.tabs li:has(#tab-m-others):hover label, /* その他お知らせ */
.tabs li:has(#tab-m-others):hover label:after,
.tabs li:has(#tab-m-others) input:checked ~ label,
.tabs li:has(#tab-m-others) input:checked ~ label:after {
	background: #606060;
}
.tabs li label br {
	display: none;
}
.tabs ~ .tab-all {
	display: none;
}

/* カテゴリアイコン -------------------------- */
a.category {
	width: 170px;
	height: 30px;
	border-radius: 15px;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	text-decoration: none;
	flex-shrink: 0;
	border: 1px solid #606060;
	background: #606060;	
}
a.category:hover {
	background: #fff;
	color: #606060;
}
a.category.label-info { /* お知らせ */
	border: 1px solid #338277;
	background: #338277;
} 
a.category.label-info:hover {
	color: #338277;	
	border-color: #338277;
	background: #fff;
} 
a.category.label-seminar { /* 委員会・セミナー */
	border: 1px solid #ff6700;
	background: #ff6700;
}
a.category.label-seminar:hover {
	color: #ff6700;	
	border-color: #ff6700;
	background: #fff;
} 
a.category.label-prefecture { /* 県からのお知らせ */
	border: 1px solid #314fad;
	background: #314fad;
} 
a.category.label-prefecture:hover {
	color: #314fad;	
	border-color: #314fad;
	background: #fff;
}
a.category.label-member { /* すべて（会員向け情報） */
	border: 1px solid #338277;
	background: #338277;
}
a.category.label-member:hover {
	color: #338277;
	border-color: #338277;
	background: #fff;
}
a.category.label-m-regular { /* 例会 */
	border: 1px solid #4066c6;
	background: #4066c6;
}
a.category.label-m-regular:hover {
	color: #4066c6;	
	border-color: #4066c6;
	background: #fff;
}
a.category.label-m-seminar { /* 委員会・セミナー */
	border: 1px solid #ff6700;
	background: #ff6700;
}
a.category.label-m-seminar:hover {
	color: #ff6700;
	border-color: #ff6700;
	background: #fff;
}
a.category.label-m-others { /* その他お知らせ */
	border: 1px solid #606060;
	background: #606060;
}
a.category.label-m-others:hover {
	color: #606060;
	border-color: #606060;
	background: #fff;
}

.list {
	margin-block: 25px 65px;
}

.list li {
	display: flex;
	align-items: center;
	gap: 0 30px;
	margin-bottom: 30px;
}

.list li span.date {
	width: 85px;
}

table {
	border: 1px solid #006c60;
}

table tr {
    border-bottom: 1px solid #006c60;
}

table tr th,
table tr td {
    padding: 15px 20px;
}

table thead tr th,
table tr td {
	border-right: 1px dashed #006c60;
}

table thead tr th {
	background: #338277;
	color: #fff;
	font-weight: bold;
}

table tbody tr th {
    border-right: 1px dashed#006c60;
    background: #eefffd;
}

table tbody tr td {
	background: #fff;
}

@media screen and (max-width: 1100px) {	
	.tabs li label br {
		display: block;
	}
}

@media screen and (max-width: 768px) {	
	.tabs {
		gap: clamp(5px, calc((5/375)*100vw), 30px);
	}

	a.category {
		margin-right: calc(100% - 170px - 15px - 75px);
		font-size: 12px;
		width: 145px;
		height: 22px;
	}
	
	.list {
		padding-inline: 15px;
		margin-bottom: 30px;
	}
	
	.list li {
		flex-wrap: wrap;
		gap: 0 15px;
	}
	
	.list li span.date {
		width: 75px;
	}
	
	.list li a.title {
		display: block;
		width: fit-content;
		margin-top: 5px;
	}
}

/* Header
--------------------------------------------------------------*/
.header-inner_block {
	display: flex;
	max-width: 100%;
	padding: 0;
	justify-content: space-between;
}

.header-inner_block .header-logo {
    width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100px;
	padding: 0 25px;
	gap: 25px;
}

.header-inner_block .header-logo .logo {
	height: 52px;
	max-width: 500px;
	padding-left: 0;
}

.header-inner_block .header-logo div {
	display: flex;
	align-items: center;
	gap: clamp(15px, calc((30/1920)*100vw), 30px);
	padding-left: 2.1em;
	flex-shrink: 0;
}

.header-inner_block .header-logo div a[href^="tel:"] {
	font-size: clamp(24px, calc((36/1920)*100vw), 36px);
}

.header-inner_block .header-logo div p.biz-hour {
	font-size: clamp(12px, calc((14/1920)*100vw), 14px);
	margin-bottom: 0 !important;
}

.header-inner_block .header-logo div a.youtube {
	max-width: 125px;
}

@media screen and (max-width: 1100px) {
	.header-inner_block {
		width: 100%;
		position: fixed;
		top: 0;
		height: 60px;
		background: #fff;
		z-index: 10;
	}
	
	.header-inner_block .header-logo {
		padding-inline: 10px;
		height: 60px;
	}

	.header-inner_block .header-logo .logo {
		max-width: 250px;
		display: block;
	}
	
	.header-inner_block .header-logo div {
		display: none;
	}
}



/* nav
--------------------------------------------------------------*/
nav {
	position: sticky;
	top: 0;
	padding: 0 20px;
	background: #006c60;
	z-index: 99999;
}

nav ul {
	display: flex;
	gap: min(60px, calc((60/1920)*100vw));
	height: 60px;
	justify-content: center;
	align-items: center;
}

nav ul li.sp {
	display: none;
}

nav ul li a {
	font-size: 20px;
	font-weight: bold;
	color: #fff;
}

nav ul li:first-child a {
	font-size: 28px;
	display: block;
	margin-top: -3px;
}

@media screen and (max-width: 1100px) {
	nav ul li.sp {
		display: block;
	}
}



/* mean menu
--------------------------------------------------------------*/
@media screen and (max-width: 1100px) {
	.mean-container .mean-bar {
		background: transparent;
		padding: 0;
		min-height: 0;
		position: fixed;
		top: 60px;
	}
	
	.mean-container a.meanmenu-reveal {
		padding: 8px 17.5px 12px;
		height: 40px;
		width: 31px;
		z-index: 100000;
		position: fixed;
	}
	
	.mean-container a.meanmenu-reveal span {
		background: #006c60;
		height: 1px;
		margin-top: 7px;
	}
	
	.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(1){
		transform: rotate(35deg);
	    position: relative;
		top: 8px;
	}
	
	.mean-container a.meanmenu-reveal.meanclose span:nth-of-type(2){
		transform: rotate(-35deg);		
	}
	
	.mean-container a.meanmenu-reveal div {
		color: #006c60;
		font-size: 10px;
		text-indent: 0;
		text-align: center;
		font-weight: 400;
		margin-top: 3px;
	}
	
	.mean-container a.meanmenu-reveal.meanclose div {
        font-size: 10px;
        position: relative;
        top: 11px;
        width: 34px;
        left: 50%;
        transform: translateX(-50%);
    }
	
	.mean-container .mean-nav {
		margin-top: 0px;
		padding: 0;
		background: #fff;
	}
	
	.mean-container .mean-nav ul {
		display: inherit;
		height: 100vh;
		padding-inline: 47.5px;
		width: calc(100% - 95px);
	}
	
	.mean-container .mean-nav ul li a {
		font-size: 18px;
		padding: 8.5px;
		width: calc(100% - 17px);
		border-top: none;
		border-bottom: 1px solid #ddd;
		text-align: center;
		color: #333;
	}
	
	.mean-container .mean-nav ul li:first-child a {
		color: #338277;
		font-size: 28px;
	}
	
	.mean-container .mean-nav ul li.mean-last a {
		border-bottom: 1px solid #ddd;
	}
	
	.mean-container .mean-nav ul li.sp {
		width: 100%;
	    display: flex;
		flex-direction: column;
    	justify-content: center;
		align-items: center;
	}

	.mean-container .mean-nav ul li:nth-child(8) {
		margin-block: 40px 20px;
	}
	
	.mean-container .mean-nav ul li:nth-child(9) {
		margin-block: 0px 40px;
	}

	.mean-container .mean-nav ul li.sp:has(a.tel) {
		padding-left: 20px;
	}
	
	.mean-container .mean-nav ul li.sp a {
		border: none;
		width: fit-content;
		font-size: 30px;
	}
	
	.mean-container .mean-nav ul li.sp a.tel:before {
		left: -1.25em;
	}
	
	.mean-container .mean-nav ul li.sp span {
		font-size: 12px;
	}
	
	.mean-container .mean-nav ul li.youtube img {
		width: 126px;
	}
}



/* Footer
--------------------------------------------------------------*/
footer {
	background: #006c60;
	color: #fff;
}

footer a,
footer a:hover {
	color: #fff;
}

footer a:hover {
	text-decoration: underline;
	text-underline-offset: 5px;
}

footer .footer-inner_block {
	max-width: 1325px;
	gap: min(120px, calc((120/1920)*100vw));
	padding: 45px 20px 0;
	justify-content: space-between;
}

footer .footer-inner_block .footer-logo {
	height: fit-content;
	filter: inherit;
	max-width: 400px;
}

footer .footer-inner_block .footer-logo address {
	width: clamp(27em, calc((485/1920)*100vw), 485px);
	font-style: normal;
	display: flex;
	flex-wrap: wrap;
	gap: 0 1em;
	margin-bottom: 0;
}

footer .footer-inner_block .footer-logo address span {
	display: inline-block;
}

footer .footer-inner_block .footer-logo address span.zip {
	width: 100%;
}

footer .footer-inner_block .footer-logo address span.tel a:before {
	display: none;
}

footer .footer-inner_block .footer-nav_list > ul {
	display: grid;
	grid-template-rows: 50px 50px 50px 50px;
	grid-template-columns: clamp(16em, calc((320/1920)*100vw), 320px) clamp(16em, calc((320/1920)*100vw), 320px);
	gap: 0px min(50px, calc((50/1920)*100vw));
	grid-auto-flow: column;
}

footer .footer-inner_block .footer-nav_list > ul li {
	border-bottom: 1px solid #fff;
}

footer .footer-inner_block .footer-nav_list > ul li a {
	display: flex;
	align-items: center;
	height: 100%;
}

footer .footer-inner_bottom {
	padding: 0 0 75px;
}

footer .footer-inner_bottom .footer-copyright {
	width: 100%;
	max-width: 1325px;
	padding-inline: 20px;
	margin-inline: auto;
	text-align: left;
	font-size: 12px;
}

footer .footer-inner_bottom .footer-copyright a:hover {
	text-underline-offset: 2.5px;
}

footer .footer-inner_bottom .pagetop,
footer .footer-inner_bottom .pagetop img {
	max-width: 35px;
}

@media screen and (max-width: 1100px) {
	footer .footer-inner_block {
		flex-direction: column-reverse;
		padding: 25px 25px 0;
	}
	
	footer .footer-inner_block .footer-logo {
		margin-bottom: 30px;
	}	
	
	footer .footer-inner_block .footer-logo > a img {
		margin-bottom: 45px;
	}
	
	footer .footer-inner_block .footer-nav_list {
		margin-bottom: 10px;
	}
	
	footer .footer-inner_block .footer-nav_list > ul {
		grid-template-columns: calc((100% - 20px)/3) calc((100% - 20px)/3) calc((100% - 20px)/3);
		grid-template-rows: 50px 50px 50px;
		gap: 0 10px;
	}

	footer .footer-inner_block .footer-nav_list > ul li a {
		line-height: 1.2;
	}
	
	footer .footer-inner_bottom {
    	padding: 0 0 35px;
	}
}

@media screen and (max-width: 768px) {
	footer .footer-inner_block {
		padding-inline: 15px;
	}
	
	footer .footer-inner_block .footer-logo > a img {
		margin-bottom: 35px;
	}
	
	footer .footer-inner_block .footer-logo address {
		font-size: 16px;
	}
	
	footer .footer-inner_block .footer-nav_list > ul {
		grid-template-columns: calc((100% - 40px)/2) calc((100% - 40px)/2);
		grid-template-rows: 50px 50px 50px 50px;
	}
	
	footer .footer-inner_bottom .pagetop,
	footer .footer-inner_bottom .pagetop img {
		max-width: 30px;
	}
}

@media screen and (max-width: 568px) {
	footer .footer-inner_block {
		gap: 40px;
	}
	
	footer .footer-inner_block .footer-logo address {
		width: 100%;
	}
	
	footer .footer-inner_block .footer-logo address span.address-sub {
		width: 100%;
	}
	
	footer .footer-inner_block .footer-nav_list > ul {
		display: block;
	}
	
	footer .footer-inner_block .footer-nav_list > ul li a {
		display: flex;
		height: 50px;
		align-items: center;
	}
	
	footer .footer-inner_bottom .footer-copyright span {
		display: block;
	}
}



/*--------------------------------------------------------------
 内部ページ共通
--------------------------------------------------------------*/
/* パンくず
--------------------------------------------------------------*/
.breadcrumbs-area .breadcrumbs,
.breadcrumbs-area a {
	color: #999;
}

@media screen and (max-width: 1100px) {
	body.has-sidebar .breadcrumbs-area {
		padding-inline: 0;
	}
}

/* Main
--------------------------------------------------------------*/
.site-main section {
	padding: 40px 0px 80px;
	max-width: 100%;
	margin-inline: auto;
}



/*--------------------------------------------------------------
 カスタム投稿ページ（共通）
--------------------------------------------------------------*/
/* Main
--------------------------------------------------------------*/
body.has-sidebar .site-content {
	gap: 0;
	padding-inline: 20px;
}

body.has-sidebar .site-content > .inner-block {
	order: 0;
	width: 100%;
}

body.has-sidebar .site-content div.main-content {
	max-width: 1200px;
	margin-inline: auto;
}

body.has-sidebar .site-content div.main-content:has(aside) {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 min(60px, calc((60/1920)*100vw));
	padding-top: 20px;
	width: 100%;
}

body.has-sidebar .site-content div.main-content:has(aside) .site-main,
body.has-sidebar .site-main {
	max-width: inherit;
	width: calc(100% - 240px - min(60px, calc((60/1920)*100vw)));
	order: 2;
}

body.has-sidebar .site-content div.main-content aside {
	width: 240px;
	order: 1;
	max-width: inherit;
	margin-bottom: 80px;
}

aside .side-box > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
}

aside .side-box h3,
aside .side-box > ul > li {
	font-size: 18px;
	font-weight: normal;
	width: 100%;
	border: 1px solid #006c60;
}

aside .side-box h3 {
	margin-bottom: 20px;
}

aside .side-box h3 a,
aside .side-box > ul > li > a {
	width: 100%;
	min-height: 60px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	color: #006c60;
	padding: 15px;
}

aside .side-box h3 a.active,
aside .side-box > ul > li > a.active {
	background: #006c60;
	color: #fff;
}

aside .side-box h3 a:hover,
aside .side-box > ul > li > a:hover {
	background: rgba(0, 108, 96, 0.75);
	text-decoration: none;
	color: #fff;
}

aside .side-box h3 a:before,
aside .side-box > ul > li > a:before {
	content: "";
	display: inline-flex;
	background: url("../images/member/sidemenu-arrow.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 8px;
	height: 13px;
	margin: 0.2em 0.5em 0 0;
}

aside .side-box h3 a.active:before,
aside .side-box > ul > li > a.active:before,
aside .side-box h3 a:hover:before,
aside .side-box > ul > li > a:hover:before {
	background: url("../images/member/sidemenu-arrow-white.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;	
}

aside .side-box > ul > li > ul {
	display: flex;
	flex-wrap: wrap;
}

aside .side-box > ul > li > ul {
	padding: 0 0 15px; 
}

aside .side-box > ul > li > ul > li {
	width: 100%;
}

aside .side-box > ul > li > ul > li:has(a:hover),
aside .side-box > ul > li > ul > li:has(a.active:hover){
	background: rgba(0, 108, 96, 0.75);
}

aside .side-box > ul > li > ul > li:has(a.active) {
	background: #006c60;
}

aside .side-box > ul > li > ul > li:has(a:hover):before,
aside .side-box > ul > li > ul > li:has(a.active):before {
	background: #fff;
}

aside .side-box > ul > li > ul > li > a {
	font-size: 16px;
	min-height: 40px;
	padding: 1px 15px 0px;
	width: 100%;
	color: #006c60;
	display: flex;
	align-items: center;
}

aside .side-box > ul > li > ul > li a:before {
	content: "";
	display: inline-flex;
	width: 10px;
	height: 1px;
	background: #006c60;
	margin-inline: 25px 15px;
}

aside .side-box > ul > li > ul > li > a:hover {
	color: #fff;
	text-decoration: none;
}

aside .side-box > ul > li > ul > li > a.active {
	color: #fff;
}

aside .side-box > ul > li > ul > li > a:hover:before,
aside .side-box > ul > li > ul > li > a.active:before {
	background: #fff;
}

body.has-sidebar .site-content:has(aside) .site-main > div,
body.has-sidebar .site-content:has(aside) .site-main section {
	padding-inline: 0 !important;
}

#info-detail .site-main section,
#member-detail .site-main section {
	max-width: 1040px;
}

@media screen and (max-width: 1100px) {
	body.has-sidebar .site-content:has(aside) {
		padding-inline: 25px;
	}
	
	body.has-sidebar .site-content:has(aside) .site-main > div {
		margin-top: 0;
	}
	
	body.has-sidebar .site-content:has(aside) > .inner-block {
		margin-top: 60px;
	}
}

@media screen and (max-width: 768px) {
	body.has-sidebar .site-content:has(aside) {
		padding-inline: 15px;
	}
	
	body.has-sidebar .site-content div.main-content:has(aside) {
		flex-direction: column;
	}
	
	body.has-sidebar .site-content div.main-content:has(aside) .site-main {
		width: 100%;
		order: 1;
	}

	body.has-sidebar .site-content div.main-content aside {
		width: 100%;
		order: 2;
		max-width: inherit;
	}
	
	aside .side-box h3, 
	aside .side-box > ul > li {
		border-right: none;
		border-left: none;
	}
	
	aside .side-box h3 {
		margin-bottom: 0px;
	}
	
	aside .side-box > ul {
		gap: 0;
		padding-bottom: 85px;
	}
	
	aside .side-box > ul > li {
		border-top: none;
	}
}

/* カスタム投稿ページ（詳細）
--------------------------------------------------------------*/
#info-detail .site-main {
	padding-bottom: 110px;
}

#member-detail .site-main{
	padding-bottom: 85px;
}

#info-detail .site-main section.post {
	padding-top: 30px;
}

#member-detail .site-main section.post {
	padding-block: 25px 0px;
	margin-bottom: 80px;
}

#info-detail .post-contents a,
#member-detail .post-contents a {
    color: #006c60;
	text-decoration: underline;
	text-underline-offset: 5px;
}

#info-detail .post-contents a:hover,
#member-detail .post-contents a:hover {
	text-decoration: none;
}

#info-detail .post-contents p {
    margin-bottom: 50px;
}

#info-detail .post-contents h1,
#info-detail .post-contents h2,
#info-detail .post-contents h3 {
	font-family: "Noto Sans JP", sans-serif;
	color: #fff;
	background: #006c60;
	margin-inline: 0;
}

#info-detail .post-contents h4,
#info-detail .post-contents h5,
#info-detail .post-contents h6 {
	color: #006c60;
}

#info-detail .post-contents h4 {
	padding-bottom: 10px;
	margin-bottom: 20px;
	border-bottom-width: 5px;
}

#info-detail .post-contents figure.aligncenter {
	margin-block: 45px;
}

#info-detail .post-contents figure figcaption {
	padding: 8.5px 0;
}

#info-detail .post-contents ul li:before {
	background: #006c60;
}

#member-detail dl {
	display: flex;
	flex-wrap: wrap;
	margin-block: 50px;
}

#member-detail dl dt,
#member-detail dl dd {
	height: 60px;
	padding-inline: 20px;
	border-bottom: 1px solid #006c60;	
	display: flex;
	align-items: center;
}

#member-detail dl dt {
	font-weight: bold;
	color: #006c60;
	width: 95px;
}

#member-detail dl dd {
	width: calc(100% - 95px);
}

#member-detail .member-attachment {
	padding-left: 0;
}

#member-detail .member-attachment li:before {
	display: none;
}

#member-detail .member-attachment li a {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
	padding: 15px 20px;
	gap: 10px;
	background: #eee;
	border: 1px solid #eee;
	text-decoration: none;
	color: #333;
	font-weight: 700;
}

#member-detail .member-attachment li a:before {
	content: "";
	width: 30px;
	height: 35px;
	background: url("../images/member/pdf.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

#member-detail .member-attachment li a:hover {
	background: #fff;
	border-color: #ccc;
}

#member-detail .site-main section:nth-of-type(2n) {
	max-width: 100%;
	background: #eefffd;
	text-align: center;
	margin-bottom: 50px;
}

#member-detail .site-main section iframe {
	margin-bottom: 55px;
}



/* カスタム投稿ページ（一覧）
--------------------------------------------------------------*/
/* Main
--------------------------------------------------------------*/
#info .new-info-list {
	padding-bottom: 0;
}

#info .list li,
#member .list li,
#page-m-only .list li{
	min-height: 70px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 0;
	padding-block: 19.5px;
}

#info nav.pagination,
#member nav.pagination {
	background: transparent;
	margin-bottom: 80px;
	max-width: 1240px;
	padding: 0 30px;
}

#info .navigation .nav-links > *,
#member .navigation .nav-links > * {
	font-weight: bold;
}

#info .navigation .nav-links > .prev,
#info .navigation .nav-links > .next,
#member .navigation .nav-links > .prev,
#member .navigation .nav-links > .next {
	font-weight: normal;
}

#info .navigation .nav-links .page-numbers.current,
#member .navigation .nav-links .page-numbers.current {
    background: #338277;
}

#page-m-only .tabs {
	margin-bottom: 20px;
}

/* タブ色切替 */
#page-m-only .tabs:has(li input#tab-m-all:checked) ~ .archive-m-all-list,
#page-m-only .tabs:has(li input#tab-m-regular:checked) ~ .archive-m-regular-list,
#page-m-only .tabs:has(li input#tab-m-seminar:checked) ~ .archive-m-seminar-list,
#page-m-only .tabs:has(li input#tab-m-others:checked) ~ .archive-m-others-list {
	display: block;
}

#download section {
	background: transparent;
	padding-top: 0;
}

#download h2 {
	font-size: clamp(20px, calc((20/375)*100vw), 36px);
	font-weight: 400;
	font-family: "Noto Serif JP", sans-serif;
	color: #006c60;
	border-bottom: none;
	margin-bottom: 20px;
	padding-bottom: 0;
}

#download ul.download-list {
	border-top: 1px solid #eeeeee;
}

#download ul.download-list li {
	border-bottom: 1px solid #eeeeee;
	font-size: 18px;
	font-weight: bold;
}

#download ul.download-list li a {
	display: flex;
	width: 100%;
	min-height:  clamp(75px, calc((75/375)*100vw), 85px);
	align-items: center;
	padding: 12.5px 30px 12.5px 20px;
	gap: 0 15px;
}

#download ul.download-list li a:hover {
	text-decoration: none;
	background: #eee;
}

#download ul.download-list li a:before {
	content: "";
	background: url("../images/download/pdf.png");
	height: min(22px, calc((22/375)*100vw), 35px);
	width: min(20px, calc((20/375)*100vw), 30px);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: inline-flex;
	flex-shrink: 0;
}

#download ul.download-list li a span {
	margin-left: auto;
	color: #006c60;
	font-size: 16px;
	font-weight: 400;
	display: flex;
	align-items: center;
}

#download ul.download-list li a span:after {
	content: "\f019";
	font-family: "Font Awesome 7 Free";
	display: inline-block;
	font-size: 34px;
	font-weight: 900;
	margin-left: 20px;
}

body.has-sidebar .site-content:has(aside) .site-main > .non-member,
.non-member {
	background: #eefffd;
	border: 3px solid #b7e5dc;
	padding: clamp(25px, calc((30/1920)*100vw), 30px) clamp(35px, calc((40/1920)*100vw), 40px) clamp(25px, calc((30/1920)*100vw), 30px) clamp(25px, calc((30/1920)*100vw), 30px) !important;
	margin-bottom: 50px;
	display: flex;
	gap: clamp(25px, calc((30/1920)*100vw), 30px);
	margin-top: 0;
}

.non-member .login-form-comment {
	font-size: 18px;
	width: calc((454/1100)*100vw);
	max-width: 454px;
}

.non-member .login-form-comment p {
	margin-top: 30px;
}

.non-member form {
	width: max(340px, calc((340/1100)*100vw));
}

.non-member form input[type="text"],
.non-member form input[type="password"] {
	margin-bottom: 20px;
}

.non-member form input[type="checkbox"] {
	display: inline-block;
}

.non-member form input[type="submit"] {
	background: #fff200;
	border: 2px solid #ffc200;
	font-size: 16px;
	margin-top: 20px;
	width: 220px;
	height: 50px;
    display: block;
	margin-inline: auto;
	border-radius: 25px;
}

@media screen and (max-width: 1100px) {
	body.has-sidebar .site-content:has(aside) .site-main > .non-member,
	.non-member {
		flex-wrap: wrap;
		padding: 30px !important;
		gap: 0;
	}
	
	.non-member .login-form-comment {
		width: 100%;
		max-width: inherit;
	}
	
	.non-member .login-form-comment p {
		margin-top: 0;
		margin-bottom: 30px;
	}
	
	.non-member form {
		margin-inline: auto;
	}
}

@media screen and (max-width: 768px) {
	#download ul.download-list li {
		font-size: 16px;
	}
	
	#download ul.download-list li a {
		padding-inline: max(5px, calc((5/375)*100vw));
	}
	
	#download ul.download-list li a span {
		flex-direction: column;
		font-size: 12px;
		min-width: 50px;
		line-height: 1;
		gap:10px 0;
	}
	
	#download ul.download-list li a span:after {
		margin: 0;
		font-size: 23px;
	}
}

@media screen and (max-width: 568px) {
	body.has-sidebar .site-content:has(aside) .site-main > .non-member,
	.non-member {
		padding: 25px 15px!important;
	}
	
	.non-member .login-form-comment {
		font-size: max(15px, calc((18/568)*100vw));
	}
	
	.non-member form {
		width: 100%;
		max-width: 340px;
	}
}



#profile h2 {
	font-size: 34px;
	font-weight: 400;
	font-family: "Noto Serif JP", sans-serif;
	color: #006c60;
	border-bottom: none;
	margin-bottom: 40px;	
	padding-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 45px;
}

#profile h2:before,
#profile h2:after {
	content: "";
	display: inline-block;
	background: #006c60;
	height: 1px;
	width: 100px;
}

#profile ul.initials {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	margin-bottom: 60px;
}

#profile ul.initials li a {
	cursor: pointer;
	border: 1px solid #006c60;
	min-height: 50px;
	min-width: 120px;
	padding: 7.5px 30px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #006c60;
}

#profile ul.initials li.active a {
	background: #006c60;
	color: #fff;
}

#profile ul.initials li a:hover {
	background: rgba(0, 108, 96, 0.75);
	color: #fff;
	text-decoration: none;
}

#profile ul.member-list {
	display: flex;
	flex-wrap: wrap;
	gap: 45px 30px;
	justify-content: center;
}

#profile ul.member-list li {
	width: calc((100% - 120px) / 3);
	text-align: center;
}

#profile ul.member-list li dl dt {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
}

#profile ul.member-list li dl dt img {
	width: min(200px, calc((110/769)*100vw));
	height: min(200px, calc((110/769)*100vw));
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

#profile ul.member-list li dl dd p.corp-name {
	color: #333;
	font-size: 16px;
}

#profile ul.member-list li dl dd p.position {
	color: #999;
	font-size: 14px;
	line-height: 1.56;
}

#profile ul.member-list li dl dd p.name {
	font-family: "Noto Serif JP", sans-serif;
	color: #006c60;
	font-size: 22px;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	#profile h2 {
		font-size: 24px;
		gap: 0 25px;
	}
	
	#profile h2:before,
	#profile h2:after {
		width: 75px;
	}
	
	#profile ul.initials {
		gap: calc((10/375)*100vw);
		justify-content: flex-start;
        width: calc((310/375)*100vw);
        margin-inline: auto;
		margin-bottom: 30px;
	}

	#profile ul.initials li a {
		min-height: 40px;
		width: calc((70/375)*100vw);
		min-width: inherit;
		padding: 4px calc((5 / 375) * 100vw);
		font-size: 16px;
		border-radius: 20px;
	}

	#profile ul.member-list {
		gap: 25px 10px;
	}

	#profile ul.member-list li {
		width: clamp(135px, calc((100% - 10px) / 2), 200px);
	}
	
	#profile ul.member-list li dl dt img {
		width: 140px;
		height: 140px;
	}
	
	#profile ul.member-list li dl dd p.corp-name,
	#profile ul.member-list li dl dd p.position {
		font-size: 12px;
	}
	
	#profile ul.member-list li dl dd p.name {
		font-size: 18px;
	}
}

@media screen and (max-width: 1100px) {
	#member .list li,
	#page-m-only .list li{ 
		height: auto;
	}
	
	#member .tabs {
		gap: clamp(5px, calc((5/375)*100vw), 30px);
		margin-bottom: 30px;
	}

	#member a.category {
		margin-right: calc(100% - 170px - 15px - 75px);
		font-size: 12px;
		width: 145px;
		height: 22px;
	}
	
	#member .list {
		padding-inline: 0;
		margin-bottom: 30px;
	}
	
	#member .list li,
	#page-m-only .list li {
		flex-wrap: wrap;
		gap: 0 15px;
	}
	
	#member .list li a.title,
	#page-m-only .list li a.title {
		display: block;
		width: 100%;
		margin-top: 5px;
	}
}

@media screen and (max-width: 768px) {
	#info .site-main .new-info-list{
		margin-top: 25px;
	}
	
	#info .list {
		padding-inline: 0px;
	}
	
	#info .list li { 
		height: auto;
	}
	
	#page-m-only .list {
		padding-inline: 0;
	}
}

/*--------------------------------------------------------------
 固定ページ
--------------------------------------------------------------*/
/* 固定ページのみで共通
--------------------------------------------------------------*/
.page .site-main .inner-link {
	padding-bottom: 35px;
}

.page .site-main .inner-link ul {
	display: flex;
	justify-content: center;
	gap: 0 30px;
	margin-top: 40px;
}

.page .site-main .inner-link ul li {
	width: calc((100% - 60px)/2);
}

.page .site-main .inner-link ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	line-height: 1;
	background: #eee;
	position: relative;
    transition: all 0.25s ease;
	text-align: center;
	font-weight: bold;
}

.page .site-main .inner-link ul li a:hover {
	color: #fff;
	background: #006c60;
	text-decoration: none;
}

.page .site-main .inner-link ul li a:after {
	content: "";
    width: 20px;
    height: 20px;
    background: #eee;
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%) rotate(45deg);
    z-index: -1;
    transition: all 0.25s ease;
}
.page .site-main .inner-link ul li a:hover:after {
	background: #006c60;
}

.page .site-main .inner-link ul li a br {
	display: none;
}

.page .site-main section .inner-block {
	padding-top: 0;
}

.page .site-main section .inner-block h2 {
	font-size: 36px;
	font-weight: 600;
	font-family: "Noto Serif JP", sans-serif;
	color: #006c60;
	text-align: center;
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 30px;
}

.page .site-main section .inner-block h2:before {
	content: "";
	background: url("../images/page-h2-before.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	width: 80px;
	height: 18px;
	margin: 0 auto 30px;
}

.page .site-main section .inner-block h3 {
	font-size: 28px;
	font-weight: 400;
	font-family: "Noto Serif JP", sans-serif;
	text-align: center;
	margin-bottom: 35px;
}

.page .site-main section .inner-block h4 {
	font-size: 22px;
	color: #006c60;
	border-bottom: 5px solid #006c60;
	margin-bottom: 5px;
	padding: 0 0 10px 5px;
}

@media screen and (max-width: 768px) {
	.page .site-main .inner-link {
		margin-top: 40px;
		padding-inline: 15px;
	}
	
	.page .site-main .inner-link ul {
		gap: 0 15px;
	}
	
	.page .site-main .inner-link ul li a {
		background: transparent;
		font-weight: bold;
		border-bottom: 1px solid #338277;
		line-height: 1.28;
		
	}
	
	.page .site-main .inner-link ul li a:after {
		background: #fff;
		border-right: 1px solid #338277;
		border-bottom: 1px solid #338277;
		z-index: 0;
		bottom: -6px;
		width: 10px;
		height: 10px;
	}
	
	.page .site-main section .inner-block h2 {
		font-size: 26px;
		margin-bottom: 5px;
	}
	
	.page .site-main section .inner-block h2:before {
		width: 60px;
		height: 14px;
		margin-bottom: 20px;
	}
	
	.page .site-main section .inner-block h3 {
		font-size: 20px;
	}
	
	.page .site-main section .inner-block h4 {
		font-size: 18px;
	}
	}

@media screen and (max-width: 568px) {
	.page .site-main .inner-link ul li a br {
		display: block;
	}
}



/* #page-about
--------------------------------------------------------------*/
#page-about .site-main section {
	padding-top: 70px;
}

#page-about .site-main section .inner-block table {
	border: none;
	margin-bottom: 60px;
}

#page-about .site-main section .inner-block table tr th,
#page-about .site-main section .inner-block table tr td {
	height: 60px;
	padding-inline: 15px;
	border-right: none;
}

#page-about .site-main section .inner-block table tr th {
	width: 145px;
	font-weight: bold;
	color: #006c60;
	background: transparent;
}

#page-about .site-main #about-us {
	margin-top: -60px;
	padding-block: 100px 0;
}

#page-about .site-main #about-us .inner-block {
	padding-bottom: 100px;
}

#page-about .site-main #about-us .inner-block h2 {
	margin-bottom: 0;
}

#page-about .site-main #about-us .inner-block h3 {
	background: url("../images/about/about-h3-bg.png");
	max-width: 740px;
	height: 415px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	margin: 0 auto 20px;
	padding-top: 105px;
	top: -15px;
	z-index: -1;
}

#page-about .site-main #about-us .inner-block h3 span {
	font-size: 30px;
	font-weight: 400;
	font-family: "Noto Serif JP", sans-serif;
	color: #fff;
	background: rgba(0, 108, 96, 0.75);
	margin-inline: 15px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 18px;
}

#page-about .site-main #about-us .inner-block h3 span > span {
	white-space: nowrap;
	background: transparent;
	margin: 0;
	height: auto;
	padding: 0px;
}

#page-about .site-main #officers {
	padding-bottom: 40px;
}

#page-about .site-main #officers .inner-block {
	padding-bottom: 0;
}

#page-about .site-main #officers .inner-block table tr {
	border-bottom-color: #fff;
}

#page-about .site-main #officers .inner-block table tr td {
	background: transparent;
}

#page-about .site-main #officers .inner-block table tr td.name {
	width: 150px;
	font-weight: bold;
}

#page-about .site-main #officers .inner-block table tr td.detail:before {
	content: "…";
	display: inline-block;
	margin-right: 1em;
}

#page-about .site-main #committee {
	padding-block: 90px 60px;
}

#page-about .site-main #committee .inner-block {
	padding-bottom: 0;
}

#page-about .site-main #committee .inner-block h2 {
	margin-bottom: 20px;
}

#page-about .site-main #committee .inner-block h3 {
	margin-bottom: 50px;
}

#page-about .site-main #committee .inner-block table tr {
	border-bottom-color: #ccc;
}

#page-about .site-main #committee .inner-block table tr td.name {
	font-weight: bold;
}

#page-about .site-main #committee .inner-block table tr td.name span {
	white-space: nowrap;
}

@media screen and (max-width: 1100px) {
	.page .site-main .inner-link {
	    padding-bottom: 0px;
		margin-top: 40px;
	}
	
	#page-about .site-main #about-us {
		margin-top: 0;
		padding-top: 50px;
	}
	
	#page-about .site-main #about-us .inner-block {
		margin-top: 10px;
		padding-bottom: 40px;
	}
	
	#page-about .site-main #officers {
		padding-block: 0px;
	}
	
	#page-about .site-main #officers:before {
		content: "";
		height: 60px;
		width: 100%;
		background: #fff;
		display: block;
	}
	
	#page-about .site-main #officers .inner-block {
		margin-top: 50px;
		padding-bottom: 20px;
	}
	
	#page-about .site-main #officers .inner-block table {
		margin-bottom: 0;
	}
	
	#page-about .site-main #committee {
		padding-top: 0px;
	}

	#page-about .site-main #committee:before {
		content: "";
		height: 60px;
		width: 100%;
		background: #eee;
		display: block;
	}
	
	#page-about .site-main #committee .inner-block {
		margin-top: 40px;
	}
}

@media screen and (max-width: 768px) {
	#page-about .site-main section .inner-block table tr {
		display: flex;
		flex-direction: column;
		padding-block: 10px;
	}

	#page-about .site-main section .inner-block table tr th,
	#page-about .site-main section .inner-block table tr td.name {
		font-size: 16px;
	}
	
	#page-about .site-main section .inner-block table tr th,
	#page-about .site-main section .inner-block table tr td {
		padding: 0;
		height: auto;
        line-height: 1.54;
	}
	
	#page-about .site-main #about-us .inner-block {
		padding-inline: 0;
		padding-bottom: 55px;
	}
	
	#page-about .site-main #about-us .inner-block h3 {
		height: calc((430/768)*100vw);
		top: 0px;
		margin-bottom: 35px;
        padding-top: max(38px,calc((58/568)*100vw));
		background-position: top center;
	}
	
	#page-about .site-main #about-us .inner-block p {
		padding-inline: 25px;
		font-size: 16px;
	}
	
	#page-about .site-main #officers .inner-block {
		padding-inline: 20px;
	}
	
	#page-about .site-main #committee .inner-block {
		padding-inline: 20px;
	}
	
	#page-about .site-main #committee .inner-block h2 {
		margin-bottom: 10px;
	}
	
	#page-about .site-main #committee .inner-block h3 {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 568px) {
	#page-about .site-main #about-us .inner-block h3 span {
		font-size: calc((20/375)*100vw);
		height: calc((90/375)*100vw);
		padding: calc((17/375)*100vw);
		margin-inline: min(25px, calc((30/375)*100vw));
	}
}

/* #page-report
--------------------------------------------------------------*/
#page-report.page .site-main section .inner-block h2 {
	margin-bottom: 30px;
}

#page-report h4 {
	background: #006c60;
	color: #fff;
	border-bottom: none;
	padding: 10px;
	margin-bottom: 25px; 
}

#page-report h5 {
	font-size: 20px;
	color: #006c60;
	margin-bottom: 15px; 
}
#page-report h5 span { margin-left: 0.5em; font-size: 80%;}

#page-report h6 {
	font-size: 18px;
	color: #006c60;
	margin-bottom: 10px;
}

#page-report p {
	margin-bottom: 35px;
}

#page-report table thead th:nth-of-type(1) { width: 16%;}
#page-report table thead th:nth-of-type(2) { width: 60%;}
#page-report table thead th:nth-of-type(3) { width: 14%;}
#page-report table thead th:nth-of-type(4) {}

#page-report table tbody th,
#page-report table tbody td {
	vertical-align: top;
	padding: 10px 15px;
	line-height: 1.5;
}

#page-report #others table thead th:nth-of-type(1) { width: 20%;}
#page-report #others table thead th:nth-of-type(2) { width: 40%;}
#page-report #others table thead th:nth-of-type(3) { width: 24%;}
#page-report #others table thead th:nth-of-type(4) {}

#page-report #others table tbody td:nth-of-type(1) { font-weight: bold;}

#page-report section {
	padding-block: 75px 45px;
}

#page-report section .inner-block {
	padding-bottom: 0;
}

#page-report #inner-menu {
	max-width: 700px;
	margin-inline: auto;
	padding-block: 0 75px;
}

#page-report #inner-menu h2 {
	font-size: 22px;
	font-weight: bold;
	position: relative;
	width: 130px;
	height: 50px;
	background: #fff;
	margin-bottom: 0;
	left: 50%;
	top: 25px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: -30px;
	font-family: "Noto Sans JP", sans-serif;
}

#page-report #inner-menu h2:before{
	display: none;
}

#page-report #inner-menu ul {
	border: 1px solid #006c60;
	padding: 10px 25px;
}

#page-report #inner-menu ul li {
	height: 50px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #eee;
}

#page-report #inner-menu ul li:before {
	font-family: "Font Awesome 7 Free";
	content: "\f0d7";
	font-weight: 900;
	font-size: 29px;
	color: #999;
	margin-inline: 10px 20px;
}

#page-report #inner-menu ul li a {
	font-size: 18px;
	color: #006c60;
	font-weight: bold;
	width: fit-content;
}

#page-report #inner-menu ul li:last-child {
	border-bottom: none;
}

#page-report #meeting {
	padding-block: 85px 70px;
}

#page-report #others h5 {
	font-size: 20px;
	font-family: "Noto Sans JP", sans-serif;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	#page-report .table {
		width: 100%;
		overflow-x: scroll;
		padding-bottom: 10px;
		margin-bottom: 15px;
	}

	#page-report table {
		min-width: 728px;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 768px) {
	#page-report #inner-menu ul {
		padding: 10px;
	}
	
	#page-report .site-main section .inner-block {
		margin-top: 30px;
	}
}
/* #page-plan
--------------------------------------------------------------*/
#page-plan h4 {
	background: #006c60;
	color: #fff;
	border-bottom: none;
	padding: 10px;
	margin-bottom: 25px; 
}

#page-plan h5 {
	font-size: 20px;
	color: #006c60;
	margin-bottom: 15px;
}
#page-plan h5 span { margin-left: 0.5em; font-size: 80%;}
#page-plan h6 {
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 600;
	color: #006c60;
	margin: 25px auto; 
}

#page-plan p {	margin-bottom: 35px;}
#page-plan ol {	margin-bottom: 70px;}

#page-plan ol li {
	margin-bottom: 15px;
}

#page-plan .site-main section {
	padding-top: 70px;
}

#page-plan #general .inner-block > div {
	width: 100%;
	background: url("../images/plan/general-bg.png");
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: 597px;
	padding-bottom: 110px;
	margin-bottom: 60px;
}

#page-plan #general .inner-block > div ol {
	max-width: 610px;
	border: 1px solid #ccc;
	padding: 35px 60px;
	background: rgba(255, 255, 255, 0.8);
	margin-left: 10px;
	margin-bottom: 0;
}

#page-plan #general .inner-block > div ol li {
	line-height: 2.66;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 0;
}

#page-plan #general .inner-block h3 {
	font-size: 26px;
	font-weight: 600;
	color: #006c60;
	margin-bottom: 25px;
}

#page-plan #general .inner-block ul.diamond {
	padding-left: 1.5em;
}

#page-plan #general .inner-block ul.diamond li {
	font-size: 16px;
}

#page-plan #general .inner-block ul.diamond li:before {
	content: "◆";
	color: #006c60;
	margin-left: -1.4em;
	margin-right: 0.2em;
}

#page-plan #management {
	padding-bottom: 40px;
}

#page-plan #management .inner-block {
	padding-bottom: 40px;
}

#page-plan #management .inner-block div img {
	float: right;
	margin: 0 0 25px 25px;
	width: 200px;
}

#page-plan #management .inner-block div p {
	margin-bottom: 35px;
}

#page-plan #committee {
	padding-bottom: 40px;
}

#page-plan #committee .inner-block {
	padding-bottom: 40px;
}

#page-plan #committee .inner-block ol:last-of-type {
	margin-bottom: 35px;
}



@media screen and (max-width: 768px) {
	#page-plan .site-main section .inner-block {
		margin-top: 30px;
		padding-bottom: 0;
	}
	
	#page-plan.page .site-main section .inner-block h2 {
		margin-bottom: 30px;
	}
	
	#page-plan #general .inner-block > div {
		background-size: contain;
		padding-bottom: min(420px, calc((185/375)*100vw + 35px));
	}
	
	#page-plan #general .inner-block > div ol {
		max-width: 100%;
		margin-left: 0;
		padding: 20px 40px;
	}
	
	#page-plan #general .inner-block h3 {
		font-size: 22px;
	}
	
	#page-plan #general .inner-block h3 span {
		white-space: nowrap;
	}
}

@media screen and (max-width: 568px) {
	#page-plan #management .inner-block div {
		display: flex;
		flex-direction: column-reverse;
	}
	
	#page-plan #management .inner-block div img {
		margin-inline: auto;
	}
	
	#page-plan #management .inner-block div p {
		margin-bottom: 30px;
	}
}

/* #page-admission
--------------------------------------------------------------*/
#page-admission h2 {
	margin-bottom: 50px;
}

#page-admission h4 {
	background: #006c60;
	color: #fff;
	border-bottom: none;
	padding: 10px;
	margin-bottom: 25px; 
}

#page-admission .site-main section {
	padding-block: 25px 40px;
}

#page-admission .site-main ul {
    padding-left: calc(10px + 0.5em);
	margin-bottom: 35px;
}

#page-admission .site-main ul li:before {
	background: #006c60;
	content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-bottom: 1.5px;
    margin-right: 0.5em;
    margin-left: calc(-10px - 0.5em);
}

#page-admission .site-main ol {
	margin-bottom: 35px;
}

#page-admission .box {
	padding: 30px;
	border: 1px solid #006c60;
	margin-block: 50px 20px;
}

#page-admission .box ul {
	margin-bottom: 30px;
}

#page-admission .box ul li {
	font-size: 18px;
	font-weight: bold;
	color: #006c60;
}

#page-admission .box .tel-hour {
	padding-top: 15px;
	display: flex;
	align-items: center;
	gap: 15px 35px;
	flex-wrap: wrap;
}

#page-admission .box .tel-hour .tel {
	font-size: 36px;
	margin-left: 1.6em;
}

@media screen and (max-width: 568px) {
	#page-admission .site-main #about-admin .inner-block {
		margin-top: 30px;
	}
	
	#page-admission .box {
		padding: 15px;
	}
	
	#page-admission .box ul {
		margin-bottom: 15px;
	}
	
	#page-admission .box .tel-hour .tel {
		font-size: 32px;
		margin-left: 1.4em;
	}
	
	#page-admission .box .tel-hour a[href^="tel:"]:before {
		left: -1.4em;
	}
}



/* #page-sitemap
--------------------------------------------------------------*/
#page-sitemap .site-main section {
	padding-top: 0;
}

#page-sitemap .site-main section .inner-block {
	display: flex;
	gap: 0 60px;
}

#page-sitemap .site-main section .inner-block .map-block {
	width: 100%;
	max-width: 470px;
	margin-inline: auto;
}

#page-sitemap .site-main section .inner-block .map-block .map-box > ul > li > a {
	min-height: 70px;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #eee;
	font-size: 20px;
	font-weight: bold;
}

#page-sitemap .site-main section .inner-block .map-block .map-box > ul > li:has(.child) a {
	border-bottom: none;
}

#page-sitemap .site-main section .inner-block .map-block .map-box > ul:has(.child) {
	border-bottom: 1px solid #eee;	
}

#page-sitemap .site-main section .inner-block .map-block .map-box ul.child {
	margin-block: 5px 25px; 
}

#page-sitemap .site-main section .inner-block .map-block .map-box ul.child > li > a {
	min-height: 45px;	
	display: flex;
	align-items: center;
	font-size: 18px;
	width: fit-content;
}

#page-sitemap .site-main section .inner-block .map-block .map-box ul.child > li > a:before {
	content: "";
	display: inline-flex;
	background: url("../images/sitemap/child-arrow.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 8px;
	height: 13px;
	margin: 0.2em 0.5em 0 0;
}

#page-sitemap .site-main section .inner-block .map-block .map-box ul.child ul {
	margin-bottom: 20px;
}

#page-sitemap .site-main section .inner-block .map-block .map-box ul.child ul li a {
	min-height: 40px;	
	display: flex;
	align-items: center;
	font-size: 18px;
	width: fit-content;	
}

#page-sitemap .site-main section .inner-block .map-block .map-box ul.child ul li a:before {
	content: "";	
	width: 10px;
	height: 1px;
	background: #006c60;
	margin-inline: 25px 15px;
}

@media screen and (max-width: 1100px) {
	.page .site-main section .inner-block {
		margin-top: 0;
	}
}

@media screen and (max-width: 768px) {
	#page-sitemap .site-main section .inner-block {
		display: block
	}
	
	#page-sitemap .site-main section .inner-block .map-block .map-box > ul > li > a {
		font-size: 18px;
	}
	
	#page-sitemap .site-main section .inner-block .map-block .map-box ul.child > li > a,
	#page-sitemap .site-main section .inner-block .map-block .map-box ul.child ul li a {
		font-size: 16px;
	}
}

/* 404
--------------------------------------------------------------*/
.error404 .site-main section {
	padding-block: 0 100px;
}

/*--------------------------------------------------------------
 TOP PAGE
--------------------------------------------------------------*/
/* 共通
--------------------------------------------------------------*/
#page-home h1 {
	border-bottom: none;
	text-align: inherit;
	margin: inherit;
	background: none;
}

#page-home h2 {
	font-family: "Noto Serif JP", serif;
	color: #333;
	font-size: 36px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 60px;
	border-bottom: none;
	padding-bottom: inherit;
}

#page-home section {
	padding: 75px 0 100px;
	max-width: 100%;
}

#page-home section .inner-block {
	max-width: 1230px;
	margin-inline: auto;
	padding: 0 15px;
}

#page-home h3 {
	color: #333;
	text-align: center;
	font-size: 36px;
	margin-bottom: 50px;
}

@media screen and (max-width: 1100px) {
	#page-home section {
		padding-block: 40px 40px; 
	}
	
	#page-home section .inner-block {
		padding-inline: 25px;
		margin-top: 0;
	}
	
	#page-home h2 {
		margin-bottom: 30px; 
	}
	
	#page-home h3 {
		margin-bottom: 25px; 
	}
}

@media screen and (max-width: 768px) {
	#page-home h2 {
		font-size: 24px;
		margin-bottom: 30px; 
	}
	
	#page-home h3 {
		margin-bottom: 25px; 
	}
}

/* MV
--------------------------------------------------------------*/
#page-home #mv {
	background: url("../images/mv.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

#page-home #mv .mv-inner {
	min-height: 610px;
}

#page-home #mv .mv-inner h2 {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(60px, calc((70/1920)*100vw), 70px);
	font-weight: 600;
	color: #fff;
	width: 100%;
    left: clamp(375px, calc(100vw - 920px), 47%);
	top: 40%;
	margin-bottom: 0;
}

#page-home #mv .mv-inner a {
	position: absolute;
	left: clamp(720px, calc(100vw - 525px), 72.5%);
    bottom: 255px;
	max-width: 418px;
	z-index: 1;
	margin-right: 100px;
}	

@media screen and (max-width: 1100px) {
	#page-home #mv .mv-inner h2 {
		font-family: "Noto Serif JP", serif;
		font-size: clamp(45px, calc((60/1100)*100vw), 60px);
		font-weight: 600;
		color: #fff;
		width: 100%;
		left: clamp(275px, calc(100vw - 740px), 47%);
		top: 40%;
	}

	#page-home #mv .mv-inner a {
		position: absolute;
		left: clamp(500px, calc(100vw - 315px), 62.5%);
		bottom: 295px;
		max-width: 318px;
		z-index: 1;
		margin-right: 75px;
	}	
}

@media screen and (max-width: 768px) {
	#page-home #mv {
		background: url("../images/mv_sp.jpg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		margin-top: 60px;
		position: relative;
	}
	
	#page-home #mv:after {
		content: "";
		width: 200px;
		height: 200px;
		border-radius: 50%;
		background: #fff;
		position: absolute;
		bottom: -100px;
		left: 50%;
		transform: translateX(-50%);
	}

	#page-home #mv .mv-inner {
		min-height: calc((410/375)*100vw);
	}
	
	#page-home #mv .mv-inner h2 {
		left: 50%;
		font-size: clamp(34px, calc((34/375)*100vw), 70px);
		top: 30%;
	}

	#page-home #mv .mv-inner a {
		left: 50%;
		top: inherit;
		bottom: -32px;
		transform: translateX(-50%);
		z-index: 10;
		margin-right: 0;
	}
	
	#page-home #mv .mv-inner a img {
		position: relative;
		left: -3px;
		width: 166px;
	}
}


/* top-info_block
--------------------------------------------------------------*/
/* タブ色切替 */
#page-home .tabs:has(li input#tab-news:checked) ~ .top-info-list,
#page-home .tabs:has(li input#tab-seminar:checked) ~ .archive-seminar-list,
#page-home .tabs:has(li input#tab-prefecture:checked) ~ .archive-prefecture-list {
	display: block;
}

@media screen and (max-width: 1100px) {
	#page-home .top-info_block {
		padding-top: 75px;
	}
}

@media screen and (max-width: 768px) {	
	#page-home .top-info_block .inner-block {
		padding-inline: 10px;
	}
}

/* top-focus_block
--------------------------------------------------------------*/
#page-home .top-focus_block .inner-block ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
}

#page-home .top-focus_block .inner-block ul li {
	width: calc((100% - 60px)/3);
}

#page-home .top-focus_block .inner-block ul li a {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
}

#page-home .top-focus_block .inner-block ul li a dl {
	width: 100%;
	margin-bottom: 20px;
}

#page-home .top-focus_block .inner-block ul li a dl dt {
	margin-bottom: 20px;
}

#page-home .top-focus_block .inner-block ul li a dl dt img {
	width: 100%;
	height: min(200px, calc((171/1100)*100vw));
	object-fit: cover;
}

#page-home .top-focus_block .inner-block ul li a {
	text-decoration: none;
}

#page-home .top-focus_block .inner-block ul li a > span.angle {
	color: #338277;
	position: relative;
	display: block;
    text-align: right;
    margin-right: 65px;
}

#page-home .top-focus_block .inner-block ul li a > span.angle:after {
	position: absolute;
	content: "";
	height: 10px;
	width: 50px;
	clip-path: polygon(80% 2.5%, 100% 100%, 0% 100%, 0 90%, 95% 90%, 79% 10%);
	background: #006c60;
	top: calc(50% - 2px);
	right: -65px;
	transform: translateY(-50%);
}

@media screen and (max-width: 1100px) {
	#page-home .top-focus_block .inner-block ul li {
		width: calc((100% - 30px)/2);
	}
	
	#page-home .top-focus_block .inner-block ul li a dl dt img {
		height: calc((264/1100)*100vw);
	}
}

@media screen and (max-width: 768px) {
	#page-home .top-focus_block .inner-block ul {
		gap: 20px 0;
	}
	
	#page-home .top-focus_block .inner-block ul li {
		width: 100%;
	}
	
	#page-home .top-focus_block .inner-block ul li a dl {
		margin-bottom: 10px;
	}
	
	#page-home .top-focus_block .inner-block ul li a dl dt {
		margin-bottom: 10px;
	}
	
	#page-home .top-focus_block .inner-block ul li a dl dt img {
		height: calc((367/(768 - 50))*(100vw - 50px));
	}
	
	#page-home .top-focus_block .inner-block ul li a dl dd p {
		line-height: 1.5;
		font-size: 16px;
	}
}

/* top-about_block
--------------------------------------------------------------*/
#page-home .top-about_block .inner-block h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 50px;
	font-weight: 400;
	color: #006c60;
	background: url("../images/top/image01.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 503px;
	margin-block: 20px;
}

#page-home .top-about_block .inner-block h3 {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
}

#page-home .top-about_block .inner-block h3 span {
	margin-left: 0.25em;
}

#page-home .top-about_block .inner-block > div {
	display: flex;
	gap: 40px;
}

#page-home .top-about_block .inner-block > div img {
	width: 430px;
}

#page-home .top-about_block .inner-block > div dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#page-home .top-about_block .inner-block > div dl dt {
	color: #006c60;
	font-size: 18px;
	line-height: 1.55;
}

#page-home .top-about_block .inner-block > div dl dd a {
	min-width: 220px;
	margin: 0 0 10px;
}

@media screen and (max-width: 1100px) {
	#page-home .top-about_block .inner-block h2 span,
	#page-home .top-about_block .inner-block h3 span {
		white-space: nowrap;
	}
	
	#page-home .top-about_block .inner-block > div {
		flex-wrap: wrap;
		gap: 25px;
	}
	
	#page-home .top-about_block .inner-block > div img {
		margin-inline: auto;
	}
	
	#page-home .top-about_block .inner-block > div dl dd a {
		margin: 25px auto 0;
	}	
}

@media screen and (max-width: 768px) {
	#page-home .top-about_block {
		padding-bottom: 60px;
	}
	
	#page-home .top-about_block .inner-block {
		padding-inline: 0;
	}
	
	#page-home .top-about_block .inner-block h2 {
		font-size: min(50px, calc((30/375)*100vw));
		padding-inline: 25px;
		height: calc((633/768)*100vw);
		background-position: center calc((200/768)*100vw);
	}
	
	#page-home .top-about_block .inner-block h2 span {
		display: block;
	}
	
	#page-home .top-about_block .inner-block h3 {
		font-size: clamp(24px, calc((24/375)*100vw), 36px);
		padding-inline: 25px;
	}
	
	#page-home .top-about_block .inner-block > div {
		padding-inline: 25px;
	}
	
	#page-home .top-about_block .inner-block > div dl dt {
		font-size: 16px;
	}
	
	#page-home .top-about_block .inner-block > div dl dd a {
		min-width: 170px;
	}
}