@charset "UTF-8";

* {box-sizing:border-box;font-weight:normal;margin:0;padding:0;}
.clearfix:after {clear: both; content:"."; display: block; font-size: 0px; line-height: 0px; height: 0px; visibility: hidden; width: 0px;}
* html .clearfix {zoom:1;}
*:first-child+html .clearfix {zoom:1;}
html {
	padding-top: env(safe-area-inset-top);
	padding-bottom: env(safe-area-inset-bottom);
	padding-left: env(safe-area-inset-left);
	padding-right: env(safe-area-inset-right);
	padding-top: constant(safe-area-inset-top);
	padding-bottom: constant(safe-area-inset-bottom);
	padding-left: constant(safe-area-inset-left);
	padding-right: constant(safe-area-inset-right);
}
body {
	background: #fcfcfc;
	color: #212529;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴシック", Osaka, Meiryo, "メイリオ", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "Yu Gothic UI", -apple-system, BlinkMacSystemFont, sans-serif;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
}
a {
	animation: link-show 1s ease-out 1 forwards;
	color: #060606;
	position: relative;
	text-decoration: none;
}
a:after {
	border-bottom: 1px solid #212529;
	bottom: 0;
	content: "";
	display: block;
	left: 0;
	position: absolute;
}
a:hover {
	animation: link-hover 1s ease-out 1 forwards;
}
a:hover:after {
	animation: link-underline-show 1s ease-out 1 forwards;
}
a.nohover:after {
	animation: none;
	display: none;
}


img {
	border: none;
	height: auto;
	vertical-align: middle;
	width: 100%;
	-webkit-backface-visibility: hidden;
	-ms-interpolation-mode: nearest-neighbor;
}
ul, ol {
	list-style: none;
}

.wrapper {
	margin: 0 auto;
	max-width: 1140px;
	width: 100%;
}

/* グローバルナビ */
#gnav {
	background: #fcfcfc;
	padding: 12px 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 101;
}
#gnav.fadein {
	animation: gnav-shadow-fadein 1s ease-out 1 forwards;
}
#gnav.fadeout {
	animation: gnav-shadow-fadeout 1s ease-out 1 forwards;
}

/* タイトル・グローバルナビ */
h1 {
	margin: 0 0 0 .5em;
	max-width: 479px;
	width: 70%;
}
h1 a {
	display: block;
	position: static;
}

/* グローバルナビ */
#gnav nav {
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100;
}
#nav-sp-icon {
	border: 1px solid #212529;
	display: block;
	height: 36px;
	margin: 1.25em 1em 0 auto;
	padding: 10px 6px;
	width: 36px;
}
#nav-sp-icon span {
	background: #212529;
	display: block;
	line-height: 0;
	height: 1px;
	margin-bottom: 6px;
	width: 100%;
}
#nav-sp-icon.close span:first-child {
	animation: icon-close1 .5s ease-out 1 forwards;
}
#nav-sp-icon.close span:nth-child(2) {
	animation: icon-close2 .5s ease-out 1 forwards;
}
#nav-sp-icon.close span:last-child {
	animation: icon-close3 .5s ease-out 1 forwards;
}
#nav-sp-icon.open span:first-child {
	animation: icon-open1 .5s ease-out 1 forwards;
}
#nav-sp-icon.open span:nth-child(2) {
	animation: icon-open2 .5s ease-out 1 forwards;
}
#nav-sp-icon.open span:last-child {
	animation: icon-open3 .5s ease-out 1 forwards;
}

#gnav nav div {
	display: none;
}
#gnav nav ul {
	background: #fcfcfc;
	display: flex;
	justify-content: space-between;
	margin-top: .9em;
	width: 100%;
}
#gnav nav ul li {
	font-size: .875em;
	font-weight: bold;
	flex-basis: 100%;
	text-align: center;
	white-space: nowrap;
}
#gnav nav ul li a {
	display: block;
	padding: 1em;
	width: 100%;
}
#gnav nav ul li a.active span {
	font-weight: bold;
	/*font-weight: 600;*/
}

/*#gnav nav ul li a span {
	position: relative;
}
#gnav nav ul li a span:after {
	border-bottom: 1px solid #212529;
	bottom: -2px;
	content: "";
	left: 0;
	display: block;
	position: absolute;
}
#gnav nav ul li a:hover span:after {
	animation: link-underline-show 1s ease-out 1 forwards;
}*/

/* ページ内容 */
article {
	padding: 2em 1em;
}
header + article {
	margin-top: 49px;
}
/*article:first-child {
	padding-top: 0;
}*/

article section {
	margin: 0 auto 5em auto;
	max-width: 1040px;
}
article section:first-child {
	padding-top: 2em;
}
article section h2 {
	background-color: #337ab7;
	/*border-bottom: 1px solid #99bcdb;*//*#d0bfc9;*//*#b294a5;*//*#652a4b;*/
	/*border-top: 3px solid #337ab7;/*#652a4b;*/
	color: #fff;
	font-size: 1.25em;
	margin-bottom: 1em;
	padding: .5em 1em;
}
article section h3 {
	/*background-color: #337ab7;*/
	/*border-bottom: 1px solid #99bcdb;*//*#d0bfc9;*/
	/*border-top: 3px solid #337ab7;*//*#652a4b;*/
	/*color: #fff;*/
	font-weight: bold;
	margin-bottom: 1em;
	/*padding: .5em 1em;*/
}
article section h3.ttl {
	background-color: #337ab7;
	color: #fff;
	margin-bottom: 1em;
	padding: .5em 1em;
}
article section .sttl {
	background-color: #fff;
	border-bottom: 1px solid #99bcdb;
	border-top: 2px solid #337ab7;
	color: #212529;
	padding: .5em 0;
}
article section p {
	font-size: .875em;
	margin-bottom: .5em;
}
article strong {
	font-weight: bold;
}
.readmore {
	font-size: .75em;
	text-align: right;
}
.readmore a span {
	font-size: 5px;/*
	line-height: 2;*/
}
.download {
	background: url(../imgs/common/download.png) 100% 50% no-repeat;
	background-size: auto 100%;
	padding-right: 1.5em;
}


/* フッター */
footer {
	background-color: #f9f9f9;
	border-top: 2px solid #337ab7;/*#652a4b;*/
	/*padding: 1em;*/
}
footer .wrapper {
	padding: 2em 1em;
}
footer aside {
	/*align-items: center;
	display: flex;*/
	margin-bottom: 3em;
}
footer aside h3 {
	/*font-weight: bold;*/
	margin-bottom: .25em;
}
footer aside li {
	display: block;
	font-size: .875em;
}
footer aside li a:before {
	content: "・";
}

footer address {
	font-size: .875em;
	font-style: normal;
	margin-bottom: 0em;
}
footer address strong {
	font-size: 1.285714285714286em;
	/*font-weight: bold;*/
}
footer address a {
	position: relative;
}

/* GoogleMaps */
footer iframe {
	/*margin: -1em;*/
	min-width: 320px;
	width: 100%;
}
#copyright {
	background: #f9f9f9;
	font-size: .75em;
	padding: 1em;
	text-align: center;
	width: 100%;
}

/*.sp-br {
	display: block;
	line-height: 1.6;
	white-space: nowrap;
}
.sp-br:first-child {
	margin-right: 1em;
}*/

@media screen and (min-width: 768px) {
	#gnav .wrapper {
		display: flex;
		justify-content: space-between;
	}
	#gnav h1 {
		flex-basis: 70%;
		margin: 0 0 0 .5em;
		text-align: left;
	}
	#gnav nav {
		flex-basis: 10%;/*30*/
		position: static;
		width: auto;
	}
	#nav-sp-icon {
		display: none;
	}
	header nav ul {
		display: flex;
		margin-top: 1em;
		text-align: right;
		width: auto !important;
	}
	header nav ul li {
		display: inline-block;
	}

	header + article {
		margin-top: 59px;
	}

	article section p {
		font-size: 1em;
	}
	
	/*footer aside {
		align-items: center;
		display: flex;
		justify-content: center;
	}*/
	footer aside li {
		border-right: 1px solid #aaa;
		display: inline-block;
		margin-right: 1em;
		padding-right: 1em;
	}
	footer aside li:last-child {
		border-right: 0;
		margin-right: 0;
		padding-right: 0;
	}
	footer aside li a:before {
		display: none;
	}
}

/* テキストリンクアニメーション */
@keyframes link-show {
	0% { opacity: 0.6; }
	100% { opacity: 1.0; }
}
@keyframes link-hover {
	0% { opacity: 1.0; }
	50% { opacity: 0.3; }
	100% { opacity: 0.6; }
}
@keyframes link-underline-hide {
	0% { width: 100%; }
	100% { width: 0; }
}
@keyframes link-underline-show {
	0% { width: 0; }
	100% { width: 100%; }
}

/* スマホ用アイコンアニメーション */
@keyframes icon-close1 {
	0% {
		margin-top: 8px;
		transform: rotate(-45deg);
	}
	100% {
		margin-top: 0;
		transform: rotate(0deg);
	}
}
@keyframes icon-close2 {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes icon-close3 {
	0% {
		margin-top: -14px;
		transform: rotate(45deg);
	}
	100% {
		margin-top: 0;
		transform: rotate(0deg);
	}
}
@keyframes icon-open1 {
	0% {
		margin-top: 0;
		transform: rotate(0deg);
	}
	100% {
		margin-top: 8px;
		transform: rotate(-45deg);
	}
}
@keyframes icon-open2 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes icon-open3 {
	0% {
		margin-top: 0;
		transform: rotate(0deg);
	}
	100% {
		margin-top: -14px;
		transform: rotate(45deg);
	}
}

@keyframes gnav-shadow-fadein {
	0% {
		box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0);
	}
	100% {
		box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.3);
	}
}
@keyframes gnav-shadow-fadeout {
	0% {
		box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.3);
	}
	100% {
		box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0);
	}
}