@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;
	}

	.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: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: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;
	}
}

/*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.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: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 .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;
	}
}

@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));
	}
}