@charset "UTF-8";
.width724 {
	max-width: 724px;
	margin: 0 auto;
}
.width768 {
	max-width: 768px;
	margin: 0 auto;
}
.width960 {
	max-width: 960px;
	margin: 0 auto;
}
.width1024 {
	max-width: 1024px;
	margin: 0 auto;
}
.width1280 {
	max-width: 1280px;
	margin: 0 auto;
}
.blue {
	color: #00a0e9;
}
.light-blue {
	color: #81bfdd;
}
.gray {
	color: #333;
}
.white {
	color: #ffffff;
}
.black {
	color: #000;
}
.bg-blue {
	background: #00a0e9;
}
.bg-light-blue {
	background: #81bfdd;
}
.bg-gray {
	background: #333;
}
.bg-white {
	background: #ffffff;
}
.bg-black {
	background: #000;
}
.bg {
	background: #dbe0e1;
}
.relative {
	position: relative;
}
.asterisk {
	display: inline-block;
	font-size: 20px;
	font-size: 2rem;
	font-family: sans-serif;
	vertical-align: top;
	margin-right: 3px;
	margin-left: 2px;
	height: 20px;
}
small .asterisk {
	position: relative;
	top: -2px;
}
.brm:before {
	content: "\A";
	white-space: pre;
}
@media screen and (min-width: 800px) {
	.brm:before {
		content: initial;
	}
}
.brs:before {
	content: "\A";
	white-space: pre;
}
@media screen and (min-width: 600px) {
	.brs:before {
		content: initial;
	}
}
.brx:before {
	content: "\A";
	white-space: pre;
}
@media screen and (min-width: 456px) {
	.brx:before {
		content: initial;
	}
}
@media screen and (min-width: 800px) {
	.mbr:before {
		content: "\A";
		white-space: pre;
	}
}
@media screen and (min-width: 600px) {
	.sbr:before {
		content: "\A";
		white-space: pre;
	}
}
@media screen and (min-width: 456px) {
	.xbr:before {
		content: "\A";
		white-space: pre;
	}
}
.brm-ie:before {
	content: "\A";
	white-space: pre;
}
@media screen and (min-width: 800px) {
	.brm-ie:before {
		content: initial;
		display: inline-block;
	}
}
.brs-ie:before {
	content: "\A";
	white-space: pre;
}
@media screen and (min-width: 600px) {
	.brs-ie:before {
		content: initial;
		display: inline-block;
	}
}
.brx-ie:before {
	content: "\A";
	white-space: pre;
}
@media screen and (min-width: 456px) {
	.brx-ie:before {
		content: initial;
		display: inline-block;
	}
}
.sp-block-lg {
	display: block;
}
@media screen and (min-width: 1024px) {
	.sp-block-lg {
		display: none;
	}
}
.sp-block-md {
	display: block;
}
@media screen and (min-width: 1024px) {
	.sp-block-md {
		display: none;
	}
}
.sp-block-sm {
	display: block;
}
@media screen and (min-width: 600px) {
	.sp-block-sm {
		display: none;
	}
}
.sp-block-xs {
	display: block;
}
@media screen and (min-width: 456px) {
	.sp-block-xs {
		display: none;
	}
}
.pc-block-lg {
	display: none;
}
@media screen and (min-width: 1024px) {
	.pc-block-lg {
		display: block;
	}
}
.pc-block-md {
	display: none;
}
@media screen and (min-width: 800px) {
	.pc-block-md {
		display: block;
	}
}
.pc-block-sm {
	display: none;
}
@media screen and (min-width: 600px) {
	.pc-block-sm {
		display: block;
	}
}
.pc-block-xs {
	display: none;
}
@media screen and (min-width: 456px) {
	.pc-block-xs {
		display: block;
	}
}
.mgt30 {
	margin-top: 30px !important;
}
.mgt40 {
	margin-top: 40px !important;
}
.mgt50 {
	margin-top: 50px !important;
}
.mgt60 {
	margin-top: 60px !important;
}
html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	font-size: 100%;
	color: #333;
	line-height: 1.5;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	html, body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
html {
	font-size: 62.5%;
}
body {
	background: #dbe0e1;
}
h1, h2, h3, h4, h5, h6, p, a, ul, ol, li, dl, dd, dt, span {
	line-height: 1.5;
	font-family: YakuHanJP_Narrow, "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	margin: 0;
	padding: 0;
}
ul {
	list-style: none;
}
p {
	word-wrap: break-word;
	letter-spacing: 0.5px;
}
input, button, select, textarea {
	font-family: initial;
	font-size: inherit;
	line-height: inherit;
}
body {
	font-family: YakuHanJP_Narrow, "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
}
img {
	display: block;
	vertical-align: bottom;
	width: 100%;
}
a {
	color: #333;
	text-decoration: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
a:visited, a:active, a:link, a:focus {
	overflow: hidden;
	outline: none;
	text-decoration: inherit;
	color: #333;
}
@media screen and (min-width: 600px) {
	a:hover {
		color: #999;
		text-decoration: none;
	}
}
.container {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding-left: 16px;
	padding-right: 16px;
}
.container-fluid {
	padding-left: 16px;
	padding-right: 16px;
}
.top-section > .container-fluid {
	padding-left: 20px;
	padding-right: 20px;
}
@media screen and (min-width: 600px) {
	.container-fluid {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.row {
	margin-left: -10px;
	margin-right: -10px;
}
.row [class^=col-] {
	margin-top: 10px;
	margin-bottom: 10px;
	padding-left: 10px;
	padding-right: 10px;
}
@media screen and (min-width: 800px) {
	.row {
		margin-left: -15px;
		margin-right: -15px;
	}
	.row [class^=col-] {
		margin-top: 15px;
		margin-bottom: 15px;
		padding-left: 15px;
		padding-right: 15px;
	}
}
.row.title [class^=col-] + [class^=col-] {
	margin-top: 40px;
}
@media screen and (min-width: 1024px) {
	.row.title [class^=col-] + [class^=col-] {
		margin-top: 60px;
	}
}
footer {
	padding: 20px 0;
}
@media screen and (min-width: 800px) {
	footer {
		padding: 0px 0 40px;
	}
}
footer nav {
	width: 100%;
	height: 100%;
}
footer .nav-footer .nav-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	position: relative;
	-webkit-flex-basis: 100%;
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
}
@media screen and (min-width: 800px) {
	footer .nav-footer .nav-list {
		float: left;
	}
}
footer .nav-footer .nav-list > li {
	display: block;
	padding: 3px 10px;
	border-bottom: none;
}
@media screen and (min-width: 456px) {
	footer .nav-footer .nav-list > li {
		padding: 3px 12px;
	}
}
footer .nav-footer .nav-list li:first-child {
	padding-left: 0;
}
footer .nav-footer .nav-list li:last-child {
	padding-right: 0;
}
footer .nav-footer .nav-list a {
	padding: 0;
	font-size: 1.1rem;
	line-height: 1.3;
	width: 100%;
}
footer .nav-footer .nav-list a.active {
	color: #999;
}
@media screen and (min-width: 456px) {
	footer .nav-footer .nav-list a {
		font-weight: 500;
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 600px) {
	footer .nav-footer .nav-list a {
		padding: 10px 0;
	}
}
.copyright {
	font-size: 1rem;
	padding: 15px 0 10px;
	letter-spacing: 0;
}
.copyright.center {
	text-align: center;
}
@media screen and (min-width: 800px) {
	.copyright {
		float: right;
		padding: 5px 0;
		letter-spacing: 1px;
		font-size: 1.2rem;
	}
	.copyright.center {
		float: initial;
	}
}
@media screen and (min-width: 1024px) {
	.copyright {
		font-size: 1.2rem;
	}
}
header {
	min-height: 70px;
}
@media screen and (min-width: 456px) {
	header {
		min-height: 100px;
	}
}
@media screen and (min-width: 1024px) {
	header {
		padding: 20px 0 48px;
	}
}
header.top-header {
	opacity: 0;
}
header nav {
	width: 100%;
	max-height: 73px;
	height: 100%;
	z-index: 100;
	position: absolute;
}
@media screen and (min-width: 456px) {
	header nav {
		max-height: 94px;
	}
}
@media screen and (min-width: 1024px) {
	header nav {
		position: relative;
	}
}
header .nav-main {
	overflow-y: hidden;
	-webkit-transition: max-height .3s;
	transition: max-height .3s;
}
header .nav-main.open {
	max-height: 100%;
	overflow: hidden;
	background: #fff;
}
header .nav-main.open .nav-list {
	pointer-events: all;
	overflow-y: scroll;
}
header .nav-main.open .nav-list > li {
	opacity: 1;
}
@media screen and (min-width: 1024px) {
	header .nav-main {
		overflow: visible;
	}
}
header .nav-main .nav-list {
	overflow: hidden;
	position: static;
}
@media screen and (min-width: 1024px) {
	header .nav-main .nav-list {
		position: static;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		background: none;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		pointer-events: all;
		border: none;
		width: 100%;
		height: 100%;
	}
}
header .nav-main .nav-list > li {
	display: block;
	padding: 5px 5px;
	margin-left: 2px;
	margin-right: 2px;
	opacity: 0;
	border-bottom: none;
	position: relative;
	border-bottom: 1px dotted #eee;
}
header .nav-main .nav-list > li:first-child {
	opacity: 1;
	padding: 0;
	margin-bottom: 20px;
	border: none;
	margin-left: 0;
	margin-right: 0;
}
@media screen and (min-width: 600px) {
	header .nav-main .nav-list > li {
		padding: 5px 15px;
	}
}
@media screen and (min-width: 1024px) {
	header .nav-main .nav-list > li {
		opacity: 1;
		padding: 0 20px;
		border: none;
	}
	header .nav-main .nav-list > li:first-child {
		-webkit-box-flex: 1;
		-webkit-flex-grow: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
		margin-bottom: 0;
	}
	header .nav-main .nav-list > li:first-child a:hover::after {
		content: initial;
	}
	header .nav-main .nav-list > li:last-child {
		padding-right: 0;
	}
}
header .nav-main .nav-list a {
	display: inline-block;
	padding: 15px 0;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	width: 100%;
	letter-spacing: 1px;
	position: relative;
	text-decoration: none;
	overflow: initial;
	font-weight: 600;
}
@media screen and (min-width: 1024px) {
	header .nav-main .nav-list a {
		padding: 10px 0;
		font-size: 1.3rem;
	}
	header .nav-main .nav-list a:hover img {
		opacity: 0.6;
		filter: alpha(opacity=60);
		-moz-opacity: 0.60;
		opacity: 0.60;
	}
}
header .nav-main .nav-list a:hover img, header .nav-main .nav-list x:-moz-any-link {
	background: rgba(255, 255, 255, 0.01);
}
header .nav-main .nav-list a:hover img, header .nav-main .nav-list x:-moz-any-link, header .nav-main .nav-list x:default {
	background: rgba(255, 255, 255, 0.01);
}
header .nav-main .nav-list .list-menu a.active {
	color: #999;
}
@media screen and (min-width: 1024px) {
	header .nav-main .nav-list .list-menu a:hover {
		color: #333;
	}
	header .nav-main .nav-list .list-menu a.active::before {
		position: absolute;
		top: 37px;
		right: 0;
		display: inline-block;
		content: '';
		width: 100%;
		height: 50px;
		background-size: 90px;
		z-index: -100;
	}
	header .nav-main .nav-list .list-menu a::after {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		content: '';
		margin: 0 auto;
		width: 25px;
		height: 2px;
		background: #333;
		transform: scale(0, 1);
		-ms-transform: scale(0, 1);
		-moz-transform: scale(0, 1);
		-webkit-transform: scale(0, 1);
		-webkit-transform-origin: center top;
		transform-origin: center top;
		-webkit-transition: -webkit-transform .3s;
		transition: -webkit-transform .3s;
		transition: transform .3s;
		transition: transform .3s, -webkit-transform .3s;
	}
	header .nav-main .nav-list .list-menu a:hover::after {
		transform: scale(1, 1);
		-ms-transform: scale(1, 1);
		-moz-transform: scale(1, 1);
		-webkit-transform: scale(1, 1);
	}
}
header .nav-main .nav-list .nav-logo {
	width: 230px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
@media screen and (min-width: 456px) {
	header .nav-main .nav-list .nav-logo {
		width: 250px;
	}
}
@media screen and (min-width: 1024px) {
	header .nav-main .nav-list .nav-logo {
		width: 300px;
	}
}
header .nav-main .nav-list .nav-logo img {
	background-color: rgba(255, 255, 255, 0.01);
}
.nav-icon {
	display: block;
	top: 0;
	right: 0;
	position: absolute;
	cursor: pointer;
	z-index: 999;
	-webkit-transition: .5s;
	transition: .5s;
	-webkit-transform: rotateZ(0deg);
	transform: rotateZ(0deg);
}
.nav-icon svg {
	position: absolute;
	top: 27px;
	right: 15px;
}
@media screen and (min-width: 456px) {
	.nav-icon svg {
		position: absolute;
		top: 35px;
		right: 15px;
	}
}
@media screen and (min-width: 1024px) {
	.nav-icon {
		display: none;
	}
	.nav-icon svg {
		position: absolute;
		top: 23px;
		right: 23px;
	}
}
.main {
	padding: 0px 0;
	height: initial;
}
@media screen and (min-width: 456px) {
	.main {
		padding: 0px 0 30px;
	}
}
@media screen and (min-width: 1024px) {
	.main {
		padding: 0px 0 40px;
	}
}
section + section {
	margin-top: 20px;
	padding-top: 20px;
}
@media screen and (min-width: 1024px) {
	section + section {
		margin-top: 50px;
		padding-top: 50px;
	}
}
.width-narrow {
	width: 100%;
	margin: 0 auto;
}
@media screen and (min-width: 800px) {
	.width-narrow {
		width: 90%;
	}
	.contact .width-narrow {
		width: 70%;
		text-align: center;
	}
}
@media screen and (min-width: 1024px) {
	.contact .width-narrow {
		width: 55%;
		text-align: center;
	}
}
h1 {
	margin: 0;
}
h2 {
	font-size: 1.8rem;
	letter-spacing: 2px;
	font-weight: 600;
	margin-bottom: 1em;
}
@media screen and (min-width: 456px) {
	h2 {
		font-size: 2rem;
	}
}
@media screen and (min-width: 800px) {
	h2 {
		font-size: 2.4rem;
	}
}
h3, h4 {
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 1px;
}
@media screen and (min-width: 800px) {
	h3, h4 {
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 2px;
	}
}
p {
	font-size: 1.4rem;
	font-weight: 400;
}
@media screen and (min-width: 800px) {
	p {
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 800px) {
	.contact {
		padding-top: 110px !important;
	}
}
@media screen and (min-width: 1024px) {
	.contact {
		padding-top: 160px !important;
	}
}
.contact p {
	font-size: 1.6rem;
}
@media screen and (min-width: 800px) {
	.contact p {
		font-size: 1.8rem;
	}
}
.contact p + p {
	margin-top: 0.6em;
}
.contact p:last-child {
	margin-top: 1.6em;
}
h3 + p, h4 + p {
	margin-top: 1em;
}
.heading-area .read-copy {
	margin-top: 3em;
	margin-bottom: 1em;
	line-height: 2;
	letter-spacing: 0.025em;
	font-size: 1.4rem;
	font-weight: 800;
	display: block;
	text-align: left;
}
@media screen and (min-width: 456px) {
	.heading-area .read-copy {
		font-size: 1.6rem;
		margin-bottom: 2em;
	}
}
.read-copy {
	font-size: 1.6rem;
}
@media screen and (min-width: 456px) {
	.read-copy {
		font-size: 2.4rem;
		line-height: 2;
	}
}
.head {
	font-size: 1.6rem;
	font-weight: 600;
}
.head a {
	display: inline-block;
	width: 100%;
}
.head a span {
	display: inline-block;
}
@media screen and (min-width: 600px) {
	.head {
		font-size: 1.8rem;
	}
}
.caption {
	display: block;
	font-size: 1.3rem;
	margin-top: 1em;
}
.contents-title {
	position: absolute;
	top: 40px;
	left: 0;
	right: 0;
	z-index: 1;
}
.contents-title span {
	display: table;
	color: #333;
	font-size: 1.4rem;
	letter-spacing: 1.5px;
	font-weight: 600;
	text-align: center;
	border: 2px solid #333;
	background: #fff;
	padding: 4px 15px;
	margin-left: 16px;
}
@media screen and (min-width: 456px) {
	.contents-title {
		position: absolute;
		top: -18px;
		left: 40px;
	}
	.contents-title span {
		margin: initial;
		font-size: 1.6rem;
		letter-spacing: 2;
		padding: 5px 20px;
	}
}
@media screen and (min-width: 800px) {
	.contents-title {
		position: absolute;
		top: -18px;
		left: 42px;
	}
	.contents-title span {
		font-size: 1.8rem;
		padding: 5px 25px;
	}
}
.sub-title {
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 1px;
	font-weight: 600;
}
.section-title {
	padding-left: 15px;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
}
.section-title span {
	display: block;
}
.section-title span:before {
	position: absolute;
	top: 3px;
	left: 0;
	display: inline-block;
	content: '';
	width: 5px;
	height: 20px;
	background: #333;
	background-size: 20px 20px;
}
@media screen and (min-width: 600px) {
	.section-title {
		font-size: 1.8rem;
	}
}
.subhead {
	font-weight: 600;
	font-size: 1.6rem;
}
@media screen and (min-width: 1024px) {
	.subhead {
		font-size: 1.8rem;
	}
}
.text-block {
	position: relative;
}
.text-block p {
	font-size: 1.4rem;
	line-height: 2;
}
.text-block p + p {
	margin-top: 1em;
}
.text-block + .text-block {
	margin-top: 2em;
}
.text-block + .width-narrow {
	width: 100%;
}
img + .text-block {
	margin-top: 3em;
}
@media screen and (min-width: 1024px) {
	.text-block p {
		font-size: 1.6rem;
		line-height: 2;
	}
	.text-block + .text-block {
		margin-top: 3em;
	}
	.text-block + .width-narrow {
		width: 80%;
	}
	img + .text-block {
		margin-top: 4em;
	}
}
.news-title {
	display: table;
	width: 100%;
	margin-bottom: 24px;
}
.news-title p {
	font-size: 1.3rem;
	margin-bottom: 1em;
	color: #333;
}
.diagram {
	position: relative;
	padding-top: 25px;
}
@media screen and (min-width: 456px) {
	.diagram {
		padding-top: 10px;
	}
}
p.note {
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.6;
	margin-top: 2em;
}
@media screen and (min-width: 456px) {
	p.note {
		font-size: 1.3rem;
	}
}
@media screen and (min-width: 1024px) {
	p.note {
		margin-top: 1em;
	}
}
p.symbol {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.3rem;
}
@media screen and (min-width: 456px) {
	p.symbol {
		top: -15px;
	}
}
p.symbol:before {
	content: "";
	display: inline-block;
	background: #00a0e9;
	width: 7px;
	height: 7px;
	border-radius: 7px;
	margin: 2px;
	margin-right: 5px;
}
.center.seal {
	width: 120px;
}
@media screen and (min-width: 456px) {
	.center.seal {
		width: 200px;
	}
}
.news p + img {
	margin-top: 0.5em;
}
.news section + section {
	margin-top: 20px;
	padding-top: 20px;
}
@media screen and (min-width: 1024px) {
	.news section + section {
		margin-top: 30px;
		padding-top: 30px;
	}
}
.table-std {
	width: 100%;
	border-top: 1px solid;
	margin-top: 1em;
}
.table-std th, .table-std td {
	padding: 10px;
	border-bottom: 1px dotted #333;
	vertical-align: top;
}
.table-std th {
	width: 80px;
}
@media screen and (min-width: 456px) {
	.table-std th, .table-std td {
		display: table-cell;
		width: initial;
		padding: 15px;
	}
	.table-std th {
		width: 100px;
	}
}
.fadeout_1 {
	animation: out 5s ease 1s 1 both;
	-webkit-animation: out 5s ease 1s 1 both;
}
.fadeout_2 {
	animation: out 4s ease 2s 1 both;
	-webkit-animation: out 4s ease 2s 1 both;
}
.fadeout_3 {
	animation: out 3s ease 0s 1 both;
	-webkit-animation: out 3s ease 0s 1 both;
}
@keyframes out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@-webkit-keyframes out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.contents {
	padding: 100px 24px 50px;
	background: #fff;
	position: relative;
	/*margin-left: -8px;
	margin-right: -8px;*/
}
.contents.contact {
	padding: 100px 24px 70px;
}
.contents .row.vertical {
	/*margin-left: -50px;
	margin-right: -50px;*/
}
.contents .row.vertical [class^=col-] {
	margin-top: 10px;
	margin-bottom: 10px;
	/*padding-left: 50px;
	padding-right: 50px;*/
}
.contents .row.vertical img {
	width: 70%;
	margin: 0 auto;
	padding: 20px 0 30px;
}
@media screen and (min-width: 600px) {
	.contents .row.vertical img {
		width: 60%;
		padding: 20px 0 50px;
	}
}
@media screen and (min-width: 800px) {
	.contents .row.vertical img {
		width: 80%;
		padding: 0;
	}
}
@media screen and (min-width: 1024px) {
	.contents .row.vertical img {
		width: 90%;
	}
}
@media screen and (min-width: 456px) {
	.contents {
		padding: 60px 40px;
		margin: 0;
		border: 2px solid #333;
	}
}
@media screen and (min-width: 800px) {
	.contents {
		min-height: 380px;
	}
}
@media screen and (min-width: 1024px) {
	.contents {
		padding: 80px 80px;
		min-height: 480px;
	}
}
.section-inner {
	margin-top: 30px;
}
@media screen and (min-width: 1024px) {
	.section-inner {
		margin-top: 40px;
	}
}
.section-line {
	border-top: 1px dotted #333;
	padding-top: 25px;
}
@media screen and (min-width: 1024px) {
	.section-line {
		padding-top: 50px;
	}
}
#loading {
	position: absolute;
	left: 50%;
	top: 30%;
}
#loader-bg {
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #dbe0e1;
	z-index: 1;
}
.center {
	text-align: center;
	margin: 0 auto;
}
.center h1 {
	font-size: 2.4rem;
	margin-top: -2em;
	padding-bottom: 1em;
	letter-spacing: 2px;
}
.center p {
	font-size: 1.4rem;
	margin: 0.5em 0;
	line-height: 2;
}
.center a {
	display: inline-block;
	font-size: 1.4rem;
	margin-top: 2em;
	padding: 8px 20px;
	border: 1px solid #333;
	border-radius: 4px;
}
@media screen and (min-width: 456px) {
	.center h1 {
		padding-bottom: 1em;
		margin: 0;
	}
	.center p {
		font-size: 1.6rem;
	}
	.center a {
		display: inline-block;
		font-size: 1.6rem;
		margin-top: 2em;
		padding: 0;
		border: none;
	}
}
@media screen and (min-width: 1024px) {
	.center h1 {
		font-size: 3.2rem;
		padding-top: 1em;
	}
}
.logomark {
	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
.logotype {
	animation: fadeIn 1s ease 1s 1 normal;
	-webkit-animation: fadeIn 1s ease 1s 1 normal;
}
@keyframes fadeIn {
	0% {
		-webkit-transform: rotate(0deg) translate(0, -16px);
		opacity: 0;
	}
	50% {
		-webkit-transform: rotate(0deg) translate(0, -8px);
		opacity: 0;
	}
	100% {
		-webkit-transform: rotate(0deg) translate(0, 0);
		opacity: 1;
	}
}
@-webkit-keyframes fadeIn {
	0% {
		-webkit-transform: rotate(0deg) translate(0, -16px);
		opacity: 0;
	}
	50% {
		-webkit-transform: rotate(0deg) translate(0, -8px);
		opacity: 0;
	}
	100% {
		-webkit-transform: rotate(0deg) translate(0, 0);
		opacity: 1;
	}
}
.intro {
	padding-top: 100px;
	position: relative;
	z-index: 0;
}
.top {}
.section {
	background-size: cover;
}
.slide {
	background-size: cover;
}
.top-visual {
	padding: 73px 0 30px;
	height: initial;
}
.heading-area {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
}
.heading-area .head-japan-mark {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 180px;
}
.heading-area .heading-inner {
	width: 85%;
	text-align: center;
}
.heading-area .special {
	color: #c30d23;
	font-weight: 800;
	/*background: linear-gradient(#ea3f42, #ea3f42) right bottom / 100% .35em no-repeat;*/
}
.heading-area .nintei-mark-wrap {
	width: 100%;
	margin: 30px auto 0;
	font-size: 1rem;
	letter-spacing: 0.025em;
	text-align: left;
	padding: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	border: 5px solid #333333;
}
/*.heading-area .nintei-mark-wrap::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	border: 2px solid #dbe0e1;
}*/
.heading-area .nintei-mark {
	width: 100px;
}
.heading-area .nintei-mark-wrap h2 {
	width: calc(100% - 100px - 1.5em);
	font-size: 1.5rem;
	margin-bottom: 0;
	color: #333333;
	font-weight: 800;
}
.non-asbestos-wrap {
	color: #ffffff;
	background-color: #202f55;
	padding: 20px;
	text-align: center;
	position: relative;
}
.non-asbestos-wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	border: 2px solid rgba(255, 255, 255, 0.5);
}
.non-asbestos-wrap h2 {
	font-size: 3rem;
	margin-bottom: 0;
}
.non-asbestos-wrap p {
	font-size: 1.7rem;
	font-weight: 800;
	text-align: left;
	display: inline-block;
}
/*.non-asbestos-wrap p span{
	background: linear-gradient(#7f081e, #7f081e) right bottom / 100% .5em no-repeat;
}*/

/*分析結果*/
.result-safe-copy-wrap{
	width: 100%;
	margin-top: 30px;
	text-align: left;
}
.result-safe-copy-wrap p{
	font-size: 1.6rem;
	font-weight: 800;
}
.result-safe-link-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin-top: 20px;
}
.result-safe-link{
	width: calc(100% / 3 - 7px);
	padding: 0.5em 0;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 800;
	display: block;
	background-color: #ffffff;
	border: 2px solid #333333;
	position: relative;
}
.result-safe-link::after{
	content: "→";
	font-size: 2.2rem;
	font-weight: 800;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}






@media screen and (min-width: 600px) {
	.heading-area .heading-inner {
		width: 720px;
	}
}
.heading-area .logomark {
	width: 45%;
	margin: 0 auto;
	padding-bottom: 30px;
}
@media screen and (min-width: 456px) {
	.heading-area .logomark {
		width: 45%;
	}
}
@media screen and (min-width: 600px) {
	.heading-area .logomark {
		width: 30%;
	}
}
.heading-area .logo_type_wrap {
	width: 65%;
	margin: 0 auto;
}
@media screen and (min-width: 456px) {
	.heading-area .logo_type_wrap {
		width: 55%;
	}
}
@media screen and (min-width: 600px) {
	.heading-area .logo_type_wrap {
		width: 40%;
	}
}
@media screen and (min-width: 1024px) {
	.heading-area .logo_type_wrap {
		width: 45%;
	}
}
.animeation {
	fill: #333;
	-webkit-animation: logo 1.5s 1 both;
	animation: logo 1.5s 1 both;
}
.logo_text_1 {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
.logo_text_2 {
	-webkit-animation-delay: .05s;
	animation-delay: .05s;
}
.logo_text_3 {
	-webkit-animation-delay: .1s;
	animation-delay: .1s;
}
.logo_text_4 {
	-webkit-animation-delay: .15s;
	animation-delay: .15s;
}
.logo_text_5 {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}
.logo_text_6 {
	-webkit-animation-delay: .25s;
	animation-delay: .25s;
}
.logo_text_7 {
	-webkit-animation-delay: .3s;
	animation-delay: .3s;
}
.logo_text_8 {
	-webkit-animation-delay: .35s;
	animation-delay: .35s;
}
.logo_text_9 {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}
.logo_text_10 {
	-webkit-animation-delay: .45s;
	animation-delay: .45s;
}
.logo_text_11 {
	-webkit-animation-delay: .5s;
	animation-delay: .5s;
}
@-webkit-keyframes logo {
	0% {
		-webkit-transform: rotate(0deg) translate(0, -10px);
		opacity: 0;
	}
	50% {
		-webkit-transform: rotate(0deg) translate(0, -5px);
		opacity: 0;
	}
	100% {
		-webkit-transform: rotate(0deg) translate(0, 0);
		opacity: 1;
	}
}
@keyframes logo {
	0% {
		-webkit-transform: rotate(0deg) translate(0, -10px);
		transform: rotate(0deg) translate(0, -10px);
		opacity: 0;
	}
	50% {
		-webkit-transform: rotate(0deg) translate(0, -5px);
		opacity: 0;
	}
	100% {
		-webkit-transform: rotate(0deg) translate(0, 0);
		transform: rotate(0deg) translate(0, 0);
		opacity: 1;
	}
}
.scroll {
	position: relative;
	margin: 0 auto;
	padding-top: 10px;
}
@media screen and (min-width: 456px) {
	.scroll {
		padding-top: 10px;
	}
}
.scroll .arrow {
	padding-top: 65px;
	display: block;
	text-align: center;
	font-size: 13px;
}
.scroll .arrow span {
	position: absolute;
	top: 15px;
	left: 50%;
	width: 24px;
	height: 24px;
	margin-left: -12px;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 1.5s ease infinite;
	animation: sdb 1.5s ease infinite;
	box-sizing: border-box;
}
.scroll .arrow span + span {
	top: 5px;
}
.scroll .arrow span:nth-of-type(1) {
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
.scroll .arrow span:nth-of-type(2) {
	-webkit-animation-delay: .1s;
	animation-delay: .1s;
}
@-webkit-keyframes sdb {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-20px, 20px);
		transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
ol {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
}
ol li {
	padding-left: 35px;
	position: relative;
	font-size: 1.4rem;
	font-weight: 500;
}
ol li + li {
	margin-top: 2em;
}
ol li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	background-color: #333;
	display: block;
	float: left;
	line-height: 24px;
	margin-left: -35px;
	text-align: center;
	height: 24px;
	width: 24px;
}
@media screen and (min-width: 600px) {
	ol li {
		font-size: 1.6rem;
	}
	ol li + li {
		margin-top: 1.4em;
	}
}
a.text-link {
	border-bottom: 1px solid;
	padding-bottom: 2px;
	margin: 0 5px;
}
a.text-link:hover {
	border-bottom: 1px solid #fff;
}
a.text-link.end {
	display: block;
	width: 105px;
	margin: 0;
}
a.text-link.end .span {
	display: inline-block;
}
@media screen and (min-width: 456px) {
	a.text-link.end {
		margin-left: 2em;
		display: inline-table;
		width: auto;
	}
	a.text-link.end .span {
		display: initial;
	}
}
.map-link {
	display: block;
	margin-top: 10px;
	position: relative;
}
.map-link:after {
	position: absolute;
	top: -5px;
	display: inline-block;
	content: '';
	width: 30px;
	height: 30px;
	background: url("../img/icon_plus.svg") left center no-repeat;
	background-size: 25px 25px;
}
.map-link.is-open:after {
	background: url("../img/icon_minus.svg") left center no-repeat;
	background-size: 25px 25px;
}
.blank {
	position: relative;
}
.blank:after {
	position: absolute;
	right: -22px;
	display: inline-block;
	content: '';
	width: 25px;
	height: 20px;
	background: url("../img/icon_blank.svg") left center no-repeat;
	background-size: 30px 30px;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
a .blank:hover:after {
	opacity: 0.5;
}
.no-scroll {
	overflow: hidden !important;
	height: 100% !important;
}
.fade-in {
	transition: opacity 0.4s;
	-moz-transition: opacity 0.4s;
	-webkit-transition: opacity 0.4s;
	-o-transition: opacity 0.4s;
}
.fade-up {
	transition: opacity 0.7s;
	-webkit-transition: opacity 0.7s;
	-webkit-transition: -webkit-transform 0.7s;
	transition: -webkit-transform 0.7s;
	transition: transform 0.7s;
	transition: transform 0.7s, -webkit-transform 0.7s;
	-moz-transition: transform 0.7s;
	-webkit-transition: transform 0.7s;
	-o-transition: transform 0.7s;
}
.gmap {
	width: 100%;
	height: 200px;
	margin-top: 20px;
}
@media screen and (min-width: 800px) {
	.gmap {
		margin-top: 30px;
		height: 400px;
	}
}
@media screen and (min-width: 1024px) {
	.gmap {
		margin-top: 40px;
	}
}
/*asd作業*/
.shop-logo {
	width: 180px;
	margin: 50px auto 10px;
	text-align: center;
	position: relative;
}
.shop-logo.nanolabo > img {
	width: 80%;
	margin: 0 auto;
}
.shop-logo.soil {
	width: 140px;
	margin: 110px auto 10px;
}
.shop-logo p {
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 4em;
}
.shop-logo.nanolabo p {
	color: #004567;
}
.shop-logo .all-mark-wrap {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(120%, -50%);
	display: flex;
	justify-content: space-between;
	width: 150px;
}
.shop-logo .all-mark-wrap .mark-item {
	width: calc(50% - 5px);
}
.shop-item-title {
	font-size: 1.7rem;
	font-weight: 800;
	margin: 20px auto 10px;
	text-align: center;
	line-height: 3em;
	border-bottom: solid 3px #333333;
}
.shop-item-wrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.shop-item-wrap.soil {
	margin-bottom: 40px;
}
.shop-item-wrap .shop-item {
	width: calc(100% / 4);
	text-align: center;
}
.shop-item-wrap .shop-item img {
	padding: 15px 15px 0;
	vertical-align: middle;
	width: 95%;
	margin: 0 auto;
}
.shop-item-wrap.nanolabo .shop-item:nth-of-type(2) img {
	width: 85%
}
.shop-item-wrap .shop-item p {
	font-size: 1rem;
	font-weight: 800;
}
@media screen and (max-width:800px) {
	.shop-item-wrap {
		justify-content: space-between;
	}
	.shop-item-wrap .shop-item {
		width: calc(100% / 2);
	}
	.shop-logo .all-mark-wrap {
		top: 0;
		right: -1em;
		transform: translate(100%, 0);
		width: 45px;
		flex-wrap: wrap;
	}
	.shop-logo .all-mark-wrap .mark-item {
		width: 100%;
	}
	.shop-logo .all-mark-wrap .mark-item:nth-of-type(2) {
		margin-top: 10px;
	}
}
.mentenance-img {
	width: 100%;
	height: 300px;
	background-image: url(../img/product-tech/mentenance.jpg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.shop-mentenance-link-wrap {
	margin: 40px auto;
	width: 90%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.shop-mentenance-link {
	width: calc(100% / 2 - 10px);
	position: relative;
	text-align: center;
}
.shop-mentenance-link a {
	border-radius: 10px;
	-webkit-border-radius: 10px;
	font-size: 1.1rem;
	font-weight: 800;
	display: block;
	width: 100%;
	height: 80px;
}
.shop-mentenance-link.nanolabo a {
	background-color: #004567;
	color: #ffffff
}
.shop-mentenance-link.soil a {
	box-sizing: border-box;
	border: 3px solid #333333;
	color: #333333;
}
.shop-mentenance-link p {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	margin: auto;
	transform: translate(0, -50%);
	line-height: 1.2em;
	width: 90%;
	font-weight: 800;
}
.shop-mentenance-link p span {
	font-size: 0.65em;
}

/*会員リスト追加*/
.membership-list{
	width: calc(100% - 30px);
	margin: 0 auto;
}
.membership-list > h2{
	font-size: 1.8rem;
	border-bottom: 3px solid #333333;
	text-align: center;
}
.membership-list .membership-cate{
	font-size: 1.5rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	margin-top: 30px;
}
.membership-list .membership-cate::after{
	content: "";
	display: block;
	flex-grow: 1;
	height: 1px;
	background-color: #333333;
	margin-left: 1em;
}
.membership{
	padding: 20px 0;
	border-bottom: 1px dashed #333333;
}
.membership:not(:nth-of-type(2)){
	border-bottom: none;
}
.membership h4{
	font-size: 2rem;
}
.membership p:first-of-type{
	margin-top: 0.25em;
}
.membership p{
	font-size: 1.6rem;
	letter-spacing: 0.13em;
}
.membership a{
	font-size: 1.6rem;
	font-weight: 800;
	display: inline-block;
	padding: 0.25em 4em;
	border: 3px solid #dbe0e1;
	background: #dbe0e1;
	margin-top: 10px;
	transition: .3s ease;
}
.membership a:hover{
	color: #333333;
	border: 3px solid #333333;
}

/*認定商品修正*/
.certification-wrap{
	
}
.certification{
	margin-top: 30px;
}
.certification:nth-of-type(2){
	margin-top: 60px;
}
.certification h3{
	font-size: 2.4rem;
}
.certification-shop-title{
	width: 100%;
	position: relative;
	z-index: 2;
	text-align: center;
}
.certification-shop-title::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translate(0,-50%);
	width: 100%;
	height: 30px;
	background-color: #dbe0e1;
	opacity: 0.25;
}
.certification-shop-title img{
	position: relative;
	z-index: 2;
	max-width: 110px;
	height: 60px;
	object-fit: contain;
	margin: 0 auto;
}
.certification-item-list{
	width: 80%;
	margin: 15px auto 0;
}
.certification-item{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 5px 0 10px;
	border-bottom: 1px solid #dbe0e1;
}
.certification-item:not(:first-of-type){
	padding: 10px 0;
}
.certification-item .certification-item-img{
	width: 150px;
}
.certification-item .certification-item-img.compact{
	width: 120px;
}
.certification-item .certification-item-img.big{
	width: 170px;
}
.certification-item .certification-item-name{
	width: calc(100% - 200px);
}
.certification-item .certification-item-name h4{
	font-size: 1.6rem;
	letter-spacing: 0.075em;
}



@media screen and (max-width:800px) {
	.shop-mentenance-link {
		width: 100%;
	}
	.shop-mentenance-link:nth-last-of-type(1) {
		margin-top: 20px;
	}
	.heading-area .logomark {
		width: 30%;
	}
	.heading-area .logo_type_wrap {
		width: 50%;
	}
	.heading-area .read-copy {
		font-size: 1.1rem;
		text-align: left;
	}
	.heading-area .head-japan-mark {
		width: 80px;
		top: 10px;
		right: 10px;
	}
	.heading-area .nintei-mark-wrap {
		width: 100%;
		padding: 20px;
		flex-wrap: wrap;
		margin-top: 15px;
	}
	.heading-area .nintei-mark {
		width: 85px;
	}
	.heading-area .nintei-mark-wrap h2 {
		width: calc(100% - 95px);
		font-size: 1.2rem;
		margin-top: 1em;
	}
	.non-asbestos-wrap h2 {
		font-size: 2rem;
	}
	.non-asbestos-wrap p {
		font-size: 1.3rem;
	}
	.non-asbestos-wrap p br {
		display: none;
	}
	.membership a{
		width: 100%;
		text-align: center;
	}
	.certification{
		margin-top: 20px;
	}
	.certification:nth-of-type(2){
		margin-top: 40px;
	}
	.certification h3{
		font-size: 2rem;
	}
	.certification-shop-title{
		margin-top: 20px;
	}
	.certification-item-list{
		width: 100%;
	}
	.certification-item{
		justify-content: center;
	}
	.certification-item .certification-item-name{
		width: 100%;
		margin-top: 10px;
		text-align: center;
	}
	.certification-item .certification-item-name h4{
		font-size: 1.2rem;
	}
	.result-safe-copy-wrap p{
		font-size: 1.3rem;
	}
	.result-safe-link-wrap{
		margin-top: 0;
	}
	.result-safe-link{
		width: 100%;
		margin-top: 10px;
	}
}