@charset 'UTF-8';
/* ---------------------------------------------------------
グローバルナビ
--------------------------------------------------------- */
#naviWrap {
	position: relative;
	min-width: 1100px;
	margin: 0 auto;
	background: #1b7e5b;
}
@media only screen and (max-width: 699px) {
	#naviWrap {
		min-width: 0;
		margin: 0;
	}
}

.navi {
	/* setting */
	margin: 0 auto;
	padding: 0;
}
.navi:after {
	content: ''; 
	display: block;
	clear: both;
}
.navi * {
	box-sizing: border-box;
}
#header .navi {
	display: none;
}
@media only screen and (max-width: 699px) {
	#header .navi {
		display: block;
		margin: 15px 0 0;
	}
}
@media only screen and (max-width: 699px) {
	#naviWrap .navi {
		display: none;
	}
}
.navi ul {
	display: table;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media only screen and (max-width: 699px) {
	.navi ul {
		display: block;
		background: #1b7e5b;
	}
}
.navi li {
	display: table-cell;
	position: static;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
}
.navi li:before {
	display: none;
}
.navi li:first-child:before {
	content: '';
	display: block;
	position: absolute;
	top: 16px;
	left: -1px;
	width: 1px;
	height: calc(100% - 30px);
	margin: 0;
	border-radius: 0;
	background: #68ad95;
}
@media only screen and (max-width: 699px) {
	.navi li {
		display: block;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #ccc;
	}
	.navi li:first-child:before, .navi li:after {
		display: none;
	}
}
.navi li:hover > a {
	background-color: #54957e;
}
.navi li:hover > a:before {
	display: block;
}
@media only screen and (max-width: 699px) {
	.navi li:hover > a:before {
		display: none;
	}
}
.navi li:hover .megaMenuInner {
	display: block;
}
.navi li.naviCategory {
	background-color: #0e5c41;
}
.navi li.naviCategory a {
	color: #fff;
}
.navi li > a {
	display: block;
	position: relative;
	height: 100%;
	margin: 0;
	padding: 16px 16px 12px;
	color: #fff;
	text-decoration: none;
	word-break: keep-all; 
	text-align: center;
}
.navi li > a:before {
	content: '';
	display: none;
	position: absolute;
	bottom: -10px;
	left: 50%;
	z-index: 1;
	width: 0;
	height: 0;
	margin: 0 0 0 -12px;
	border-width: 0 12px 21px 12px;
	border-color: transparent transparent #0e5c41 transparent; 
	border-style: solid;
}
.navi li > a:after {
	content: '';
	display: block;
	position: absolute;
	top: 16px;
	right: 0;
	width: 1px;
	height: calc(100% - 30px);
	margin: 0;
	background: #68ad95;
}
.navi li > a.is-none:before {
	display: none;
}
@media only screen and (max-width: 699px) {
	.navi li > a {
		display: block;
		width: auto;
		height: auto;
		margin: 0;
		padding: 13px 15px 12px;
		border-radius: 0;
		font-size: 1.6rem;
		letter-spacing: 0.1em; 
		text-align: left;
	}
	.navi li > a:after {
		display: none;
	}
}

/* ---------------------------------------------------------
メガメニュー設定エリア
--------------------------------------------------------- */
#megaMenuBlock, #topLinkMegaMenuBlock {
	display: none;
}

.megaMenuInner, .topLinkMegaMenuInner {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	width: 1100px;
	padding: 10px 0 0;
}
.megaMenuInner > div, .topLinkMegaMenuInner > div {
	padding: 20px 10px 35px !important;
	background: #0e5c41;
}
.megaMenuInner table, .topLinkMegaMenuInner table {
	width: 100%;
	margin: 20px 0 0;
	table-layout: fixed;
}
.megaMenuInner table:first-child, .topLinkMegaMenuInner table:first-child {
	margin: 0;
}
.megaMenuInner table, .megaMenuInner table th, .megaMenuInner table td, .topLinkMegaMenuInner table, .topLinkMegaMenuInner table th, .topLinkMegaMenuInner table td {
	border: none;
}
.megaMenuInner table th, .megaMenuInner table td, .topLinkMegaMenuInner table th, .topLinkMegaMenuInner table td {
	background: none;
	text-align: left;
	vertical-align: top;
}
.megaMenuInner table th a, .megaMenuInner table td a, .topLinkMegaMenuInner table th a, .topLinkMegaMenuInner table td a {
	color: #fff;
	letter-spacing: 0.1em;
}
.megaMenuInner table th, .topLinkMegaMenuInner table th {
	width: 25%;
	padding: 0 10px;
}
.megaMenuInner table th a, .topLinkMegaMenuInner table th a {
	display: block;
	height: 100%;
	padding: 6px;
	border-radius: 5px;
	background: #1b7e5b;
	font-size: 1.3rem;
	text-decoration: none;
}
.megaMenuInner table th a:hover, .topLinkMegaMenuInner table th a:hover {
	background: #54957e;
}
.megaMenuInner table th a:before, .topLinkMegaMenuInner table th a:before {
	content: '';
	display: inline-block;
	position: relative;
	top: 2px;
	width: 14px;
	height: 14px;
	margin: 0 8px 0 0;
	background: url(../img/icons/ico_arrow_02.png) no-repeat 0 0;
}
.megaMenuInner table td, .topLinkMegaMenuInner table td {
	padding: 0 10px;
}
.megaMenuInner table td a, .topLinkMegaMenuInner table td a {
	display: inline-block;
	position: relative;
	padding: 0 0 0 25px;
	font-size: 1.2rem;
	line-height: 1.4;
}
.megaMenuInner table td a:before, .topLinkMegaMenuInner table td a:before {
	content: '';
	display: block;
	position: absolute;
	top: 3px;
	left: 10px;
	width: 6px;
	height: 9px;
	background: url(../img/icons/ico_arrow_03.png) no-repeat 0 0;
}
.megaMenuInner table tr:nth-child(2) td, .topLinkMegaMenuInner table tr:nth-child(2) td {
	padding-top: 9px;
}

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

/* ---------------------------------------------------------
ローカルナビ
--------------------------------------------------------- */

/* ローカルナビ共通
------------------------------------ */
#localNavi {
	background: #f5f5f5;
}
#localNavi * {
	box-sizing: border-box;
}
#localNavi ul {
	margin: 0;
	padding: 0;
}
#localNavi li {
	margin: 0;
	padding: 0;
	line-height: 1.25;
	letter-spacing: 0.1em;
	list-style: none;
}
#localNavi li:before {
	display: none;
}
#localNavi li a {
	display: block;
	color: #333;
	text-decoration: none;
}
#localNavi li a span {
	display: block;
	position: relative;
}
#localNavi li a span:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
}
#localNavi li a:hover {
	background: #54957e;
}
#localNavi li a:hover span {
	color: #fff;
}
#localNavi li#thishover > a {
	background: #54957e;
}
#localNavi li#thishover > a span {
	color: #fff;
}
#localNavi li#thisContent > a {
	background: #0e5c41;
	color: #fff;
}
#localNavi li#thisContent > a:hover {
	background: #54957e;
}
#localNavi > ul > li > a {
	padding: 18px 7px 15px;
	background: #1b7e5b;
	color: #fff;
	font-size: 1.4rem;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > a {
		padding: 16px 15px 14px 13px;
		font-size: 1.6rem;
	}
}
#localNavi > ul > li > a span {
	padding: 0 0 0 24px;
	border: none;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > a span {
		padding: 0 0 0 25px;
	}
}
#localNavi > ul > li > a span:before {
	top: -0.15em;
	width: 18px;
	height: 18px;
	background: url(../img/icons/ico_arrow_07.png) no-repeat 0 0;
	background-size: contain;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > a span:before {
		top: 0;
	}
}
#localNavi > ul > li > ul > li {
	border-bottom: 1px solid #ccc;
}
#localNavi > ul > li > ul > li > a {
	padding: 13px 6px 10px 10px;
	font-size: 1.4rem;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > a {
		padding: 16px 15px 14px;
		font-size: 1.6rem;
	}
}
#localNavi > ul > li > ul > li > a span {
	padding: 0 0 0 21px;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > a span {
		padding: 0 0 0 22px;
	}
}
#localNavi > ul > li > ul > li > a span:before {
	top: 0;
	width: 13px;
	height: 14px;
	background: url(../img/icons/ico_arrow_05.png) no-repeat 0 0;
	background-size: contain;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > a span:before {
		top: 0.2em;
		width: 12px;
		height: 12px;
	}
}
#localNavi > ul > li > ul > li > a:hover span:before {
	background-image: url(../img/icons/ico_arrow_02.png);
}
#localNavi > ul > li > ul > li#thishover > a span:before, #localNavi > ul > li > ul > li#thisContent > a span:before {
	background-image: url(../img/icons/ico_arrow_02.png);
}
#localNavi > ul > li > ul > li > ul {
	background: #ebebeb;
}
#localNavi > ul > li > ul > li > ul > li {
	border-top: 1px solid #ccc;
}
#localNavi > ul > li > ul > li > ul > li:nth-child(n+2) {
	border-top: 1px dotted #ccc;
}
#localNavi > ul > li > ul > li > ul > li > a {
	padding: 13px 6px 10px 31px;
	font-size: 1.3rem;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > a {
		padding: 17px 15px 13px 35px;
		font-size: 1.6rem;
	}
}
#localNavi > ul > li > ul > li > ul > li > a span {
	padding: 0 0 0 11px;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > a span {
		padding: 0 0 0 16px;
	}
}
#localNavi > ul > li > ul > li > ul > li > a span:before {
	top: 0.15em;
	left: 0;
	width: 6px;
	height: 9px;
	background: url(../img/icons/ico_arrow.png) no-repeat 0 0;
	background-size: contain;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > a span:before {
		top: 0.3em;
	}
}
#localNavi > ul > li > ul > li > ul > li > a:hover span:before {
	background: url(../img/icons/ico_arrow_03.png) no-repeat 0 0;
}
#localNavi > ul > li > ul > li > ul > li#thishover > a span:before, #localNavi > ul > li > ul > li > ul > li#thisContent > a span:before {
	background-image: url(../img/icons/ico_arrow_03.png);
}
#localNavi > ul > li > ul > li > ul > li > ul > li > a {
	padding: 10px 15px 6px 50px;
	font-size: 1.3rem;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > ul > li > a {
		font-size: 1.6rem;
	}
}
#localNavi > ul > li > ul > li > ul > li > ul > li > a span {
	padding: 0 0 0 13px;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > ul > li > a span {
		padding: 0 0 0 16px;
	}
}
#localNavi > ul > li > ul > li > ul > li > ul > li > a span:before {
	top: 0.15em;
	left: 0;
	width: 6px;
	height: 9px;
	background: url(../img/icons/ico_arrow_09.png) no-repeat 0 0;
	background-size: contain;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > ul > li > a span:before {
		top: 0.2em;
		width: 7px;
		height: 12px;
	}
}
#localNavi > ul > li > ul > li > ul > li > ul > li > a:hover span:before {
	background-image: url(../img/icons/ico_arrow_10.png);
}
#localNavi > ul > li > ul > li > ul > li > ul > li#thishover > a span:before, #localNavi > ul > li > ul > li > ul > li > ul > li#thisContent > a span:before {
	background-image: url(../img/icons/ico_arrow_10.png);
}
#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a {
	padding: 8px 6px 7px 56px;
	font-size: 1.2rem;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a {
		padding: 11px 15px 10px 66px;
		font-size: 1.4rem;
	}
}
#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a span {
	padding: 0 0 0 9px;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a span {
		padding: 0 0 0 14px;
	}
}
#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a span:before {
	top: 0.4em;
	left: 0;
	width: 5px;
	height: 5px;
	background: url(../img/icons/ico_list_01.png) no-repeat 0 0;
	background-size: contain;
}
@media only screen and (max-width: 699px) {
	#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a span:before {
		top: 0.3em;
		width: 7px;
		height: 7px;
	}
}
#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li > a:hover span:before {
	background-image: url(../img/icons/ico_list_02.png);
}
#localNavi > ul > li > ul > li > ul > li > ul > li > ul > li#thishover > a span:before, #localNavi > ul > li > ul > li > ul > li > ul > li > ul > li#thisContent > a span:before {
	background-image: url(../img/icons/ico_list_02.png);
}

/* バナー
------------------------------------ */
#optionBlock {
	margin: 0;
}
#optionBlock ul {
	margin: 0;
	padding: 0;
}
#optionBlock ul li {
	margin: 13px 0 0;
	padding: 0;
	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: 3.2vw;
		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: absolute;
	top: -26px;
	right: 50%;
	margin: 0 -550px 0 0;
	padding: 0 0 0 18px;
	background: url(../img/icons/ico_arrow_06.png) no-repeat 0 55%;
	background-size: 10px 6px;
}
@media only screen and (max-width: 699px) {
	.toPageTop {
		position: static;
		margin: 0;
		padding: 17px 0;
		border-bottom: 1px solid #1b7e5b;
		background: #fff;
		text-align: center;
	}
	.toPageTop:before {
		content: '';
		display: inline-block;
		width: 9px;
		height: 6px;
		margin: 0 5px 0 0;
		background: url(../img/icons/ico_arrow_06.png) no-repeat 0 0;
		background-size: contain;
	}
}
.toPageTop a {
	display: inline-block;
	color: #333;
	font-size: 1.2rem;
}
.toPageTop a:hover {
	color: #1b7e5b;
}

span.toPageTop a {
	border: none;
}

a.toPageTop {
	display: inline-block;
	position: static;
	margin: 0;
	padding: 0 0 0 18px;
	background: url(../img/icons/ico_arrow_06.png) no-repeat 0 55%;
	background-size: 10px 6px;
	color: #333;
	font-size: 1.2rem;
}
a.toPageTop:hover {
	color: #1b7e5b;
}
@media only screen and (max-width: 699px) {
	a.toPageTop {
		padding: 17px 0;
		border-bottom: 1px solid #1b7e5b;
	}
	a.toPageTop:before {
		content: '';
		display: inline-block;
		width: 9px;
		height: 6px;
		margin: 0 5px 0 0;
		background: url(../img/icons/ico_arrow_06.png) no-repeat 0 0;
		background-size: contain;
	}
}

/* 進む・戻る
------------------------------------ */
.linkPrevious {
	display: inline-block;
	padding-left: 24px;
	background: url(../img/icons/ico_arrow_05.png) no-repeat 0 0.25em;
	background-size: 14px auto;
	/* style */
}
@media only screen and (max-width: 699px) {
	.linkPrevious {
		padding-left: 18px;
		background-position: 0 0.3em;
		background-size: 12px auto;
	}
}

.linkNext {
	display: inline-block;
	padding-left: 24px;
	background: url(../img/icons/ico_arrow_08.png) no-repeat 0 0.25em;
	background-size: 14px auto;
	/* style */
}
@media only screen and (max-width: 699px) {
	.linkNext {
		padding-left: 18px;
		background-position: 0 0.3em;
		background-size: 12px auto;
	}
}

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