@charset "utf-8";
.heading.mb0::after {
    display: none;
}
.heading.mb0 figure {
    filter: drop-shadow(0 0 3px #1928494f);
}
.outlineBlock {
    background: url(../img/outline_bg.jpg) no-repeat center top / cover;
    color: #fff;
    padding: 250px 0 120px;
}
@media print, screen and (min-width: 768px) {
	
}
@media screen and (max-width: 767px) {
	.outlineBlock {
		padding: 150px 0 90px;
	}
	.outlineBlock .f23 {
    	font-size: 1.6rem;
  	}
}
/* ------------------------------
 ヒストリー（PC）
------------------------------ */
.historyBlock {
    margin-bottom: 90px;
}
.historyBlock.cms_text ul > li {
	display: flex;
	column-gap: 65px;
	padding-left: 0;
	font-size: 1.7rem;
	margin-bottom: 0;
}
.historyBlock.cms_text ul > li:not(:last-child) {
	padding-bottom: 19px;
}
.historyBlock.cms_text ul > li::before {
	content: none;
}
.historyBlock.cms_text ul > li > .year {
	position: relative;
	width: 160px;
}
.historyBlock.cms_text ul > li > .year::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -33px;
	width: 1px;
	height: calc(100% + 19px);
	background-color: #8cabcf;
}
.historyBlock.cms_text ul > li:first-child > .year::before {
	top: 9px;
}
.historyBlock.cms_text ul > li:last-child > .year::before {
	height: calc(100% - 12px);
}
.historyBlock.cms_text ul > li > .year::after {
	content: "";
	display: block;
	position: absolute;
	top: 9px;
	right: -37px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: #8cabcf;
}
@media print, screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.historyBlock {
		margin-bottom: 70px;
	}
	.historyBlock.cms_text ul > li {
		column-gap: 41px;
		font-size: 1.6rem;
	}
	.historyBlock.cms_text ul > li:not(:last-child) {
		padding-bottom: 14px;
	}
	.historyBlock.cms_text ul > li > .year {
		width: 28%;
    	font-size: 1.3rem;
		line-height: 1.25;
	}
	.historyBlock.cms_text ul > li > .year::before {
		right: -21px;
	}
	.historyBlock.cms_text ul > li > .year::after {
		top: 7px;
		right: -25px;
	}
	.historyBlock.cms_text ul > li:last-child > .year::before {
		height: calc(100% - 20px);
	}
	.time_date {
		width: 72%;
		font-size: 1.4rem;
		line-height: 1.5;
	}
}
/* ------------------------------
 歴代教授（PC）
------------------------------ */
.professorBlock .w1-3 {
	font-size: 2rem;
}
.professorBlock .w1-3 img {
	margin-bottom: 15px;
}
.professorBlock .w2-3 {
	font-size: 1.8rem;
}
.professorBlock ul li {
	margin-bottom: 8px;
}
@media print, screen and (min-width: 768px) {
	.professorBlock .w1-3 {
		font-size: 2rem;
		width: 25%;
	}
	.professorBlock .w2-3 {
		width: 70%;
		font-size: 1.8rem;
	}
	.professorBlock .w2-3 ul {
		display: flex;
		flex-wrap: wrap;
	}
	.professorBlock .w2-3 ul li {
		width: 38%;
	}
}
@media screen and (max-width: 767px) {
	.professorBlock .w1-3 {
		font-size: 1.8rem;
  		text-align: center;
		margin: 0 auto 20px;
	}
	.professorBlock .w1-3 img {
		width: 50%;
		margin: 0 auto 10px;
  		display: block;
	}
	.professorBlock .w2-3 {
		font-size: 1.6rem;
	}
	.professorBlock ul li {
		margin-bottom: 0;
	}
}
/* ------------------------------
 下層リンク（PC）
------------------------------ */
.outlineLink.flexBox {
    padding: 130px 0;
	gap: 45px;
}
.cms_block ul.outlineLink > li::before {
	content: none;
}
.outlineLink > li {
	min-height: 150px;
	padding: 50px !important;
	background-color: #fff;
	width: 546px;
	justify-content: center;
	box-shadow: rgba(0, 0, 0, 0.1) 0 0 20px;
	font-weight: 600;
	line-height: 1.5;
}
.outlineLink .title {
    font-size: 2.9rem;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: solid 1px #c6d5e7;
}
@media print, screen and (min-width: 768px) {
	
}
/* ----------------------
 下層ページリンク（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.outlineLink > li:has(figure):not(:last-child) {
		margin-bottom: 20px;
	}
	.cms_block ul.outlineLink > li {
		width: 100%;
	}
	.outlineLink.flexBox {
		padding: 90px 0;
		gap: 15px;
	}
	.outlineLink > li {
		display: block;
		align-items: center;
		min-height: auto;
		padding: 25px 25px 35px !important;
		width: 100%;
	}
	.outlineLink .title {
		font-size: 2.2rem;
		margin-bottom: 20px;
	}
}
