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


.relative {
	position: relative;
}

/* シャドウボックスはPCだけで良いので */
@media screen and (min-width:769px) {
	.shadowBox {
		background: #fff;
		border: solid 1px #dcdcdc;
		box-shadow: 0 0 1em #dcdcdc;
	}
}

.contentUp #main,
.contentUp #side {
	margin-top: -13.59375%;
}
@media screen and (max-width:768px) {
	.contentUp #main,
	.contentUp #side {
		margin-top: 0;
	}
}

::-webkit-input-placeholder{
	color:#cacaca;
}
::-moz-placeholder{
	color:#cacaca;
}
:-ms-input-placeholder{
	color:#cacaca;
}
:placeholder-shown{
	color:#cacaca;
}


/**
 * スマートフォン用ハンバーガーメニュー
 */
.menuBtn {
	display: none;
	cursor: pointer;
}

@media screen and (max-width:768px) {
	.menuBtn {
		display: block;
		position: absolute;
		right: 10px;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 30px;
		height: 30px;
		font-size: 0;
		z-index: 99999;
	}
	.menuBtn span,
	.menuBtn span::before,
	.menuBtn span::after {
		content: "";
		display: block;
		height: 2px;
		width: 100%;
		background-color: #4d4d4d;
		transition-duration: 0.2s;
	}
	.menuBtn span {
		position: absolute;
		top: 50%;
		margin-top: -1px;
	}
	.menuBtn span::before {
		margin-top: -10px;
	}
	.menuBtn span::after {
		margin-top: 18px;
	}
	.menuBtn.open span {
		background-color: transparent;
	}
	.menuBtn.open span::before {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		margin-top: -1px;
	}
	.menuBtn.open span::after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		margin-top: -2px;
	}
}


/**
 * テキスト
 */
.tR {
	text-align: right!important;
}
.tC {
	text-align: center!important;
}
.tL {
	text-align: left!important;
}


.linkArea01 {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
@media screen and (max-width:768px) {
	.linkArea01 {
		width: auto;
		position: static;
	}
}

/**
 * リンクアイコン
 */
[class^="linkStyle"] {
	position: relative;
}
/* 緑の四角アイコン */
.linkStyle01:before {
	content: "";
	position: absolute;
	top: 35%;
	left: 15px;
	background-size: contain;
	width: 13px;
	height: 12px;
}
.news .linkStyle01:before {
	background: url(../img/common/cmn_ico_news_link01.png) no-repeat left top;
}
.report .linkStyle01:before {
	background: url(../img/common/cmn_ico_report_link01.png) no-repeat left top;
}
/* 緑の四角アイコン下向き */
.news .linkStyle01.open:before {
	background: url(../img/common/cmn_ico_news_link04.png) no-repeat left top;
}
/* 紫の四角アイコン下向き */
.report .linkStyle01.open:before {
	background: url(../img/common/cmn_ico_report_link04.png) no-repeat left top;
}

/* 緑の丸形アイコン */
.linkStyle02:before {
	content: "";
	position: absolute;
	top: 20%;
	left: 24px;
	background-size: contain;
	width: 9px;
	height: 8px;
}
.news .linkStyle02:before {
	background: url(../img/common/cmn_ico_news_link02.png) no-repeat left top;
}
.report .linkStyle02:before {
	background: url(../img/common/cmn_ico_report_link02.png) no-repeat left top;
}

/* もっと見る */
.linkStyle03 {
	font-size: 18px;
	padding-right: 36px;
	text-decoration: underline;
}
.linkStyle03:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background-size: contain;
	width: 24px;
	height: 21px;
}
.linkStyle03.open:after {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.news .linkStyle03:after {
	background: url(../img/common/cmn_ico_news_link03.png) no-repeat left top;
}
.report .linkStyle03:after {
	background: url(../img/common/cmn_ico_report_link03.png) no-repeat left top;
}

@media screen and (max-width:768px) {
	.linkStyle03 {
		font-size: 14px;
		padding-right: 36px;
		text-decoration: underline;
	}
	.linkStyle03:after {
		width: 23%;
	}
}

.linkStyle04 {
	border: solid 4px #a8d145;
	display: block;
	font-size: 22px;
	text-align: center;
	padding: 15px 0;
}
.linkStyle04 span:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -22px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4.5px 0 4.5px 9px;
	border-color: transparent transparent transparent #a7d145;
	margin: auto;
}
@media screen and (max-width:1000px) {
	.linkStyle04 {
		font-size: 20px;
	}
	.linkStyle04 span:before {
		right: -18px;
	}
}
@media screen and (max-width:880px) {
	.linkStyle04 {
		font-size: 18px;
	}
	.linkStyle04 span:before {
		right: -12px;
	}
}
@media screen and (max-width:768px) {
	.linkStyle04 {
		font-size: 17px;
	}
}

.btnList01 {
	width: 704px;
	height: 42px;
	position: absolute;
	top: 47.01834862385321%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.btnList01 li {
	width: 220px;
	float: left;
}
.btnList01 li + li {
	margin-left: 22px;
}
.btnList01 li a {
	display: block;
	padding: 8px 0 6px;
	font-weight: bold;
	color: #517400;
	text-align: center;
	line-height: 1;
	border: solid 2px #70990f;
	border-radius: 15px;
	background-color: #fff;
}
.btnList01 li.current a,
.btnList01 li a:hover {
	color: #fff;
	border: solid 2px #fff;
	background-color: #70990f;
}
@media screen and (max-width:768px) {
	.btnList01 {
		width: 100%;
		height: auto;
		position: static;
		top: auto;
		left: 0;
		-webkit-transform: none;
		transform: none;
	}
	.btnList01 li {
		width: 100%;
		float: none;
	}
	.btnList01 li + li {
		margin-left: 0;
		border-top: solid 1px #517400;
	}
	.btnList01 li a {
		padding: 16px 0 14px;
		font-size: 17px;
		border-radius: 0;
		border: none;
		position: relative;
	}
	.btnList01 li:not(.current) a:after {
		content: '';
		display: block;
		width: 37px;
		height: 37px;
		margin: auto;
		position: absolute;
		top: 0;
		right: 9.375%;
		bottom: 0;
		background: url(../img/common/cmn_ico_arrow02.png) no-repeat;
		background-size: 100%;
	}
	.btnList01 li.current a,
	.btnList01 li a:hover {
		border: none;
	}
}
.btnList01.purple {
	width: 404px;
}
.btnList01.purple li {
	width: 192px;
}
.btnList01.purple li + li {
	margin-left: 20px;
}
.btnList01.purple li a {
	color: #341570;
	border: solid 2px #5e3d98;
}
.btnList01.purple li.current a,
.btnList01.purple li a:hover {
	color: #fff;
	border: solid 2px #fff;
	background-color: #5e3d98;
}
@media screen and (max-width:768px) {
	.btnList01.purple,
	.btnList01.purple li {
		width: 100%;
	}
	.btnList01.purple li + li {
		margin-left: 0;
		border-top: solid 1px #341570;
	}
	.btnList01.purple li a,
	.btnList01.purple li.current a,
	.btnList01.purple li a:hover {
		border: none;
	}
	.btnList01.purple li:not(.current) a:after {
		background: url(../img/common/cmn_ico_arrow03.png) no-repeat;
		background-size: 100%;
	}
}

.btnList02 {
	width: 87.1413390010627%;
	max-width: 820px;
	margin: 0 auto;
	overflow: hidden;
}
.btnList02 li {
	float: left;
}
.btnList02 li + li {
	margin-left: 7.3170731707317%;
}
@media screen and (max-width:768px) {
	.btnList02 {
		width: 100%;
	}
	.btnList02 li {
		width: 100%;
		float: none;
	}
	.btnList02 li + li {
		margin: 15px 0 0;
	}
}

.btnList03 {
	width: 740px;
	overflow: hidden;
}
.btnList03 li {
	width: 200px;
	height: 200px;
	float: left;
}
.btnList03 li + li {
	margin-left: 70px;
}
@media screen and (max-width:768px) {
	.btnList03 {
		width: 100%;
		overflow: hidden;
	}
	.btnList03 li {
		width: 26.9%;
		height: auto;
	}
	.btnList03 li + li {
		margin-left: 9.65%;
	}
}

.btnStyle01 {
	display: block;
	width: auto;
	padding: 19px 0 17px;
	color: #4d4d4d;
	text-align: center;
	border: solid 4px #cacaca;
	border-radius: 2px;
}
.btnStyle01 span {
	display: inline-block;
	position: relative;
	padding-left: 1em;
}
.btnStyle01 span:before {
	content: '';
	display: inline-block;
	width: 14px;
	height: 16px;
	position: absolute;
	top: 8px;
	left: 0;
	background: url(../img/common/cmn_ico_arrow01.png) no-repeat;
}
.btnStyle01 + .comment, form .comment {
	margin-top: 10px;
	color: #dc2c42;
	font-size: 18px;
	text-align: right;
}
div.btn {
	margin: 0 auto;
}
div.btn .btnStyle01 {
	width: auto;
}
@media screen and (max-width:768px) {
	.btnStyle01 {
		width: 100%;
		padding: 10px 0 9px;
		border: solid 2px #cacaca;
	}
	.btnStyle01 span:before {
		width: 7px;
		height: 8px;
		top: 6px;
		background: url(../img/common/cmn_ico_arrow01.png) no-repeat;
		background-size: 100%;
	}
	.btnStyle01 + .comment, form .comment {
		margin-top: 15px;
		font-size: 12px;
	}
	div.btn .btnStyle01 {
		width: auto;
	}
}
.btnStyle02 {
	display: table;
	width: 100%;
	color: #fff;
	font-size: 36px;
	text-align: center;
	font-weight: bold;
	line-height: 1;
	text-shadow: 3px 3px 3px rgba(0,0,0,0.25);
	border-radius: 100%;
	background-color: #93b33f;
}
.btnStyle02:hover {
	text-decoration: none;
	opacity: 0.75;
}
.btnStyle02 span {
	display: table-cell;
	vertical-align: middle;
}
.btnList03 .orange .btnStyle02 {
	background-color: #e0714b;
}
.btnList03 .orange .btnStyle02 span {
	padding-top: 20px;
}
.btnList03 .orange .btnStyle02 i {
	display: block;
	margin: 5px auto 0;
	font-size: 24px;
}
.btnList03 .purple .btnStyle02 {
	background-color: #7b5eb0;
}

@media screen and (max-width:768px) {
	.btnStyle02 {
		font-size: 13px;
	}
	.btnStyle02 span {
		padding-top: 5px;
	}
	.btnList03 .orange .btnStyle02 span {
		padding-top: 10px;
	}
	.btnList03 .orange .btnStyle02 i {
		margin: 5px auto 0;
		font-size: 12px;
	}
}

/* more */
.btnStyle03 {
	display: block;
	padding: 10px 0 8px;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	border-radius: 20px;
	background-color: #7aaa26;
}
.btnStyle03:hover {
	text-decoration: none;
	opacity: 0.75;
}
.akamatsu .btnStyle03 {
	background-color: #5e3d98;
}
@media screen and (max-width:768px) {
	.btnStyle03 {
		padding: 6px 3.125%;
		font-size: 10px;
	}
}

.listStyle01 {
	counter-reset: numA;
}
.listStyle01 li {
	text-indent: -2em;
	padding-left: 2em;
}
.listStyle01 li:before {
	counter-increment: numA;
	content: '(' counter(numA) ')';
	padding-right: 0.5em;
}

.listStyle02 {
	counter-reset: numB;
}
.listStyle02 li .ttlStyle05:before {
	counter-increment: numB;
	content: counter(numB) '.';
	margin-left: -1.5em;
	padding-right: 0.5em;
	color: #517400;
	font-weight: normal;
}
.listStyle02 li .ttlStyle05 + p {
	margin-bottom: 25px;
}
@media screen and (max-width:768px) {
	.listStyle02 li .ttlStyle05:before {
		margin-left: 0;
	}
	.listStyle02 li .ttlStyle05 + p {
		margin-bottom: 15px;
	}
}

.listStyle03 li:before {
	content: '◎';
}
.listStyle04 li + li {
	margin-top: 42px;
}
.listStyle04 li:before {
	content: '●';
}
@media screen and (max-width:768px) {
	.listStyle04 li + li {
		margin-top: 22px;
	}
}

.tblStyle01 {
	width: 91.49840595111583%;
	max-width: 870px;
}
.tblStyle01 th {
	padding-right: 1em;
	text-align: right;
	vertical-align: top;
}
.tblStyle01 tbody + tbody {
	padding-left: 18.08510638297872%;
}
@media screen and (max-width:768px) {
	.tblStyle01 {
		margin: 0 auto;
	}
	.tblStyle01 tbody + tbody {
		margin: 0;
	}
	.tblStyle01 tbody + tbody tr:first-child th,
	.tblStyle01 tbody + tbody tr:nth-child(4) td {
		padding: 1em 1em 0 0;
	}
}

.tblStyle02 {
	width: 100%;
}
.tblStyle02 th,
.tblStyle02 td {
	width: 50%;
	padding: 8px 1em 5px;
	vertical-align: middle;
	border: solid 1px #517400;
}
.tblStyle02 thead th {
	padding: 15px 0;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 30px;
	text-align: center;
	font-weight: bold;
	background-color: #70990f;
}
.tblStyle02 tfoot td {
	padding: 32px 1em 30px;
	text-align: center;
}
@media screen and (max-width:768px) {
	.tblStyle02 th,
	.tblStyle02 td {
		padding: 4px 0.8em 2px;
	}
	.tblStyle02 thead th {
		padding: 8px 0;
		font-size: 14px;
	}
	.tblStyle02 tfoot td {
		padding: 12px 0.8em 10px;
	}
}


/**
 * テキスト
 */
.fwB {
	font-weight: bold;
}


/**
 * その他
 */
.fL,
.pcfL {
	float: left;
}
.fR,
.pcfR {
	float: right;
}
.spOnly {
	display: none;
}

@media screen and (max-width:768px) {
	.pcfL,
	.pcfR {
		float: none;
	}
	.pcOnly {
		display: none !important;
	}
	.spOnly {
		display: block;
	}
}


/**
 * 投稿ナビゲーション
 */
.navigation-post {
	padding-top: 20px;
	width: 72.03125%;
	padding-right: 3.75%;
	float: right;
}
@media screen and (max-width: 768px) {
	.navigation-post {
		padding-top: 10px;
		width: 100%;
		padding-right: 0;
		float: none;
	}
}
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}
[class*="navigation"] {
	margin: 0 0 3em;
	overflow: hidden;
}
.news [class*="navigation"] a {
	color: #517400;
	text-decoration: underline;
}
.report [class*="navigation"] a {
	color: #5e3d98;
	text-decoration: underline;
}
[class*="navigation"] .nav-previous {
	float: left;
	width: 50%;
}
[class*="navigation"] .nav-previous a {
	display: block;
	position: relative;
	padding-left: 32px;
}
[class*="navigation"] .nav-next a {
	display: block;
	position: relative;
	padding-right: 32px;
	word-break:break-all;
	text-align: right;
}
[class*="navigation"] .nav-previous a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -10px;
	background-size: contain;
	width :26px;
	height:19px;
}
.news [class*="navigation"] .nav-previous a:before {
	background: url(../img/common/cmn_ico_post01.png) no-repeat left top;
}
.report [class*="navigation"] .nav-previous a:before {
	background: url(../img/common/cmn_ico_post03.png) no-repeat left top;
}

[class*="navigation"] .nav-next a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -10px;
	background-size: contain;
	width :26px;
	height:19px;
}
.news [class*="navigation"] .nav-next a:after {
	background: url(../img/common/cmn_ico_post02.png) no-repeat left top;
}
.report [class*="navigation"] .nav-next a:after {
	background: url(../img/common/cmn_ico_post04.png) no-repeat left top;
}

[class*="navigation"] .meta-nav {
	display: none;
}
[class*="navigation"] .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/**
 * ページャー
 */
.pager {
	position: relative;
	text-align: center;
	padding: 50px 0 10px;
}
.pager a,
.pager span {
	display: inline-block;
	min-width: 30px;
	line-height: 30px;
	font-size: 28px;
}
.pager .current {
	color: #517400;
	font-weight: bold;
}

.dots {
	display: block;
	line-height: 30px;
}
.pager a.prev,
.pager a.next {
	position: relative;
	width: 60px;
	text-indent: -9999px;
}
.pager a.prev:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -10px;
	background: url(../img/common/cmn_ico_post01.png) no-repeat left top;
	background-size: contain;
	width :26px;
	height:19px;
}
.pager a.next:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -10px;
	background: url(../img/common/cmn_ico_post02.png) no-repeat left top;
	background-size: contain;
	width :26px;
	height:19px;
}

@media screen and (max-width: 768px) {
	.pager a,
	.pager span {
		font-size: 12px;
		line-height: 20px;
		min-width: 20px;
	}
	.pager a.prev,
	.pager a.next {
		width: 26px;
	}
}

.pager .page-numbers {
	margin: 0 4px;
	font-family: 'Noto Sans JP', sans-serif;
}
.pager > :first-child{
	margin-left: 0;
}
.pager > :last-child{
	margin-right: 0;
}

/**
 * リスト
 */
/* ----- ul.disc ----- */
ul.disc li { margin:0 0 0 2em; list-style-type:disc;}
/* ----- ul.square ----- */
ul.square li { margin:0 0 0 2em; list-style-type:square; }
/* ----- ul.decimal ----- */
ul.decimal li { margin:0 0 0 2em; list-style-type:decimal;}

/* ----- ol.decimal ----- */
ol.decimal li { margin:0 0 0 2em; list-style-type:decimal;}

/* ----- イメージリスト ----- */
ul.image {
/*
	list-style: url(../img/common/cmn_ft_ico01.gif);
	*/
}
ul.image li {
	list-style-type: none;
	background: url(../img/common/cmn_ft_ico01.gif) no-repeat left top;
	padding:0 0 0 1.5em;
	margin-left: .5em;
	background-repeat: no-repeat;
	background-position: 0 1px;
}


/**
 * タイトル
 */
.ttlStyle01 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #517400;
	font-size: 34px;
	font-weight: 800;
	padding: 50px 0;
	text-align: center;
}
.ttlStyle01.purple {
	color: #341570;
}
#main.index .ttlStyle01 {
	font-size: 38px;
}
@media screen and (max-width:768px) {
	.ttlStyle01 {
		font-size: 17px;
		padding: 48px 0;
	}
	#main.index .ttlStyle01 {
		font-size: 21px;
		padding: 2px 0;
	}
}

.ttlStyle02 {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	text-align: center;
}
.ttlStyle02 .title {
	color: #f00;
	position: absolute;
	top: calc(50% - 87px);/*タイトル部分とコンテンツが重なるためその分の差分の半分を引いている*/
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.news .ttlStyle02 .title {
	top: 30%;
}

.ttlStyle02 .navi {
	text-align: center;
}
.ttlStyle02 .navi li {
	display: inline-block;
}
@media screen and (max-width:768px) {
	.ttlStyle02 {
		width: auto;
	}
	.ttlStyle02 .frame {
		display: inline-block;
		width: 100%;
		position: relative;
	}
	.ttlStyle02 .frame:after {
		display: none;
	}
	.news .ttlStyle02 .title,
	.ttlStyle02 .title {
		top: 50%;
		left: 9.6875%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}

}
.ttlStyle03 {
	color: #517400;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 28px;
	font-weight: bold;
}
.ttlStyle03.purple {
	color: #46238a;
}
@media screen and (max-width:768px) {
	.ttlStyle03 {
		font-size: 15px;
	}
}
.ttlStyle04 {
	font-size: 28px;
	font-weight: bold;
}
@media screen and (max-width:768px) {
	.ttlStyle04 {
		font-size: 14px;
	}
}
.ttlStyle05 {
	font-size: 26px;
	font-weight: bold;
}
@media screen and (max-width:768px) {
	.ttlStyle05 {
		font-size: 13px;
	}
}


/**
 * background
 */
.bgStyle01 {
	background: url(../img/common/cmn_line01.jpg) top left no-repeat;
	background-size: 100%;
}
.bgStyle02 {
	background: url(../img/common/cmn_ft_line.png) top left no-repeat;
	background-size: 100%;
}

/**
 * margin
 */
.mb90 {
	margin-bottom: 90px;
}
@media screen and (max-width:768px) {
	#content.mb90 {
		margin-bottom: 0;
	}

}
