@charset "UTF-8";  

body {
	font-size	: 3.8vw;
	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 3%;
	background: #222222;
	border-bottom: 1px solid #999999;
	display: flex;
	top: 0;
	left: 0;
	z-index: 100;
}
	h1 {
		display: inline-block;
		width: 28%;
		margin: 0;
		padding: 3% 0;
		a {
			display: inline-block;
			width: 100%;
			margin: 0;
			padding: 1%;
			img {
				width: 100%;
				height: auto;
			}
		}
	}
	nav {
		display: none;
	}


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

h2.cont_ttl {
	margin: 0 0 0 -0.5em;
	padding: 0;
	text-align: left;
	strong {
		display: block;
		margin: 0;
		padding: 0;
		font-size: 8.6vw;
		line-height: 160%;
		font-weight: var(--weight-nomal);
		font-family: var(--font-rock-salt);
		white-space: nowrap;
	}
	span {
		display: block;
		margin: 0.8em 0 0 3%;
		padding: 0;
		font-size: 3.4vw;
		line-height: 180%;
		font-weight: var(--weight-nomal);
		white-space: nowrap;
	}
}

/* 共通ボタン */
div.cont_btn {
	a.cont_btn_in {
		height: 3.0em;
		margin: 0;
		padding: 0.2em 4em 0.2em 2em;
		font-size: 3.6vw;
		line-height: 120%;
		font-weight: var(--weight-bold2);
		color: #202020;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;	
		z-index: 1;
		&:before {
			position: absolute;
			content: '';
			display: block;
			margin: 0;
			padding: 0;
			border: 2px solid #999999;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			border-radius: 0.5em;
			transform: skewX(-10deg);
			z-index: -2;
		}
		span {
			position: absolute;
			display: block;
			width: 1.6em;
			height: 1.2em;
			margin: 0;
			padding: 0;
			background: url(../images/icon/arrow_ico_b.png) center / contain no-repeat;
			transition: 0.2s linear;
			top: calc(50% - 0.6em);
			right: 8%;
			z-index: 1;
		}
	}
}

/* BOTTOM CONTACT */
#btm_contact {
	margin: 0 auto;
	padding: 15% 0 15%;
	background: url(../images/common/btm_contact_sp.jpg) center / cover no-repeat;
	position: relative;
	z-index: 2;
	div.btm_contact_cont {
		margin: 0 auto;
		padding: 0 3%;
		h2.cont_ttl {
			color: #fff;
		}
		div.txt_btn {
			margin: 10% auto 0;
			padding: 0;
			.txt {
				margin: 0;
				font-size: 3.6vw;
				line-height: 200%;
				color: #fff;
				text-align: left;
			}
			.btn {
				width: 70%;
				margin: 8% auto 0;
				padding: 0 5% 0 0;
				display: flex;
				justify-content: center;
				a.contact_btn {
					width: 100%;
					height: 3.5em;
					margin: 0 auto;
					padding: 4% 15% 3% 5%;
					font-size: 3.8vw;
					line-height: 120%;
					font-weight: var(--weight-bold2);
					color: #202020;
					text-decoration: none;
					display: flex;
					justify-content: center;
					align-items: center;
					position: relative;	
					z-index: 1;
					&:before {
						position: absolute;
						content: '';
						display: block;
						margin: 0;
						padding: 0;
						background: #fff;
						border: 2px solid #999999;
						top: 0;
						left: 0;
						right: 0;
						bottom: 0;
						border-radius: 0.5em;
						transform: skewX(-10deg);
						z-index: -2;
					}
					span {
						position: absolute;
						display: block;
						width: 2.5em;
						height: 1.5em;
						margin: 0;
						padding: 0;
						background: url(../images/icon/mail_ico_b.png) center / contain no-repeat;
						transition: 0.2s linear;
						top: calc(50% - 0.75em);
						right: 15%;
						z-index: 1;
					}
				}
			}
		}
	}
}


/*====================================
フッター
=====================================*/
footer {
	width: 100%;
	margin: 0 auto;
	padding: 15% 0 3%;
	background: #222222;
	position: relative;
	z-index: 2;
	div.footer_in {
		margin: 0 auto;
		padding: 0 2%;
		div.info {
			margin: 0;
			padding: 0;
			color: #fff;;
			h6 {
				width: 40%;
				margin: 0 auto;
				padding: 0;
				a {
					display: block;
					width: 100%;
					img {
						width: 100%;
						height: auto;
					}
				}
				div.sns {
					margin: 5% auto 0;
					padding: 0;
					a {
						display: inline-block;
						width: 14%;
						margin: 0 auto;
						padding: 0;
						text-decoration: none;
						img {
							width: 100%;
							height: auto;
						}
					}
				}

			}
			h5 {
				margin: 2em auto 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 1.5em auto 0;
				padding: 0;
				font-size: 3.0vw;
				line-height: 200%;
			}
		}
		div.nav {
			margin: 8% auto 0;
			padding: 0;
			display: flex;
			ul {
				margin: 0;
				padding: 0;
				text-align: left;
				list-style: none;
				&:nth-of-type(1) {
					width: 60%;
				}
				&:nth-of-type(2) {
					width: 40%;
				}
				li {
					display: block;
					margin: 1em 0 0;
					padding: 0;
					a {
						display: inline-block;
						margin: 0;
						padding: 0;
						font-size: 5.0vw;
						line-height: 160%;
						font-weight: var(--weight-extrabold1);
						font-family: var(--font-montserrat);
						text-decoration: none !important;
						color: #999999 !important;
					}
				}
			}
		}
	}
	#footer_copy {
		margin: 10% auto 0;
		padding: 0 3%;
		font-size: 3.2vw;
		line-height: 160%;
		font-weight: var(--weight-nomal);
		font-family: var(--font-montserrat);
		color: #999999;	
		text-align: right;
	}
}


#page_top {
    position: fixed;
	display: none;
	width: 12%;
    bottom: 2em;
    right: 3%;
	z-index: 49;
}
	#page_top img {
		width: 100%;
		height: auto;
	}

