@charset 'UTF-8';
/* ---------------------------------------------------------
グローバルナビ
--------------------------------------------------------- */
@media only print, screen and (min-width: 700px) {
	#naviWrap {
		min-width: 1100px;
		border-bottom: 1px solid #e5e5e5;
	}
}

.navi {
	/* setting */
	margin: 0 auto;
	padding: 0;
}

.navi:after {
	content: '';
	display: block;
	clear: both;
}

@media only print, screen and (min-width: 700px) {
	.navi {
		font-size: 107.69231%;
	}
}

#header .navi {
	margin: 7px -15px 0;
}

@media only print, screen and (min-width: 700px) {
	#header .navi {
		display: none;
	}
}

#naviWrap .navi {
	display: none;
}

@media only print, screen and (min-width: 700px) {
	#naviWrap .navi {
		display: block;
	}
}

.navi ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

@media only print, screen and (min-width: 700px) {
	.navi ul {
		display: flex;
		position: relative;
		justify-content: center;
	}

	.navi ul:before {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		width: 1px;
		height: 18px;
		margin-top: -9px;
		background: #d2d2d2;
	}
}

.navi li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #b5b5b5;
}

@media only print, screen and (min-width: 700px) {
	.navi li {
		display: flex;
		position: relative;
		border: none;
		flex: 1 1 auto;
		justify-content: center;
	}

	.navi li:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 0;
		width: 1px;
		height: 18px;
		margin-top: -9px;
		background: #d2d2d2;
	}
}

.navi li:before {
	display: none;
}

.navi li.naviCategory a {
	background: #034ea2;
	color: #fff;
}

.navi a {
	display: block;
	padding: 12px 15px;
	color: #333;
	text-decoration: none;
	transition: color 0.2s ease-in-out;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	.navi a:hover {
		color: #004eaa;
	}
}

@media only print, screen and (min-width: 700px) {
	.navi a {
		display: block;
		width: 100%;
		margin: 10px;
		padding: 11px 15px;
		border-radius: 5px;
		word-break: break-all;
		word-wrap: break-word;
		text-align: center;
	}
}

/* ---------------------------------------------------------
ぱんくずナビ
--------------------------------------------------------- */
#breadCrumbs {
	min-width: 1100px;
	background: #eee;
	font-size: 92.30769%;
}

#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%;
}

#breadCrumbs li:first-child {
	padding-left: 0;
	background: none;
}

#breadCrumbs li:before {
	display: none;
}

#breadCrumbs a {
	color: #000;
	transition: color 0.2s ease-in-out;
}

#breadCrumbs a:hover {
	color: #004eaa;
	text-decoration: none;
}

/* ---------------------------------------------------------
ローカルナビ
--------------------------------------------------------- */
#localNaviWrap {
	margin-top: 51px;
	/* setting */;
}

@media only print, screen and (min-width: 700px) {
	#localNaviWrap {
		margin-top: 0;
	}
}

#localNavi {
	margin: 0 -15px;
	border-top: 2px solid #004ea2;
	background: none;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	#localNavi {
		margin: 0;
		border-top: none;
	}
}

#localNavi li {
	padding: 0;
}

#localNavi li:before {
	display: none;
}

/* カテゴリータイトル
------------------------------------ */

/* ローカルナビ共通
------------------------------------ */
@media only print, screen and (min-width: 700px) {
	#localNavi > ul > li > a {
		font-size: 107.69231%;
	}
}

#localNavi > ul > li > ul {
	font-size: 92.30769%;
}

@media only print, screen and (min-width: 700px) {
	#localNavi > ul > li > ul {
		border-top: 1px solid #fff;
		font-size: 100%;
	}

	#localNavi > ul > li > ul > li > a {
		font-size: 100%;
	}
}

#localNavi ul {
	margin: 0;
	padding: 0;
}

#localNavi li {
	margin: 0;
	padding: 0;
	border-top: 2px solid #dcdcdc;
	list-style: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li {
		border-top: 1px solid #fff;
	}
}

#localNavi li:first-child {
	border-top: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li:first-child {
		border-top: none;
	}
}

#localNavi li a {
	display: block;
	padding: 13px 20px;
	color: #333;
	line-height: 1;
	text-decoration: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li a {
		padding: 15px 10px 15px 20px;
		background: #eee;
	}
}

#localNavi li a:hover {
	background: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li a:hover {
		background: #f0f8fb;
	}
}

#localNavi li a span {
	display: block;
	position: relative;
	padding: 2px 0 2px 12px;
	border-left: 3px solid #004ea2;
	background: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li a span {
		padding: 3px 0 3px 8px;
	}
}

#localNavi li ul {
	border-top: 2px solid #dcdcdc;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li ul {
		border-top: none;
	}
}

#localNavi li ul ul {
	padding-left: 12px;
	border-top: 1px solid #eee;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li ul ul {
		padding-top: 0;
		border-top: none;
	}
}

#localNavi li ul ul ul {
	padding-bottom: 4px;
	border-top: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li ul ul ul {
		padding-bottom: 6px;
	}
}

#localNavi li ul ul ul a {
	padding: 6px 10px 6px 37px;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li ul ul ul a {
		padding: 6px 10px 6px 21px;
	}
}

#localNavi li li {
	border-top: 1px solid #eee;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li li {
		border-top: 1px solid #fff;
	}
}

#localNavi li li a {
	padding: 6px 20px 6px 37px;
	line-height: 1.5;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li li a {
		padding: 8px 10px 8px 21px;
	}
}

#localNavi li li a:hover {
	background: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li li a:hover {
		background: #e2eff5;
	}
}

#localNavi li li span {
	padding-left: 11px;
	border-left: none;
}

#localNavi li li span:before {
	content: '';
	display: block;
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 6px;
	height: 6px;
	background: #004ea2;
}

#localNavi li li li span {
	padding-left: 9px;
}

#localNavi li li li span:before {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #5a8ec3;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li li li a {
		padding: 3px 10px 3px 21px;
	}
}

#localNavi li#thisContent a:hover {
	background: none;
}

@media only print, screen and (min-width: 700px) {
	#localNavi li#thisContent a:hover {
		background: #e2eff5;
	}
}

@media only print, screen and (min-width: 700px) {
	#localNavi li#thisContent ul, #localNavi li#thisContent a {
		background: #f0f8fb;
	}

	#localNavi li#thisContent > a {
		background: #e2eff5;
	}
}

/* バナー
------------------------------------ */
#optionBlock {
	margin: 47px 0 0;
	font-size: 0;
}

@media only print, screen and (min-width: 700px) {
	#optionBlock {
		float: left;
		width: 530px;
		margin: 0;
	}
}

#optionBlock ul {
	margin: 0;
	padding: 0;
}

@media only print, screen and (min-width: 700px) {
	#optionBlock ul {
		margin: -15px 0 0;
	}
}

#optionBlock ul li {
	margin: 15px 0 0;
	padding: 0;
	list-style: none;
}

#optionBlock ul li:before {
	display: none;
}

#optionBlock a {
	display: block;
	transition: opacity 0.2s ease-in-out;
}

#optionBlock a:hover {
	text-decoration: none;
	opacity: 0.7;
}

#optionBlock img {
	width: 100%;
	height: auto;
}

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

/* ページの先頭へ戻る
------------------------------------ */
.toPageTop {
	margin: 0;
	background: #fff;
}

.toPageTop a {
	display: block;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-top: 45px;
	border-top: 2px solid #0050a2;
	background: url(../img/icons/ico_pagetop.png) no-repeat 50% 50%;
	background-size: 53px auto;
	line-height: 1.5;
	white-space: nowrap;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	.toPageTop a {
		padding-top: 57px;
		border-width: 1px;
		background-size: 71px auto;
		transition: opacity 0.2s ease-in-out;
	}

	.toPageTop a:hover {
		text-decoration: none;
		opacity: 0.7;
	}
}

span.toPageTop a {
	border: none;
}

a.toPageTop {
	display: inline-block;
	overflow: hidden;
	width: 53px;
	height: 0;
	padding-top: 45px;
	background: url(../img/icons/ico_pagetop.png) no-repeat 50% 50%;
	background-size: 53px auto;
	line-height: 1.5;
	white-space: nowrap;
	/* style */;
}

@media only print, screen and (min-width: 700px) {
	a.toPageTop {
		width: 71px;
		padding-top: 57px;
		background-size: 71px auto;
		transition: opacity 0.2s ease-in-out;
	}

	a.toPageTop:hover {
		text-decoration: none;
		opacity: 0.7;
	}
}

/* 進む・戻る
------------------------------------ */
.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;
}
