@charset "UTF-8";

/**
 * index.css
 *
 * #
 *
*/

/* ==========================================================================
   #mainimg
   ========================================================================== */
.l-mainimg {
	overflow: hidden;
	height: 100vh;
	max-height: 800px;
	padding: 0 15px;
	background: url("../images/top/mainimg.jpg") no-repeat;
	background-size: cover;
	background-position: center center;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .mainimg-bg {
    background: url("../images/top/mainimg@2x.jpg") no-repeat;
  }
}

.mainimg-inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.mainimg-ttl {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-block;
	max-width: 1000px;
	color: #fff;
	font-size: 80px;
	line-height: 1.2;
	white-space: nowrap;
	transform: translateX(-50%) translateY(-50%);
}

.mainimg-ttl .txt {
  display: block;
  margin-top: 20px;
  font-size: 24px;
  line-height: 1;
}


@media screen and (max-width:720px) {
	.mainimg-ttl {
		font-size: 32px;
    line-height: 1;
	}
  .mainimg-ttl .txt {
    font-size: 16px;
  }
}

@media screen and (max-width:500px) {
	.l-mainimg {
		max-height: none;
	}
	.mainimg-ttl {
		font-size: 11.5942028986vw;
	}
}

/* ==========================================================================
   #message & solution
   ========================================================================== */
.l-top-contents {
	display: table;
	width: 100%;
}

@media screen and (max-width:720px) {
	.l-top-contents {
		display: block;
	}
}

/* # message
   -------------------------------------------------------------------------- */
.l-message {
	display: table-cell;
	width: 50%;
	padding: 200px 80px;
	vertical-align: middle;
	background: url("../images/top/bg_message.jpg") no-repeat;
	background-size: cover;
	background-position: center center;
}

.message-ttl {
	margin-bottom: 40px;
	color: #111;
	font-size: 48px;
	line-height: 1;
}

.message-catch {
	margin-bottom: 40px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.2em;
}

.message-txt {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.2em;
}

.message-link {
	display: inline-block;
	margin-top: 20px;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.2em;
}

@media screen and (max-width:1000px) {
	.l-message {
		padding: 200px 40px;
	}
}

@media screen and (max-width:720px) {
	.l-message {
		display: block;
		width: 100%;
		padding: 80px 40px;
	}
}

@media screen and (max-width:500px) {
	.l-message {
		padding: 80px 15px;
	}
	.message-ttl {
		font-size: 32px;
	}
	.message-catch {
		font-size: 16px;
	}
}

/* # solution
   -------------------------------------------------------------------------- */
.l-solution {
	display: table-cell;
	width: 50%;
	vertical-align: top;
	background-color: #111;
}

.solution-contents {
	padding: 80px;
	color: #fff;
}

.solution-ttl {
	margin-bottom: 40px;
	font-size: 48px;
	line-height: 1;
}

.solution-txt {
	margin-bottom: 40px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0.2em;
}

.solution-link {
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.2em;
}

@media screen and (max-width:1000px) {
	.solution-contents {
		padding: 80px 40px;
	}
}

@media screen and (max-width:720px) {
	.l-solution {
		display: block;
		width: 100%;
	}
}

@media screen and (max-width:500px) {
	.solution-contents {
		padding: 80px 15px;
	}
	.solution-ttl {
		font-size: 32px;
	}
}















