@charset "UTF-8";  

body {
	font-size	: 3.6vw;
	line-height	: 180%;
	font-weight	: 400;
	-webkit-text-size-adjust: 100%; /* for iOS */
	background: #fff;
}  
.pc ,.pc2 {
	display: none;
}

.sp {
	display: inline-block ;
}

.sp2 {
	display: block ;
}


#wrapper {
	width: 100%;
	margin: auto;
	padding: 0;
	position: relative;
}


/*====================================
ヘッダー
=====================================*/
header {
	position: fixed;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	background: #C8000F;
	overflow: hidden;
	top: 0;
	left: 0;
	z-index: 100;
}
	header #header_in {
		height: 3.8em;
		margin: 0 auto;
		padding: 0;
		display: flex;
		align-items: center;
		position: relative;
	}
		header #header_in:before {
			position: absolute;
			content: '';
			display: block;
			width: 30%;
			height: 30%;
			margin: 0;
			padding: 0;
			background: linear-gradient(90deg, #F5F5F5 0%, #fff 30%);
			bottom: 0;
			left: 43%;
			z-index: 1;
		}
		header #header_in #head_logo {
			width: 43%;
			height: 3.8em;
			margin: 0;
			padding: 3% 4%;
			background: #fff;
			display: flex;
			align-items: center;
			position: relative;
			z-index: 3;
		}
			header #header_in #head_logo:after {
				position: absolute;
				content: '';
				display: block;
				width: 0;
				height: 0;
				margin: 0;
				padding: 0;
				border-top: 0px solid transparent;
				border-right: 0px solid transparent;
				border-left: 2.7em solid #fff;
				border-bottom: 4em solid transparent;
				top: 0;
				right: -2.6em;
				z-index: 1;
			}
			header #header_in #head_logo h1 {
				width: 80%;
				margin: 0;
				padding: 0;
				text-align: left;
			}
				header #header_in #head_logo h1 a {
					margin: 0;
				}
					header #header_in #head_logo h1 a img {
						width: 100%;
						height: auto;
					}
		header #header_in nav {
			width: 40%;
			height: 3.8em;
			margin: 0 0 0 9.5%;
			padding: 0 0 1%;
			background: #E60012;
			clip-path: polygon(21% 100%, 0% 0%, 100% 0%, 79% 100%);
			display: flex;
			justify-content: center;
			align-items: center;
			z-index: 2;
		}
			header #header_in nav ul {
				display: none;
			}
			header #header_in nav div.tel {
				margin: 0 5% 0 0;
				padding: 0;
			}
				header #header_in nav div.tel a {
					display: inline-block;
					width: 1.8em;
					height: 1em;
					position: relative;
				}
					header #header_in nav div.tel a:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.6em;
						height: 1.6em;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_tel.png) center / contain no-repeat;
						top: 0;
						left: 0;
					}
					header #header_in nav div.tel a span {
						display: none;
					}
			header #header_in nav div.mail {
				margin: 0 0 0 5%;
				padding: 0;
			}
				header #header_in nav div.mail a {
					display: inline-block;
					width: 1.8em;
					height: 1em;
					margin: 0;
					padding: 0;
					position: relative;
				}
					header #header_in nav div.mail a:before {
						position: absolute;
						content: '';
						display: block;
						width: 1.8em;
						height: 1.6em;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_mail.png) center / contain no-repeat;
						top: 0;
						left: 0;
					}
						header #header_in nav div.mail a span {
							display: none;
						}

	#header nav ul,
	#accordion {
		display: none;
	}


/*====================================
共通
=====================================*/
main {
	margin: 3.6em auto 0;
}

/* 余白 */
.mt_0 {margin:0}
.mt_80 {margin:15% 0 0}
.mt0 {margin:0 auto}
.mt20 {margin:3% auto 0}
.mt30 {margin:5% auto 0}
.mt40 {margin:10% auto 0}
.mt50 {margin:10% auto 0}
.mt60 {margin:12% auto 0}
.mt70 {margin:15% auto 0}
.mt80 {margin:15% auto 0}
.mt90 {margin:15% auto 0}
.mt100 {margin:15% auto 0}
.mt110 {margin:20% auto 0}
.mt130 {margin:20% auto 0}
.mt140 {margin:20% auto 0}
.mt150 {margin:20% auto 0}

h3.cont_ttl {
	margin: 0 auto;
	padding: 0;
}
	h3.cont_ttl span {
		display: inline-block;
		margin: 0 auto;
		padding: 0 0 3px;
		font-size: 6.2vw;
		line-height: 180%;
		font-weight: 500;
		font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
		position: relative;
	}
		h3.cont_ttl span:after {
			position: absolute;
			content: '';
			display: block;
			width: 100%;
			height: 1px;
			background: #333333;
			bottom: 0;
			left: 0;
		}
	h3.cont_ttl small {
		display: block;
		margin: 1.5% auto 0;
		padding: 0;
		font-size: 3.4vw;
		line-height: 120%;
		font-weight: 500;
		color: #E50012;
		font-family: 'Kiwi Maru', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	}

/*====================================
フッター
=====================================*/
#foot_contact {
	margin: 0 auto;
	padding: 20% 4% 15%;
	background: url(../images/common/foot_contact_bg_sp.jpg) bottom right / 50% auto no-repeat;
	position: relative;
	z-index: 1;
}
	#foot_contact div.foot_contact_in {
		margin: 0 auto;
		padding: 0;
	}
		#foot_contact div.foot_contact_in p.contact_top {
			margin: 8% auto 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 180%;
		}
		#foot_contact div.foot_contact_in div.contact_btn {
			margin: 8% auto 0;
			padding: 0;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			align-items: flex-end;
		}
			#foot_contact div.foot_contact_in div.contact_btn div {
				width: 70%;
				height: 15vw;
				margin: 0 auto 0;
				padding: 0;
				display: flex;
				justify-content: center;
				align-items: center;
				position: relative;
				z-index: 1;
			}
				#foot_contact div.foot_contact_in div.contact_btn div:nth-of-type(2) {
					margin: 3% auto 0 22% !important;
				}
				#foot_contact div.foot_contact_in div.contact_btn div:after {
					position: absolute;
					content: '';
					display: block;
					width: 100%;
					height: 114%;
					margin: 0 auto;
					padding: 0;
					background: #E60012;
					transform: rotate(15deg) skew(-15deg, -15deg);
					top: -7%;
					left: 0;
					z-index: -1;
				}
				#foot_contact div.foot_contact_in div.contact_btn div.tel {
					font-size: 5.8vw;
					line-height: 120%;
					font-weight: 500;
					font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				}
					#foot_contact div.foot_contact_in div.contact_btn div.tel.scrollin {
						-webkit-animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
						animation: slideInTopLeft 0.8s ease-in-out 0s 1 forwards;
					}
					#foot_contact div.foot_contact_in div.contact_btn div.tel a {
						display: inline-block;
						margin: 0;
						padding: 0 0 0 1.2em;
						color: #fff;
						text-decoration: none;
						position: relative;
					}
					#foot_contact div.foot_contact_in div.contact_btn div.tel a:before {
						position: absolute;
						content: '';
						display: block;
						width: 12%;
						height: 1.0em;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_tel.png) center / contain no-repeat;
						top: 0.2em;
						left: 0;
					}
				#foot_contact div.foot_contact_in div.contact_btn div.mail {
					font-size: 3.8vw;
					line-height: 120%;
					font-weight: 500;
				}
					#foot_contact div.foot_contact_in div.contact_btn div.mail.scrollin {
						-webkit-animation: slideInBottomRight 0.8s ease-in-out 0s 1 forwards;
						animation: slideInBottomRight 0.8s ease-in-out 0s 1 forwards;
					}
					#foot_contact div.foot_contact_in div.contact_btn div.mail a {
						display: inline-block;
						margin: 0;
						padding: 0 0 0 1.8em;
						color: #fff;
						text-decoration: none;
						position: relative;
					}
					#foot_contact div.foot_contact_in div.contact_btn div.mail a:before {
						position: absolute;
						content: '';
						display: block;
						width: 12%;
						height: 1.2em;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_mail.png) center / contain no-repeat;
						top: 0;
						left: 0;
					}

footer {
	margin: 0 auto;
	padding: 0;
	background: #EFF0F1;
}
	footer #footer_in {
		margin: 0 auto;
		padding: 0;
		
	}
		footer #footer_in div.foot_logo {
			width: 100%;
			margin: 0;
			padding: 10% 0 10%;
			background: #E60012;
			overflow: hidden;
			position: relative;
		}
			footer #footer_in div.foot_logo:after {
				position: absolute;
				content: '';
				display: block;
				width: 10%;
				height: 0;
				border-bottom: solid 4.2em #EFF0F1;
				border-left: solid 2.8em transparent;
				bottom: 0;
				right: 0;
			}
			footer #footer_in div.foot_logo h6 {
				width: 30%;
				margin: 0 auto;
				padding: 0;
				position: relative;
				z-index: 2;
			}
				footer #footer_in div.foot_logo h6 img {
					width: 100%;
					height: auto;
				}
			footer #footer_in div.foot_logo p {
				margin: 0 auto;
				padding: 0;
				font-size: 3.4vw;
				line-height: 180%;
				color: #fff;
			}
				footer #footer_in div.foot_logo p:first-of-type {
					margin: 3% auto 0;
				}
				footer #footer_in div.foot_logo p a {
					color: #fff;
					text-decoration: none;
				}
			footer #footer_in div.foot_logo div {
				width: 6%;
				margin: 3% auto 0;
				padding: 0;
			}
				footer #footer_in div.foot_logo div a {
				}
					footer #footer_in div.foot_logo div img {
						width: 100%;
						height: auto;
					}
		footer #footer_in div.foot_nav {
			margin: 0;
			padding: 0;
			text-align: left;
		}
			footer #footer_in div.foot_nav div {
				display: block;
				margin: 0;
				padding: 3% 4%;
				border-bottom: 1px solid #cdcdcd;
			}
				footer #footer_in div.foot_nav div:last-of-type {
					display: flex;
					flex-wrap: wrap;
					border-bottom: none;
				}
					footer #footer_in div.foot_nav div:last-of-type h5 {
						width: 50%;
					}
					footer #footer_in div.foot_nav div:last-of-type h5:last-of-type {
						width: 100%;
						margin: 3% 0 0;
						padding: 3% 0 0;
						position: relative;
					}
						footer #footer_in div.foot_nav div:last-of-type h5:last-of-type:before {
							position: absolute;
							content: '';
							display: block;
							width: 110%;
							height: 1px;
							margin: 0;
							padding: 0;
							background: #cdcdcd;
							top: 0;
							left: -5%;
						}
				footer #footer_in div.foot_nav div h5 {
					margin: 0;
					padding: 0;
					font-size: 3.4vw;
					line-height: 220%;
					font-weight: 400;
				}
					footer #footer_in div.foot_nav div h5 a {
						display: inline-block;
						margin: 0;
						padding: 0 0 0 1.3em;
						color: #333;
						text-decoration: none;
						position: relative;
					}
					footer #footer_in div.foot_nav div h5 a:before {
						position: absolute;
						content: '';
						display: block;
						width: 0.8em;
						height: 1em;
						margin: 0;
						padding: 0;
						background: url(../images/icon/foot_arrow.png) center / contain no-repeat;
						top: 0.6em;
						left: 0;
					}
				footer #footer_in div.foot_nav div ul {
					margin: 0;
					padding: 0 0 0 1.5em;
					font-size: 3.2vw;
					line-height: 200%;
					list-style: none;
					display: flex;
					flex-wrap: wrap;
				}
					footer #footer_in div.foot_nav div ul li:nth-of-type(odd) {
						width: 60%;
					}
					footer #footer_in div.foot_nav div ul li:nth-of-type(even) {
						width: 40%;
					}
						footer #footer_in div.foot_nav div ul li a {
							display: inline-block;
							margin: 0;
							padding: 0;
							color: #333;
							text-decoration: none;
						}
						footer #footer_in div.foot_nav div ul li a:before {
							content: '●';
							display: inline-block;
							margin: 0 0.4em 0 0;
							padding: 0;
							font-size: 0.6em;
							color: #333;
							vertical-align: 0.2em;
						}

#footer_copy {
	margin: 0 auto;
	padding: 3.6% 0;
	font-size: 3vw;
	line-height: 160%;
}

#page_top {
	position: fixed;
	width: 18%;
	bottom: 0;
    right: 0;
	z-index: 45;
}
	#page_top img {
		width: 100%;
		height: auto;
	}

