html {
	font-size: 62.5%;
	overflow-y: scroll; }

html.is-tb-html {
	width: 100%;
	min-width: 1400px; }

html, body {
	background: #fff; }

body.is-tb {
	min-width: 1400px; }

body {
	font-family: "微软雅黑",Verdana,Arial, sans-serif;
	color: #000;
	line-height: 1.4;
	font-size: 14px;
	font-size: 1.4rem;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt"; }
#external-button {display: none; }
@media only screen and (max-width: 750px) {
	body {
		min-width: 320px; } }

body.noScroll {
	position: fixed;
	width: 100%;
	height: 100%; }

body.mac {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale; }

input, textarea {
	font-family: "微软雅黑",Verdana,Arial, sans-serif;}

strong {
	font-weight: bold; }


a:focus {
	outline: none; }


.clearfix:before, .clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden; }

.clearfix:after {
	clear: both; }

.clearfix {
	zoom: 1; }


a {
	color: #000;
	text-decoration: none; }

a:hover {
	color: #3185f7;
	text-decoration: none; }




.center {
	text-align: center; }

.left {
	text-align: left; }

.right {
	text-align: right; }


.f-l {
	float: left; }

.f-r {
	float: right; }

.f-n {
	float: none; }



@media screen and (max-width: 750px) {
	.only-pc {
		display: none !important; }
	.only-pci {
		display: none !important; }
	.only-sp {
		display: block !important; }
	.only-spi {
		display: inline-block !important; } }


#tpl-header,
#tpl-contents,
#tpl-topicpath,
#tpl-pagetop-box {
	background: #fff; }

.tpl-inner-wrap {
	min-width: 1200px;
	width: auto;
	margin: 0 auto;
	clear: both;
	background: #FFF; }
	@media only screen and (max-width: 750px) {
		.tpl-inner-wrap {
			min-width: 0; } }

body.is-tb .tpl-inner-wrap {
	min-width: 1400px; }


#tpl-header {
	width: 100%;
	background: #fff;
	height: 100px; }
	@media only screen and (max-width: 750px) {
		#tpl-header {
			height: 62px; } }
	#tpl-header .tpl-inner-wrap {
		color: #FFF;
		display: table;
		width: 100%;
		height: 100px;
		position: fixed;
		z-index: 1000; }
		@media only screen and (max-width: 750px) {
			#tpl-header .tpl-inner-wrap {
				display: block;
				position: static;
				height: 62px; } }

#header-wrap,
#gnav {
	display: table-cell;
	vertical-align: middle; }
	@media only screen and (max-width: 750px) {
		#header-wrap,
		#gnav {
			display: block; } }


#header-wrap {
	padding-left: 30px; }
	@media only screen and (max-width: 750px) {
		#header-wrap {
			padding-left: 15px;
			height: 62px;
			padding-top: 8px;
			vertical-align: top;
			position: relative;
			z-index: 1000;
			background-color: #fff; } }
	#header-wrap .logolink {
		text-decoration: none;
		display: inline-block; }
		@media only screen and (max-width: 750px) {
			#header-wrap .logolink {
				display: inline-block; } }
		#header-wrap .logolink p, #header-wrap .logolink span {
			display: inline-block;
			vertical-align: middle; }
	#header-wrap #logo {
		margin-right: 20px; }
		@media only screen and (max-width: 750px) {
			#header-wrap #logo { margin-left:-10px; margin-top:7px;
				margin-right: 10px; }
				#header-wrap #logo img {
					width:240px;
					height: auto; } }
	#header-wrap span {
		font-size: 13px;
		font-size: 1.3rem;
		color: #000;
		letter-spacing: 0.08em; }
		@media only screen and (max-width: 750px) {
			#header-wrap span {
				display: inline-block;
				font-size: 10px;
				font-size: 1rem;
				line-height: 1.3;
				vertical-align: top; } }


#humMenuWrap {
	display: none; }
	@media only screen and (max-width: 750px) {
		#humMenuWrap {
			display: block;
			position: absolute;
			right: 6px;
			top: 10px;
			background-color: #3185f7;
			width: 50px;
			height: 50px;
			 }
			#humMenuWrap #humMenu,
			#humMenuWrap #humMenu span {
				display: inline-block;
				transition: all .4s; }
			#humMenuWrap #humMenu {
				position: relative;
				width: 100%;
				height: 100%;
				z-index: 1;
				text-align: center;
				vertical-align: top; }
				#humMenuWrap #humMenu .barwrap {
					display: inline-block;
					width: 15px;
					height: 14px;
					position: relative;
					top: 18px; }
			#humMenuWrap #humMenu span.bar {
				position: absolute;
				left: 0;
				width: 100%;
				height: 2px;
				background-color: #fff; }
			#humMenuWrap #humMenu span.bar:nth-of-type(1) {
				top: 0; }
			#humMenuWrap #humMenu span.bar:nth-of-type(2) {
				top: 6px; }
			#humMenuWrap #humMenu span.bar:nth-of-type(3) {
				bottom: 0; }
			#humMenuWrap #humMenu span.bar:nth-of-type(1) {
				-webkit-animation: menu-bar01 .75s forwards;
				animation: menu-bar01 .75s forwards; }
		@-webkit-keyframes menu-bar01 {
			0% {
				-webkit-transform: translateY(6px) rotate(45deg); }
			50% {
				-webkit-transform: translateY(6px) rotate(0); }
			100% {
				-webkit-transform: translateY(0) rotate(0); } }
		@keyframes menu-bar01 {
			0% {
				transform: translateY(6px) rotate(45deg); }
			50% {
				transform: translateY(6px) rotate(0); }
			100% {
				transform: translateY(0) rotate(0); } }
			#humMenuWrap #humMenu span.bar:nth-of-type(2) {
				transition: all .25s .25s;
				opacity: 1; }
			#humMenuWrap #humMenu span.bar:nth-of-type(3) {
				-webkit-animation: menu-bar02 .75s forwards;
				animation: menu-bar02 .75s forwards; }
		@-webkit-keyframes menu-bar02 {
			0% {
				-webkit-transform: translateY(-6px) rotate(-45deg); }
			50% {
				-webkit-transform: translateY(-6px) rotate(0); }
			100% {
				-webkit-transform: translateY(0) rotate(0); } }
		@keyframes menu-bar02 {
			0% {
				transform: translateY(-6px) rotate(-45deg); }
			50% {
				transform: translateY(-6px) rotate(0); }
			100% {
				transform: translateY(0) rotate(0); } }
			#humMenuWrap #humMenu.active span.bar:nth-of-type(1) {
				-webkit-animation: active-menu-bar01 .75s forwards;
				animation: active-menu-bar01 .75s forwards; }
		@-webkit-keyframes active-menu-bar01 {
			0% {
				-webkit-transform: translateY(0) rotate(0); }
			50% {
				-webkit-transform: translateY(6px) rotate(0); }
			100% {
				-webkit-transform: translateY(6px) rotate(45deg); } }
		@keyframes active-menu-bar01 {
			0% {
				transform: translateY(0) rotate(0); }
			50% {
				transform: translateY(6px) rotate(0); }
			100% {
				transform: translateY(6px) rotate(45deg); } }
			#humMenuWrap #humMenu.active span.bar:nth-of-type(2) {
				opacity: 0; }
			#humMenuWrap #humMenu.active span.bar:nth-of-type(3) {
				-webkit-animation: active-menu-bar03 .75s forwards;
				animation: active-menu-bar03 .75s forwards; }
		@-webkit-keyframes active-menu-bar03 {
			0% {
				-webkit-transform: translateY(0) rotate(0); }
			50% {
				-webkit-transform: translateY(-6px) rotate(0); }
			100% {
				-webkit-transform: translateY(-6px) rotate(-45deg); } }
		@keyframes active-menu-bar03 {
			0% {
				transform: translateY(0) rotate(0); }
			50% {
				transform: translateY(-6px) rotate(0); }
			100% {
				transform: translateY(-6px) rotate(-45deg); } } }


@media only screen and (max-width: 750px) {
	#gnav {
		display: none;
		position: absolute;
		width: 100%;
		height: 100%;
		z-index: 900;
		background-color: #fff;
		padding-top: 62px;
		top: 0; } }

#gnav nav {
	overflow: hidden;
	 }
	@media only screen and (max-width: 750px) {
		#gnav nav {
			height: 100%; background-color:#fff;
			position: relative; } }
	#gnav nav ul {
		overflow: hidden;
		float: right;
		display: -webkit-flex;
		
		display: flex;
		-webkit-justify-content: center;
		
		justify-content: center;
		-webkit-align-items: center;
		
		align-items: center; }
		@media only screen and (max-width: 750px) {
			#gnav nav ul {
				float: none;
				display: block;
				position: absolute;
				top: 45%;
				left: 50%;
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
				transform: translate(-50%, -50%);
				text-align: center;
				margin-top: -25px; } }
		#gnav nav ul li {
			vertical-align: middle;
			position: relative; }
			
			@media only screen and (max-width: 750px) {
				#gnav nav ul li {
					margin-bottom: 20px; }
					#gnav nav ul li:nth-child(8) {
						margin-bottom: 0; } }
			#gnav nav ul li:before {
				content: "";
				width: 1px;
				height: 10px;
				background-color: #aaa;
				position: absolute;
				left: 0;
				top: 50%;
				margin-top: -3px;
				line-height: 1; }
				@media only screen and (max-width: 750px) {
					#gnav nav ul li:before {
						display: none; } }
			@media only screen and (max-width: 750px) {
				#gnav nav ul li:after {
					display: block;
					content: "";
					width: 10px;
					height: 1px;
					background-color: #aaaaaa;
					margin-left: auto;
					margin-right: auto;
					margin-top: 20px; } }
			@media only screen and (max-width: 750px) {
				#gnav nav ul li:nth-child(8){display:block;}
				#gnav nav ul li:nth-child(8):after {
					display: none; } }
			#gnav nav ul li a {
				display: inline-block;
				color: #000;
				text-decoration: none;
				vertical-align: middle;
				padding: 0 30px;
				font-size: 14px;
				text-decoration: none; }
				#gnav nav ul li a:hover{color:#3185f7;}
				@media only screen and (max-width: 750px) {
					#gnav nav ul li a {
						display: block;
						font-size: 17px;
						font-size: 1.7rem;
						font-weight: 200;
						white-space: nowrap; } }
				#gnav nav ul li a:hover {
					-ms-filter: "alpha(opacity=60)";
					filter: alpha(opacity=100);
					opacity: 1;
					-webkit-transition: all 0.4s;
					-moz-transition: all 0.4s;
					transition: all 0.4s; }
					@media only screen and (max-width: 750px) {
						#gnav nav ul li a:hover {
							opacity: 1;
							position: static;
							top: auto;
							left: auto;
							-webkit-transform: none;
							-ms-transform: none;
							transform: none; } }
			#gnav nav ul li:first-child:before {
				display: none; }
			#gnav nav ul li#omoi:before, #gnav nav ul li#entry:before, #gnav nav ul li#mypage:before {
				display: none; }
			@media only screen and (max-width: 750px) {
				#gnav nav ul li#omoi:after, #gnav nav ul li#entry:after, #gnav nav ul li#mypage:after {
					display: none; } }
			#gnav nav ul li#omoi a, #gnav nav ul li#entry a, #gnav nav ul li#mypage a {
				text-align: center;
				color: #fff;
				font-size: 12px;
				border-left: none; }
			#gnav nav ul li#omoi {
				padding-right: 25px; }
				@media only screen and (max-width: 750px) {
					#gnav nav ul li#omoi {
						padding-right: 0;
						margin-top: 40px; } }
				#gnav nav ul li#omoi a {
					background: url(404.png) 35px center no-repeat #727272;
					background-size: 15px 13px;
					-moz-border-radius: 25px;
					-webkit-border-radius: 25px;
					border-radius: 25px;
					padding: 0;
					width: 158px;
					height: 50px;
					line-height: 48px;
					padding-left: 20px;
					-webkit-transition: all 0.4s;
					-moz-transition: all 0.4s;
					transition: all 0.4s; }
					@media only screen and (max-width: 750px) {
						#gnav nav ul li#omoi a {
							background: url(404.png) 35px center no-repeat #727272;
							background-size: 15px auto;
							margin-left: auto;
							margin-right: auto; } }
					#gnav nav ul li#omoi a:hover {
						opacity: 0.6;
						background-color: #727272; }
						@media only screen and (max-width: 750px) {
							#gnav nav ul li#omoi a:hover {
								opacity: 1; } }
			#gnav nav ul li#entry, #gnav nav ul li#mypage {
				width: 100px; }
				@media only screen and (max-width: 750px) {
					#gnav nav ul li#entry, #gnav nav ul li#mypage {
						display: none; } }
				#gnav nav ul li#entry a, #gnav nav ul li#mypage a {
					height: 100px;
					width: 100px;
					padding: 0; }
					#gnav nav ul li#entry a:before, #gnav nav ul li#mypage a:before {
						display: block;
						content: "";
						width: 36px;
						height: 36px;
						margin-left: auto;
						margin-right: auto;
						margin-top: 22px; }
					#gnav nav ul li#entry a span, #gnav nav ul li#mypage a span {
						display: inline-block;
						margin-top: 4px; }
			#gnav nav ul li#entry a {
				background-color: #3185f7; }
				#gnav nav ul li#entry a:before {
					background: url(404.png) center center no-repeat; }
			#gnav nav ul li#mypage a {
				background-color: #4cc159; }
				#gnav nav ul li#mypage a:before {
					background: url(404.png) center center no-repeat; }

		@media only screen and (max-width: 750px) {
			#external-button{display:block;}
			#gnav nav #external-button {
				display: table;
				width: 100%;
				position: absolute;
				bottom: 0; }
				#gnav nav #external-button a {
					display: table-cell;
					width: 50%;
					text-align: center;
					height: 50px;
					vertical-align: middle;
					text-decoration: none;
					font-size: 12px;
					font-size: 1.2rem; }
					#gnav nav #external-button a span:before {
						display: inline-block;
						content: "";
						vertical-align: middle;
						margin-top: -2px; }
					#gnav nav #external-button a.entry-btn {
						background-color: #000000;
						color: #fff; }
						#gnav nav #external-button a.entry-btn span:before {
							background: url(404.png) center center no-repeat;
							background-size: cover;
							width: 17px;
							height: 20px;
							margin-right: 15px; }
					#gnav nav #external-button a.mypage-btn {
						background-color: #be3329;
						color: #fff; }
						#gnav nav #external-button a.mypage-btn span:before {
							background: url(404.png) center center no-repeat;
							background-size: cover;
							width: 17px;
							height: 19px;
							margin-right: 12px; } }