@charset "utf-8";
/* CSS Document */
/* @import 'reset.css';
@import 'util.css'; */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-size: 1.5rem;
	height: 100%;
	overflow-x: hidden;
	position: relative;
}

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

a {
	color: #0075cf;
	text-decoration: none;
	transition: 0.3s;
}

.flex01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.btn01 a,
.btn01 span {
	display: inline-block;
	border-radius: 10px;
	background: #8b5c00;
	box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.25);
	color: #fff;
	padding: 5px 40px;
}

.btn02 a {
	display: inline-block;
	border-radius: 5px;
	background: #799800;
	box-shadow: 0px 5px 0px rgba(0, 0, 0, 0.25);
	color: #fff;
	padding: 5px 40px;
}

.contentBox01 {
	max-width: 1020px;
	padding-left: 10px;
	padding-right: 10px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width: 769px) {
	.pc_none {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.sp_100 {
		width: 100%;
	}

	.sp_none {
		display: none;
	}
}

main {
	margin-top: 118px;
}

@media screen and (max-width: 768px){
	main {
		margin-top: 59px;
	}
	}

/*header-----------------------------------------------------start*/
#header {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
}

#logo {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1020px;
	padding-left: 10px;
	padding-right: 10px;
	margin: 0 auto;
}

#logo h1 {
	width: 380px;
	height: 60px;
	padding: 5px 0;
}

.btn_contact {
	display: flex;
	background: #eee url(../img/icon_mail01.png) no-repeat center center;
	background-size: 30px auto;
	padding: 30px;
	width: 60px;
	height: 60px;
	text-align: center;
}

.btn_contact img {
	visibility: hidden;
}

.btn_contact:hover {
	background: #0095da url(../img/icon_mail02.png) no-repeat center center;
	background-size: 30px auto;
}

@media screen and (max-width: 768px) {
	#logo h1 {
		width: 60%;
		height: 60px;
		padding: 12px 0;
	}

	/*navigation-----------------------------------------------------start*/
	.overlay {
		content: '';
		display: block;
		width: 0;
		height: 0;
		background-color: rgba(0, 0, 0, 0.5);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 2;
		opacity: 0;
		transition: opacity 0.5s;
	}

	.overlay.open {
		width: 100%;
		height: 100%;
		opacity: 1;
	}

	.btnBox {
		position: fixed;
		right: 0;
		top: 0;
		z-index: 100;
		width: 120px;
	}

	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}

	.menu-trigger {
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		background-color: #0095da;
	}

	.menu-trigger span {
		position: absolute;
		left: 10px;
		width: 40px;
		height: 4px;
		background-color: #fff;
		border-radius: 4px;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 16px;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 28px;
	}

	.menu-trigger span:nth-of-type(3) {
		top: 40px;
	}

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(12px) rotate(-45deg);
		transform: translateY(12px) rotate(-45deg);
	}

	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-12px) rotate(45deg);
		transform: translateY(-12px) rotate(45deg);
	}

	#nav {
		width: 200px;
		height: 100%;
		background-color: rgb(255, 255, 255);
		position: fixed;
		top: 60px;
		right: 0;
		z-index: 10;
		transform: translate(250px);
		transition: all 0.5s;
	}

	#nav.open {
		transform: translateZ(0);
	}

	#nav ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#nav>ul>li {
		border-bottom: 1px solid #fff;
	}

	#nav li a,
	#nav li span {
		display: block;
		color: #000;
		padding: 10px;
	}

	#nav li.nav_menu span {
		background: url(../img/icon_gn02.png) right 5px center no-repeat;
		background-size: 15px 15px;
	}

	#nav li.nav_menu span.close {
		background: url(../img/icon_gn03.png) right 5px center no-repeat;
		background-size: 15px 15px;
	}

	#nav li ul {
		display: none;
	}

	#nav li ul li {
		border-top: 1px dashed #fff;
	}

	#nav li ul li a {
		padding-left: 20px;
		background: rgba(140, 157, 165, 0.8);
	}
}

@media screen and (min-width: 769px) {
	.menu-trigger {
		display: none;
	}

	/* nav固定 */
	.fixed {
		position: fixed;
		top: 0;
		padding: 0;
		width: 100%;
		z-index: 1000;
	}

	#nav {
		display: block;
		/* background: #0095da; */
		text-align: center;
		padding-top: 24px;
		padding-bottom: 16px;
	}

	#nav>ul {
		display: flex;
		justify-content: space-between;
		max-width: 1000px;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		font-size: 1.5rem;
	}

	#nav>ul>li {
		position: relative;
		background: none;
		transition: 0.3s;
		width: calc(100% / 7);
		flex-grow: 1;
		border-left: 1px solid #000;
	}

	#nav>ul>li:last-of-type {
		border-right: 1px solid #000;
	}

	#nav li a,
	#nav li span {
		display: block;
		/* padding: 30px 0; */
		color: #000;
		white-space: nowrap;
		padding: 0 16px;
		font-size: 0.8em;
	}

	#nav ul li ul {
		position: absolute;
		visibility: hidden;
		opacity: 0;
		top: 80%;
		left: 0;
		width: 100%;
		padding: 0;
		margin: 0;
		list-style: none;
		text-align: left;
		background: rgba(245, 245, 152, 0.8);
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	/*fixed------------------------start*/
	/* #nav.fixed {
		background: rgba(0, 149, 210, 0.8);
	}

	#nav.fixed>ul>li {
		border-left-color: #fff;
	}

	#nav.fixed>ul>li:last-of-type {
		border-right-color: #fff;
	}

	#nav.fixed li a,
	#nav.fixed li span {
		color: #fff;
	} */

	/*fixed------------------------end*/

	/*hover------------------------start*/
	#nav>ul>li:hover {
		background: #f5f598;
	}

	#nav ul li:hover ul {
		top: 100%;
		visibility: visible;
		opacity: 1;
		z-index: 999;
	}

	#nav ul li ul li {
		border-top: 1px solid #fff;
	}

	#nav>ul>li ul a {
		padding: 10px 20px;
		transition: 0.3s;
	}

	#nav>ul>li ul a:hover {
		opacity: 0.7;
	}

	/*hover------------------------end*/
}

/* #nav > ul > li:first-child {
	background-color: #ca2e82;
}
#nav > ul > li:nth-child(2) {
	background-color: #a831da;
}
#nav > ul > li:nth-child(3) {
	background-color: #317dda;
}
#nav > ul > li:nth-child(4) {
	background-color: #1a7d3d;
}
#nav > ul > li:nth-child(5) {
	background-color: #82860e;
}
#nav > ul > li:nth-child(6) {
	background-color: #d0631b;
}
#nav > ul > li:nth-child(7) {
	background-color: #b92f14;
} */
/*navigation -----------------------------------------------------end*/

/*footer-----------------------------------------------------start*/
#footer .banners {
	background-image: url(../img/nav_banner_2026.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 20px 0;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 768px) {
	#footer .banners {
		background-image: url(../img/nav_text_2026_sp.png);
	}
}

#footerInfo {
	max-width: 440px;
}

#footerInfo img {
	max-width: 300px;
}

.bnrBox_footer img {
	max-height: 140px;
	width: auto;
}

#toTop_pc {
	display: block;
	position: fixed;
	width: 50px;
	height: 50px;
	bottom: 100px;
	right: 0;
}

#copyright {
	color: #000;
	font-size: 1.2rem;
	text-align: center;
	padding: 10px 0;
	background-image: url(../img/nav_copyright_2026.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

@media screen and (max-width: 768px) {
	#copyright {
		background-image: url(../img/nav_bg_footer_sp.png);
	}
}

#toTop_pc a {
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.4;
	text-align: center;
	width: 50px;
	height: 50px;
	background: #8b5c00;
	opacity: 0.7;
	color: #fff;
	border-radius: 10px;
}

#toTop_sp {
	display: none;
}

.ul_bnr {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ul_bnr li {
	width: 23%;
	margin: 10px 1%;
}

@media screen and (max-width: 768px) {
	.ul_bnr li {
		width: 48%;
	}
}

/*footer-----------------------------------------------------end*/

/*home-----------------------------------------------------start*/
#mv01 {
	animation: mv-move 20s linear 0s infinite alternate forwards running;
	transform: rotate(0.0001deg);
	outline: 1px solid transparent;
	margin-bottom: 40px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#mv01 div {
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
	text-shadow: 5px 0 5px #444;
	font-size: 2.4vw;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(../img/index/mv_bg.png);
	background-position: center;
	background-repeat: repeat;
	position: relative;
}

#mv01 div:before {
	content: '';
	display: block;
	padding-top: calc(50% + 80px);
	/* 56.25% 16:9 */
}

/*@keyframes mv-move {
  0% {background: url(../img/index/mv01.jpg) no-repeat center center;
    background-size:140%;}
  100% {background: url(../img/index/mv01.jpg) no-repeat center center;
    background-size: 180%;}
}*/
#slide {
	background: #fff;
}

#slide>div {
	max-width: 1020px;
	padding: 40px 10px 0 10px;
	margin: 40px auto;
}

.infoTab {
	max-width: 1020px;
	padding-left: 10px;
	padding-right: 10px;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
}

.infoTab ul {
	padding: 0;
	margin: 0;
	display: flex;
	align-items: flex-end;
	list-style: none;
}

.infoTab a,
.infoTab li {
	position: relative;
}

.infoTab a {
	color: #fff;
	display: block;
	white-space: nowrap;
}

.infoTab a:hover {
	color: #000;
}

.infoTab a.tab_info {
	font-weight: bold;
	font-size: 1.8rem;
	background: #0095da;
	z-index: 5;
	padding: 10px 30px;
	height: 60px;
}

.infoTab a.tab_info:after {
	content: '';
	width: 30px;
	height: 120px;
	right: -30px;
	top: -60px;
	position: absolute;
	background: linear-gradient(to top right, #0095da 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}

.infoTab li {
	background: #ccc;
	z-index: 2;
}

.infoTab li a {
	background: url(../img/icon_arrow01.png) no-repeat 35px center;
	background-size: 18px 18px;
	padding: 13px 20px 10px 60px;
	height: 54px;
}

.infoTab li:after {
	content: '';
	width: 30px;
	height: 108px;
	right: -30px;
	top: -54px;
	position: absolute;
	background: linear-gradient(to top right, #ccc 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}

.infoTab li:first-child {
	background: #8fa6b1;
	z-index: 4;
}

.infoTab li:first-child:after {
	background: linear-gradient(to top right, #8fa6b1 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}

.infoTab li:nth-child(2) {
	background: #aecbd8;
	z-index: 3;
}

.infoTab li:nth-child(2):after {
	background: linear-gradient(to top right, #aecbd8 50%, transparent 50%) bottom left / 100% 50% no-repeat;
}

.infoBody {
	padding: 10px 0;
	background: #eee;
	box-shadow: 0px 2px 2px 2px #ddd inset;
}

.infoBody ul {
	padding: 0 10px;
	list-style: none;
}

.infoBody ul li {
	border-bottom: 1px dashed #000;
}

.infoBody ul li a {
	display: block;
	color: #000;
	padding: 20px 0;
}

.infoBody ul li a:hover {
	color: #0075cf;
}

.infoCat,
.infoCat {
	display: inline-block;
	color: #fff;
	background: #00c8bc;
	padding: 0 15px;
	border-radius: 5px;
	margin-right: 10px;
}

.infoCat.infoCat_notice {
	background: #00beeb;
}

.infoCat.infoCat_report2019 {
	background: #0075cf;
}

.archive_main .infoCat.infoCat_disclosures {
	font-size: 1.5rem;
}

.infoBody .infoData {
	display: inline-block;
	margin-right: 20px;
}

.infoBody .infoTitle {
	display: inline-block;
	font-weight: bold;
}

.contentBlocks {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 40px;
}

.contentBlocks section {
	width: 48%;
	margin-bottom: 40px;
}

.ttl_border01 {
	color: #0075cf;
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}

.ttl_border01:before,
.ttl_border01:after {
	border-top: 1px solid #0075cf;
	content: '';
	flex-grow: 1;
}

.movieBlock01 {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: auto;
}

.movieBlock01:before {
	content: '';
	display: block;
	padding-top: 75%;
	
	/* 56.25% 16:9 */
}

.movieBlock01 blockquote {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.fb-page {
	text-align: center;
	max-width: 100%;
}

.twrBlock {
	height: 500px;
	overflow-y: scroll;
	border: 1px solid #eee;
}

@media screen and (max-width: 768px) {
	.contentBlocks section {
		width: 100%;
	}

	.infoTab {
		padding: 0 5px;
	}

	.infoTab a.tab_info {
		padding: 10px 10px 10px 20px;
		height: 50px;
		font-size: 1.6rem;
	}

	.infoTab a.tab_info:after {
		width: 30px;
		height: 100px;
		right: -30px;
		top: -50px;
	}

	.infoTab li a {
		padding: 9px 5px 10px 50px;
		height: 44px;
		background: url(../img/icon_arrow01.png) no-repeat 30px center;
		background-size: 13px 13px;
	}

	.infoTab li:after {
		width: 30px;
		height: 88px;
		right: -30px;
		top: -44px;
	}

	.infoTab ul {
		overflow-x: auto;
		width: 100%;
	}
}

/*home-----------------------------------------------------end*/

/*共通-----------------------------------------------------start*/
.ttlBox01 {
	color: #00577e;
	background: #c9eeff;
	padding: 40px 0;
	font-size: 2vw;
	line-height: 1.6;
}

.ttlBox01 .fs_s {
	font-size: 1.2vw;
}

.txt_yakuin01 .fs_s {
	color: #1D9DDA;
	transition: all .3s;
}

.breadcrumb {
	padding: 10px 0;
}

@media screen and (max-width: 767px) {
	.breadcrumb {
		padding: 10px 10px;
	}

}

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

.breadcrumb ul li {
	display: inline-block;
}

.breadcrumb ul li a:after {
	content: '＞';
	margin: 0 10px;
}

.pageNavi01 {
	background: #eee;
	padding: 10px 0;
	margin-bottom: 60px;
}

.pageNavi01 .pnFlex01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	background: #eee;
}

.pageNavi01 .pnFlex01 ul {
	width: 32%;
	padding: 0;
	margin: 0;
	list-style: none;
}

.pageNavi01 .pnFlex01 ul a {
	color: #000;
	display: block;
	padding: 10px 0;
}

.pageNavi01 .pnFlex01 ul a:hover {
	color: #0075cf;
}

.pageNavi01 .pnFlex01 ul a:before {
	content: '▼';
	color: #0075cf;
	font-size: 1.2rem;
	margin-right: 5px;
}

.mp_section01 {
	margin-bottom: 40px;
}

.ul01 {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ul01>li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 15px;
}

.ul01>li:before {
	content: '■';
	color: #0075cf;
}

.ul02 {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ul02>li {
	padding: 10px;
	margin-bottom: 15px;
	border-bottom: 1px dashed #ccc;
}

.dl01 {
	margin-top: 0;
}

.dl01 dt {
	background: #e9f8ff;
	padding: 5px 10px;
	font-size: 18px;
	font-weight: bold;
}

.dl01 dd {
	padding: 10px;
	margin: 10px 10px 20px;
}

#main {
	max-width: 1020px;
	padding-right: 10px;
	padding-left: 10px;
	margin: 40px auto;
}

h1.bar1 {
	border-left: 10px solid #0075cf;
	padding: 8px 15px;
	font-size: 2.2rem;
	margin-bottom: 20px;
}

h1.bar1 em {
	margin: 0 4px;
	color: #ff0000;
	font-size: 120%;
	font-weight: bold;
}

.block1 {
	margin-bottom: 60px;
}

.block20,
.block2 {
	padding: 0 10px;
}

.ttl02 {
	color: #0075cf;
	border-bottom: 2px dashed #0075cf;
	margin-bottom: 20px;
	padding: 5px 10px;
	font-size: 1.8rem;
}

.pageNavi02 {
	display: flex;
	flex-wrap: wrap;
}

.pageNavi02>a {
	flex-grow: 1;
	background: #eee url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 15px auto;
	padding: 20px 10px;
	text-align: center;
	margin: 1px;
	min-width: 200px;
}

.pageNavi02 a:hover {
	background: #e4f6ff url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 15px auto;
}

.pageNavi03 ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

.pageNavi03 ul li {
	width: 40%;
}

.pageNavi03 ul li.archive {
	width: 20%;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.pageNavi03 ul li a {
	display: block;
	padding: 10px 5px;
}

.pageNavi03 ul li.next a {
	text-align: left;
}

.pageNavi03 ul li.prev a {
	text-align: right;
}

.pageNavi03 ul li.archive a {
	text-align: center;
}

.pageNavi03 ul li.next a:before {
	content: '≪';
	text-align: left;
}

.pageNavi03 ul li.prev a:after {
	content: '≫';
	text-align: right;
}

.mincho {
	font-family: '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E',
		'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
}

/*検索フォーム*/
.search-form {
	display: flex;
	justify-content: space-between;
	border: 1px solid #0075cf;
	border-radius: 3px;
	max-width: 460px;
}

.search-form label {
	width: 100%;
}

.screen-reader-text {
	display: none;
}

.search-field {
	font-size: 1.5rem;
	width: 60px;
	padding: 5px;
	border: none;
	display: block;
}

.search-form input.search-submit {
	width: 20%;
	font-size: 1.5rem;
	border: none;
	background: #0075cf;
	color: #fff;
	border-radius: 0;
	cursor: pointer;
}

.searchsubmit:hover {
	opacity: 0.6;
}

@media screen and (max-width: 768px) {
	.ttlBox01 {
		padding: 20px 0;
		font-size: 2.2rem;
		line-height: 1.6;
	}

	.pageNavi03 ul {
		border: 1px solid #ccc;
	}

	.pageNavi03 ul li span {
		display: none;
	}

	.pageNavi03 ul li {
		flex-grow: 1;
		width: 20%;
	}

	.pageNavi03 ul li.archive {
		width: 60%;
	}
}

/*共通-----------------------------------------------------end*/

/*ページ-----------------------------------------------------start*/

.page_links a {
	color: #000;
	display: block;
	padding: 10px;
	border-bottom: 1px dashed #0075cf;
	margin-bottom: 10px;
}

.page_links a:before {
	content: '▶︎';
	font-size: 12px;
	color: #0075cf;
	margin-right: 5px;
}

.page_links a:hover {
	background: #f7f7f7;
}

dl.faq {
	margin-top: 0;
}

dl.faq dt {
	background: #e9f8ff;
	padding: 5px 10px;
	font-size: 18px;
	font-weight: bold;
}

dl.faq dd {
	padding: 10px;
	margin: 10px 10px 20px;
}

.ttl_basic_material_list {
	border: 1px solid #ccc;
	background: #ccc;
	font-size: 1.8rem;
	padding: 10px 20px;
}

.basic_material_list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #ccc;
}

.basic_material_list li {
	margin: 0;
	padding: 0;
	border: 1px solid #ccc;
	border-top: none;
	width: 50%;
	min-width: 250px;
	flex-grow: 1;
}

.basic_material_list li.li01 {
	width: 100%;
}

.basic_material_list a {
	display: block;
	padding: 20px 20px 20px 50px;
	background: url(../img/icon_dl01.png) no-repeat 20px center;
	background-size: 20px auto;
}

.basic_material_list a:hover {
	background: #eee url(../img/icon_dl01.png) no-repeat 20px center;
	background-size: 20px auto;
}

/*======================================================
	理事役員の配置css start
======================================================*/

.ul_yakuin {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.ul_yakuin li {
	width: 48%;
	max-width: 300px;
	background-position: center top 5%;
	background-size: 130%;
	font-size: 1.8rem;
	margin-bottom: 40px;
	overflow: hidden;
	transition: 0.3s;
}

/* .ul_yakuin li:first-of-type,
.ul_yakuin li:nth-child(11) {
	margin: 0 26% 40px;
} */

.ul_yakuin li:first-of-type {
	margin: 0 26% 40px;
}

.ul_yakuin li:hover {
	background-position: center top 5%;
	background-size: 150%;
}

.ul_yakuin li a {
	display: block;
	position: relative;
	z-index: 0;
	padding-top: 100%;
	padding-left: 10px;
	padding-bottom: 10px;
}

.ul_yakuin li a:hover {
	color: #fff;
}
.ul_yakuin li a:hover .fs_s {
	color: #fff;
}

.ul_yakuin li a:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	transform-origin: bottom left;
	z-index: -1;
	width: 100%;
	height: 19%;
	background: #fff;
	transition: 0.3s;
}

.ul_yakuin li a:hover:after {
	background: #1D9DDA;
}

.txt_yakuin01 {
	line-height: 1.4;
}

.txt_yakuin01 .yakuin_name {
	color: #000;
	font-size: 2rem;
	display: block;
	transition: 0.3s;
}

a:hover .txt_yakuin01 .yakuin_name {
	color: #fff;
}

.greeting h2 {
	font-size: 1.8rem;
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'メイリオ', 'Meyryo', 'Verdana', 'Helvetica',
		'Arial', 'ＭＳ Ｐゴシック', 'Average Sans', 'sans-serif';
	color: #0075cf;
	border-bottom: 2px dashed #0075cf;
	margin-bottom: 20px;
	padding: 5px 10px;
	font-size: 1.8rem;
}

.archiveBox {
	display: flex;
	justify-content: space-between;
	padding: 0 10px;
	margin-bottom: 10px;
}

.archiveBox .picBox_archive01 {
	width: 25%;
}

.archiveBox .txtBox_archive01 {
	width: 74%;
}

.btn_archive01 a {
	text-align: center;
	display: block;
	padding: 10px 40px;
	border: 1px solid #0095da;
	background: url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 14px auto;
}

.btn_archive01 a:hover {
	background: #eee url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 14px auto;
}

/*JCで一皮向けた経験*/
ul.published-books {
	margin: 0;
	padding: 0;
	list-style: none;
}

li.published-book-is-chapter {
	border-left: 10px solid #0075cf;
	padding: 8px 15px;
	font-size: 2.2rem;
	margin-top: 60px;
	margin-bottom: 40px;
}

li.published-book-has-detail:not(last-of-type) {
	padding-bottom: 40px;
}

li.published-book-has-detail.published-book-even,
li.published-book-has-detail-nopublic.published-book-even {
	margin-left: 10%;
}

li.published-book-has-detail.published-book-odd,
li.published-book-has-detail-nopublic.published-book-odd {
	margin-right: 10%;
}

li.published-book-has-detail a {
	border: 1px solid #ccc;
	display: block;
	padding: 10px;
	font-size: 1.8rem;
	color: #000;
	background: #fff url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 14px auto;
}

li.published-book-has-detail a:hover {
	border: 1px solid #0075cf;
	background: #eee url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 14px auto;
}

li.published-book-has-detail em {
	margin: 0 4px;
	color: #ff0000;
	font-size: 120%;
	font-weight: bold;
}

li.published-book-has-detail-nopublic {
	border: 1px solid #ccc;
	display: block;
	padding: 10px;
	font-size: 1.8rem;
	color: #000;
	background: #fff;
	background-size: 14px auto;
	margin-bottom: 40px;
}

li.published-book-has-detail-nopublic em {
	margin: 0 4px;
	color: #ff0000;
	font-size: 120%;
	font-weight: bold;
}

li .published-book-author {
	text-align: right;
}

.bg_book01 {
	background: url(../img/book/bg_txt.jpg) no-repeat top center;
	background-size: cover;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
	margin-top: -40px;
	padding: 40px 10px;
}

.bg_book01 .mincho {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 20px;
}

.historydata {
	width: 100%;
	overflow-x: auto;
}

.historydata table {
	width: 100%;
	min-width: 530px;
	font-size: 1.2rem;
}

.historydata table th {
	border: 1px solid #ccc;
	padding: 3px 5px;
	text-align: center;
	background: #e4f6ff;
	white-space: nowrap;
}

.historydata table td {
	border: 1px solid #ccc;
	padding: 5px;
}

.historydata table td:nth-child(1),
.historydata table td:nth-child(2) {
	text-align: center;
	white-space: nowrap;
}

.historydata table td:nth-child(3),
.historydata table td:nth-child(4) {
	white-space: nowrap;
}

.historydata table td:nth-child(8),
.historydata table td:nth-child(9) {
	text-align: right;
	white-space: nowrap;
}

.historydata table tr:nth-child(2n + 1) {
	background: #f7f7f7;
}

.historydata table .th01 {
	width: 20% !important;
}

.ul_history01,
.blocks-gallery-grid {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.ul_history01 li,
.blocks-gallery-grid li {
	margin: 0 0 30px;
	padding: 10px;
	width: 23%;
	border: 1px solid #0096da;
	position: relative;
}

.ul_history01 li:after,
.blocks-gallery-grid li:after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: -3px;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent #0096da transparent;
	border-width: 0 25px 25px 0;
}

.ul_history01 li a,
.blocks-gallery-grid li a {
	color: #000;
}

.ul_history01 li img,
.blocks-gallery-grid li img {
	transition: 0.3s;
}

.ul_history01 li:hover img,
.blocks-gallery-grid li:hover img {
	opacity: 0.8;
}

/*お問い合わせ*/
.dl_form01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.dl_form01 .must {
	color: #cc0000;
}

.dl_form01 dt {
	width: 22%;
	font-weight: bold;
	border-left: 5px solid #0075cf;
	padding: 5px;
	margin-bottom: 20px;
}

.dl_form01 dd {
	width: 76%;
	margin-bottom: 20px;
	margin-left: 0;
}

.dl_form01 dd input[type='text'] {
	border: 1px solid #0075cf;
	border-radius: 5px;
	padding: 3px;
	font-size: 1.5rem;
	width: 100%;
	max-width: 400px;
}

.dl_form01 dd textarea {
	border: 1px solid #0075cf;
	border-radius: 5px;
	padding: 3px;
	font-size: 1.5rem;
	width: 100%;
}

.mw_wp_form input[type='submit'] {
	display: block;
	width: 300px;
	max-width: 80%;
	background: #0075cf;
	border-radius: 5px;
	color: #fff;
	font-size: 1.8rem;
	padding: 10px;
	margin: 0 auto 40px;
	transition: 0.3s;
}

.mw_wp_form input[type='submit']:hover {
	background: #0095da;
}

.ul_reportCat {
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.ul_reportCat li {
	width: 50%;
	max-width: 250px;
	border: 1px solid #0075cf;
	margin-top: -1px;
	margin-left: -1px;
}

.ul_reportCat li a {
	display: block;
	padding: 10px;
	text-align: center;
	background: url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 12px auto;
	transition: 0.2s;
}

.ul_reportCat li a:hover {
	background: #eee url(../img/icon_pn02.png) no-repeat right bottom;
	background-size: 12px auto;
}

.fancybox-iframe {
	max-width: 520px;
	/* max-height: 800px; */
}

.workTitle01 {
	background: #eee;
	padding: 5px;
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
}

.workLink01 {
	padding: 5px;
	text-align: left;
}

/*.workLink01:before{
    content: "≫";  
}*/
.blocks-gallery-grid li:nth-child(n + 13) {
	display: none;
}

button.readmore {
	position: relative;
	height: 80px;
	width: 90px;
	margin: 40px auto;
	display: block;
	background-color: transparent;
	color: #666;
	padding-bottom: 40px;
	border: none;
	outline: 0;
	transition: 0.5s;
	-erbkit-transition: 0.5s;
}

button.readmore::after {
	content: ' ';
	position: absolute;
	width: 30px;
	height: 30px;
	border-top: solid 3px #666;
	border-right: solid 3px #666;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	right: 28px;
	top: 25px;
	transition: 0.5s;
	-erbkit-transition: 0.5s;
}

button.readmore:hover::after {
	top: 40px;
}

.on-click {
	color: transparent !important;
}

.on-click {
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
}

.blocks-gallery-grid .blocks-gallery-image,
.blocks-gallery-grid .blocks-gallery-item,
.wp-block-gallery .blocks-gallery-image,
.wp-block-gallery .blocks-gallery-item {
	flex-grow: 0 !important;
}

.tbl_underdash01 .th01,
.tbl_underdash01 .td01 {
	border-bottom: 1px dashed #ccc;
	padding: 10px;
}

.tbl_underdash01 .th01 {
	font-weight: bold;
}

.bg_blue01 {
	background: #e4f6ff;
}

.ttl_blueradius01 {
	background: #0075cf;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 5px 20px;
	border-radius: 40px;
	display: inline-block;
}

.underLine01 {
	background: linear-gradient(transparent 60%, #ffff66 60%);
}

.w50 {
	width: 50%;
	display: flex;
	justify-content: center;
}

@media screen and (min-width: 905px) {

	.ul_yakuin li:nth-child(2),
	.ul_yakuin li:nth-child(3),
	.ul_yakuin li:nth-child(4),
	.ul_yakuin li:nth-child(5),
	.ul_yakuin li:nth-child(9),
	.ul_yakuin li:nth-child(10),
	.ul_yakuin li:nth-child(11),
	.ul_yakuin li:nth-child(12) {
		margin: 0 8% 40px;
	}

	/* .ul_yakuin li:nth-child(12) {
		margin: 0 8% 40px 0;
	}
	.ul_yakuin li:nth-child(13) {
		margin: 0 0 40px 8%;
	}

	.ul_yakuin li:nth-child(15) {
		margin: 0 8% 40px 0;
	}
	.ul_yakuin li:nth-child(14) {
		margin: 0 0 40px 8%;
	} */
}

@media screen and (max-width: 768px) {
	.ul_yakuin li:nth-of-type(2) {
		margin: 0 26% 40px;
	}

	.ul_yakuin li:last-of-type {
		margin: 0 52% 40px 0;
	}

	.ul_yakuin li:nth-child(14),
	.ul_yakuin li:nth-child(15) {
		margin: 0 auto 40px;
	}

	.ul_history01 li {
		width: 49%;
	}

	.dl_form01 dt {
		width: 100%;
		margin-bottom: 10px;
	}

	.dl_form01 dd {
		width: 100%;
		margin-bottom: 20px;
	}

	.w50 {
		width: 100%;
	}
}

/*======================================================
	理事役員の配置css end
======================================================*/

.catchcopy {
	font-size: 2.2rem;
}

.page-id-15531 .blocks-gallery-grid {
	justify-content: center;
}

.page-id-15559 .blocks-gallery-grid {
	justify-content: flex-start;
}

/*ページ-----------------------------------------------------end*/

.dlDirector01 {
	margin-top: 0;
	display: flex;
	flex-wrap: wrap;
}

.dlDirector01 dt {
	width: 3em;
}

.dlDirector01 dd {
	width: calc(100% - 4em);
	padding-left: 0;
	margin-left: 0;
}

.page-id-15531 .wp-block-gallery {
	display: block;
}

/* .wp-block-gallery .blocks-gallery-item {
    flex-grow: initial!important;
    width: calc((100% - 48px)/4);
}*/
.boderTopDot01 {
	border-top: #0075cf dotted 2px;
	padding-top: 40px;
}

.page-id-15531 .blocks-gallery-item__caption {
	display: none;
}

/*side-----------------------------------------------------start*/
aside.side {
	position: fixed;
	bottom: 20px;
	right: 0;
	transition: 0.3s;
	z-index: 1000;
}

@media screen and (max-width: 768px){
	aside.side {
		bottom: 10px;
	}
}

aside.side figure {
	margin: 0;
	display: flex;
	align-items: center;
	column-gap: 20px;
}

aside.side figcaption {
	display: none;
	text-align: center;
}

aside.side figcaption h2 {
	font-weight: 700;
	font-size: 1.1em;
	color: #fff;
	line-height: 120%;
}

aside.side figcaption span {
	display: block;
}

aside.side .arrow {
	aspect-ratio: 1 / 1;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%2337c10d" d="M454.792,198.809H226.106l96.511-91.848c22.89-21.766,23.802-57.976,2.014-80.877c-21.778-22.89-57.976-23.78-80.866-2.003L0,256.006L243.766,487.92c22.89,21.788,59.088,20.875,80.866-2.015c21.788-22.878,20.875-59.099-2.014-80.854l-96.511-91.848h228.687c31.604,0,57.208-25.594,57.208-57.198C512,224.403,486.396,198.809,454.792,198.809z" /></svg>');
	/* background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23FF9E56" d="M454.792,198.809H226.106l96.511-91.848c22.89-21.766,23.802-57.976,2.014-80.877c-21.778-22.89-57.976-23.78-80.866-2.003L0,256.006L243.766,487.92c22.89,21.788,59.088,20.875,80.866-2.015c21.788-22.878,20.875-59.099-2.014-80.854l-96.511-91.848h228.687c31.604,0,57.208-25.594,57.208-57.198C512,224.403,486.396,198.809,454.792,198.809z" /></svg>'); */
	background-repeat: no-repeat;
	background-size: 65%;
	background-position: center;
	background-color: #fff;
	border-radius: 15px;
	margin-top: 20px;
	margin-right: auto;
	margin-left: auto;
	width: 60%;
}

aside.side img {
	max-width: 110px;
}

/* 画像を含むリンクの位置を修正 20240102 */
aside.side a {
	display: block;
}

aside.side a {
	display: block;
	opacity: 1;
	transition: all .3s;
}



/* PCはこちらをスマホ時は非表示 */
@media screen and (max-width: 768px) {
	.side-text {
		display: none;
	}
}


@media screen and (min-width: 769px) {

	aside.side:hover {
		transform: translateX(0);
	}

	aside.side figcaption {
		display: block;
	}

	aside.side img {
		max-width: 150px;
	}
}

/*side-----------------------------------------------------end*/

/*じゃんけん-----------------------------------------------------start*/
.janken {
	text-align: center;
	margin-bottom: 20px;
}

.janken-title {
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 16px;
}

.janken img {
	max-width: 400px;
}

/*じゃんけん-----------------------------------------------------end*/

/*singleページ slider-----------------------------------------------------start*/
.slider-for img {
	max-height: 600px;
	width: auto;
	margin-right: auto;
	margin-left: auto;
}

/*singleページ slider-----------------------------------------------------end*/
/*content-----------------------------------------------------start*/
.aligncenter {
	margin-right: auto;
	margin-left: auto;
}

.greeting table th,
.greeting table td {
	min-width: 100px;
}

/*content-----------------------------------------------------end*/



aside.side small {
	font-size: 10px;
}


/*======================================================
	20240102css追加
======================================================*/
.nav-bg {
	position: relative;
	z-index: 1;
}

.nav-bg::after {
	position: absolute;
	content: "";
	background-image: url(../img/nav_header_2026.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

@media screen and (max-width: 768px){
	.nav-bg::after {
		background-image: url(../img/nav_menu_sp.png);
	}
}


/*======================================================
	20250102追加（contact-formなど）
======================================================*/
.form-membership {
	max-width: 800px;
	padding-left: 30px;
	padding-right: 30px;
	margin-inline: auto;
	margin-top: 60px;
}

.form-membership p:not(:first-child) {
	margin-top: 30px;
}

.form-membership h3 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 40px;
}

.form-membership label {
	display: grid;
	grid-template-columns: .3fr .7fr;
	gap: 20px;
}

.form-membership input {
	width: 100%;
	display: block;
	padding: 10px 15px;
	font-size: 16px;
}

.form-membership .wpcf7-form-control-wrap {
	display: block;
}

.form-membership textarea {
	width: 100%;
	display: block;
	min-height: 300px;
	padding: 10px 15px;
	font-size: 16px;
}

.form-membership .wpcf7-submit {
	width: 300px;
	margin-inline: auto;
	background-color: #c9eeff;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
}

.form-membership .wpcf7-list-item {
	display: block;
}

.form-membership .wpcf7-acceptance label {
	gap: 5px;
	width: fit-content;
	display: flex;
	margin-inline: auto;
}

.form-membership input[type="checkbox"] {
	width: 20px;
	margin-left: auto;
}

.form-membership__select,
.form-membership__gender,
.form-membership__number {
	display: grid;
	grid-template-columns: .3fr .7fr;
	gap: 20px;
	margin-top: 30px;
}

.form-membership__select label,
.form-membership__number label {
	display: block;
}

.form-membership__gender,
.form-membership__number {
	margin-top: 20px;
}

.form-membership__number input {
	width: fit-content;
}

.form-membership__number p {
	display: flex;
	align-items: center;
	gap: 10px;
}

.form-membership__number p span:first-child {
	margin-left: -17px;
}

.form-membership__gender .wpcf7-radio {
	display: flex;
	align-items: center;
	grid-area: 20px;
}

.form-membership__gender label {
	display: flex !important;
	align-items: center;
	gap: 2px;
	font-size: 16px;
}

.form-membership__gender .wpcf7-list-item.first {
	margin-left: 0;
}

.form-membership__gender input {
	width: fit-content;
	margin-top: 0;
}

.form-membership__sex {
	margin-bottom: -20px;
}

.form-membership__math p {
	display: flex;
	align-items: center;
	gap: 10px;
}

.form-membership__math select {
	font-size: 16px;
	height: 42px;
	padding-left: 10px;
	padding-right: 10px;
	letter-spacing: .1em;
}

.form-membership__age input {
	width: 95px;
	text-align: center;
	letter-spacing: .1em;
}



@media screen and (max-width: 767px) {
	.form-membership {
		max-width: 550px;
		padding-left: 20px;
		padding-right: 20px;
	}


	.form-membership h3 {
		font-size: 20px;
	}


	.form-membership .wpcf7-form-control-wrap {
		margin-top: 5px;
		display: block;
	}

	.form-membership label {
		display: block;
	}

	.form-membership__select,
	.form-membership__gender,
	.form-membership__number {
		display: block;
	}
}



.complete-form {
	/* text-align: center; */
	padding: 20px 0px;
	display: block;
	/* width: fit-content;
	margin-inline: auto; */
}

.complete-form p {
	line-height: 1.75;
}

.complete-form__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-width: 300px;
	min-height: 50px;
	border-radius: 100px;
	background-color: #c9eeff;
	color: #fff;
	margin-top: 40px;
	margin-inline: auto;
}


/*======================================================
	2026年追加
======================================================*/
.join-btn {
	position: relative;
	transition: opacity 0.3s;
	display: block;
	overflow: hidden;
}

.join-btn img {
	transition: transform 0.3s;
}

.join-btn:hover img {
	transform: scale(1.1);
}


.join-btn p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #000;
	font-size: 24px;
	font-weight: bold;
	font-weight: 700;
	text-align: center;
	width: 100%;
	line-height: 1.3;
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
	opacity: 1;
}


@media screen and (max-width: 767px) {
	.join-btn p {
		font-size: 18px;
	}
}