@charset "UTF-8";
/*------------------------------------------------
	脱炭素ポータル
------------------------------------------------*/
/*------------------------------------------------
	スクロール用
------------------------------------------------*/
html {
	scroll-behavior: smooth;
}

@supports (scroll-padding-top: 0) and (scroll-padding-block-start: auto) {
	html {
		scroll-padding-top: 92px;
	}
	@media only screen and (max-width: 767px) {
		html {
			scroll-padding-top: 88px;
		}
	}
}

#main::before, .anchor-target-wide::before, .anchor-target-wide-only:target::before, .anchor-target::before, .anchor-target-only:target::before, .Topic main article section:target[id]::before,
.Topic main article aside:target[id]::before {
	content: "";
	display: block;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	width: 0;
	height: 0;
	margin-top: -74px;
	padding-top: 74px;
	overflow: hidden;
	visibility: hidden;
	position: relative;
	top: 0;
	left: -1px;
	z-index: -1;
	pointer-events: none;
}

@media only screen and (max-width: 767px) {
	#main::before, .anchor-target-wide::before, .anchor-target-wide-only:target::before, .anchor-target::before, .anchor-target-only:target::before, .Topic main article section:target[id]::before,
	.Topic main article aside:target[id]::before {
		margin-top: -88px;
		padding-top: 88px;
	}
}

@supports (scroll-padding-top: 0) and (scroll-padding-block-start: auto) {
	#main::before, .anchor-target-wide::before, .anchor-target-wide-only:target::before, .anchor-target::before, .anchor-target-only:target::before, .Topic main article section:target[id]::before,
	.Topic main article aside:target[id]::before {
		content: none;
		display: none;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		width: auto;
		height: auto;
		margin-top: 0;
		padding-top: 0;
		overflow: visible;
		visibility: visible;
		position: static;
		left: auto;
		z-index: auto;
		pointer-events: auto;
	}
}

dfn#main::before, dfn.anchor-target-wide::before, dfn.anchor-target-wide-only:target::before, dfn.anchor-target::before, dfn.anchor-target-only:target::before,
.inline#main::before,
.inline.anchor-target-wide::before,
.inline.anchor-target-wide-only:target::before,
.inline.anchor-target::before,
.inline.anchor-target-only:target::before,
.Topic main article section.inline:target[id]::before,
.Topic main article aside.inline:target[id]::before {
	display: inline-block;
	float: left;
}

@supports (scroll-padding-top: 0) and (scroll-padding-block-start: auto) {
	dfn#main::before, dfn.anchor-target-wide::before, dfn.anchor-target-wide-only:target::before, dfn.anchor-target::before, dfn.anchor-target-only:target::before,
	.inline#main::before,
	.inline.anchor-target-wide::before,
	.inline.anchor-target-wide-only:target::before,
	.inline.anchor-target::before,
	.inline.anchor-target-only:target::before,
	.Topic main article section.inline:target[id]::before,
	.Topic main article aside.inline:target[id]::before {
		float: none;
	}
}

#main::before, .anchor-target-wide::before, .anchor-target-wide-only:target::before {
	margin-top: -100px;
	padding-top: 100px;
}

@media only screen and (max-width: 767px) {
	#main::before, .anchor-target-wide::before, .anchor-target-wide-only:target::before {
		margin-top: -96px;
		padding-top: 96px;
	}
}

@supports (scroll-padding-top: 0) and (scroll-padding-block-start: auto) {
	#main::before, .anchor-target-wide::before, .anchor-target-wide-only:target::before {
		margin-top: 0;
		padding-top: 0;
	}
}

.anchor-target {
	margin-top: 74px;
}

@media only screen and (max-width: 767px) {
	.anchor-target {
		margin-top: 88px;
	}
}

.anchor-target-wide {
	margin-top: 92px;
}

@media only screen and (max-width: 767px) {
	.anchor-target-wide {
		margin-top: 88px;
	}
}

#header,
#heading,
#header_nav,
#bread_crumb {
	position: relative;
	z-index: 2;
}

main h1,
main .pre-anchor-target {
	position: relative;
	z-index: 1;
}

/*------------------------------------------------
	Base
------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans CJK JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	word-wrap: break-word;
	word-wrap: anywhere;
	text-align: left;
	font-size: 100%;
	line-height: 1.75;
	background: #fff;
	color: #2C2C2C;
}

main {
	font-size: 100%;
	line-height: 1.75;
}

@media only screen and (max-width: 767px) {
	main {
		font-size: 93.8%;
		line-height: 1.734;
	}
}

/*------------------------------------------------
	Reset
------------------------------------------------*/
body, div,
p, ul, ol, li, dl, dt, dd,
h1, h2, h3, h4, h5, h6,
table, th, td, caption,
blockquote, pre, code,
form, fieldset, legend,
input, button, select, optgroup, textarea {
	margin: 0;
	padding: 0;
}

main, header, footer, hgroup,
section, article, aside, nav,
address, figure, details {
	display: block;
	margin: 0;
	padding: 0;
}

summary {
	display: list-item;
	cursor: pointer;
}

img {
	border: none;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset {
	border: 0;
}

ul {
	list-style: none;
}

abbr, acronym, dfn[title] {
	border: 0;
	font-variant: normal;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted;
	-webkit-text-decoration-color: rgba(44, 44, 44, 0.5);
	        text-decoration-color: rgba(44, 44, 44, 0.5);
	text-underline-offset: 3px;
	cursor: help;
}

button, input {
	overflow: visible;
}

button, input[type="button"] {
	border-radius: 0;
}

button, select {
	text-transform: none;
}

textarea,
input.text,
[type="text"],
[type="search"],
[type="number"],
[type="email"],
[type="image"] {
	-webkit-appearance: none;
	border-radius: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/*------------------------------------------------
	Font
------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: 500;
}

table {
	font-size: 100%;
}

th, caption {
	font-weight: 500;
	text-align: left;
}

address, caption,
i, u, em, time, cite, code, dfn, var {
	font-style: normal;
}

b, strong {
	font-weight: bolder;
}

small {
	font-size: 0.875em;
}

sup {
	font-size: smaller;
	vertical-align: super;
}

sub {
	font-size: smaller;
	vertical-align: sub;
}

input, button, select, optgroup, textarea {
	font-size: 100%;
	font-style: normal;
	font-family: inherit;
	font-weight: 500;
}

pre, code, kbd, samp, tt {
	font-family: monospace;
	font-size: 100%;
	line-height: 1.5;
}

/*------------------------------------------------
	Focus
------------------------------------------------*/
a:focus, button:focus, input:focus, select:focus, textarea:focus, area:focus, [tabindex]:focus {
	outline: 1px solid #008070 !important;
}

[tabindex="-1"]:focus {
	outline: none !important;
}

/*------------------------------------------------
	other
------------------------------------------------*/
hr {
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	overflow: visible;
	height: 0;
	margin: 1.75em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #D3D3D3;
}

/* 隠し属性 */
template {
	display: none;
}

[hidden] {
	display: none !important;
}

/*------------------------------------------------
	Link
------------------------------------------------*/
a:link {
	color: #326EAA;
}

a:visited {
	color: #326EAA;
}

a:hover, a:focus {
	color: #A50;
}

a:active {
	color: #A50;
}

a[href] {
	text-decoration: underline;
}

a, button, input, select, textarea, .btn {
	-webkit-transition-property: color, background-color, border-color, opacity, -webkit-box-shadow, -webkit-transform;
	transition-property: color, background-color, border-color, opacity, -webkit-box-shadow, -webkit-transform;
	transition-property: color, background-color, border-color, box-shadow, opacity, transform;
	transition-property: color, background-color, border-color, box-shadow, opacity, transform, -webkit-box-shadow, -webkit-transform;
	-webkit-transition-duration: 0.2s;
	        transition-duration: 0.2s;
	-webkit-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

img {
	-webkit-transition-property: border-color, opacity, -webkit-transform;
	transition-property: border-color, opacity, -webkit-transform;
	transition-property: border-color, opacity, transform;
	transition-property: border-color, opacity, transform, -webkit-transform;
	-webkit-transition-duration: 0.2s;
	        transition-duration: 0.2s;
	-webkit-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

a[href]:hover img, a[href]:active img, a[href]:focus img, button:hover img, button:active img, button:focus img {
	opacity: 0.75;
}

/*------------------------------------------------
	Icon Link
------------------------------------------------*/
a[href$="pdf"]:after, a[href$="doc"]:after, a[href$="docx"]:after, a[href$="xls"]:after, a[href$="xlsx"]:after, a[href$="ppt"]:after, a[href$="pptx"]:after, a[href$="zip"]:after, a[href$="jtd"]:after, a[target="_blank"]:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: none no-repeat center;
	background-size: contain;
	width: 16px;
	height: 16px;
	margin-left: 0.3333333333em;
	margin-right: 0.3333333333em;
}

a[href$="pdf"]:after {
	background-image: url(../img/ico/ico_pdf.png) !important;
}

a[href$="doc"]:after, a[href$="docx"]:after {
	background-image: url(../img/ico/ico_doc.png) !important;
}

a[href$="xls"]:after, a[href$="xlsx"]:after {
	background-image: url(../img/ico/ico_xls.png) !important;
}

a[href$="ppt"]:after, a[href$="pptx"]:after {
	background-image: url(../img/ico/ico_ppt.png) !important;
}

a[href$="zip"]:after {
	background-image: url(../img/ico/ico_zip.png) !important;
}

a[href$="jtd"]:after {
	background-image: url(../img/ico/ico_jtd.png) !important;
}

a[target="_blank"]:after {
	background-image: url("../img/ico-outlink@2x.png");
}

.ie8 a[target="_blank"]:after {
	background-image: url("../img/ico-outlink.png");
}

a.no:after, a.noicon:after, a.icon:after, a.image:after {
	content: none !important;
}

/*------------------------------------------------
	スクリーンリーダー用 (テキストの読み上げ専用)
------------------------------------------------*/
.reader {
	overflow: hidden;
	position: absolute !important;
	left: -9999px !important;
	width: 0;
	height: 0;
}

/*------------------------------------------------
	PC、タブレット、スマートフォン表示切替用
------------------------------------------------*/
.mini, .sp, .small, .xcontent, .tablet, .design, .spdesign, .not-pc, .not-wide, .not-full, br.mini, br.sp, br.small, br.xcontent, br.tablet, br.design, br.spdesign, br.not-pc, br.not-wide, br.not-full, span.mini, span.sp, span.small, span.xcontent, span.tablet, span.design, span.spdesign, span.not-pc, span.not-wide, span.not-full {
	display: none !important;
}

.not-mini, .not-sp, .not-small, .not-xcontent, .not-tablet, .not-design, .not-spdesign, .pc, .wide, .full {
	display: block !important;
}

br.not-mini, br.not-sp, br.not-small, br.not-xcontent, br.not-tablet, br.not-design, br.not-spdesign, br.pc, br.wide, br.full {
	display: inline-block !important;
}

span.not-mini, span.not-sp, span.not-small, span.not-xcontent, span.not-tablet, span.not-design, span.not-spdesign, span.pc, span.wide, span.full {
	display: inline !important;
}

@media (max-width: 479px) {
	.not-mini, br.not-mini, span.not-mini {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.not-sp, br.not-sp, span.not-sp {
		display: none !important;
	}
}

@media (max-width: 979px) {
	.not-small, br.not-small, span.not-small {
		display: none !important;
	}
}

@media (max-width: 1119px) {
	.not-xcontent, br.not-xcontent, span.not-xcontent {
		display: none !important;
	}
}

@media (max-width: 1199px) {
	.not-tablet, br.not-tablet, span.not-tablet {
		display: none !important;
	}
}

@media (max-width: 1419px) {
	.not-design, br.not-design, span.not-design {
		display: none !important;
	}
}

@media (max-width: 374px) {
	.not-spdesign, br.not-spdesign, span.not-spdesign {
		display: none !important;
	}
}

@media (max-width: 1199px) {
	.pc, br.pc, span.pc {
		display: none !important;
	}
}

@media (max-width: 1419px) {
	.wide, br.wide, span.wide {
		display: none !important;
	}
}

@media (max-width: 1979px) {
	.full, br.full, span.full {
		display: none !important;
	}
}

@media (max-width: 479px) {
	.mini {
		display: block !important;
	}
	br.mini {
		display: inline-block !important;
	}
	span.mini {
		display: inline !important;
	}
}

@media (max-width: 767px) {
	.sp {
		display: block !important;
	}
	br.sp {
		display: inline-block !important;
	}
	span.sp {
		display: inline !important;
	}
}

@media (max-width: 979px) {
	.small {
		display: block !important;
	}
	br.small {
		display: inline-block !important;
	}
	span.small {
		display: inline !important;
	}
}

@media (max-width: 1119px) {
	.xcontent {
		display: block !important;
	}
	br.xcontent {
		display: inline-block !important;
	}
	span.xcontent {
		display: inline !important;
	}
}

@media (max-width: 1199px) {
	.tablet {
		display: block !important;
	}
	br.tablet {
		display: inline-block !important;
	}
	span.tablet {
		display: inline !important;
	}
}

@media (max-width: 1419px) {
	.design {
		display: block !important;
	}
	br.design {
		display: inline-block !important;
	}
	span.design {
		display: inline !important;
	}
}

@media (max-width: 374px) {
	.spdesign {
		display: block !important;
	}
	br.spdesign {
		display: inline-block !important;
	}
	span.spdesign {
		display: inline !important;
	}
}

@media (max-width: 1199px) {
	.not-pc {
		display: block !important;
	}
	br.not-pc {
		display: inline-block !important;
	}
	span.not-pc {
		display: inline !important;
	}
}

@media (max-width: 1419px) {
	.not-wide {
		display: block !important;
	}
	br.not-wide {
		display: inline-block !important;
	}
	span.not-wide {
		display: inline !important;
	}
}

@media (max-width: 1979px) {
	.not-full {
		display: block !important;
	}
	br.not-full {
		display: inline-block !important;
	}
	span.not-full {
		display: inline !important;
	}
}

/*------------------------------------------------
	見出し
------------------------------------------------*/
main h1, main h2, main h3, main h4, main h5, main h6 {
	margin: 1.6em auto 1em;
	color: #2C2C2C;
	font-weight: bold;
	font-size: 100%;
	line-height: 1.625;
	-webkit-transition-property: color, background-color, border-color, opacity, -webkit-box-shadow, -webkit-transform;
	transition-property: color, background-color, border-color, opacity, -webkit-box-shadow, -webkit-transform;
	transition-property: color, background-color, border-color, box-shadow, opacity, transform;
	transition-property: color, background-color, border-color, box-shadow, opacity, transform, -webkit-box-shadow, -webkit-transform;
	-webkit-transition-duration: 0.2s;
	        transition-duration: 0.2s;
	-webkit-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

@media only screen and (max-width: 767px) {
	main h1, main h2, main h3, main h4, main h5, main h6 {
		font-size: 100%;
		line-height: 1.6;
	}
}

main h1 a, main h2 a, main h3 a, main h4 a, main h5 a, main h6 a {
	color: inherit;
}

main section > h1, main section > h2, main section > h3, main section > h4, main section > h5, main section > h6, main article > h1, main article > h2, main article > h3, main article > h4, main article > h5, main article > h6, main aside > h1, main aside > h2, main aside > h3, main aside > h4, main aside > h5, main aside > h6, main nav > h1, main nav > h2, main nav > h3, main nav > h4, main nav > h5, main nav > h6 {
	margin-top: 0;
}

main h1, main .h1 {
	margin: 0 auto 1.108em;
	padding: 0;
	border: 0;
	font-size: 175%;
	line-height: 1.643;
}

@media only screen and (max-width: 767px) {
	main h1, main .h1 {
		margin-bottom: 0.773em;
		font-size: 146.7%;
		line-height: 1.455;
	}
}

main h2, main .h2 {
	margin-bottom: 1.417em;
	font-size: 150%;
	line-height: 1.667;
}

@media only screen and (max-width: 767px) {
	main h2, main .h2 {
		margin-bottom: 0.841em;
		font-size: 146.7%;
		line-height: 1.728;
	}
}

main h3, main .h3 {
	margin-bottom: 0.445em;
	font-size: 112.5%;
	line-height: 1.667;
}

@media only screen and (max-width: 767px) {
	main h3, main .h3 {
		font-size: 106.7%;
		line-height: 1.75;
	}
}

/*------------------------------------------------
	Clear
------------------------------------------------*/
.clearfix:after,
.container:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.clear {
	clear: both;
}

/*------------------------------------------------
	メインコンテンツ
------------------------------------------------*/
main section {
	position: relative;
	margin: 2.5em 0 4em;
}

@media only screen and (max-width: 767px) {
	main section {
		margin: 2.667em 0 3.334em;
	}
}

main section section {
	margin: 2.25em 0;
}

main h1 + section {
	margin-top: 1em;
}

main .grid > section {
	margin-top: 0;
	margin-bottom: 2.75em;
}

main p, main ul, main ol, main dl,
main table, main blockquote, main pre {
	margin: 0 0 1.25em;
}

@media only screen and (max-width: 767px) {
	main p, main ul, main ol, main dl,
	main table, main blockquote, main pre {
		margin-bottom: 1.4em;
	}
}

main p:last-child, main ul:last-child, main ol:last-child, main li:last-child, main dl:last-child, main dt:last-child, main dd:last-child,
main table:last-child, main blockquote:last-child, main pre:last-child,
main form:last-child, main fieldset:last-child, main figure:last-child, main figcaption:last-child, main details:last-child, main address:last-child,
main aside:last-child {
	margin-bottom: 0 !important;
}

main p.summary {
	margin: 2em auto;
}

main h1 + p.summary {
	margin-top: 0;
}

main .note {
	max-width: none;
	font-size: 93.8%;
}

@media only screen and (max-width: 767px) {
	main .note {
		font-size: 93.4%;
	}
}

main p + .nearby {
	margin-top: -1em;
}

main strong, main em {
	font-weight: bold;
}

main strong {
	color: #BE2346;
}

main ruby > rt {
	font-size: 0.625em;
	font-size: 0.625rem;
	-webkit-transform: translateY(-1px);
	    -ms-transform: translateY(-1px);
	        transform: translateY(-1px);
}

main mark {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(42%, rgba(255, 245, 188, 0.7)), color-stop(90%, #FFF5BC), color-stop(92%, transparent));
	background: -webkit-linear-gradient(transparent 40%, rgba(255, 245, 188, 0.7) 42%, #FFF5BC 90%, transparent 92%);
	background: linear-gradient(transparent 40%, rgba(255, 245, 188, 0.7) 42%, #FFF5BC 90%, transparent 92%);
}

.ie main mark {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, transparent), color-stop(22%, rgba(255, 245, 188, 0.7)), color-stop(70%, #FFF5BC), color-stop(72%, transparent));
	background: -webkit-linear-gradient(transparent 20%, rgba(255, 245, 188, 0.7) 22%, #FFF5BC 70%, transparent 72%);
	background: linear-gradient(transparent 20%, rgba(255, 245, 188, 0.7) 22%, #FFF5BC 70%, transparent 72%);
}

@media (max-width: 1199px) {
	main img {
		max-width: 100%;
		height: auto;
	}
}

main img.ico, main img[src*="/ico"] {
	position: relative;
	vertical-align: middle;
}

main img.border {
	border: 1px solid #D3D3D3;
}

main figure, main .figure {
	position: relative;
	z-index: 2;
	display: block;
}

main figure.left, main .figure.left {
	float: left;
	margin: 0 50px 10px 0;
}

main figure.right, main .figure.right {
	float: right;
	margin: 0 0 10px 50px;
}

@media (max-width: 1199px) {
	main figure.left, main .figure.left {
		margin-right: 4.5%;
	}
	main figure.right, main .figure.right {
		margin-left: 4.5%;
	}
}

@media only screen and (max-width: 767px) {
	main figure.left, main figure.right, main .figure.left, main .figure.right {
		float: none;
		margin: 0 0 1em;
		text-align: center;
	}
}

main figure img, main .figure img {
	vertical-align: bottom;
}

main figcaption, main .figcaption {
	margin: 0.75em 0;
}

@media only screen and (max-width: 767px) {
	main figcaption, main .figcaption {
		margin: 0.667em 0;
	}
}

main blockquote,
main .quote {
	margin: 1.625em 0;
	padding: 1.563em 31px;
	border: 1px solid #F7F9F9;
	background: #F7F9F9;
}

@media only screen and (max-width: 767px) {
	main blockquote,
	main .quote {
		margin: 1.767em 0;
		padding: 1.6em 24px;
	}
}

@media only screen and (max-width: 479px) {
	main blockquote,
	main .quote {
		padding: 1.2em 18px;
	}
}

main blockquote > :first-child,
main .quote > :first-child {
	margin-top: 0 !important;
}

main footer .notice {
	margin-top: 1.75em;
	text-align: right !important;
}

@media only screen and (max-width: 767px) {
	main footer .notice {
		margin-top: 1.313em;
	}
}

main .text-center {
	text-align: center;
}

main .text-left {
	text-align: left;
}

main .text-right {
	text-align: right;
}

/*------------------------------------------------
	折りたたみ要素
------------------------------------------------*/
.expanded .open,
[aria-expanded="true"] .open {
	display: none !important;
}

.expanded .close,
[aria-expanded="true"] .close {
	display: inline-block !important;
}

[aria-expanded="false"] .open {
	display: inline-block !important;
}

[aria-expanded="false"] .close {
	display: none !important;
}

/*------------------------------------------------
	インデント部分
------------------------------------------------*/
.tab1 {
	padding-left: 0.5em !important;
}

._tab1 {
	padding-left: 0.5em !important;
	text-indent: -0.5em !important;
}

.tab2 {
	padding-left: 1em !important;
}

._tab2 {
	padding-left: 1em !important;
	text-indent: -1em !important;
}

.tab3 {
	padding-left: 1.5em !important;
}

._tab3 {
	padding-left: 1.5em !important;
	text-indent: -1.5em !important;
}

.tab4 {
	padding-left: 2em !important;
}

._tab4 {
	padding-left: 2em !important;
	text-indent: -2em !important;
}

.tab5 {
	padding-left: 2.5em !important;
}

._tab5 {
	padding-left: 2.5em !important;
	text-indent: -2.5em !important;
}

.tab6 {
	padding-left: 3em !important;
}

._tab6 {
	padding-left: 3em !important;
	text-indent: -3em !important;
}

.tab7 {
	padding-left: 3.5em !important;
}

._tab7 {
	padding-left: 3.5em !important;
	text-indent: -3.5em !important;
}

.tab8 {
	padding-left: 4em !important;
}

._tab8 {
	padding-left: 4em !important;
	text-indent: -4em !important;
}

.tab9 {
	padding-left: 4.5em !important;
}

._tab9 {
	padding-left: 4.5em !important;
	text-indent: -4.5em !important;
}

.tab10 {
	padding-left: 5em !important;
}

._tab10 {
	padding-left: 5em !important;
	text-indent: -5em !important;
}

.tab11 {
	padding-left: 5.5em !important;
}

._tab11 {
	padding-left: 5.5em !important;
	text-indent: -5.5em !important;
}

.tab12 {
	padding-left: 6em !important;
}

._tab12 {
	padding-left: 6em !important;
	text-indent: -6em !important;
}

.tab13 {
	padding-left: 6.5em !important;
}

._tab13 {
	padding-left: 6.5em !important;
	text-indent: -6.5em !important;
}

.tab14 {
	padding-left: 7em !important;
}

._tab14 {
	padding-left: 7em !important;
	text-indent: -7em !important;
}

.tab15 {
	padding-left: 7.5em !important;
}

._tab15 {
	padding-left: 7.5em !important;
	text-indent: -7.5em !important;
}

.tab16 {
	padding-left: 8em !important;
}

._tab16 {
	padding-left: 8em !important;
	text-indent: -8em !important;
}

.tab17 {
	padding-left: 8.5em !important;
}

._tab17 {
	padding-left: 8.5em !important;
	text-indent: -8.5em !important;
}

.tab18 {
	padding-left: 9em !important;
}

._tab18 {
	padding-left: 9em !important;
	text-indent: -9em !important;
}

.tab19 {
	padding-left: 9.5em !important;
}

._tab19 {
	padding-left: 9.5em !important;
	text-indent: -9.5em !important;
}

.tab20 {
	padding-left: 10em !important;
}

._tab20 {
	padding-left: 10em !important;
	text-indent: -10em !important;
}

/* リンク */
main a[target="_blank"]:after,
main a[target="_blank"].icon .text:after,
main a[target="_blank"].image .text:after,
main a[target="_blank"].imgbox .text:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-outlink@2x.png") no-repeat center;
	background-size: contain;
	width: 1em;
	height: 1em;
}

@media only screen and (max-width: 767px) {
	main a[target="_blank"]:after,
	main a[target="_blank"].icon .text:after,
	main a[target="_blank"].image .text:after,
	main a[target="_blank"].imgbox .text:after {
		width: 1.067em;
		height: 1.067em;
	}
}

.ie8 main a[target="_blank"]:after, .ie8
main a[target="_blank"].icon .text:after, .ie8
main a[target="_blank"].image .text:after, .ie8
main a[target="_blank"].imgbox .text:after {
	background-image: url("../img/ico-outlink.png");
}

main a[target="_blank"].icon .text:after, main a[target="_blank"].image .text:after, main a[target="_blank"].imgbox .text:after {
	left: 0.3333333333em;
}

main a.disabled {
	text-decoration: none;
	pointer-events: none;
	color: #757575;
	cursor: not-allowed;
}

main a.image {
	display: inline-block;
}

@media (max-width: 1199px) {
	main a.image img {
		max-width: 100%;
		height: auto;
	}
}

main a.image.only {
	position: relative;
}

main a.image.only:after {
	position: absolute;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
	background-color: #fff;
	background-position: center;
	background-size: 16px auto;
}

main .nav a {
	word-break: break-all;
}

main .nav a:not(.btn):not(.image):before,
main .nav a.image .text:before,
main .nav a.btn .text:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-caret-right@2x.png") no-repeat center;
	background-size: contain;
	width: 0.75em;
	height: 1em;
	margin-right: 0.5em;
}

.ie8 main .nav a:not(.btn):not(.image):before, .ie8
main .nav a.image .text:before, .ie8
main .nav a.btn .text:before {
	background-image: url("../img/ico-caret-right.png");
}

main .nav.anchor a:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-caret-down@2x.png") no-repeat center;
	background-size: contain;
	width: 16px;
	height: 12px;
}

.ie8 main .nav.anchor a:before {
	background-image: url("../img/ico-caret-down.png");
}

main .plugin_install {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}

@media only screen and (max-width: 767px) {
	main .plugin_install {
		max-width: none;
		font-size: 140%;
	}
}

/* リスト */
.main {
	/* 項目名を左置きにする説明リスト（※日本語） */
}

.main ul, .main dl.list,
.main dl dl, .main .indent {
	padding-left: 2em;
}

@media only screen and (max-width: 479px) {
	.main ul, .main dl.list,
	.main dl dl, .main .indent {
		padding-left: 2em;
	}
}

.main ol, .main ul.number {
	padding-left: 1.688em;
}

@media only screen and (max-width: 479px) {
	.main ol, .main ul.number {
		padding-left: 1.667em;
	}
}

.main ol > li, .main ul.number > li {
	padding-left: 5px;
}

.main .list {
	text-align: left;
}

.main ul {
	list-style: none;
}

.default .main ul {
	list-style: disc;
}

.default .main ul ul {
	list-style: circle;
}

.default .main ul ul ul {
	list-style: square;
}

.main li {
	position: relative;
	margin-bottom: 0.75em;
	line-height: 1.75;
}

.main dt {
	position: relative;
	font-weight: bold;
	line-height: 1.75;
}

.default .main dt {
	font-weight: 500;
}

.main dt > i:first-child {
	margin-right: 0.438em;
	font-style: normal;
}

.main dd {
	margin-top: 0.2em;
	margin-bottom: 0.75em;
}

.default .main dd {
	margin-top: 0;
}

.main li.has-ruby,
.main dd + dt.has-ruby {
	margin-top: -0.4rem !important;
}

.firefox .main li.has-ruby, .firefox
.main dd + dt.has-ruby {
	margin-top: -0.3rem !important;
}

.main dl.list dd,
.main dl dl dd {
	margin-bottom: 0.2em;
}

.main dl.list dd + dt,
.main dl dl dd + dt {
	margin-top: 0.75em;
}

.default .main dl.list dd + dt, .default
.main dl dl dd + dt {
	margin-top: 0;
}

.main ul > li:before,
.main dl.list > dt:before,
.main dl dl > dt:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/ico-list-disc@2x.png") no-repeat center;
	background-size: contain;
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.25em;
	top: 0.875em;
	right: 100%;
	margin-right: 0.875em;
}

.ie .main ul > li:before, .ie
.main dl.list > dt:before, .ie
.main dl dl > dt:before {
	top: 0.75em;
}

.default .main ul > li:before, .default
.main dl.list > dt:before, .default
.main dl dl > dt:before {
	content: none;
}

.main li p, .main li ul, .main li ol, .main li dl, .main dd p, .main dd ul, .main dd ol, .main dd dl, .main .list p, .main .list ul, .main .list ol, .main .list dl {
	margin-top: 0.75em;
	margin-bottom: 0.75em !important;
}

.main li:last-child p, .main li:last-child ul, .main li:last-child ol, .main li:last-child dl,
.main dd:last-child p,
.main dd:last-child ul,
.main dd:last-child ol,
.main dd:last-child dl {
	margin-bottom: 0 !important;
}

.main ul.number {
	list-style: decimal;
}

.main ul.number > li:before {
	content: none;
}

.main dl.number > dt {
	display: list-item;
	list-style: decimal inside;
}

.main .noicon,
.main .nolist {
	list-style: none;
	padding-left: 0;
}

.main .noicon > li,
.main .nolist > li {
	margin: 0;
	line-height: inherit;
}

.main .noicon > li:before,
.main .nolist > li:before {
	content: none;
}

.main ul.grid,
.main ul.grid-box {
	list-style: none;
	padding-left: 0;
}

.main ul.grid li,
.main ul.grid-box li {
	margin-bottom: 0;
}

.main ul.grid li:before,
.main ul.grid-box li:before {
	content: none;
}

.main .inline,
.main dl.inline {
	margin: 0;
	padding: 0;
}

.main .inline:after,
.main dl.inline:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.main .inline li:before {
	content: none;
}

.main .inline li, .main .inline dt, .main .inline dd {
	display: inline-block;
	margin: 0 0.667em 1em 0;
	padding: 0;
	background: none;
}

.main .inline li:last-child, .main .inline dt:last-child, .main .inline dd:last-child {
	margin-right: 0 !important;
}

.main .inline.anchor {
	margin-right: -15px;
}

.main .inline.anchor li {
	margin-right: 2.15em;
}

@media only screen and (max-width: 767px) {
	.main .inline.anchor li {
		margin-right: 1.25em;
	}
}

.main ul.links,
.main dl.links {
	padding-left: 1.5em !important;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	.main ul.links,
	.main dl.links {
		padding-left: 1.5em !important;
	}
}

.main ul.links > li,
.main dl.links dt {
	position: relative;
}

.main ul.links > li:before,
.main dl.links dt:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/ico-caret-right@2x.png") no-repeat center;
	background-size: contain;
	width: 0.75em;
	height: 1em;
	margin-top: -0.5em;
	top: 0.875em;
	right: 100%;
	margin-right: 0.667em;
}

@media only screen and (max-width: 767px) {
	.main ul.links > li:before,
	.main dl.links dt:before {
		width: 0.8em;
		height: 1.067em;
		margin-top: -0.5335em;
	}
}

.ie .main ul.links > li:before, .ie
.main dl.links dt:before {
	top: 0.75em;
}

.ie8 .main ul.links > li:before, .ie8
.main dl.links dt:before {
	background-image: url("../img/ico-caret-right.png");
}

.main dl.links dt {
	font-weight: 500;
}

.main dl.links dt a {
	font-weight: bold;
}

.main dl.links dd {
	font-size: 93.8%;
}

@media only screen and (max-width: 767px) {
	.main dl.links dd {
		font-size: 93.4%;
	}
}

.main dl.normal > dd,
.main dl.normal > div > dd {
	padding-left: 1.563em;
}

@media only screen and (max-width: 479px) {
	.main dl.normal > dd,
	.main dl.normal > div > dd {
		padding-left: 1.534em;
	}
}

.main .toc {
	padding-left: 0;
}

.main .toc li, .main .toc dd {
	margin-bottom: 0.5em;
}

.main .toc > li,
.main .toc > dt {
	margin-top: 0.5em;
	padding-top: 0.5em;
	border-top: 1px solid #D3D3D3;
}

.ie .main .toc > li, .ie
.main .toc > dt {
	margin-top: 0.5em;
	padding-top: 0.5em;
}

.main .toc > li:first-child,
.main .toc > dt:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top: 0;
}

.main .toc > li:before,
.main .toc > dt:before {
	content: none;
}

.main .toc > li p, .main .toc > li ul, .main .toc > li ol, .main .toc > li dl,
.main .toc > dd p,
.main .toc > dd ul,
.main .toc > dd ol,
.main .toc > dd dl {
	margin-top: 0.5em;
}

.main .toc > li ul li,
.main .toc > dd ul li {
	list-style: disc;
}

.main .toc > li ul li:before,
.main .toc > dd ul li:before {
	content: none;
}

.main ol.toc {
	list-style-position: inside;
}

.main ol.toc > li {
	padding-left: 0;
}

.main dl.div {
	padding-bottom: 1.125em;
	border-bottom: 1px solid #D3D3D3;
}

.main dl.div > dt:first-child,
.main dl.div > dd + dt {
	margin-top: 1.125em;
	padding-top: 1.125em;
	border-top: 1px solid #D3D3D3;
}

.ie .main dl.div > dt:first-child, .ie
.main dl.div > dd + dt {
	margin-top: 1.125em;
	padding-top: 1.125em;
}

.main dl > div {
	padding: 1.125em 0;
	border-bottom: 1px solid #D3D3D3;
}

.main dl > div:first-child {
	border-top: 1px solid #D3D3D3;
}

html[lang="ja"] .main dl.cols {
	text-align: left;
}

html[lang="ja"] .main dl.cols > dt {
	float: left;
	clear: left;
	margin-left: 0;
	margin-right: 0.5em;
}

@media only screen and (max-width: 479px) {
	html[lang="ja"] .main dl.cols > dt {
		float: none;
		width: auto !important;
		margin-right: 0;
	}
}

html[lang="ja"] .main dl.cols > dd {
	overflow: hidden;
	margin-top: 0;
}

@media only screen and (max-width: 479px) {
	html[lang="ja"] .main dl.cols > dd {
		overflow: visible;
		margin-left: 0 !important;
	}
}

html[lang="ja"] .main dl.cols dl {
	padding-left: 0;
}

@media (min-width: 480px) {
	html[lang="ja"] .main dl.cols dl dt:before {
		content: none;
	}
}

@media only screen and (max-width: 479px) {
	html[lang="ja"] .main dl.cols dl {
		padding-left: 2em;
	}
}

html[lang="ja"] .main .em0 > dt {
	float: none;
	width: auto;
	margin-right: 0;
}

html[lang="ja"] .main .em0 > dd {
	overflow: visible;
	margin-left: 0;
}

html[lang="ja"] .main .em1 > dt {
	width: 1em;
}

html[lang="ja"] .main .em1 > dd {
	margin-left: 2em;
}

html[lang="ja"] .main .em2 > dt {
	width: 2em;
}

html[lang="ja"] .main .em2 > dd {
	margin-left: 3em;
}

html[lang="ja"] .main .em3 > dt {
	width: 3em;
}

html[lang="ja"] .main .em3 > dd {
	margin-left: 4em;
}

html[lang="ja"] .main .em4 > dt {
	width: 4em;
}

html[lang="ja"] .main .em4 > dd {
	margin-left: 5em;
}

html[lang="ja"] .main .em5 > dt {
	width: 5em;
}

html[lang="ja"] .main .em5 > dd {
	margin-left: 6em;
}

html[lang="ja"] .main .em6 > dt {
	width: 6em;
}

html[lang="ja"] .main .em6 > dd {
	margin-left: 7em;
}

html[lang="ja"] .main .em7 > dt {
	width: 7em;
}

html[lang="ja"] .main .em7 > dd {
	margin-left: 8em;
}

html[lang="ja"] .main .em8 > dt {
	width: 8em;
}

html[lang="ja"] .main .em8 > dd {
	margin-left: 9em;
}

html[lang="ja"] .main .em9 > dt {
	width: 9em;
}

html[lang="ja"] .main .em9 > dd {
	margin-left: 10em;
}

html[lang="ja"] .main .em10 > dt {
	width: 10em;
}

html[lang="ja"] .main .em10 > dd {
	margin-left: 11em;
}

html[lang="ja"] .main .em11 > dt {
	width: 11em;
}

html[lang="ja"] .main .em11 > dd {
	margin-left: 12em;
}

html[lang="ja"] .main .em12 > dt {
	width: 12em;
}

html[lang="ja"] .main .em12 > dd {
	margin-left: 13em;
}

html[lang="ja"] .main .em13 > dt {
	width: 13em;
}

html[lang="ja"] .main .em13 > dd {
	margin-left: 14em;
}

html[lang="ja"] .main .em14 > dt {
	width: 14em;
}

html[lang="ja"] .main .em14 > dd {
	margin-left: 15em;
}

html[lang="ja"] .main .em15 > dt {
	width: 15em;
}

html[lang="ja"] .main .em15 > dd {
	margin-left: 16em;
}

html[lang="ja"] .main .em16 > dt {
	width: 16em;
}

html[lang="ja"] .main .em16 > dd {
	margin-left: 17em;
}

html[lang="ja"] .main .em17 > dt {
	width: 17em;
}

html[lang="ja"] .main .em17 > dd {
	margin-left: 18em;
}

html[lang="ja"] .main .em18 > dt {
	width: 18em;
}

html[lang="ja"] .main .em18 > dd {
	margin-left: 19em;
}

html[lang="ja"] .main .em19 > dt {
	width: 19em;
}

html[lang="ja"] .main .em19 > dd {
	margin-left: 20em;
}

html[lang="ja"] .main .em20 > dt {
	width: 20em;
}

html[lang="ja"] .main .em20 > dd {
	margin-left: 21em;
}

@media only screen and (max-width: 767px) {
	html[lang="ja"] .main .em0-sp > dt {
		float: none;
		width: auto;
		margin-right: 0;
	}
	html[lang="ja"] .main .em0-sp > dd {
		overflow: visible;
		margin-left: 0;
	}
	html[lang="ja"] .main .em1-sp > dt {
		width: 1em;
	}
	html[lang="ja"] .main .em1-sp > dd {
		margin-left: 2em;
	}
	html[lang="ja"] .main .em2-sp > dt {
		width: 2em;
	}
	html[lang="ja"] .main .em2-sp > dd {
		margin-left: 3em;
	}
	html[lang="ja"] .main .em3-sp > dt {
		width: 3em;
	}
	html[lang="ja"] .main .em3-sp > dd {
		margin-left: 4em;
	}
	html[lang="ja"] .main .em4-sp > dt {
		width: 4em;
	}
	html[lang="ja"] .main .em4-sp > dd {
		margin-left: 5em;
	}
	html[lang="ja"] .main .em5-sp > dt {
		width: 5em;
	}
	html[lang="ja"] .main .em5-sp > dd {
		margin-left: 6em;
	}
	html[lang="ja"] .main .em6-sp > dt {
		width: 6em;
	}
	html[lang="ja"] .main .em6-sp > dd {
		margin-left: 7em;
	}
	html[lang="ja"] .main .em7-sp > dt {
		width: 7em;
	}
	html[lang="ja"] .main .em7-sp > dd {
		margin-left: 8em;
	}
	html[lang="ja"] .main .em8-sp > dt {
		width: 8em;
	}
	html[lang="ja"] .main .em8-sp > dd {
		margin-left: 9em;
	}
	html[lang="ja"] .main .em9-sp > dt {
		width: 9em;
	}
	html[lang="ja"] .main .em9-sp > dd {
		margin-left: 10em;
	}
	html[lang="ja"] .main .em10-sp > dt {
		width: 10em;
	}
	html[lang="ja"] .main .em10-sp > dd {
		margin-left: 11em;
	}
	html[lang="ja"] .main .em11-sp > dt {
		width: 11em;
	}
	html[lang="ja"] .main .em11-sp > dd {
		margin-left: 12em;
	}
	html[lang="ja"] .main .em12-sp > dt {
		width: 12em;
	}
	html[lang="ja"] .main .em12-sp > dd {
		margin-left: 13em;
	}
	html[lang="ja"] .main .em13-sp > dt {
		width: 13em;
	}
	html[lang="ja"] .main .em13-sp > dd {
		margin-left: 14em;
	}
	html[lang="ja"] .main .em14-sp > dt {
		width: 14em;
	}
	html[lang="ja"] .main .em14-sp > dd {
		margin-left: 15em;
	}
	html[lang="ja"] .main .em15-sp > dt {
		width: 15em;
	}
	html[lang="ja"] .main .em15-sp > dd {
		margin-left: 16em;
	}
	html[lang="ja"] .main .em16-sp > dt {
		width: 16em;
	}
	html[lang="ja"] .main .em16-sp > dd {
		margin-left: 17em;
	}
	html[lang="ja"] .main .em17-sp > dt {
		width: 17em;
	}
	html[lang="ja"] .main .em17-sp > dd {
		margin-left: 18em;
	}
	html[lang="ja"] .main .em18-sp > dt {
		width: 18em;
	}
	html[lang="ja"] .main .em18-sp > dd {
		margin-left: 19em;
	}
	html[lang="ja"] .main .em19-sp > dt {
		width: 19em;
	}
	html[lang="ja"] .main .em19-sp > dd {
		margin-left: 20em;
	}
	html[lang="ja"] .main .em20-sp > dt {
		width: 20em;
	}
	html[lang="ja"] .main .em20-sp > dd {
		margin-left: 21em;
	}
}

/* 表・テーブル */
main table {
	border-bottom: 1px solid #D3D3D3;
}

main table th, main table td {
	padding: 1em 16px;
	border-top: 1px solid #D3D3D3;
	vertical-align: top;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	main table th, main table td {
		padding: 1em 12px;
	}
}

main table th > :first-child, main table td > :first-child {
	margin-top: 0 !important;
}

main table th {
	font-weight: bold;
}

main table thead th, main table thead td, main table tfoot th, main table tfoot td {
	text-align: center;
}

main table[border="1"] {
	border: 1px solid #D3D3D3;
}

main table[border="1"] th, main table[border="1"] td {
	border: 1px solid #D3D3D3;
}

main table[border="0"] {
	border: 0;
}

main table[border="0"] th, main table[border="0"] td {
	padding: 0 0 1em 32px;
	border: 0;
}

@media only screen and (max-width: 767px) {
	main table[border="0"] th, main table[border="0"] td {
		padding-left: 24px;
	}
}

main table[border="0"] th:first-child, main table[border="0"] td:first-child {
	padding-left: 0;
}

@media only screen and (max-width: 767px) {
	main table.block-sp {
		display: block;
		border: 0;
	}
	main table.block-sp tbody, main table.block-sp thead, main table.block-sp tfoot,
	main table.block-sp tr, main table.block-sp th, main table.block-sp td {
		display: block;
	}
	main table.block-sp tr {
		margin-top: 1em;
	}
	main table.block-sp th {
		padding: 0.5em 12px;
	}
	main table.block-sp[border="0"] tr {
		margin-top: 1.2em;
	}
	main table.block-sp[border="0"] th, main table.block-sp[border="0"] td {
		margin: 0.4em 0;
		padding: 0;
		border: 0;
	}
	main table.block-sp[border="0"] td {
		padding-left: 12px;
	}
	main table.block-sp[border="1"] th, main table.block-sp[border="1"] td {
		border-top-width: 0;
	}
	main table.block-sp[border="1"] th:first-child, main table.block-sp[border="1"] td:first-child {
		border-top-width: 1px;
	}
}

/*------------------------------------------------
	Layout
------------------------------------------------*/
.wrapper {
	position: relative;
	clear: both;
	display: block;
}

.container {
	position: relative;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: block;
	width: 1120px;
	margin: 0 auto;
	padding: 0;
}

@media (max-width: 1199px) {
	.container {
		width: 95%;
	}
}

@media (max-width: 979px) {
	.container {
		width: auto;
		padding-left: 2.5% !important;
		padding-right: 2.5% !important;
	}
}

@media only screen and (max-width: 767px) {
	.container {
		width: auto;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

@media only screen and (max-width: 479px) {
	.container {
		width: auto;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

/*------------------------------------------------
	Main
------------------------------------------------*/
main {
	min-height: 300px;
	text-align: center;
	padding-bottom: 1px;
}

/*------------------------------------------------
	Contents
------------------------------------------------*/
#contents {
	width: 780px;
}

@media (max-width: 1199px) {
	#contents {
		width: 780px;
	}
}

@media (max-width: 979px) {
	#contents {
		width: auto;
	}
}

#contents {
	margin: 3em auto 80px;
}

@media only screen and (max-width: 767px) {
	#contents {
		margin-top: 2.134em;
		margin-bottom: 66px;
	}
}

/*------------------------------------------------
	ヘッダー
------------------------------------------------*/
#header {
	background: #fff;
	color: #2C2C2C;
}

#header > .container {
	padding-top: 12px;
	padding-bottom: 0;
}

@media (max-width: 979px) {
	#header > .container {
		display: block;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

@media only screen and (max-width: 767px) {
	#header > .container {
		height: 62px;
		height: calc(43px + 1.188em);
	}
}

#header > .container:after {
	content: none;
}

#header > .container > #menu {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

#header > .container > #menu .wrapper {
	clear: none;
}

#header > .container > .site-title {
	float: left;
}

@media (max-width: 979px) {
	#header > .container > .site-title {
		float: none;
	}
}

#header > .container .container {
	position: static !important;
	width: auto;
	height: auto;
}

@media (min-width: 1200px) {
	#header > .container .container {
		display: block !important;
	}
}

#header a {
	color: #2C2C2C;
	text-decoration: none;
}

#header .site-title {
	position: relative;
	z-index: 2;
	float: left;
	min-height: 48px;
	left: 1px;
	top: -2px;
	text-align: left;
	font-size: 150%;
	line-height: 1.25;
}

@media only screen and (max-width: 767px) {
	#header .site-title {
		font-size: 125%;
		line-height: 1.25;
	}
}

@media (max-width: 979px) {
	#header .site-title {
		left: 0;
		top: 0;
		min-height: 0;
	}
}

@media only screen and (max-width: 767px) {
	#header .site-title {
		float: none;
		text-align: center;
	}
}

#header .site-title a {
	position: relative;
	display: inline-block;
	outline-offset: 1px;
	color: #008070;
	text-decoration: none;
	vertical-align: top;
}

@media (max-width: 979px) {
	#header .site-title a {
		padding: 2px 0 1px;
	}
}

@media only screen and (max-width: 767px) {
	#header .site-title a {
		padding: 4px 0 1px;
	}
}

#header .site-title img {
	position: relative;
	vertical-align: top;
}

@media (max-width: 979px) {
	#header .site-title img {
		vertical-align: top;
	}
}

@media only screen and (max-width: 767px) {
	#header .site-title img {
		width: auto;
		height: 37px;
	}
}

@media (min-width: 980px) {
	#menu {
		display: block !important;
	}
}

#header-ext {
	position: relative;
	margin: 12px 0;
	text-align: right;
	font-size: 81.3%;
	line-height: 1;
}

@media (max-width: 979px) {
	#header-ext {
		margin: 0;
		text-align: center;
	}
}

#header-ext ul {
	margin: 0;
}

#header-ext li {
	display: inline-block;
	padding-left: 0.462em;
}

#header-ext li:first-child {
	padding-left: 0;
}

#header-ext li:last-child {
	padding-right: 0;
}

#header-ext a {
	display: inline-block;
	padding: 0 0.308em;
	vertical-align: top;
}

#header-ext a:hover, #header-ext a:active, #header-ext a:focus {
	text-decoration: underline;
}

#header-ext a:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-arrow-right@2x.png") no-repeat center;
	background-size: contain;
	width: 8px;
	height: 10px;
	margin-right: 0.5em;
}

.ie8 #header-ext a:before {
	background-image: url("../img/ico-arrow-right.png");
}

#header-ext a.icon {
	position: relative;
	z-index: 20;
	min-width: 2em;
	height: 1em;
}

#header-ext a.icon:before {
	content: none;
	display: none;
}

#header-ext a.icon img {
	position: absolute;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	top: -0.5em;
	left: 0;
	width: 1em;
	height: 1em;
	padding: 0.5em;
}

#header-ext a.search:before {
	background-image: url(../img/ico-search.svg);
	width: 1em;
	height: 1em;
}

/*------------------------------------------------
	グローバルナビ ゲーション
------------------------------------------------*/
#header-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	clear: both;
	min-width: 0;
	min-height: 0;
}

@media (max-width: 979px) {
	#header-nav {
		background: #fff;
		color: #000;
	}
}

@media (max-width: mini2) {
	#header-nav {
		display: block;
	}
}

#header-nav > .container {
	min-height: 0;
	padding-bottom: 0;
	background: none;
}

#header-nav > .menu {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}

#header-nav > #header-targets {
	-webkit-box-flex: 0;
	    -ms-flex-positive: 0;
	        flex-grow: 0;
	width: 41.5178571429%;
}

@media (max-width: 979px) {
	#header-nav > #header-targets {
		width: 50%;
	}
}

@media (max-width: mini2) {
	#header-nav > #header-targets {
		width: auto;
	}
}

#header-nav ul.menu {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	font-size: 93.8%;
	line-height: 1.667;
}

@media (max-width: 1119px) {
	#header-nav ul.menu {
		font-size: 87.5%;
		line-height: 1.786;
	}
}

@media (max-width: 979px) {
	#header-nav ul.menu {
		font-size: 93.8%;
		line-height: 1.667;
	}
}

@media (min-width: 980px) {
	#header-nav ul.menu {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
}

.ie98 #header-nav ul.menu {
	display: table;
}

#header-nav ul.menu:after {
	content: none;
}

#header-nav ul.menu li {
	display: inline-block;
	width: auto;
	margin: 0;
	text-align: left;
	vertical-align: middle;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
}

.ie98 #header-nav ul.menu li {
	display: table-cell;
	width: 15%;
}

.ie98 #header-nav ul.menu li.menu-about {
	width: 25%;
}

#header-nav ul.menu li:first-child {
	border-left: 1px solid #fff;
}

#header-nav ul.menu li.menu-top {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	display: inline-block;
	position: relative;
	z-index: -1;
	left: 5px;
	top: -48px;
	width: 0;
	opacity: 0;
	-webkit-transform: scale(1.15);
	    -ms-transform: scale(1.15);
	        transform: scale(1.15);
	-webkit-transition-property: left, top, width, padding, opacity, -webkit-transform;
	transition-property: left, top, width, padding, opacity, -webkit-transform;
	transition-property: left, top, width, padding, opacity, transform;
	transition-property: left, top, width, padding, opacity, transform, -webkit-transform;
	-webkit-transition-duration: 0.3s;
	        transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

#header-nav ul.menu li.menu-top a {
	padding-bottom: 6px;
}

.scrolling-contents #header-nav ul.menu li.menu-top {
	display: inline-block;
	z-index: 1;
	left: 0;
	top: 0;
	width: 28px;
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	opacity: 1;
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}

.scrolling-contents #header-nav ul.menu li.menu-top a {
	padding: 16px 2px !important;
}

#header-nav ul.menu li.menu-top a:before,
#header-nav ul.menu li.menu-top a:after {
	content: none;
}

@media (max-width: 979px) {
	#header-nav ul.menu li.menu-top {
		display: none !important;
	}
}

#header-nav ul.menu a {
	position: relative;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	display: inline-block;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
	width: auto;
	height: 100%;
	-webkit-transition: padding 0.2s ease-out;
	transition: padding 0.2s ease-out;
	font-weight: bold;
	padding: 0;
	padding-top: 10px;
	padding-bottom: 15px;
}

.ie #header-nav ul.menu a {
	padding-top: 13px;
	padding-bottom: 12px;
}

.scrolling-contents #header-nav ul.menu a {
	padding-top: 18px;
	padding-bottom: 17px;
}

.ie .scrolling-contents #header-nav ul.menu a {
	padding-top: 21px;
	padding-bottom: 14px;
}

.ie98 #header-nav ul.menu a {
	display: block;
}

#header-nav ul.menu a:hover {
	color: rgba(44, 44, 44, 0.85);
}

#header-nav ul.menu a span {
	word-break: keep-all;
}

#header-nav ul.menu a wbr {
	display: inline-block;
}

#header-nav ul.menu a:before, #header-nav ul.menu a:after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 0;
	height: 3px;
	background: #008070;
	color: #fff;
	-webkit-transition: opacity 0.2s ease-out, width 0.2s ease-out;
	transition: opacity 0.2s ease-out, width 0.2s ease-out;
	opacity: 0;
}

@media (max-width: 979px) {
	#header-nav ul.menu a:before, #header-nav ul.menu a:after {
		content: none;
		display: none;
	}
}

#header-nav ul.menu a:before {
	left: 50%;
	left: 0;
}

#header-nav ul.menu a:after {
	right: 50%;
	right: 0;
}

#header-nav ul.menu a:hover, #header-nav ul.menu a:active, #header-nav ul.menu a:focus {
	z-index: 1;
}

#header-nav ul.menu a:hover:before, #header-nav ul.menu a:hover:after, #header-nav ul.menu a:active:before, #header-nav ul.menu a:active:after, #header-nav ul.menu a:focus:before, #header-nav ul.menu a:focus:after {
	width: 50%;
	opacity: 1;
}

#header-nav ul.menu a:hover:before, #header-nav ul.menu a:active:before, #header-nav ul.menu a:focus:before {
	left: 50%;
}

#header-nav ul.menu a:hover:after, #header-nav ul.menu a:active:after, #header-nav ul.menu a:focus:after {
	right: 50%;
}

#header-nav ul.menu li.current a:before,
#header-nav ul.menu li.current a:after {
	width: 50%;
	height: 3px;
	opacity: 1;
}

#header-nav #header-targets {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

#header-nav #header-targets li {
	text-align: right;
}

#header-targets:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 15px;
	width: 0;
	height: 1.067em;
	border-left: 1px solid #757575;
	-webkit-transition: top 0.2s ease-out;
	transition: top 0.2s ease-out;
}

.scrolling-contents #header-targets:before {
	top: 23px;
}

@media (max-width: 979px) {
	#header-targets:before {
		top: 5%;
		bottom: 5%;
		height: auto;
		border-left-color: #D3D3D3;
	}
}

#header-targets li a span:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/icon/icon-menu-everyone@2x.png") no-repeat center;
	background-size: contain;
	width: 1.6em;
	height: 1.6em;
	margin-right: 8px;
	top: 0;
	vertical-align: top;
}

@media only screen and (max-width: 479px) {
	#header-targets li a span:before {
		display: block;
		margin: 0 auto 4px;
	}
}

#header-targets li.menu-private a span:before {
	width: 1.067em;
	background-image: url("../img/icon/icon-menu-private@2x.png");
}

#header-targets li.menu-local a span:before {
	width: 2.134em;
	background-image: url("../img/icon/icon-menu-local@2x.png");
}

/*------------------------------------------------
	(Mobile時) ヘッダー共通
------------------------------------------------*/
@media (max-width: 979px) {
	#header_bg {
		z-index: 998;
	}
	#header {
		z-index: 1000;
	}
	#menu {
		z-index: 1001;
	}
}

@media (max-width: 979px) {
	#header {
		border-bottom: 1px solid #D3D3D3;
	}
	#header .controls {
		position: absolute;
		top: 14px;
		right: 2.5%;
		z-index: 3;
		margin-right: -7px;
	}
}

@media only screen and (max-width: 979px) and (max-width: 767px) {
	#header .controls {
		top: 10px;
		right: 24px;
	}
}

@media only screen and (max-width: 979px) and (max-width: 479px) {
	#header .controls {
		right: 18px;
	}
}

@media (max-width: 979px) {
	#header #menu {
		position: absolute;
		display: none;
		top: 100%;
		left: 0;
		width: 100%;
		border-top: 1px solid #D3D3D3;
		background: #fff;
		color: #000;
	}
	#header #menu .wrapper {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
}

#header .controls {
	display: none;
}

@media (max-width: 979px) {
	#header .controls {
		display: block !important;
	}
	#header .controls .btn {
		padding: 5px;
		border: 0;
		border-radius: 4px;
		letter-spacing: 0;
		background: #fff;
		-webkit-box-shadow: none;
		        box-shadow: none;
		font-size: 100%;
		line-height: 1.2;
	}
	#header .controls .btn:focus {
		-webkit-box-shadow: 0 0 0 1px #008070;
		        box-shadow: 0 0 0 1px #008070;
	}
	#header .controls .btn img {
		vertical-align: bottom;
	}
}

@media (max-width: 979px) {
	#header-nav ul.menu {
		display: block;
		width: auto;
		margin: 0;
		padding: 0 5%;
		border: 0;
		font-size: 93.8%;
		line-height: 1.667;
	}
	#header-nav ul.menu li {
		display: block;
		width: auto;
	}
	#header-nav ul.menu li + li {
		border-top: 1px solid #D3D3D3;
	}
	#header-nav ul.menu li a {
		display: block;
		width: auto;
		height: auto;
		padding: 19px 0;
		border: 0;
		text-align: center;
		background: none;
		font-weight: 500;
	}
	.ie #header-nav ul.menu li a {
		padding: 22px 0 16px;
	}
	#header-nav ul.menu li a:hover, #header-nav ul.menu li a:active, #header-nav ul.menu li a:focus {
		outline: 0 !important;
		background: #F2FAF9;
	}
	#header-nav ul.menu li.current a {
		font-weight: bold;
	}
}

@media (max-width: 979px) {
	#header-ext {
		padding: 18px 5%;
		border-top: 1px solid #D3D3D3;
		text-align: center;
	}
	#header-ext li {
		margin-top: 9px;
		margin-bottom: 9px;
	}
}

@media (max-width: 979px) {
	#header_bg {
		display: none;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		background: #000;
		background: rgba(0, 0, 0, 0.5);
		color: #fff;
	}
}

/*------------------------------------------------
	固定ヘッダー
------------------------------------------------*/
#header {
	position: relative;
	position: fixed;
	top: 0;
	z-index: 999;
	width: 100%;
	border-bottom: 1px solid #fff;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
	#header {
		position: -webkit-sticky !important;
		position: sticky !important;
	}
}

@media (max-width: 979px) {
	#header[aria-expanded="true"] {
		z-index: 1020;
	}
}

#top {
	padding-top: 111px;
	padding-top: calc(86px + 1.563em);
}

@media (max-width: 979px) {
	#top {
		padding-top: 63px;
		padding-top: calc(21px + 2.625em);
	}
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
	#top {
		padding-top: 0 !important;
	}
}

#header {
	-webkit-transition: top 0.15s ease-out, padding 0.15s ease-out;
	transition: top 0.15s ease-out, padding 0.15s ease-out;
}

#header > .container {
	-webkit-transition: height 0.15s ease-out;
	transition: height 0.15s ease-out;
}

#header .site-title {
	-webkit-transition: padding 0.15s ease-out, opacity 0.3s ease-out, top 0.3s ease-out;
	transition: padding 0.15s ease-out, opacity 0.3s ease-out, top 0.3s ease-out;
	opacity: 1;
}

#header .site-title img {
	-webkit-transition: all 0.15s ease-out;
	transition: all 0.15s ease-out;
}

#header .site-title a {
	-webkit-transition: padding 0.15s ease-out;
	transition: padding 0.15s ease-out;
}

#header .site-title span {
	-webkit-transition: top 0.15s ease-out, height 0.15s ease-out, margin 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out;
	transition: top 0.15s ease-out, height 0.15s ease-out, margin 0.15s ease-out, padding 0.15s ease-out, opacity 0.15s ease-out;
}

#header #header-ext {
	-webkit-transition: top 0.15s ease-out;
	transition: top 0.15s ease-out;
}

#header #header-nav ul.menu a {
	-webkit-transition: padding 0.15s ease-out;
	transition: padding 0.15s ease-out;
}

#header .controls {
	-webkit-transition: top 0.15s ease-out;
	transition: top 0.15s ease-out;
}

@media (min-width: 980px) {
	.scrolling-contents #header {
		-webkit-box-shadow: 0 0 0 1px #D3D3D3;
		        box-shadow: 0 0 0 1px #D3D3D3;
		top: -59px;
	}
	.scrolling-contents #header .site-title {
		top: -10px;
	}
	.scrolling-contents #header #header-ext {
		top: -1em;
	}
}

@media (max-width: 979px) {
	.scrolling-contents #header:not([aria-expanded="true"]) > .container {
		padding-top: 1px;
		padding-bottom: 1px;
		height: 57px;
	}
}

@media only screen and (max-width: 979px) and (max-width: 767px) {
	.scrolling-contents #header:not([aria-expanded="true"]) > .container {
		height: 52px;
	}
}

@media (max-width: 979px) {
	.scrolling-contents #header:not([aria-expanded="true"]) .site-title {
		margin: 3px 0 2px;
	}
	.scrolling-contents #header:not([aria-expanded="true"]) .site-title img {
		margin-top: 0;
	}
	.scrolling-contents #header:not([aria-expanded="true"]) .controls {
		top: 7.5px;
	}
}

@media only screen and (max-width: 979px) and (max-width: 767px) {
	.scrolling-contents #header:not([aria-expanded="true"]) .controls {
		top: 5px;
	}
}

/*------------------------------------------------
	サイトイメージエリア
------------------------------------------------*/
#heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	z-index: 101;
	min-height: 126px;
	text-align: center;
	border: 1px solid #fff;
	border-width: 1px 0;
	background: #EEF4F4 no-repeat center center;
	background-size: cover;
	color: #2C2C2C;
}

@media only screen and (max-width: 767px) {
	#heading {
		min-height: 85px;
		border-width: 0 0 1px;
	}
}

@media print {
	#heading {
		min-height: 0;
	}
}

.About #heading {
	background-image: url("../img/bg/bg-heading-about.jpg?2108");
}

@media (min-width: 1420px) {
	.About #heading {
		background-image: url("../img/bg/bg-heading-about@2x.jpg?2108");
	}
}

@media (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
	.About #heading {
		background-image: url("../img/bg/bg-heading-about@2x.jpg?2108");
	}
}

@media only screen and (max-width: 767px) {
	.About #heading {
		background-image: url("../img/bg/bg-heading-about-sp@2x.jpg?2108");
	}
}

@media (max-width: 375px) {
	.About #heading {
		background-image: url("../img/bg/bg-heading-about-sp.jpg?2108");
	}
}

@media (max-width: 375px) and (-webkit-min-device-pixel-ratio: 2) {
	.About #heading {
		background-image: url("../img/bg/bg-heading-about-sp@2x.jpg?2108");
	}
}

.Roads #heading {
	background-image: url("../img/bg/bg-heading-roads.jpg?2108");
}

@media (min-width: 1420px) {
	.Roads #heading {
		background-image: url("../img/bg/bg-heading-roads@2x.jpg?2108");
	}
}

@media (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
	.Roads #heading {
		background-image: url("../img/bg/bg-heading-roads@2x.jpg?2108");
	}
}

@media only screen and (max-width: 767px) {
	.Roads #heading {
		background-image: url("../img/bg/bg-heading-roads-sp@2x.jpg?2108");
	}
}

@media (max-width: 375px) {
	.Roads #heading {
		background-image: url("../img/bg/bg-heading-roads-sp.jpg?2108");
	}
}

@media (max-width: 375px) and (-webkit-min-device-pixel-ratio: 2) {
	.Roads #heading {
		background-image: url("../img/bg/bg-heading-roads-sp@2x.jpg?2108");
	}
}

.Top #heading {
	height: auto;
	min-height: 368px;
	border-width: 0;
	background-position: center, right 10% center;
	background-image: url("../img/bg/bg-heading-glow.png"), url("../img/bg/bg-heading-top.jpg?2108");
}

@media only screen and (max-width: 767px) {
	.Top #heading {
		min-height: 300px;
		background-position: right bottom 7%;
	}
}

@media (min-width: 1420px) {
	.Top #heading {
		background-image: url("../img/bg/bg-heading-glow@2x.png"), url("../img/bg/bg-heading-top@2x.jpg?2108");
	}
}

@media (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
	.Top #heading {
		background-image: url("../img/bg/bg-heading-glow@2x.png"), url("../img/bg/bg-heading-top@2x.jpg?2108");
	}
}

@media only screen and (max-width: 767px) {
	.Top #heading {
		background-image: url("../img/bg/bg-heading-top-sp@2x.jpg?2108");
	}
}

@media (max-width: 375px) {
	.Top #heading {
		background-image: url("../img/bg/bg-heading-top-sp.jpg?2108");
	}
}

@media (max-width: 375px) and (-webkit-min-device-pixel-ratio: 2) {
	.Top #heading {
		background-image: url("../img/bg/bg-heading-top-sp@2x.jpg?2108");
	}
}

.About #heading,
.Roads #heading {
	height: 210px;
	border-width: 0;
}

@media only screen and (max-width: 767px) {
	.About #heading,
	.Roads #heading {
		height: 103px;
		background-position: center;
	}
}

.About #heading {
	background-color: #008070;
	color: #fff;
}

.About #heading h1 {
	color: #fff;
}

#heading .container {
	max-width: 100%;
	padding-top: 40px;
	padding-bottom: 39px;
	background: none;
}

@media (max-width: 979px) {
	#heading .container {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	#heading .container {
		padding-top: 26px;
		padding-bottom: 26px;
	}
}

.Top #heading .container {
	padding-top: 61px;
	padding-bottom: 70px;
}

@media only screen and (max-width: 767px) {
	.Top #heading .container {
		padding-top: 30px;
		padding-bottom: 37px;
	}
}

.About #heading .container {
	padding-top: 40px;
	padding-bottom: 40px;
}

@media only screen and (max-width: 767px) {
	.About #heading .container {
		padding-top: 18px;
		padding-bottom: 18px;
	}
}

@media only screen and (max-width: 767px) {
	#heading .container:after {
		content: none;
		display: none;
	}
}

#heading h1, #heading .h1 {
	margin: 0 auto;
	letter-spacing: 0.06em;
	font-weight: bold;
	font-size: 175%;
	line-height: 1.643;
}

@media only screen and (max-width: 767px) {
	#heading h1, #heading .h1 {
		font-size: 146.7%;
		line-height: 1.455;
	}
}

@media only screen and (max-width: 767px) {
	#heading h1, #heading .h1 {
		letter-spacing: 0.03em;
	}
}

.Top #heading h1 {
	letter-spacing: 0;
	text-shadow: 0 0 14px #fff;
	font-size: 225%;
	line-height: 1.5;
}

@media only screen and (max-width: 767px) {
	.Top #heading h1 {
		font-size: 173.4%;
		line-height: 1.539;
	}
}

@media only screen and (max-width: 767px) {
	.Top #heading h1 {
		letter-spacing: 0.05em;
	}
}

.About #heading h1 {
	text-shadow: 0 0 14px #000;
}

.Roads #heading h1 {
	text-shadow: 0 0 14px #fff;
}

#heading .summary {
	max-width: 80%;
	margin: 0.563em auto 1.125em;
}

@media only screen and (max-width: 767px) {
	#heading .summary {
		max-width: 100%;
		margin-top: 0.9em;
	}
}

.Top #heading .summary {
	width: 37em;
	margin: 0.942em auto 0;
	text-shadow: 0 0 10px #fff;
	letter-spacing: 0.04em;
	font-weight: bold;
	font-size: 106.3%;
	line-height: 2;
}

@media only screen and (max-width: 767px) {
	.Top #heading .summary {
		font-size: 100%;
		line-height: 1.934;
	}
}

#heading .nav {
	margin-top: 1.969em !important;
}

@media only screen and (max-width: 767px) {
	#heading .nav {
		margin-top: 1.4em !important;
	}
}

@media only screen and (max-width: 767px) {
	#heading a.btn {
		padding-top: 15.5px;
		padding-bottom: 15.5px;
		font-size: 100%;
		line-height: 1.734;
	}
}

#toc .wrapper {
	margin-top: -1px;
	padding-top: 1px;
	border-top: 1px solid #D3D3D3;
	border-bottom: 1px solid #D3D3D3;
	background: #fff;
}

@media (max-width: 979px) {
	#toc .wrapper {
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
	}
}

#toc.heading .wrapper {
	margin-top: 0;
	padding-top: 0;
	border-color: #008070 !important;
	background: #008070 !important;
	color: #fff;
}

#toc.heading .wrapper a {
	color: #fff;
}

#toc .container {
	padding-top: 13px;
	padding-bottom: 13px;
}

#toc .container .ie {
	padding-top: 16px;
	padding-bottom: 10px;
}

@media (max-width: 979px) {
	#toc .container {
		padding-top: 23px;
		padding-bottom: 22px;
	}
}

.ready #toc .container {
	-webkit-transition: padding 0.15s ease-out;
	transition: padding 0.15s ease-out;
}

#toc.heading .container {
	padding-top: 5px;
	padding-bottom: 5px;
}

#toc.heading .container .ie {
	padding-top: 8px;
	padding-bottom: 2px;
}

@media (max-width: 979px) {
	#toc.heading .container {
		padding-top: 23px;
		padding-bottom: 22px;
	}
}

#toc .anchor {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center !important;
	list-style: none;
	font-size: 100%;
	line-height: 1.625;
	min-height: 3.875em;
	margin: 0;
	padding: 0;
	letter-spacing: 0.04em;
	font-weight: bold;
}

@media (max-width: 1199px) {
	#toc .anchor {
		font-size: 93.8%;
		line-height: 1.734;
		min-height: 4.134em;
	}
}

@media (max-width: 979px) {
	#toc .anchor {
		font-size: 100%;
		line-height: 1;
	}
}

@media (max-width: 979px) {
	#toc .anchor {
		display: block;
		min-height: 0;
		white-space: nowrap;
		word-break: normal;
		overflow-wrap: normal;
		margin-left: -1em;
		letter-spacing: -0.4em;
	}
	#toc .anchor li, #toc .anchor dt, #toc .anchor dd {
		letter-spacing: 0;
	}
	#toc .anchor wbr {
		display: none;
	}
}

.ie #toc .anchor {
	height: 3.875em;
}

@media (max-width: 979px) {
	.ie #toc .anchor {
		height: auto;
	}
}

.ie98 #toc .anchor {
	display: table;
	width: 100%;
}

@media (max-width: 979px) {
	.ie98 #toc .anchor {
		display: block;
		width: auto;
	}
}

#toc.heading .anchor {
	font-size: 93.8%;
	line-height: 1.734;
	min-height: 3.867em;
}

@media (max-width: 979px) {
	#toc.heading .anchor {
		min-height: 0;
		font-size: 100%;
		line-height: 1;
	}
}

.ie #toc.heading .anchor {
	height: 3.9em;
}

@media (max-width: 979px) {
	.ie #toc.heading .anchor {
		height: auto;
	}
}

#toc .anchor li, #toc .anchor dt, #toc .anchor dd {
	display: inline-block;
}

#toc .anchor > li,
#toc .anchor > dt,
#toc .anchor > dd {
	position: relative;
	margin: 0;
	padding: 0 24px;
	line-height: inherit;
	text-align: center;
}

@media (max-width: 979px) {
	#toc .anchor > li,
	#toc .anchor > dt,
	#toc .anchor > dd {
		display: inline-block;
		text-align: left;
		margin: 0;
		padding: 0 1em;
		border-right: 1px solid #757575;
		line-height: 1;
	}
	#toc .anchor > li:last-child,
	#toc .anchor > dt:last-child,
	#toc .anchor > dd:last-child {
		border-right: 0;
	}
}

.ie98 #toc .anchor > li, .ie98
#toc .anchor > dt, .ie98
#toc .anchor > dd {
	display: table-cell;
	vertical-align: middle;
}

@media (max-width: 979px) {
	.ie98 #toc .anchor > li, .ie98
	#toc .anchor > dt, .ie98
	#toc .anchor > dd {
		display: inline;
	}
}

#toc .anchor > li:before,
#toc .anchor > dt:before,
#toc .anchor > dd:before {
	content: none;
}

#toc .anchor > li + li:before,
#toc .anchor > dt + dd:before,
#toc .anchor > dd + dt:before {
	content: "";
	position: absolute;
	top: 20%;
	left: 0;
	width: 0;
	height: 60%;
	border-left: 1px solid #757575;
	background: none !important;
}

@media (max-width: 979px) {
	#toc .anchor > li + li:before,
	#toc .anchor > dt + dd:before,
	#toc .anchor > dd + dt:before {
		content: none;
	}
}

.ie98 #toc .anchor > li + li:before, .ie98
#toc .anchor > dt + dd:before, .ie98
#toc .anchor > dd + dt:before {
	top: auto;
	height: 1em;
	margin-top: 0.2em;
}

#toc .anchor > dd {
	padding: 0 0 0 35px;
}

@media (max-width: 979px) {
	#toc .anchor > dd {
		padding: 0 1em;
		border-right: 0;
	}
}

#toc .anchor > dt {
	padding: 0 32px 0 0;
}

@media (max-width: 979px) {
	#toc .anchor > dt {
		margin-left: 1em;
		padding-right: 1.2em;
		border-right: 1px solid #757575;
	}
}

.ie #toc .anchor > dt {
	top: 3px;
}

#toc .anchor > dt + dd,
#toc .anchor > dd + dt {
	padding-left: 32px;
}

@media (max-width: 979px) {
	#toc .anchor > dt + dd,
	#toc .anchor > dd + dt {
		padding-left: 1.2em;
	}
}

#toc .anchor > dt:before {
	margin-right: 15px;
	left: 0;
}

#toc.heading .anchor > li + li:before,
#toc.heading .anchor > dt + dd:before,
#toc.heading .anchor > dd + dt:before {
	border-left-color: #fff;
}

@media (max-width: 979px) {
	#toc.heading .anchor > dt {
		border-right-color: #fff;
	}
}

@media (max-width: 979px) {
	#toc .anchor a {
		display: inline-block;
	}
	#toc .anchor a:before,
	#toc .anchor a:after {
		content: "";
		position: absolute;
		bottom: -23px;
		display: inline-block;
		width: 0;
		height: 3px;
		background: #008070;
		color: #fff;
		-webkit-transition: opacity 0.3s ease-out 0.3s, width 0.3s ease-out 0.3s;
		transition: opacity 0.3s ease-out 0.3s, width 0.3s ease-out 0.3s;
		opacity: 0;
	}
	.ie #toc .anchor a:before, .ie
	#toc .anchor a:after {
		bottom: -19px;
	}
	.scrolling-contents #toc .anchor a:before, .scrolling-contents
	#toc .anchor a:after {
		bottom: -21px;
	}
	.ie .scrolling-contents #toc .anchor a:before, .ie .scrolling-contents
	#toc .anchor a:after {
		bottom: -17px;
	}
	#toc .anchor a:before {
		left: 50%;
		left: 0;
	}
	#toc .anchor a:after {
		right: 50%;
		right: 0;
	}
}

#toc .anchor li.viewing a,
#toc .anchor dd.viewing a {
	color: #2C2C2C;
}

@media (max-width: 979px) {
	#toc .anchor li.viewing a:before,
	#toc .anchor li.viewing a:after,
	#toc .anchor dd.viewing a:before,
	#toc .anchor dd.viewing a:after {
		width: 50%;
		opacity: 1;
	}
	#toc .anchor li.viewing a:before,
	#toc .anchor dd.viewing a:before {
		left: 50%;
	}
	#toc .anchor li.viewing a:after,
	#toc .anchor dd.viewing a:after {
		right: 50%;
	}
}

#toc.heading .anchor li.viewing a,
#toc.heading .anchor dd.viewing a {
	color: #fff;
}

@media (max-width: 979px) {
	#toc.heading .anchor li.viewing a:before,
	#toc.heading .anchor li.viewing a:after,
	#toc.heading .anchor dd.viewing a:before,
	#toc.heading .anchor dd.viewing a:after {
		background: #fff;
		color: #008070;
	}
}

#toc a {
	position: relative;
	display: inline-block;
	text-align: center;
	text-decoration: none;
}

@media (max-width: 979px) {
	#toc a {
		display: inline;
	}
}

#toc a:hover, #toc a:active, #toc a:focus {
	text-decoration: underline;
}

.ie #toc a {
	top: 3px;
}

#toc a:before {
	content: none;
}

#toc a[target="_blank"]:after {
	content: none;
}

#toc.sticky {
	position: relative;
	z-index: 100;
	-webkit-transition: top 0.15s ease-out, padding 0.15s ease-out, border-color 0.15s ease-out;
	transition: top 0.15s ease-out, padding 0.15s ease-out, border-color 0.15s ease-out;
	min-height: 90px;
	min-height: calc(28px + 3.875em);
}

#toc.sticky.heading {
	min-height: 70px;
	min-height: calc(12px + 3.625em);
}

@media (max-width: 979px) {
	#toc.sticky, #toc.sticky.heading {
		min-height: 62px;
		min-height: calc(49px + 0.813em);
	}
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
	#toc.sticky {
		position: -webkit-sticky !important;
		position: sticky !important;
		min-height: 0 !important;
		top: 111px;
	}
	@media (max-width: 979px) {
		#toc.sticky {
			top: 70px;
		}
	}
	@media only screen and (max-width: 767px) {
		#toc.sticky {
			top: 62px;
		}
	}
}

#toc.sticky > .wrapper {
	-webkit-transition: top 0.15s ease-out, padding 0.15s ease-out, border-color 0.15s ease-out;
	transition: top 0.15s ease-out, padding 0.15s ease-out, border-color 0.15s ease-out;
	position: absolute;
	z-index: 1000;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
	#toc.sticky > .wrapper {
		position: relative !important;
		top: 0 !important;
		width: auto;
	}
}

#toc.sticky.heading .wrapper {
	position: fixed;
	top: 111px;
}

@media (max-width: 979px) {
	#toc.sticky.heading .wrapper {
		top: 70px;
	}
}

@media only screen and (max-width: 767px) {
	#toc.sticky.heading .wrapper {
		top: 62px;
	}
}

#toc.sticky + #scrolling {
	-webkit-transition: height 0.15s ease-out, padding 0.15s ease-out;
	transition: height 0.15s ease-out, padding 0.15s ease-out;
}

.scrolling-contents #toc.sticky {
	z-index: 1010;
}

@media (max-width: 979px) {
	.scrolling-contents #toc.sticky {
		border-top-color: #D3D3D3;
	}
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
	.scrolling-contents #toc.sticky {
		top: -1px;
	}
}

.scrolling-contents #toc.sticky .wrapper {
	margin-top: 0;
	padding-top: 0;
}

.scrolling-contents #toc.sticky .container {
	padding-top: 0;
	padding-bottom: 0;
}

@media (max-width: 979px) {
	.scrolling-contents #toc.sticky .container {
		padding-top: 22px;
		padding-bottom: 21px;
	}
}

.scrolling-toc #toc.sticky .wrapper {
	position: fixed;
	top: -1px;
	margin-top: 0;
	padding-top: 0;
}

.ie .scrolling-toc #toc.sticky .wrapper {
	top: 0;
}

@supports ((position: -webkit-sticky) or (position: sticky)) {
	.scrolling-contents.scroll-up #toc.sticky {
		top: 62px;
	}
	@media (max-width: 979px) {
		.scrolling-contents.scroll-up #toc.sticky {
			top: 57px;
		}
	}
	@media only screen and (max-width: 767px) {
		.scrolling-contents.scroll-up #toc.sticky {
			top: 52px;
		}
	}
}

.scrolling-toc.scroll-up #toc.sticky .wrapper {
	top: 62px;
}

@media (max-width: 979px) {
	.scrolling-toc.scroll-up #toc.sticky .wrapper {
		top: 57px;
	}
}

@media only screen and (max-width: 767px) {
	.scrolling-toc.scroll-up #toc.sticky .wrapper {
		top: 52px;
	}
}

/*------------------------------------------------
	ガイドナビゲーション
------------------------------------------------*/
.guide-nav {
	margin: 0;
	padding: 66px 0 54px;
	background: #EEF4F4 url("../img/bg/bg-guide.jpg") no-repeat center;
	background-size: cover;
	color: #2C2C2C;
	text-align: center;
	font-size: 93.8%;
	line-height: 1.734;
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	.guide-nav {
		font-size: 93.8%;
	}
}

@media only screen and (max-width: 767px) {
	.guide-nav {
		font-size: 93.8%;
	}
}

@media only screen and (max-width: 767px) {
	.guide-nav {
		padding: 52px 0 32px;
	}
}

.guide-nav .grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -16.5px;
	margin-right: -16.5px;
}

@supports (display: flex) or (display: -webkit-box) {
	.guide-nav .grid {
		margin-left: -14.5px;
		margin-right: -14.5px;
	}
}

.ie11 .guide-nav .grid {
	margin-left: -14.5px;
	margin-right: -14.5px;
}

.guide-nav .grid > .col {
	padding-left: 14.5px;
	padding-right: 14.5px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.guide-nav .grid > .col {
		display: block;
	}
}

.ie11 .guide-nav .grid > .col {
	display: block;
}

@media (max-width: 979px) {
	.guide-nav .grid > .col {
		padding-left: 1%;
		padding-right: 1%;
	}
}

@media only screen and (max-width: 767px) {
	.guide-nav .grid > .col {
		padding: 14px 0;
	}
}

.guide-nav h2 {
	display: none;
}

.guide-nav h3 {
	max-width: 100%;
	width: 12em;
	margin: 0 auto 0.775em;
	padding: 0;
	letter-spacing: 0.03em;
	font-weight: bold;
	font-size: 133.4%;
	line-height: 1.7;
}

@media (max-width: 979px) {
	.guide-nav h3 {
		font-size: 120%;
		line-height: 1.667;
	}
}

@media only screen and (max-width: 767px) {
	.guide-nav h3 {
		width: auto;
	}
}

@media only screen and (max-width: 479px) {
	.guide-nav h3 {
		width: 12em;
	}
}

.guide-nav section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 49px 12px 55px;
	border: 1px solid #fff;
	background: #fff no-repeat right bottom;
	background-size: auto 100%;
}

@media only screen and (max-width: 767px) {
	.guide-nav section {
		padding: 39px 25px 44px;
	}
}

.guide-nav section :last-child {
	margin-bottom: 0 !important;
}

.guide-nav section p {
	max-width: 100%;
	width: 17.6em;
	min-height: 0%;
	margin: 0 auto 1.5em;
}

@media only screen and (max-width: 767px) {
	.guide-nav section p {
		width: 36em;
		margin-bottom: 1.1em;
	}
}

.guide-nav section p.nav {
	margin-top: auto !important;
}

.guide-nav section a.btn {
	font-size: 93.4%;
	line-height: 1.858;
	padding: 0.786em 1.786em;
	padding-right: 2.786em;
}

@media (max-width: 979px) {
	.guide-nav section a.btn {
		letter-spacing: 0.02em;
	}
}

.ie .guide-nav section a.btn {
	padding-top: 0.929em;
	padding-bottom: 0.643em;
}

.guide-nav section a.btn:after {
	right: 1.786em;
	width: 0.572em;
	height: 0.858em;
	margin-top: -0.429em;
}

.guide-nav section.guide-about {
	background-image: url("../img/bg/bg-guide-about@2x.png");
}

.ie8 .guide-nav section.guide-about {
	background-image: url("../img/bg/bg-guide-about.png");
}

.guide-nav section.guide-roads {
	background-image: url("../img/bg/bg-guide-roads@2x.png");
}

.ie8 .guide-nav section.guide-roads {
	background-image: url("../img/bg/bg-guide-roads.png");
}

.guide-nav section.guide-links {
	background-image: url("../img/bg/bg-guide-links@2x.png");
}

.ie8 .guide-nav section.guide-links {
	background-image: url("../img/bg/bg-guide-links.png");
}

.guide-nav section.guide-ezine {
	background-image: url("../img/bg/bg-guide-ezine@2x.png");
}

.ie8 .guide-nav section.guide-ezine {
	background-image: url("../img/bg/bg-guide-ezine.png");
}

/*------------------------------------------------
	ターゲット別ナビゲーション
------------------------------------------------*/
#target-nav section {
	padding: 33px 12px 43px;
}

#target-nav section p {
	width: 16.8em;
	margin-bottom: 1.234em;
}

@media only screen and (max-width: 767px) {
	#target-nav section p {
		width: 36em;
		margin-bottom: 1.1em;
	}
}

#target-nav section h3 {
	margin-bottom: 0.575em;
}

#target-nav section h3:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img//icon/icon-guide-everyone@2x.png") no-repeat center;
	background-size: contain;
	width: 100px;
	height: 50px;
	display: table;
	margin: 0 auto 12px;
}

#target-nav section.guide-private h3:before {
	background-image: url("../img//icon/icon-guide-private@2x.png");
}

#target-nav section.guide-local h3:before {
	background-image: url("../img//icon/icon-guide-local@2x.png");
}

/*------------------------------------------------
	メールマガジンの紹介
------------------------------------------------*/
#ezine {
	padding-top: 54px;
	padding-bottom: 62px;
	padding-left: 57.5%;
	text-align: left;
	background: url("../img/bg/bg-target-ezine@2x.jpg") no-repeat center center !important;
	background-size: cover !important;
}

.ie #ezine {
	padding-top: 57px;
	padding-bottom: 59px;
}

@media only screen and (max-width: 767px) {
	#ezine {
		padding-top: 59.5px;
		padding-bottom: 66px;
		padding-left: 0;
		text-align: center;
	}
}

#ezine .container {
	width: 476px;
	max-width: 100%;
	margin-left: 0;
	padding-right: 24px;
}

@media (max-width: 979px) {
	#ezine .container {
		width: auto;
		margin-left: auto;
	}
}

#ezine h2 {
	font-size: 112.5%;
	line-height: 1.667;
	margin-bottom: 0.556em;
	color: #00665A;
	font-weight: bold;
}

@media only screen and (max-width: 767px) {
	#ezine h2 {
		font-size: 100%;
		line-height: 1.734;
		margin-bottom: 0.7em;
	}
}

#ezine h2 + .h2 {
	font-size: 137.5%;
	line-height: 1.728;
	margin-top: 0;
	margin-bottom: 0.417em;
	background: none;
	color: #2C2C2C;
	font-weight: bold;
}

@media only screen and (max-width: 767px) {
	#ezine h2 + .h2 {
		font-size: 146.7%;
		line-height: 1.728;
		margin-bottom: 0.478em;
	}
}

#ezine p.text {
	margin-bottom: 1.125em;
}

@media only screen and (max-width: 767px) {
	#ezine p.text {
		padding: 0 1em;
	}
}

#ezine p.nav {
	margin-top: 1.125em;
}

@media only screen and (max-width: 767px) {
	#ezine p.nav {
		margin-top: 1.234em;
	}
}

/*------------------------------------------------
	「ページ先頭へ」部分
------------------------------------------------*/
#backtotop {
	position: relative;
	position: fixed;
	position: -webkit-sticky;
	position: sticky;
	right: 0;
	bottom: 0;
	z-index: 980;
	width: 100%;
	margin: 0;
}

#backtotop.scrolled {
	position: relative;
}

#backtotop a {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: block;
	position: absolute;
	right: 30px;
	bottom: 30px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #fff;
	color: #008070;
	text-align: left;
	text-indent: -9999px;
	-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
	        box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
	opacity: 0;
	-webkit-transition: opacity 0.3s ease-out, bottom 0.3s ease-out, -webkit-box-shadow 0.12s ease-out, -webkit-transform  0.12s ease-out;
	transition: opacity 0.3s ease-out, bottom 0.3s ease-out, -webkit-box-shadow 0.12s ease-out, -webkit-transform  0.12s ease-out;
	transition: opacity 0.3s ease-out, bottom 0.3s ease-out, box-shadow 0.12s ease-out, transform  0.12s ease-out;
	transition: opacity 0.3s ease-out, bottom 0.3s ease-out, box-shadow 0.12s ease-out, transform  0.12s ease-out, -webkit-box-shadow 0.12s ease-out, -webkit-transform  0.12s ease-out;
}

.scrolled #backtotop a {
	opacity: 1;
	-webkit-transition: opacity 0.4s ease-out, bottom 0.3s ease-out, -webkit-box-shadow 0.12s ease-out, -webkit-transform  0.12s ease-out;
	transition: opacity 0.4s ease-out, bottom 0.3s ease-out, -webkit-box-shadow 0.12s ease-out, -webkit-transform  0.12s ease-out;
	transition: opacity 0.4s ease-out, bottom 0.3s ease-out, box-shadow 0.12s ease-out, transform  0.12s ease-out;
	transition: opacity 0.4s ease-out, bottom 0.3s ease-out, box-shadow 0.12s ease-out, transform  0.12s ease-out, -webkit-box-shadow 0.12s ease-out, -webkit-transform  0.12s ease-out;
}

#backtotop a:hover, #backtotop a:active, #backtotop a:focus {
	-webkit-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	        transform: scale(1.1);
}

#backtotop a:focus {
	outline: none !important;
	-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.16), 0 0 0 1px #008070;
	        box-shadow: 0 0 6px rgba(0, 0, 0, 0.16), 0 0 0 1px #008070;
}

#backtotop a:before {
	content: "";
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 14.142px;
	height: 14.142px;
	margin-top: -3.5355678122px;
	margin-left: -7.0711356244px;
	border-top: 3px solid #008070;
	border-left: 3px solid #008070;
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}

.ie8 #backtotop a:before {
	margin-top: -6.6666666667px;
	margin-left: -10px;
	border-width: 0 10px 15px;
	border-style: solid;
	border-color: transparent;
	border-bottom-color: #008070;
}

@media (max-width: 979px) {
	#backtotop {
		position: fixed !important;
	}
	#backtotop a {
		right: 20px;
		bottom: -60px;
		opacity: 0 !important;
	}
	.scroll-up #backtotop a {
		bottom: 30px;
		opacity: 1 !important;
	}
}

/*------------------------------------------------
	フッター
------------------------------------------------*/
#footer {
	background: #414141;
	color: #fff;
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	#footer {
		font-size: 87.5%;
		line-height: 1.715;
	}
}

@media only screen and (max-width: 767px) {
	#footer {
		text-align: center;
	}
}

#footer a {
	color: #fff;
}

#footer a:hover, #footer a:active, #footer a:focus {
	text-decoration: none;
	outline-color: #fff !important;
	outline-offset: 1px;
}

#footer a[target="_blank"]:after {
	background-image: url("../img/ico-outlink-white@2x.png");
}

.ie8 #footer a[target="_blank"]:after {
	background-image: url("../img/ico-outlink-white.png");
}

#footer h2, #footer h3 {
	margin: 0 0 0.4em;
}

@media only screen and (max-width: 767px) {
	#footer h2, #footer h3 {
		margin-bottom: 0.5em;
	}
}

#footer .grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: stretch;
	    -ms-flex-pack: stretch;
	        justify-content: stretch;
	width: 100%;
	padding: 60px 0;
	margin: 0;
}

@media only screen and (max-width: 767px) {
	#footer .grid {
		display: block;
		padding: 44px 0 56px;
	}
}

.ie98 #footer .grid {
	display: table;
}

#footer .col {
	position: relative;
	display: inline-block;
	width: auto;
	padding: 0 2.6785714286% 0 2.9464285714%;
	border-left: 1px solid #757575;
}

@media only screen and (max-width: 767px) {
	#footer .col {
		display: block;
		padding: 0;
		border-left: 0;
	}
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
	#footer .col {
		margin-top: 1.215em;
	}
}

.ie98 #footer .col {
	display: table-cell;
}

@media only screen and (max-width: 767px) {
	.ie98 #footer .col {
		display: block;
	}
}

#footer .col:first-child {
	margin-top: 0;
	padding-left: 0;
	border-left: 0;
}

#footer .col:last-child {
	padding-right: 0;
}

#footer .site-title {
	width: 245px;
}

@media (max-width: 1199px) {
	#footer .site-title {
		width: 21.875%;
	}
}

@media (max-width: 979px) {
	#footer .site-title {
		width: auto;
	}
}

#footer #sitemap {
	min-width: 11em;
	max-width: 50%;
	width: 560px;
}

@media (max-width: 1199px) {
	#footer #sitemap {
		width: 50%;
	}
}

@media (max-width: 979px) {
	#footer #sitemap {
		width: auto;
	}
}

#footer .address {
	width: 315px;
}

@media (max-width: 1199px) {
	#footer .address {
		width: 28.125%;
	}
}

@media (max-width: 979px) {
	#footer .address {
		width: auto;
	}
}

@media only screen and (max-width: 767px) {
	#footer .site-title {
		margin-bottom: 1.786em;
	}
}

#footer .site-title img {
	max-width: 100%;
	width: 8.875em;
	height: auto;
	vertical-align: top;
	font-weight: bold;
	font-size: 160%;
	line-height: 1.25;
}

@media only screen and (max-width: 767px) {
	#footer .site-title img {
		font-size: 142.9%;
		line-height: 1.25;
	}
}

@media only screen and (max-width: 767px) {
	#footer .site-title img {
		width: 10.65em;
	}
}

#footer .site-title span {
	display: block;
	margin-bottom: 0.367em;
}

@media only screen and (max-width: 767px) {
	#footer .site-title span {
		margin-bottom: 0.643em;
	}
}

#footer #sitemap {
	padding-right: 0;
}

@media only screen and (max-width: 767px) {
	#footer #sitemap {
		min-width: 0;
		max-width: none;
	}
}

#footer #sitemap:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

#footer #sitemap ul {
	float: left;
	width: 50%;
	padding-right: 20px;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#footer #sitemap ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		float: none;
		width: auto;
		margin: 0 -12px;
		padding-left: 0;
	}
	#footer #sitemap li {
		width: 50%;
		padding: 0 12px;
	}
	#footer #sitemap li + li + li a,
	#footer #sitemap ul + ul > li a {
		border-top: 1px solid #757575;
	}
}

#footer #sitemap a {
	display: inline-block;
	padding-left: 29px;
	text-decoration: none;
}

#footer #sitemap a:hover, #footer #sitemap a:active, #footer #sitemap a:focus {
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	#footer #sitemap a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		line-height: 1.4285714286;
		min-height: 4.858em;
		height: 100%;
		padding: 0.938em 0;
	}
}

#footer #sitemap a:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-arrow-footer-right@2x.png") no-repeat center;
	background-size: contain;
	width: 17px;
	height: 17px;
	min-width: 17px;
	margin-right: 12px;
	margin-left: -29px;
}

@media only screen and (max-width: 767px) {
	#footer #sitemap a:before {
		margin-left: 0;
		margin-right: 10px;
	}
}

.ie8 #footer #sitemap a:before {
	background-image: url("../img/ico-arrow-footer-right.png");
}

#footer .address address span {
	display: block;
}

@media only screen and (max-width: 767px) {
	#footer .address address .map, #footer .address address .contact {
		display: inline-block;
		margin: 0 0.3333333333em;
	}
}

#footer .sns {
	min-width: 110px;
	-ms-flex-negative: 1;
	    flex-shrink: 1;
	-webkit-box-flex: 1;
	    -ms-flex: 1 2;
	        flex: 1 2;
}

@media only screen and (max-width: 767px) {
	#footer .sns {
		margin-top: 1.75em;
	}
}

#footer .sns h3, #footer .sns h4 {
	margin: 0 0 0.667em;
}

@media only screen and (max-width: 767px) {
	#footer .sns h3, #footer .sns h4 {
		margin-bottom: 1.072em;
	}
}

#footer .sns li {
	display: inline-block;
	margin-right: 0.6em;
}

#footer .sns li:last-child {
	margin-right: 0;
}

#footer .sns a:after {
	content: none;
}

#footer .sns img.ico {
	margin-bottom: 1em;
	width: 1.667em;
	height: 1.667em;
}

@media only screen and (max-width: 767px) {
	#footer .sns img.ico {
		margin-bottom: 0;
		width: 30px;
		height: 30px;
	}
}

#footer .address .sns {
	margin-top: 0.934em;
}

@media only screen and (max-width: 767px) {
	#footer .address .sns {
		margin-top: 1.143em;
	}
}

#copyright {
	padding: 22px 0;
	background: #fff;
	color: #2C2C2C;
	text-align: right;
}

@media only screen and (max-width: 767px) {
	#copyright {
		padding: 25px 0;
		text-align: center;
	}
}

#copyright .logo {
	float: left;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#copyright .logo {
		float: none;
		text-align: center;
		margin-bottom: 1.072em;
	}
}

#copyright .logo a:after {
	content: none;
}

#copyright .copyright {
	padding: 0.8em 0;
}

@media only screen and (max-width: 767px) {
	#copyright .copyright {
		padding: 0;
	}
}

/* テキストの折り返し設定 */
.wrap,
.wrap2 {
	word-break: keep-all !important;
}

.wrap .nowrap,
.wrap2 .nowrap {
	display: inline-block;
	white-space: nowrap;
}

.wrap wbr + .nowrap, .wrap .wbr + .nowrap, .wrap .nowrap:first-child,
.wrap2 wbr + .nowrap,
.wrap2 .wbr + .nowrap,
.wrap2 .nowrap:first-child {
	display: inline;
}

.wrap wbr, .wrap .wbr,
.wrap2 wbr,
.wrap2 .wbr {
	display: inline-block;
}

a.wrap {
	display: inline-block;
}

.not_ws {
	white-space: normal !important;
}

@media only screen and (max-width: 767px) {
	.wrap2,
	.not_ws_sp,
	html[lang="en"] .wrap {
		word-break: normal !important;
		white-space: normal !important;
	}
	.wrap2 .nowrap,
	.not_ws_sp .nowrap,
	html[lang="en"] .wrap .nowrap {
		display: inline !important;
		white-space: normal !important;
	}
}

@media (max-width: 1199px) {
	.not_ws_tab {
		word-break: normal !important;
		white-space: normal !important;
	}
	.not_ws_tab .nowrap {
		display: inline !important;
		white-space: normal !important;
	}
}

/*------------------------------------------------
	フォーム入力要素
------------------------------------------------*/
main input.text.hasvalue:hover, main input.text:focus {
	background-image: none !important;
}

/*------------------------------------------------
	ボタン関係
------------------------------------------------*/
button img,
.btn img {
	vertical-align: bottom;
}

.btn,
a.btn {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: inline-block;
	padding: 11px 1.25em 11px 1em;
	border-radius: 4em;
	border: 1px solid #C1C1C1;
	background: #fff;
	color: #2C2C2C;
	text-decoration: none;
	text-shadow: none;
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0.03em;
	font-weight: bold;
	cursor: pointer;
	font-size: 100%;
	line-height: 1.625;
}

.ie .btn, .ie
a.btn {
	padding: 14px 1.25em 8px 1em;
}

@media only screen and (max-width: 767px) {
	.btn,
	a.btn {
		font-size: 100%;
		line-height: 1.734;
	}
}

@media only screen and (max-width: 767px) {
	.btn,
	a.btn {
		padding: 10.5px 0.934em 9.5px 0.8em;
	}
	.ie .btn, .ie
	a.btn {
		padding: 13.5px 0.934em 6.5px 0.8em;
	}
}

.btn:hover, .btn:active, .btn:focus,
a.btn:hover,
a.btn:active,
a.btn:focus {
	border-color: #008070;
}

.btn:focus,
a.btn:focus {
	outline: none !important;
}

.btn + .btn,
a.btn + .btn {
	margin-left: 0.5em;
}

.btn {
	position: relative;
}

.btn[target="_blank"]:after {
	white-space: nowrap;
	margin-left: 0.723em;
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-outlink@2x.png") no-repeat center !important;
	background-size: contain !important;
	width: 1rem !important;
	height: 1rem !important;
}

@media only screen and (max-width: 767px) {
	.btn[target="_blank"]:after {
		margin-left: 0.875em;
	}
}

.ie8 .btn[target="_blank"]:after {
	background-image: url("../img/ico-outlink.png", !important);
}

.btn.more:after {
	margin-left: 0.471em;
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-angle-down@2x.png") no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
}

@media only screen and (max-width: 767px) {
	.btn.more:after {
		margin-left: 0.5em;
	}
}

.ie8 .btn.more:after {
	background-image: url("../img/ico-angle-down.png");
}

.btn.detail, .btn.submit {
	border-color: #008070;
	background: #008070;
	color: #fff;
}

.btn.detail:hover, .btn.detail:active, .btn.detail:focus, .btn.submit:hover, .btn.submit:active, .btn.submit:focus {
	border-color: #155A4E;
	background: #155A4E;
	color: #fff;
}

.btn.detail[target="_blank"]:after, .btn.submit[target="_blank"]:after {
	background-image: url("../img/ico-outlink-white@2x.png") !important;
}

.ie8 .btn.detail[target="_blank"]:after, .ie8 .btn.submit[target="_blank"]:after {
	background-image: url("../img/ico-outlink-white.png") !important;
}

.btn.disabled, .btn.disabled:hover, .btn:disabled {
	border-color: #757575;
	background: #757575;
	color: #fff;
	cursor: not-allowed;
	-webkit-box-shadow: none;
	        box-shadow: none;
}

.btn.btn-ex {
	font-size: 112.5%;
	line-height: 1.667;
	padding: 19px 2.056em;
}

.ie .btn.btn-ex {
	padding: 22px 2.056em 16px;
}

.btn.btn-em {
	font-size: 106.3%;
	line-height: 1.765;
	padding: 18.5px 2.177em;
}

.ie .btn.btn-em {
	padding: 21.5px 2.177em 15.5px;
}

@media only screen and (max-width: 767px) {
	.btn.btn-ex, .btn.btn-em {
		font-size: 106.7%;
		line-height: 1.625;
		padding: 22px 2.313em;
	}
	.ie .btn.btn-ex, .ie .btn.btn-em {
		padding: 25px 2.313em 19px;
	}
}

.btn.btn-sm {
	font-size: 93.8%;
	line-height: 1.667;
	padding: 16px 2.467em;
}

@media only screen and (max-width: 767px) {
	.btn.btn-sm {
		font-size: 100%;
	}
}

.ie .btn.btn-sm {
	padding: 19px 2.467em 13px;
}

.nav a.btn:not(.link) {
	padding-right: 3.445em;
}

@media only screen and (max-width: 767px) {
	.nav a.btn:not(.link) {
		padding-right: 3.875em;
	}
}

.nav a.btn:not(.link)[target="_blank"] {
	padding-right: 3.723em;
}

@media only screen and (max-width: 767px) {
	.nav a.btn:not(.link)[target="_blank"] {
		padding-right: 4.188em;
	}
}

.nav a.btn:not(.link):after {
	right: 2.056em;
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/ico-angle-right@2x.png") no-repeat center;
	background-size: contain;
	width: 0.625rem;
	height: 1rem;
	margin-top: -0.5rem;
}

@media only screen and (max-width: 767px) {
	.nav a.btn:not(.link):after {
		right: 2.313em;
	}
}

.nav a.btn:not(.link).detail:after, .nav a.btn:not(.link).submit:after {
	background-image: url("../img/ico-angle-right-white@2x.png");
}

.buttons {
	padding-bottom: 1px;
	text-align: center;
}

.buttons #link-get {
	width: 340px;
	max-width: 100%;
}

/*------------------------------------------------
	キャプションが付けられる図表・画像・動画
------------------------------------------------*/
main .image.to-video, main .video.to-video, main .img.to-video {
	position: relative;
}

main .image.to-video:after, main .video.to-video:after, main .img.to-video:after {
	content: "" !important;
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/icon/icon-play@2x.png") no-repeat center;
	background-size: contain;
	width: 120px;
	height: 120px;
	margin-top: -60px;
	left: 50%;
	margin-left: -60px;
}

.ie8 main .image.to-video:after, .ie8 main .video.to-video:after, .ie8 main .img.to-video:after {
	background-image: url("../img/icon/icon-play.png");
}

@media only screen and (max-width: 767px) {
	main .image.to-video:after, main .video.to-video:after, main .img.to-video:after {
		width: 16vw;
		height: 16vw;
		margin-top: -8vw;
		margin-left: -8vw;
	}
}

main .img.to-video:after {
	background-image: url("../img/icon/icon-play-88@2x.png");
	width: 88px;
	height: 88px;
	margin-top: -44px;
	margin-left: -44px;
}

.ie8 main .img.to-video:after {
	background-image: url("../img/icon/icon-play-88.png");
}

/*------------------------------------------------
	グリッド部分
------------------------------------------------*/
.grid,
.group {
	position: relative;
}

.box {
	overflow: hidden;
}

.panel {
	position: relative;
}

.group:after,
.box:after,
.panel:after,
.row:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.grid,
.grid-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
	overflow: hidden;
	padding: 2px;
	letter-spacing: -0.4em;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid,
	.grid-box {
		margin-left: -13px;
		margin-right: -13px;
	}
}

.ie11 .grid, .ie11
.grid-box {
	margin-left: -13px;
	margin-right: -13px;
}

.grid > *,
.grid-box > * {
	padding-left: 13px;
	padding-right: 13px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid > *,
	.grid-box > * {
		display: block;
	}
}

.ie11 .grid > *, .ie11
.grid-box > * {
	display: block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid,
	.grid-box {
		overflow: visible;
		padding: 0;
		letter-spacing: 0;
	}
}

.ie11 .grid, .ie11
.grid-box {
	overflow: visible;
	padding: 0;
	letter-spacing: 0;
}

.grid > *,
.grid-box > * {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-top: 0 !important;
	vertical-align: top;
	letter-spacing: 0;
}

@media only screen and (max-width: 479px) {
	.grid,
	.grid-box {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.ie11 .grid, .ie11
	.grid-box {
		margin-left: 0;
		margin-right: 0;
	}
	.grid > *,
	.grid-box > * {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
}

.grid.center,
.grid-box.center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
}

.grid.left,
.grid-box.left {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	text-align: left;
}

.grid.right,
.grid-box.right {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	text-align: right;
}

.grid.between,
.grid-box.between {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.grid.around,
.grid-box.around {
	-ms-flex-pack: distribute;
	    justify-content: space-around;
}

.grid.stretch,
.grid-box.stretch {
	-webkit-box-pack: stretch;
	    -ms-flex-pack: stretch;
	        justify-content: stretch;
}

@media (max-width: 979px) {
	.grid.sm-center,
	.grid-box.sm-center {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		text-align: center;
	}
	.grid.sm-left,
	.grid-box.sm-left {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		text-align: left;
	}
	.grid.sm-right,
	.grid-box.sm-right {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		text-align: right;
	}
	.grid.sm-between,
	.grid-box.sm-between {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.grid.sm-around,
	.grid-box.sm-around {
		-ms-flex-pack: distribute;
		    justify-content: space-around;
	}
	.grid.sm-stretch,
	.grid-box.sm-stretch {
		-webkit-box-pack: stretch;
		    -ms-flex-pack: stretch;
		        justify-content: stretch;
	}
}

@media only screen and (max-width: 767px) {
	.grid.sp-center,
	.grid-box.sp-center {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		text-align: center;
	}
	.grid.sp-left,
	.grid-box.sp-left {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		text-align: left;
	}
	.grid.sp-right,
	.grid-box.sp-right {
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		text-align: right;
	}
	.grid.sp-between,
	.grid-box.sp-between {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
	.grid.sp-around,
	.grid-box.sp-around {
		-ms-flex-pack: distribute;
		    justify-content: space-around;
	}
	.grid.sp-stretch,
	.grid-box.sp-stretch {
		-webkit-box-pack: stretch;
		    -ms-flex-pack: stretch;
		        justify-content: stretch;
	}
}

.grid:after,
.grid-box:after {
	content: none;
}

.grid.col-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid.col-2 {
		margin-left: -13px;
		margin-right: -13px;
	}
}

.ie11 .grid.col-2 {
	margin-left: -13px;
	margin-right: -13px;
}

.grid.col-2 > * {
	width: 50%;
	padding-left: 13px;
	padding-right: 13px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid.col-2 > * {
		display: block;
	}
}

.ie11 .grid.col-2 > * {
	display: block;
}

.grid.col-3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid.col-3 {
		margin-left: -13px;
		margin-right: -13px;
	}
}

.ie11 .grid.col-3 {
	margin-left: -13px;
	margin-right: -13px;
}

.grid.col-3 > * {
	width: 33.3333333333%;
	padding-left: 13px;
	padding-right: 13px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid.col-3 > * {
		display: block;
	}
}

.ie11 .grid.col-3 > * {
	display: block;
}

.grid.col-4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid.col-4 {
		margin-left: -13px;
		margin-right: -13px;
	}
}

.ie11 .grid.col-4 {
	margin-left: -13px;
	margin-right: -13px;
}

.grid.col-4 > * {
	width: 25%;
	padding-left: 13px;
	padding-right: 13px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid.col-4 > * {
		display: block;
	}
}

.ie11 .grid.col-4 > * {
	display: block;
}

@media (max-width: 979px) {
	.grid.col-2, .grid.col-3, .grid.col-4 {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.ie11 .grid.col-2, .ie11 .grid.col-3, .ie11 .grid.col-4 {
		margin-left: 0;
		margin-right: 0;
	}
	.grid.col-2 > *, .grid.col-3 > *, .grid.col-4 > * {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.grid.col-sm-2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -15px;
		margin-right: -15px;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sm-2 {
			margin-left: -13px;
			margin-right: -13px;
		}
	}
	.ie11 .grid.col-sm-2 {
		margin-left: -13px;
		margin-right: -13px;
	}
	.grid.col-sm-2 > * {
		width: 50%;
		padding-left: 13px;
		padding-right: 13px;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sm-2 > * {
			display: block;
		}
	}
	.ie11 .grid.col-sm-2 > * {
		display: block;
	}
	.grid.col-sm-3 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -15px;
		margin-right: -15px;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sm-3 {
			margin-left: -13px;
			margin-right: -13px;
		}
	}
	.ie11 .grid.col-sm-3 {
		margin-left: -13px;
		margin-right: -13px;
	}
	.grid.col-sm-3 > * {
		width: 33.3333333333%;
		padding-left: 13px;
		padding-right: 13px;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sm-3 > * {
			display: block;
		}
	}
	.ie11 .grid.col-sm-3 > * {
		display: block;
	}
	.grid.col-sm-4 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -15px;
		margin-right: -15px;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sm-4 {
			margin-left: -13px;
			margin-right: -13px;
		}
	}
	.ie11 .grid.col-sm-4 {
		margin-left: -13px;
		margin-right: -13px;
	}
	.grid.col-sm-4 > * {
		width: 25%;
		padding-left: 13px;
		padding-right: 13px;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sm-4 > * {
			display: block;
		}
	}
	.ie11 .grid.col-sm-4 > * {
		display: block;
	}
}

@media only screen and (max-width: 767px) {
	.grid.col-sm-2, .grid.col-sm-3, .grid.col-sm-4 {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.ie11 .grid.col-sm-2, .ie11 .grid.col-sm-3, .ie11 .grid.col-sm-4 {
		margin-left: 0;
		margin-right: 0;
	}
	.grid.col-sm-2 > *, .grid.col-sm-3 > *, .grid.col-sm-4 > * {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.grid.col-sp-2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -15px;
		margin-right: -15px;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sp-2 {
			margin-left: -13px;
			margin-right: -13px;
		}
	}
	.ie11 .grid.col-sp-2 {
		margin-left: -13px;
		margin-right: -13px;
	}
	.grid.col-sp-2 > * {
		width: 50%;
		padding-left: 13px;
		padding-right: 13px;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sp-2 > * {
			display: block;
		}
	}
	.ie11 .grid.col-sp-2 > * {
		display: block;
	}
	.grid.col-sp-3 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -15px;
		margin-right: -15px;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sp-3 {
			margin-left: -13px;
			margin-right: -13px;
		}
	}
	.ie11 .grid.col-sp-3 {
		margin-left: -13px;
		margin-right: -13px;
	}
	.grid.col-sp-3 > * {
		width: 33.3333333333%;
		padding-left: 13px;
		padding-right: 13px;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sp-3 > * {
			display: block;
		}
	}
	.ie11 .grid.col-sp-3 > * {
		display: block;
	}
	.grid.col-sp-4 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -15px;
		margin-right: -15px;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sp-4 {
			margin-left: -13px;
			margin-right: -13px;
		}
	}
	.ie11 .grid.col-sp-4 {
		margin-left: -13px;
		margin-right: -13px;
	}
	.grid.col-sp-4 > * {
		width: 25%;
		padding-left: 13px;
		padding-right: 13px;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid.col-sp-4 > * {
			display: block;
		}
	}
	.ie11 .grid.col-sp-4 > * {
		display: block;
	}
}

.grid-box.col-2, .grid-box.col-3, .grid-box.col-4 {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.grid-box.col-2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -1.34%;
	margin-right: -1.34%;
	margin-left: calc(-15px);
	margin-right: calc(-15.01px);
}

@supports (display: flex) or (display: -webkit-box) {
	.grid-box.col-2 {
		margin-left: -1.1607142857%;
		margin-right: -1.1607142857%;
		margin-left: calc(-13px);
		margin-right: calc(-13.01px);
	}
}

.ie .grid-box.col-2 {
	margin-left: calc(-14px);
	margin-right: calc(-15px);
}

.ie11 .grid-box.col-2 {
	margin-left: calc(-12px);
	margin-right: calc(-13px);
}

.grid-box.col-2 > * {
	width: 47.73124%;
	margin-left: 1.1343804538%;
	margin-right: 1.1343804538%;
	padding: 0;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid-box.col-2 > * {
		display: block;
		width: calc(100%/2 - 26px);
		margin-left: calc(13px);
		margin-right: calc(13px);
	}
}

.grid-box.col-3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -1.34%;
	margin-right: -1.34%;
	margin-left: calc(-15px);
	margin-right: calc(-15.02px);
}

@supports (display: flex) or (display: -webkit-box) {
	.grid-box.col-3 {
		margin-left: -1.1607142857%;
		margin-right: -1.1607142857%;
		margin-left: calc(-13px);
		margin-right: calc(-13.02px);
	}
}

.ie .grid-box.col-3 {
	margin-left: calc(-15px);
	margin-right: calc(-16px);
}

.ie11 .grid-box.col-3 {
	margin-left: calc(-13px);
	margin-right: calc(-14px);
}

.grid-box.col-3 > * {
	width: 31.06457%;
	margin-left: 1.1343804538%;
	margin-right: 1.1343804538%;
	padding: 0;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid-box.col-3 > * {
		display: block;
		width: calc(100%/3 - 26px);
		margin-left: calc(13px);
		margin-right: calc(13px);
	}
}

.grid-box.col-4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -1.34%;
	margin-right: -1.34%;
	margin-left: calc(-14px);
	margin-right: calc(-14.02px);
}

@supports (display: flex) or (display: -webkit-box) {
	.grid-box.col-4 {
		margin-left: -1.1607142857%;
		margin-right: -1.1607142857%;
		margin-left: calc(-12px);
		margin-right: calc(-12.02px);
	}
}

.ie .grid-box.col-4 {
	margin-left: calc(-14px);
	margin-right: calc(-15px);
}

.ie11 .grid-box.col-4 {
	margin-left: calc(-12px);
	margin-right: calc(-13px);
}

.grid-box.col-4 > * {
	width: 22.72727%;
	margin-left: 1.1363636364%;
	margin-right: 1.1363636364%;
	padding: 0;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.grid-box.col-4 > * {
		display: block;
		width: calc(100%/4 - 26px);
		margin-left: calc(13px);
		margin-right: calc(13px);
	}
}

@media (max-width: 979px) {
	.grid-box.col-2, .grid-box.col-3, .grid-box.col-4 {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.ie .grid-box.col-2, .ie .grid-box.col-3, .ie .grid-box.col-4 {
		margin-left: 0;
		margin-right: 0;
	}
	.grid-box.col-2 > *, .grid-box.col-3 > *, .grid-box.col-4 > * {
		width: auto;
		margin-left: 0;
		margin-right: 0;
		display: block;
	}
	.grid-box.col-sm-2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.34%;
		margin-right: -1.34%;
		margin-left: calc(-15px);
		margin-right: calc(-15.01px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sm-2 {
			margin-left: -1.1607142857%;
			margin-right: -1.1607142857%;
			margin-left: calc(-13px);
			margin-right: calc(-13.01px);
		}
	}
	.ie .grid-box.col-sm-2 {
		margin-left: calc(-14px);
		margin-right: calc(-15px);
	}
	.ie11 .grid-box.col-sm-2 {
		margin-left: calc(-12px);
		margin-right: calc(-13px);
	}
	.grid-box.col-sm-2 > * {
		width: 47.73124%;
		margin-left: 1.1343804538%;
		margin-right: 1.1343804538%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sm-2 > * {
			display: block;
			width: calc(100%/2 - 26px);
			margin-left: calc(13px);
			margin-right: calc(13px);
		}
	}
	.grid-box.col-sm-3 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.34%;
		margin-right: -1.34%;
		margin-left: calc(-15px);
		margin-right: calc(-15.02px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sm-3 {
			margin-left: -1.1607142857%;
			margin-right: -1.1607142857%;
			margin-left: calc(-13px);
			margin-right: calc(-13.02px);
		}
	}
	.ie .grid-box.col-sm-3 {
		margin-left: calc(-15px);
		margin-right: calc(-16px);
	}
	.ie11 .grid-box.col-sm-3 {
		margin-left: calc(-13px);
		margin-right: calc(-14px);
	}
	.grid-box.col-sm-3 > * {
		width: 31.06457%;
		margin-left: 1.1343804538%;
		margin-right: 1.1343804538%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sm-3 > * {
			display: block;
			width: calc(100%/3 - 26px);
			margin-left: calc(13px);
			margin-right: calc(13px);
		}
	}
	.grid-box.col-sm-4 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.34%;
		margin-right: -1.34%;
		margin-left: calc(-14px);
		margin-right: calc(-14.02px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sm-4 {
			margin-left: -1.1607142857%;
			margin-right: -1.1607142857%;
			margin-left: calc(-12px);
			margin-right: calc(-12.02px);
		}
	}
	.ie .grid-box.col-sm-4 {
		margin-left: calc(-14px);
		margin-right: calc(-15px);
	}
	.ie11 .grid-box.col-sm-4 {
		margin-left: calc(-12px);
		margin-right: calc(-13px);
	}
	.grid-box.col-sm-4 > * {
		width: 22.72727%;
		margin-left: 1.1363636364%;
		margin-right: 1.1363636364%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sm-4 > * {
			display: block;
			width: calc(100%/4 - 26px);
			margin-left: calc(13px);
			margin-right: calc(13px);
		}
	}
}

@media only screen and (max-width: 767px) {
	.grid-box.col-sm-2, .grid-box.col-sm-3, .grid-box.col-sm-4 {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.ie .grid-box.col-sm-2, .ie .grid-box.col-sm-3, .ie .grid-box.col-sm-4 {
		margin-left: 0;
		margin-right: 0;
	}
	.grid-box.col-sm-2 > *, .grid-box.col-sm-3 > *, .grid-box.col-sm-4 > * {
		width: auto;
		margin-left: 0;
		margin-right: 0;
		display: block;
	}
	.grid-box.col-sp-2 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.34%;
		margin-right: -1.34%;
		margin-left: calc(-15px);
		margin-right: calc(-15.01px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sp-2 {
			margin-left: -1.1607142857%;
			margin-right: -1.1607142857%;
			margin-left: calc(-13px);
			margin-right: calc(-13.01px);
		}
	}
	.ie .grid-box.col-sp-2 {
		margin-left: calc(-14px);
		margin-right: calc(-15px);
	}
	.ie11 .grid-box.col-sp-2 {
		margin-left: calc(-12px);
		margin-right: calc(-13px);
	}
	.grid-box.col-sp-2 > * {
		width: 47.73124%;
		margin-left: 1.1343804538%;
		margin-right: 1.1343804538%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sp-2 > * {
			display: block;
			width: calc(100%/2 - 26px);
			margin-left: calc(13px);
			margin-right: calc(13px);
		}
	}
	.grid-box.col-sp-3 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.34%;
		margin-right: -1.34%;
		margin-left: calc(-15px);
		margin-right: calc(-15.02px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sp-3 {
			margin-left: -1.1607142857%;
			margin-right: -1.1607142857%;
			margin-left: calc(-13px);
			margin-right: calc(-13.02px);
		}
	}
	.ie .grid-box.col-sp-3 {
		margin-left: calc(-15px);
		margin-right: calc(-16px);
	}
	.ie11 .grid-box.col-sp-3 {
		margin-left: calc(-13px);
		margin-right: calc(-14px);
	}
	.grid-box.col-sp-3 > * {
		width: 31.06457%;
		margin-left: 1.1343804538%;
		margin-right: 1.1343804538%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sp-3 > * {
			display: block;
			width: calc(100%/3 - 26px);
			margin-left: calc(13px);
			margin-right: calc(13px);
		}
	}
	.grid-box.col-sp-4 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.34%;
		margin-right: -1.34%;
		margin-left: calc(-14px);
		margin-right: calc(-14.02px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sp-4 {
			margin-left: -1.1607142857%;
			margin-right: -1.1607142857%;
			margin-left: calc(-12px);
			margin-right: calc(-12.02px);
		}
	}
	.ie .grid-box.col-sp-4 {
		margin-left: calc(-14px);
		margin-right: calc(-15px);
	}
	.ie11 .grid-box.col-sp-4 {
		margin-left: calc(-12px);
		margin-right: calc(-13px);
	}
	.grid-box.col-sp-4 > * {
		width: 22.72727%;
		margin-left: 1.1363636364%;
		margin-right: 1.1363636364%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.grid-box.col-sp-4 > * {
			display: block;
			width: calc(100%/4 - 26px);
			margin-left: calc(13px);
			margin-right: calc(13px);
		}
	}
}

/*------------------------------------------------
	テキストの行数の制限
------------------------------------------------*/
.max-lines-2h .h,
.max-lines-3h .h,
.max-lines-4h .h {
	overflow: hidden;
}

@supports (-webkit-line-clamp: 2) {
	.max-lines-2h .h,
	.max-lines-3h .h,
	.max-lines-4h .h {
		max-height: none !important;
		display: -webkit-box !important;
		-webkit-box-orient: vertical;
	}
}

.max-lines-2h .h {
	max-height: 3em;
}

@supports (-webkit-line-clamp: 2) {
	.max-lines-2h .h {
		-webkit-line-clamp: 2;
	}
}

.max-lines-3h .h {
	max-height: 4.5em;
}

@supports (-webkit-line-clamp: 3) {
	.max-lines-3h .h {
		-webkit-line-clamp: 3;
	}
}

.max-lines-4h .h {
	max-height: 6em;
}

@supports (-webkit-line-clamp: 4) {
	.max-lines-4h .h {
		-webkit-line-clamp: 4;
	}
}

.max-lines-0h .h {
	overflow: visible;
	max-height: none;
}

@supports (-webkit-line-clamp: 2) {
	.max-lines-0h .h {
		display: block !important;
		-webkit-line-clamp: revert;
		-webkit-box-orient: inline-axis;
	}
}

@media (max-width: 979px) {
	.max-lines-sm-2h .h,
	.max-lines-sm-3h .h,
	.max-lines-sm-4h .h {
		overflow: hidden;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sm-2h .h,
		.max-lines-sm-3h .h,
		.max-lines-sm-4h .h {
			max-height: none !important;
			display: -webkit-box !important;
			-webkit-box-orient: vertical;
		}
	}
	.max-lines-sm-2h .h {
		max-height: 3.2em;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sm-2h .h {
			-webkit-line-clamp: 2;
		}
	}
	.max-lines-sm-3h .h {
		max-height: 4.8em;
	}
	@supports (-webkit-line-clamp: 3) {
		.max-lines-sm-3h .h {
			-webkit-line-clamp: 3;
		}
	}
	.max-lines-sm-4h .h {
		max-height: 6.4em;
	}
	@supports (-webkit-line-clamp: 4) {
		.max-lines-sm-4h .h {
			-webkit-line-clamp: 4;
		}
	}
	.max-lines-sm-0h .h {
		overflow: visible;
		max-height: none;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sm-0h .h {
			display: block !important;
			-webkit-line-clamp: revert;
			-webkit-box-orient: inline-axis;
		}
	}
}

@media only screen and (max-width: 767px) {
	.max-lines-sp-2h .h,
	.max-lines-sp-3h .h,
	.max-lines-sp-4h .h {
		overflow: hidden;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sp-2h .h,
		.max-lines-sp-3h .h,
		.max-lines-sp-4h .h {
			max-height: none !important;
			display: -webkit-box !important;
			-webkit-box-orient: vertical;
		}
	}
	.max-lines-sp-2h .h {
		max-height: 3.2em;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sp-2h .h {
			-webkit-line-clamp: 2;
		}
	}
	.max-lines-sp-3h .h {
		max-height: 4.8em;
	}
	@supports (-webkit-line-clamp: 3) {
		.max-lines-sp-3h .h {
			-webkit-line-clamp: 3;
		}
	}
	.max-lines-sp-4h .h {
		max-height: 6.4em;
	}
	@supports (-webkit-line-clamp: 4) {
		.max-lines-sp-4h .h {
			-webkit-line-clamp: 4;
		}
	}
	.max-lines-sp-0h .h {
		overflow: visible;
		max-height: none;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sp-0h .h {
			display: block !important;
			-webkit-line-clamp: revert;
			-webkit-box-orient: inline-axis;
		}
	}
}

.max-lines-2 p,
.max-lines-3 p,
.max-lines-4 p {
	overflow: hidden;
}

@supports (-webkit-line-clamp: 2) {
	.max-lines-2 p,
	.max-lines-3 p,
	.max-lines-4 p {
		max-height: none !important;
		display: -webkit-box !important;
		-webkit-box-orient: vertical;
	}
}

.max-lines-2 p {
	max-height: 3.468em;
}

@supports (-webkit-line-clamp: 2) {
	.max-lines-2 p {
		-webkit-line-clamp: 2;
	}
}

.max-lines-3 p {
	max-height: 5.202em;
}

@supports (-webkit-line-clamp: 3) {
	.max-lines-3 p {
		-webkit-line-clamp: 3;
	}
}

.max-lines-4 p {
	max-height: 6.936em;
}

@supports (-webkit-line-clamp: 4) {
	.max-lines-4 p {
		-webkit-line-clamp: 4;
	}
}

.max-lines-0 p {
	overflow: visible;
	max-height: none;
}

@supports (-webkit-line-clamp: 2) {
	.max-lines-0 p {
		display: block !important;
		-webkit-line-clamp: revert;
		-webkit-box-orient: inline-axis;
	}
}

@media (max-width: 979px) {
	.max-lines-sm-2 p,
	.max-lines-sm-3 p,
	.max-lines-sm-4 p {
		overflow: hidden;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sm-2 p,
		.max-lines-sm-3 p,
		.max-lines-sm-4 p {
			max-height: none !important;
			display: -webkit-box !important;
			-webkit-box-orient: vertical;
		}
	}
	.max-lines-sm-2 p {
		max-height: 3.468em;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sm-2 p {
			-webkit-line-clamp: 2;
		}
	}
	.max-lines-sm-3 p {
		max-height: 5.202em;
	}
	@supports (-webkit-line-clamp: 3) {
		.max-lines-sm-3 p {
			-webkit-line-clamp: 3;
		}
	}
	.max-lines-sm-4 p {
		max-height: 6.936em;
	}
	@supports (-webkit-line-clamp: 4) {
		.max-lines-sm-4 p {
			-webkit-line-clamp: 4;
		}
	}
	.max-lines-sm-0 p {
		overflow: visible;
		max-height: none;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sm-0 p {
			display: block !important;
			-webkit-line-clamp: revert;
			-webkit-box-orient: inline-axis;
		}
	}
}

@media only screen and (max-width: 767px) {
	.max-lines-sp-2 p,
	.max-lines-sp-3 p,
	.max-lines-sp-4 p {
		overflow: hidden;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sp-2 p,
		.max-lines-sp-3 p,
		.max-lines-sp-4 p {
			max-height: none !important;
			display: -webkit-box !important;
			-webkit-box-orient: vertical;
		}
	}
	.max-lines-sp-2 p {
		max-height: 3.468em;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sp-2 p {
			-webkit-line-clamp: 2;
		}
	}
	.max-lines-sp-3 p {
		max-height: 5.202em;
	}
	@supports (-webkit-line-clamp: 3) {
		.max-lines-sp-3 p {
			-webkit-line-clamp: 3;
		}
	}
	.max-lines-sp-4 p {
		max-height: 6.936em;
	}
	@supports (-webkit-line-clamp: 4) {
		.max-lines-sp-4 p {
			-webkit-line-clamp: 4;
		}
	}
	.max-lines-sp-0 p {
		overflow: visible;
		max-height: none;
	}
	@supports (-webkit-line-clamp: 2) {
		.max-lines-sp-0 p {
			display: block !important;
			-webkit-line-clamp: revert;
			-webkit-box-orient: inline-axis;
		}
	}
}

/*------------------------------------------------
	フィルター用フォーム
------------------------------------------------*/
#filter {
	position: relative;
	top: 6px;
	margin-top: 0.813em;
	text-align: center;
	display: none;
}

@media only screen and (max-width: 767px) {
	#filter {
		top: 6px;
		margin-top: 0.4em;
	}
}

html.js #filter {
	display: block;
}

#filter .buttons {
	display: none;
}

#filter select, #filter input.text {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 100%;
	width: 11.875em;
	height: 2.875em;
	padding-left: 16px;
	padding-right: 35px;
	border: 1px solid #D3D3D3;
	border-radius: 6px;
	background: #fff;
	color: #000;
	font-size: 100%;
	line-height: 1.625;
}

@media only screen and (max-width: 767px) {
	#filter select, #filter input.text {
		font-size: 93.4%;
		line-height: 1.858;
	}
}

@media only screen and (max-width: 767px) {
	#filter select, #filter input.text {
		width: 15em;
		height: 3.286em;
	}
}

@media only screen and (max-width: 479px) {
	#filter select, #filter input.text {
		width: 100%;
		padding-left: 14px;
		padding-right: 31px;
	}
}

.ie #filter select, .ie #filter input.text {
	padding-top: 4px;
}

.ie98 #filter select, .ie98 #filter input.text {
	padding-right: 0;
}

#filter select:focus, #filter input.text:focus {
	outline: 0 !important;
	-webkit-box-shadow: 0 0 0 1px #008070;
	        box-shadow: 0 0 0 1px #008070;
}

#filter select {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

#filter input.text {
	max-width: 100%;
	padding-right: 16px;
	background: #fff url("../img/ico-search-black@2x.png") no-repeat 95% center;
	background-position: right 18px center;
	background-size: 16px;
}

.ie #filter input.text {
	padding-right: 0;
	background-image: url("../img/ico-search-black.png");
}

.ie #filter input.text:hover {
	background-image: url("../img/ico-search-black.png") !important;
}

.ie #filter input.text:focus {
	background-image: none !important;
}

#filter .on-ready {
	background-color: #fffae0;
}

#filter ul {
	margin: 0;
	padding: 0;
	text-align: center;
}

#filter ul li {
	display: inline-block;
	margin: 0;
	margin-bottom: 10px !important;
	padding: 0 0.157em;
	vertical-align: top;
}

#filter ul li:before {
	content: none;
}

@media only screen and (max-width: 767px) {
	#filter ul {
		margin: 0 -10px;
	}
	#filter ul li {
		padding: 0 6px;
	}
}

@media only screen and (max-width: 479px) {
	#filter ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		margin: 0 -6px;
	}
	#filter ul li {
		width: 50%;
		padding: 0 6px;
		-ms-flex-negative: 1;
		    flex-shrink: 1;
	}
	.ie98 #filter ul {
		text-align: right;
	}
	.ie98 #filter ul li {
		width: 48.5%;
		margin-left: 3%;
	}
}

@media only screen and (max-width: 767px) {
	#filter.has-label fieldset {
		display: table;
		table-layout: fixed;
		border-collapse: separate;
		border-spacing: 5px;
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}

#filter.has-label select {
	max-width: 100%;
	min-width: 7.75em;
	width: 7.75em;
	width: auto;
}

@media only screen and (max-width: 767px) {
	#filter.has-label select {
		min-width: 0;
		width: 100%;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		padding: 5px 2px 4px;
	}
}

#filter.has-label dl, #filter.has-label dt, #filter.has-label dd {
	display: inline-block;
}

#filter.has-label dl {
	margin: 0;
}

#filter.has-label dl + dl {
	margin-left: 0.875em;
}

@media only screen and (max-width: 767px) {
	#filter.has-label dl {
		display: table-cell;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 40%;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		-webkit-box-align: baseline;
		    -ms-flex-align: baseline;
		        align-items: baseline;
	}
	#filter.has-label dl.tags {
		width: 56%;
		margin-left: 4%;
	}
}

#filter.has-label dl dt {
	margin-right: 0.5em;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	#filter.has-label dl dt {
		display: block;
	}
}

#filter .selector:not(a) {
	position: relative;
}

#filter .selector:not(a) select {
	-webkit-appearance: none;
	-moz-appearance: none;
	     appearance: none;
}

#filter .selector:not(a) select::-ms-expand {
	display: none;
}

#filter .selector:not(a)::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/ico/ico-select-arrow@2x.png") no-repeat center;
	background-size: contain;
	width: 1em;
	height: 1em;
	margin-top: -0.5em;
	right: 15px;
	margin-right: 0;
	pointer-events: none;
}

@media only screen and (max-width: 767px) {
	#filter .selector:not(a)::before {
		width: 1.067em;
		height: 1.067em;
		margin-top: -0.5335em;
	}
}

.ie98 #filter .selector:not(a)::before {
	content: none;
	display: none;
}

#filter .note {
	margin-top: 1em;
	font-weight: 500;
}

#filter-none {
	padding: 2em 0;
}

#filter-none label {
	border-bottom: 1px dotted #D3D3D3;
}

/*------------------------------------------------
	オプション情報部分
------------------------------------------------*/
.main .options.cols {
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.main .options dl {
	font-size: 93.8%;
	line-height: 1.534;
	margin-right: 0.667em;
	color: #000;
}

@media only screen and (max-width: 767px) {
	.main .options dl {
		font-size: 93.4%;
		line-height: 1.643;
	}
}

.main .options dl:last-child {
	margin-right: 0;
}

.main .options dl, .main .options dt, .main .options dd {
	display: inline-block;
	margin: 0;
	vertical-align: middle;
}

.main .options dt {
	display: none;
}

.main .options dl:after {
	content: none;
}

.main .options dd {
	padding: 2px 0 1px;
}

.ie .main .options dd {
	padding: 3px 0 0;
}

.main .options dl.date dd {
	white-space: nowrap;
}

.main .options dl.tags {
	display: inline;
	font-size: 87.5%;
	line-height: 1.643;
}

@media only screen and (max-width: 767px) {
	.main .options dl.tags {
		font-size: 86.7%;
		line-height: 1.77;
	}
}

.main .options dl.tags dd {
	margin-top: 0.608em !important;
	margin-right: 0.239em;
	padding: 2px 0.715em 1px;
	border-radius: 2em;
	background: #EEF4F4;
	color: #000;
	vertical-align: top;
}

.ie .main .options dl.tags dd {
	padding: 3px 10px 0;
}

@media only screen and (max-width: 767px) {
	.main .options dl.tags dd {
		margin-right: 0.129em;
		padding: 2px 0.77em 1px;
	}
}

.main .options dl.tags:last-child dd:last-child {
	margin-right: 0;
}

.main .options dl.tags.targets dd {
	background: #F7F9F9;
}

.main .grid .options.cols,
.main .grid-box .options.cols {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.main .grid .options dl.tags dd,
.main .grid-box .options dl.tags dd {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 100%;
}

/*------------------------------------------------
	新着ニュース部分
------------------------------------------------*/
#main .news article {
	margin-top: 0;
	margin-bottom: 1.1em;
	padding-bottom: 0.54em;
	border-bottom: 1px solid #C1C1C1;
	text-align: left;
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	#main .news article {
		font-size: 100%;
	}
}

.ie #main .news article {
	margin-bottom: 1.3em;
	padding-bottom: 0.34em;
}

#main .news article + hr {
	display: none;
}

#main .news .cat {
	font-size: 93.4%;
	line-height: 1.858;
	display: inline-block;
	padding: 0 0.715em;
	border-radius: 2em;
	background: #EEF4F4;
	color: #000;
	text-align: center;
	vertical-align: top;
	font-weight: 500;
}

.ie #main .news .cat {
	position: relative;
	top: -2.5px;
	line-height: 1.5;
	padding-top: 0.4em;
}

#main .news h2, #main .news h3 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	line-height: 1.734;
}

#main .news h2 > time, #main .news h3 > time {
	float: left;
	display: inline-block;
	min-width: 8em;
	margin-right: 0.8em;
	margin-bottom: 0.56em;
	font-weight: 500;
}

@media (max-width: 979px) {
	#main .news h2 > time, #main .news h3 > time {
		float: none;
		margin-right: 0.5em;
	}
}

@media only screen and (max-width: 767px) {
	#main .news h2 > time, #main .news h3 > time {
		font-size: 93.4%;
		line-height: 1.858;
	}
}

#main .news h2 > .cat, #main .news h3 > .cat {
	float: left;
	min-width: 7.715em;
	margin-right: 1.429em;
	margin-bottom: 0.6em;
}

@media (max-width: 979px) {
	#main .news h2 > .cat, #main .news h3 > .cat {
		float: none;
		margin-right: 0.5em;
	}
}

#main .news h2 > a,
#main .news h2 > b, #main .news h3 > a,
#main .news h3 > b {
	overflow: hidden;
	min-width: 65%;
	display: block;
	margin-bottom: 0.56em;
}

@media (max-width: 979px) {
	#main .news h2 > a,
	#main .news h2 > b, #main .news h3 > a,
	#main .news h3 > b {
		clear: both;
		overflow: visible;
		min-width: 0;
		margin-left: 0;
	}
}

#main .news blockquote {
	clear: both;
	position: relative;
	top: -0.22em;
	margin: 0.56em 0 0.34em;
	padding: 0;
	border: 0;
	background: none;
}

@media (max-width: 979px) {
	#main .news blockquote {
		margin-left: 0;
	}
}

#main .news blockquote:before {
	content: "";
	float: left;
	display: inline-block;
	width: 17.334em;
	height: 1em;
}

@media (max-width: 979px) {
	#main .news blockquote:before {
		content: none;
		width: auto;
		height: auto;
	}
}

#main .news blockquote p {
	overflow: hidden;
	min-width: 65%;
}

@media (max-width: 979px) {
	#main .news blockquote p {
		overflow: visible;
		min-width: 0;
	}
}

#main .news p {
	font-size: 93.4%;
	line-height: 1.715;
	margin: 0;
}

#main .news .options {
	display: none;
	margin-left: 8.2em;
}

@media only screen and (max-width: 767px) {
	#main .news .options {
		margin-left: 0;
	}
}

#main .news .options dl {
	font-size: 93.4%;
	line-height: 1.643;
}

@media only screen and (max-width: 767px) {
	#main .news .options dl {
		font-size: 86.7%;
		line-height: 1.77;
	}
}

#main .news .options .tags.targets {
	display: none;
}

/*------------------------------------------------
	リンクボックス部分
------------------------------------------------*/
.linkbox,
.linkbox > a {
	display: block;
}

#main .linkbox {
	margin: 1.5em 0;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#main .linkbox {
		margin: 1.6em 0;
	}
}

#main .grid .linkbox {
	margin: 0;
}

@media (max-width: 979px) {
	#main .grid .linkbox {
		margin: 1.6em 0;
	}
}

#main a.linkbox,
#main .linkbox > a {
	position: relative;
	padding: 18px 22px 22px;
	border: 1px solid #C1C1C1;
	background: #fff;
	color: #2C2C2C;
	text-decoration: none;
}

.ie #main a.linkbox, .ie
#main .linkbox > a {
	padding: 21px 22px 19px;
}

@media only screen and (max-width: 767px) {
	#main a.linkbox,
	#main .linkbox > a {
		padding-top: 18px;
	}
}

#main a.linkbox.important,
#main .linkbox > a.important {
	border: 1px solid rgba(255, 123, 140, 0.5);
}

#main a.linkbox.important:hover, #main a.linkbox.important:active, #main a.linkbox.important:focus,
#main .linkbox > a.important:hover,
#main .linkbox > a.important:active,
#main .linkbox > a.important:focus {
	border-color: #ff7b8c !important;
}

#main a.linkbox:after,
#main .linkbox > a:after {
	content: none;
}

#main .linkbox > section {
	margin: 0;
	padding: 0;
}

#main .linkbox h2, #main .linkbox h3, #main .linkbox p {
	margin: 0 0 0.25em;
}

@media only screen and (max-width: 767px) {
	#main .linkbox h2, #main .linkbox h3, #main .linkbox p {
		margin-bottom: 0.4em;
	}
}

#main .linkbox h2, #main .linkbox h3 {
	font-weight: bold;
	font-size: 100%;
	line-height: 1.875;
}

@media only screen and (max-width: 767px) {
	#main .linkbox h2, #main .linkbox h3 {
		font-size: 100%;
		line-height: 1.867;
	}
}

#main .linkbox h2:before, #main .linkbox h3:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-caret-right@2x.png") no-repeat center;
	background-size: contain;
	width: 1em;
	height: 1em;
	margin-right: 0.667em;
}

@media only screen and (max-width: 767px) {
	#main .linkbox h2:before, #main .linkbox h3:before {
		width: 1.067em;
		height: 1.067em;
	}
}

#main .linkbox p {
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	#main .linkbox p {
		font-size: 100%;
	}
}

#main .linkbox .options {
	margin-top: 0.688em;
}

@media only screen and (max-width: 767px) {
	#main .linkbox .options {
		margin-top: 0.6em;
	}
}

#main .linkbox + hr {
	display: none;
}

#main a.linkbox:link header, #main a.linkbox:link h2, #main a.linkbox:link h3 {
	color: #326EAA;
}

#main a.linkbox:visited header, #main a.linkbox:visited h2, #main a.linkbox:visited h3 {
	color: #326EAA;
}

#main a.linkbox:hover header, #main a.linkbox:hover h2, #main a.linkbox:hover h3, #main a.linkbox:focus header, #main a.linkbox:focus h2, #main a.linkbox:focus h3 {
	color: #A50;
}

#main a.linkbox:active header, #main a.linkbox:active h2, #main a.linkbox:active h3 {
	color: #A50;
}

#main a.linkbox[href] header, #main a.linkbox[href] h2, #main a.linkbox[href] h3 {
	text-decoration: underline;
}

#main a.linkbox:focus {
	outline: none !important;
}

#main .grid a.linkbox,
#main .grid .linkbox > a {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 100%;
	padding: 22px 23px 24px;
}

.ie #main .grid a.linkbox, .ie
#main .grid .linkbox > a {
	padding: 25px 23px 21px;
}

@media only screen and (max-width: 767px) {
	#main .grid a.linkbox,
	#main .grid .linkbox > a {
		padding: 15px 18px;
	}
}

#main .grid a.linkbox:after,
#main .grid .linkbox > a:after {
	content: "";
	display: block;
	position: static;
	height: 1.25em;
	margin-top: 10px;
	padding: 2px 10px 1px;
	background: none;
}

@media only screen and (max-width: 767px) {
	#main .grid a.linkbox:after,
	#main .grid .linkbox > a:after {
		content: none;
	}
}

#main .grid .linkbox > section {
	position: static !important;
	margin: 0 !important;
}

#main .grid .linkbox h2, #main .grid .linkbox h3 {
	margin: 0 0 0.375em;
}

@media only screen and (max-width: 767px) {
	#main .grid .linkbox h2, #main .grid .linkbox h3 {
		margin: 0 0 0.2em;
	}
}

#main .grid .linkbox p {
	margin: 0.375em 0 0.625em;
}

@media only screen and (max-width: 767px) {
	#main .grid .linkbox p {
		margin: 0.2em 0;
	}
}

#main .grid .linkbox .options {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	margin-top: 0;
	padding: 22px 22px 22px;
}

@media only screen and (max-width: 767px) {
	#main .grid .linkbox .options {
		position: static;
		margin-top: 1.267em;
		padding: 0;
	}
}

#link-group {
	position: relative;
}

/*------------------------------------------------
	リンクイメージ部分
------------------------------------------------*/
.imgbox,
.imgbox > a {
	display: block;
}

#main .imgbox {
	padding: 0 20px 18px;
	border: 1px solid #C1C1C1;
	background: #fff;
	color: #2C2C2C;
	text-decoration: none;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#main .imgbox {
		padding: 0 20px 24px;
	}
}

#main .imgbox.no-border {
	border: 0;
	padding: 0 1px;
}

#main .imgbox > section {
	margin: 0;
	padding: 0;
}

#main .imgbox header, #main .imgbox h2, #main .imgbox h3 {
	margin: 0 -20px;
}

#main .imgbox header a, #main .imgbox h2 a, #main .imgbox h3 a {
	display: block;
}

#main .imgbox header figure, #main .imgbox h2 figure, #main .imgbox h3 figure {
	margin-bottom: 15px;
}

#main .imgbox header img, #main .imgbox h2 img, #main .imgbox h3 img {
	display: block;
}

@media (max-width: 1199px) {
	#main .imgbox header img, #main .imgbox h2 img, #main .imgbox h3 img {
		width: 100%;
		height: auto;
	}
}

#main .imgbox.no-border h2, #main .imgbox.no-border h3 {
	margin-left: 0;
	margin-right: 0;
}

#main .imgbox header h2, #main .imgbox header h3 {
	margin-left: 0;
	margin-right: 0;
}

#main .imgbox h2, #main .imgbox h3 {
	margin-bottom: 0.594em;
	font-weight: bold;
	letter-spacing: 0;
	font-size: 100%;
	line-height: 1.625;
}

@media only screen and (max-width: 767px) {
	#main .imgbox h2, #main .imgbox h3 {
		font-size: 100%;
		line-height: 1.734;
	}
}

@media only screen and (max-width: 767px) {
	#main .imgbox h2, #main .imgbox h3 {
		margin-bottom: 0.3em;
	}
}

#main .imgbox h2 .site,
#main .imgbox h2 .text, #main .imgbox h3 .site,
#main .imgbox h3 .text {
	display: block;
	padding: 0 20px;
}

#main .imgbox h2 .site, #main .imgbox h3 .site {
	margin-bottom: 0.407em;
	color: #2C2C2C;
	font-size: 93.8%;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	#main .imgbox h2 .site, #main .imgbox h3 .site {
		margin-bottom: 0.219em;
		font-size: 93.4%;
		line-height: 1.715;
	}
}

#main .imgbox h2 .text, #main .imgbox h3 .text {
	display: block;
	min-height: 3.25em;
	text-decoration: underline;
}

@media (max-width: 979px) {
	#main .imgbox h2 .text, #main .imgbox h3 .text {
		min-height: 0;
	}
}

#main .imgbox.no-border h2 .site,
#main .imgbox.no-border h2 .text, #main .imgbox.no-border h3 .site,
#main .imgbox.no-border h3 .text {
	padding: 0;
}

#main .imgbox .img {
	overflow: hidden;
	display: block;
	margin-bottom: 1.188em;
	padding-bottom: 0.1px;
	border-bottom: 1px solid #E0E0E0;
}

@media only screen and (max-width: 767px) {
	#main .imgbox .img {
		margin-bottom: 1.167em;
	}
}

#main .imgbox .img img {
	-webkit-transition-duration: 0.2s;
	        transition-duration: 0.2s;
}

#main .imgbox p {
	font-size: 93.8%;
	line-height: 1.734;
	margin-bottom: 0.375em;
}

@media only screen and (max-width: 767px) {
	#main .imgbox p {
		font-size: 93.4%;
		line-height: 1.858;
	}
}

#main .imgbox + hr {
	display: none;
}

#main a.imgbox:after,
#main .imgbox a:after {
	content: none;
}

#main a.imgbox:hover .img img, #main a.imgbox:active .img img, #main a.imgbox:focus .img img,
#main .imgbox a:hover .img img,
#main .imgbox a:active .img img,
#main .imgbox a:focus .img img {
	opacity: 0.75;
	-webkit-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	        transform: scale(1.02);
}

#main a.imgbox:link .h {
	color: #326EAA;
}

#main a.imgbox:visited .h {
	color: #326EAA;
}

#main a.imgbox:hover .h, #main a.imgbox:focus .h {
	color: #A50;
}

#main a.imgbox:active .h {
	color: #A50;
}

#main a.imgbox[href] .h {
	text-decoration: underline;
}

#main a.imgbox:focus {
	outline: none !important;
}

#main .grid > .col > .imgbox {
	height: 100%;
}

#main .grid-box .imgbox {
	margin-bottom: 2.5em;
}

@media print {
	#main .grid-box .imgbox:last-child {
		margin-bottom: 0;
	}
}

#main section.imgbox,
#main .imgbox section {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

.ie #main section.imgbox > *, .ie
#main .imgbox section > * {
	min-height: 0%;
}

#main section.imgbox .options,
#main .imgbox section .options {
	margin-top: auto;
}

#main .imgbox section {
	height: 100%;
}

/*------------------------------------------------
	FAQボックス部分
------------------------------------------------*/
#main .faqbox {
	position: relative;
	z-index: 1;
	margin: 1.5em 0;
	padding: 0 0 0.5em;
	border-radius: 6px;
	border: 1px solid #C1C1C1;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#main .faqbox {
		margin: 1.2em 0;
		padding-bottom: 0;
	}
}

.js #main .faqbox:hover, .js #main .faqbox:active, .js #main .faqbox:focus {
	-webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12);
	        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.12);
}

.js #main .faqbox.focus {
	outline: none !important;
	-webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 0 0 1px #008070;
	        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12), 0 0 0 1px #008070;
}

#main .faqbox h2, #main .faqbox h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 1.223em 1.334em 0.778em;
	padding-right: 64px;
	font-weight: 500;
	font-size: 112.5%;
	line-height: 1.445;
}

@media only screen and (max-width: 767px) {
	#main .faqbox h2, #main .faqbox h3 {
		font-size: 100%;
		line-height: 1.467;
	}
}

.ie #main .faqbox h2, .ie #main .faqbox h3 {
	padding-top: 1.389em;
	padding-bottom: 0.612em;
}

@media only screen and (max-width: 767px) {
	#main .faqbox h2, #main .faqbox h3 {
		padding: 1.1em 1.2em;
		padding-right: 48px;
	}
	.ie #main .faqbox h2, .ie #main .faqbox h3 {
		padding-top: 1.3em;
		padding-bottom: 0.9em;
	}
}

html.js #main .faqbox h2:hover, html.js #main .faqbox h2:active, html.js #main .faqbox h2:focus, html.js #main .faqbox h3:hover, html.js #main .faqbox h3:active, html.js #main .faqbox h3:focus {
	cursor: pointer;
	outline: 0;
}

#main .faqbox .answer {
	padding: 0 1.5em 0.625em;
	outline: 0 !important;
}

@media only screen and (max-width: 767px) {
	#main .faqbox .answer {
		padding: 0.534em 1.2em 1.5em;
	}
}

#main .faqbox .answer > :first-child,
#main .faqbox .answer > .text > :first-child {
	margin-top: 0;
}

html.js #main .faqbox .answer {
	display: none;
}

#main .faqbox .controls {
	position: absolute;
	top: 0;
	right: 0;
	display: none;
}

html.js #main .faqbox .controls {
	display: block;
}

#main .faqbox .controls .btn {
	display: none;
	position: absolute;
	top: 0.625em;
	right: 8px;
	padding: 1em 16px;
	border: 0;
	border-radius: 6px;
	z-index: 0;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	#main .faqbox .controls .btn {
		top: 0.6em;
		right: 6px;
		padding: 0.667em 10px;
	}
}

#main .faqbox .controls .btn img {
	max-width: none;
	width: 1em;
	height: 1em;
	vertical-align: bottom;
}

/*------------------------------------------------
	KVイメージ部分
------------------------------------------------*/
.kvbox,
.kvbox > a {
	display: block;
}

#main .kvbox {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 1120px;
	background: #fff;
	color: #2C2C2C;
	padding: 0;
}

@media (max-width: 1119px) {
	#main .kvbox {
		width: 100vw;
		max-width: 100%;
	}
}

.ie11 #main .kvbox {
	position: relative;
	left: 13px;
}

@media only screen and (max-width: 767px) {
	#main .kv-single {
		padding-bottom: 20px;
	}
}

#main .kv-single .kvbox {
	margin: 0 auto;
}

#main article.kvbox,
#main .kvbox article {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
	height: 330px;
	padding: 15px 60px 20px;
	padding-right: 620px;
	background: #fff;
	color: #2C2C2C;
	text-decoration: none;
	text-align: left;
}

@media (max-width: 1119px) {
	#main article.kvbox,
	#main .kvbox article {
		padding-left: 60px;
		padding-right: 55%;
	}
}

@media (max-width: 979px) {
	#main article.kvbox,
	#main .kvbox article {
		padding-left: 48px;
		padding-right: 49%;
	}
}

@media only screen and (max-width: 767px) {
	#main article.kvbox,
	#main .kvbox article {
		display: block;
		height: auto;
		padding: 0 24px;
	}
}

@media only screen and (max-width: 479px) {
	#main article.kvbox,
	#main .kvbox article {
		padding: 0 18px;
	}
}

#main .kvbox header, #main .kvbox h2, #main .kvbox h3 {
	margin: 0;
}

#main .kvbox header a, #main .kvbox h2 a, #main .kvbox h3 a {
	display: block;
}

#main .kvbox header figure, #main .kvbox h2 figure, #main .kvbox h3 figure {
	margin-bottom: 15px;
}

#main .kvbox header img, #main .kvbox h2 img, #main .kvbox h3 img {
	display: block;
}

@media (max-width: 1199px) {
	#main .kvbox header img, #main .kvbox h2 img, #main .kvbox h3 img {
		width: 100%;
		height: auto;
	}
}

#main .kvbox header h2, #main .kvbox header h3 {
	margin-left: 0;
	margin-right: 0;
}

#main .kvbox h2, #main .kvbox h3 {
	font-size: 150%;
	line-height: 1.667;
	margin-bottom: 0.396em;
	font-weight: bold;
}

@media (max-width: 1119px) {
	#main .kvbox h2, #main .kvbox h3 {
		font-size: 150%;
		line-height: 1.6;
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox h2, #main .kvbox h3 {
		font-size: 133.4%;
		line-height: 1.6;
		margin-bottom: 0.2em;
	}
}

#main .kvbox h2 .copy,
#main .kvbox h2 .site, #main .kvbox h3 .copy,
#main .kvbox h3 .site {
	display: block;
	font-size: 66.7%;
	line-height: 1.625;
	margin-bottom: 0.438em;
	color: #008070;
}

@media only screen and (max-width: 767px) {
	#main .kvbox h2 .copy,
	#main .kvbox h2 .site, #main .kvbox h3 .copy,
	#main .kvbox h3 .site {
		font-size: 70%;
		line-height: 1.858;
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox h2 .copy,
	#main .kvbox h2 .site, #main .kvbox h3 .copy,
	#main .kvbox h3 .site {
		margin-bottom: 0em;
	}
}

#main .kvbox h2 .text, #main .kvbox h3 .text {
	display: block;
}

#main .kvbox .img {
	overflow: hidden;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 50%;
}

@media (max-width: 979px) {
	#main .kvbox .img {
		width: 45%;
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox .img {
		position: relative;
		width: auto;
		margin: 0 -24px 14px;
	}
}

@media only screen and (max-width: 479px) {
	#main .kvbox .img {
		margin: 0 -18px 14px;
	}
}

#main .kvbox .img img {
	-webkit-transition-duration: 0.2s;
	        transition-duration: 0.2s;
}

@media (max-width: 1119px) {
	#main .kvbox .img img {
		max-width: none;
		width: auto;
		height: 100%;
	}
	@supports ((-o-object-fit: cover) or (object-fit: cover)) {
		#main .kvbox .img img {
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox .img img {
		width: 100%;
		height: auto;
		max-height: 40vw;
	}
}

#main .kvbox p {
	font-size: 93.8%;
	line-height: 1.867;
	margin-bottom: 0.5em;
}

@media only screen and (max-width: 767px) {
	#main .kvbox p {
		font-size: 93.4%;
		line-height: 1.858;
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox p {
		margin-bottom: 0.75em;
	}
}

#main .kvbox .nav {
	margin-top: 1.167em;
}

@media (max-width: 1119px) {
	#main .kvbox .nav {
		margin: 1.5625vw -0.5357vw 0;
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox .nav {
		margin-top: 0.715em;
		text-align: center;
	}
}

#main .kvbox .nav a.btn {
	line-height: 1.6666666667;
	padding: 16px 32px;
	text-align: left;
}

@media (max-width: 1119px) {
	#main .kvbox .nav a.btn {
		padding: 14px 28px;
	}
}

@media only screen and (max-width: 767px) {
	#main .kvbox .nav a.btn {
		max-width: 90%;
		text-align: center;
	}
}

#main .kvbox .nav a.btn[target="_blank"]:after {
	content: "" !important;
	background-image: url("../img/ico/ico-outlink-color@2x.png") !important;
}

#main .kvbox + hr {
	display: none;
}

#main .kv-cover {
	overflow: hidden;
}

#main .kv-cover .kvbox {
	position: static;
}

#main .kv-cover .kvbox .img {
	overflow: hidden;
	position: absolute;
	right: auto;
	left: 50%;
	width: 960px;
	width: 50vw;
	max-width: 960px;
}

@media (max-width: 1119px) {
	#main .kv-cover .kvbox .img {
		left: auto;
		right: 0;
		width: 50%;
		max-width: none;
	}
}

@media (max-width: 979px) {
	#main .kv-cover .kvbox .img {
		width: 45%;
	}
}

@media only screen and (max-width: 767px) {
	#main .kv-cover .kvbox .img {
		position: relative;
		width: auto;
		left: auto;
		max-width: none;
	}
}

#main .kv-cover .kvbox .img img {
	position: relative;
	max-width: none;
	width: auto;
	height: 100%;
	left: 50%;
	margin-left: -480px;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	#main .kv-cover .kvbox .img img {
		-o-object-fit: cover;
		   object-fit: cover;
		width: 100%;
		height: 100%;
		left: auto;
		margin-left: 0;
	}
}

@media only screen and (max-width: 767px) {
	#main .kv-cover .kvbox .img img {
		width: 100%;
		height: auto;
		left: auto;
		margin-left: 0;
	}
}

#main a.kvbox:after,
#main .kvbox a:after {
	content: none;
}

#main a.kvbox:hover .img img, #main a.kvbox:active .img img, #main a.kvbox:focus .img img,
#main .kvbox a:hover .img img,
#main .kvbox a:active .img img,
#main .kvbox a:focus .img img {
	opacity: 0.75;
	-webkit-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	        transform: scale(1.02);
}

#main a.kvbox:link .h {
	color: #326EAA;
}

#main a.kvbox:visited .h {
	color: #326EAA;
}

#main a.kvbox:hover .h, #main a.kvbox:focus .h {
	color: #A50;
}

#main a.kvbox:active .h {
	color: #A50;
}

#main a.kvbox[href] .h {
	text-decoration: underline;
}

#main a.kvbox:focus {
	outline: none !important;
}

#main .kv {
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

#main .kv a.image {
	display: block;
}

#main .kv .grid {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-top: 40px;
}

.js #main .kv .grid {
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: normal;
	    -ms-flex-pack: normal;
	        justify-content: normal;
	margin-top: 0;
}

#main .kv .grid > .kvbox {
	margin: 0 20px 40px;
	-webkit-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
	        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}

.js #main .kv .grid > .kvbox {
	margin: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
}

#main .kv .swiper-container-initialized .kvbox .img img {
	opacity: 0.7;
	-webkit-transition: opacity 1.0s ease-in-out;
	transition: opacity 1.0s ease-in-out;
}

@media (max-width: 979px) {
	#main .kv .swiper-container-initialized .kvbox .img img {
		opacity: 1;
	}
}

#main .kv .swiper-container-initialized .kvbox.swiper-slide-active .img img, #main .kv .swiper-container-initialized .kvbox.swiper-slide-duplicate-active .img img {
	opacity: 1;
}

#main .kv.fade .swiper-container-initialized {
	background: #000;
	color: #fff;
}

@media (max-width: 979px) {
	#main .kv.fade .swiper-container-initialized {
		background: #fff;
		color: #2C2C2C;
	}
}

#main .kv.fade .swiper-container-initialized .kvbox {
	opacity: 0.51;
	-webkit-transition: opacity 1.0s ease-in-out;
	transition: opacity 1.0s ease-in-out;
}

@media (max-width: 979px) {
	#main .kv.fade .swiper-container-initialized .kvbox {
		opacity: 1;
	}
}

#main .kv.fade .swiper-container-initialized .kvbox.swiper-slide-active, #main .kv.fade .swiper-container-initialized .kvbox.swiper-slide-duplicate-active {
	opacity: 1;
}

#main .kv.fade .swiper-container-initialized .kvbox .img img {
	opacity: 1;
}

#main .kv .swiper-button-prev,
#main .kv .swiper-button-next {
	width: 50px;
	height: 50px;
	background: #fff;
	color: #2C2C2C;
	-webkit-box-shadow: none;
	        box-shadow: none;
	opacity: 1;
}

#main .kv .swiper-button-prev:hover, #main .kv .swiper-button-prev:active, #main .kv .swiper-button-prev:focus,
#main .kv .swiper-button-next:hover,
#main .kv .swiper-button-next:active,
#main .kv .swiper-button-next:focus {
	opacity: 0.7;
}

#main .kv .swiper-button-prev:after,
#main .kv .swiper-button-next:after {
	width: 16px;
	height: 16px;
	margin-top: -8px;
	margin-left: -8px;
}

@media only screen and (max-width: 767px) {
	#main .kv .swiper-button-prev:after,
	#main .kv .swiper-button-next:after {
		width: 12px;
		height: 12px;
		margin-top: -6px;
	}
}

@media only screen and (max-width: 767px) {
	#main .kv .swiper-button-prev:after,
	#main .kv .swiper-button-next:after {
		margin-left: -6px;
	}
}

@media (max-width: 1199px) {
	#main .kv .swiper-button-prev,
	#main .kv .swiper-button-next {
		width: 45px;
		height: 45px;
	}
}

@media (max-width: 979px) {
	#main .kv .swiper-button-prev,
	#main .kv .swiper-button-next {
		width: 40px;
		height: 40px;
	}
}

#main .kv .swiper-button-prev:after {
	background-image: url("../img/ico/ico-slide-prev.svg");
}

#main .kv .swiper-button-next:after {
	background-image: url("../img/ico/ico-slide-next.svg");
}

#main .kv .swiper-pagination-wrapper {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	position: absolute;
	left: 50%;
	bottom: 10px;
	width: 560px;
	max-width: 50%;
	padding-right: 18px !important;
	text-align: right;
	line-height: 1;
}

@media (max-width: 1119px) {
	#main .kv .swiper-pagination-wrapper {
		left: auto;
		right: 0;
		max-width: none;
		width: 50%;
	}
}

@media (max-width: 979px) {
	#main .kv .swiper-pagination-wrapper {
		width: 44.6428571429%;
	}
}

@media only screen and (max-width: 767px) {
	#main .kv .swiper-pagination-wrapper {
		position: relative;
		width: auto;
		right: auto;
		bottom: auto;
		margin: 11px 0 16px !important;
		padding-right: 19px !important;
	}
}

#main .kv .swiper-pagination {
	text-align: right;
}

#main .kv .swiper-pagination-bullet:before {
	-webkit-box-shadow: 0 0 0 2px #fff;
	        box-shadow: 0 0 0 2px #fff;
}

#main .kv .swiper-background:before, #main .kv .swiper-background:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 3;
	width: 50%;
	background: rgba(0, 0, 0, 0.49);
}

@media (max-width: 1119px) {
	#main .kv .swiper-background:before, #main .kv .swiper-background:after {
		content: none;
	}
}

#main .kv .swiper-background:before {
	right: 50%;
	margin-right: 560px;
}

#main .kv .swiper-background:after {
	left: 50%;
	margin-left: 560px;
}

/*------------------------------------------------
	関連リンクなど
------------------------------------------------*/
main .related {
	margin: 2.625em 0;
}

@media only screen and (max-width: 767px) {
	main .related {
		margin: 2.034em 0;
	}
}

main .related h2 {
	margin-bottom: 1em;
	padding-bottom: 1em !important;
	padding-left: 0 !important;
	border-bottom: 1px solid #C1C1C1;
	font-size: 112.5%;
	line-height: 1.667;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	main .related h2 {
		margin-bottom: 0.844em;
		padding-bottom: 0.625em;
		font-size: 106.7%;
		line-height: 1.875;
	}
}

main .related h3 {
	margin-bottom: 0.75em;
	font-weight: 500;
	font-size: 100%;
	line-height: 1.75;
}

main .related .grid .img img,
main .related .grid-box .img img {
	width: 100%;
	height: auto;
}

/*------------------------------------------------
	アンカーリンク部分
------------------------------------------------*/
main nav.anchor,
main div.nav.anchor {
	margin: 40px auto;
}

main nav.anchor ul.nav,
main div.nav.anchor ul.nav {
	font-weight: bold;
}

@media only screen and (max-width: 767px) {
	main nav.anchor ul.nav,
	main div.nav.anchor ul.nav {
		font-size: 106.7%;
	}
	main nav.anchor ul.nav a:after,
	main div.nav.anchor ul.nav a:after {
		width: 7px;
		margin-left: 10px;
		background-size: auto auto;
	}
}

main nav.anchor ul.inline,
main div.nav.anchor ul.inline {
	margin-left: 0;
	margin-right: 0;
}

main nav.anchor dd,
main div.nav.anchor dd {
	padding-left: 2em;
}

/*------------------------------------------------
	注目キーワード
------------------------------------------------*/
#main .keywords {
	margin: 0 -3px;
	padding: 0;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	#main .keywords {
		margin: 0 -1px;
	}
}

#main .keywords li {
	display: inline-block;
	margin: 0 2.5px;
	margin-bottom: 14px !important;
}

@media only screen and (max-width: 767px) {
	#main .keywords li {
		margin: 0 1px;
		margin-bottom: 12px !important;
	}
}

#main .keywords li:before {
	content: none;
}

#main .keywords li .btn {
	font-size: 93.8%;
	line-height: 1.734;
	padding: 9px 1.067em 8px;
	font-weight: 500;
	letter-spacing: 0;
}

@media only screen and (max-width: 767px) {
	#main .keywords li .btn {
		font-size: 86.7%;
		line-height: 2;
	}
}

.ie #main .keywords li .btn {
	padding-top: 12px;
	padding-bottom: 5px;
}

@media only screen and (max-width: 767px) {
	#main .keywords li .btn {
		padding: 3.5px 0.77em 2.5px;
	}
}

#main .keywords li .btn:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico/ico-hash@2x.png") no-repeat center;
	background-size: contain;
	width: 0.8em;
	height: 1.067em;
	margin-right: 0.4em;
}

.ie8 #main .keywords li .btn:before {
	background-image: url("../img/ico/ico-hash.png");
}

#main .keywords li .btn:after {
	margin-left: 0.5em;
	margin-right: 0;
}

/* キーワード検索フォーム */
#search {
	display: none;
}

html.js #search {
	display: block;
}

#search .form-group {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#search input[type="search"],
#search input[type="text"] {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: calc(100% - 52px);
	width: 308px;
	height: 50px !important;
	padding: 6px 6px 6px 16px !important;
	border: 1px solid #C1C1C1 !important;
	border-radius: 6px 0 0 6px !important;
	background-position: 16px center !important;
}

@media only screen and (max-width: 767px) {
	#search input[type="search"],
	#search input[type="text"] {
		width: 81.6901408451%;
		width: calc(100% - 52px);
		max-width: 308px;
	}
}

.ie #search input[type="search"], .ie
#search input[type="text"] {
	padding-top: 6px !important;
	padding-bottom: 0 !important;
}

#search table td input[type="search"],
#search table td input[type="text"] {
	max-width: 100%;
	padding-right: 36px !important;
}

#search button {
	position: relative;
	left: -1px;
	min-width: 52px !important;
	height: 50px !important;
	padding: 6px 17px;
	border: 1px solid #C1C1C1;
	border-left: 0;
	border-radius: 0 6px 6px 0 !important;
	text-align: center;
	vertical-align: middle;
	background: #008070;
	color: #fff;
}

#search button:hover, #search button:active, #search button:focus {
	background: #155A4E;
	color: #fff;
}

.ie #search button {
	padding: 8px 17px 4px;
}

#search button img {
	width: auto;
	height: 16px;
}

#search .gsc-search-button-v2 svg {
	display: none;
}

#search .gsc-search-button-v2:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-search-white@2x.png") no-repeat center;
	background-size: contain;
	width: 16px;
	height: 16px;
}

#search table, #search th, #search td {
	padding: 0;
	border: 0;
}

/* Google カスタム検索の default.css をリセット */
form.gsc-search-box {
	width: auto !important;
	margin: 0 !important;
	font-size: 100% !important;
}

form table.gsc-search-box {
	width: auto;
	margin: 0 auto;
}

@media only screen and (max-width: 479px) {
	form table.gsc-search-box {
		width: 100% !important;
	}
}

form table.gsc-search-box table, form table.gsc-search-box td {
	width: auto !important;
	padding: 0 !important;
}

@media only screen and (max-width: 479px) {
	form table.gsc-search-box table, form table.gsc-search-box td {
		width: 100% !important;
	}
}

form table.gsc-search-box td.gsc-input {
	padding: 0;
	font-size: 100%;
}

.gsc-search-box .gsc-input-box {
	position: relative;
	border: 0;
	background: none;
}

.gsc-search-box .gsc-search-button {
	width: auto;
	margin-left: 0;
}

.gsc-search-box .gsc-clear-button {
	margin: 0;
	padding: 0;
	text-align: center;
}

.gsc-search-box .gsc-input {
	font-size: 100%;
}

.gsc-search-box input.gsc-input {
	margin: 0 !important;
	padding: 6px !important;
	border: 1px solid #C1C1C1 !important;
	border-radius: 0;
	background-position: 8px center !important;
}

.gsc-search-box .gsc-search-button-v2 {
	width: auto;
	padding: 6px 16px;
	border: 1px solid #D3D3D3;
	border-radius: 0;
	background: #008070;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	font-size: 100%;
}

.gsc-search-box .gsst_b {
	position: absolute;
	top: 50%;
	right: 5px;
	margin-top: -14px !important;
	padding: 0;
	font-size: 100%;
}

.gsc-search-box .gsst_a,
.gsc-search-box .gsst_a .gscb_a {
	color: #008070;
}

.gsc-search-box .gsst_a {
	padding: 0 6px;
}

.gsc-search-box .gsst_a:hover, .gsc-search-box .gsst_a:active, .gsc-search-box .gsst_a:focus {
	opacity: 0.7;
}

.gsc-search-box .gscb_a {
	font-size: 150%;
	line-height: 28px;
	vertical-align: middle;
}

body .gsc-completion-container {
	margin: 0;
	padding: 0;
	border: 1px solid #D3D3D3;
	background: #fff;
	text-align: left;
	font-size: 100%;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans CJK JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body .gsc-completion-container .gssb_a {
	padding: 0 1em;
}

body .gsc-completion-container .gssb_a,
body .gsc-completion-container .gssb_a td {
	line-height: 1.5;
}

body .gsc-completion-container .gsq_a {
	padding: 0.25em 0 0.15em;
}

.ie body .gsc-completion-container .gsq_a {
	padding: 0.4em 0 0;
}

/* キーワード検索結果 */
#result table, #result th, #result td {
	padding: 0;
	border: 0;
}

#result .gsc-tabsArea,
#result .gsc-refinementsArea {
	margin-bottom: 2.188em;
}

#result .gsc-refinementBlock {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
}

@media (max-width: 979px) {
	#result .gsc-refinementBlock {
		width: 100%;
	}
}

#result .gsc-refinementsGradient {
	display: none;
}

#result .gsc-tabsArea .gsc-tabHeader,
#result .gsc-refinementsArea .gsc-refinementHeader {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	-ms-flex-negative: 1;
	    flex-shrink: 1;
	width: auto;
	padding: 21px 1em;
	border-bottom-width: 4px;
	font-size: 100%;
	line-height: 1.625;
}

@media only screen and (max-width: 767px) {
	#result .gsc-tabsArea .gsc-tabHeader,
	#result .gsc-refinementsArea .gsc-refinementHeader {
		-webkit-box-flex: 1;
		    -ms-flex-positive: 1;
		        flex-grow: 1;
		-ms-flex-negative: 1;
		    flex-shrink: 1;
		min-width: 5em;
		padding: 0.75em 12px 0.5em;
		font-size: 93.4%;
		line-height: 1.75;
	}
	#result .gsc-tabsArea .gsc-tabHeader:before,
	#result .gsc-refinementsArea .gsc-refinementHeader:before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		height: 1em;
		margin-top: -0.5em;
		border-left: 1px solid #D3D3D3;
	}
	#result .gsc-tabsArea .gsc-tabHeader:first-child:before,
	#result .gsc-refinementsArea .gsc-refinementHeader:first-child:before {
		content: none;
	}
}

#result .gsc-tabsArea .gsc-tabHeader small,
#result .gsc-refinementsArea .gsc-refinementHeader small {
	margin-left: 0.2em;
	font-size: 100%;
	white-space: nowrap;
}

@media only screen and (max-width: 479px) {
	#result .gsc-tabsArea .gsc-tabHeader small,
	#result .gsc-refinementsArea .gsc-refinementHeader small {
		display: block;
	}
}

#result .gsc-selected-option-container {
	border-width: 0;
}

#result .gsc-result {
	position: relative;
	padding: 1.25em 4px;
	border-bottom: 1px solid #D3D3D3;
}

#result .gsc-result div.gs-title {
	position: relative;
	padding-right: 7.813em;
}

@media (max-width: 979px) {
	#result .gsc-result div.gs-title {
		padding-right: 0;
	}
}

#result .gsc-result div.gs-title b,
#result .gs-snippet b {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(42%, rgba(255, 245, 188, 0.7)), color-stop(90%, #FFF5BC), color-stop(92%, transparent));
	background: -webkit-linear-gradient(transparent 40%, rgba(255, 245, 188, 0.7) 42%, #FFF5BC 90%, transparent 92%);
	background: linear-gradient(transparent 40%, rgba(255, 245, 188, 0.7) 42%, #FFF5BC 90%, transparent 92%);
}

.ie #result .gsc-result div.gs-title b, .ie
#result .gs-snippet b {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, transparent), color-stop(22%, rgba(255, 245, 188, 0.7)), color-stop(70%, #FFF5BC), color-stop(72%, transparent));
	background: -webkit-linear-gradient(transparent 20%, rgba(255, 245, 188, 0.7) 22%, #FFF5BC 70%, transparent 72%);
	background: linear-gradient(transparent 20%, rgba(255, 245, 188, 0.7) 22%, #FFF5BC 70%, transparent 72%);
}

#result .gsc-result div.gs-title b.gs-dots3,
#result .gs-snippet b.gs-dots3 {
	background: none;
}

#result div.gs-visibleUrl {
	color: #5F5F5F;
	font-size: 87.5%;
}

#result .gsc-table-result {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 0.3em;
}

@media only screen and (max-width: 767px) {
	#result .gsc-table-result {
		display: block;
	}
}

#result .gs-web-image-box {
	width: 110px;
}

#result .gs-web-image-box .gs-image {
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	width: 108px;
	max-width: none;
	max-height: 57px;
}

#result .gs-web-image-box a {
	overflow: hidden;
}

#result .gs-web-image-box a img.gs-image {
	max-height: none;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	#result .gs-web-image-box a {
		overflow: visible;
	}
	#result .gs-web-image-box img.gs-image {
		-o-object-fit: cover;
		   object-fit: cover;
		height: 57px;
	}
}

#result .gs-per-result-labels {
	position: absolute;
	top: 1.643em;
	right: 4px;
	text-align: right;
}

@media (max-width: 979px) {
	#result .gs-per-result-labels {
		position: static;
		top: auto;
		right: auto;
		margin-top: 0.5em;
	}
}

#result .gs-per-result-labels .gs-label {
	margin-left: 0.5em;
	padding: 3px 0.715em 2px;
	border-radius: 2em;
	background: #DEEFFF;
	color: #000;
	text-decoration: none;
	opacity: 1;
	-webkit-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}

.ie #result .gs-per-result-labels .gs-label {
	padding: 5.5px 0.715em 0;
}

#result .gs-per-result-labels .gs-label:hover, #result .gs-per-result-labels .gs-label:active, #result .gs-per-result-labels .gs-label:focus {
	opacity: 0.7;
}

#result .gsc-results .gsc-cursor-box {
	margin: 2.125em 0;
	text-align: center;
}

#result .gsc-results .gsc-cursor-box .gsc-cursor-page {
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	display: inline-block;
	min-width: 1.2em;
	margin: 0 5px;
	padding: 13px 12px 12px;
	border: 1px solid #C1C1C1;
	border-radius: 5px;
	background-color: #fff;
	white-space: nowrap;
	text-align: center;
	font-weight: bold;
	font-size: 93.8%;
	line-height: 1;
}

#result .gsc-results .gsc-cursor-box .gsc-cursor-page:hover, #result .gsc-results .gsc-cursor-box .gsc-cursor-page:active, #result .gsc-results .gsc-cursor-box .gsc-cursor-page:focus {
	background: #EEF4F4;
	color: #000;
}

#result .gcsc-more-maybe-branding-root {
	margin: 2.125em 0;
	text-align: left;
}

#result .gsc-adBlock {
	padding: 0.688em 12px;
	border: 8px solid #D3D3D3;
}

/* Google カスタム検索の default.css をリセット */
main .gsc-control-cse {
	margin: 0.625em 0;
	padding: 0;
	border: none;
	background: none;
	text-align: left;
	font-size: 100%;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans CJK JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

main .gsc-control-cse .gsc-control-wrapper-cse {
	width: auto;
}

main .gsc-control-cse .gsc-tabsArea,
main .gsc-control-cse .gsc-refinementsArea {
	margin: 0 auto;
	border: 0;
	border-bottom: 1px solid #D3D3D3;
	border-radius: 0;
}

main .gsc-control-cse .gsc-tabsArea .gsc-refinementBlock,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementBlock {
	margin: 0 auto;
}

main .gsc-control-cse .gsc-tabsArea .gsc-tabHeader,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementHeader {
	position: relative;
	bottom: -1px;
	min-width: 0;
	opacity: 1;
	padding: 1em;
	border-bottom: 2px solid transparent;
	border-bottom-color: rgba(255, 255, 255, 0);
	text-align: center;
	font-weight: bold;
	font-size: 100%;
	line-height: 1.5;
	-webkit-transition: border-color 0.2s ease-out, color 0.2s ease-out, opacity 0.2s ease-out;
	transition: border-color 0.2s ease-out, color 0.2s ease-out, opacity 0.2s ease-out;
}

main .gsc-control-cse .gsc-tabsArea .gsc-tabHeader:hover, main .gsc-control-cse .gsc-tabsArea .gsc-tabHeader:active, main .gsc-control-cse .gsc-tabsArea .gsc-tabHeader:focus,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementHeader:hover,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementHeader:active,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementHeader:focus {
	opacity: 0.7;
	border-bottom-color: #C1C1C1;
}

main .gsc-control-cse .gsc-tabsArea .gsc-tabHeader,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementHeader {
	background: none;
	color: #000;
}

main .gsc-control-cse .gsc-tabsArea .gsc-tabHeader.gsc-tabhActive,
main .gsc-control-cse .gsc-refinementsArea .gsc-refinementHeader.gsc-refinementhActive {
	border-bottom-color: #008070;
}

main .gsc-control-cse .gsc-above-wrapper-area {
	margin: 0 auto;
	padding: 0 0 0.5em;
	border-bottom: 1px solid #D3D3D3;
}

main .gsc-control-cse .gsc-result-info {
	margin: 0;
	padding: 6px 4px;
	color: #2C2C2C;
	font-size: 87.5%;
	line-height: 1.5;
}

main .gsc-control-cse .gsc-orderby-label {
	color: inherit;
	padding: 6px 6px 5px;
	font-size: 87.5%;
	line-height: 1.5;
}

main .gsc-control-cse .gsc-option-menu-container {
	position: relative;
	color: inherit;
	font-size: 100%;
}

main .gsc-control-cse .gsc-selected-option-container {
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	position: relative;
	max-width: none;
	min-width: 0;
	height: 1.5em;
	padding: 6px 28px 5px 10px;
	border: 1px solid #C1C1C1;
	border-radius: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
	text-align: left;
	font-size: 87.5%;
	line-height: 1.5;
	font-weight: 500;
	background: #F5F5F5;
	color: #000;
	-webkit-transition: background-color 0.2s ease-out, color 0.2s ease-out;
	transition: background-color 0.2s ease-out, color 0.2s ease-out;
}

main .gsc-control-cse .gsc-selected-option-container:hover, main .gsc-control-cse .gsc-selected-option-container:active, main .gsc-control-cse .gsc-selected-option-container:focus {
	background: #fff;
}

main .gsc-control-cse .gsc-selected-option {
	width: auto;
}

main .gsc-control-cse .gsc-option-selector {
	top: 50%;
	margin-top: -5px;
}

main .gsc-control-cse .gsc-option-menu {
	top: 100% !important;
	margin: 0;
	padding: 0;
	border: 1px solid #D3D3D3;
	background: #fff;
	font-size: 87.5%;
	line-height: 1.5;
}

main .gsc-control-cse .gsc-option-menu-item {
	margin: 0;
	padding: 6px 28px;
	white-space: nowrap;
	color: #2C2C2C;
}

main .gsc-control-cse .gsc-option-menu-item-highlighted {
	background-color: #F5F5F5;
	border-color: #F5F5F5;
	color: #2C2C2C;
	font-weight: bold;
}

main .gsc-control-cse .gsc-option {
	font-size: 100%;
	line-height: 1.5;
}

main .gsc-control-cse .gsc-wrapper {
	margin: 0 auto;
}

main .gsc-control-cse .gsc-results {
	padding-bottom: 0;
	width: auto;
}

main .gsc-control-cse .gsc-result {
	margin: 0;
	padding: 10px 0;
	border: 0;
	background: none;
}

main .gsc-control-cse .gsc-thumbnail-inside,
main .gsc-control-cse .gsc-url-top,
main .gsc-control-cse .gsc-table-result,
main .gsc-control-cse .gs-promotion-table {
	padding: 0;
}

main .gsc-control-cse .gs-result .gs-title,
main .gsc-control-cse .gs-result .gs-title * {
	font-size: 100%;
	color: inherit;
}

main .gsc-control-cse .gs-result a.gs-title {
	font-weight: bold;
	text-decoration: underline;
}

main .gsc-control-cse .gs-result a.gs-title:link {
	color: #326EAA;
}

main .gsc-control-cse .gs-result a.gs-title:visited {
	color: #326EAA;
}

main .gsc-control-cse .gs-result a.gs-title:hover {
	color: #A50;
}

main .gsc-control-cse .gs-result a.gs-title:active {
	color: #A50;
}

main .gsc-control-cse div.gs-visibleUrl {
	color: #008070;
}

main .gsc-control-cse .gsc-table-result {
	font-size: 87.5%;
	line-height: 1.5;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans CJK JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

main .gsc-control-cse .gsc-table-cell-snippet-close {
	padding: 0;
}

main .gsc-control-cse .gs-snippet {
	margin: 0;
	color: #2C2C2C !important;
}

main .gsc-control-cse .gs-web-image-box {
	width: 98px;
	margin: 0 15px 0 0;
	padding: 3px 0;
}

@media only screen and (max-width: 767px) {
	main .gsc-control-cse .gs-web-image-box {
		float: right !important;
		margin: 0 0 8px 10px !important;
	}
}

main .gsc-control-cse .gs-web-image-box .gs-image {
	max-width: 100%;
	max-height: 57px;
	width: auto;
	height: auto;
	border: 0;
	vertical-align: top;
}

main .gsc-control-cse .gs-web-image-box a.gs-image {
	display: inline-block;
	max-height: none;
	border: 1px solid #C1C1C1;
}

main .gsc-control-cse a.gs-image:after {
	content: none;
}

main .gsc-control-cse .gs-per-result-labels span {
	display: none;
}

main .gsc-control-cse .gs-per-result-labels .gs-label {
	padding: 0;
	color: #2C2C2C;
	text-decoration: underline;
	cursor: pointer;
}

main .gsc-control-cse .gsc-results .gsc-cursor-box {
	margin: 1em 0;
	border: 0;
}

main .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page {
	display: inline-block;
	margin: 0;
	border: none;
	background: none;
	color: #326EAA;
	text-decoration: underline;
	-webkit-transition: background-color 0.2s ease-out, color 0.2s ease-out;
	transition: background-color 0.2s ease-out, color 0.2s ease-out;
}

main .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page:hover, main .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page:active, main .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-page:focus {
	color: #A50;
}

main .gsc-control-cse .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
	color: #000;
	text-decoration: none;
}

main .gsc-control-cse .gsc-results .gsc-cursor {
	color: inherit;
}

main .gsc-control-cse .gcsc-more-maybe-branding-root {
	position: relative;
	margin: 1em 0;
}

main .gsc-control-cse .gcsc-more-maybe-branding-box {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

main .gsc-control-cse .gcsc-find-more-on-google {
	display: inline;
	margin: 0;
	padding: 0;
	color: #326EAA;
}

main .gsc-control-cse .gcsc-find-more-on-google-magnifier {
	width: 1em;
	height: 1em;
	margin-right: 10px;
	fill: #326EAA;
}

main .gsc-control-cse .gcsc-find-more-on-google-query {
	text-decoration: underline;
}

main .gsc-control-cse .gcsc-find-more-on-google-branding {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
}

@media only screen and (max-width: 767px) {
	main .gsc-control-cse .gcsc-find-more-on-google-branding {
		position: relative;
		text-align: center;
	}
}

main .gsc-control-cse .gsc-branding,
main .gsc-control-cse .gcsc-branding {
	padding: 0;
}

main .gsc-control-cse .gcsc-branding-clickable {
	padding-top: 1px;
}

main .gsc-control-cse .gcsc-branding-clickable:after {
	content: none;
}

main .gsc-control-cse .gcsc-branding-clickable img {
	vertical-align: middle;
}

main .gsc-control-cse .gs-no-results-result .gs-snippet,
main .gsc-control-cse .gs-error-result .gs-snippet {
	background: none;
	border: 0;
	display: block;
	margin: 0;
	padding: 2em 0;
	text-align: center;
}

main .gsc-control-cse .gsc-adBlock {
	position: relative;
	display: block;
	border-bottom: 1px solid #D3D3D3;
	margin: 0;
	padding: 10px 0;
}

/* swiper core */
:root {
	--swiper-theme-color: #008070;
}

.swiper-container {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	/* Fix of Webkit flickering */
	z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.swiper-wrapper {
	overflow: visible;
	position: relative;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
	-webkit-transform: translate3d(0px, 0, 0);
	        transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
	-webkit-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
	margin: 0 auto;
}

.swiper-slide {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 100%;
	position: relative;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
	height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-transition-property: height, -webkit-transform;
	transition-property: height, -webkit-transform;
	transition-property: transform, height;
	transition-property: transform, height, -webkit-transform;
}

/* 3D Effects */
.swiper-container-3d {
	-webkit-perspective: 1200px;
	        perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
	-webkit-transform-style: preserve-3d;
	        transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
	background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	/* For Firefox */
	-ms-overflow-style: none;
	/* For Internet Explorer and Edge */
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
	-webkit-scroll-snap-type: x mandatory;
	    -ms-scroll-snap-type: x mandatory;
	        scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
	-webkit-scroll-snap-type: y mandatory;
	    -ms-scroll-snap-type: y mandatory;
	        scroll-snap-type: y mandatory;
}

/* swiper navigation */
:root {
	--swiper-navigation-size: 44px;
	/*
	--swiper-navigation-color: var(--swiper-theme-color);
	*/
}

.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	z-index: 10;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
	overflow: hidden;
	display: inline-block;
	width: 38px;
	height: 76px;
	padding: 0;
	border: 0;
	line-height: 1;
	font-size: 0.625em;
	text-indent: -9999px;
	white-space: nowrap;
	background: #000;
	color: #fff;
	opacity: 0.7;
	-webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.12);
	        box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.12);
	cursor: pointer;
}

@media only screen and (max-width: 767px) {
	.swiper-button-prev,
	.swiper-button-next {
		width: 30px;
		height: 60px;
	}
}

.swiper-button-prev:hover, .swiper-button-prev:active, .swiper-button-prev:focus,
.swiper-button-next:hover,
.swiper-button-next:active,
.swiper-button-next:focus {
	opacity: 1;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	opacity: 0.2;
	cursor: auto;
	pointer-events: none;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/ico-angle-left-white@2x.png") no-repeat center;
	background-size: contain;
	width: 12px;
	height: 20px;
	margin-top: -10px;
	left: 50%;
	margin-left: -6px;
}

@media only screen and (max-width: 767px) {
	.swiper-button-prev:after,
	.swiper-button-next:after {
		width: 10px;
		height: 16px;
		margin-top: -8px;
	}
}

@media only screen and (max-width: 767px) {
	.swiper-button-prev:after,
	.swiper-button-next:after {
		margin-left: -5px;
	}
}

.swiper-button-prev {
	left: 0;
	right: auto;
}

.swiper-button-next {
	left: auto;
	right: 0;
}

.swiper-button-next:after {
	background-image: url("../img/ico-angle-right-white@2x.png");
}

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
	--swiper-navigation-color: #fff;
}

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
	--swiper-navigation-color: #000;
}

.swiper-button-lock {
	display: none;
}

@media (min-width: 768px) {
	.swiper-pagination-wrapper .swiper-button-prev,
	.swiper-pagination-wrapper .swiper-button-next {
		position: relative;
		z-index: 10;
		top: auto;
		left: auto;
		right: auto;
		bottom: auto;
		-webkit-transform: none;
		    -ms-transform: none;
		        transform: none;
		overflow: hidden;
		display: inline-block;
		width: 42px;
		height: 42px;
		border: 1px solid #C1C1C1;
		border-radius: 100%;
		background: #fff;
		color: #2C2C2C;
		opacity: 1;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}
	.swiper-pagination-wrapper .swiper-button-prev:hover, .swiper-pagination-wrapper .swiper-button-prev:focus,
	.swiper-pagination-wrapper .swiper-button-next:hover,
	.swiper-pagination-wrapper .swiper-button-next:focus {
		border-color: #008070;
		-webkit-transform: scale(1.1);
		    -ms-transform: scale(1.1);
		        transform: scale(1.1);
	}
	.swiper-pagination-wrapper .swiper-button-prev:after,
	.swiper-pagination-wrapper .swiper-button-next:after {
		width: 16px;
		height: 16px;
		margin-top: -8px;
		margin-left: -8px;
	}
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
	.swiper-pagination-wrapper .swiper-button-prev:after,
	.swiper-pagination-wrapper .swiper-button-next:after {
		margin-left: -8px;
	}
}

@media (min-width: 768px) {
	.swiper-pagination-wrapper .swiper-button-prev {
		margin-right: 10px;
	}
	.swiper-pagination-wrapper .swiper-button-prev:after {
		background-image: url("../img/ico/ico-slide-prev.svg");
	}
	.swiper-pagination-wrapper .swiper-button-next {
		margin-left: 10px;
	}
	.swiper-pagination-wrapper .swiper-button-next:after {
		background-image: url("../img/ico/ico-slide-next.svg");
	}
}

/* Scrollbar */
.swiper-scrollbar {
	border-radius: 10px;
	position: relative;
	-ms-touch-action: none;
	background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal > .swiper-scrollbar {
	position: absolute;
	left: 1%;
	bottom: 3px;
	z-index: 50;
	height: 5px;
	width: 98%;
}

.swiper-container-vertical > .swiper-scrollbar {
	position: absolute;
	right: 3px;
	top: 1%;
	z-index: 50;
	width: 5px;
	height: 98%;
}

.swiper-scrollbar-drag {
	height: 100%;
	width: 100%;
	position: relative;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 10px;
	left: 0;
	top: 0;
}

.swiper-scrollbar-cursor-drag {
	cursor: move;
}

.swiper-scrollbar-lock {
	display: none;
}

:root {
	/*
	--swiper-pagination-color: var(--swiper-theme-color);
	*/
}

.swiper-pagination {
	position: absolute;
	text-align: center;
	-webkit-transition: 300ms opacity;
	transition: 300ms opacity;
	-webkit-transform: translate3d(0, 0, 0);
	        transform: translate3d(0, 0, 0);
	z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
	opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container > .swiper-pagination-bullets,
.swiper-container > .swiper-pagination-wrapper {
	bottom: 10px;
	left: 0;
	width: 100%;
}

/* Pagination wrapper */
.swiper-pagination-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
	z-index: 10;
}

.swiper-pagination-wrapper > .swiper-pagination {
	position: relative;
	bottom: auto;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
	overflow: hidden;
	font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transform: scale(0.33);
	    -ms-transform: scale(0.33);
	        transform: scale(0.33);
	position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
	-webkit-transform: scale(0.66);
	    -ms-transform: scale(0.66);
	        transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
	-webkit-transform: scale(0.33);
	    -ms-transform: scale(0.33);
	        transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
	-webkit-transform: scale(0.66);
	    -ms-transform: scale(0.66);
	        transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
	-webkit-transform: scale(0.33);
	    -ms-transform: scale(0.33);
	        transform: scale(0.33);
}

.swiper-pagination-bullet {
	position: relative;
	width: 10px;
	height: 10px;
	display: inline-block;
	border-radius: 100%;
	background: #000;
	color: #fff;
	opacity: 0.525;
}

button.swiper-pagination-bullet {
	margin: 1px;
	padding: 0;
	border: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	width: 28px;
	height: 28px;
	line-height: 10px;
	text-align: center;
	vertical-align: middle;
	background: none;
	color: inherit;
	opacity: 1;
}

button.swiper-pagination-bullet:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background: #757575;
	color: #fff;
	-webkit-transition: -webkit-transform 0.2s ease-out;
	transition: -webkit-transform 0.2s ease-out;
	transition: transform 0.2s ease-out;
	transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

button.swiper-pagination-bullet:hover:before {
	-webkit-transform: scale(1.4);
	    -ms-transform: scale(1.4);
	        transform: scale(1.4);
}

button.swiper-pagination-bullet i {
	position: absolute;
	visibility: hidden;
	left: -9999px;
}

button.swiper-pagination-bullet.thumb {
	margin: 0;
	border-radius: 0;
}

button.swiper-pagination-bullet.thumb:before {
	content: none;
}

button.swiper-pagination-bullet.thumb i {
	position: static;
	visibility: visible;
	left: auto;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
	cursor: pointer;
}

button.swiper-pagination-bullet-active:before {
	background: #008070;
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets,
.swiper-container-vertical > .swiper-pagination-wrapper {
	left: auto;
	right: 10px;
	top: 50%;
	bottom: auto;
	width: auto;
	-webkit-transform: translate3d(0px, -50%, 0);
	        transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical .swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 6px 0;
	display: block;
}

.swiper-container-vertical .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	top: 50%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 8px;
}

.swiper-container-vertical .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	display: inline-block;
	-webkit-transition: 200ms top, 200ms -webkit-transform;
	transition: 200ms top, 200ms -webkit-transform;
	transition: 200ms transform, 200ms top;
	transition: 200ms transform, 200ms top, 200ms -webkit-transform;
}

.swiper-container-horizontal .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	white-space: nowrap;
}

.swiper-container-horizontal .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	margin: 1px 4px;
	-webkit-transition: 200ms left, 200ms -webkit-transform;
	transition: 200ms left, 200ms -webkit-transform;
	transition: 200ms transform, 200ms left;
	transition: 200ms transform, 200ms left, 200ms -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
	-webkit-transition: 200ms right, 200ms -webkit-transform;
	transition: 200ms right, 200ms -webkit-transform;
	transition: 200ms transform, 200ms right;
	transition: 200ms transform, 200ms right, 200ms -webkit-transform;
}

/* Progress */
.swiper-pagination-progressbar {
	background: rgba(0, 0, 0, 0.25);
	position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background: #008070;
	background: var(--swiper-pagination-color, var(--swiper-theme-color));
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(0);
	    -ms-transform: scale(0);
	        transform: scale(0);
	-webkit-transform-origin: left top;
	    -ms-transform-origin: left top;
	        transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	-webkit-transform-origin: right top;
	    -ms-transform-origin: right top;
	        transform-origin: right top;
}

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 100%;
	height: 4px;
	left: 0;
	top: 0;
}

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
	width: 4px;
	height: 100%;
	left: 0;
	top: 0;
}

.swiper-pagination-white {
	--swiper-pagination-color: #fff;
}

.swiper-pagination-black {
	--swiper-pagination-color: #000;
}

.swiper-pagination-lock {
	display: none;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
	-webkit-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
	pointer-events: none;
	-webkit-transition-property: opacity;
	transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
	pointer-events: none;
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
	pointer-events: auto;
}

/* Autoplay stop */
.swiper-play {
	display: inline-block;
	overflow: hidden;
	cursor: pointer;
}

button.swiper-play {
	position: relative;
	width: 28px;
	height: 28px;
	margin: 1px 2px;
	padding: 0.2px 0 0;
	border: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	line-height: 14px;
	text-align: center;
	vertical-align: middle;
	background: none;
	color: inherit;
}

button.swiper-play:before, button.swiper-play:after {
	content: "";
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: inline-block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 14px;
	margin-top: -7px;
	margin-left: -6px;
	border-width: 7px 0 7px 12px;
	border-color: transparent #757575;
	border-style: solid;
	-webkit-transition: -webkit-transform 0.2s ease-out;
	transition: -webkit-transform 0.2s ease-out;
	transition: transform 0.2s ease-out;
	transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

button.swiper-play:before {
	width: 17px;
	height: 20px;
	margin-top: -10px;
	margin-left: -8px;
	border-width: 10px 0 10px 17px;
	border-color: transparent #fff;
}

button.swiper-play:hover:before, button.swiper-play:hover:after {
	-webkit-transform: scale(1.25);
	    -ms-transform: scale(1.25);
	        transform: scale(1.25);
}

button.swiper-play.swiper-play-running:after {
	border-width: 0 4px;
}

button.swiper-play.swiper-play-running:before {
	width: 16px;
	height: 18px;
	margin-top: -9px;
	border-width: 0 8px;
}

button.swiper-play i {
	position: absolute;
	visibility: hidden;
	left: -9999px;
}

/* 一覧化 */
.swiper-listed .swiper-button-prev,
.swiper-listed .swiper-button-next,
.swiper-listed .swiper-play,
.swiper-listed .swiper-pagination {
	display: none;
}

.swiper-listing {
	position: relative;
	left: 10px;
	margin-right: -42px;
	display: inline-block;
	width: 42px;
	height: 42px;
	padding: 10px;
	border: 1px solid #C1C1C1;
	border-radius: 2em;
	background: #fff;
	color: #2C2C2C;
	line-height: 1;
	font-size: 0.813em;
	text-indent: -9999px;
	white-space: nowrap;
	cursor: pointer;
}

.swiper-listing:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/ico/ico-slide-list.svg") no-repeat center;
	background-size: contain;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	left: 50%;
	margin-left: -8px;
}

@media only screen and (max-width: 767px) {
	.swiper-listing:before {
		width: 12px;
		height: 12px;
		margin-top: -6px;
	}
}

@media only screen and (max-width: 767px) {
	.swiper-listing:before {
		margin-left: -6px;
	}
}

.swiper-listing:hover, .swiper-listing:focus {
	border-color: #008070;
	-webkit-transform: scale(1.1);
	    -ms-transform: scale(1.1);
	        transform: scale(1.1);
}

.swiper-listing .swiper-text-listing {
	display: inline-block;
}

.swiper-listing .swiper-text-listed {
	display: none;
}

.swiper-listed .swiper-listing {
	font-size: 87.5%;
	line-height: 1.5;
	width: auto;
	height: auto;
	left: 0;
	margin-right: 0;
	padding: 12px 1.5em;
	text-indent: 0;
}

.swiper-listed .swiper-listing:hover, .swiper-listed .swiper-listing:focus {
	border-color: #008070;
	-webkit-transform: none;
	    -ms-transform: none;
	        transform: none;
}

.swiper-listed .swiper-listing:before {
	position: relative;
	top: -1px;
	left: 0;
	margin: 0;
	margin-right: 8px;
	background-image: url("../img/ico/ico-slide-listed.svg");
}

.swiper-listed .swiper-listing .swiper-text-listing {
	display: none;
}

.swiper-listed .swiper-listing .swiper-text-listed {
	display: inline-block;
}

/*------------------------------------------------
	トップページ・ターゲット別ページ共通
------------------------------------------------*/
.Top #contents,
.Target #contents {
	width: auto;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.Top #contents,
.Target #contents {
	margin: 0 auto;
}

.Top .main h2,
.Target .main h2 {
	font-size: 112.5%;
	line-height: 1.667;
	margin-bottom: 1em;
	color: #00665A;
}

@media only screen and (max-width: 767px) {
	.Top .main h2,
	.Target .main h2 {
		font-size: 100%;
		line-height: 1.734;
		margin-bottom: 0.7em;
	}
}

.Top .main h2 + .h2,
.Target .main h2 + .h2 {
	margin-top: 0;
	margin-bottom: 1.334em;
}

@media (min-width: 768px) {
	.Top .main h2 + .h2,
	.Target .main h2 + .h2 {
		font-size: 137.5%;
		line-height: 1.728;
	}
}

@media only screen and (max-width: 767px) {
	.Top .main h2 + .h2,
	.Target .main h2 + .h2 {
		margin-bottom: 1.091em;
	}
}

.Top .main > section,
.Target .main > section {
	margin: 0;
	padding-top: 63px;
	padding-bottom: 70px;
	border-top: 1px solid transparent;
	background: none no-repeat center center;
	background-size: cover;
}

@media only screen and (max-width: 767px) {
	.Top .main > section,
	.Target .main > section {
		padding-top: 49.5px;
		padding-bottom: 56px;
	}
}

.Top .main > section:first-child,
.Target .main > section:first-child {
	border-top: 0;
}

.Top .main > section:nth-child(2n+1),
.Target .main > section:nth-child(2n+1) {
	background-color: #EEF4F4;
}

.Top .main > section section:last-child,
.Target .main > section section:last-child {
	margin-bottom: 0;
}

.Top main p.nav,
.Target main p.nav {
	margin-top: 32px;
}

/*------------------------------------------------
	トップページ
------------------------------------------------*/
.Top .main > section:nth-child(2n),
.Top .main > .section:nth-child(2n) {
	background-color: #EEF4F4;
}

.Top .main > section:nth-child(2n+1),
.Top .main > .section:nth-child(2n+1) {
	background-color: #fff;
}

.Top #heading {
	display: block;
	min-height: 0;
	padding: 34px 0;
	background: #DBE8E8;
}

@media (max-width: 979px) {
	.Top #heading {
		padding: 0 0 24px;
	}
}

@media only screen and (max-width: 479px) {
	.Top #heading {
		padding: 0 0 18px;
	}
}

.Top #heading .container {
	padding: 0 !important;
}

/*------------------------------------------------
	トップページ > KV
------------------------------------------------*/
.Top #kv {
	margin: 0;
}

.Top #kv .grid, .Top #kv.grid {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	margin: 0;
}

@media (max-width: 979px) {
	.Top #kv .grid, .Top #kv.grid {
		display: block;
	}
}

.Top #kv .col {
	margin: 0;
	padding: 0;
}

.Top #kv .kv {
	float: left;
	width: 816px;
	padding-bottom: 28px;
}

@media (max-width: 1199px) {
	.Top #kv .kv {
		width: 69.2143vw;
	}
}

@media (max-width: 979px) {
	.Top #kv .kv {
		float: none;
		width: auto;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .kv {
		padding-bottom: 0;
	}
}

.Top #kv .kv .swiper-wrapper {
	background: none;
}

.Top #kv .swiper-button-prev,
.Top #kv .swiper-button-next {
	margin-top: -14px;
}

@media only screen and (max-width: 767px) {
	.Top #kv .swiper-button-prev,
	.Top #kv .swiper-button-next {
		margin-top: 0;
	}
}

.Top #kv .pagination {
	float: right;
	width: 278px;
}

@media (max-width: 1199px) {
	.Top #kv .pagination {
		width: 23.5804vw;
	}
}

@media (max-width: 979px) {
	.Top #kv .pagination {
		float: none;
		width: auto;
		padding: 16px 2.5%;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .pagination {
		padding: 16px 24px;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .pagination {
		padding: 14px 18px;
	}
}

.Top #kv section {
	margin: 0;
	padding: 0;
	background: #fff;
}

@media only screen and (max-width: 767px) {
	.Top #kv section {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
}

.Top #kv .kv .grid-fit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.Top #kv .kv .image img {
	width: 100%;
}

@media (max-width: 979px) {
	.Top #kv .kv .image img {
		max-height: 45.9559vw;
	}
}

.Top #kv .kv .image.fit {
	overflow: hidden;
	position: relative;
	-webkit-box-flex: 1;
	    -ms-flex: 1 0 100%;
	        flex: 1 0 100%;
}

@media only screen and (max-width: 767px) {
	.Top #kv .kv .image.fit img {
		position: absolute;
		top: 0;
		left: 0;
		max-width: none;
		width: auto;
		height: 100%;
		max-height: none;
	}
	@supports ((-o-object-fit: cover) or (object-fit: cover)) {
		.Top #kv .kv .image.fit img {
			width: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
		}
	}
}

.Top #kv .kv a.image img {
	-webkit-transition-duration: 0.3s;
	        transition-duration: 0.3s;
}

.Top #kv .kv a.image:hover img, .Top #kv .kv a.image:active img, .Top #kv .kv a.image:focus img {
	opacity: 0.75;
	-webkit-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	        transform: scale(1.02);
}

.Top #kv h3 {
	position: absolute;
	z-index: 10;
	bottom: -28px;
	left: 5%;
	width: 90.6862745098%;
	margin: 0;
	padding: 18px 26px;
	background: #fff;
	text-align: left;
}

.ie .Top #kv h3 {
	padding-top: 21px;
	padding-bottom: 15px;
}

@media (max-width: 979px) {
	.Top #kv h3 {
		font-size: 100%;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv h3 {
		position: relative;
		bottom: 0;
		left: 0;
		width: auto;
		padding: 11px 15px;
		font-size: 100%;
		line-height: 1.734;
	}
}

.Top #kv h3 .h {
	display: block;
	overflow: hidden;
	margin-bottom: 0.445em;
}

@media only screen and (max-width: 767px) {
	.Top #kv h3 .h {
		height: 3.467em;
		margin-bottom: 0.334em;
	}
}

.Top #kv h3 .h3 + small,
.Top #kv h3 time + small {
	margin-left: 1em;
	font-weight: 500;
	font-size: 83.4%;
}

@media only screen and (max-width: 767px) {
	.Top #kv h3 .h3 + small,
	.Top #kv h3 time + small {
		font-size: 83.4%;
	}
}

.Top #kv time {
	display: inline-block;
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.Top #kv time {
		font-size: 93.4%;
	}
}

.Top #kv .thumb {
	overflow: hidden;
	position: relative;
	display: block;
	width: 278px;
	height: 82px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	background: #fff;
	font-size: 87.5%;
	line-height: 1.715;
	letter-spacing: 0;
	cursor: pointer;
}

@media (max-width: 1199px) {
	.Top #kv .thumb {
		width: 23.5804vw;
		height: 6.9554vw;
		margin-bottom: 1.3572vw;
		font-size: 0.75em;
	}
}

@media (max-width: 979px) {
	.Top #kv .thumb {
		height: 10.8366vw;
		margin-bottom: 0;
		font-size: 0.688em;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .thumb {
		font-size: 66.7%;
		line-height: 1.5;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .thumb {
		overflow: visible;
		width: 26px;
		height: 26px;
		padding: 8px;
		border-radius: 100%;
		background: none;
		outline: 0 !important;
	}
}

.Top #kv .thumb.thumb-1 {
	display: none;
}

.Top #kv .thumb img {
	position: relative;
	width: 100%;
	height: auto;
	top: -19px;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	.Top #kv .thumb img {
		-o-object-fit: cover;
		   object-fit: cover;
		height: 100%;
		top: 0;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .thumb img {
		display: none;
	}
}

.Top #kv .thumb .text {
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 0 15px;
	background: rgba(0, 0, 0, 0.66);
	color: #fff;
	font-weight: bold;
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}

.ie .Top #kv .thumb .text {
	padding-top: 6px;
}

.Top #kv .thumb .text b {
	display: block;
	overflow: hidden;
}

@supports (-webkit-line-clamp: 3) {
	.Top #kv .thumb .text b {
		max-height: 3.429em !important;
		display: -webkit-box !important;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .thumb .text b {
		max-height: 3em !important;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .thumb .text br {
		display: none;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .thumb .text {
		position: static;
		display: inline-block;
		width: 10px;
		height: 10px;
		padding: 0;
		border-radius: 100%;
		background: #757575;
		text-indent: -10000px;
	}
	.Top #kv .thumb .text b {
		display: none;
	}
}

.Top #kv .thumb:hover .text, .Top #kv .thumb:focus .text {
	opacity: 0;
}

@media only screen and (max-width: 479px) {
	.Top #kv .thumb:hover .text, .Top #kv .thumb:focus .text {
		opacity: 1;
		background: #008070;
	}
}

.Top #kv .thumb:hover img, .Top #kv .thumb:focus img {
	opacity: 1;
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
}

.Top #kv .thumb.swiper-pagination-bullet-active .text {
	opacity: 0;
}

@media only screen and (max-width: 479px) {
	.Top #kv .thumb.swiper-pagination-bullet-active .text {
		opacity: 1;
		background: #008070;
	}
}

.Top #kv .thumb.swiper-pagination-bullet-active:hover img, .Top #kv .thumb.swiper-pagination-bullet-active:focus img {
	opacity: 0.75;
	-webkit-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	        transform: scale(1.02);
}

.Top #kv .swiper-pagination {
	position: relative;
}

@media (max-width: 979px) {
	.Top #kv .swiper-pagination {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		margin: 0 -0.7042vw;
	}
	.Top #kv .swiper-pagination .thumb {
		margin: 0 0.7043vw;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .swiper-pagination {
		display: block;
		margin: 0;
	}
	.Top #kv .swiper-pagination .thumb {
		display: inline-block;
		margin: 0;
	}
}

.Top #kv .swiper-pagination-bullet img, .Top #kv .swiper-pagination-bullet span, .Top #kv .swiper-pagination-bullet b, .Top #kv .swiper-pagination-bullet i {
	pointer-events: none;
}

/*------------------------------------------------
	トップページ > 注目キーワード
------------------------------------------------*/
#CN2050Top #keywords {
	margin: 1.5em 0 0;
	padding: 0;
	background: #fff;
}

@media (max-width: 979px) {
	#CN2050Top #keywords {
		display: block;
		margin: 2em 2.5% 0;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Top #keywords {
		margin: 2.134em 24px 0;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Top #keywords {
		margin-left: 0;
		margin-right: 0;
	}
}

#CN2050Top #keywords h2 {
	font-size: 112.5%;
	line-height: 1.667;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-flex: 1;
	    -ms-flex: 1 0 auto;
	        flex: 1 0 auto;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	width: 10.625em;
	margin: 0 !important;
	background: #008070;
	color: #fff;
}

.ie #CN2050Top #keywords h2 {
	padding-top: 6px;
	padding-bottom: 0;
}

@media (max-width: 979px) {
	#CN2050Top #keywords h2 {
		font-size: 100%;
		line-height: 1.734;
		position: absolute;
		bottom: 100%;
		left: 0;
		display: block;
		width: auto;
		padding: 3px 24px;
		font-size: 93.8%;
		line-height: 1.734;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Top #keywords h2 {
		padding: 3px 15px;
		font-size: 86.7%;
		line-height: 2;
	}
}

#CN2050Top #keywords .keywords {
	padding: 0.563em 24px;
	padding-right: 8px;
	text-align: left;
}

.ie #CN2050Top #keywords .keywords {
	padding-top: 0.75em;
	padding-bottom: 0.375em;
}

@media only screen and (max-width: 767px) {
	#CN2050Top #keywords .keywords {
		padding: 0.8em 10px;
	}
}

#CN2050Top #keywords .keywords li {
	margin: 0.063em 1.167em 0.063em 0 !important;
}

@media (max-width: 979px) {
	#CN2050Top #keywords .keywords li {
		min-width: 12.5em;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Top #keywords .keywords li {
		min-width: 12em;
		margin: 1px 0.334em !important;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Top #keywords .keywords li {
		min-width: 0;
	}
}

#CN2050Top #keywords .keywords a.btn {
	padding: 0;
	border: 0;
}

@media only screen and (max-width: 479px) {
	#CN2050Top #keywords .keywords a.btn {
		padding: 0.308em 0;
	}
}

#CN2050Top #keywords .keywords a:hover, #CN2050Top #keywords .keywords a:active, #CN2050Top #keywords .keywords a:focus {
	text-decoration: underline;
}

/*------------------------------------------------
	トップページ > リンクボックス系
------------------------------------------------*/
#CN2050Top main .linkbox .options {
	padding: 22px 24px 30px;
}

#CN2050Top main a.linkbox,
#CN2050Top main .linkbox > a {
	padding: 24px 22px 26px;
}

#CN2050Top main a.linkbox:after,
#CN2050Top main .linkbox > a:after {
	content: "";
	display: block;
	height: 1.25em;
	margin-top: 0.5em;
	padding: 2px 10px 1px;
}

.ie98 #CN2050Top #news .linkbox h3 {
	height: 4.5em;
}

@media (max-width: 979px) {
	.ie98 #CN2050Top #news .linkbox h3 {
		height: auto;
	}
}

@media (max-width: 979px) {
	#CN2050Top #topics .grid.col-sm-2 > .col,
	#CN2050Top #links .grid.col-sm-2 > .col {
		margin-bottom: 32px;
	}
	#CN2050Top #topics .grid.col-sm-2 > .col:last-child,
	#CN2050Top #links .grid.col-sm-2 > .col:last-child {
		margin-bottom: 0;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Top #topics .grid.col-sm-2 > .col,
	#CN2050Top #links .grid.col-sm-2 > .col {
		margin-bottom: 0;
	}
}

#CN2050Top #topics .grid-box + p.nav,
#CN2050Top #links .grid-box + p.nav {
	margin-top: 0;
}

#CN2050Top #topics .imgbox,
#CN2050Top #links .imgbox {
	margin-bottom: 2em;
}

#CN2050Top #links .imgbox .options {
	margin-left: -10px;
	margin-right: -10px;
}

#CN2050Top #links .imgbox .options dl.tags dd {
	margin-right: 0;
}

/*------------------------------------------------
	トップページ > 新着ニュース
------------------------------------------------*/
#CN2050Top #news .news {
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
}

@media (max-width: 979px) {
	#CN2050Top #news .news {
		width: auto;
	}
}

#CN2050Top #news .news section:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

#CN2050Top #news .news .cat {
	background: #fff;
}

#CN2050Top #news .options dl.tags dd {
	background: #fff;
}

/*------------------------------------------------
	トップページ > よくある質問
------------------------------------------------*/
#CN2050Top #faq ul.nav {
	display: table;
	width: 28.35em;
	min-width: 648px;
	max-width: 100%;
	margin: 0 auto;
}

@media (max-width: 979px) {
	#CN2050Top #faq ul.nav {
		min-width: 84.375%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Top #faq ul.nav {
		display: block;
		min-width: 0;
		width: auto;
		max-width: none;
	}
}

#CN2050Top #faq ul.nav li + li {
	margin-top: 1.5em;
}

#CN2050Top #faq ul.nav a {
	display: block;
	padding: 1.112em 1.334em;
	border-radius: 6px;
	text-align: left;
	font-weight: 500;
}

.ie #CN2050Top #faq ul.nav a {
	padding: 1.278em 1.334em 0.945em;
}

@media only screen and (max-width: 767px) {
	#CN2050Top #faq ul.nav a {
		padding: 0.938em 1.375em;
	}
	.ie #CN2050Top #faq ul.nav a {
		padding: 0.79em 1.375em 1.154em;
	}
}

#CN2050Top #faq ul.nav a.btn {
	padding-right: 2.556em;
}

@media only screen and (max-width: 767px) {
	#CN2050Top #faq ul.nav a.btn {
		padding-right: 2.75em;
	}
}

#CN2050Top #faq ul.nav a.btn:after {
	right: 1.334em;
}

@media only screen and (max-width: 767px) {
	#CN2050Top #faq ul.nav a.btn:after {
		right: 1.375em;
	}
}

/*------------------------------------------------
	トップページ > メールマガジン
------------------------------------------------*/
#CN2050Top #ezine {
	text-shadow: 0 0 3px #fff;
}

#CN2050Top #ezine #privacy {
	margin-top: 2em;
	margin-bottom: 0;
}

#CN2050Top #ezine #privacy h3 {
	margin-bottom: 1.313em;
	font-weight: 500;
	font-size: 100%;
	line-height: 1.625;
}

@media only screen and (max-width: 767px) {
	#CN2050Top #ezine #privacy h3 {
		font-size: 100%;
		line-height: 1.734;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Top #ezine #privacy h3 {
		margin-bottom: 1.313em;
		font-weight: bold;
	}
}

#CN2050Top #ezine #privacy p {
	margin: 0;
}

@media only screen and (max-width: 767px) {
	#CN2050Top #ezine #privacy p {
		text-align: left;
	}
}

/*------------------------------------------------
	ターゲット別（〇〇の方へ）
------------------------------------------------*/
.Target #heading {
	display: none;
}

.Target #toc dt.sns {
	margin-left: 32px;
	padding-right: 0;
}

@media (max-width: 979px) {
	.Target #toc dt.sns {
		margin-left: 0.334em;
		border-left: 1px solid #D3D3D3;
		border-right: 0;
	}
}

.Target #toc dt.sns:before {
	background: none !important;
}

.Target #toc dt.sns + dd {
	padding-left: 16px;
}

.Target #toc dt.sns + dd:before {
	content: none;
}

.Target #toc dt .en {
	font-size: 86.7%;
	font-weight: 500;
}

.Target #toc .sns li {
	margin-left: 5px;
}

.Target #toc .sns li:first-child {
	margin-left: 0;
}

@media only screen and (max-width: 767px) {
	.Target #kv .swiper-button-prev,
	.Target #kv .swiper-button-next {
		top: 20vw;
	}
}

.Target #kv .swiper-button-prev {
	left: auto;
	right: 50%;
	margin-left: 0;
	margin-right: 560px;
}

@media (max-width: 1237px) {
	.Target #kv .swiper-button-prev {
		left: 0;
		right: auto;
		margin-left: 0;
		margin-right: 0;
	}
}

.Target #kv .swiper-button-next {
	left: 50%;
	right: auto;
	margin-left: 560px;
	margin-right: 0;
}

@media (max-width: 1237px) {
	.Target #kv .swiper-button-next {
		left: auto;
		right: 0;
		margin-left: 0;
		margin-right: 0;
	}
}

@media (min-width: 768px) {
	.Target .main h2 + .h2 {
		margin-bottom: 1.667em;
	}
}

@media (min-width: 768px) {
	.Target .main > section {
		padding-top: 73px;
		padding-bottom: 80px;
	}
}

.Target .main .grid,
.Target .main .grid-box {
	margin: 0;
}

.Target .main .grid hr,
.Target .main .grid-box hr {
	display: none;
}

.Target #main .slider {
	margin: 0;
	padding-bottom: 8px;
}

@media only screen and (max-width: 767px) {
	.Target #main .slider {
		padding-bottom: 5px;
	}
}

.Target #main .slider .imgbox {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 356px;
	height: auto;
	margin: 0 12px 0 13px;
	padding: 0;
}

@media only screen and (max-width: 767px) {
	.Target #main .slider .imgbox {
		width: 300px;
		max-width: 80vw;
	}
}

.Target #main .slider article.imgbox,
.Target #main .slider .imgbox article {
	padding: 0 20px 18px;
}

.Target #main .slider .imgbox.no-border article {
	padding: 0;
}

.Target #main .slider .swiper-button-prev,
.Target #main .slider .swiper-button-next {
	margin-top: -26.5px;
}

@media only screen and (max-width: 767px) {
	.Target #main .slider .swiper-button-prev,
	.Target #main .slider .swiper-button-next {
		margin-top: -22.5px;
	}
}

.Target #main .slider .swiper-pagination-wrapper {
	margin-top: 22px;
}

.Target #main .slider .swiper-pagination-wrapper .swiper-button-prev,
.Target #main .slider .swiper-pagination-wrapper .swiper-button-next {
	margin-top: 0;
}

@media (min-width: 980px) {
	.Target #main .slider .swiper-play {
		display: none;
	}
}

.Target #main .slider.swiper-listed {
	margin: 0 auto;
	width: 1120px;
}

@media (max-width: 1199px) {
	.Target #main .slider.swiper-listed {
		width: 95%;
	}
}

@media (max-width: 979px) {
	.Target #main .slider.swiper-listed {
		width: auto;
	}
}

@media (max-width: 979px) {
	.Target #main .slider.swiper-listed {
		width: auto;
		padding-left: 2.5% !important;
		padding-right: 2.5% !important;
	}
}

@media only screen and (max-width: 767px) {
	.Target #main .slider.swiper-listed {
		width: auto;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

@media only screen and (max-width: 479px) {
	.Target #main .slider.swiper-listed {
		width: auto;
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

.Target #main .slider.swiper-listed .swiper-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: auto;
	height: auto;
	margin: 0 -12px 0 -13px;
}

.Target #main .slider.swiper-listed .imgbox {
	margin-bottom: 25px;
}

@media (max-width: 1199px) {
	.Target #main .slider.swiper-listed .imgbox {
		width: calc(100%/3 - 25px);
	}
}

@media (max-width: 979px) {
	.Target #main .slider.swiper-listed .imgbox {
		width: calc(100%/2 - 25px);
	}
}

@media only screen and (max-width: 767px) {
	.Target #main .slider.swiper-listed .imgbox {
		width: auto;
	}
}

.Target #pickup {
	padding-top: 50px;
}

@media only screen and (max-width: 767px) {
	.Target #pickup {
		padding-top: 36.5px;
	}
}

.Target #news .news {
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
}

@media (max-width: 979px) {
	.Target #news .news {
		width: auto;
	}
}

/*------------------------------------------------
	企業の方へ
------------------------------------------------*/
#CN2050Private #heading {
	display: none;
}

#CN2050Private #toc .anchor > dt.page-title {
	padding-left: 34px;
}

#CN2050Private #toc .anchor > dt.page-title:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/icon/icon-toc-private@2x.png") no-repeat center;
	background-size: contain;
	width: 19px;
	height: 22px;
	margin-top: -11px;
}

/*------------------------------------------------
	地方自治体の方へ
------------------------------------------------*/
#CN2050Local #heading {
	display: none;
}

#CN2050Local #toc .anchor > dt.page-title {
	padding-left: 63px;
}

#CN2050Local #toc .anchor > dt.page-title:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/icon/icon-toc-local@2x.png") no-repeat center;
	background-size: contain;
	width: 48px;
	height: 24px;
	margin-top: -12px;
}

/*------------------------------------------------
	国民の方へ
------------------------------------------------*/
#CN2050Everyone #heading {
	display: none;
}

#CN2050Everyone #toc .anchor > dt.page-title {
	padding-left: 42px;
}

#CN2050Everyone #toc .anchor > dt.page-title:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: url("../img/icon/icon-toc-everyone@2x.png") no-repeat center;
	background-size: contain;
	width: 27px;
	height: 24px;
	margin-top: -12px;
}

#CN2050Everyone .main > section {
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 640px auto;
}

#CN2050Everyone .main > section:nth-child(2n) {
	background-position: right bottom;
}

#CN2050Everyone .main #pickup {
	background-image: url("../img/bg/bg-target-pickup@2x.png");
}

#CN2050Everyone .main #action {
	background-image: url("../img/bg/bg-target-action@2x.png");
}

#CN2050Everyone .main #news {
	background-image: url("../img/bg/bg-target-news@2x.png");
}

#CN2050Everyone .main #sns {
	background-image: url("../img/bg/bg-target-sns@2x.png");
}

@media only screen and (max-width: 767px) {
	#CN2050Everyone .main #pickup {
		background-size: auto 100%;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Everyone .main #pickup {
		background-position: 155% bottom;
		background-position: right -50% bottom;
	}
	#CN2050Everyone .main #action {
		background-position: 90% bottom;
	}
	#CN2050Everyone .main #sns {
		background-position: 15% bottom;
	}
	#CN2050Everyone .main #news {
		background-position: 50% bottom;
	}
}

#CN2050Everyone .main h2 b:before,
#CN2050Everyone .main h2 b:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico/ico-slash-before.png") no-repeat center;
	background-size: contain;
	width: 1em;
	height: 1em;
}

#CN2050Everyone .main h2 b:before {
	margin-right: 0.334em;
}

#CN2050Everyone .main h2 b:after {
	background-image: url("../img/ico/ico-slash-after.png");
	margin-left: 0.334em;
}

#CN2050Everyone #sns .h2 {
	margin-bottom: 1em;
}

#CN2050Everyone #sns section {
	margin-top: 1.625em;
}

@media only screen and (max-width: 767px) {
	#CN2050Everyone #sns section {
		margin-top: 1.625em;
	}
}

#CN2050Everyone #sns p.nav {
	margin-top: 26px;
}

#CN2050Everyone #sns ul.icons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-bottom: 1em;
}

#CN2050Everyone #sns ul.icons li {
	display: inline-block;
	padding: 0 15px;
}

@media only screen and (max-width: 479px) {
	#CN2050Everyone #sns ul.icons li {
		padding: 0 3.2vw;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Everyone #sns ul.icons img {
		width: 14.4vw;
	}
}

/*------------------------------------------------
	検索
------------------------------------------------*/
#CN2050Search #contents {
	width: auto;
	margin-top: 5px;
	padding: 0 !important;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #contents {
		margin-top: 0;
	}
}

#CN2050Search .gsc-refinementBlock {
	width: 1120px;
}

@media (max-width: 1199px) {
	#CN2050Search .gsc-refinementBlock {
		width: 95%;
	}
}

@media (max-width: 979px) {
	#CN2050Search .gsc-refinementBlock {
		width: auto;
	}
}

#CN2050Search .gsc-above-wrapper-area,
#CN2050Search .gsc-wrapper {
	width: 780px;
}

@media (max-width: 1199px) {
	#CN2050Search .gsc-above-wrapper-area,
	#CN2050Search .gsc-wrapper {
		width: 95%;
	}
}

@media (max-width: 979px) {
	#CN2050Search .gsc-above-wrapper-area,
	#CN2050Search .gsc-wrapper {
		width: auto;
	}
}

@media (max-width: 979px) {
	#CN2050Search .gsc-above-wrapper-area,
	#CN2050Search .gsc-wrapper {
		padding-left: 2.5% !important;
		padding-right: 2.5% !important;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Search .gsc-above-wrapper-area,
	#CN2050Search .gsc-wrapper {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Search .gsc-above-wrapper-area,
	#CN2050Search .gsc-wrapper {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

#CN2050Search .summary {
	max-width: none;
}

#CN2050Search .summary br + small {
	display: block;
	margin-top: 0.5em;
}

#CN2050Search #search {
	margin-top: 1.063em;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #search {
		margin-top: 0.8em;
	}
}

#CN2050Search #search input[type="text"] {
	width: 448px !important;
	background-image: none !important;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #search input[type="text"] {
		width: 392px !important;
		width: 392px !important;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Search #search input[type="text"] {
		width: 100% !important;
	}
}

#CN2050Search #result {
	text-align: left;
}

#CN2050Search #result .gsc-control-cse {
	margin: 0;
}

#CN2050Search #result .gsc-tabsArea .gsc-tabHeader,
#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #result .gsc-tabsArea .gsc-tabHeader,
	#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader {
		-ms-flex-negative: 1;
		    flex-shrink: 1;
		white-space: normal;
		min-width: 6em;
		min-height: 5em;
	}
	#CN2050Search #result .gsc-tabsArea .gsc-tabHeader:first-child,
	#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader:first-child {
		min-width: 5em;
	}
	#CN2050Search #result .gsc-tabsArea .gsc-tabHeader:last-child,
	#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader:last-child {
		-webkit-box-flex: 2;
		    -ms-flex-positive: 2;
		        flex-grow: 2;
		word-break: keep-all;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Search #result .gsc-tabsArea .gsc-tabHeader small,
	#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader small {
		display: block;
	}
	#CN2050Search #result .gsc-tabsArea .gsc-tabHeader:before,
	#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader:before {
		top: 1.4em;
		bottom: 1.3em;
		height: auto;
		margin-top: 0;
	}
}

@media only screen and (max-width: 767px) {
	.label-even#CN2050Search #result .gsc-tabsArea .gsc-tabHeader,
	.label-even#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader {
		width: 33.3333333333%;
	}
}

@media only screen and (max-width: 767px) {
	.label-table#CN2050Search #result .gsc-refinementBlock {
		display: table;
		width: 100%;
		min-height: 5em;
	}
}

@media only screen and (max-width: 767px) {
	.label-table#CN2050Search #result .gsc-tabsArea .gsc-tabHeader,
	.label-table#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader {
		display: table-cell;
		vertical-align: middle;
		min-width: 9em;
		min-height: 5em;
	}
	.label-table#CN2050Search #result .gsc-tabsArea .gsc-tabHeader:first-child,
	.label-table#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader:first-child {
		min-width: 7em;
	}
}

@media only screen and (max-width: 479px) {
	.label-table#CN2050Search #result .gsc-tabsArea .gsc-tabHeader,
	.label-table#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader {
		min-width: 6em;
	}
	.label-table#CN2050Search #result .gsc-tabsArea .gsc-tabHeader:first-child,
	.label-table#CN2050Search #result .gsc-refinementsArea .gsc-refinementHeader:first-child {
		min-width: 5em;
	}
}

#CN2050Search .gsc-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
}

#CN2050Search .gsc-resultsbox-visible {
	margin-bottom: 2.5em;
}

#CN2050Search #counts {
	display: none;
}

#CN2050Search #keywords {
	padding: 0 !important;
}

#CN2050Search #keywords h2 {
	display: none;
}

#CN2050Search #keywords .keywords {
	padding: 35px 0 26px;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #keywords .keywords {
		padding: 23px 0 16px !important;
	}
}

.js #CN2050Search #keywords .keywords {
	display: none;
}

#CN2050Search #keywords .controls {
	display: none;
	position: absolute;
	bottom: 100%;
	right: 18px;
	z-index: 202;
	margin-bottom: 5px;
}

.js #CN2050Search #keywords .controls {
	display: block;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #keywords .controls {
		right: 0;
		margin-bottom: -6px;
	}
}

#CN2050Search #keywords .controls .btn {
	padding: 14px 20px 10px;
	border: 0;
	border-radius: 6px 6px 0 0;
	line-height: 1;
	text-align: center;
	-webkit-box-shadow: none;
	        box-shadow: none;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #keywords .controls .btn {
		padding: 10px 16px 8px;
		border-radius: 6px;
	}
}

#CN2050Search #keywords .controls .btn:hover, #CN2050Search #keywords .controls .btn:active, #CN2050Search #keywords .controls .btn:focus {
	opacity: 0.7;
}

#CN2050Search #keywords .controls .btn:focus {
	-webkit-box-shadow: 0 0 0 1px #008070;
	        box-shadow: 0 0 0 1px #008070;
}

#CN2050Search #keywords .controls .btn img {
	vertical-align: bottom;
}

#CN2050Search #result {
	padding-top: 5px;
	border-top: 1px solid #fff;
	-webkit-transition: border-color 0.4s ease-out;
	transition: border-color 0.4s ease-out;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #result {
		padding-top: 0;
	}
}

#CN2050Search #result .gs-per-result-labels {
	display: none;
}

#CN2050Search #keywords.opened + #result[aria-expanded="true"] {
	border-top-color: #D3D3D3;
}

/*------------------------------------------------
	カーボンニュートラルとは
------------------------------------------------*/
#CN2050About #contents {
	width: auto;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#CN2050About #contents {
	margin: 0 auto;
}

#CN2050About .main .container {
	width: 780px;
}

@media (max-width: 1199px) {
	#CN2050About .main .container {
		max-width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050About .main .container {
		width: auto;
	}
}

#CN2050About .main > article,
#CN2050About .main > section {
	margin: 0;
	padding-top: 4.5em;
	padding-bottom: 4.625em;
	border-top: 1px solid #fff;
}

@media only screen and (max-width: 767px) {
	#CN2050About .main > article,
	#CN2050About .main > section {
		padding-top: 3.2em;
		padding-bottom: 3.367em;
	}
}

#CN2050About .main > article:first-child,
#CN2050About .main > section:first-child {
	border-top: 0;
}

#CN2050About main h2 {
	max-width: 1120px;
	padding: 0 2.5%;
}

@media only screen and (max-width: 767px) {
	#CN2050About main h2 {
		padding: 0 24px;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050About main h2 {
		padding: 0 18px;
	}
}

#CN2050About main h2 em {
	display: block;
	margin-bottom: 1.094em;
	color: #00665A;
	font-size: 75%;
	line-height: 1.723;
}

@media only screen and (max-width: 767px) {
	#CN2050About main h2 em {
		font-size: 68.2%;
		line-height: 1.667;
	}
}

#CN2050About main h2 .wrap {
	display: block;
}

#CN2050About main p, #CN2050About main ul, #CN2050About main ol, #CN2050About main dl {
	text-align: left;
}

#CN2050About main figure.image {
	margin: 2.125em 0;
}

@media only screen and (max-width: 767px) {
	#CN2050About main figure.image {
		max-width: none;
		margin: 1.767em 0;
	}
}

#CN2050About main blockquote {
	position: relative;
	padding: 28px 80px;
	border: 0;
	background: none;
	text-align: center;
	line-height: 2;
}

@media only screen and (max-width: 767px) {
	#CN2050About main blockquote {
		padding: 28px 28px;
	}
}

#CN2050About main blockquote:before, #CN2050About main blockquote:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-quote-after@2x.png") no-repeat center;
	background-size: contain;
	width: 76px;
	height: 51px;
	position: absolute;
	top: auto;
}

@media only screen and (max-width: 767px) {
	#CN2050About main blockquote:before, #CN2050About main blockquote:after {
		width: 65px;
		height: 44px;
	}
}

#CN2050About main blockquote:before {
	left: -14px;
	top: 26px;
	background-image: url("../img/ico-quote-before@2x.png");
}

@media only screen and (max-width: 767px) {
	#CN2050About main blockquote:before {
		left: -5px;
		top: 6px;
	}
}

#CN2050About main blockquote:after {
	right: -13px;
	bottom: 14px;
}

@media only screen and (max-width: 767px) {
	#CN2050About main blockquote:after {
		right: 0;
		bottom: 12px;
	}
}

#CN2050About main blockquote p {
	max-width: 100%;
	width: 37em;
	margin: 0 auto 1.75em;
	text-align: center;
	font-weight: bold;
}

@media only screen and (max-width: 767px) {
	#CN2050About main blockquote p {
		margin-bottom: 1.667em;
	}
}

#CN2050About main .nav {
	margin: 2.125em 0;
	text-align: center;
}

#CN2050About section.info {
	margin: 2.134em 0;
	padding: 1.375em 28px;
	background: #EEF4F4;
	text-align: left;
	font-size: 93.8%;
	line-height: 1.734;
}

#CN2050About section.info section {
	margin: 1.4em 0;
}

#CN2050About section.info section:last-child {
	margin-bottom: 0;
}

#CN2050About section.info h3 {
	color: #00665A;
}

#CN2050About section.info h3, #CN2050About section.info h4 {
	margin-bottom: 0.867em;
	font-size: 100%;
	line-height: 1.734;
}

#CN2050About section.info li {
	margin: 0.4em 0;
}

#CN2050About #why {
	background: #EEF4F4;
}

/*------------------------------------------------
	国の取組
------------------------------------------------*/
#CN2050Roads #contents {
	width: auto;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#CN2050Roads #contents {
	margin: 0 auto;
}

#CN2050Roads #summary .container {
	width: 780px;
}

@media (max-width: 1199px) {
	#CN2050Roads #summary .container {
		max-width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Roads #summary .container {
		width: auto;
	}
}

#CN2050Roads .main > section {
	margin: 0;
	padding-top: 72px;
	padding-bottom: 56px;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads .main > section {
		padding-top: 48px;
		padding-bottom: 32px;
	}
}

#CN2050Roads main h2 {
	max-width: 1120px;
	padding: 0 2.5%;
	color: #000;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads main h2 {
		padding: 0 24px;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Roads main h2 {
		padding: 0 18px;
	}
}

#CN2050Roads main h4 {
	text-align: center;
	font-weight: 500;
}

#CN2050Roads main section:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

#CN2050Roads main .title,
#CN2050Roads main .text {
	display: block;
}

#CN2050Roads main .text {
	text-align: left;
}

#CN2050Roads main .links li {
	margin-bottom: 0.5em;
}

#CN2050Roads #summary {
	padding-top: 3em;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads #summary {
		padding-top: 2.134em;
	}
}

#CN2050Roads #summary p {
	margin-bottom: 0.813em;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads #summary p {
		margin-bottom: 1.4em;
	}
}

#CN2050Roads #summary .note {
	padding-left: 1em;
	text-indent: -1em;
}

#CN2050Roads #summary .image {
	margin: 26px 0;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads #summary .image {
		max-width: none;
		margin: 0 -24px 30px;
	}
	#CN2050Roads #summary .image img {
		width: 100%;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Roads #summary .image {
		margin: 0 -18px 30px;
	}
}

#CN2050Roads #approach {
	background: #EEF4F4;
}

#CN2050Roads #spec {
	background: #008070;
	color: #fff;
}

#CN2050Roads #spec h2 {
	color: #fff;
}

#CN2050Roads #info {
	background: #EEF4F4;
}

#CN2050Roads main footer .notice {
	margin-top: 0.625em;
	margin-bottom: 1.125em !important;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads main footer .notice {
		margin-top: 0.157em;
		margin-bottom: 1.157em !important;
	}
}

/*------------------------------------------------
	国の取組 > grid
------------------------------------------------*/
#CN2050Roads .articles-container {
	position: relative;
	margin-top: 2.875em;
}

.js #CN2050Roads .articles-container {
	overflow: hidden;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	padding-left: 10px;
	padding-right: 10px;
}

@media (max-width: 979px) {
	.js #CN2050Roads .articles-container {
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
}

#CN2050Roads .grid-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	display: flex;
	margin-left: -1.12%;
	margin-right: -1.12%;
	margin-left: calc(-12px);
	margin-right: calc(-12.02px);
}

@supports (display: flex) or (display: -webkit-box) {
	#CN2050Roads .grid-box {
		margin-left: -0.9375%;
		margin-right: -0.9375%;
		margin-left: calc(-10px);
		margin-right: calc(-10.02px);
	}
}

.ie #CN2050Roads .grid-box {
	margin-left: calc(-12px);
	margin-right: calc(-13px);
}

.ie11 #CN2050Roads .grid-box {
	margin-left: calc(-10px);
	margin-right: calc(-11px);
}

#CN2050Roads .grid-box > article {
	width: 23.15789%;
	margin-left: 0.9210526316%;
	margin-right: 0.9210526316%;
	padding: 0;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	#CN2050Roads .grid-box > article {
		display: block;
		width: calc(100%/4 - 21px);
		margin-left: calc(10.5px);
		margin-right: calc(10.5px);
	}
}

@media (max-width: 1119px) {
	#CN2050Roads .grid-box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin-left: -1.12%;
		margin-right: -1.12%;
		margin-left: calc(-12px);
		margin-right: calc(-12.02px);
	}
	@supports (display: flex) or (display: -webkit-box) {
		#CN2050Roads .grid-box {
			margin-left: -0.9375%;
			margin-right: -0.9375%;
			margin-left: calc(-10px);
			margin-right: calc(-10.02px);
		}
	}
	.ie #CN2050Roads .grid-box {
		margin-left: calc(-12px);
		margin-right: calc(-13px);
	}
	.ie11 #CN2050Roads .grid-box {
		margin-left: calc(-10px);
		margin-right: calc(-11px);
	}
	#CN2050Roads .grid-box > article {
		width: 48.15789%;
		margin-left: 0.9210526316%;
		margin-right: 0.9210526316%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		#CN2050Roads .grid-box > article {
			display: block;
			width: calc(100%/2 - 21px);
			margin-left: calc(10.5px);
			margin-right: calc(10.5px);
		}
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Roads .grid-box {
		display: block;
		margin-left: 0;
		margin-right: 0;
	}
	.ie #CN2050Roads .grid-box {
		margin-left: 0;
		margin-right: 0;
	}
	#CN2050Roads .grid-box > article {
		width: auto;
		margin-left: 0;
		margin-right: 0;
		display: block;
	}
}

#CN2050Roads .grid-box article {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 24px;
	padding: 24px 7px 27px;
}

.js #CN2050Roads .grid-box article {
	height: 296px;
}

@media (max-width: 1119px) {
	#CN2050Roads .grid-box article {
		height: auto !important;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Roads .grid-box article {
		display: block;
		height: auto !important;
		padding: 24px 17px 24px;
	}
}

#CN2050Roads .articles-container .grid,
#CN2050Roads .articles-container .grid-box {
	padding-bottom: 0;
	-webkit-transition: padding 0.35s ease-out, height 0.35s ease-out;
	transition: padding 0.35s ease-out, height 0.35s ease-out;
}

#CN2050Roads.abs .articles-container.on-last-details .grid,
#CN2050Roads.abs .articles-container.on-last-details .grid-box {
	padding-bottom: 296px;
}

#CN2050Roads article {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	overflow: hidden;
	border: 1px solid #fff;
	background: #fff;
	color: #2C2C2C;
	text-align: center;
	font-size: 87.5%;
	line-height: 1.715;
}

.ie #CN2050Roads article > * {
	min-height: 0%;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads article {
		font-size: 93.4%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Roads article {
		overflow: visible;
	}
}

#CN2050Roads article.none {
	visibility: hidden;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
}

#CN2050Roads article.none h3 {
	display: none;
	color: inherit;
}

#CN2050Roads article > p {
	max-width: 100%;
	width: 16em;
	margin: 0 auto 1.358em;
}

#CN2050Roads article h3 {
	max-width: 100%;
	width: 14em;
	margin: 0 auto 0.875em;
	font-size: 114.3%;
	line-height: 1.625;
}

.iphone #CN2050Roads article h3, .ipad #CN2050Roads article h3 {
	width: 14.5em;
}

@media (max-width: 1119px) {
	#CN2050Roads article h3 {
		width: 18em !important;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Roads article h3 {
		margin-bottom: 0.625em;
	}
}

@media only screen and (max-width: 479px) {
	#CN2050Roads article h3 {
		width: 15em !important;
	}
}

#CN2050Roads article h3 .title {
	display: block;
	min-height: 3.25em;
	margin: 0.875em 4px 0;
	text-align: center;
}

@media (max-width: 1119px) {
	#CN2050Roads article h3 .title {
		min-height: 0;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Roads article h3 .title {
		margin-top: 0.688em;
	}
}

#CN2050Roads article h3 .title.ext {
	margin-left: -10px;
	margin-right: -10px;
}

#CN2050Roads article h3 .icon {
	position: relative;
	z-index: 2;
}

#CN2050Roads article h3 .tag {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 93.8%;
	line-height: 1.6;
}

#CN2050Roads article h4 {
	font-size: 100%;
	line-height: 1.715;
}

#CN2050Roads article .tag {
	display: inline-block;
	min-width: 82px;
	padding: 0.3em 0.534em 0.234em;
	border: 1px solid #F2F2F2;
	background: #F2F2F2;
	color: #000;
	white-space: nowrap;
	text-align: center;
	font-weight: 500;
}

#CN2050Roads article .tag.on {
	border-color: #DDF2FF;
	background: #DDF2FF;
}

#CN2050Roads article details {
	margin-top: 1.267em;
}

.js #CN2050Roads article details {
	margin-top: auto;
}

#CN2050Roads article details summary {
	display: block;
	text-align: center;
	list-style: none;
}

#CN2050Roads article details summary::-webkit-details-marker {
	display: none;
}

#CN2050Roads article details summary::marker {
	display: none;
}

#CN2050Roads article details .detail {
	padding-top: 1.267em;
}

.ie #CN2050Roads article details .detail {
	display: none;
}

#CN2050Roads article .buttons {
	text-align: center;
}

#CN2050Roads article .btn {
	padding: 10px 25px 10px 27px;
	font-size: 100%;
	line-height: 1.715;
}

.ie #CN2050Roads article .btn {
	padding: 12.5px 25px 7.5px 27px;
}

#CN2050Roads article .btn:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-detail@2x.png") no-repeat center;
	background-size: contain;
	width: 1.143em;
	height: 1.143em;
	margin-left: 0.429em;
}

.ie8 #CN2050Roads article .btn:after {
	background-image: url("../img/ico-detail.png");
}

#CN2050Roads article.expanded .btn {
	border-color: #008070;
	background: #008070;
	color: #fff;
}

#CN2050Roads article.expanded .btn:hover, #CN2050Roads article.expanded .btn:active, #CN2050Roads article.expanded .btn:focus {
	border-color: #155A4E;
	background: #155A4E;
	color: #fff;
}

#CN2050Roads article.expanded .btn:after {
	background-image: url("../img/ico-close-white@2x.png");
}

.ie8 #CN2050Roads article.expanded .btn:after {
	background-image: url("../img/ico-close-white.png");
}

#CN2050Roads .details {
	display: none;
	position: relative;
	top: 0;
	right: 0;
	z-index: 10;
	width: 50%;
	width: calc(50% - 10px);
	height: 616px;
	max-height: 80vh;
}

#CN2050Roads .details.left {
	left: 0;
	right: auto;
}

@media (max-width: 1119px) {
	#CN2050Roads .details {
		width: 100%;
		height: auto;
		max-height: none;
	}
}

.js #CN2050Roads .details {
	width: 48.15789%;
	margin-left: 0.9210526316%;
	margin-right: 0.9210526316%;
	padding: 0;
	display: inline-block;
	margin-bottom: 24px;
}

@supports (display: flex) or (display: -webkit-box) {
	.js #CN2050Roads .details {
		display: block;
		width: calc(100%/2 - 21px);
		margin-left: calc(10.5px);
		margin-right: calc(10.5px);
	}
}

@media (max-width: 1119px) {
	.js #CN2050Roads .details {
		width: 98.15951%;
		margin-left: 0.9202453988%;
		margin-right: 0.9202453988%;
		padding: 0;
		display: inline-block;
	}
	@supports (display: flex) or (display: -webkit-box) {
		.js #CN2050Roads .details {
			display: block;
			width: calc(100%/1 - 21px);
			margin-left: calc(10.5px);
			margin-right: calc(10.5px);
		}
	}
}

#CN2050Roads.abs .details {
	overflow: hidden;
	position: absolute;
	width: auto;
	margin-left: 0;
	margin-right: 0;
	display: block;
	width: 50%;
	width: calc(50% - 10px);
	margin-bottom: 0;
}

#CN2050Roads .details .wrapper {
	overflow: auto;
	height: 100%;
	padding: 35px 37px 10px 38px;
	border: 1px solid #fff;
	background: #fff;
	color: #2C2C2C;
}

@media (max-width: 1119px) {
	#CN2050Roads .details .wrapper {
		padding-bottom: 30px;
	}
}

#CN2050Roads .details {
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads .details {
		font-size: 93.4%;
		line-height: 1.858;
	}
}

#CN2050Roads .details section {
	margin: 0;
	text-align: left;
}

#CN2050Roads .details h3 {
	text-align: center;
	font-size: 120%;
	line-height: 1.445;
}

#CN2050Roads .details h4 {
	font-size: 100%;
	line-height: 1.734;
}

#CN2050Roads .details .detail > h4:first-child {
	margin-top: -0.4em;
}

#CN2050Roads .details .title {
	display: block;
	margin: 0.889em 0;
}

@media (max-width: 1119px) {
	#CN2050Roads .details .title {
		margin: 1.223em 0;
	}
}

#CN2050Roads .details p {
	margin-bottom: 0.867em;
	text-align: left;
}

#CN2050Roads .details .links li {
	margin-bottom: 0.25em;
}

#CN2050Roads .details figure.image {
	margin: 20px 0;
	text-align: center;
}

#CN2050Roads .details .buttons {
	position: absolute;
	z-index: 255;
	right: 20px;
	top: 10px;
}

#CN2050Roads .details .buttons .btn {
	padding: 10px;
	border: 1px solid #fff;
	border-radius: 0;
	background: #fff;
	font-weight: bold;
	font-size: 93.4%;
	line-height: 1.858;
}

#CN2050Roads .details .buttons .btn:hover, #CN2050Roads .details .buttons .btn:active, #CN2050Roads .details .buttons .btn:focus {
	opacity: 0.7;
	-webkit-box-shadow: none;
	        box-shadow: none;
}

#CN2050Roads .container > .buttons {
	padding-top: 16px;
	padding-bottom: 24px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads .container > .buttons {
		padding-top: 8px;
	}
}

#CN2050Roads #approach {
	background: #EEF4F4;
}

#CN2050Roads #spec {
	background: #008070;
	color: #fff;
}

#CN2050Roads #spec h2 {
	color: #fff;
}

#CN2050Roads #info {
	background: #EEF4F4;
}

/*------------------------------------------------
	最新情報
------------------------------------------------*/
#CN2050News #contents {
	width: 960px;
}

@media (max-width: 1199px) {
	#CN2050News #contents {
		width: 95%;
	}
}

@media (max-width: 979px) {
	#CN2050News #contents {
		width: auto;
	}
}

#CN2050News #link-none {
	padding: 2em 0;
}

#CN2050News #link-none label {
	border-bottom: 1px dotted #D3D3D3;
}

#CN2050News #contents .buttons {
	margin-bottom: 0;
	padding-top: 1.5em;
}

/*------------------------------------------------
	トピックス
------------------------------------------------*/
#CN2050Topics #contents {
	width: 1120px;
}

@media (max-width: 1199px) {
	#CN2050Topics #contents {
		width: 95%;
	}
}

@media (max-width: 979px) {
	#CN2050Topics #contents {
		width: auto;
	}
}

#CN2050Topics #contents {
	margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
	#CN2050Topics #contents {
		margin-bottom: 66px;
	}
}

#CN2050Topics #filter {
	display: none;
}

/*------------------------------------------------
	関連サイト
------------------------------------------------*/
#CN2050Links #contents {
	width: 1120px;
}

@media (max-width: 1199px) {
	#CN2050Links #contents {
		width: 95%;
	}
}

@media (max-width: 979px) {
	#CN2050Links #contents {
		width: auto;
	}
}

#CN2050Links #contents {
	margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
	#CN2050Links #contents {
		margin-bottom: 66px;
	}
}

#CN2050Links .imgbox .options {
	margin-left: -10px;
	margin-right: -10px;
}

#CN2050Links .imgbox .options dl.tags dd {
	margin-right: 0;
}

#CN2050Links .imgbox .options .tags.targets {
	display: none;
}

/*------------------------------------------------
	よくあるご質問
------------------------------------------------*/
#CN2050FAQ main .anchor-target,
#CN2050FAQ main .anchor-target-wide {
	margin-top: 1.75em;
}

@media only screen and (max-width: 767px) {
	#CN2050FAQ main .anchor-target,
	#CN2050FAQ main .anchor-target-wide {
		margin-top: 1.6em;
	}
}

/*------------------------------------------------
	メールマガジン
------------------------------------------------*/
#CN2050Ezine main section + section {
	margin-top: 4.125em;
}

#CN2050Ezine main section section {
	margin-top: 2.125em;
}

#CN2050Ezine main p.nav {
	margin: 1.125em auto;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main p.nav {
		margin: 1.334em auto;
	}
}

@media (min-width: 1200px) {
	#CN2050Ezine main p.nav .btn.submit {
		padding-left: 3.667em;
		padding-right: 4.945em;
	}
	#CN2050Ezine main p.nav .btn.submit:after {
		right: 3.223em;
	}
}

#CN2050Ezine main p.nav.coming-soon {
	margin-top: 3em;
}

#CN2050Ezine main table {
	margin: 1em auto;
	width: 100%;
}

#CN2050Ezine main th, #CN2050Ezine main td {
	padding: 0.875em 10px;
	border: 1px solid #D3D3D3;
	border-width: 1px 0;
	text-align: left;
	vertical-align: top;
}

.ie #CN2050Ezine main th, .ie #CN2050Ezine main td {
	padding: 1.063em 10px 0.688em;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main th, #CN2050Ezine main td {
		padding: 0.657em 10px;
	}
}

#CN2050Ezine main th {
	width: 37.2972972973%;
	text-align: right;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main th {
		width: 34.6268656716%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main tr:first-child th, #CN2050Ezine main tr:first-child td {
		padding-top: 0;
		border-top: 0;
	}
	#CN2050Ezine main tr:last-child th, #CN2050Ezine main tr:last-child td {
		padding-bottom: 0.25em;
		border-bottom: 0;
	}
}

#CN2050Ezine main ul.list {
	margin: 1em 0;
	padding: 1.125em 0;
	padding-left: 1.5em;
	border: 1px solid #D3D3D3;
	border-width: 1px 0;
	text-align: left;
}

#CN2050Ezine main ul.list li + li {
	margin-top: 0.75em;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main ul.list li + li {
		margin: 0;
	}
}

#CN2050Ezine main dl.exp {
	font-size: 100%;
	line-height: 1.5;
	padding-bottom: 1.25em;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main dl.exp {
		font-size: 106.7%;
	}
}

#CN2050Ezine main dl.exp dd {
	font-size: 93.8%;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main dl.exp dd {
		font-size: 100%;
	}
}

#CN2050Ezine main dl.exp > dt:first-child,
#CN2050Ezine main dl.exp > dd + dt {
	margin-top: 1.25em;
	padding-top: 1.25em;
}

@media (min-width: 1200px) {
	#CN2050Ezine main .linkbox {
		margin: 1em 1px;
		padding: 1.5em;
	}
}

#CN2050Ezine main .linkbox p {
	width: auto;
	margin-left: 0;
	margin-right: 0;
}

#CN2050Ezine main .linkbox dl {
	font-size: 93.8%;
	line-height: 1.334;
}

#CN2050Ezine main .linkbox dt {
	display: none;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #about {
		margin-bottom: 5.25em;
	}
}

#CN2050Ezine #cautions {
	margin-top: 2.625em;
}

#CN2050Ezine #cautions .h4 {
	margin-bottom: 1.688em;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #cautions .h4 {
		margin-bottom: 1.867em;
	}
}

#CN2050Ezine #cautions ul.list {
	padding: 1.267em 0;
	padding-left: 1.667em;
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #cautions ul.list {
		font-size: 93.4%;
		line-height: 1.858;
	}
}

#CN2050Ezine #cautions ul.list li + li {
	margin-top: 0.813em;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #cautions ul.list li + li {
		margin-top: 0;
	}
}

#CN2050Ezine #subscribe h3 {
	display: none;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #backnumber h2 {
		margin-bottom: 1.228em;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #privacy {
		margin-top: 2.813em;
	}
}

#CN2050Ezine #privacy h3 {
	margin-bottom: 0.75em;
	font-weight: 500;
	font-size: 100%;
	line-height: 1.75;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #privacy h3 {
		font-size: 100%;
		line-height: 1.734;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine #privacy h3 {
		margin-bottom: 0.6em;
	}
}

/*------------------------------------------------
	プライバシーポリシー
------------------------------------------------*/
#CN2050Privacy main {
	text-align: left;
}

#CN2050Privacy main section {
	margin: 1.25em 0;
	padding-left: 30px;
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main section {
		margin: 1.4em 0;
		padding-left: 0;
	}
}

#CN2050Privacy main section section {
	margin: 0.75em 0;
	padding-left: 0;
}

#CN2050Privacy main h2, #CN2050Privacy main p, #CN2050Privacy main ul, #CN2050Privacy main dd {
	margin-bottom: 0.75em;
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main h2, #CN2050Privacy main p, #CN2050Privacy main ul, #CN2050Privacy main dd {
		margin-bottom: 0.867em;
	}
}

#CN2050Privacy main h3, #CN2050Privacy main li {
	margin-bottom: 0.25em;
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main h3, #CN2050Privacy main li {
		margin-bottom: 0.334em;
	}
}

#CN2050Privacy main h2 {
	margin-left: -30px;
	font-size: 100%;
	line-height: 1.75;
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main h2 {
		font-size: 106.7%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main h2 {
		margin-left: 0;
	}
}

#CN2050Privacy main h3 {
	font-weight: 500;
	font-size: 100%;
	line-height: 1.75;
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main h3 {
		font-size: 100%;
		line-height: 1.734;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Privacy main dl {
		margin-left: -6px;
	}
}

#CN2050Privacy main dt {
	float: left;
	clear: left;
	width: 3.25em;
}

#CN2050Privacy main dt:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

#CN2050Privacy main dd {
	margin-left: 3.25em;
}

#CN2050Privacy main ul {
	padding-left: 1.5em;
}

#CN2050Privacy main li {
	display: list-item;
}

/*------------------------------------------------
	トピックス > 記事（共通）
------------------------------------------------*/
@media print {
	.Topic main #heading {
		display: none;
	}
}

.Topic main article {
	text-align: left;
}

.Topic main article h1 {
	font-size: 175%;
	line-height: 1.5;
	margin-bottom: 1.179em;
}

@media only screen and (max-width: 767px) {
	.Topic main article h1 {
		font-size: 160%;
		line-height: 1.584;
		margin-bottom: 0.625em;
	}
}

.Topic main article h2 {
	margin-bottom: 0.75em;
}

@media (min-width: 768px) {
	.Topic main article h2 {
		font-size: 175%;
		line-height: 1.5;
		margin-bottom: 0.679em;
	}
}

@media (min-width: 768px) {
	.Topic main article h3 {
		font-size: 125%;
		line-height: 1.6;
		margin-bottom: 1em;
	}
}

.Topic main article .image, .Topic main article .video {
	text-align: center;
}

.Topic main article .image img, .Topic main article .video img {
	max-width: 100%;
	height: auto;
}

.Topic main article figure figcaption {
	margin: 0.688em auto;
}

@media only screen and (max-width: 767px) {
	.Topic main article figure figcaption {
		margin: 0.667em 0;
	}
}

.Topic main article figure figcaption.note {
	display: table;
	padding: 0 5px;
	text-align: left;
}

@media print {
	.Topic main article figure .extend {
		display: none;
	}
}

.Topic main article header .image, .Topic main article header .video {
	margin-top: 1.25em;
}

@media only screen and (max-width: 767px) {
	.Topic main article header .image, .Topic main article header .video {
		margin-top: 1.2em;
	}
}

.Topic main .content:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.Topic main .content section {
	margin: 4.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content section {
		margin: 3.134em 0;
	}
}

.Topic main .content section:first-child {
	margin-top: 0;
}

.Topic main .content section section {
	margin: 2.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content section section {
		margin: 2.134em 0;
	}
}

.Topic main .content > .image:first-child + section,
.Topic main .content > .video:first-child + section {
	margin-top: 2.625em;
}

.Topic main .content p {
	margin: 1.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content p {
		margin: 1.4em 0;
	}
}

.Topic main .content ul, .Topic main .content ol, .Topic main .content dl {
	margin: 2.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content ul, .Topic main .content ol, .Topic main .content dl {
		margin: 1.934em 0;
	}
}

.Topic main .content ul,
.Topic main .content dl dl {
	padding-left: 2.813em;
}

@media only screen and (max-width: 479px) {
	.Topic main .content ul,
	.Topic main .content dl dl {
		padding-left: 2.6em;
	}
}

.Topic main .content ol,
.Topic main .content ul.number {
	padding-left: 2.5em;
}

@media only screen and (max-width: 479px) {
	.Topic main .content ol,
	.Topic main .content ul.number {
		padding-left: 2.267em;
	}
}

.Topic main .content li p, .Topic main .content li ul, .Topic main .content li ol, .Topic main .content li dl, .Topic main .content dd p, .Topic main .content dd ul, .Topic main .content dd ol, .Topic main .content dd dl, .Topic main .content .list p, .Topic main .content .list ul, .Topic main .content .list ol, .Topic main .content .list dl {
	margin-top: 0.75em;
	margin-bottom: 0.75em !important;
}

.Topic main .content .p p {
	margin: 0;
}

.Topic main .content .p ul, .Topic main .content .p ol, .Topic main .content .p dl {
	margin: 0.2em 0;
}

.Topic main .content .p li, .Topic main .content .p dd {
	margin-bottom: 0.2em;
}

.Topic main .content hr {
	margin: 3.25em 0;
	border: 0 none;
}

.Topic main .content .noicon,
.Topic main .content .nolist {
	padding-left: 0;
}

.Topic main .content dl.links dd {
	margin-bottom: 1.25em;
}

.Topic main .content .note {
	margin: 1.334em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content .note {
		margin: 1.5em 0;
	}
}

.Topic main .content section.quote {
	margin: 2.625em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content section.quote {
		margin: 2.3em 0;
	}
}

.Topic main .content .simple {
	margin: 1.25em 0;
}

.Topic main .content .simple h2, .Topic main .content .simple h3, .Topic main .content .simple h4, .Topic main .content .simple h5, .Topic main .content .simple h6 {
	margin-bottom: 0.75em;
	font-size: 100%;
	line-height: 1.75;
}

@media only screen and (max-width: 767px) {
	.Topic main .content .simple h2, .Topic main .content .simple h3, .Topic main .content .simple h4, .Topic main .content .simple h5, .Topic main .content .simple h6 {
		font-size: 106.7%;
	}
}

.Topic main .content .simple p, .Topic main .content .simple ul, .Topic main .content .simple ol, .Topic main .content .simple dl {
	margin: 0.75em 0 1.25em;
}

@media only screen and (max-width: 767px) {
	.Topic main .content .simple p, .Topic main .content .simple ul, .Topic main .content .simple ol, .Topic main .content .simple dl {
		margin: 0.813em 0 1.4em;
	}
}

.Topic main .content img.border {
	border: 0;
	outline: 1px solid #D3D3D3;
}

.Topic main .content .image, .Topic main .content .video {
	margin: 2.625em auto;
}

@media only screen and (max-width: 767px) {
	.Topic main .content .image, .Topic main .content .video {
		width: auto;
		margin: 1.967em auto;
	}
}

.Topic main .content a.image, .Topic main .content a.video {
	margin: 0 auto;
}

.Topic main article nav.toc {
	margin: 1.25em 0 2.5em;
	padding: 1.063em 23px;
	border: 1px solid #D3D3D3;
}

@media only screen and (max-width: 767px) {
	.Topic main article nav.toc {
		margin: 1.2em 0 1.6em;
		padding: 1.6em 24px;
	}
}

@media only screen and (max-width: 479px) {
	.Topic main article nav.toc {
		padding: 1.2em 18px;
	}
}

.Topic main article nav.toc h2, .Topic main article nav.toc h3 {
	margin-bottom: 0.5em;
	font-size: 100%;
	line-height: 1.75;
}

/*------------------------------------------------
	トピックス > 記事（ヘッダー）
------------------------------------------------*/
.Topic main header {
	margin-bottom: 2.125em;
}

@media only screen and (max-width: 767px) {
	.Topic main header {
		margin-bottom: 2.3em;
	}
}

.Topic main footer {
	margin-top: 3.75em;
}

@media only screen and (max-width: 767px) {
	.Topic main footer {
		margin-top: 2.469em;
	}
}

.Topic main footer h2 {
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #C1C1C1;
	font-size: 112.5%;
	line-height: 1.667;
}

@media only screen and (max-width: 767px) {
	.Topic main footer h2 {
		margin-bottom: 0.844em;
		padding-bottom: 0.625em;
		font-size: 106.7%;
		line-height: 1.875;
	}
}

.Topic main footer h3 {
	margin-bottom: 0.75em;
	font-weight: 500;
	font-size: 100%;
	line-height: 1.75;
}

.Topic main footer section {
	margin: 1.125em 0;
}

.Topic main footer > section {
	margin: 3em 0;
	padding: 1.625em 24px 2.125em;
	border: 1px solid #C1C1C1;
	border-top: 4px solid #008070;
}

@media only screen and (max-width: 767px) {
	.Topic main footer > section {
		margin: 2.967em 0;
		padding: 1.313em 18px 1.407em;
	}
}

.Topic main footer > section h2 {
	margin-bottom: 1.112em;
	padding-bottom: 0;
	border-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.Topic main footer > section h2 {
		margin-bottom: 0.469em;
	}
}

.Topic main footer > aside {
	margin: 2.625em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main footer > aside {
		margin: 2.034em 0;
	}
}

.Topic main footer dt {
	margin-bottom: 0.75em;
}

@media only screen and (max-width: 767px) {
	.Topic main footer dt {
		margin-bottom: 0.867em;
	}
}

.Topic main article header:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.Topic main article header .options {
	overflow: visible;
	display: block;
	float: left;
	padding: 1px 0;
}

.Topic main article header .options dl {
	color: #2C2C2C !important;
	font-size: 93.8% !important;
	line-height: 1.6 !important;
}

@media only screen and (max-width: 767px) {
	.Topic main article header .options dl {
		font-size: 100% !important;
	}
}

@media only screen and (max-width: 767px) {
	.Topic main article header .options {
		margin-bottom: 0.9em;
	}
	.Topic main article header .options dl {
		display: block;
		margin-left: 0;
	}
	.Topic main article header .options dl + dl {
		margin-top: 0.875em;
	}
}

.Topic main .docs, .Topic main .share {
	margin: 0 0 1.334em;
	text-align: right;
	font-size: 93.8%;
	line-height: 1.334;
}

@media only screen and (max-width: 767px) {
	.Topic main .docs, .Topic main .share {
		font-size: 93.4%;
		line-height: 1.429;
	}
}

@media only screen and (max-width: 767px) {
	.Topic main .docs, .Topic main .share {
		margin: 0 0 1.286em;
	}
}

.Topic main .docs ul, .Topic main .docs dl, .Topic main .share ul, .Topic main .share dl {
	display: block;
	margin: 0;
	padding: 0;
}

.Topic main .docs li, .Topic main .docs dt, .Topic main .docs dd, .Topic main .share li, .Topic main .share dt, .Topic main .share dd {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.Topic main .docs li:before, .Topic main .docs dt:before, .Topic main .share li:before, .Topic main .share dt:before {
	content: none;
}

.Topic main .docs li {
	margin-left: 0.4em;
}

@media only screen and (max-width: 767px), print {
	.Topic main .docs .print {
		display: none;
	}
}

.Topic main .docs .btn {
	padding: 0.3em 0.6em;
	border: 1px solid #C1C1C1;
	border-radius: 4px;
	line-height: 1.3333333333;
	text-decoration: none;
	font-weight: 500;
}

.ie .Topic main .docs .btn {
	padding-top: 0.467em;
	padding-bottom: 0.134em;
}

@media only screen and (max-width: 767px) {
	.Topic main .docs .btn {
		padding: 0.286em 0.643em;
		font-size: 93.4%;
		line-height: 1.858;
	}
}

.Topic main .docs .btn:before {
	margin-right: 0.4em;
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: none no-repeat center;
	background-size: contain;
	width: 1em;
	height: 1em;
}

@media only screen and (max-width: 767px) {
	.Topic main .docs .btn:before {
		width: 1.072em;
		height: 1.072em;
	}
}

@media only screen and (max-width: 767px) {
	.Topic main .docs .btn:before {
		margin-right: 0.429em;
	}
}

.Topic main .docs .btn.ezine:before {
	background-image: url("../img/icon-mail@2x.png");
	width: 1.067em;
	height: 1em;
}

@media only screen and (max-width: 767px) {
	.Topic main .docs .btn.ezine:before {
		width: 1.143em;
		height: 1.072em;
	}
}

.Topic main .docs .btn.print:before {
	background-image: url("../img/icon-print@2x.png");
}

.Topic main .share a:after {
	content: none;
}

.Topic main .share li {
	margin-left: 0.2em;
	vertical-align: middle;
}

@media only screen and (max-width: 767px) {
	.Topic main .share li {
		margin-left: 0.239em;
	}
	.Topic main .share li:first-child {
		margin-left: 2px;
	}
}

.Topic main .share li a {
	display: inline-block;
}

.Topic main .share li a:focus {
	outline-offset: 3px;
}

.Topic main .share li img {
	width: auto;
	height: 1.867em;
}

@media only screen and (max-width: 767px) {
	.Topic main .share li img {
		height: 2em;
	}
}

.Topic main .share .count {
	position: relative;
	display: inline-block;
	min-width: 2.715em;
	margin-left: 5px;
	padding: 2px 5px;
	border: 1px solid #C1C1C1;
	border-radius: 4px;
	text-align: center;
	vertical-align: middle;
	font-weight: normal;
	font-size: 93.4%;
	line-height: 1.429;
}

@media only screen and (max-width: 767px) {
	.Topic main .share .count {
		font-size: 100%;
	}
}

.Topic main .share .count:before, .Topic main .share .count:after {
	content: "" !important;
	visibility: visible !important;
	position: absolute;
	top: 50%;
	margin-top: -5px;
	border: solid transparent;
	border-width: 5px 7px 5px 0;
}

.Topic main .share .count:before {
	border-right-color: #C1C1C1;
	left: -7px;
}

.Topic main .share .count:after {
	border-right-color: #fff;
	left: -5.5px;
}

.Topic main footer .related .grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -20px;
	margin-right: -20px;
	margin-top: 2em;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

@supports (display: flex) or (display: -webkit-box) {
	.Topic main footer .related .grid {
		margin-left: -18px;
		margin-right: -18px;
	}
}

.ie11 .Topic main footer .related .grid {
	margin-left: -18px;
	margin-right: -18px;
}

.Topic main footer .related .grid > * {
	width: 50%;
	padding-left: 18px;
	padding-right: 18px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.Topic main footer .related .grid > * {
		display: block;
	}
}

.ie11 .Topic main footer .related .grid > * {
	display: block;
}

@media only screen and (max-width: 767px) {
	.Topic main footer .related .grid {
		display: block;
		margin-left: 0;
		margin-right: 0;
		margin-top: 1.867em;
	}
	.ie11 .Topic main footer .related .grid {
		margin-left: 0;
		margin-right: 0;
	}
	.Topic main footer .related .grid > * {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.Topic main footer .related .grid .col {
		margin-bottom: 1.867em;
	}
}

/*------------------------------------------------
	トピックス > 各記事
------------------------------------------------*/
/*------------------------------------------------
	印刷用
------------------------------------------------*/
@media print {
	.noprint, .notprint, .no-print, .not-print {
		display: none !important;
	}
	#top, #header, #footer, #toc, #bread_crumb, #backtotop, #guide-nav, #target_nav {
		display: none !important;
	}
	main {
		width: auto !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
	}
	main > section:last-child {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	#contents {
		width: auto !important;
		margin-bottom: 0 !important;
	}
	body {
		background: #fff;
		color: #000;
	}
	.btn {
		background: #fff !important;
		color: #000 !important;
	}
}
