@charset "utf-8";

/* ==========================================================================
   .page-topmessage-idx
   ========================================================================== */
.text-l {
	font-weight: bold;
	font-size: 3.0rem;
	line-height: 2;
	letter-spacing: 0.25em;
	text-align: left;
}

@media only screen and (max-width: 768px) {
	.text-l {
		font-size: 1.8rem;
		line-height: 1.55;
		letter-spacing: 0;
		text-align: center;
	}
}

/* ------------------------------
 * .mv
 * ------------------------------ */
#topmessage .mv {
	width: 100%;
	height: 570px;
	margin: 200px 0 0 0;
	background: url("/gradu/topmessage/img/idx/mv_img01-pc.jpg") no-repeat center right / contain;
	position: relative;
}

#topmessage .mv_front {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#topmessage .mv_front .lyt-inner {
	height: 100%;
	position: relative;
}

#topmessage .pageTitle {
	position: absolute;
	top: 50px;
	left: 0;
}

#topmessage .mv_copy {
	font-weight: bold;
	color: #000;
	font-size: 4.4rem;
	line-height: 1.8;
	letter-spacing: 0.3em;
	position: absolute;
	bottom: 240px;
	left: 0;
}

#topmessage .mv_text-01 {
	width: 140px;
	position: absolute;
	bottom: 100px;
	left: 0;
}

@media only screen and (max-width: 768px) {
	#topmessage .mv  {
		height: 420px;
		background: url("/gradu/topmessage/img/idx/mv_img01-sp.jpg") no-repeat center center / cover;
		margin: 0 0 0 0;
	}

	#topmessage .pageTitle {
		top: 100px;
		left: 0;
	}

	#topmessage .mv_copy {
		font-size: 2.2rem;
		line-height: 1.8;
		text-align: center;
		margin: 55px 0 0 0;
		position: relative;
		top: 0;
		bottom: 0;
	}

	#topmessage .mv_text-01 {
		width: 130px;
		bottom: 200px;
		left: 0;
	}
}

/* ------------------------------
 * #topmessage
 * ------------------------------ */
#topmessage .sec_body {
	padding: 0 0 150px 0;
}

#topmessage .lyt-inner {
	position: relative;
}

#topmessage .text-l + .text {
	margin-top: 45px;
}

#topmessage .sec_block-01 {
	margin: 140px auto 0 auto;
}

#topmessage .sec_block-01 .sec_text {
	width: calc(600/1300 * 100vw);
	min-width: 600px;
	margin: 0 auto;
}

#topmessage .sec_block-02 {
	margin: 140px auto 0 auto;
	position: relative;
}

#topmessage .sec_block-02 .sec_text {
	width: calc(600/1300 * 100vw);
	min-width: 600px;
	text-align: right;
	position: absolute;
	top: 100px;
	right: 0;
}

#topmessage .sec_block-02 .text-l {
	display: inline-block;
}

#topmessage .sec_block-02 .sec_img {
	width: calc(640/1300 * 100vw);
	min-width: 640px;
	margin: 0 0 0 calc(150/1300 * -100vw);
}

#topmessage .sec_block-03 {
	margin: 390px auto 0 auto;
	position: relative;
}

#topmessage .sec_block-03 .sec_text {
	width: calc(450/1300 * 100vw);
	min-width: 450px;
	position: absolute;
	top: -240px;
	left: calc(100/1300 * 100vw);
}

#topmessage .sec_block-03 .sec_img {
	width: calc(450/1300 * 100vw);
	min-width: 450px;
	margin: 0 calc(95/1300 * 100vw) 0 auto;
}

@media only screen and (max-width: 768px) {
	#topmessage .sec_body {
		padding: 0 0 40px 0;
	}

	#topmessage .text-l + .text {
		margin-top: 25px;
	}

	#topmessage .sec_block-01 {
		margin: 45px auto 0 auto;
	}

	#topmessage .sec_block-01 .sec_text {
		width: 100%;
		min-width: 100%;
		margin: 0 auto;
	}

	#topmessage .sec_block-02 {
		margin: 40px auto 0 auto;
	}

	#topmessage .sec_block-02 .sec_text {
		width: 100%;
		min-width: 100%;
		text-align: center;
		margin: 35px 0 0 0;
		position: relative;
		top: 0;
		right: 0;
	}

	#topmessage .sec_block-02 .text-l {
		display: block;
	}

	#topmessage .sec_block-02 .sec_img {
		width: 100vw;
		min-width: 100vw;
		margin: 0 0 0 calc(24/320 * -100vw);
	}

	#topmessage .sec_block-03 {
		margin: 40px auto 0 auto;
	}

	#topmessage .sec_block-03 .sec_text {
		width: 100%;
		min-width: 100%;
		margin: 35px 0 0 0;
		position: relative;
		top: 0;
		left: 0;
	}

	#topmessage .sec_block-03 .sec_img {
		width: 100vw;
		min-width: 100vw;
		margin: 0 0 0 calc(24/320 * -100vw);
	}

}