@charset "UTF-8";
/*------------------------------------------------
	脱炭素ポータル
------------------------------------------------*/
/*------------------------------------------------
	CN > スクロール用
------------------------------------------------*/
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;
}

/*------------------------------------------------
	CN > 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;
	min-width: 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, 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;
	border-radius: 0;
}

/*------------------------------------------------
	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;
}

/*------------------------------------------------
	CN > Link
------------------------------------------------*/
a {
	text-decoration: underline;
}

a:link {
	color: #326EAA;
}

a:visited {
	color: #326EAA;
}

a:hover, a:focus {
	color: #A50;
}

a:active {
	color: #A50;
}

a:not([href]) {
	color: #2C2C2C;
	text-decoration: none;
}

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$="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[href$="zip"]:after {
	background-image: url("../img/ico/ico-download@2x.png") !important;
}

.ie8 a[href$="zip"]:after {
	background-image: url("../img/ico/ico-download.png") !important;
}

html.js a.js-modal:after {
	display: none;
}

a.no:after, a.noicon:after, a.icon:after, a.image:after {
	content: none !important;
}

/*------------------------------------------------
	CN > スクリーンリーダー用 (テキストの読み上げ専用)
------------------------------------------------*/
.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, .is-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.is-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.is-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: 1919px) {
	.is-full, br.is-full, span.is-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: 1919px) {
	.not-full {
		display: block !important;
	}
	br.not-full {
		display: inline-block !important;
	}
	span.not-full {
		display: inline !important;
	}
}

/*------------------------------------------------
	CN > 見出し
------------------------------------------------*/
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 h1 .sub, main h2 .sub, main h3 .sub, main h4 .sub, main h5 .sub, main h6 .sub {
	display: block;
}

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, main header > h1, main header > h2, main header > h3, main header > h4, main header > h5, main header > 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;
	}
}

/*------------------------------------------------
	CN > Clear
------------------------------------------------*/
.clearfix:after,
.container:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.clear {
	clear: both;
}

/*------------------------------------------------
	文字サイズ
------------------------------------------------*/
.medium {
	font-size: medium !important;
}

.small {
	font-size: small !important;
}

.x-small {
	font-size: x-small !important;
}

.xx-small {
	font-size: xx-small !important;
}

.large {
	font-size: large !important;
}

.x-large {
	font-size: x-large !important;
}

.xx-large {
	font-size: xx-large !important;
}

.xxx-large {
	font-size: xxx-large !important;
}

.font-normal {
	font-size: 1rem !important;
}

/*------------------------------------------------
	メインコンテンツ
------------------------------------------------*/
main article,
main section {
	position: relative;
	margin: 2.5em 0 4em;
}

@media only screen and (max-width: 767px) {
	main article,
	main section {
		margin: 2.667em 0 3.334em;
	}
}

main article section,
main section section {
	margin: 2.25em 0;
}

main h1 + article,
main h1 + section {
	margin-top: 1em;
}

main .grid > article,
main .grid > section {
	margin-top: 0;
	margin-bottom: 2.75em;
}

main p, main ul, main ol, main dl,
main table, main blockquote, main pre,
main figure, main details {
	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,
	main figure, main details {
		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%;
	line-height: 1.667;
}

@media only screen and (max-width: 767px) {
	main .note {
		font-size: 93.4%;
	}
}

main p + .nearby {
	margin-top: -1em;
}

main strong, main em, main .bold {
	font-weight: bold;
}

main strong, main .important {
	background-color: #D8EFEC;
}

main ruby > rt {
	font-size: 0.625em;
	font-size: 0.625rem;
	-webkit-transform: translateY(-1px);
	    -ms-transform: translateY(-1px);
	        transform: translateY(-1px);
}

main mark,
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, .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%);
}

main em.mark,
main mark.em {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(42%, rgba(216, 239, 236, 0.7)), color-stop(90%, #D8EFEC), color-stop(92%, transparent));
	background: -webkit-linear-gradient(transparent 40%, rgba(216, 239, 236, 0.7) 42%, #D8EFEC 90%, transparent 92%);
	background: linear-gradient(transparent 40%, rgba(216, 239, 236, 0.7) 42%, #D8EFEC 90%, transparent 92%);
}

.ie main em.mark, .ie
main mark.em {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, transparent), color-stop(22%, rgba(216, 239, 236, 0.7)), color-stop(70%, #D8EFEC), color-stop(72%, transparent));
	background: -webkit-linear-gradient(transparent 20%, rgba(216, 239, 236, 0.7) 22%, #D8EFEC 70%, transparent 72%);
	background: linear-gradient(transparent 20%, rgba(216, 239, 236, 0.7) 22%, #D8EFEC 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 !important;
}

main figure.right, main .figure.right {
	float: right;
	margin: 0 0 10px 50px !important;
}

@media (max-width: 1199px) {
	main figure.left, main .figure.left {
		margin-right: 4.5% !important;
	}
	main figure.right, main .figure.right {
		margin-left: 4.5% !important;
	}
}

@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 !important;
		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;
}

main blockquote:last-child,
main .quote:last-child {
	margin-bottom: 0 !important;
}

@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 blockquote.info,
main .quote.info {
	border-color: #EEF4F4;
	background: #EEF4F4;
}

main blockquote.warning,
main .quote.warning {
	border-color: #FCFCDD;
	background: #FCFCDD;
}

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 ins {
	text-decoration: none;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(64%, transparent), color-stop(66%, rgba(255, 245, 188, 0.7)), color-stop(90%, #FFF5BC), color-stop(92%, transparent));
	background: -webkit-linear-gradient(transparent 64%, rgba(255, 245, 188, 0.7) 66%, #FFF5BC 90%, transparent 92%);
	background: linear-gradient(transparent 64%, rgba(255, 245, 188, 0.7) 66%, #FFF5BC 90%, transparent 92%);
}

main .text-center {
	text-align: center;
}

main .text-left {
	text-align: left;
}

main .text-right {
	text-align: right;
}

main .with-top, main .mt0 {
	margin-top: 0 !important;
}

main .with-bottom, main .mb0 {
	margin-bottom: 0 !important;
}

/*------------------------------------------------
	折りたたみ要素
------------------------------------------------*/
.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;
}

/*------------------------------------------------
	代替テキスト表示
------------------------------------------------*/
.show-alt-text,
.no-alt-text {
	overflow: hidden;
	width: auto !important;
	min-width: 12em !important;
	text-align: left;
}

.show-alt-text {
	text-indent: -20ex;
}

/* CN > リンク */
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[target="_blank"].online:after {
	position: absolute;
	top: auto;
	margin-top: 0.313em;
}

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%;
	}
}

/* CN > リスト */
.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, .main ul.default {
	list-style: disc;
}

.default .main ul ul, .main ul.default ul {
	list-style: circle;
}

.default .main ul ul ul, .main ul.default ul ul {
	list-style: square;
}

.default .main ul li, .main ul.default li {
	margin-bottom: 0.25em;
}

.main li {
	position: relative;
	margin-bottom: 0.75em;
	line-height: 1.75;
}

.main dt {
	position: relative;
	font-weight: bold;
	line-height: 1.75;
}

.main dt > i:first-child {
	margin-right: 0.438em;
	font-style: normal;
}

.main dd {
	margin-top: 0.2em;
	margin-bottom: 0.75em;
}

.default .main dl dt, .main dl.default dt {
	font-weight: 500;
}

.default .main dl dd, .main dl.default 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, .main dl.list.default dd + dt, .default
.main dl dl dd + dt,
.main dl dl.default 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;
}

.default .main ul li:before, .main ul.default li: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;
}

.main .noicon > li,
.main .nolist > li {
	margin: 0;
	line-height: inherit;
}

.main .noicon > li:before,
.main .noicon > dt:before,
.main .nolist > li:before,
.main .nolist > dt:before {
	content: none;
}

.main .nolist {
	padding-left: 0 !important;
}

.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 {
	clear: both;
	padding-left: 0;
	text-align: left;
}

.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: 0;
	margin-right: 1em;
}

html[lang="ja"] .main dl.cols > dd {
	overflow: hidden;
	margin-top: 0;
	margin-bottom: 0.75em;
}

@media only screen and (max-width: 767px) {
	html[lang="ja"] .main dl.cols.cols-sm > dt {
		float: none;
		width: auto !important;
		margin-right: 0;
	}
	html[lang="ja"] .main dl.cols.cols-sm > dd {
		overflow: visible;
		margin-left: 0 !important;
	}
}

@media only screen and (max-width: 479px) {
	html[lang="ja"] .main dl.cols.cols-sp > dt {
		float: none;
		width: auto !important;
		margin-right: 0;
	}
	html[lang="ja"] .main dl.cols.cols-sp > 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;
	}
}

/* CN > 表・テーブル */
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.num, main table td.num {
	white-space: nowrap;
}

main table th {
	font-weight: bold;
}

main table.text-center th, main table.text-center td {
	text-align: center;
}

main table.text-middle th, main table.text-middle td {
	vertical-align: middle;
}

main table caption {
	padding: 0 0 1em;
	text-align: left;
	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"], main table.border {
	border: 1px solid #D3D3D3;
}

main table[border="1"] th, main table[border="1"] td, main table.border th, main table.border td {
	border: 1px solid #D3D3D3;
}

main table[border="0"], main table.no-border {
	border: 0;
}

main table[border="0"] th, main table[border="0"] td, main table.no-border th, main table.no-border 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, main table.no-border th, main table.no-border td {
		padding-left: 24px;
	}
}

main table[border="0"] th:first-child, main table[border="0"] td:first-child, main table.no-border th:first-child, main table.no-border td:first-child {
	padding-left: 0;
}

main table.extend {
	width: 100%;
}

@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, main table.block-sp.no-border tr {
		margin-top: 1.2em;
	}
	main table.block-sp[border="0"] th, main table.block-sp[border="0"] td, main table.block-sp.no-border th, main table.block-sp.no-border td {
		margin: 0.4em 0;
		padding: 0;
		border: 0;
	}
	main table.block-sp[border="0"] td, main table.block-sp.no-border td {
		padding-left: 12px;
	}
	main table.block-sp[border="1"] th, main table.block-sp[border="1"] td, main table.block-sp.border th, main table.block-sp.border td {
		border-top-width: 0;
	}
	main table.block-sp[border="1"] th:first-child, main table.block-sp[border="1"] td:first-child, main table.block-sp.border th:first-child, main table.block-sp.border td:first-child {
		border-top-width: 1px;
	}
}

/*------------------------------------------------
	CN > 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;
	}
}

/*------------------------------------------------
	CN > ヘッダー
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > グローバルナビ ゲーション
------------------------------------------------*/
#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: 36px;
	text-align: left;
	-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 {
	display: inline-block;
	width: 36px;
	padding-bottom: 6px;
}

#header-nav ul.menu li.menu-top a img {
	opacity: 0;
	-webkit-transition-duration: 0.25s;
	        transition-duration: 0.25s;
}

.scrolling-contents #header-nav ul.menu li.menu-top {
	display: inline-block;
	z-index: 1;
	left: 0;
	top: 0;
	width: 32px;
	-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 {
	width: 32px;
	padding: 16px 2px !important;
}

.scrolling-contents #header-nav ul.menu li.menu-top a img {
	opacity: 1;
}

#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");
}

/*------------------------------------------------
	CN > (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;
	}
}

@media print and (max-width: 979px) {
	#header .controls {
		display: none !important;
	}
}

@media (max-width: 979px) {
	#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-top: 22px;
		padding-bottom: 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;
	}
}

/*------------------------------------------------
	CN > 固定ヘッダー
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > サイトイメージエリア
------------------------------------------------*/
#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;
	}
}

/* CN > 目次 */
#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;
	}
}

/*------------------------------------------------
	CN > ガイドナビゲーション
------------------------------------------------*/
.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");
}

/*------------------------------------------------
	CN > ターゲット別ナビゲーション
------------------------------------------------*/
#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");
}

/*------------------------------------------------
	CN > メールマガジンの紹介
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > 「ページ先頭へ」部分
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > フッター
------------------------------------------------*/
#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;
	}
}

#footer .modal a.btn {
	color: #2C2C2C;
}

#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;
}

.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;
}

.nowrap {
	white-space: nowrap;
}

.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;
	}
}

/*------------------------------------------------
	CN > フォーム入力要素
------------------------------------------------*/
main input.text.hasvalue:hover, main input.text:focus {
	background-image: none !important;
}

/*------------------------------------------------
	CN > ボタン関係
------------------------------------------------*/
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-top: 14px;
	padding-bottom: 8px;
}

@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-top: 13.5px;
		padding-bottom: 6.5px;
	}
}

.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.active,
a.btn.active {
	background: #008070;
	color: #fff;
}

.btn.focus,
a.btn.focus {
	outline: 1px solid #008070;
}

.btn + .btn,
a.btn + .btn {
	margin-left: 0.5em;
}

.btn:after,
a.btn:after {
	margin-right: 0;
}

.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, .btn.download {
	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, .btn.download:hover, .btn.download:active, .btn.download:focus {
	border-color: #155A4E;
	background: #155A4E;
	color: #fff;
}

.btn.detail[target="_blank"]:after, .btn.submit[target="_blank"]:after, .btn.download[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, .ie8 .btn.download[target="_blank"]:after {
	background-image: url("../img/ico-outlink-white.png") !important;
}

.btn.download:after {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico/ico-download-white@2x.png") no-repeat center !important;
	background-size: contain !important;
	width: 1rem !important;
	height: 1rem !important;
	margin-left: 0.5em;
	top: -2px;
}

.ie8 .btn.download:after {
	background-image: url("../img/ico/ico-download-white.png") !important;
}

.btn.tag {
	border-color: #008070;
	background: #fff;
	color: #00665A;
	font-weight: 500;
	padding: 1px 0.8em;
	letter-spacing: 0;
}

.btn.tag:hover, .btn.tag:active, .btn.tag:focus {
	background: #008070;
	color: #fff;
}

.btn.close:after {
	margin-left: 0.5em;
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-close@2x.png") no-repeat center;
	background-size: contain;
	width: 1rem;
	height: 1rem;
}

.ie8 .btn.close:after {
	background-image: url("../img/ico-close.png");
}

.btn.icon:after {
	content: none;
	display: none;
}

.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-top: 22px;
	padding-bottom: 16px;
}

.btn.btn-em {
	font-size: 106.3%;
	line-height: 1.765;
	padding: 18.5px 2.177em;
}

.ie .btn.btn-em {
	padding-top: 21.5px;
	padding-bottom: 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-top: 25px;
		padding-bottom: 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-top: 19px;
	padding-bottom: 13px;
}

.btn.btn-sq, .btn.btn-for {
	font-size: 125%;
	line-height: 1.5;
	padding: 29px 1.85em;
	border-radius: 6px;
	text-align: left;
}

.ie .btn.btn-sq, .ie .btn.btn-for {
	padding-top: 32px;
	padding-bottom: 26px;
}

@media (max-width: 1199px) {
	.btn.btn-sq, .btn.btn-for {
		font-size: 112.5%;
		line-height: 1.556;
	}
}

@media only screen and (max-width: 767px) {
	.btn.btn-sq, .btn.btn-for {
		font-size: 120%;
		line-height: 1.556;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.ie .btn.btn-sq, .ie .btn.btn-for {
		padding-top: 23px;
		padding-bottom: 17px;
	}
}

.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).btn-sq:after, .nav a.btn:not(.link).btn-for:after {
	right: 24px;
}

.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%;
}

.nav a.btn.btn-for {
	padding-left: 79px;
	padding-right: 47px;
}

.nav a.btn.btn-for:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	vertical-align: middle;
	background: none no-repeat center;
	background-size: contain;
	width: 54px;
	height: 54px;
	margin-top: -27px;
	left: 13px;
}

.nav a.btn.for-private:before {
	background-image: url("../img/icon/icon-btn-private@2x.png");
}

.nav a.btn.for-local:before {
	background-image: url("../img/icon/icon-btn-local@2x.png");
}

.nav a.btn.for-everyone:before {
	background-image: url("../img/icon/icon-btn-everyone@2x.png");
}

/*------------------------------------------------
	CN > キャプションが付けられる図表・画像・動画
------------------------------------------------*/
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 .grid .image.to-video:after, main .grid .video.to-video:after, main .grid .img.to-video:after {
	width: 60px;
	height: 60px;
	margin-top: -30px;
	margin-left: -30px;
}

@media only screen and (max-width: 767px) {
	main .grid .image.to-video:after, main .grid .video.to-video:after, main .grid .img.to-video:after {
		width: 8vw;
		height: 8vw;
		margin-top: -4vw;
		margin-left: -4vw;
	}
}

@media (max-width: 979px) {
	main .grid .image.to-video img, main .grid .video.to-video img, main .grid .img.to-video img {
		width: 100%;
		height: auto;
	}
}

main .img.to-video:after, main .image.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, .ie8 main .image.img.to-video:after {
	background-image: url("../img/icon/icon-play-88.png");
}

main .in-video {
	position: relative;
	padding-top: 56.25%;
}

main .in-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*------------------------------------------------
	CN > グリッド部分
------------------------------------------------*/
.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, .grid.col-3, .grid.col-4 {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.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);
		}
	}
}

/*------------------------------------------------
	CN > テキストの行数の制限
------------------------------------------------*/
.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;
		}
	}
}

/* CN > アラート用 */
#alert {
	margin: 0;
	padding: 0.767em 0 0.7em;
	background: #008070;
	color: #fff;
	font-size: 93.8%;
	line-height: 1.734;
}

@media only screen and (max-width: 767px) {
	#alert {
		font-size: 80%;
		line-height: 1.667;
	}
}

.message {
	margin: 1.625em 0;
	padding: 1.5em 30px;
	border-radius: 3px;
	border: 2px solid #F5F5F5;
	background: #F5F5F5;
}

.message > :first-child {
	margin-top: 0 !important;
}

.message h2, .message h3, .message h4, .message header {
	margin-bottom: 0.5em;
	font-size: 100%;
	line-height: 1.75;
}

.message p, .message ul, .message ol, .message dl {
	margin: 0.5em 0;
}

.message.info {
	border-color: #EEF4F4;
	background: #EEF4F4;
}

.message.warning {
	border-color: #FCFCDD;
	background: #FCFCDD;
}

.message.warning h2:before, .message.warning h3:before, .message.warning h4:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico/ico-message-warning@2x.png") no-repeat center;
	background-size: contain;
	width: 1.25em;
	height: 1.25em;
	margin-right: 0.5em;
}

/*------------------------------------------------
	CN > モーダルウィンドウ
------------------------------------------------*/
.modal {
	display: none;
	width: 35.143em;
	max-width: 90%;
	margin: 0 auto !important;
	padding: 0 !important;
	border-radius: 10px;
	border: 1px solid #fff;
	background: #fff !important;
	color: #2C2C2C !important;
	font-size: 0.875rem !important;
	line-height: 1.8571428571 !important;
	text-align: left;
	-webkit-transition: margin 0.5s ease-out;
	transition: margin 0.5s ease-out;
}

.modal.nojs {
	display: block;
}

html.js .modal.nojs {
	display: none;
}

html.js .modal {
	display: none;
	position: fixed;
	z-index: 2001;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.modal.extend {
	width: 780px;
}

@media only screen and (max-width: 767px) and (orientation: landscape) {
	.modal {
		top: 52.5%;
	}
}

.modal[aria-hidden="true"] {
	margin-top: 42px !important;
}

.modal[aria-hidden="false"] {
	margin-top: 0 !important;
}

.modal:focus {
	outline: 0 !important;
}

.modal .modal-container {
	overflow-y: auto;
	max-height: 82vh;
	margin: 0 !important;
	padding: 19px 25px 24px;
}

@media only screen and (max-width: 767px) {
	.modal .modal-container {
		padding: 19px 20px 20px;
	}
}

@media only screen and (max-width: 767px) and (orientation: landscape) {
	.modal .modal-container {
		max-height: 77.5vh;
	}
}

.modal h2, .modal .h2 {
	margin-bottom: 0.417em !important;
}

.modal h3, .modal .h3 {
	margin-bottom: 0.667em !important;
	font-size: 1.125rem !important;
	line-height: 1.6666666667 !important;
	font-weight: bold;
}

@media only screen and (max-width: 767px) {
	.modal h3, .modal .h3 {
		margin-bottom: 0.75em !important;
		font-size: 1rem !important;
		line-height: 1.75 !important;
	}
}

.modal header {
	margin-bottom: 1.125em;
	padding: 1em;
	background: #EEF4F4;
	text-align: center;
}

.modal img.full {
	width: 100%;
	height: auto;
}

.modal p.nav {
	margin-top: 1.572em !important;
}

@media only screen and (max-width: 767px) {
	.modal p.nav {
		margin-top: 1.286em !important;
	}
}

.modal .btn-sm {
	padding: 12px 1.667em;
	font-size: 0.938rem !important;
}

.modal .close.icon {
	position: absolute;
	z-index: 2002;
	bottom: 100%;
	right: -12px;
	padding: 12px;
	margin-bottom: 6px;
	border: 0;
	border-radius: 50%;
	background: none;
	line-height: 1;
}

@media only screen and (max-width: 767px) and (orientation: landscape) {
	.modal .close.icon {
		margin-bottom: 0;
	}
}

@media only screen and (max-width: 479px) {
	.modal .close.icon {
		margin-bottom: 0;
	}
}

.modal .close.icon:focus {
	outline: 1px solid #fff !important;
}

.modal .close.icon:after {
	content: none;
	display: none;
}

html:not(.js) .modal .close {
	display: none;
}

#modal-bg {
	display: none;
	position: fixed;
	z-index: 2000;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #000;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
}

#modal-filter-help {
	width: 1332px;
}

/*------------------------------------------------
	CN > 注目キーワード
------------------------------------------------*/
#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, #main .keywords dd {
	display: inline-block;
	margin: 0 2.5px;
	margin-bottom: 14px !important;
}

@media only screen and (max-width: 767px) {
	#main .keywords li, #main .keywords dd {
		margin: 0 1px;
		margin-bottom: 12px !important;
	}
}

#main .keywords li:before, #main .keywords dd:before {
	content: none;
}

#main .keywords .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 .btn {
		font-size: 86.7%;
		line-height: 2;
	}
}

.ie #main .keywords .btn {
	padding-top: 12px;
	padding-bottom: 5px;
}

@media only screen and (max-width: 767px) {
	#main .keywords .btn {
		padding: 3.5px 0.77em 2.5px;
	}
}

#main .keywords .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;
}

#main .keywords .btn.active:before {
	background-image: url("../img/ico/ico-hash-white@2x.png");
}

#main .keywords .btn:after {
	margin-left: 0.5em;
	margin-right: 0;
}

/*------------------------------------------------
	CN > フィルター用フォーム
------------------------------------------------*/
#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[disabled], #filter input.text[disabled] {
	background-color: #DDD;
}

#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 .message {
	margin-top: 1em;
	font-weight: 500;
}

#filter .btns {
	font-size: 93.8%;
	line-height: 1.667;
}

@media only screen and (max-width: 767px) {
	#filter .btns {
		font-size: 100%;
	}
}

#filter .btns .btn, #filter .btns input, #filter .btns select {
	font-size: 100%;
	line-height: 1.667;
	padding: 0.267em 0.6em 0.267em 0.734em;
	font-weight: 500;
}

#filter .btns .btn i {
	font-size: 86.7%;
	margin-left: 0.25em;
}

#filter .btns .btn input[type="checkbox"] {
	position: absolute;
	z-index: -1;
}

#filter .btns button.text {
	border-color: transparent;
	border-radius: 0;
	background: none;
	text-underline-offset: 0.2em;
}

#filter .btns button.text:focus {
	text-decoration: underline;
}

#filter .btns button.more:after {
	width: 0.667em;
	height: 0.667em;
}

#filter .btns #filter-sort {
	width: 9em;
	height: 2.334em;
}

#filter .btns .tags {
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#filter .btns .tags {
		display: block;
	}
}

#filter .btns .tags li {
	width: auto;
	margin: 0;
	margin-right: 0.367em;
	margin-bottom: 12px !important;
	padding: 0;
}

#filter .btns .tags li:last-child {
	margin-right: 0;
}

#filter .btns .keywords {
	overflow: hidden;
	display: block !important;
	height: 2.534em;
	min-height: 2.534em;
	margin: 0 -1px;
	padding: 1px !important;
}

#filter .btns .keywords.active {
	height: auto;
}

@media only screen and (max-width: 767px) {
	#filter .btns .keywords {
		height: auto;
	}
}

@media only screen and (max-width: 767px) {
	#filter .btns .tags {
		overflow-x: auto;
		overflow-y: hidden;
		white-space: nowrap;
		margin: 0 -24px;
		padding: 0 24px;
		text-align: left !important;
	}
}

@media only screen and (max-width: 479px) {
	#filter .btns .tags {
		margin: 0 -18px;
		padding: 0 18px;
	}
}

#filter .grid {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	margin: 5px 0 0;
}

@media only screen and (max-width: 767px) {
	#filter .grid {
		position: static;
		display: block;
		margin-top: 0;
	}
}

#filter .grid .controls {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0;
	        flex: 0 0;
}

#filter .help.icon {
	display: inline-block;
	padding: 0.5625em;
	border-radius: 50%;
	line-height: 1;
	vertical-align: middle;
}

#filter .help.icon img {
	max-width: none;
	width: 1rem;
	height: 1rem;
	vertical-align: top;
}

@media only screen and (max-width: 767px) {
	#filter .helper.sp-position {
		position: absolute;
		right: -4px;
		bottom: 100%;
		z-index: 10;
		margin-bottom: 12px;
	}
}

#filter .controls {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	white-space: nowrap;
	padding-right: 0;
}

@media only screen and (max-width: 767px) {
	#filter .controls {
		position: static;
		margin-top: 8px;
	}
}

#filter .controls > span + span {
	margin-left: 13px;
}

#filter .controls .shower {
	min-width: 8em;
	margin: 0;
	padding: 1px 0;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#filter .controls .shower {
		display: none;
	}
}

#filter .controls .sorter {
	position: relative;
	min-width: 9em;
	padding: 1px 0;
	padding-left: 26px;
	text-align: right;
}

@media (max-width: 1199px) {
	#filter .controls .sorter {
		padding-left: 0;
	}
}

#filter .controls .sorter:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	height: 1rem;
	margin-top: -0.5rem;
	border-left: 1px solid #afafaf;
}

@media (max-width: 1199px) {
	#filter .controls .sorter:before {
		display: none;
	}
}

#filter .controls.col-2 {
	margin-top: 0;
}

#filter-none {
	padding: 2em 0;
}

#filter-none label {
	border-bottom: 1px dotted #D3D3D3;
}

/*------------------------------------------------
	CN > オプション情報部分
------------------------------------------------*/
.main .options.cols {
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.main .options dl, .main .options dt, .main .options dd, .main .options p {
	margin: 0;
	vertical-align: top;
}

.main .options dl, .main .options p {
	font-size: 93.8%;
	line-height: 1.534;
	display: inline;
	margin-right: 0.4em;
}

@media only screen and (max-width: 767px) {
	.main .options dl, .main .options p {
		font-size: 93.4%;
		line-height: 1.643;
	}
}

.main .options dl:last-child, .main .options p:last-child {
	margin-right: 0;
}

.main .options dl:after {
	content: none;
}

.main .options dt {
	display: none;
}

.main .options dd {
	display: inline-block;
	padding: 1px 0 2px;
}

.ie .main .options dd {
	padding: 3px 0 0;
}

.main .options dl.date dd {
	white-space: nowrap;
}

.main .options dl.tags {
	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-right: 0.239em;
	padding: 1px 0.715em 0;
	border: 1px solid #EEF4F4;
	border-radius: 2em;
	background: #EEF4F4;
	color: #000;
}

.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 !important;
}

.main .options dl.tags.tags-list {
	display: block;
}

.main .options dl.tags.tags-list dd {
	margin-top: 0.608em !important;
}

.main .options dl.tags.topic-cats dd, .main .options dl.tags.has-btn dd {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.main .options dl:not(.tags) .btn.tag {
	font-size: 93.4%;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.main .options dl:not(.tags) .btn.tag {
		font-size: 92.9%;
	}
}

.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%;
}

/*------------------------------------------------
	CN > 新着ニュース部分
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > リンクボックス部分
------------------------------------------------*/
.linkbox,
.linkbox > a {
	display: block;
}

#main .linkbox {
	margin: 1.375em 0;
	text-align: left;
}

@media only screen and (max-width: 767px) {
	#main .linkbox {
		margin: 1.467em 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: 1.125em 24px;
	border: 1px solid #C1C1C1;
	border-radius: 6px;
	background: #fff;
	color: #2C2C2C;
	text-decoration: none;
}

.ie #main a.linkbox, .ie
#main .linkbox > a {
	padding-top: 1.313em;
	padding-bottom: 0.938em;
}

@media only screen and (max-width: 767px) {
	#main a.linkbox,
	#main .linkbox > a {
		padding: 0.967em 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 {
	position: absolute;
	top: 50%;
	right: 23px;
	margin: -0.5em 0 0;
}

@media only screen and (max-width: 767px) {
	#main a.linkbox:after,
	#main .linkbox > a:after {
		top: 19px;
		right: 17px;
		margin-top: 0;
	}
}

#main a.linkbox[target="_blank"],
#main .linkbox > a[target="_blank"] {
	padding-right: 60px;
}

@media only screen and (max-width: 767px) {
	#main a.linkbox[target="_blank"],
	#main .linkbox > a[target="_blank"] {
		padding-right: 18px;
	}
	#main a.linkbox[target="_blank"] h2, #main a.linkbox[target="_blank"] h3,
	#main .linkbox > a[target="_blank"] h2,
	#main .linkbox > a[target="_blank"] h3 {
		padding-right: 24px;
	}
}

#main .linkbox > article,
#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.75;
}

#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 header, #main a.linkbox h2, #main a.linkbox h3 {
	text-decoration: underline;
}

#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:hover, #main a.linkbox:active, #main a.linkbox:focus {
	border-color: #008070;
}

#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%;
}

#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 > article,
#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;
}

/*------------------------------------------------
	CN > リンクイメージ部分
------------------------------------------------*/
.imgbox,
.imgbox > a {
	display: block;
}

#main .imgbox {
	position: relative;
	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 > article,
#main .imgbox > section {
	position: static;
	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.6;
	margin-bottom: 0.969em;
}

@media only screen and (max-width: 767px) {
	#main .imgbox p {
		font-size: 93.4%;
		line-height: 1.715;
	}
}

#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 .h {
	text-decoration: underline;
}

#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: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%;
}

#main .imgbox .options .at {
	position: absolute;
	top: -8px;
	right: -8px;
	display: inline-block;
	min-width: 5.75em;
	padding: 0.2em 1em;
	background: #008070;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 1rem;
	line-height: 1.625;
	-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;
}

@media only screen and (max-width: 767px) {
	#main .imgbox .options .at {
		font-size: 0.938rem;
	}
}

.ie #main .imgbox .options .at {
	padding: 0.4em 1em 0;
}

#main .imgbox .options .at.new {
	background: #F46700;
}

#main .imgbox .options .at.new:before {
	border-left-color: #ab7249;
}

/*------------------------------------------------
	CN > 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 {
	border-color: #008070;
}

.js #main .faqbox.focus {
	outline: none !important;
	border-color: #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;
	}
}

.js #main .faqbox h2:hover, .js #main .faqbox h2:active, .js #main .faqbox h2:focus, .js #main .faqbox h3:hover, .js #main .faqbox h3:active, .js #main .faqbox h3:focus {
	cursor: pointer;
	outline: 0;
}

#main .faqbox.opened h2, #main .faqbox.opened h3 {
	font-weight: bold;
}

.sample #main .faqbox.opened h2, .sample #main .faqbox.opened h3 {
	font-weight: 500;
}

#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;
	}
}

.sample #main .faqbox .answer {
	padding-top: 1.125em;
	border-top: 1px dashed #D3D3D3;
	border-top-color: rgba(211, 211, 211, 0);
	-webkit-transition: border-color 0.4s ease-out;
	transition: border-color 0.4s ease-out;
}

@media only screen and (max-width: 767px) {
	.sample #main .faqbox .answer {
		padding-top: 0.967em;
	}
}

#main .faqbox .answer > :first-child,
#main .faqbox .answer > .text > :first-child {
	margin-top: 0;
}

html.js #main .faqbox .answer {
	display: none;
}

.sample #main .faqbox.opened .answer {
	border-top-color: lightgray;
}

#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:after {
	content: none;
	display: none;
}

#main .faqbox .controls .btn img {
	max-width: none;
	width: 1em;
	height: 1em;
	vertical-align: bottom;
}

/*------------------------------------------------
	CN > KVイメージ部分
------------------------------------------------*/
.kvbox,
.kvbox > a {
	display: block;
}

#main .kvbox {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	width: 1120px;
	background: #fff;
	color: #2C2C2C;
	margin: 0;
	padding: 0;
}

@media (max-width: 1119px) {
	#main .kvbox {
		width: 100vw;
		max-width: 100%;
	}
}

.ie11 #main .kvbox {
	position: relative;
	left: 13px;
}

#main .kvbox article {
	margin: 0;
}

@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;
	min-height: 20rem;
	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;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	#main .kvbox .img img {
		-o-object-fit: cover;
		   object-fit: cover;
		width: 100% !important;
		height: 100%;
	}
}

@media (max-width: 1119px) {
	#main .kvbox .img img {
		max-width: none;
		width: auto;
		height: 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.h-long {
	padding-left: 24px;
	padding-right: 24px;
}

#main .kvbox .nav a.btn:after {
	content: "" !important;
}

#main .kvbox .nav a.btn[target="_blank"]:after {
	content: "" !important;
	background-image: url("../img/ico/ico-outlink-color@2x.png") !important;
}

#main .kvbox .nav a.btn:not(.link) {
	padding-right: calc(32px + 1.375rem);
}

@media (max-width: 1119px) {
	#main .kvbox .nav a.btn:not(.link) {
		padding-right: calc(28px + 1.375rem);
	}
}

#main .kvbox .nav a.btn:not(.link).h-long {
	padding-right: calc(24px + 1.375rem);
}

#main .kvbox .nav a.btn:not(.link)[target="_blank"] {
	padding-right: calc(32px + 1.625rem);
}

@media (max-width: 1119px) {
	#main .kvbox .nav a.btn:not(.link)[target="_blank"] {
		padding-right: calc(28px + 1.625rem);
	}
}

#main .kvbox .nav a.btn:not(.link)[target="_blank"].h-long {
	padding-right: calc(24px + 1.625rem);
}

#main .kvbox .nav a.btn:not(.link):after {
	right: 32px;
}

@media (max-width: 1119px) {
	#main .kvbox .nav a.btn:not(.link):after {
		right: 28px;
	}
}

#main .kvbox .nav a.btn:not(.link).h-long:after {
	right: 24px;
}

#main .kvbox .nav a.btn:not(.link):not([target="_blank"]):after {
	height: 1em;
	margin-top: -0.5em;
}

#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 .h {
	text-decoration: underline;
}

#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: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;
}

/*------------------------------------------------
	CN > 関連リンクなど
------------------------------------------------*/
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;
}

/*------------------------------------------------
	CN > アンカーリンク部分
------------------------------------------------*/
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;
}

/* CN > キーワード検索フォーム */
#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;
}

/* CN > キーワード検索結果 */
#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-top: 5.5px;
	padding-bottom: 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;
}

/* CN > Slider v5 */
/* 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;
}

/*------------------------------------------------
	CN > トップページ・ターゲット別ページ共通
------------------------------------------------*/
.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;
}

/*------------------------------------------------
	CN > トップページ
------------------------------------------------*/
@media print {
	.Top #header, .Top #footer,
	.Top #guide-nav, .Top #target-nav, .Top #ezine {
		display: block !important;
	}
}

.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;
}

/*------------------------------------------------
	CN > トップページ > 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: 68vw;
	}
}

@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;
}

html.js .Top #kv .kv.kv-fade {
	opacity: 0;
	z-index: -1;
	-webkit-transition: opacity 0.8s ease-out;
	transition: opacity 0.8s ease-out;
}

html.js .Top #kv .kv.kv-fade.in, html.js .Top #kv .kv.kv-fade.swiper-container-initialized {
	opacity: 1;
	z-index: auto;
}

.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 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 {
	margin: 0;
}

.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 20px 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 .h:after {
	margin-right: 0;
}

.Top #kv h3 .h + 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 .h + 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 button img, .Top #kv button span, .Top #kv button b, .Top #kv button i {
	pointer-events: none;
}

.Top #kv .kv-thumbs {
	overflow: hidden;
	position: relative;
	top: -1px;
	right: -1px;
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	float: right;
	width: 280px;
	padding: 1px;
}

@media (max-width: 1199px) {
	.Top #kv .kv-thumbs {
		width: 23.3334vw;
	}
}

@media (max-width: 979px) {
	.Top #kv .kv-thumbs {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		top: 0;
		right: 0;
		float: none;
		width: auto;
		margin: 0 -0.7042vw;
		padding: 16px 2.5%;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .kv-thumbs {
		padding: 16px 24px;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .kv-thumbs {
		top: -1px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		margin: 0;
		padding: 0;
	}
}

.Top #kv .kv-thumbs .swiper-wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

@media (max-width: 979px) {
	.Top #kv .kv-thumbs .swiper-wrapper {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
	}
}

.Top #kv .thumb-0 {
	display: none !important;
}

.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.1667vw;
		height: 6.8334vw;
		margin-bottom: 1.3334vw;
		font-size: 0.75em;
	}
}

@media (max-width: 979px) {
	.Top #kv .thumb {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 10.2023vw;
		margin: 0 0.7043vw;
		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 {
		width: 25%;
		height: 18.75vw;
		margin: 0;
	}
}

.Top #kv .thumb img {
	position: relative;
	width: 100%;
	height: auto;
	top: -23px;
}

.Top #kv .thumb img.top {
	top: 0;
}

.Top #kv .thumb img.bottom {
	top: -46px;
}

@supports ((-o-object-fit: cover) or (object-fit: cover)) {
	.Top #kv .thumb img {
		-o-object-fit: cover;
		   object-fit: cover;
		height: 100%;
		top: 0;
	}
	.Top #kv .thumb img.top {
		-o-object-position: center top;
		   object-position: center top;
	}
	.Top #kv .thumb img.bottom {
		-o-object-position: center bottom;
		   object-position: center bottom;
		top: 0;
	}
}

@media (max-width: 979px) {
	.Top #kv .thumb img {
		top: 0 !important;
	}
}

.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;
}

@media only screen and (max-width: 479px) {
	.Top #kv .thumb .text {
		padding: 0 2vw;
	}
}

.Top #kv .thumb .text b {
	display: block;
	overflow: hidden;
}

@supports (-webkit-line-clamp: 2) {
	.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;
	}
}

.Top #kv .thumb:hover .text, .Top #kv .thumb:focus .text {
	opacity: 0;
}

.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-slide-thumb-active .text {
	opacity: 0;
}

.Top #kv .thumb.swiper-slide-thumb-active:hover img, .Top #kv .thumb.swiper-slide-thumb-active:focus img {
	opacity: 0.75;
	-webkit-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	        transform: scale(1.02);
}

.Top #kv .swiper-pagination-wrapper {
	position: absolute;
	top: 100%;
	right: 0;
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	margin-top: -16px !important;
	padding: 0;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	text-align: right;
}

@media (max-width: 979px) {
	.Top #kv .swiper-pagination-wrapper {
		margin-top: -7px !important;
		padding: 0 2.5%;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .swiper-pagination-wrapper {
		position: relative;
		top: 0;
		right: 0;
		margin-top: 0 !important;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		text-align: center;
	}
}

@media only screen and (max-width: 767px) {
	.Top #kv .swiper-pagination-wrapper {
		padding: 0 24px;
	}
}

@media only screen and (max-width: 479px) {
	.Top #kv .swiper-pagination-wrapper {
		padding: 14px 18px;
	}
}

.Top #kv button.swiper-play:before {
	border-color: transparent;
}

/*------------------------------------------------
	CN > トップページ > 注目キーワード
------------------------------------------------*/
#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 1em 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 li:last-child {
	margin-right: 0 !important;
}

#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;
}

/*------------------------------------------------
	CN > トップページ > リンクボックス系
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > トップページ > 新着ニュース
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > トップページ > よくある質問
------------------------------------------------*/
#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-top: 1.278em;
	padding-bottom: 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-top: 0.79em;
		padding-bottom: 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;
	}
}

/*------------------------------------------------
	CN > トップページ > メールマガジン
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > ターゲット別（〇〇の方へ）
------------------------------------------------*/
.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;
	margin-top: -10px;
	padding-top: 10px;
	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 20px 18px;
}

@media only screen and (max-width: 767px) {
	.Target #main .slider .imgbox {
		width: 300px;
		max-width: 80vw;
	}
}

.Target #main .slider .imgbox.no-border {
	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;
	}
}

/*------------------------------------------------
	CN > 企業の方へ
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > 地方自治体の方へ
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > 国民の方へ
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > 検索
------------------------------------------------*/
#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;
}

#CN2050Search #modal-searchable table {
	margin-top: 1.125em;
}

#CN2050Search #modal-searchable th {
	text-align: left;
	font-weight: bold;
}

#CN2050Search #modal-searchable thead {
	background: #EEF4F4;
	color: #000;
}

@media only screen and (max-width: 767px) {
	#CN2050Search #modal-searchable thead {
		display: none;
	}
}

#CN2050Search #modal-searchable thead th {
	padding-top: 0.858em;
	padding-bottom: 0.715em;
	text-align: left;
	font-weight: 500;
}

#CN2050Search #modal-searchable ul li {
	margin: 0 0 0.2em;
	line-height: inherit;
}

#CN2050Search #modal-searchable ul li:before {
	margin-top: -0.2em;
}

/*------------------------------------------------
	CN > カーボンニュートラルとは
------------------------------------------------*/
#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 > nav,
#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 > nav,
	#CN2050About .main > article,
	#CN2050About .main > section {
		padding-top: 3.2em;
		padding-bottom: 3.367em;
	}
}

#CN2050About .main > nav:first-child,
#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 #what {
	padding-bottom: 2.969em;
}

#CN2050About #can .container {
	width: 1120px;
}

@media (max-width: 1199px) {
	#CN2050About #can .container {
		max-width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050About #can .container {
		width: auto;
	}
}

#CN2050About #can .nav {
	margin-top: -15px;
	padding-top: 1px;
}

#CN2050About #can .nav a.btn {
	display: block;
	margin-top: 20px;
}

#CN2050About #what + #can {
	padding-top: 0;
}

#CN2050About #why {
	background: #EEF4F4;
}

/*------------------------------------------------
	CN > 国の取組
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > 国の取組 > 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-top: 0;
	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-top: 12.5px;
	padding-bottom: 7.5px;
}

#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: 24px 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.6;
}

@media only screen and (max-width: 767px) {
	#CN2050Roads .details {
		font-size: 93.4%;
		line-height: 1.715;
	}
}

#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.75em 0;
}

@media (max-width: 1119px) {
	#CN2050Roads .details .title {
		margin: 0.862em 0;
	}
}

#CN2050Roads .details p, #CN2050Roads .details ul, #CN2050Roads .details ol, #CN2050Roads .details dl {
	margin-bottom: 0.867em;
	text-align: left;
}

#CN2050Roads .details .links li {
	margin-bottom: 0.2em;
}

#CN2050Roads .details figure.image {
	margin: 16px 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 .details .close {
	text-align: center;
}

#CN2050Roads .details .close:after {
	content: none;
	display: none;
}

#CN2050Roads .details .close:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico-close@3x.png") no-repeat center;
	background-size: contain;
	width: 24px;
	height: 24px;
	top: 0;
}

#CN2050Roads .details .close .text {
	display: block;
}

#CN2050Roads .details footer .notice {
	margin-bottom: 0 !important;
}

#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;
}

/*------------------------------------------------
	CN > 最新情報
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > トピックス
------------------------------------------------*/
#CN2050Topics #contents {
	width: 1120px;
}

@media (max-width: 1199px) {
	#CN2050Topics #contents {
		width: 95%;
	}
}

@media (max-width: 979px) {
	#CN2050Topics #contents {
		width: auto;
	}
}

#CN2050Topics #contents {
	margin-bottom: 68px;
}

@media only screen and (max-width: 767px) {
	#CN2050Topics #contents {
		margin-bottom: 66px;
	}
}

#CN2050Topics #filter .grid {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-top: 15px;
}

#CN2050Topics #filter .grid.has-more .tags {
	width: 53em;
	max-width: 75%;
}

@media (max-width: 979px) {
	#CN2050Topics #filter .grid.has-more .tags {
		max-width: 75%;
		text-align: center;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Topics #filter .grid.has-more .tags {
		width: auto;
		max-width: none;
		text-align: left;
	}
}

@media (max-width: 979px) {
	#CN2050Topics #filter .grid.has-more:before {
		content: "";
		display: block;
		min-width: 5em;
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 7.8125%;
		        flex: 0 0 7.8125%;
	}
}

@media only screen and (max-width: 767px) {
	#CN2050Topics #filter .grid.has-more:before {
		content: none;
	}
}

@media (max-width: 979px) {
	#CN2050Topics #filter .grid.has-more .button {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 12.5%;
		        flex: 0 0 12.5%;
	}
}

#CN2050Topics #filter .grid.not-more .keywords {
	height: auto;
	text-align: center;
}

#CN2050Topics #filter .grid.not-more .button {
	display: none;
}

#CN2050Topics .imgbox .options {
	margin-right: -3px;
}

#CN2050Topics .imgbox .options dl.date {
	margin-right: 0.2em;
}

/*------------------------------------------------
	CN > 関連サイト
------------------------------------------------*/
#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 footer {
	display: none;
	overflow: hidden;
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 15px 20px;
	background: #008070;
	color: #fff;
	font-weight: bold;
}

#CN2050Links .imgbox footer.link {
	cursor: pointer;
}

#CN2050Links .imgbox footer a {
	color: #fff;
}

#CN2050Links .imgbox footer a.btn {
	padding: 12px 25px;
	color: #2C2C2C;
}

#CN2050Links .imgbox footer a.btn:hover, #CN2050Links .imgbox footer a.btn:focus {
	opacity: 0.85;
}

#CN2050Links .imgbox footer a.btn[target="_blank"]:after {
	content: "";
	margin-left: 0.5em;
}

#CN2050Links .imgbox footer h3 {
	font-size: 112.5%;
	line-height: 1.667;
	margin: 0 0 0.778em;
}

#CN2050Links .imgbox footer h3 a {
	display: inline;
}

#CN2050Links .imgbox footer h3 a:hover {
	text-decoration: none;
}

#CN2050Links .imgbox footer .options {
	margin: 0.75em 0 0.625em;
}

#CN2050Links .imgbox footer .options dl {
	display: inline;
	margin: 0;
}

#CN2050Links .imgbox footer .options .tags li, #CN2050Links .imgbox footer .options .tags dd {
	margin: 0;
	margin-top: 0 !important;
	margin-bottom: 10px !important;
	margin-right: 0.25em;
	border-color: rgba(238, 244, 244, 0);
	background: rgba(238, 244, 244, 0.2);
	color: #fff;
	cursor: default;
}

#CN2050Links .imgbox footer .options .keywords {
	display: block;
	margin: 0.334em 0 0.667em;
	text-align: left;
}

#CN2050Links .imgbox footer .options .keywords li, #CN2050Links .imgbox footer .options .keywords dd {
	margin: 0;
	margin-bottom: 5px !important;
	margin-right: 0.667em;
}

#CN2050Links .imgbox footer .options .keywords li:before, #CN2050Links .imgbox footer .options .keywords dd:before {
	content: "";
	display: inline-block;
	position: relative;
	top: -1px;
	vertical-align: middle;
	background: url("../img/ico/ico-hash-white@2x.png") no-repeat center;
	background-size: contain;
	width: 0.8em;
	height: 1.067em;
	margin-right: 0.4em;
}

#CN2050Links .imgbox footer .nav {
	margin-top: 10px;
}

#CN2050Links .imgbox footer .date {
	display: none;
}

.debug #CN2050Links .imgbox footer .date {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 0 0.5em;
	background: #fff;
	color: #2C2C2C;
	opacity: 0.7;
}

#CN2050Links .imgbox .tags.tag-on li, #CN2050Links .imgbox .tags.tag-on dd {
	cursor: pointer;
}

#CN2050Links .imgbox .tags.tag-on li:hover, #CN2050Links .imgbox .tags.tag-on li:focus, #CN2050Links .imgbox .tags.tag-on dd:hover, #CN2050Links .imgbox .tags.tag-on dd:focus {
	background: #008070;
	color: #fff;
}

#CN2050Links .imgbox footer .tags.tag-on li, #CN2050Links .imgbox footer .tags.tag-on dd {
	cursor: pointer;
	-webkit-transition: border-color 0.2s ease-out;
	transition: border-color 0.2s ease-out;
}

#CN2050Links .imgbox footer .tags.tag-on li:hover, #CN2050Links .imgbox footer .tags.tag-on li:focus, #CN2050Links .imgbox footer .tags.tag-on dd:hover, #CN2050Links .imgbox footer .tags.tag-on dd:focus {
	border-color: rgba(238, 244, 244, 0.8);
}

#CN2050Links .imgbox .keywords.tag-on li:hover, #CN2050Links .imgbox .keywords.tag-on li:focus, #CN2050Links .imgbox .keywords.tag-on dd:hover, #CN2050Links .imgbox .keywords.tag-on dd:focus {
	text-decoration: underline;
}

/*------------------------------------------------
	CN > よくあるご質問
------------------------------------------------*/
#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;
	}
}

/*------------------------------------------------
	CN > メールマガジン
------------------------------------------------*/
#CN2050Ezine main section + section {
	margin-top: 4.125em;
}

#CN2050Ezine main section section {
	margin-top: 2.125em;
}

#CN2050Ezine main .nav {
	margin: 1.125em auto;
}

@media only screen and (max-width: 767px) {
	#CN2050Ezine main .nav {
		margin: 1.334em auto;
	}
}

@media (min-width: 1200px) {
	#CN2050Ezine main .nav .btn.btn-ex {
		min-width: 18em;
	}
}

#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-top: 1.063em;
	padding-bottom: 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 {
	margin-bottom: 0;
	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 #cautions ul.list + dl.exp > dt:first-child {
	margin-top: 0;
	border-top: 0;
}

#CN2050Ezine #subscribe h3 {
	display: none;
}

#CN2050Ezine #subscribe .nav li {
	margin: 0 0.3333333333em 1em;
}

@media (min-width: 1200px) {
	#CN2050Ezine #subscribe .nav .btn.btn-ex:after {
		right: 3em;
	}
}

@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;
	}
}

/*------------------------------------------------
	CN > バックナンバー
------------------------------------------------*/
#CN2050Archives main a.linkbox[target="_blank"]:after,
#CN2050Archives main .linkbox > a[target="_blank"]:after {
	background-image: url("../img/ico/ico-outlink-color@2x.png");
}

.ie8 #CN2050Archives main a.linkbox[target="_blank"]:after, .ie8
#CN2050Archives main .linkbox > a[target="_blank"]:after {
	background-image: url("../img/ico/ico-outlink-color.png");
}

#CN2050Archives main .linkbox h2, #CN2050Archives main .linkbox h3 {
	font-size: 93.8%;
	line-height: 1.734;
	margin-bottom: 0.434em;
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	#CN2050Archives main .linkbox h2, #CN2050Archives main .linkbox h3 {
		font-size: 93.4%;
	}
}

#CN2050Archives main .linkbox[href] h2, #CN2050Archives main .linkbox[href] h3 {
	text-decoration: none !important;
	color: #2C2C2C;
}

#CN2050Archives main .linkbox[href] h2 b, #CN2050Archives main .linkbox[href] h3 b {
	color: #008070;
}

#CN2050Archives main .linkbox .vol {
	font-weight: bold;
}

#CN2050Archives main .linkbox .vol, #CN2050Archives main .linkbox time {
	margin-right: 0.4em;
}

#CN2050Archives main .linkbox .cat {
	font-size: 93.4%;
	line-height: 1.429;
	display: inline-block;
	padding: 0.215em 0.858em;
	border-radius: 1em;
	background: #EEF4F4;
}

.ie #CN2050Archives main .linkbox .cat {
	padding-top: 0.429em;
	padding-bottom: 0em;
}

#CN2050Archives main .linkbox p {
	margin-bottom: 0;
}

/*------------------------------------------------
	CN > プライバシーポリシー
------------------------------------------------*/
#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;
}

/*------------------------------------------------
	CN > トピックス > 記事（共通）
------------------------------------------------*/
@media print {
	.Topic main #heading {
		display: none;
	}
}

@media print {
	.Topic main #contents {
		margin: 20px auto 0;
	}
}

.Topic main article {
	margin: 0;
	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;
	}
}

@media (min-width: 768px) {
	.Topic main article .h1 {
		font-size: 175%;
		line-height: 1.5;
		margin-bottom: 0.679em;
	}
}

@media (min-width: 768px) {
	.Topic main article h2, .Topic main article .h2 {
		margin-bottom: 0.75em;
	}
	.Topic main article h2 small, .Topic main article h2 .sub, .Topic main article .h2 small, .Topic main article .h2 .sub {
		font-size: 83.4%;
		line-height: 1.6;
	}
}

@media (min-width: 768px) {
	.Topic main article h3, .Topic main article .h3 {
		font-size: 125%;
		line-height: 1.6;
		margin-bottom: 1em;
	}
}

@media (min-width: 768px) {
	.Topic main article h4, .Topic main article .h4 {
		font-size: 112.5%;
		line-height: 1.667;
		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 article .nav {
	text-align: left;
}

.Topic main article .message h2:not(.h2),
.Topic main article .message h3:not(.h3),
.Topic main article .message h4:not(.h4),
.Topic main article .message header {
	margin-bottom: 0.5em;
	font-size: 100%;
	line-height: 1.75;
}

.Topic main .content:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.Topic main .content article,
.Topic main .content section {
	margin: 4.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content article,
	.Topic main .content section {
		margin: 3.134em 0;
	}
}

.Topic main .content article:first-child,
.Topic main .content section:first-child {
	margin-top: 0;
}

.Topic main .content article:last-child,
.Topic main .content section:last-child {
	margin-bottom: 0;
}

.Topic main .content article section,
.Topic main .content section section {
	margin: 2.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content article section,
	.Topic main .content section section {
		margin: 2.134em 0;
	}
}

.Topic main .content section.hr {
	margin: 1.875em 0;
	padding-top: 1.875em;
	border-top: 1px solid #D3D3D3;
}

.Topic main .content section.hr:last-child {
	padding-bottom: 1.875em;
	border-bottom: 1px solid #D3D3D3;
}

.Topic main .content section.hr .image.right {
	margin-bottom: 0 !important;
}

.Topic main .content > section.hr:last-child,
.Topic main .content > section:last-child > section.hr:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.Topic main .content > .image:first-child + section,
.Topic main .content > .video:first-child + section {
	margin-top: 2.625em;
}

.Topic main .content p, .Topic main .content .p {
	margin: 1.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content p, .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.75em;
}

@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.334em;
	}
}

.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:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.Topic main .content .p:after {
	overflow: hidden;
}

.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 .p figure,
.Topic main .content .p blockquote {
	margin: 0.375em 0;
}

.Topic main .content .p dl + figure,
.Topic main .content .p dl + blockquote {
	margin: 0.625em 0;
}

.Topic main .content .p > figure:last-child,
.Topic main .content .p > blockquote:last-child,
.Topic main .content .p > .message:last-child {
	margin-bottom: 0.375em !important;
}

.Topic main .content hr {
	margin: 3.25em 0;
	border: 0 none;
}

.Topic main .content .inline {
	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 .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 table {
	margin: 2.625em auto;
}

.Topic main .content table ul, .Topic main .content table ol {
	padding-left: 2em;
}

.Topic main .content table.list {
	margin: 2.25em 0 1.5em;
}

.Topic main .content table.list th, .Topic main .content table.list td {
	padding-bottom: 0.75em;
}

.Topic main .content table.p {
	margin: 1.25em 0 0.75em;
}

.Topic main .content table.p th, .Topic main .content table.p td {
	padding-left: 1.75em;
	padding-bottom: 0.25em;
	font-weight: 500;
}

.Topic main .content table.p th:first-child, .Topic main .content table.p td:first-child {
	padding-left: 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content table.list,
	.Topic main .content table.p {
		margin: 1.4em 0;
	}
	.Topic main .content table.list tr, .Topic main .content table.list th, .Topic main .content table.list td,
	.Topic main .content table.p tr,
	.Topic main .content table.p th,
	.Topic main .content table.p td {
		display: block;
		padding: 0;
	}
	.Topic main .content table.list tr,
	.Topic main .content table.p tr {
		margin-bottom: 0.75em;
	}
	.Topic main .content table.list th,
	.Topic main .content table.p th {
		font-weight: bold;
	}
	.Topic main .content table.list th ~ td,
	.Topic main .content table.p th ~ td {
		margin-left: 1em;
	}
}

@media only screen and (max-width: 767px) {
	.Topic main .content table.list th {
		display: list-item;
		list-style: disc;
	}
	.Topic main .content table.list th,
	.Topic main .content table.list th ~ td {
		margin-left: 1.5em;
	}
}

.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 {
		margin: 1.967em auto;
	}
}

.Topic main .content .image.with-top, .Topic main .content .video.with-top {
	margin-top: 0.625em !important;
}

.Topic main .content .image.with-bottom, .Topic main .content .video.with-bottom {
	margin-bottom: 0.625em !important;
}

.Topic main .content :where(h2, h3, h4, h5, h6) + .image, .Topic main .content :where(h2, h3, h4, h5, h6) + .video {
	margin-top: 1em;
}

.Topic main .content a.image, .Topic main .content a.video {
	margin: 0 auto !important;
}

.Topic main .content .grid .image, .Topic main .content .grid .video {
	margin: 1.625em auto;
}

@media only screen and (max-width: 767px) {
	.Topic main .content .grid .image, .Topic main .content .grid .video {
		margin: 1.234em auto;
	}
}

@media only screen and (max-width: 479px) {
	.Topic main .content .grid figcaption {
		font-size: 0.867em;
	}
}

.Topic main .content .imgbox p {
	margin: 0.5em 0;
}

.Topic main .content article.quote,
.Topic main .content section.quote {
	margin: 2.625em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main .content article.quote,
	.Topic main .content section.quote {
		margin: 2.3em 0;
	}
}

.Topic main .content blockquote > h2:first-child,
.Topic main .content .quote > h2:first-child {
	margin-top: 0.334em !important;
}

.Topic main .content blockquote :is(ul, ol, dl),
.Topic main .content .quote :is(ul, ol, dl) {
	margin: 1.25em 0;
}

.Topic main .content blockquote table,
.Topic main .content .quote table {
	margin: 1.25em 0 0.5em;
}

@media only screen and (max-width: 767px) {
	.Topic main .content blockquote :is(ul, ol, dl, table),
	.Topic main .content .quote :is(ul, ol, dl, table) {
		margin: 1.4em 0;
	}
}

.Topic main .content blockquote hr,
.Topic main .content .quote hr {
	margin: 2.25em 0;
}

.Topic main .content .message p, .Topic main .content .message ul, .Topic main .content .message ol, .Topic main .content .message dl {
	margin: 0.5em 0;
}

.Topic main .content .message > ul:first-child:last-child,
.Topic main .content .message > ol:first-child:last-child {
	padding-left: 1.5em;
}

.Topic main .content i.sum {
	font-weight: 500;
}

.Topic 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 article nav.toc {
		margin: 1.2em 0 1.6em;
		padding: 1.6em 24px;
	}
}

@media only screen and (max-width: 479px) {
	.Topic article nav.toc {
		padding: 1.2em 18px;
	}
}

.Topic article nav.toc h2, .Topic article nav.toc h3 {
	margin-bottom: 0.5em;
	font-size: 100%;
	line-height: 1.75;
}

.Topic article nav.toc .toc {
	margin-top: 0;
	padding-left: 0;
}

.Topic article nav.toc .toc ul, .Topic article nav.toc .toc ol, .Topic article nav.toc .toc dl {
	margin-top: 0.5em;
	padding-left: 2em;
}

@media only screen and (max-width: 479px) {
	.Topic article nav.toc .toc ul, .Topic article nav.toc .toc ol, .Topic article nav.toc .toc dl {
		padding-left: 2em;
	}
}

.Topic article .content nav.toc {
	margin: 3.25em 0;
}

@media only screen and (max-width: 767px) {
	.Topic article .content nav.toc {
		margin: 2.467em 0;
	}
}

.Topic article .content nav.toc + section {
	margin-top: 3.25em;
}

@media only screen and (max-width: 767px) {
	.Topic article .content nav.toc + section {
		margin-top: 2.467em;
	}
}

/*------------------------------------------------
	CN > トピックス > 記事（ヘッダー）
------------------------------------------------*/
.Topic main article > footer {
	margin-top: 3.75em;
}

@media only screen and (max-width: 767px) {
	.Topic main article > footer {
		margin-top: 2.469em;
	}
}

.Topic main article > 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 article > footer h2 {
		margin-bottom: 0.844em;
		padding-bottom: 0.625em;
		font-size: 106.7%;
		line-height: 1.875;
	}
}

.Topic main article > footer h3 {
	margin-bottom: 0.75em;
	font-weight: 500;
	font-size: 100%;
	line-height: 1.75;
}

.Topic main article > footer section {
	margin: 1.125em 0;
}

.Topic main article > 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 article > footer > section {
		margin: 2.967em 0;
		padding: 1.313em 18px 1.407em;
	}
}

.Topic main article > footer > section h2 {
	margin-bottom: 1.112em;
	padding-bottom: 0;
	border-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.Topic main article > footer > section h2 {
		margin-bottom: 0.469em;
	}
}

.Topic main article > footer > aside {
	margin: 2.625em 0;
}

@media only screen and (max-width: 767px) {
	.Topic main article > footer > aside {
		margin: 2.034em 0;
	}
}

.Topic main article > footer dt {
	margin-bottom: 0.75em;
}

@media only screen and (max-width: 767px) {
	.Topic main article > footer dt {
		margin-bottom: 0.867em;
	}
}

.Topic main article > footer address ul {
	padding-left: 0;
}

.Topic main article > footer address ul li {
	margin: 0;
}

.Topic main article > footer address ul li:before {
	content: none;
}

.Topic main article > header {
	margin-bottom: 2.125em;
}

@media only screen and (max-width: 767px) {
	.Topic main article > header {
		margin-bottom: 2.3em;
	}
}

.Topic main article > header:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.Topic main article > header .options {
	overflow: visible;
	display: block;
	float: left;
	max-width: 65%;
	padding: 1px 0;
}

@media (max-width: 979px) {
	.Topic main article > header .options {
		float: none;
		max-width: none;
		margin-bottom: 0.767em;
	}
}

.Topic main article > header .options dl {
	font-size: 93.8% !important;
	line-height: 1.534 !important;
	margin-bottom: 0.4em;
	color: #2C2C2C !important;
	vertical-align: top;
}

@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 dl {
		margin-bottom: 0.3em !important;
	}
}

@media only screen and (max-width: 767px) {
	.Topic main article > header .options dl.date {
		padding: 1px 0;
	}
}

.Topic main article > header .options dl.tags dd {
	margin-top: 0 !important;
}

.Topic main .media {
	font-size: 93.8%;
	line-height: 1.334;
	text-align: right;
}

@media only screen and (max-width: 767px) {
	.Topic main .media {
		font-size: 93.4%;
		line-height: 1.429;
	}
}

@media (max-width: 979px) {
	.Topic main .media {
		margin: 0 0 1.608em;
	}
}

.Topic main .media:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
}

.Topic main .docs, .Topic main .share {
	margin: 0 0 1.334em;
}

@media (max-width: 979px) {
	.Topic main .docs, .Topic main .share {
		display: inline-block;
		margin: 0;
		vertical-align: top;
	}
}

.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;
}

@media only screen and (max-width: 479px) {
	.Topic main .docs {
		float: left;
	}
}

.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.358em 0.643em;
	}
}

.Topic main .docs .btn:hover, .Topic main .docs .btn:active, .Topic main .docs .btn:focus {
	border-color: #008070;
}

.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");
}

@media (max-width: 979px) {
	.Topic main .share {
		margin-left: 10px;
		padding-top: 1px;
	}
}

@media only screen and (max-width: 479px) {
	.Topic main .share {
		float: right;
	}
}

.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 article > 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 article > footer .related .grid {
		margin-left: -18px;
		margin-right: -18px;
	}
}

.ie11 .Topic main article > footer .related .grid {
	margin-left: -18px;
	margin-right: -18px;
}

.Topic main article > footer .related .grid > * {
	width: 50%;
	padding-left: 18px;
	padding-right: 18px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	.Topic main article > footer .related .grid > * {
		display: block;
	}
}

.ie11 .Topic main article > footer .related .grid > * {
	display: block;
}

@media only screen and (max-width: 767px) {
	.Topic main article > footer .related .grid {
		display: block;
		margin-left: 0;
		margin-right: 0;
		margin-top: 1.867em;
	}
	.ie11 .Topic main article > footer .related .grid {
		margin-left: 0;
		margin-right: 0;
	}
	.Topic main article > footer .related .grid > * {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	.Topic main article > footer .related .grid .col {
		margin-bottom: 1.867em;
	}
}

@media (min-width: 768px) {
	.Topic main article > footer .related .grid .col + .col + .col {
		margin-top: 2em !important;
	}
}

/*------------------------------------------------
	CN > トピックス > 各記事
------------------------------------------------*/
/* 「ミライアイズ」 */
@media (min-width: 980px) {
	#CN2050Topic-20 article h1 {
		font-size: 170%;
	}
}

/* 節電効果のある脱炭素アクション */
#CN2050Topic-28 article .content .grid,
#CN2050Topic-37 article .content .grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-left: -20px;
	margin-right: -20px;
	margin-top: 1.625em;
}

@supports (display: flex) or (display: -webkit-box) {
	#CN2050Topic-28 article .content .grid,
	#CN2050Topic-37 article .content .grid {
		margin-left: -18px;
		margin-right: -18px;
	}
}

.ie11 #CN2050Topic-28 article .content .grid, .ie11
#CN2050Topic-37 article .content .grid {
	margin-left: -18px;
	margin-right: -18px;
}

#CN2050Topic-28 article .content .grid > *,
#CN2050Topic-37 article .content .grid > * {
	width: 50%;
	padding-left: 18px;
	padding-right: 18px;
	display: inline-block;
}

@supports (display: flex) or (display: -webkit-box) {
	#CN2050Topic-28 article .content .grid > *,
	#CN2050Topic-37 article .content .grid > * {
		display: block;
	}
}

.ie11 #CN2050Topic-28 article .content .grid > *, .ie11
#CN2050Topic-37 article .content .grid > * {
	display: block;
}

@media only screen and (max-width: 767px) {
	#CN2050Topic-28 article .content .grid,
	#CN2050Topic-37 article .content .grid {
		display: block;
		margin-left: 0;
		margin-right: 0;
		margin-top: 1.467em;
	}
	.ie11 #CN2050Topic-28 article .content .grid, .ie11
	#CN2050Topic-37 article .content .grid {
		margin-left: 0;
		margin-right: 0;
	}
	#CN2050Topic-28 article .content .grid > *,
	#CN2050Topic-37 article .content .grid > * {
		display: block;
		width: auto;
		padding-left: 0;
		padding-right: 0;
	}
	#CN2050Topic-28 article .content .grid .col,
	#CN2050Topic-37 article .content .grid .col {
		margin-bottom: 1.867em;
	}
}

/* COP27の結果概要について */
#CN2050Topic-39 article dl.list dd {
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.6;
}

/*------------------------------------------------
	CN > 印刷用
------------------------------------------------*/
@media print {
	.noprint, .notprint, .no-print, .not-print {
		display: none !important;
	}
	#top, #header, #footer, #toc, #bread_crumb, #backtotop,
	#guide-nav, #target-nav, #ezine {
		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;
	}
}
