@charset "utf-8";
/* CSS Document */

/*ヘッダー*/

@media screen and (min-width:961px) { /*PC*/
	.mb-space {
		display: none;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.mb-space {
		width: 100%;
		height: 60px;
	}
}

.p-upper {
	display: flex;
	justify-content: space-between;
	height: 100px;
	align-items: center;
	position: relative;
}

@media screen and (min-width:961px) { /*PC*/
	
}
@media screen and (max-width:960px) { /*MB*/
	.p-logo {
		width: 40%;
		position: relative;
	}
	.p-head-right {
		width: 55%;
		position: relative;
	}
}

.p-head-right {
	display: flex;
	gap:24px;
}

.search-box {
    position: relative;
    display: flex;
    width: 100%;
	height: 50px;
	align-items: center;
}

@media screen and (min-width:961px) { /*PC*/
	.p-head-right {
		display: flex;
		gap:24px;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-head-right {
		display: flex;
		gap:12px;
		max-width: 400px;
	}
	.p-head-search {
		width: 83%;
	}
	.p-head-fb {
		width: 17%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.search-box input[type="text"] {
	position: relative;
    flex-grow: 1;
    padding: 0.7rem 0 0.7rem 0.8rem;
    border: 1px solid #00476e;
    border-radius: 1.8rem;
	background-color: #fff;
	width: 220px;
	text-align: left;
	font-size: 1.3rem;
}

.search-box button {
    position: absolute;
    top:0;
	bottom: 0;
    right: 0;
	margin: auto 0;
    cursor: pointer;
    padding: .8rem .9rem .8rem .8rem;
    border: none;
    background: none;
    color: #00476e;
    font-size: 1.4rem;
    transition: 0.5s;
}

.search-box input:focus {
    outline: 0;
    box-shadow: 0 0 5px #e1e1e1, 0 0 10px #e1e1e1, 0 0 15px #e1e1e1;
}

.search-box button:hover {
    color: #4eadb8;
    transform: scale(1.2);
}

/*メニュー*/


@media screen and (min-width:961px) { /*PC*/
	.p-header-wrap nav ul {
		display: flex;
		justify-content: center;
		gap:72px;
	}

	.p-header-wrap nav ul li {
		position: relative;
	}

	.p-header-wrap nav ul li:before {
		content: "|";
		display: flex;
		font-size: 1.8rem;
		position: absolute;
		top: 0;
		left:-36px;
		color: #fff;
	}

	.p-header-wrap nav ul li:first-child:before {
		display: none;
	}

	.p-header-wrap nav ul li a {
		color: #fff;
		text-decoration: none;
		font-size: 1.8rem;
		font-family: "Noto Sans JP", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
	}

	.p-header-wrap nav ul li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width:960px) { /*MB*/
	
/*外側クローズ用*/
	.p-main{
	}
	.p-main-cover{
		position: fixed;
		width: 100%;
		visibility: hidden;
		z-index: -1;  
		-webkit-transition: .3s;
		transition: .3s;
	}
	.p-main-cover.active{
		height:100%;
		visibility: visible;
		background:rgba(0,0,0,0.4);
		z-index:1000;
	}

	.p-header-inner{
		width: 100%;
		height: 60px;
		position:fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		background:#00476e;
	}
	.p-header-wrap{
		position:relative;
		width: 100%;
		height: 60px;
	}
	/*nav=====*/
	.nav{
		display: none;
		position: relative;
		width: 100%;
		text-align: center;
		top: 0;
		left: 0;
		z-index: 950;
		padding-top:60px;
	}
	.nav li{
		background: #00476e;
		border-bottom: 1px solid #DFEEFF;
		text-align: left;
		text-indent: 12px;
	}
	.nav a{
		color: #fff;
		display: block;
		height: 50px;
		line-height: 50px;
		font-size:2rem;
	}
	.nav a:hover{
		text-decoration: none;
	}
	/*ナビボタン*/
	.p-header-sp-nav{
		width: 30px;
		height: 26px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		margin:auto;
		cursor: pointer;
		z-index: 1000;
		background:#00476e;
	}
	.p-header-sp-nav:before {
		content: "";
		display: block;
		width:50px;
		height:60px;
		background-color:#00476e;
		z-index: -1;
		position: absolute;
		right:-10px;
		top:-17px;
	}
	.p-header-sp-nav span {
		display: block;
		position: absolute;
		width: 30px;
		height: 2px;
		background: #fff;
		-webkit-transition: .3s;
		transition: .3s;
	}
	.p-header-sp-nav span:first-of-type {
		top: 0;
		bottom: auto;
		margin-bottom: 10px;
	}
	.p-header-sp-nav span:nth-of-type(2) {
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.p-header-sp-nav span:last-of-type {
		bottom: 0;
		top: auto;
	}
	.p-header-sp-nav.active{
	}
	.p-header-sp-nav.active span:nth-of-type(2) {
		right: -60px;
		opacity: 0;
		visibility: hidden;
	}
	.p-header-sp-nav.active span:first-of-type{
		top: 0;
		bottom: 0;
		margin: auto;
		transform:rotate(45deg);
	}
	.p-header-sp-nav.active span:last-of-type{
		top: 0;
		bottom: 0;
		margin: auto;
		transform:rotate(-45deg);
	}
	
}

/*メインビジュアル*/

.p-mainvisual {
	width: 100%;
	position: relative;
	margin-bottom: 24px;
}

/*共通*/

.p-title {
	background:url("../img/title.webp") left top no-repeat;
	background-size:cover;
	box-sizing: border-box;
	background-size: cover;
	width: 100%;
	min-height: 50px;
	padding: 0 12px;
	border-radius: 7px;
	margin-bottom: 16px;
}

.p-title p {
	line-height: 50px;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: left;
	color: #fff;
}

/*リスト*/

.p-list {
	margin-bottom: 24px;
}

.p-list ul {
	display: flex;
	flex-direction: column;
}

.p-list ul li {
	display: flex;
	justify-content: flex-start;
	align-content: center;
	border-bottom: 1px solid #dadada;
	font-size: 1.5rem;
	color:rgba(50,50,50,1.00);
	position: relative;
	padding-left: 20px;
	box-sizing: border-box;
	padding-bottom: 10px;
	padding-top: 10px;
	text-align: left;
	line-height: 1.4;
}

.p-list ul li:before {
	content: "";
	display: block;
	position: absolute;
	left:4px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 8px solid #00476e;
	border-right: 0;
}

.p-list ul li a {
	color:rgba(50,50,50,1.00);
	text-decoration: none;
}

.p-list ul li a:hover {
	text-decoration: underline;
	color: deepskyblue;
}

/*左コンテンツ*/

.p-entry-body {
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
	padding: 24px;
}

/*ムービー*/

.p-movie-wrap {
	display: flex;
	justify-content: center;
	gap:24px;
	margin: 0 auto 24px;
	flex-wrap: wrap;
}

.p-movie-box {
	width: calc((100% - 24px) / 2);
	position: relative;
	background-color:#f1f1f1;
}

@media screen and (min-width:961px) { /*PC*/
	.p-movie-box {
		width: calc((100% - 24px) / 2);
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-movie-box {
		width: 100%;
	}
}

.p-movie-box iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.p-movie-box p {
	font-size: 1.5rem;
	text-align: left;
	line-height: 1.5;
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
}

.p-logwrap {
	width: 100%;
	position: relative;
	margin: 0 auto 24px;
}

.p-logwrap dl {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: flex-start;
	border-bottom: 1px solid #dadada;
	margin-bottom: 8px;
	padding-bottom: 8px;
	flex-wrap: wrap;
}

.p-logwrap dl:last-child {
	margin-bottom: 0!important;
}

.p-logwrap dl dt {
	width: 120px;
	box-sizing: border-box;
	padding: 4px;
	color: #fff;
	background-color: #7eb4d2;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.p-logwrap dl dt p {
	width: 100%;
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
}

.p-logwrap dl dd {
	width:calc(100% - 120px);
	box-sizing: border-box;
	padding: 4px 8px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

@media screen and (min-width:961px) { /*PC*/
	.p-logwrap dl dd {
		width:calc(100% - 120px);
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-logwrap dl dd {
		width:100%;
	}
}

.p-logwrap dl dd p {
	width: 100%;
	display: block;
	font-size: 1.5rem;
	text-align: left;
	line-height: 1.4;
}

.p-logwrap dl dd p a {
	text-decoration: none;
	color:rgba(50,50,50,1.00);
}

.p-logwrap dl dd p a:hover {
	text-decoration: underline;
	color: deepskyblue;
}

/*トップ用要約エントリー*/

.p-entry-summary {
	display: flex;
	justify-content:flex-start; 
	width: 100%;
	position: relative;
	gap:16px;
	flex-wrap: wrap;
}

.p-summary-left {
	width: 120px;
	position: relative;
}


span.p-date {
	display: block;
	width: 100%;
	background-color: #f19149;
	color: #ffffff;
	font-size: 1.3rem;
	font-weight: 600;
	box-sizing: border-box;
	padding: 4px;
}

@media screen and (min-width:961px) { /*PC*/
	.p-summary-right {
		width:calc(100% - 136px);
		text-align: left;
	}
	.p-summary-left img {
		border: 1px solid #00476e;
		margin-bottom: 8px;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-summary-right {
		width:100%;
		text-align: left;
	}
	.p-summary-left img {
		display: none;
	}
}

.p-summary-right strong {
	display: block;
	margin-bottom: 12px;
	line-height: 1.5;
}

.p-summary-right strong a {
	font-size: 2rem;
	color: #00476e;
}

.p-summary-right strong a:hover {
	text-decoration: underline;
	color: deepskyblue;
}

.p-summary-right p {
	font-size: 1.6rem;
	line-height: 1.6;
	margin-bottom: 24px;
}

.p-continue {
	display: block;
	width: 100%;
	text-align: right;
	margin-bottom: 24px;
}

.p-continue a {
	color: #00476e;
	font-size: 1.6rem;
}

.p-continue a:hover {
	text-decoration: underline;
	color: deepskyblue;
}

.p-quicklink {
	background-color:#f1f1f1;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	padding: 12px;
}

.p-quicklink ul {
	display: flex;
	justify-content: flex-start;
	width: 100%;
	position: relative;
	flex-wrap: wrap;
}

@media screen and (min-width:961px) { /*PC*/
	.p-quicklink ul {
		gap:32px;
	}
	.p-quicklink ul li {
		width: calc((100% - 64px) / 3 );
		position: relative;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-quicklink ul {
		gap:12px;
	}
	.p-quicklink ul li {
		width: 100%;
		position: relative;
	}
}

.p-quicklink ul li a {
	width: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	gap:8px;
	font-size: 1.6rem;
	background-color: #fff;
	border:1px solid #00476e;
	border-radius: 7px;
	box-sizing: border-box;
	padding: 8px 16px;
	position: relative;
	text-align: left;
	color: #00476e;
}

.p-quicklink ul li a:hover {
	text-decoration: none;
	color: deepskyblue;
}

.p-quicklink ul li a:after {
	content: "";
	display: block;
	background: url("../img/arrow.webp") left top no-repeat;
	width: 25px;
	height: 25px;
	position: absolute;
	right: 8px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

/*右コンテンツ*/

.p-right-body {
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
	padding: 12px;
}

/*でかバナー*/

.p-left-largelink {
	width: 100%;
	position: relative;
	margin-bottom: 24px;
}

.p-left-largelink ul {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	gap:24px;
}

.p-left-largelink ul li a {
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	gap:8px;
	width: 100%;
	height: 120px;
	background-color: #fff;
	border:1px solid #00476e;
	border-radius: 7px;
	box-sizing: border-box;
	padding: 0 16px;
	position: relative;
	text-align: left;
	color: #00476e;
}

.p-left-largelink ul li a:hover {
	text-decoration: none;
	color: deepskyblue;
}

.p-left-largelink ul li a p {
	width: 100%;
	display: block;
	font-size: 2.6rem;
	font-weight: 600;
}

.p-left-largelink ul li a span {
	width: 100%;
	display: block;
	font-size: 1.3rem;
}

.p-left-largelink ul li a:after {
	content: "";
	display: block;
	background: url("../img/circle-arrow.webp") left top no-repeat;
	width: 50px;
	height: 50px;
	position: absolute;
	right: 8px;
	top:0;
	bottom: 0;
	margin: auto 0;
}

/*FBウィジェット*/

.p-fb-widget {
	width: 100%;
	height: 500px;
	margin: 0 auto 24px;
	background-color: #fff;
	box-sizing: border-box;
	overflow: hidden;
}

/*リンク類*/

.p-left-minilink ul {
	display: flex;
	flex-direction: column;
	gap:12px;
	margin-bottom: 24px;
}

.p-left-minilink ul li {
	box-sizing: border-box;
	border: 1px solid #dadada;
}

/*フッター*/

.p-copyright {
	font-size: 1.4rem;
	margin-bottom: 72px;
}

.p-foot-sankei {
	width: 100%;
	background: #4c4c4c;
	padding: 24px;
	box-sizing: border-box;
}

.p-foot-sankei a {
	display: block;
	max-width: 160px;
	margin: 0 auto;
}



/* エントリー */

.p-entry-date {
	position:relative;
	width:100%;
	margin:0 auto 24px;
	box-sizing:border-box;
	padding:8px;
	background-color:#eeeeee;
}

.p-entry-date p {
	font-size:1.5rem;
	text-align: right;
	font-weight: 600;
}

.p-single-entry {
	display:flex;
	flex-direction:column;
	gap:24px;
	text-align:left;
	position:relative;
	width:100%;
}

.p-single-entry p {
	font-size:1.7rem;
	line-height:1.6;
}

.p-single-entry ul, .p-single-entry ol {
	display:flex;
	flex-direction: column;
	gap:8px;
	padding-left:24px;
}

.p-single-entry ul {
	list-style-type:disc;
}

.p-single-entry ol {
	list-style-type:decimal;
}

.p-single-entry ul li, .p-single-entry ol li {
	font-size:1.7rem;
	line-height:1.6;
	border-bottom: 1px solid #dadada;
}

.p-single-entry figure {
	width:100%;
	margin:0 auto;
}

.p-single-entry figure img {
	margin:0 auto;
	display:block;
}

.p-single-entry h1 {
	border-left:5px solid #00476e;
	border-bottom:1px solid #00476e;
	font-weight:700;
	color:#00476e;
	box-sizing:border-box;
	padding:8px;
	font-size:2.6rem;
}

.p-single-entry h2 {
	background-color:#ddecf5;
	color:#00476e;
	font-weight:700;
	box-sizing:border-box;
	padding:8px;
	font-size:2.2rem;
	border-radius: 10px;
}

.p-single-entry h3 {
	border:1px solid #00476e;
	font-weight:700;
	color:#00476e;
	box-sizing:border-box;
	padding:4px;
	font-size:2rem;
}

.p-single-entry h4 {
	background-color:#ddecf5;
	color:#00476e;
	font-weight:400;
	box-sizing:border-box;
	padding:8px;
	font-size:1.8rem;
}

.p-single-entry h5 {
	border-bottom:1px solid #00476e;
	font-weight:400;
	color:#00476e;
	box-sizing:border-box;
	padding:4px 0;
	font-size:1.8rem;
}

.p-single-entry h6 {
	border-bottom:5px solid #ddecf5;
	font-weight:600;
	color:#00476e;
	box-sizing:border-box;
	padding:4px 0;
	font-size:1.6rem;
}

.p-single-entry blockquote {
	background-color:#f1f1f1;
	box-sizing:border-box;
	padding:12px;
}

.p-floatimg {
	float:left;
}

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

.wp-block-table table td {
	font-size:1.5rem;
	box-sizing:border-box;
	padding:8px;
	border-color:#dadada;
	min-height:40px;
	min-width:50px;
	vertical-align: middle;
	line-height:1.4;
}

/* ごあいさつ */

.p-about-greeting {
	font-weight:700;
	color:#00476e;
	font-size:2.6rem!important;
}

.p-about-kaicho {
	text-align:right;
	color: #00476e;
	font-weight:bold;
}

table.p-history {
	width:100%;
	position:relative;
	border-collapse: separate;
	border-spacing: 0 8px !important;
}

table.p-history tr {
	margin-bottom:5px;
}

table.p-history td.left {
	box-sizing:border-box;
	padding:8px;
	font-weight: 700;
	font-size:1.5rem !important;
	width:15%;
	vertical-align: middle;
	position:relative;
}

table.p-history td.right {
	width:85%;
	box-sizing:border-box;
	padding:8px;
}

table.p-history td.right ul li {
	font-size:1.4rem !important;
	border-bottom:0 !important;
}

table.p-history tr:nth-child(2n + 1) td.left {
	background-color:#ddecf5;
}

table.p-history tr:nth-child(2n) td.left {
	background-color:#ddf5eb;
}

table.p-history tr:nth-child(2n + 1) td.right {
	background-color:#f5fbff;
}

table.p-history tr:nth-child(2n) td.right {
	background-color:#f3fffa;
}

/* 役員紹介 */

table.p-yakuin {
	width:100%;
	position:relative;
}

table.p-yakuin tr {
	border-top:1px solid #c1c1c1;
	border-left:1px solid #c1c1c1;
}

table.p-yakuin td.left {
	box-sizing:border-box;
	padding:8px;
	font-weight: 700;
	font-size:1.5rem !important;
	width:15%;
	vertical-align: middle;
	position:relative;
	border-bottom:1px solid #c1c1c1;
	border-right:1px solid #c1c1c1;
	line-height:1.5;
	background-color:#f1f1f1;
}

table.p-yakuin td.right {
	width:85%;
	box-sizing:border-box;
	padding:8px;
	border-bottom:1px solid #c1c1c1;
	border-right:1px solid #c1c1c1;
	font-size:1.4rem !important;
	vertical-align: middle;
	line-height:1.5;
}

table.p-yakuin tr:nth-child(2n + 1) td.right {
	background-color:#f5fbff;
}

/* Youtube */

figure.is-provider-youtube {
	max-width:500px;
}

/* 会報 */

.p-newsletter-wrap {
	display:flex;
	flex-wrap:wrap;
	justify-content: flex-start;
	gap:16px;
}

.p-newsletter-box {
	border:1px solid #c1c1c1;
	box-sizing:border-box;
	padding:12px;
}

@media screen and (min-width:961px) { /*PC*/
	.p-newsletter-box {
		width:calc((100% - 32px) / 3);
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-newsletter-box {
		width:calc((100% - 16px) / 2);
	}
}

.p-newsletter-box img {
	margin-bottom:8px;
}

.p-newsletter-box p {
	font-size:1.4rem!important;
	text-align:center;
}

/* ナビ */

.wp-pagenavi {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px !important;
	display: flex;
	justify-content: center;
	gap:8px;
	flex-wrap: wrap;
}
.wp-pagenavi a, .wp-pagenavi span.pages, .wp-pagenavi span.extend {
	display: inline-block;
	color:#707070 !important;
	background:#FFFFFF !important;
	border-radius:3px !important;	
	border:solid 1px #DCDCDC !important;
	padding:6px 9px 6px 9px !important;
	margin-right:3px !important;
	text-decoration:none !important;
	font-size:1.7rem !important;
	box-sizing: border-box;
}
.wp-pagenavi a:hover {
	border-color:#202020 !important;
	background:#525252 !important;
	color:#fff !important;
	background:-moz-linear-gradient(top,#9F9F9F 1px,#6C6C6C 1px,#525252) !important;
	background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#9F9F9F),color-stop(0.02,#6C6C6C),color-stop(1,#525252)) !important;

}
 .wp-pagenavi span.current{
	display: inline-block;
	font-size:1.7rem !important;
	padding:6px 9px 6px 9px !important;
	border:solid 1px #DCDCDC !important;
	border-color:#3390CA !important;
	border-radius:3px !important;	
	color:#fff !important;
	margin-right:3px !important;
	border-color:#202020 !important;
	background:#525252 !important;
	background:-moz-linear-gradient(top,#9F9F9F 1px,#6C6C6C 1px,#525252) !important;
	background:-webkit-gradient(linear,0 0,0 100%,color-stop(0.02,#9F9F9F),color-stop(0.02,#6C6C6C),color-stop(1,#525252)) !important;
}

/* NEXTPREV */

.p-post-navi {
	width:100%;
	margin-top:60px;
	box-sizing:border-box;
}

.p-post-navi ul {
	display:flex;
	flex-wrap:wrap;
	gap:24px;
}

.p-post-navi ul li {
	
	width:calc((100% - 24px) / 2);
	position: relative;
}

.p-post-navi ul li a {
	display:block;
	border:1px solid #dadada;
	box-sizing:border-box;
	padding:32px 16px 8px;
	font-size:1.4rem;
	line-height:1.5;
	color:rgba(50,50,50,1.00);
	text-decoration:none;
	text-align:left;
	position:relative;
	transition:all 0.3s;
}

.p-post-navi ul li a:hover {
	opacity:0.6;
}

li.p-prev a:before {
	content:"前の記事";
	display:block;
	position:absolute;
	padding:2px 8px;
	font-size:1.25rem;
	background-color:#00476e;
	color:#fff;
	left:0;
	top:0;
}

li.p-next a:before {
	content:"次の記事";
	display:block;
	position:absolute;
	padding:2px 8px;
	font-size:1.25rem;
	background-color:#00476e;
	color:#fff;
	right:0;
	top:0;
}

#Shoukai table tr td:first-child {
	width:20%!important;
}