@charset "utf-8";

/* ---------------------------------------- 
 - main_title
---------------------------------------- */
#main_title {
	width: 100%;
    height: 90vw;
	max-height: 770px;
	overflow: hidden;
	position: relative;
	margin-bottom: 70px;
}
#main_title .bg {
	width: 100%;
    height: 100%;
}
#main_title .bg img,
#main_title .bg picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
#main_title .ttl {
	position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
    text-align: center;
    width: 94%;
    max-width: 1000px;
	font-size: 6.0rem;
	line-height: 1.4;
	font-weight: bold;
	color:#fff;
}
@media screen and (max-width: 768px) {
	#main_title {
		height: 108vw;
    	max-height: 108vw;
		margin-bottom: 40px;
	}
	#main_title .ttl {
		font-size: clamp(3.0rem, 5vw, 6.0rem);
		top: 10vw;
	}
}

/* ---------------------------------------- 
 - campus_intro
---------------------------------------- */
#campus_intro {
	margin-bottom: 100px;
}
#campus_intro .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 70px;
	display: flex;
	justify-content: space-between;
}
#campus_intro .inner .lead {
	width: 41.7%;
}
#campus_intro .inner ul.visual_list {
	width: 54.7%;
	display: flex;
	justify-content: space-between;
}
#campus_intro .inner ul.visual_list li {
	width: calc(50% - 10px);
}
#campus_intro .inner ul.visual_list li img,
#campus_intro .inner ul.visual_list li picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
#campus_intro .campus_visual {
	width: 100%;
	max-width: 1200px;	
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	#campus_intro {
		margin-bottom: 50px;
	}
	#campus_intro .inner {
		margin-bottom: 40px;
		display: block;
	}
	#campus_intro .inner .lead {
		width: 100%;
	}
	#campus_intro .inner ul.visual_list {
		width: 100%;
		margin-top: 30px;
	}
	#campus_intro .inner ul.visual_list li {
		width: calc(50% - 2%);
	}
}

/* ---------------------------------------- 
 - learning_commons
---------------------------------------- */
#learning_commons {
	padding-bottom: 100px;
	border-bottom: solid 15px #e9e9e9;
}
#learning_commons .inner {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
#learning_commons .inner .catch {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.6;
	color: #195ffb;
	text-align: center;
	margin-bottom: 0.8em;
}
#learning_commons .inner ul.visual_list {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
#learning_commons .inner ul.visual_list li {
	width: calc(50% - 10px);
}
#learning_commons .inner ul.visual_list li img,
#learning_commons .inner ul.visual_list li picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover';
}
@media screen and (max-width: 768px) {
	#learning_commons {
		padding-bottom: 60px;
		border-width: 10px;
	}
	#learning_commons .inner .catch {
		font-size: 2.4rem;
	}
	#learning_commons .inner ul.visual_list {
		margin-top: 30px;
	}
	#learning_commons .inner ul.visual_list li {
		width: calc(50% - 2%);
	}
}

/* ---------------------------------------- 
 - home_btn（共通）
---------------------------------------- */
.home_btn{
	width: 80%;
	margin: 95px auto 0;
	text-align: center;
}
.home_btn a{
	padding-left: 35px;
	padding-right: 25px;	
}
.home_btn a::before{
	right: auto;
	left: 25px;
}
.home_btn a::after{
	right: auto;
	left: 30px;
	transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
	.home_btn{
		margin-top: 12vw;
	}
	.home_btn a{
		padding-left: 25px;
		padding-right: 15px;
	}
}

/* ---------------------------------------- 
 - request（共通）
---------------------------------------- */
#request {
	width: 100%;
	margin: 95px auto;
    position: relative;
	text-align: center;
}
#request .btn a{
	display: inline-block;
	position: relative;
    transition: .3s;
	text-decoration: none;
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 110px;
	height: 110px;
	width: 80%;
	max-width: 450px;
	padding: 0 2%;
	margin-left: auto;
	box-sizing: border-box;
	background: #195ffb;
	color:#fff;
	text-align: center;
	z-index: 2;
}
#request .btn a:hover{
	opacity: 0.7;
}
#request .btn a span{
	position: relative;
	display: inline-block;
	padding-left: 50px;
}
#request .btn a span::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	width: 31px;
	height: 24px;
	background-image: url("../images/common/ico_request_wht.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
@media screen and (max-width: 1000px) {
	#request .btn a{
		font-size: 2.8vw;
	}
	#request .btn a span{
		padding-left: 35px;
	}
	#request .btn a span::before{
		width: 22px;
		height: 17px;
	}
}
@media screen and (max-width: 768px) {
	#request {
		margin: 12vw auto;
		height: auto;
	}
	#request .btn {
		display: block;
	}
	#request .btn a{
		font-size: 4.4vw;
		line-height: 100px;
		height: 100px;
		width: 80%;
	}
	#request .btn a span{
		padding-left: 50px;
	}
	#request .btn a span::before{
		width: 31px;
		height: 24px;
	}
}
@media screen and (max-width: 768px) {
	#request .btn a{
		font-size: 4.8vw;
		line-height: 70px;
		height: 70px;
	}
	#request .btn a span{
		padding-left: 40px;
	}
	#request .btn a span::before{
		width: 24px;
    	height: 18px;
	}
}