
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	-webkit-text-size-adjust: 100%; /* iphone横向き 文字拡大防止 */
}
img {
	display: block;
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a {
	text-decoration: none;
	color: #000;
}
a:hover {
	opacity: 0.8;
}
p {
	font-size: 14px;
	line-height: 1.8;
}
/* デフォルトの装飾を削除 */
input, textarea {
	-webkit-appearance: none;
}
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active  {
    -webkit-box-shadow: 0 0 0 30px white inset !important;
}
:focus {
    outline: -webkit-focus-ring-color none;
}

/* select を div で囲む */
.select {
	width: 100%;
	position: relative;
}
.select::before {
	content: "";
	display: block;
    width: 0;
    height: 0;
    border-right: 3px solid transparent;
    border-left: 3px solid transparent;
    border-bottom: 5px solid transparent;
    border-top: 5px solid #000;
	position: absolute;
	top: 50%;
	right: 16px;
	margin-top: -3px;
}
select {
	-webkit-appearance: none;
	width: 100%;
	height: 36px;
	background: transparent;
	padding: 0 10px;
	font-size: 16px;
	cursor: pointer;
}
select::-ms-expand {
    display: none;
}


/*==================================================================================
ヘッダー
==================================================================================*/
header {
	padding: 20px 0!important;
}
header.second {
	padding: 20px 0 0!important;
	box-shadow: 2px 0 5px rgba(0,0,0,0.80);
}
.logo {
	width: 460px;
}
.sns {
	width: calc(100% - 460px);
}
.sns a {
	display: block;
	width: 30px;
	margin-left: 10px;
}

/* スマホ版 メニュー -----------------------*/
nav.globalMenuSp {
    z-index: 8888;
	height: 100%;
    transform: translateX(+100%);
    transition: all .6s;
	list-style-type: none;
    position: fixed;
    top: 0;
    right: 0;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateX(0%);
}
nav.globalMenuSp ul {
    width: 300px;
	height: 100%;
    background: #fff;
}
nav.globalMenuSp ul li {
    width: 100%;
    background: #F4F4F4;
    border-bottom: 1px dotted #ccc;
}
nav.globalMenuSp ul li a {
    display: block;
	padding: 14px 20px;
	font-size: 14px;
}
nav.globalMenuSp ul li:nth-last-child(4) {
    border-bottom: 1px solid #999;
}
nav.globalMenuSp ul li:nth-last-child(3) {
    background: #fff;
}
/* mapボタン
nav.globalMenuSp ul li:nth-last-child(3) a.map {
	display: inline-block;
	padding: 5px 8px 5px 24px;
    font-size: 14px;
	margin: 0!important;
}
*/
nav.globalMenuSp ul li:nth-last-child(2) {
    width: calc(100% - 40px);
    background: #fff;
	padding: 10px 20px 0;
	border-bottom: none;
}
/* snsボタン */
nav.globalMenuSp ul li:last-child {
    width: auto;
    background: #fff;
	padding: 10px 20px 0;
    border-bottom: none;
}
nav.globalMenuSp ul li:last-child a {
	display: block;
	width: 30px;
	padding: 0;
	margin-right: 10px;
}
/* 下層メニューアコーディオン */
dl.accordion {
	width: 100%;
}
dl.accordion dt {
	padding: 14px 20px;
	font-size: 14px;
	cursor: pointer;
	position: relative;
}
dl.accordion dt::after {
	content: "";
	display: block;
	border: 4px transparent solid;
	border-top: 6px #666 solid;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -2px;
}
dl.accordion dt.open::after {
	border-top: 4px transparent solid;
	border-bottom: 6px #666 solid;
	margin-top: -8px;
}
dl.accordion dd {
	display: none;
}
dl.accordion dd ul {
    width: 100%;
    background: none;
}
dl.accordion dd ul li {
    width: 100%;
    border-bottom: 1px dotted #ccc;
	background: #E5E5E5;
}
dl.accordion ul li:nth-last-child(4) {
    border-bottom: 1px dotted #ccc;
}
dl.accordion dd ul li:nth-last-child(3) {
    border-bottom: 1px dotted #ccc;
	background: #E5E5E5;
}
dl.accordion dd ul li:nth-last-child(2) {
    width: 100%;
	background: #E5E5E5;
	padding: 0;
    border-bottom: 1px dotted #ccc;
}
dl.accordion dd ul li:last-child {
    border-bottom: none;
	background: #E5E5E5;
	padding: 0;
}
dl.accordion dd ul li a {
    display: block;
	padding: 14px 30px;
	font-size: 14px;
}
dl.accordion dd ul li:last-child a {
	width: auto;
	padding: 14px 30px;
	margin: 0;
}

.navToggle {
    z-index: 9999;
    display: block;
    width: 40px;
    height: 40px;
    background: #00963a;
    text-align: center;
    cursor: pointer;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    top: 13px;
    right: 20px;
}
.navToggle span {
    display: block;
    width: 26px;
    border-bottom: solid 3px #FFF;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    position: absolute;    /* .navToggleに対して */
    left: 7px;
	z-index: 2;
}
.navToggle span:nth-child(1) {
    top: 9px;
}
.navToggle span:nth-child(2) {
    top: 18px;
}
.navToggle span:nth-child(3) {
    top: 27px;
}

.navToggle.active {
	background: none;
    top: 5px;
	right: 310px;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 18px;
    left: 7px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.overlay {
	transition: all .6s;
}
.overlay.active {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.80);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 7777;
}


/*==================================================================================
共通
==================================================================================*/
/* レイアウト */
section {
	margin-bottom: 120px!important;
}
.container {
	width: calc(100% - 40px);
	max-width: calc(1200px - 40px);
	padding: 0 20px;
	margin: auto;
}
.max680 {
	max-width: 680px;
	margin: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.row.align_center {
	align-items: center;
}
.row.just_start {
	justify-content: flex-start;
}
.row.just_end {
	justify-content: flex-end;
}
.col2 {
	width: calc(100% / 2 - 15px);
}
.col3 {
	width: calc(100% / 3 - 30px);
	position: relative;
}

/* スペース */
.mb_5 {
	margin-bottom: 5px;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_60 {
	margin-bottom: 60px;
}
.mb_120 {
	margin-bottom: 120px;
}

/* フォント */
h1 {
	font-size: 18px;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 2px;
}
h1 span {
	display: block;
	font-family: sweet-sans-pro, sans-serif;
	font-weight: 800;
	font-size: 48px;
}
h2 {
	display: flex;
	align-items: center;
	white-space: nowrap;
	height: 50px;
	background: #fff;
	border: 4px #005b20 solid!important;
	border-radius: 5px;
	box-shadow: 4px 4px 0 #005b20;
	padding: 0 100px!important;
	font-size: 20px;
	color: #005b20;
	position: absolute;
	left: 50%;
	bottom: -25px;
	transform: translateX(-50%);
}
h3 {
	font-size: 18px;
	line-height: 1;
	padding-left: 20px!important;
	position: relative;
}
h3::before {
	content: "";
	display: block;
	width: 10px;
	height: 24px;
	background: #00963a;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px;
}
h4 {
	background: #005b20;
	padding: 15px 15px 15px 35px!important;
	border-radius: 5px;
	color: #fff;
	font-size: 24px;
	letter-spacing: 1px;
	position: relative;
}
h4::before {
	content: "";
	width: 5px;
	height: 30px;
	background: #fff;
	border-radius: 3px;
	position: absolute;
	top: 50%;
	left: 15px;
	margin-top: -15px;
}
h5 {
	font-size: 20px;
	line-height: 1.4;
	padding-bottom: 10px!important;
	border-bottom: 6px #cecece solid!important;
	margin-bottom: 30px!important;
	position: relative;
}
h5::before {
	content: "";
	display: block;
	width: 200px;
	height: 6px;
	background: #005b20;
	position: absolute;
	left: 0;
	bottom: -6px;
}
h6 {
	font-size: 18px;
	line-height: 1.4;
	margin-bottom: 20px!important;
}

.font_10 {
	font-size: 10px;
}
.font_12 {
	font-size: 12px;
}
.font_18 {
	font-size: 18px;
}
.font_32 {
	font-size: 32px;
	line-height: 1.4;
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.bold {
	font-weight: bold;
}
a.link {
	text-decoration: underline;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}
.green {
	color: #005b20
}


/*==================================================================================
トップページ
==================================================================================*/
/* メインスライド */
.sp-arrows {
	max-width: 1200px;
    top: 50%!important;
    left: 50%!important;
	transform: translateX(-50%)!important;
}
.sp-arrow {
    width: 50px!important;
    height: 50px!important;
	background: url("../img/icon_prev.png") center center / contain no-repeat;
}
.sp-arrow::before, .sp-arrow::after {
    display: none;
}
.sp-horizontal .sp-previous-arrow {
    left: 0!important;
}
.sp-horizontal .sp-next-arrow {
    right: 0!important;
}

/* ヘッダーメニュー -----------------------------------*/
.head_shadow {
	width: 100%;
}
ul.head_nav {
	display: flex;
	margin: 20px 0 0;
	z-index: 10;
}
/* indexのみ */
main ul.head_nav {
	width: 100%;
	margin: -30px 0 90px;
	box-shadow: 0 0 5px rgba(0,0,0,0.70);
}
ul.head_nav li {
	width: calc(100% / 5);
	position: relative;
}
ul.head_nav li p,
ul.head_nav li a {
	display: block;
	width: 100%;
	background: #fff;
	padding: 20px 0;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	position: relative;
	z-index: 10;
}
ul.head_nav li:nth-child(1) p {
	border-bottom: 6px #00963a solid;
}
ul.head_nav li:nth-child(2) p {
	border-bottom: 6px #199bdb solid;
}
ul.head_nav li:nth-child(3) a {
	border-bottom: 6px #e4001d solid;
}
ul.head_nav li:nth-child(4) a {
	border-bottom: 6px #065cb2 solid;
}
ul.head_nav li:nth-child(5) a {
	border-bottom: 6px #f9bc00 solid;
}
ul.head_nav li a:hover {
	opacity: 1;
	background: #F4F4F4;
}
/* ヘッダー下層メニュー ----------------*/
ul.head_nav li ul {
	display: none;
	width: 100%;
	background: #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.70);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	transition: all .3s;
	transform: translateY(100%);
}
ul.head_nav li ul li {
	width: 100%;
}
ul.head_nav li ul li a {
	padding: 15px 0;
	border-bottom: 1px #666 dashed!important;
	font-size: 14px;
}
ul.head_nav li ul li:last-child a {
	border-bottom: none!important;
}
/* hoverで表示 */
ul.head_nav li p:hover + ul,
ul.head_nav li a:hover + ul,
ul.head_nav li ul:hover {
	display: block;
}


/* お知らせ ----------------------------------------------*/
section#top_news .ttl_news {
	font-size: 24px;
	font-weight: bold;
	color: #005b20;
	line-height: 1;
	padding-bottom: 10px;
	border-bottom: 2px #005b20 solid;
}
section#top_news .row {
	padding: 10px 0;
	border-bottom: 1px #dbdbdb solid;
}
section#top_news .cate {
	display: block;
	background: #00963a;
	padding: 5px 15px;
	color: #fff;
	font-size: 14px;
	text-align: center;
}
section#top_news .date {
	display: block;
	font-size: 12px;
	margin: 0 20px 0 0;
}

/* ツール集 --------------------------------------------*/
section#top_tool {
	background: #efefef;
	padding: 30px 0 0!important;
}
#tool_slide .sp-slide a {
	display: block;
	width: calc(100% - 64px);
	padding: 30px;
	border: 2px #000 solid;
	border-radius: 5px;
	background: #fff;
	box-shadow: 5px 5px 0 #aaa;
}
#tool_slide .sp-slide a:hover {
	opacity: 1;
	border: 2px #00963a solid;
}
#tool_slide .sp-slide a:hover .icon_tool img {
	width: 70px;
}
#tool_slide .sp-slide a:hover .tool_ttl {
	color: #00963a;
}
.icon_tool {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	height: 120px;
	background: #efefef;
	border-radius: 50%;
	margin: 0 auto 30px;
}
.icon_tool img {
	width: 60px;
	transition: all .2s;
}
.tool_ttl {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 50px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}

/* Facebook, リンクボタン -----------------------------------*/
section#top_info h1 {
	text-align: left;
}
.bana {
	display: flex;
	align-items: center;
	width: calc(100% - 20px);
	padding: 10px;
	background: #005b20;
	transition: all .3s;
}
.bana:hover {
	opacity: 1;
	background: #003f10;
}
.bana span {
	display: block;
	background: #fff;
	padding: 10px;
	border-radius: 50%;
	margin-right: 10px;
}
.bana span img {
	width: 30px;
}
.bana p {
	color: #fff;
	font-weight: bold;
}

/* 記事一覧 ------------------------------------------------*/
/* タグ */
.tag {
	position: absolute;
	top: 20px;
	right: -20px;
	z-index: 10;
}
.tag a {
	display: block;
	background: #f9bc00;
	padding: 5px 15px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	margin-bottom: 5px;
}
.tag a.recruitment { /* 参加者募集中 */
	background: #e4001d
}
.tag a.end { /* 募集終了 */
	background: #626262;
}
.tag a:hover {
	opacity: 0.9;
}
/* サムネイル */
.thumbnail {
	display: block;
	width: calc(100% - 2px);
	height: calc(240px - 2px);
	border: 1px #606060 solid;
	border-radius: 15px;
	overflow: hidden;
}
.thumbnail img {
	height: 100%;
	object-fit: cover;
	transition: all .3s;
}
.thumbnail:hover {
	opacity: 1;
}
.thumbnail:hover img {
	transform: scale(1.1);
}

/* 一覧ボタン */
.btn {
	display: inline-block;
	border: 2px #005b20 solid;
	border-radius: 50px;
	padding: 15px 60px;
	font-size: 14px;
	font-weight: bold;
	color: #005b20;
	transition: all .3s;
}
.btn:hover {
	opacity: 1;
	background: #005b20;
	color: #fff;
}

/*==================================================================================
下層ページ
==================================================================================*/
/* 各一覧ページトップ ----------------------------------------------*/
.cate_top {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 300px;
	margin-bottom: 120px;
	background-color: #F9F9F9;
	background-image: url("../img/top_other.png");
	background-position: center center;
	background-size: 1700px;
	background-repeat: no-repeat;
}
.cate_top h1 span {
	font-size: 32px;
}
.cate_top.information {
	background-color: rgba(249,188,0,0.05);
	background-image: url("../img/top_info.png");
}
.cate_top.epo-news {
	background-color: rgba(6,92,178,0.05);
	background-image: url("../img/top_eponews.png");
}
.cate_top.notfound {
	height: 160px;
	margin-bottom: 80px;
	background: url("../img/top_border.png") left top / 10px repeat;
}
.cate_top.information h1 span,
.cate_top.epo-news h1 span,
.cate_top.notfound h1 span {
	font-size: 48px;
}

/* 固定ページトップ */
.page_top {
	width: 100%;
	height: 120px;
	background: url("../img/top_border.png") left top / 10px repeat;
	margin-bottom: 120px;
	position: relative;
}

.article {
	width: calc(100% - 260px - 20px);
	max-width: 840px;
	margin-right: 20px;
}

.max460 {
	max-width: 460px;
	margin: 0;
}
.max460.center {
	margin: auto;
}

/* タグ */
.article .tag,
section#list .tag {
	position: relative;
	top: 0;
	right: auto;
	left: 0;
}
.article .tag a,
section#list .tag a {
	margin-right: 10px;
}

/* 記事内タイトル */
.article h1,
.article_other h1 {
	font-size: 20px;
	text-align: left;
	line-height: 1.4;
	letter-spacing: 0;
	padding-bottom: 10px!important;
	border-bottom: 6px #cecece solid!important;
	margin-bottom: 30px!important;
	position: relative;
}
.article h1::before,
.article_other h1::before {
	content: "";
	display: block;
	width: 200px;
	height: 6px;
	background: #005b20;
	position: absolute;
	left: 0;
	bottom: -6px;
}
.article h2,
.article_other h2 {
	display: block;
	height: auto;
	background: #F5F5F5!important;
	border: none!important;
	border-radius: 0;
	box-shadow: none;
	padding: 10px 10px 10px 32px!important;
	font-size: 16px;
	color: #000;
	line-height: 1.4;
	margin-bottom: 20px!important;
	position: relative;
	top: 0;
	left: 0;
	transform: none;
}
.article h2::before,
.article_other h2::before {
	content: "";
	display: block;
	width: 6px;
	height: 20px;
	background: #aaa;
	border-radius: 2px;
	position: absolute;
	top: 11px;
	left: 15px;
}


/* アコーディオン */
dl.page_accordion {
	width: 100%;
}
dl.page_accordion dt {
	border: 2px #000 solid;
	border-radius: 5px;
	padding: 10px 15px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
	cursor: pointer;
	position: relative;
}
dl.page_accordion dt::after {
	content: "";
	display: block;
	border: 4px transparent solid;
	border-top: 6px #666 solid;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -2px;
}
dl.page_accordion dt.open {
	background: #e4ede6;
}
dl.page_accordion dt.open::after {
	border-top: 4px transparent solid;
	border-bottom: 6px #666 solid;
	margin-top: -8px;
}
dl.page_accordion dd {
	display: none;
	padding: 10px 15px 20px;
}

/* リスト */
.article ul,
.article_other ul {
	width: 100%;
}
.article li,
.article_other li {
	margin-bottom: 3px;
}

/* PDFアイコン */
.icon_pdf {
	display: inline-block;
	padding-left: 25px;
	position: relative;
}
.icon_pdf::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url("../img/icon_pdf.png") center center / contain no-repeat;
	position: absolute;
	top: 2px;
	left: 0;
}

/* テーブル */
.article table,
.article_other table {
	width: 100%;
	border: 1px #efefef solid;
	font-size: 14px;
	line-height: 1.4;
}
.article table tr:hover,
.article_other table tr:hover {
	background: #F8F9FA;
}
.article table th,
.article_other table th {
	border: 1px #efefef solid;
	padding: 10px;
	background: #D9DDE2;
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}
.article table td,
.article_other table td {
	border: 1px #efefef solid;
	padding: 10px;
}


/* WP page-nav ---------------*/
.wp-pagenavi {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.wp-pagenavi a, .wp-pagenavi span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: none!important;
	border-radius: 50%;
	padding: 0!important;
	margin: 0 5px!important;
	font-size: 16px;
}
.wp-pagenavi a:hover {
	background: rgba(0,91,32,0.20);
}
.wp-pagenavi span.current {
	background: #005b20;
	color: #fff;
}


/* お役立ちツール ----------------------------------------------*/
#tool_list .col3 {
	display: block;
	width: calc(100% / 3 - 64px - 20px);
	padding: 30px;
	border: 2px #000 solid;
	border-radius: 5px;
	background: #fff;
	box-shadow: 5px 5px 0 #aaa;
}
#tool_list .col3:hover {
	opacity: 1;
	border: 2px #00963a solid;
}
#tool_list .col3:hover .icon_tool img {
	width: 70px;
}
#tool_list .col3:hover .tool_ttl {
	color: #00963a;
}
#tool_list .col3.dummy {
	width: calc(100% / 3 - 20px);
	padding: 0;
	border: none;
	box-shadow: none;
}


/* サイドコンテンツ --------------------------------------------*/
.side {
	width: 260px;
}
/* タグリスト */
.side .tag {
	position: relative;
	top: 0;
	right: auto;
	left: 0;
}
.side .tag a {
	background: #efefef;
	padding: 5px 10px;
	color: #000;
	font-weight: bold;
	margin: 0 10px 10px 0;
}
/* アーカイブリスト */
ul.list_dot li {
	border-bottom: 2px #606060 dotted;
}
ul.list_dot li:first-child {
	border-top: 2px #606060 dotted;
}
ul.list_dot li a {
	display: block;
	padding: 10px 20px;
	font-size: 14px;
	line-height: 1.8;
	position: relative;
}
ul.list_dot li a::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url("../img/icon_arrow.png") center center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -8px;
	transition: all .3s;
}
ul.list_dot li a:hover {
	opacity: 1;
	color: #005b20;
}
ul.list_dot li a:hover::after {
	right: 15px;
}
/* カテゴリリスト */
.btn_page {
	display: block;
	background: #005b20;
	color: #fff;
	font-weight: bold;
	border-radius: 5px;
	padding: 10px 20px;
	margin-bottom: 10px;
	position: relative;
}
.btn_page::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url("../img/icon_arrow_wh.png") center center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -8px;
	transition: all .3s;
}
.btn_page:hover {
	opacity: 1;
}
.btn_page:hover::after {
	right: 15px;
}
ul.list_page .btn_page {
	background: #efefef;
	color: #000;
	padding: 12px 45px 12px 20px;
}
ul.list_page .btn_page::after {
	background-image: url("../img/icon_arrow.png");
}
ul.list_page .btn_page.on {
	background: #e4ede6
}
ul.list_page .btn_page:hover {
	color: #005b20;
}
ul.list_page .btn_page p {
	line-height: 1.4;
}


/*==================================================================================
フッター
==================================================================================*/
footer {
	margin-top: 200px!important;
	background: #efefef;
	position: relative;
}
/* お問い合わせボタン */
.btn_contact {
	display: flex;
	align-items: center;
	width: calc(300px - 20px);
	padding: 10px;
	background: #00963a;
	border-radius: 50px;
	position: absolute;
	top: -90px;
	right: 20px;
	transition: all .3s;
}
.btn_contact::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url("../img/icon_arrow_wh.png") center center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 30px;
	margin-top: -8px;
	transition: all .3s;
}
.btn_contact:hover {
	opacity: 1;
	background: #005b20;
}
.btn_contact:hover::after {
	right: 25px;
}
.btn_contact span {
	display: block;
	background: #fff;
	padding: 12px;
	border-radius: 50%;
	margin-right: 10px;
}
.btn_contact span img {
	width: 26px;
}
.btn_contact p {
	font-size: 14px;
	font-weight: bold;
	color: #fff;
}
/* メールマガジン, リンクボタン */
.btn_footer {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(50% - 41px);
	background: #005b20;
	padding: 30px 20px;
	transition: all .3s;
}
.btn_footer:hover {
	opacity: 1;
	background: #003f10;
}
.btn_footer span {
	display: block;
	border-radius: 50%;
	background: #fff;
	padding: 20px;
	margin-right: 30px;
}
.btn_footer span img {
	width: 40px;
}
.btn_footer p {
	font-size: 18px;
	font-weight: bold;
	color: #fff;
}

/* MAPボタン */
.map {
	display: inline-block;
	background: #005b20 url("../img/icon_map.png") left 8px center / 16px no-repeat;
	border-radius: 20px;
	padding: 8px 12px 8px 28px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	margin-left: 30px;
	transition: all .3s;
}
.map:hover {
	opacity: 1;
	background-color: #003f10;
}

/* 検索窓 */
.keywords {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
.keywords input.search {
	width: calc(100% - 55px);
	padding: 10px;
	border: 1px #000 solid;
	border-radius: 5px;
	font-size: 14px;
}
.keywords input[type="submit"] {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 38px;
	background: #cecece;
	border: 1px #000 solid;
	border-radius: 5px;
	font-size: 14px;
	cursor: pointer;
}
header .keywords {
	max-width: 360px;
	margin-right: 20px;
}



.pc {
	display: inline;
}
.tb {
	display: none;
}
.sp {
	display: none;
}

@media screen and (max-width : 980px) {
	.pc {
		display: none;
	}
	.tb {
		display: inline;
	}
		
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header {
		padding: 10px 0!important;
	}
	header.second {
		padding: 10px 0!important;
	}
	header .container {
		max-width: none;
	}
	.logo {
		width: 300px;
	}
	.sns {
		display: none;
	}
	
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	section {
		margin-bottom: 80px!important;
	}
	.container {
		max-width: calc(680px - 40px);
	}
	.col2 {
		width: 100%;
	}
	.col3 {
		width: calc(100% / 2 - 20px);
	}

	/* スペース */
	.mb_10 {
		margin-bottom: 8px;
	}
	.mb_30 {
		margin-bottom: 20px;
	}
	.mb_60 {
		margin-bottom: 40px;
	}
	.mb_120 {
		margin-bottom: 80px;
	}

	/* フォント */
	h1 {
		font-size: 16px;
	}
	h1 span {
		font-size: 38px;
	}
	h2 {
		justify-content: center;
		height: 34px;
		border: 3px #005b20 solid!important;
		box-shadow: 3px 3px 0 #005b20;
		padding: 0 20px!important;
		font-size: 16px;
		bottom: -17px;
	}
	h3 {
		font-size: 16px;
	}
	h4 {
		padding: 12px 12px 12px 35px!important;
		font-size: 20px;
		letter-spacing: 1px;
		line-height: 1.2;
	}
	h4::before {
		height: 26px;
		margin-top: -13px;
	}
	h5 {
		font-size: 16px;
		line-height: 1.4;
		padding-bottom: 5px!important;
		border-bottom: 4px #cecece solid!important;
		margin-bottom: 20px!important;
	}
	h5::before {
		width: 140px;
		height: 4px;
		bottom: -4px;
	}
	h6 {
		font-size: 16px;
		margin-bottom: 10px!important;
	}
	.font_12 {
		font-size: 10px;
	}
	.font_18 {
		font-size: 16px;
	}
	.font_32 {
		font-size: 24px;
	}

	/*==================================================================================
	トップページ
	==================================================================================*/
	/* メインスライド */
	#main_slide {
		margin-bottom: 60px;
	}
	.sp-arrow {
	    width: 30px!important;
	    height: 30px!important;
	}
	.sp-horizontal .sp-previous-arrow {
	    left: 20px!important;
	}
	.sp-horizontal .sp-next-arrow {
	    right: 20px!important;
	}

	/* ヘッダーメニュー -----------------------------------*/
	ul.head_nav {
		display: none
	}

	/* お知らせ ----------------------------------------------*/
	section#top_news .ttl_news {
		font-size: 20px;
	}
	section#top_news .row a:last-child {
		display: block;
		width: 100%;
		margin-top: 5px;
	}

	/* ツール集 --------------------------------------------*/
	section#top_tool {
		padding: 20px 0 0!important;
	}
	#tool_slide .sp-slide a {
		width: calc(100% - 44px);
		padding: 20px;
	}
	#tool_slide .sp-slide a:hover .icon_tool img {
		width: 50px;
	}
	.icon_tool {
		width: 90px;
		height: 90px;
		margin: 0 auto 20px;
	}
	.icon_tool img {
		width: 40px;
	}
	.tool_ttl {
		height: 42px;
		font-size: 16px;
	}

	/*==================================================================================
	下層ページ
	==================================================================================*/
	/* 各一覧ページトップ ----------------------------------------------*/
	.cate_top {
		height: 200px;
		margin-bottom: 80px;
		background-size: 1200px;
	}
	.cate_top h1 span {
		font-size: 28px;
	}
	.cate_top.information h1 span,
	.cate_top.epo-news h1 span,
	.cate_top.notfound h1 span {
		font-size: 38px;
	}
	.cate_top.notfound {
		height: 120px;
		background-size: 6px;
	}
	.page_top {
		height: 60px;
		background-size: 6px;
		margin-bottom: 80px;
	}

	.article {
		width: 100%;
		max-width: none;
		margin: 0 0 80px;
	}
	
	/* 記事内タイトル */
	.article h1,
	.article_other h1 {
		font-size: 16px;
		line-height: 1.4;
		padding-bottom: 5px!important;
		border-bottom: 4px #cecece solid!important;
		margin-bottom: 20px!important;
	}
	.article h1::before,
	.article_other h1::before {
		width: 140px;
		height: 4px;
		bottom: -4px;
	}
	.article h2,
	.article_other h2 {
		font-size: 16px;
		margin-bottom: 10px!important;
	}

	/* アコーディオン */
	dl.page_accordion dt {
		padding: 8px 15px;
		font-size: 14px;
	}
	dl.page_accordion dd {
		padding: 8px 15px 20px;
	}
	
	/* テーブル */
	.scroll {
		display: block;
	  	overflow-x: scroll;
	  	-webkit-overflow-scrolling: touch;
		padding: 0 0 10px;
	}
	.scroll::-webkit-scrollbar {
	  height: 8px;
	}
	.scroll::-webkit-scrollbar-track {
	  margin: 0 2px;
	  background: #EFEFEF;
	  border-radius: 5px;
	}
	.scroll::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #ccc;
	}
	.scroll table {
		min-width: 840px;
	}


	/* お役立ちツール ----------------------------------------------*/
	#tool_list .col3 {
		width: calc(100% / 2 - 44px - 10px);
		padding: 20px;
	}
	#tool_list .col3:hover .icon_tool img {
		width: 50px;
	}
	#tool_list .col3.dummy {
		width: calc(100% / 2 - 10px);
	}
	
	/* サイドコンテンツ --------------------------------------------*/
	.side {
		width: 100%;
		max-width: 260px;
	}

	/*==================================================================================
	フッター
	==================================================================================*/
	footer {
		padding-bottom: 20px!important;
	}
	footer .container {
		max-width: none;
	}
	/* メールマガジン, リンクボタン */
	.btn_footer {
		padding: 20px;
	}
	.btn_footer span {
		margin-right: 20px;
	}
	.btn_footer span img {
		width: 30px;
	}
	.btn_footer p {
		font-size: 16px;
	}

	footer .row.info .col2:nth-child(2) {
		padding-top: 20px;
		border-top: 1px #000 dotted;
	}
	footer .row.info .col2:nth-child(2) p {
		font-size: 12px;
		font-weight: normal;
	}
	footer .row.nowrap {
		flex-wrap: nowrap!important;
	}
	/* MAPボタン */
	.map {
		background-size: 14px;
		padding: 5px 10px 5px 26px;
		font-size: 14px;
		margin-left: 20px;
	}

	/* 検索窓 */
	.keywords input.search {
		font-size: 16px;
	}
	.keywords input[type="submit"] {
		height: 42px;
		font-size: 16px;
	}
	header .keywords {
		margin-right: 0;
	}
	header .keywords input.search {
		width: calc(100% - 50px);
		padding: 8px;
	}
	header .keywords input[type="submit"] {
		width: 45px;
		height: 38px;
		font-size: 14px;
	}

}


@media screen and (max-width : 680px) {

	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	.container {
		max-width: calc(460px - 40px);
	}
	.col3 {
		width: 100%;
	}
	/* フォント */
	h1 {
		font-size: 12px;
		line-height: 1.4;
		letter-spacing: 1px;
	}
	h1 span {
		font-size: 32px;
	}
	.font_32 {
		font-size: 20px;
	}

	/*==================================================================================
	トップページ
	==================================================================================*/
	
	/* 記事一覧 ------------------------------------------------*/
	/* タグ */
	.tag {
		right: -10px;
	}
	.tag a {
		padding: 5px 10px;
		font-size: 12px;
		font-weight: bold;
	}
	/* サムネイル */
	.thumbnail {
		border-radius: 10px;
	}

	/*==================================================================================
	下層ページ
	==================================================================================*/
	/* 各一覧ページトップ ----------------------------------------------*/
	.cate_top {
		height: 120px;
		margin-bottom: 40px;
		background-size: 740px;
	}
	.cate_top h1 span {
		font-size: 20px;
	}
	.cate_top.information h1 span,
	.cate_top.epo-news h1 span,
	.cate_top.notfound h1 span {
		font-size: 32px;
	}
	.cate_top.notfound {
		height: 100px;
		margin-bottom: 40px;
	}
	
	/* WP page-nav ---------------*/
	.wp-pagenavi a, .wp-pagenavi span {
		font-size: 14px;
	}
	
	/* お役立ちツール ----------------------------------------------*/
	#tool_list .col3 {
		width: calc(100% - 44px);
	}
	#tool_list .col3.dummy {
		width: 100%;
	}

	/* サイドコンテンツ ----------------------------------------------*/
	.side {
		max-width: none;
	}

	/*==================================================================================
	フッター
	==================================================================================*/
	/* お問い合わせボタン */
	.btn_contact {
		width: calc(100% - 20px);
		max-width: calc(460px - 20px);
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}
	/* メールマガジン, リンクボタン */
	.btn_footer {
		justify-content: flex-start;
		width: calc(50% - 41px);
		padding: 12px 20px;
	}
	.btn_footer span {
		padding: 12px;
		margin-right: 20px;
	}
	.btn_footer span img {
		width: 25px;
	}
	.btn_footer p {
		font-size: 14px;
	}

}


@media screen and (max-width : 460px) {
	.tb {
		display: none;
	}
	.sp {
		display: inline;
	}
	p {
		font-size: 12px;
		line-height: 1.6;
	}
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	.logo {
		width: 240px;
	}
	.navToggle {
	    top: 8px;
	}
	
	/*==================================================================================
	共通
	==================================================================================*/
	/* フォント */
	h4 {
		font-size: 18px;
	}
	.font_18 {
		font-size: 14px;
	}

	/*==================================================================================
	トップページ
	==================================================================================*/
	/* メインスライド */
	#main_slide {
		margin-bottom: 40px;
	}
	/* お知らせ ----------------------------------------------*/
	section#top_news .cate {
		font-size: 12px;
	}
	/* Facebook, リンクボタン -----------------------------------*/
	.bana p {
		font-size: 14px;
	}
	/* 記事一覧 ------------------------------------------------*/
	.thumbnail + a p {
		font-size: 14px;
	}
	.thumbnail + a p.font_18 {
		font-size: 16px;
	}
	
	/*==================================================================================
	下層ページ
	==================================================================================*/
	/* 各一覧ページトップ ----------------------------------------------*/
	.cate_top {
		background-image: url("../img/top_other_sp.png");
		background-size: 320px;
	}
	.cate_top.information {
		background-image: url("../img/top_info_sp.png");
	}
	.cate_top.epo-news {
		background-image: url("../img/top_eponews_sp.png");
	}
	
	/* テーブル */
	.article table {
		font-size: 12px;
	}
	.article table th,
	.article table td {
		padding: 5px 8px;
	}


	/* サイドコンテンツ ----------------------------------------------*/
	/* アーカイブリスト */
	ul.list_dot li a {
		font-size: 12px;
		line-height: 1.6;
	}
	
	/*==================================================================================
	フッター
	==================================================================================*/
	/* お問い合わせボタン */
	.btn_contact {
		width: calc(100% - 20px - 40px);
	}
	/* メールマガジン, リンクボタン */
	.btn_footer {
		width: calc(100% - 40px);
	}
	.btn_footer:first-child {
		margin-bottom: 1px;
	}
	/* MAPボタン */
	.map {
		margin: 0 0 8px 0;
	}
	footer .row.info .col2:nth-child(2) p {
		font-size: 10px;
	}
}

