@charset "utf-8";

/* reset
------------------------------------------------ */
html { height: 100%; font-size: 62.5%; }
body {
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	font-family: Helvetica, Verdana, "メイリオ", "Meiryo", "Hiragino Kakugo Pro W3", "ＭＳ Ｐゴシック", "MS P Gothic", "ヒラギノ角ゴ Pro W3", Osaka, sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #1a1a1a;
}
.page_popup { min-width: inherit; }
ul,ol { list-style: none; }
img { max-width: 100%; border: none; vertical-align: top; }
a:link { color: #1a1a1a; text-decoration: none; }
a:visited { color: #1a1a1a; text-decoration: none; }
a:hover { text-decoration: none; }

.pc { display: block !important; }
.sp { display: none !important; }

/* clearfix
------------------------------------------------ */
.clearfix:after {
	clear: both;
	display: block;
	visibility: hidden;
	height: 0;
	font-size: 0;
	content: ".";
}

.clearfix {
	clear: both;
	*zoom: 1;
}

/* container
------------------------------------------------ */
#container {
}
#container * { margin: 0; padding: 0; border: none; }
#container h2 img { top: auto; }

/* header
------------------------------------------------ */
#header {
}

/* header_info */
#header_info {
	position: relative;
	z-index: 100;
}

	#header_info .osaka {
		position: relative;
		float: left;
		margin: 0 auto 0 10px;
		padding-top: 15px;
		width: 88px;
		font-size: 8px;
		font-size: .8rem;
		line-height: 1;
		z-index: 2;
	}

		#header_info .osaka a { display: block; }

	#header_info .head_menu {
		width: 100%;
		z-index: 1;
	}

		#header_info .head_menu .btn {
			float: right;
			margin: 0 10px 0 auto;
			padding: 6px 0;
			width: 35px;
		}

			#header_info .head_menu .btn a { display: block; }
				#header_info .head_menu .btn a .open { display: block; }
				#header_info .head_menu .btn a .close { display: none; }
				#header_info .head_menu .btn a.on .open { display: none; }
				#header_info .head_menu .btn a.on .close { display: block; }

		#header_info .head_menu .main {
			clear: both;
			display: none;
			padding: 8px 0;
			background: #7a899e;
		}

			#header_info .head_menu .main .links {
				margin: 0 auto;
				width: 990px;
				text-align: center;
			}

				#header_info .head_menu .main .links li {
					display: inline-block;
					margin: 5px 1% 5px 0;
					width: 24%;
					font-size: 14px;
					font-size: 1.4rem;
					line-height: 1;
				}
				@media screen and (min-width: 641px) {
					#header_info .head_menu .main .links li:nth-of-type(4n) { margin-right: 0; }
				}

					#header_info .head_menu .main .links li a {
						display: block;
						padding: 14px 0;
						background: #fff;
						color: #71818c;
					}

/* contents
------------------------------------------------ */
#contents {
	border-radius: 0;
}

#contents .link_style1 {
	margin: 20px 0;
}

	#contents .link_style1 li {
		margin-top: 6px;
		font-size: 14px;
		font-size: 1.4rem;
	}

		#contents .link_style1 li a { color: #2871bb; }
		#contents .link_style1 li a:hover { color: #7f9fff; }

/* pagetop
------------------------------------------------ */
#pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	-webkit-transform: translate3d(0,0,0);
	-moz-transform: translate3d(0,0,0);
	-ms-transform: translate3d(0,0,0);
	-o-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
	z-index: 20;
}

	#pagetop a { display: block; }

/* footer
------------------------------------------------ */
#footer {
	position: relative;
}

	footer { border-top: none; }

/* responsible layout
------------------------------------------------ */
@media screen and (max-width: 1000px) {
	/* header_info */
	#header_info {}
	#header_info .head_menu .main .links { width: 94%; }
}
@media screen and (max-width: 640px) {
	/* common */
	.pc { display: none !important; }
	.sp { display: block !important; }

	/* header_info */
	#header_info {}
	#header_info .osaka { padding-top: 10px; width: 120px; }
	#header_info .head_menu {}
	#header_info .head_menu .btn { padding: 6px 0; width: 25px; }
	#header_info .head_menu .main { position: absolute; top: 34px; left: 4%; width: 92%; border-radius: 4px; }
	#header_info .head_menu .main .links {}
	#header_info .head_menu .main .links li { margin: 4px 2% 4px 0; width: 49%; font-size: 1.3rem; }
	#header_info .head_menu .main .links li:nth-of-type(2n) { margin-right: 0; }
	#header_info .head_menu .main .links li a { padding: 16px 0; }
	#header_info .head_menu .main .other { margin: 0 auto; padding: 6px 0; width: 94%; }
	#header_info .head_menu .main .other p { width: 50%; font-size: 1.3rem; font-weight: bold; }
	#header_info .head_menu .main .other .osaka_top { float: left; }
	#header_info .head_menu .main .other .close { float: right; text-align: right; }
	#header_info .head_menu .main .other p a { display: inline-block; vertical-align: top; color: #fff; }
	#header_info .head_menu .main .other .osaka_top a { padding-left: 14px; background: url(../img/sp/share/arrow1.png) no-repeat left center; background-size: 8px; }
	#header_info .head_menu .main .other .close a { padding-right: 16px; background: url(../img/sp/share/close1.png) no-repeat right center; background-size: 10px; }

	/* contents */
	#contents {}
	#contents .link_style1 { margin: 10px 0; }
	#contents .link_style1 li { margin-top: 4px; font-size: 1.2rem; }

	/* pagetop */
	#pagetop { right: 10px; }
}