@charset 'UTF-8';
/* ---------------------------------------------------------
グローバルナビ
--------------------------------------------------------- */
#naviWrap {
	min-width: 940px;
	margin: 11px 0 10px;
}
@media only screen and (max-width: 699px) {
	#naviWrap {
		min-width: 0;
		margin: 0;
	}
}

.navi {
	/* setting */
	margin: 0 auto;
	padding: 0;
	font-size: 1.4rem;
}
.navi:after {
	content: ''; 
	display: block;
	clear: both;
}
#header .navi {
	display: none;
}
@media only screen and (max-width: 699px) {
	#header .navi {
		display: block;
		margin: 7px -15px 0;
	}
}
@media only screen and (max-width: 699px) {
	#naviWrap .navi {
		display: none;
	}
}
.navi ul {
	display: flex;
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none; 

	justify-content: center;
}
.navi ul:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 27px;
	margin: -14px 0 0;
	background: #c9c9c9;
}
@media only screen and (max-width: 699px) {
	.navi ul {
		display: block;
	}
}
.navi li {
	display: flex;
	position: relative;
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.4rem; 

	flex: 1 1 auto;
	justify-content: center;
}
.navi li:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 27px;
	margin: -14px 0 0;
	background: #c9c9c9;
}
@media only screen and (max-width: 699px) {
	.navi li {
		display: block;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #868686;
	}
	.navi li:after {
		display: none;
	}
}
.navi li:before {
	display: none;
}
.navi li.naviCategory {
	background-color: #06b849;
}
.navi li.naviCategory a {
	color: #fff;
}
@media only screen and (max-width: 699px) {
	.navi li.naviCategory {
		background-color: #036528;
	}
	.navi li.naviCategory a {
		color: #fff;
	}
}
.navi a {
	display: block;
	width: 100%;
	margin: 0 2px;
	padding: 3px 15px 2px;
	border-radius: 5px;
	color: #494848;
	text-decoration: none;
	word-break: break-all;
	word-wrap: break-word;
	text-align: center;
	transition: opacity 0.2s ease-in-out;
	/* style */
}
.navi a:hover {
	text-decoration: none; 
	opacity: 0.7;
}
@media only screen and (max-width: 699px) {
	.navi a {
		transition: none;
	}
	.navi a:hover {
		text-decoration: inherit; 
		opacity: 1;
	}
}
@media only screen and (max-width: 699px) {
	.navi a {
		width: auto;
		margin: 0;
		padding: 12px 15px;
		border-radius: 0;
		color: #333;
		text-align: left;
	}
}

/* ---------------------------------------------------------
ぱんくずナビ
--------------------------------------------------------- */
#breadCrumbs {
	font-size: 1.2rem;
}
#breadCrumbsInner {
	margin: 0 auto;
}
#breadCrumbs ul {
	margin: 0;
	padding: 6px 0;
	letter-spacing: -0.4em;
}
#breadCrumbs ul > * {
	letter-spacing: normal;
}
#breadCrumbs li {
	display: inline-block;
	margin: 0;
	padding: 0 0 0 15px;
	background: url(../img/icons/ico_breadcrumbs.png) no-repeat 6px 50%;
	font-size: 1.3rem;
	letter-spacing: 0.04em;
}
#breadCrumbs li:first-child {
	padding-left: 0;
	background: none;
}
#breadCrumbs li:before {
	display: none;
}
#breadCrumbs a {
	color: #02953a;
	text-decoration: none; 

	transition: opacity 0.2s ease-in-out;
}
#breadCrumbs a:hover {
	text-decoration: none; 
	opacity: 0.7;
}
@media only screen and (max-width: 699px) {
	#breadCrumbs a {
		transition: none;
	}
	#breadCrumbs a:hover {
		text-decoration: inherit; 
		opacity: 1;
	}
}

/* ---------------------------------------------------------
ローカルナビ
--------------------------------------------------------- */
#localNavi li:before {
	display: none;
}

/* ローカルナビ共通
------------------------------------ */
#localNavi {
	border: 1px solid #06b849;
	background: #fff;
}
#localNavi ul {
	margin: 0;
	padding: 0;
}
#localNavi li {
	margin: 0;
	padding: 0;
	list-style: none;
}
#localNavi li a {
	display: block;
	color: #333; 
	text-decoration: none;
}
#localNavi li a:hover {
	background: #eefdea;
}
#localNavi li a span {
	display: block;
	position: relative;
}
#localNavi li a span:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
}
@media only screen and (max-width: 699px) {
	#localNavi li a:hover {
		background: #fff;
	}
}
#localNavi > ul > li > a {
	padding: 13px 10px 12px;
	background: #06b849;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.15em; 
	text-align: center;
}
#localNavi > ul > li > a:hover {
	background: #06b849;
}
#localNavi > ul > li > a span {
	padding: 0;
	border: none;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > a {
		padding: 7px 22px;
		font-size: 1.65rem;
		text-align: left;
	}
}
#localNavi > ul > li > ul {
	font-size: 1.3rem;
}
#localNavi > ul > li > ul > li {
	border-top: 1px dotted #06b849;
}
#localNavi > ul > li > ul > li:first-child {
	border-top: none;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li {
		border-top: 1px solid #06b849;
	}
	#localNavi > ul > li > ul > li > a {
		font-size: 1.5rem;
	}
}
#localNavi > ul > li > ul > li > ul {
	border-top: 1px dotted #06b849;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul {
		border-top: 1px solid #06b849;
	}
}
#localNavi > ul > li > ul > li > ul > li a {
	padding-left: 16px;
}
#localNavi > ul > li > ul > li > ul > li > ul > li a {
	padding-left: 32px;
}
#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li a {
	padding-left: 48px;
}
#localNavi > ul > li > ul li a {
	padding: 10px 6px 10px 12px;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul li a {
		padding: 6px 6px 4px 0;
	}
}
#localNavi > ul > li > ul li span {
	padding: 0 0 0 18px;
}
#localNavi > ul > li > ul li span:before {
	top: 0.2em;
	width: 9px;
	height: 12px;
	background: url(../img/icons/ico_link_03.png) no-repeat 0 0;
	background-size: 9px 12px;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul li span {
		padding: 0 0 0 30px;
	}
	#localNavi > ul > li > ul li span:before {
		top: 50%;
		right: 6px;
		left: auto;
		width: 9px;
		height: 15px;
		background-size: contain;
		transform: translateY(-8px) rotateZ(90deg);
	}
}
#localNavi > ul > li > ul li#thisContent > a {
	background: #036528;
	color: #fff;
}
#localNavi > ul > li > ul li#thisContent > a span:before {
	background-image: url(../img/icons/ico_link_02.png);
}
#localNavi > ul > li > ul li#thisContent > a:hover {
	background: #eefdea;
	color: #333;
}
#localNavi > ul > li > ul li#thisContent > a:hover span:before {
	background-image: url(../img/icons/ico_link_03.png);
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul li#thisContent > a:hover {
		background: #036528; 
		color: #fff;
	}
	#localNavi > ul > li > ul li#thisContent > a:hover span:before {
		background-image: url(../img/icons/ico_link_02.png);
	}
}
#localNavi > ul > li > ul li ul li span:before {
	top: 0.35em;
	left: 4px;
	width: 8px;
	height: 9px;
	background-size: contain;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul li ul {
		border-top: 1px solid #06b849;
	}
	#localNavi > ul > li > ul li ul li a {
		background: #eefdea;
		font-size: 1.4rem;
	}
	#localNavi > ul > li > ul li ul li a:hover {
		background: #eefdea;
	}
	#localNavi > ul > li > ul li ul li span:before {
		top: 0.45em;
		right: auto;
		left: 20px;
		width: 6px;
		height: 7px;
		background-size: contain;
		transform: none;
	}
}

/* バナー
------------------------------------ */
#optionBlock {
	margin: 0;
}
#optionBlock ul {
	margin: 0;
	padding: 0;
}
#optionBlock ul li {
	margin: 8px 0 0;
	padding: 0;
	font-size: 1.6rem; 
	list-style: none;
}
#optionBlock ul li:first-child {
	margin: 0;
}
#optionBlock ul li:before {
	display: none;
}
@media only screen and (max-width: 699px) {
	#optionBlock ul {
		margin: 0 0 0 -4%;
		letter-spacing: -0.4em;
		vertical-align: top;
	}
	#optionBlock ul > * {
		letter-spacing: normal;
	}
	#optionBlock ul li {
		display: inline-block;
		width: 46%;
		margin: 6px 0 0 4%;
		font-size: 2.13333vw;
		vertical-align: top;
	}
	#optionBlock ul li:first-child {
		margin: 6px 0 0 4%;
	}
}
#optionBlock a {
	display: block;
	background: #fff; 

	transition: opacity 0.2s ease-in-out;
}
#optionBlock a:hover {
	text-decoration: none; 
	opacity: 0.7;
}
@media only screen and (max-width: 699px) {
	#optionBlock a {
		transition: none;
	}
	#optionBlock a:hover {
		text-decoration: inherit; 
		opacity: 1;
	}
}
#optionBlock a.text {
	padding: 20px 16px;
	border: 1px solid #c0bebe;
	color: #515151;
	font-size: 1.6rem;
	line-height: 1.2;
	text-decoration: none;
	letter-spacing: 0.1em;
	text-align: center;
}
@media only screen and (max-width: 699px) {
	#optionBlock a.text {
		padding: 14px 8px 13px;
		font-size: 1.4rem;
	}
	.font-s #optionBlock a.text, .font-l #optionBlock a.text {
		font-size: 1.4rem;
	}
}
#optionBlock img {
	width: 100%;
	height: auto;
}

/* ---------------------------------------------------------
ページ遷移ナビゲーション
--------------------------------------------------------- */

/* ページの先頭へ戻る
------------------------------------ */
.toPageTop {
	position: relative;
	margin: 0;
}
.toPageTop a {
	display: block;
	overflow: hidden;
	position: absolute;
	top: -36px;
	right: 50%;
	width: 172px;
	height: 37px;
	margin: 0 -470px;
	background: url(../img/icons/ico_pagetop.png) no-repeat 0 0;
	background-size: contain; 
	text-indent: 200%;
	white-space: nowrap;
}
@media only screen and (max-width: 699px) {
	.toPageTop a {
		top: -25px;
		width: 117px;
		height: 25px; 
		margin: 0 -58px 0 0;
	}
}

span.toPageTop a {
	border: none;
}

a.toPageTop {
	display: block;
	overflow: hidden;
	position: relative;
	top: auto;
	left: 100%;
	width: 172px;
	height: 37px;
	margin: 0 0 0 -172px;
	background: url(../img/icons/ico_pagetop.png) no-repeat 0 0;
	background-size: contain; 
	text-indent: 200%;
	white-space: nowrap;
}
@media only screen and (max-width: 699px) {
	a.toPageTop {
		width: 117px;
		height: 25px;
		margin: 0 0 0 -117px;
	}
}

/* 進む・戻る
------------------------------------ */
.linkPrevious {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_prev.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
	/* style */
}
@media only print, screen and (min-width: 700px) {
	.linkPrevious {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

.linkNext {
	display: inline-block;
	padding-left: 18px;
	background: url(../img/icons/ico_next.png) no-repeat 0 0.25em;
	background-size: 12px auto;
	text-decoration: underline;
	/* style */
}
@media only print, screen and (min-width: 700px) {
	.linkNext {
		padding-left: 24px;
		background-position: 0 0.3em;
		background-size: 15px auto;
	}
}

/* ---------------------------------------------------------
ClearFix
--------------------------------------------------------- */
#breadCrumbsWrap:after {
	content: ''; 
	display: block;
	clear: both;
}
