@charset "UTF-8";
/* scroll fix */
html {
	overflow-y: scroll; }

body {
	font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","Osaka","ＭＳ Ｐゴシック", "MS P Gothic",Verdana,Arial, Helvetica, sans-serif;
	/* color: #222; */
	line-height: 2;
	letter-spacing: 1px;
	font-size: 14px;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	/* min-width: 1200px; */
	overflow: hidden; }

@media only screen and (max-width: 750px) {
	html {
		height: 100%; }
	body {
		width: 100%;
		min-width: 320px;
		position: relative;
		overflow: hidden;
		font-size: 13px;
		line-height: 1.8;
		background: #eee; } }

input, textarea {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","Osaka","ＭＳ Ｐゴシック", "MS P Gothic",Verdana,Arial, Helvetica, sans-serif; }

strong {
	font-weight: bold; }

/*---ForFireFoxLink------------------*/
a:focus {
	outline: none; }

/*---clearFix ------------------*/
.clearfix:before, .clearfix:after {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden; }

.clearfix:after {
	clear: both; }

.clearfix {
	zoom: 1; }

/*---pc sp ------------------*/
.only-sp {
	display: none !important; }

.only-sp-5 {
	display: none !important; }

@media only screen and (max-width: 750px) {
	.only-pc {
		display: none; }
	.only-sp {
		display: block !important; }
	.only-sp-5 {
		display: none; }
	img {
		width: 100%; } }

@media only screen and (max-width: 320px) {
	.only-sp-5 {
		display: block !important; } }

/* 02.link
----------------------------------------------------------- */
a {
	/* color: #222; */
	text-decoration: none; }

a:hover {
	text-decoration: none; }

/*////////////////////////////////////////

padding, margin

////////////////////////////////////////*/
.padT0 {
	padding-top: 0 !important; }

.padT1 {
	padding-top: 0.5em !important; }

.padT2 {
	padding-top: 1em !important; }

.padT3 {
	padding-top: 1.5em !important; }

.padT4 {
	padding-top: 2em !important; }

.padT5 {
	padding-top: 2.5em !important; }

.padL0 {
	padding-left: 0 !important; }

.padL1 {
	padding-left: 0.5em !important; }

.padL2 {
	padding-left: 1em !important; }

.padL3 {
	padding-left: 1.5em !important; }

.padL4 {
	padding-left: 2em !important; }

.padL5 {
	padding-left: 2.5em !important; }

.padR0 {
	padding-right: 0 !important; }

.padR1 {
	padding-right: 0.5em !important; }

.padR2 {
	padding-right: 1em !important; }

.padR3 {
	padding-right: 1.5em !important; }

.padR4 {
	padding-right: 2em !important; }

.padR5 {
	padding-right: 2.5em !important; }

.padB0 {
	padding-bottom: 0 !important; }

.padB1 {
	padding-bottom: 0.5em !important; }

.padB2 {
	padding-bottom: 1em !important; }

.padB3 {
	padding-bottom: 1.5em !important; }

.padB4 {
	padding-bottom: 2em !important; }

.padB5 {
	padding-bottom: 2.5em !important; }

.marT0 {
	margin-top: 0 !important; }

.marT1 {
	margin-top: 0.5em !important; }

.marT2 {
	margin-top: 1em !important; }

.marT3 {
	margin-top: 1.5em !important; }

.marT4 {
	margin-top: 2em !important; }

.marT5 {
	margin-top: 2.5em !important; }

.marL0 {
	margin-left: 0 !important; }

.marL1 {
	margin-left: 0.5em !important; }

.marL2 {
	margin-left: 1em !important; }

.marL3 {
	margin-left: 1.5em !important; }

.marL4 {
	margin-left: 2em !important; }

.marL5 {
	margin-left: 2.5em !important; }

.marR0 {
	margin-right: 0 !important; }

.marR1 {
	margin-right: 0.5em !important; }

.marR2 {
	margin-right: 1em !important; }

.marR3 {
	margin-right: 1.5em !important; }

.marR4 {
	margin-right: 2em !important; }

.marR5 {
	margin-right: 2.5em !important; }

.marB0 {
	margin-bottom: 0 !important; }

.marB1 {
	margin-bottom: 0.5em !important; }

.marB2 {
	margin-bottom: 1em !important; }

.marB3 {
	margin-bottom: 1.5em !important; }

.marB4 {
	margin-bottom: 2em !important; }

.marB5 {
	margin-bottom: 2.5em !important; }

.tpl-inner-wrap {
	width: 1200px;
	min-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 50; }

@media only screen and (max-width: 750px) {
	.tpl-inner-wrap {
		width: 100%;
		min-width: 100%;
		padding: 0 15px; } }

/* #tpl-header
----------------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#tpl-header {
		position: absolute;
		top: 0;
		z-index: 1000;
		width: 100%;
		height: 95px;
		box-sizing: border-box;
		padding: 0 0 0 35px; }
		#tpl-header .logo-header {
			float: left;
			position: relative; }
			#tpl-header .logo-header img {
				padding-top: 20px; }
			#tpl-header .logo-header .black {
				display: none; }
		#tpl-header .gnav {
			float: right;
			font-family: 'Roboto', sans-serif;
			font-size: 16px;
			font-weight: 600;
			line-height: 0.8em; }
			#tpl-header .gnav .sp-ac ul {
				display: none; }
			#tpl-header .gnav li {
				position: relative;
				display: inline-block; }
				#tpl-header .gnav li:nth-child(n + 3) a:after {
					content: '';
					display: block;
					width: 1px;
					height: 15px;
					position: absolute;
					top: 38px;
					left: 0;
					background: #fff; }
				#tpl-header .gnav li a {
					position: relative;
					display: block;
					padding: 40px 48px 0;
					color: #fff;
					transition: all .5s; }
					#tpl-header .gnav li a:before {
						content: '';
						display: block;
						position: absolute;
						top: 0;
						left: 0;
						width: 100%;
						height: 5px;
						-webkit-transform: scale(0);
						-moz-transform: scale(0);
						transform: scale(0);
						transition: all .3s; }
				#tpl-header .gnav li a:hover {
					text-decoration: none; }
				#tpl-header .gnav li a.hover:before, #tpl-header .gnav li a.current:before {
					background: #fff;
					-webkit-transform: scale(1);
					-moz-transform: scale(1);
					transform: scale(1); } }

/*クローンヘッダー-------------------------------------*/
.header-clone {
	font-family: 'Roboto', sans-serif;
	position: fixed;
	top: -95px;
	z-index: 1500;
	width: 100%;
	box-sizing: border-box;
	height: 95px;
	background: rgba(255, 255, 255, 0.9);
	transition: all .3s; }
	.header-clone.active {
		top: 0;
		box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2); }
	.header-clone .logo-header {
		float: left; }
		.header-clone .logo-header .white {
			display: none; }
		.header-clone .logo-header img {
			padding-top: 25px; }
	.header-clone .gnav {
		float: right;
		font-family: 'Roboto', sans-serif;
		font-size: 16px;
		font-weight: 600;
		line-height: 0.8em; }
		.header-clone .gnav .sp-ac ul {
			display: none !important; }
		.header-clone .gnav li {
			position: relative;
			display: inline-block; }
			.header-clone .gnav li:nth-child(n + 3) a:after {
				content: '';
				display: block;
				width: 1px;
				height: 15px;
				position: absolute;
				top: 38px;
				left: 0;
				background: #222; }
			.header-clone .gnav li a {
				position: relative;
				display: block;
				padding: 40px 48px;
				/* color: #222; */
				transition: all .5s; }
				.header-clone .gnav li a:before {
					content: '';
					display: block;
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					height: 5px;
					-webkit-transform: scale(0);
					-moz-transform: scale(0);
					transform: scale(0);
					transition: all .3s; }
			.header-clone .gnav li a:hover {
				text-decoration: none; }
			.header-clone .gnav li a.hover:before, .header-clone .gnav li a.current:before {
				background: #222;
				-webkit-transform: scale(1);
				-moz-transform: scale(1);
				transform: scale(1); }

/* spヘッダー-------------------------------------*/
@media only screen and (max-width: 750px) {
	.header-clone {
		display: none; }
	#tpl-header {
		width: 100%;
		height: 60px;
		box-sizing: border-box;
		padding: 15px;
		position: fixed;
		z-index: 1000;
		top: 0;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2); }
		#tpl-header .tpl-inner-wrap {
			padding: 0;
			position: static; }
		#tpl-header .logo-header {
			width: 96px;
			transition: all .3s; }
			#tpl-header .logo-header.slide-contents {
				-webkit-transform: translateX(-200px);
				-moz-transform: translateX(-200px);
				-ms-transform: translateX(-200px);
				transform: translateX(-200px); }
			#tpl-header .logo-header img {
				width: 100%; }
		#tpl-header .gnav-container {
			display: none; }
		#tpl-header .btn-spnav {
			width: 50px;
			height: 50px;
			background: #333;
			padding-top: 18px;
			position: absolute;
			top: 5px;
			right: 5px;
			z-index: 10000;
			transition: all .3s; }
			#tpl-header .btn-spnav span {
				margin: 0 auto;
				width: 15px;
				height: 2px;
				background: #fff;
				display: block;
				transition: all .2s; }
				#tpl-header .btn-spnav span + span {
					margin-top: 3px; }
			#tpl-header .btn-spnav.active span:nth-child(1) {
				-webkit-transform: translate(0px, 7px) rotate(-45deg);
				-moz-transform: translate(0px, 7px) rotate(-45deg);
				-ms-transform: translate(0px, 7px) rotate(-45deg);
				transform: translate(0px, 7px) rotate(-45deg);
				width: 20px; }
			#tpl-header .btn-spnav.active span:nth-child(2) {
				opacity: 0; }
			#tpl-header .btn-spnav.active span:nth-child(3) {
				-webkit-transform: translate(0px, -3px) rotate(45deg);
				-moz-transform: translate(0px, -3px) rotate(45deg);
				-ms-transform: translate(0px, -3px) rotate(45deg);
				transform: translate(0px, -3px) rotate(45deg);
				width: 20px; }
	.sp-gnav-container {
		opacity: 0;
		position: fixed;
		top: 0;
		right: 0;
		overflow-y: scroll;
		z-index: 0;
		width: calc(100% - 60px);
		height: 100%;
		background: #eee; }
		.sp-gnav-container li a {
			display: block;
			height: 60px;
			line-height: 60px;
			padding: 0 20px;
			box-sizing: border-box;
			border-bottom: solid 1px #fff;
			background: url("../img/ico_arrow_black_right.png") no-repeat right 15px center;
			background-size: 6px 10px; }
		.sp-gnav-container .sp-ac ul {
			background: #fff; }
			.sp-gnav-container .sp-ac ul li {
				height: auto;
				line-height: 1.5;
				border-top: solid 1px #bbb;
				transition: all .3s;
				padding-left: 30px; }
				.sp-gnav-container .sp-ac ul li:nth-child(1) {
					border-top: none; }
				.sp-gnav-container .sp-ac ul li a {
					height: auto;
					padding: 15px 25px 15px 0;
					line-height: 1.5; }
	.overlay {
		position: fixed;
		top: 0;
		left: calc(-100% + 60px);
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		overflow: hidden;
		z-index: 20;
		display: none; } }

/* #tpl-topicpath
----------------------------------------------------------- */
#tpl-topicpath {
	width: 100%; }
	#tpl-topicpath ul {
		overflow: hidden;
		padding: 10px; }
	#tpl-topicpath li {
		display: inline-block; }

@media only screen and (max-width: 750px) {
	#tpl-topicpath {
		display: none; } }

/* #tpl-contents
----------------------------------------------------------- */
@media only screen and (max-width: 750px) {
	#tpl-contents {
		position: relative;
		z-index: 10; } }

/* #tpl-pagetop-box
----------------------------------------------------------- */
/* #tpl-footer
----------------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#tpl-footer {
		-webkit-transform: translate3d(0, 0, 0);
		background: #f6f6f6;
		color: #777;
		clear: both;
		position: relative; }
		#tpl-footer .nav-footer {
			width: 1200px;
			margin: 0 auto;
			padding: 100px 0;
			position: relative;
			z-index: 1; }
			#tpl-footer .nav-footer a:hover {
				text-decoration: underline; }
			#tpl-footer .nav-footer .col {
				float: left;
				width: 263px;
				margin-right: 50px; }
				#tpl-footer .nav-footer .col ul {
					margin-top: -10px; }
					#tpl-footer .nav-footer .col ul li {
						line-height: 1.8; }
						#tpl-footer .nav-footer .col ul li a {
							font-size: 12px;
							font-weight: 200; }
			#tpl-footer .nav-footer .col:last-child {
				width: 261px;
				margin-right: 0; }
			#tpl-footer .nav-footer .list-ttl {
				border-top: solid 1px #bbb;
				font-size: 17px;
				padding: 20px 0;
				/* color: #222; */
				display: block; }
			#tpl-footer .nav-footer .btn-footer + .btn-footer {
				margin-top: 20px; }
			#tpl-footer .nav-footer .btn-footer a {
				display: block;
				text-align: center;
				width: 100%;
				height: 65px;
				background: #fff;
				border: solid 1px #bbb;
				line-height: 63px;
				transition: all .3s; }
				#tpl-footer .nav-footer .btn-footer a:hover {
					background: #000;
					color: #fff;
					border: solid 1px #000;
					text-decoration: none; }
			#tpl-footer .nav-footer .tyogroup .blank {
				position: relative;
				padding-right: 15px; }
				#tpl-footer .nav-footer .tyogroup .blank:before, #tpl-footer .nav-footer .tyogroup .blank:after {
					content: '';
					display: block;
					width: 13px;
					height: 10px;
					position: absolute;
					top: 50%;
					right: 58px;
					margin-top: -3px; }
				#tpl-footer .nav-footer .tyogroup .blank:before {
					background: url("/common/img/ico_blank_white.png") no-repeat; }
				#tpl-footer .nav-footer .tyogroup .blank:after {
					background: url("/common/img/ico_blank.png") no-repeat;
					transition: all .3s; }
				#tpl-footer .nav-footer .tyogroup .blank:hover:after {
					opacity: 0; }
			#tpl-footer .nav-footer .privacy .blank {
				position: relative;
				padding-right: 15px; }
				#tpl-footer .nav-footer .privacy .blank:before, #tpl-footer .nav-footer .privacy .blank:after {
					content: '';
					display: block;
					width: 13px;
					height: 10px;
					position: absolute;
					top: 50%;
					right: 75px;
					margin-top: -3px; }
				#tpl-footer .nav-footer .privacy .blank:before {
					background: url("/common/img/ico_blank_white.png") no-repeat; }
				#tpl-footer .nav-footer .privacy .blank:after {
					background: url("/common/img/ico_blank.png") no-repeat;
					transition: all .3s; }
				#tpl-footer .nav-footer .privacy .blank:hover:after {
					opacity: 0; }
		#tpl-footer .wrap-copy {
			padding: 40px 0;
			background: #000;
			text-align: center; }
			#tpl-footer .wrap-copy .logo-footer {
				position: relative;
				z-index: 1; }
			#tpl-footer .wrap-copy .copyright {
				font-size: 11px;
				margin-top: 15px; }
		#tpl-footer .bg-tri {
			position: absolute;
			bottom: 0;
			z-index: 0;
			width: 100%;
			height: 1300px;
			background: url("/common/img/bg_footer_tri.png") no-repeat center bottom; } }

/*sp-footer------------------------------------------*/
@media only screen and (max-width: 750px) {
	#tpl-footer {
		position: relative;
		z-index: 2;
		background: #f6f6f6; }
		#tpl-footer .nav-footer {
			position: relative;
			z-index: 2;
			font-size: 14px; }
			#tpl-footer .nav-footer .col a {
				display: block;
				height: 50px;
				line-height: 48px;
				box-sizing: border-box;
				padding: 0 15px; }
			#tpl-footer .nav-footer .col .list-ttl {
				background: #f6f6f6;
				border-top: solid 1px #bbb;
				position: relative; }
			#tpl-footer .nav-footer .col .ico-plus {
				position: relative; }
				#tpl-footer .nav-footer .col .ico-plus:after {
					content: '';
					display: block;
					width: 11px;
					height: 11px;
					background: url("/common/img/ico_puls_black.png") no-repeat;
					background-size: contain;
					position: absolute;
					right: 15px;
					top: 50%;
					margin-top: -6px;
					transition: all .3s; }
				#tpl-footer .nav-footer .col .ico-plus.active:after {
					-webkit-transform: rotate(225deg);
					-moz-transform: rotate(225deg);
					-ms-transform: rotate(225deg);
					-o-transform: rotate(225deg);
					transform: rotate(225deg); }
				#tpl-footer .nav-footer .col .ico-plus + ul {
					display: none; }
					#tpl-footer .nav-footer .col .ico-plus + ul li a {
						height: auto;
						line-height: 1.5;
						padding: 14px 0 14px 30px; }
			#tpl-footer .nav-footer .col li a {
				border-top: solid 1px #bbb;
				background: #fff;
				padding-left: 30px;
				font-size: 13px; }
			#tpl-footer .nav-footer .col-3 p a, #tpl-footer .nav-footer li a {
				position: relative; }
				#tpl-footer .nav-footer .col-3 p a:after, #tpl-footer .nav-footer li a:after {
					content: '';
					display: block;
					width: 6px;
					height: 10px;
					background: url("../img/ico_arrow_black_right.png") no-repeat;
					background-size: contain;
					position: absolute;
					right: 15px;
					top: 50%;
					margin-top: -5px;
					transition: all .3s; }
			#tpl-footer .nav-footer .col-3 p:last-child {
				border-bottom: solid 1px #bbb; }
			#tpl-footer .nav-footer .col-4 {
				padding: 30px 0; }
			#tpl-footer .nav-footer .btn-footer {
				width: 235px;
				margin: 0 auto; }
				#tpl-footer .nav-footer .btn-footer + .btn-footer {
					margin-top: 20px; }
				#tpl-footer .nav-footer .btn-footer a {
					display: block;
					text-align: center;
					width: 100%;
					height: 55px;
					background: #fff;
					border: solid 1px #bbb;
					line-height: 52px; }
			#tpl-footer .nav-footer .blank:after {
				content: '';
				display: inline-block;
				width: 13px;
				height: 10px;
				margin-top: -3px;
				margin-left: 8px;
				background: url("/common/img/ico_blank.png") no-repeat; }
		#tpl-footer .wrap-copy {
			padding: 23px 15px;
			background: #000; }
			#tpl-footer .wrap-copy .logo-footer {
				position: relative;
				z-index: 1;
				width: 200px; }
			#tpl-footer .wrap-copy .copyright {
				font-size: 9px;
				margin-top: 10px;
				color: #777; }
		#tpl-footer .bg-tri {
			position: absolute;
			bottom: 0;
			z-index: 1;
			width: 100%;
			height: 350px;
			background: url("/common/img/bg_footer_tri.png") no-repeat center bottom;
			background-size: 100%; } }

@media only screen and (max-width: 750px) {
	#tpl-header, #tpl-contents, #tpl-footer {
		transition: all .3s; }
		#tpl-header.slide-contents, #tpl-contents.slide-contents, #tpl-footer.slide-contents {
			-webkit-transform: translateX(calc(-100% + 60px));
			-moz-transform: translateX(calc(-100% + 60px));
			transform: translateX(calc(-100% + 60px));
			-ms-transform: translateX(calc(-100% + 60px)); } }
