@charset "utf-8";

/*-------------------------
 * メインビジュアル
--------------------------*/
.mv {
	height: calc(680/1600*100vw);
}
.mv_inner {
	position: relative;
	width: 1600px;
	height: 680px;
	background: url(/saiyo/graduates/philosophy/section/images/img_section_header.png) no-repeat center center;
	background-size: 100% 100%;
	transform-origin: left top;
}
.mv_title {
	position: absolute;
	top: calc(50% - 44px);
	left: calc(50% - 180px);
	width: 360px;
}
.mv_title svg {
	max-width: 100%;
	vertical-align: top;
	filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 4px #fff) drop-shadow(0 0 8px #fff) drop-shadow(0 0 20px #fff);
}
.mv_pin {
	position: absolute;
	width: 33px;
	height: 47px;
}
.mv_pin:before, .mv_pin:after {
	position: absolute;
	display: block;
	content: '';
}
.mv_pin:before {
	top: calc(50% - 42.5px);
	left: calc(50% - 35.5px);
	width: 71px;
	height: 85px;
	background: url(/saiyo/graduates/philosophy/section/images/icon_pin.svg) no-repeat;
	background-size: 100% 100%;
}
.mv_pin:after {
	top: -11px;
	left: calc(50% - 8px);
	width: 0;
	height: 0;
	border-width: 14px 8px;
	border-style: solid;
	border-color: rgba(255, 255, 255, 0.95) transparent transparent;
}
.mv_pin span {
	position: absolute;
	display: block;
	top: -50px;
	left: calc(50% - 74.5px);
	width: 149px;
	box-shadow: 0 0 6px 0 rgba(204, 0, 0, 0.25);
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	line-height: 40px;
	letter-spacing: 0.18em;
	background-color: rgba(255, 255, 255, 0.95);
	color: #cf0e0f;
	border-radius: 3px;
}
.mv_pin span:before, .mv_pin span:after {
	position: absolute;
	display: block;
	content: '';
}
.mv_pin span:before {
	top: 14px;
	right: 15px;
	width: 2px;
	height: 14px;
	background-color: #c00;
}
.mv_pin span:after {
	top: 17px;
	right: 11px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #c00;
	border-bottom: 2px solid #c00;
	transform: rotate(45deg);
}
.mv_pin:nth-child(1) {
	top: 575px;
	left: 269px;
}
.mv_pin:nth-child(2) {
	top: 538px;
	left: 1041px;
}
.mv_pin:nth-child(3) {
	top: 172px;
	left: 719px;
}
.mv_pin:nth-child(4) {
	top: 114px;
	left: 1045px;
}
.mv_pin:nth-child(5) {
	top: 414px;
	left: 206px;
}
.mv_pin:nth-child(6) {
	top: 384px;
	left: 551px;
}
.mv_pin:nth-child(7) {
	top: 18px;
	left: 590px;
}
.mv_pin:nth-child(8) {
	top: 259px;
	left: 335px;
}
.mv_pin:nth-child(9) {
	top: 532px;
	left: 593px;
}
.mv_pin:nth-child(10) {
	top: 322px;
	left: 1172px;
}
.mv_pin:nth-child(11) {
	top: 475px;
	left: 1301px;
}
.mv_pin:nth-child(12) {
	top: 142px;
	left: 1277px;
}
.mv_pin:nth-child(6):after, .mv_pin:nth-child(7):after {
	top: 8px;
	left: -2px;
	transform: rotate(-90deg);
}
.mv_pin:nth-child(6) span, .mv_pin:nth-child(7) span {
	top: 2px;
	left: -157px;
}
.mv_pin:nth-child(9) span, .mv_pin:nth-child(11) span {
	padding-right: 10px;
	left: calc(50% - 104.5px);
	width: 209px;
	letter-spacing: 0;
}
.mv_pin:nth-child(12) span {
	left: calc(50% - 94.5px);
	width: 189px;
	letter-spacing: 0;
}
@media only screen and (min-width: 641px) {
	.mv_pin:after {
		transition: border-top-color 0.3s ease;
	}
	.mv_pin span {
		transition: background-color 0.3s ease, color 0.3s ease;
	}
	.mv_pin span:before {
		transition: background-color 0.3s;
	}
	.mv_pin span:after {
		transition: border-right-color 0.3s ease, border-bottom-color 0.3s ease;
	}
	.mv_pin:hover:after {
		border-top-color: #c00;
	}
	.mv_pin:hover span {
		background-color: #c00;
		color: #fff;
	}
	.mv_pin:hover span:before {
		background-color: #fff;
	}
	.mv_pin:hover span:after {
		border-right-color: #fff;
		border-bottom-color: #fff;
	}
}
@media only screen and (max-width: 640px) {
	.mv {
		overflow-x: scroll;
		overflow-y: hidden;
		height: 340px;
	}
	.mv_outer {
		width: 800px;
		height: 340px;
	}
	.mv_inner {
		transform: scale(0.5);
	}
}

/*-------------------------
 * コンテンツ
--------------------------*/
#content {
	box-sizing: border-box;
	padding: 0 20px 120px;
	max-width: 1020px;
	margin-bottom: 0;
}
@media only screen and (max-width: 640px) {
	#content {
		margin: 0;
		padding: 0 20px 60px;
	}
}

/*-------------------------
 * リード文
--------------------------*/
.lead {
	margin-top: 45px;
	font-weight: 700;
	font-size: 1.7143em;
	text-align: center;
	line-height: 1.4167;
	letter-spacing: 0.1em;
}
@media only screen and (max-width: 640px) {
	.lead {
		margin-top: 25px;
		font-size: 1.1429em;
		line-height: 1.4688;
		letter-spacing: 0.05em;
	}
}

/*-------------------------
 * スライダー
--------------------------*/
.section_dots {
	display: flex;
	margin-top: 45px;
	justify-content: center;
}
.section_dot {
	margin: 0 10px;
	width: 10px;
	height: 10px;
	font-size: 0;
	background-color: #d4d4d4;
	border-radius: 50%;
	transition: background-color 0.3s ease;
}
.section_dot.is_active {
	background-color: #c00;
}
.section_slider {
	position: relative;
	margin: 0 auto;
	max-width: calc(100vw - 166px);
}
.section_arrow {
	position: absolute;
	top: 0;
	box-sizing: border-box;
	transition: opacity 0.3s ease;
}
.section_arrow.is_prev:before, .section_arrow.is_next:before {
	position: absolute;
	display: block;
	width: 34px;
	height: 34px;
	content: '';
}
.section_arrow.is_prev:before {
	border-top: 2px solid #c00;
	border-left: 2px solid #c00;
	transform: rotate(-45deg);
	transform-origin: left top;
}
.section_arrow.is_next:before {
	border-top: 2px solid #c00;
	border-right: 2px solid #c00;
	transform: rotate(45deg);
	transform-origin: right top;
}
.section_arrow:not(.is_prev):not(.is_next) {
	opacity: 0;
	pointer-events: none;
}
.section_arrow_img img {
	width: 100%;
	vertical-align: top;
}
.section_arrow_title {
	font-weight: 700;
	font-size: 1.1429em;
}
.section_arrow_subtitle {
	font-size: 0.8571em;
}
.section_nav {
	position: relative;
}
.section_nav_top {
	margin: 70px auto 0;
	max-width: calc(100vw - 166px);
}
.section_nav_top .section_arrow {
	width: 233px;
}
.section_nav_top .section_arrow:before {
	top: 50px;
}
.section_nav_top .section_arrow.is_prev, .section_nav_top .section_arrow:not(.is_active ~ *):not(.is_next) {
	right: auto;
	left: -233px;
	padding: 0 83px 0 0;
}
.section_nav_top .section_arrow.is_prev:before, .section_nav_top .section_arrow:not(.is_active ~ *):not(.is_next):before {
	right: 26px;
}
.section_nav_top .section_arrow.is_next, .section_nav_top .section_arrow.is_active ~ *:not(.is_prev) {
	right: -233px;
	left: auto;
	padding: 0 0 0 83px;
}
.section_nav_top .section_arrow.is_next:before, .section_nav_top .section_arrow.is_active ~ *:not(.is_prev):before {
	left: 26px;
}
.section_nav_top .section_arrow_img {
	margin-bottom: 5px;
}
.section_nav_bottom {
	margin-top: 110px;
	height: 110px;
}
.section_nav_bottom:before, .section_nav_bottom:after {
	position: absolute;
	display: block;
	background-color: #d2d2d2;
	content: '';
}
.section_nav_bottom:before {
	top: -35px;
	left: 0;
	width: 100%;
	height: 1px;
}
.section_nav_bottom:after {
	top: 5px;
	left: calc(50% - 0.5px);
	width: 1px;
	height: 100px;
}
.section_nav_bottom .section_arrow {
	display: flex;
	width: 50%;
	height: 110px;
	color: #222;
	flex-direction: column;
	justify-content: center;
}
.section_nav_bottom .section_arrow:hover {
	text-decoration: none;
}
.section_nav_bottom .section_arrow:before {
	top: 50%;
}
.section_nav_bottom .section_arrow_img {
	position: absolute;
	top: 50%;
	width: 30.6122%;
	transform: translateY(-50%);
}
.section_nav_bottom .section_arrow.is_prev, .section_nav_bottom .section_arrow:not(.is_active ~ *):not(.is_next) {
	right: auto;
	left: 0;
	padding: 0 20px 0 calc(25px + 21.9388%);
	text-align: left;
}
.section_nav_bottom .section_arrow.is_prev:before, .section_nav_bottom .section_arrow:not(.is_active ~ *):not(.is_next):before {
	left: 0;
}
.section_nav_bottom .section_arrow.is_prev .section_arrow_img, .section_nav_bottom .section_arrow:not(.is_active ~ *):not(.is_next) .section_arrow_img {
	left: 14.2857%;
}
.section_nav_bottom .section_arrow.is_next, .section_nav_bottom .section_arrow.is_active ~ *:not(.is_prev) {
	right: 0;
	left: auto;
	padding: 0 calc(25px + 21.9388%) 0 20px;
	text-align: right;
}
.section_nav_bottom .section_arrow.is_next:before, .section_nav_bottom .section_arrow.is_active ~ *:not(.is_prev):before {
	right: 0;
}
.section_nav_bottom .section_arrow.is_next .section_arrow_img, .section_nav_bottom .section_arrow.is_active ~ *:not(.is_prev) .section_arrow_img {
	right: 14.2857%;
}
@media only screen and (min-width: 641px) {
	.section_dots li button {
		transition: opacity 0.3s ease;
	}
	.section_dots li button:hover {
		opacity: 0.7;
	}
	.section_arrow:hover {
		opacity: 0.7;
	}
}
@media only screen and (max-width: 640px) {
	.section_dots {
		margin-top: 20px;
	}
	.section_dot {
		margin: 0 8px;
		width: 8px;
		height: 8px;
	}
	.section_slider {
		max-width: calc(100vw - 96px);
	}
	.section_arrow.is_prev:before, .section_arrow.is_next:before {
		width: 18px;
		height: 18px;
	}
	.section_arrow_img img {
		width: 80px;
	}
	.section_arrow_title {
		margin-top: 10px;
		font-size: 0.8571em;
	}
	.section_arrow_subtitle {
		margin-top: 5px;
		font-size: 0.7143em;
	}
	.section_nav_top {
		margin-top: 35px;
		max-width: calc(100vw - 96px);
	}
	.section_nav_top .section_arrow {
		width: 48px;
		height: 58px;
	}
	.section_nav_top .section_arrow.is_prev:before, .section_nav_top .section_arrow.is_next:before {
		top: 28px;
	}
	.section_nav_top .section_arrow * {
		display: none;
	}
	.section_nav_top .section_arrow.is_prev, .section_nav_top .section_arrow:not(.is_active ~ *):not(.is_next) {
		padding: 0;
		left: -48px;
	}
	.section_nav_top .section_arrow.is_prev:before, .section_nav_top .section_arrow:not(.is_active ~ *):not(.is_next):before {
		right: 18px;
	}
	.section_nav_top .section_arrow.is_next, .section_nav_top .section_arrow.is_active ~ *:not(.is_prev) {
		padding: 0;
		right: -48px;
	}
	.section_nav_top .section_arrow.is_next:before, .section_nav_top .section_arrow.is_active ~ *:not(.is_prev):before {
		left: 18px;
	}
	.section_nav_bottom {
		margin: 75px -20px 0;
		height: 100px;
	}
	.section_nav_bottom:before {
		top: -25px;
	}
	.section_nav_bottom:after {
		content: none;
	}
	.section_nav_bottom .section_arrow {
		height: 100px;
	}
	.section_nav_bottom .section_arrow_img {
		position: static;
		width: auto;
		transform: none;
	}
	.section_nav_bottom .section_arrow.is_prev, .section_nav_bottom .section_arrow:not(.is_active ~ *):not(.is_next) {
		left: 0;
		padding: 0 15px 0 48px;
		text-align: center;
	}
	.section_nav_bottom .section_arrow.is_prev:before, .section_nav_bottom .section_arrow:not(.is_active ~ *):not(.is_next):before {
		left: 15px;
	}
	.section_nav_bottom .section_arrow.is_next, .section_nav_bottom .section_arrow.is_active ~ *:not(.is_prev) {
		right: 0;
		padding: 0 48px 0 15px;
		text-align: center;
	}
	.section_nav_bottom .section_arrow.is_next:before, .section_nav_bottom .section_arrow.is_active ~ *:not(.is_prev):before {
		right: 15px;
	}
}

/*-------------------------
 * その他
--------------------------*/
@media only screen and (min-width: 641px) {
	.sp {
		display: none !important;
	}
}
@media only screen and (max-width: 640px) {
	.pc {
		display: none !important;
	}
}