@charset "UTF-8";


/* ---------------------------------------------------------------------
	contentArea
*/
/* --------------- main_visual --------------- */
.main_visual {
	position: relative;
	width: 100%;
	height: calc(93vh - 80px);
	background-image: url(../images/index_main_visual.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	}
	.main_visual::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(90deg, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, .3) 29%, rgba(0, 0, 0, 0) 100%);
		}
	.main_visual h1 {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 85%;
		color: #fff;
		font-size: 5.6rem;
		line-height: 1.5;
		font-weight: bold;
		transform: translate(-50%, -50%);
		}

/* --------------- content --------------- */
.content {
	margin-top: 150px;
	font-size: 1.5rem;
	line-height: 1.8;
	}
	.content a.btn {
		position: relative;
		display: inline-block;
		padding: 0 40px 0 60px;
		height: 48px;
		color: #fff;
		font-weight: bold;
		line-height: 48px;
		text-decoration: none;
		background-color: #eb4f00;
		}
		.content a.btn::before {
			content: "";
			position: absolute;
			left: 40px;
			top: 50%;
			margin-top: 1px;
			width: 13px;
			height: 13px;
			background-image: url(../images/icon_arrow_white.svg);
			background-repeat: no-repeat;
			background-position: center center;
			transform: translate(0,-50%);
			}
		.content a.btn:hover {
			background-color: #d7092f;
			}

/* -- article -- */
.content article.column {
	display: grid;
	align-items: center;
	margin-bottom: 150px;
	}
	.content article.column .text {
		margin-left: 12.5%;
		width: 62.5%;
		}
		.content article.column .text h2 {
			margin-bottom: 1em;
			font-size: 3.4rem;
			line-height: 1.4;
			font-weight: bold;
			}
		.content article.column .text p {
			margin-bottom: 2em;
			}
.content article.odd {
	grid-template-columns: calc(50% + 5.55%) 1fr;
	}
.content article.even {
	grid-template-columns: calc(50% - 5.55%) 1fr;
	}
	.content article.even .image {
		order: 2;
		}
	.content article.even .text {
		order: 1;
		margin-left: 25%;
		}

.content article.contact {
	position: relative;
	height: 640px;
	background-image: url(../images/index_article_04.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	}
	.content article.contact .box {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 44.44%;
		color: #fff;
		text-align: center;
		transform: translate(-50%, -50%);
		}
		.content article.contact .box h2 {
			margin-bottom: 1em;
			font-size: 3.4rem;
			line-height: 1.4;
			font-weight: bold;
			}
		.content article.contact .box a {
			display: block;
			color: #fff;
			text-decoration: none;
			pointer-events: none;
			}
			.content article.contact .box a dl {
				margin-top: 50px;
				}
				.content article.contact .box a dl dt {
					position: relative;
					padding-top: 170px;
					font-size: 1.6rem;
					font-weight: bold;
					}
					.content article.contact .box a dl dt::before {
						content: '';
						position: absolute;
						top: 0;
						left: 50%;
						width: 141px;
						height: 141px;
						background-image: url(../images/btn_tel.png);
						background-repeat: no-repeat;
						background-size: cover;
						transform: translate(-50%, 0);
						transition: all 0.3s;
						}
					.content article.contact .box a:hover dl dt::before {
						background-image: url(../images/btn_tel_over.png);
						}
					.content article.contact .box a dl dt strong {
						font-family: Helvetica, sans-serif;
						font-size: 3.6rem;
						font-weight: bold;
						line-height: 1.2;
						letter-spacing: 0.05em;
						}
				.content article.contact .box a dl dd {
					margin-top: 0.3em;
					font-size: 1.2rem;
					line-height: 1.6;
					}


/* ---------------------------------------------------------------------
	タブレット
*/
@media only screen and (max-width : 1240px) {


}

/* ---------------------------------------------------------------------
	SP
*/
@media only screen and (max-width : 767px) {

/* --------------- main_visual --------------- */
.main_visual {
	height: calc(95vh - 50px);
	}
	.main_visual h1 {
		display: flex;
		align-items: flex-end;
		padding-top: 1.3em;
		width: 80%;
		height: 100%;
		font-size: 4.2rem;
		line-height: 1.5;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		}

/* --------------- content --------------- */
.content {
	margin-top: 80px;
	font-size: 1.5rem;
	line-height: 1.8;
	}
/* -- article -- */
.content article.column {
	display: block;
	margin-bottom: 80px;
	}
	.content article.column .text {
		margin: 0 auto;
		width: 84%;
		}
		.content article.column .text h2 {
			margin-top: 1em;
			font-size: 2.8rem;
			line-height: 1.4;
			}
		.content article.column .text p {
			margin-bottom: 2em;
			}

.content article.contact {
	height: 510px;
	}
	.content article.contact .box {
		width: 84%;
		}
		.content article.contact .box h2 {
			margin-bottom: 1em;
			font-size: 2.8rem;
			line-height: 1.2;
			}
		.content article.contact .box a {
			pointer-events: unset;
			}
			.content article.contact .box a dl {
				margin-top: 40px;
				}
				.content article.contact .box a dl dt {
					position: relative;
					padding-top: 115px;
					}
					.content article.contact .box a dl dt::before {
						content: '';
						position: absolute;
						top: 0;
						left: 50%;
						width: 100px;
						height: 100px;
						background-image: url(../images/btn_tel.png);
						background-repeat: no-repeat;
						background-size: cover;
						transform: translate(-50%, 0);
						transition: all 0.3s;
						}

}