@charset "UTF-8";  

.pc {
	display: inline-block ;
}

.pc2 {
	display: block ;
}

.sp ,.sp2 {
	display: none;
}

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


/*====================================
ヘッダー
=====================================*/
header {
	position: fixed;
	width: 100%;
	height: 110px;
	margin: 0 auto;
	padding: 0;
	background: linear-gradient(90deg, #fff 0%, #fff 50%, #C8000F 50%, #C8000F 100%);
	top: 0;
	left: 0;
	z-index: 100;
}
	header #header_in {
		max-width: 1620px;
		min-width: 1220px;
		margin: 0 auto;
		padding: 0;
		display: flex;
		align-items: center;
	}
		header #header_in #head_logo {
			margin: 0 0 0 80px;
			padding: 0 64px 0 0;
			display: flex;
			align-items: center;
			position: relative;
			/*transition: 0.2s linear;*/
			z-index: 2;
		}
			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: 70px solid #fff;
				border-bottom: 110px solid transparent;
				top: -30px;
				right: -70px;
			}
@media screen and (max-width:1620px) {
		header #header_in #head_logo {
			margin-left: 2.17% !important;
			padding-right: 1.80% !important;
		}
}
			header #header_in #head_logo h1 {
				margin: 0;
				padding: 0;
				text-align: left;
			}
				header #header_in #head_logo h1 a {
					margin: 0;
					transition: 0.2s linear;
				}
					header #header_in #head_logo a:hover {
						opacity: 0.8;
					}
		header #header_in nav {
			margin: 0;
			padding: 0;
			display: flex;
		}
			header #header_in nav ul {
				height: 110px;
				margin: 0;
				padding: 0;
				list-style: none;
				background: linear-gradient(90deg, #F5F5F5 0%, #fff 200px);
				display: flex;
				align-items: center;
				position: relative;
			}
				header #header_in nav ul:after {
					position: absolute;
					content: '';
					display: block;
					width: 0;
					height: 0;
					border-top: 52px solid transparent;
					border-right: 52px solid transparent;
					border-left: 52px solid transparent;
					border-bottom: 85px solid #C8000F;
					top: -52px;
					right: 15px;
					z-index: 1;
				}
				header #header_in nav ul li {
					margin: 0;
					padding: 0;
					background: #F3F3F3;
					position: relative;
				}
					header #header_in nav ul li a {
						display: inline-block;
						margin: 0;
						padding: 0 16px;
						font-size: 16px;
						line-height: 60px;
						color: #333333;
						text-decoration: none;
						white-space: nowrap;
						position: relative;
						z-index: 1;
						transition: 0.2s linear;
					}
@media screen and (max-width:1410px) {
					header #header_in nav ul li a {
						padding: 0 8px;
					}
}
						header #header_in nav ul li:hover a {
							color: #fff;
						}
						header #header_in nav ul li a:before {
							position: absolute;
							content: '';
							display: block;
							width: 100%;
							height: 110%;
							background: none;
							transform: rotate(16deg) skew(-16deg, -16deg);
							top: -5%;
							left: 0.1em;
							z-index: -1;
							transition: 0.2s linear;
						}
							header #header_in nav ul li:hover a:before {
								background: #C8000F;
							}
						header #header_in nav ul li:first-of-type a {
							margin-left: 55px;
						}
						header #header_in nav ul li:last-of-type a {
							margin-right: 160px;
						}
@media screen and (max-width:1550px) {
						header #header_in nav ul li:last-of-type a {
							margin-right: 120px !important;
						}
}
					header #header_in nav ul li > ul.dropdwn_menu {
						position: absolute;
						display: none;
						margin: 0;
						padding: 0;
						list-style: none;
						background: none !important;
						top: 60px;
						left: -30px;
					}
						header #header_in nav ul li:first-of-type > ul.dropdwn_menu {
							left: 50px !important;
						}
						header #header_in nav ul li > ul.dropdwn_menu:after {
							display: none;
						}
					header #header_in nav ul li > ul.dropdwn_menu li {
						display: block;
						margin: 0;
						padding: 0 !important;
						border: none;
						background: none !important;
					}
						header #header_in nav ul li > ul.dropdwn_menu li a {
							display: block;
							width: 12em;
							margin: 0;
							padding: 0;
							line-height: 40px;
							color: #fff !important;
							text-decoration: none !important;
							background: none;
							position: relative;
						}
							header #header_in nav ul li > ul.dropdwn_menu li:first-of-type a {
								margin-left: 0 !important;
							}
							header #header_in nav ul li > ul.dropdwn_menu li:last-of-type a {
								margin-right: 0 !important;
							}
							header #header_in nav ul li > ul.dropdwn_menu li a:before {
								position: absolute;
								content: '';
								display: block;
								width: 100%;
								height: 110%;
								background: #C8000F;
								transform: rotate(16deg) skew(-16deg, -16deg);
								border: 1px solid #fff;
								top: -5%;
								left: 0;
								z-index: -1;
								/*transition: 0.2s linear;*/
							}
								header #header_in nav ul li > ul.dropdwn_menu li a:hover:before {
									left: 5px;
								}

			header #header_in nav div.tel {
				width: 400px;
				height: 110px;
				margin: 0 0 0 -68px;
				padding: 0;
				background: #E60012;
				/*border-top: 110px solid #E60012;
				border-left: 70px solid transparent;
				border-right: 70px solid transparent;*/
				clip-path: polygon(17% 100%, 0% 0%, 100% 0%, 83% 100%);
				font-size: 28px;
				line-height: 120%;
				color: #fff;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				display: flex;
				justify-content: center;
				align-items: center;
				/*transition: 0.2s linear;*/
				position: relative;
				z-index: 3;
			}
@media screen and (max-width:1480px) {
			header #header_in nav div.tel {
				width: 340px !important;
			}
}
				header #header_in nav div.tel a {
					margin: 0;
					padding: 0 0 0 38px;
					text-decoration: none;
					color: #fff;
					pointer-events: none;
					position: relative;
				}
					header #header_in nav div.tel a:before {
						position: absolute;
						content: '';
						display: block;
						width: 31px;
						height: 30px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_tel.png) center / contain no-repeat;
						top: 0.1em;
						left: 0;
					}
			header #header_in nav div.mail {
				width: 150px;
				height: 110px;
				margin: 0;
				padding: 0;
				font-size: 20px;
				line-height: 120%;
				color: #fff;
				font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
				display: flex;
				align-items: center;
			}
				header #header_in nav div.mail a {
					height: 38px;
					margin: 0;
					padding: 8px 0 0 48px;
					color: #fff;
					text-decoration: none;
					position: relative;
				}
					header #header_in nav div.mail a:before {
						position: absolute;
						content: '';
						display: block;
						width: 36px;
						height: 38px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_mail_c.png) center / contain no-repeat;
						top: -0.25em;
						left: 0;
						transition: 0.2s linear;
					}
						header #header_in nav div.mail a:hover:before {
							background: url(../images/icon/head_mail_o.png) center / contain no-repeat;
						}
@media screen and (max-width:1340px) {
					header #header_in nav div.mail a span {
						display: none;
					}
}

header div.sp_menu,
ul.ul_open_h {
	display: none;
}


/*====================================
共通
=====================================*/
main {
	margin: 110px auto 0;
	padding: 0;
}

/* 余白 */
.mt_0 {margin:0}
.mt_80 {margin:80px 0 0}
.mt0 {margin:0 auto}
.mt20 {margin:20px auto 0}
.mt30 {margin:30px auto 0}
.mt40 {margin:40px auto 0}
.mt50 {margin:50px auto 0}
.mt60 {margin:60px auto 0}
.mt70 {margin:70px auto 0}
.mt80 {margin:80px auto 0}
.mt90 {margin:90px auto 0}
.mt100 {margin:100px auto 0}
.mt110 {margin:110px auto 0}
.mt130 {margin:130px auto 0}
.mt140 {margin:140px auto 0}
.mt150 {margin:150px auto 0}

h3.cont_ttl {
	margin: 0 auto;
	padding: 0;
}
	h3.cont_ttl span {
		margin: 0 auto;
		padding: 0 0 5px;
		font-size: 40px;
		line-height: 180%;
		font-weight: 500;
		font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
		border-bottom: 1px solid #333333;
	}
	h3.cont_ttl small {
		display: block;
		margin: 10px auto 0;
		padding: 0;
		font-size: 15px;
		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: 140px 0 150px;
	background: url(../images/common/foot_contact_bg.jpg) bottom 0 left calc(50% + 480px) no-repeat;
	position: relative;
	z-index: 1;
}
	#foot_contact div.foot_contact_in {
		width: 1220px;
		margin: 0 auto;
		padding: 0;
	}
		#foot_contact div.foot_contact_in p.contact_top {
			margin: 35px auto 0;
			padding: 0;
			font-size: 16px;
			line-height: 180%;
		}
		#foot_contact div.foot_contact_in div.contact_btn {
			margin: 50px auto 0;
			padding: 0;
			display: flex;
			justify-content: center;
		}
			#foot_contact div.foot_contact_in div.contact_btn div {
				width: 410px;
				height: 90px;
				margin: 0 20px;
				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:after {
					position: absolute;
					content: '';
					display: block;
					width: 410px;
					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: 40px;
					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 45px;
						color: #fff;
						text-decoration: none;
						pointer-events: none;
						position: relative;
					}
					#foot_contact div.foot_contact_in div.contact_btn div.tel a:before {
						position: absolute;
						content: '';
						display: block;
						width: 31px;
						height: 30px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_tel.png) center / contain no-repeat;
						top: 0.3em;
						left: 0;
					}
				#foot_contact div.foot_contact_in div.contact_btn div.mail {
					font-size: 24px;
					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 45px;
						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: 36px;
						height: 38px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/head_mail_c.png) center / contain no-repeat;
						top: -0.4em;
						left: 0;
						transition: 0.2s linear;
					}
						#foot_contact div.foot_contact_in div.contact_btn div.mail a:hover:before {
							background: url(../images/icon/head_mail_o.png) center / contain no-repeat;
						}

footer {
	margin: 0 auto;
	padding: 0;
	background: linear-gradient(90deg, #E60012 0px, #E60012 calc(50% - 650px), #EFF0F1 calc(50% - 650px), #EFF0F1 100%);
}
	footer #footer_in {
		max-width: 1420px;
		min-width: 1220px;
		margin: 0 auto;
		padding: 0;
		overflow: hidden;
		display: flex;
		justify-content: space-between;
	}
		footer #footer_in div.foot_logo {
			width: 330px;
			margin: 0;
			padding: 60px 0 70px;
			background: #E60012;
			text-align: left;
			position: relative;
		}
			footer #footer_in div.foot_logo:after {
				position: absolute;
				content: '';
				display: block;
				width: 194px;
				height: 0;
				border-top: solid 300px #E60012;
				border-right: solid 194px transparent;
				top: 0;
				right: -194px;
			}
			footer #footer_in div.foot_logo h6 {
				margin: 0;
				padding: 0;
				position: relative;
				z-index: 2;
			}
			footer #footer_in div.foot_logo p {
				margin: 0;
				padding: 0;
				font-size: 16px;
				line-height: 180%;
				color: #fff;
			}
				footer #footer_in div.foot_logo p:first-of-type {
					margin: 15px 0 0;
				}
				footer #footer_in div.foot_logo p a {
					color: #fff;
					text-decoration: none;
					pointer-events: none;
				}
			footer #footer_in div.foot_logo div {
				margin: 15px 0 0;
				padding: 0;
			}
				footer #footer_in div.foot_logo div a {
					transition: 0.2s linear;
				}
					footer #footer_in div.foot_logo div a:hover {
						opacity: 0.8;
					}
		footer #footer_in div.foot_nav {
			margin: 0;
			padding: 70px 0;
			text-align: left;
			display: flex;
			align-items: flex-start;
		}
			footer #footer_in div.foot_nav div {
				display: inline-block;
				margin: 0 65px 0 0;
				padding: 0;
				transition: 0.2s linear;
			}
@media screen and (max-width:1300px) {
			footer #footer_in div.foot_nav div {
				margin: 0 35px 0 0;
			}
}
				footer #footer_in div.foot_nav div:last-of-type {
					margin: 0 5px 0 0;
				}
				footer #footer_in div.foot_nav div h5 {
					margin: 0;
					padding: 0;
					font-size: 16px;
					line-height: 220%;
					font-weight: 400;
				}
					footer #footer_in div.foot_nav div h5 a {
						display: inline-block;
						margin: 0;
						padding: 0 0 0 25px;
						color: #333;
						text-decoration: none;
						transition: 0.2s linear;
						position: relative;
					}
						footer #footer_in div.foot_nav div h5 a:hover {
							color: #E60012;
						}
					footer #footer_in div.foot_nav div h5 a:before {
						position: absolute;
						content: '';
						display: block;
						width: 8px;
						height: 14px;
						margin: 0;
						padding: 0;
						background: url(../images/icon/foot_arrow.png) center / contain no-repeat;
						top: 0.75em;
						left: 0;
					}
				footer #footer_in div.foot_nav div ul {
					margin: 0;
					padding: 0 0 0 25px;
					font-size: 14px;
					line-height: 200%;
					list-style: none;
				}
					footer #footer_in div.foot_nav div ul li {
					}
						footer #footer_in div.foot_nav div ul li a {
							display: inline-block;
							margin: 0;
							padding: 0;
							color: #333;
							text-decoration: none;
							transition: 0.2s linear;
						}
							footer #footer_in div.foot_nav div ul li a:hover {
								color: #E60012;
							}
						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 {
	max-width: 1620px;
	height: 60px;
	margin: 0 auto;
	padding: 0 100px 0 0;
	font-size: 12px;
	line-height: 120%;
	font-weight: 400;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

#page_top {
	position: fixed;
	bottom: 0;
    right: 0;
	z-index: 100;
}
	#page_top img {
		transition: 0.2s linear;
	}
	#page_top img:hover {
		opacity: 0.8;
	}
