@charset "UTF-8";

/* カリキュラム等ページ css */
.main .main_image {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 15px;
	border-top: 1px solid #4d4d4d;
	padding-bottom: 315px;
	background-image: url(../img/curriculum/subbar_curriculum.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

@media screen and (max-width: 1060px) {
	.main .main_image {
		padding-bottom: clamp(131px, calc(314 / 768 * 100vw), 432px);
		background-image: url(../img/curriculum/768_subbar_curriculum.png);
	}
}

/* 本文 */
.main p.info_2023 {
	font-size: 16px;
	font-weight: 500;
	color: #870000;
	text-align: center;
	line-height: 1.0;
	margin-bottom: 18px;
	padding: 0 20px;
}

.main .contents_wrap {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-bottom: 150px;
}

.main .contents_wrap:last-child {
	margin-bottom: 130px;
}

.main .contents_wrap h4 {
	font-size: 28px;
	font-family: 'Zen Kaku Gothic Antique', sans-serif;
	font-weight: 500;
	color: #42210b;
	text-align: center;
	border-top: 5px solid #faaf3b;
	border-bottom: none;
	margin: 0 0 65px 0;
	padding: 15px 0;
	background-image: linear-gradient(-45deg, #fdfdf5, #fdfdf5 35%, #ffffff 35%, #ffffff 45%, #fdfdf5 45%, #fdfdf5 80%, #ffffff 80%, #ffffff 90%, #fdfdf5);
	background-size: 10px 10px;
}

.main .contents_wrap h4 span {
	font-size: 18px;
}

@media screen and (max-width: 767px) {
	.main .contents_wrap {
		margin-bottom: clamp(70px, calc(150 / 767 * 100vw), 150px);
	}

	.main .contents_wrap:last-child {
		margin-bottom: clamp(70px, calc(130 / 767 * 100vw), 130px);
	}
}

/* カリキュラム */
.main .curriculum {
	text-align: center;
}

.main .curriculum > div {
	width: 1240px;
	margin: 0 auto 60px auto;
}

.main .curriculum > div h5 {
	font-size: 24px;
	font-weight: 500;
	color: #1a1a1a;
	border-bottom: none;
	margin: 0;
	padding: 15px 0;
}

.main .curriculum > div.subject_1st_year h5 {
	background-color: #ffd2cf;
}

.main .curriculum > div.subject_2nd_year h5 {
	background-color: #ffe2b3;
}

.main .curriculum > div.subject_3rd_year h5 {
	background-color: #b9eadc;
}

.main .curriculum > div.subject_4th_year h5 {
	background-color: #daf4c3;
}

.main .curriculum .flex_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 5px 0 0 0;
}

.main .curriculum > div.subject_1st_year .flex_box {
	padding: 20px 0 0 0;
}

.main .curriculum .flex_box > div > div {
	width: 280px;
}

.main .curriculum .flex_box p {
	line-height: 1.0;
	text-align: left;
	margin-bottom: 15px;
}

.main .curriculum .flex_box h6 {
	font-size: 18px;
	font-weight: 500;
	color: #1a1a1a;
	border-bottom: none;
	margin: 0 0 20px 0;
	padding: 7px 0;
}

.main .box_wrap_left,
.main .box_wrap_right {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 600px;
}

.main .curriculum .flex_box > div + div,
.main .box_wrap_left > div + div,
.main .box_wrap_right > div + div {
	position: relative;
}

.main .curriculum .flex_box > div + div:after,
.main .box_wrap_left > div + div:after,
.main .box_wrap_right > div + div:after {
	content: "";
	width: 1px;
	height: 100%;
	background-color: #cbcbcb;
	position: absolute;
	top: 0;
	left: -20px;;
}

.main .box_1st h6 {
	background-color: #efe5d3;
}

.main .box_2nd h6 {
	background-color: #d7f2e2;
}

.main .box_3rd h6 {
	background-color: #cae9ed;
}

.main .box_4th h6 {
	background-color: #d4c5dd;
}

.main .curriculum > div.subject_1st_year .flex_box .last_cont {
	margin-bottom: 25px;
}

.main .curriculum > div.subject_1st_year .flex_box .box_1st h6:nth-of-type(1) {
	background-color: #ffe2b3;
}

.main .curriculum > div.subject_1st_year .flex_box .box_2nd h6:nth-of-type(1) {
	background-color: #f7f3a6;
}

.main .curriculum > div.subject_1st_year .flex_box .box_2nd h6:nth-of-type(2) {
	background-color: #efe5d3;
}

.main .curriculum > div.subject_1st_year .flex_box .box_3rd h6:nth-of-type(1) {
	background-color: #d7f2e2;
}

.main .curriculum > div.subject_1st_year .flex_box .box_3rd h6:nth-of-type(2) {
	background-color: #cae9ed;
}

.main .curriculum > div.subject_1st_year .flex_box .box_4th h6:nth-of-type(1) {
	background-color: #d4c5dd;
}

.main .curriculum > div.subject_1st_year .flex_box .box_4th h6:nth-of-type(2) {
	background-color: #ffffff;
}

.main .long_sentence {
	text-indent: -15rem;
	margin-left: 15rem;
}

.main .curriculum_info {
	border-top: 1px solid #cbcbcb;
	border-bottom: 1px solid #cbcbcb;
	padding: 23px 0;
	margin-bottom: 60px;
}

.main .curriculum_info p {
	font-size: 17px;
	text-align: left;
	margin-bottom: 0;
}

.main .curriculum_info p:last-child {
	margin-bottom: 0;
}

.main .curriculum button {
	width: 385px;
}

@media screen and (max-width: 1280px) {
	.main .curriculum > div {
		width: clamp(616px, calc(616px + 624 * ((100vw - 768px) / 512)), 1240px);
		margin-bottom: clamp(40px, calc(60 / 1280 * 100vw), 60px);
	}

	.main .curriculum > h4 {
		margin-bottom: clamp(60px, calc(65 / 1280 * 100vw), 65px);
	}

	.main .box_wrap_left,
	.main .box_wrap_right {
		width: clamp(308px, calc(308px + 292 * ((100vw - 768px) / 512)), 600px);
		align-content: flex-start;
	}

	.main .box_wrap_left {
		padding-right: 15px;
	}

	.main .box_wrap_right {
		padding-left: 15px;
	}

	.main .curriculum .flex_box > div > div {
		width: 100%;
		margin-right: 0;
	}

	.main .curriculum > div.subject_2nd_year .box_1st,
	.main .curriculum > div.subject_2nd_year .box_3rd,
	.main .curriculum > div.subject_3rd_year .box_1st,
	.main .curriculum > div.subject_3rd_year .box_3rd,
	.main .curriculum > div.subject_4th_year .box_1st,
	.main .curriculum > div.subject_4th_year .box_3rd {
		margin-bottom: 5px;
	}

	.main .box_wrap_left > div + div:after,
	.main .box_wrap_right > div + div:after {
		display: none;
	}

	.main .curriculum .flex_box > div + div:after {
		left: calc(0px - 18 * ((100vw - 650px) / 630));
	}
}

@media screen and (max-width: 650px) {
	.main .curriculum > div {
		width: clamp(280px, calc(280px + 336 * ((100vw - 320px) / 330)), 616px);
	}

	.main .curriculum .flex_box {
		justify-content: center;
	}
}

@media screen and (max-width: 649px) {
	.main .curriculum .flex_box > div + div:after {
		display: none;
	}

	.main .curriculum > div.subject_2nd_year .box_2nd,
	.main .curriculum > div.subject_3rd_year .box_2nd,
	.main .curriculum > div.subject_4th_year .box_2nd {
		margin-bottom: 5px;
	}

	.main .box_wrap_left {
		width: 100%;
		padding-right: 0;
	}

	.main .box_wrap_right {
		width: 100%;
		padding-left: 0;
	}
}

@media screen and (max-width: 480px) {
	.main .curriculum button {
		width: clamp(280px, calc(385 / 480 * 100vw), 385px);
	}
}

/* 履修モデル */
.main .course_model {
	text-align: center;
}

.main .course_model p {
	line-height: 1.0;
	padding: 0 0 60px 0;
}

.main .course_model button {
	width: 385px;
}

@media screen and (max-width: 1280px) {
	.main .course_model > h4 {
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 480px) {
	.main .course_model button {
		width: clamp(280px, calc(385 / 480 * 100vw), 385px);
	}
}

/* 特色のある開講科目 */
.main .courses_offered > div.flex_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 1240px;
	margin: 0 auto;
}

.main .courses_offered > div.flex_box .flex_cont {
	width: 380px;
	margin-bottom: 50px;
	padding-bottom: 80px;
	border-bottom: 1px solid #b2b2b2;
}

.main .courses_offered > div.flex_box .flex_cont:nth-of-type(n + 10) {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.main .courses_offered .flex_cont h5 {
	font-size: 24px;
	font-weight: 500;
	color: #1a1a1a;
	line-height: 1.0;
	border-bottom: none;
	margin: 0 0 15px 0;
	padding: 22px 0 22px 20px;
	position: relative;
}

.main .courses_offered .flex_cont h5:before {
	content: "";
	width: 8px;
	height: 68px;
	background-image: linear-gradient(90deg, #fc8b3f, #fc8b3f 62.5%, #d8df21 62.5%, #d8df21);
	position: absolute;
	top: 0;
	left: 0;
}

.main .courses_offered .flex_cont p {
	margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
	.main .courses_offered > div.flex_box {
		width: clamp(536px, calc(400px + 840 * ((100vw - 769px) / 513)), 1240px);
		justify-content: center;
		column-gap: calc(20px + 30 * ((100vw - 769px) / 513));
	}

	.main .courses_offered > div.flex_box .flex_cont {
		padding-bottom: 50px;
	}

	.main .courses_offered > div.flex_box .flex_cont:nth-of-type(9) {
		margin-bottom: 50px;
		padding-bottom: 0;
		border-bottom: none;
	}

	.main .courses_offered > div.flex_box .flex_cont:nth-of-type(10) {
		margin-bottom: 50px;
	}

	.main .courses_offered > div.flex_box .flex_cont:nth-of-type(n + 11) {
		width: clamp(248px, calc(248px + 132 * ((100vw - 769px) / 513)), 380px);
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
}

@media screen and (max-width: 1009px) {
	.main .courses_offered > div.flex_box {
		width: 536px;
	}

	.main .courses_offered > div.flex_box .flex_cont:nth-of-type(n + 11) {
		width: 248px;
	}
}

@media screen and (max-width: 767px) {
	.main .courses_offered .flex_cont h5 {
		font-size: clamp(20px, calc(24 / 767 * 100vw), 24px);
	}

	.main .courses_offered > div.flex_box {
		width: clamp(280px, calc(536 / 767 * 100vw), 536px);
	}

	.main .courses_offered > div.flex_box .flex_cont:nth-of-type(11) {
		margin-bottom: 10px;
	}
}

/* 卒業研究テーマ紹介 */
.main .graduation_research .soturon_cont {
	width: 920px;
	margin: 0 auto;
}

.main .graduation_research dl.flex_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 0;
	border-top: 1px solid #cbcbcb;
	position: relative;
}

.main .graduation_research dl.flex_box:before {
	content: "";
	width: 280px;
	height: 3px;
	background-color: #e26814;
	position: absolute;
	top: 0;
	left: 0;
}

.main .graduation_research dl.flex_box:last-of-type {
	border-bottom: 1px solid #cbcbcb;
	margin-bottom: 25px;
	position: relative;
}

.main .graduation_research dl.flex_box:last-of-type:after {
	content: "";
	width: 280px;
	height: 3px;
	background-color: #e26814;
	position: absolute;
	bottom: -4px;
	left: 0;
}

.main .graduation_research dl.flex_box dt {
	width: 280px;
	padding-left: 13px;
}

.main .graduation_research dl.flex_box dt p.name {
	font-size: 21px;
	font-weight: 500;
	color: #1a1a1a;
	line-height: 1.0;
	margin-bottom: 10px;
}

.main .graduation_research dl.flex_box dt p.labo {
	font-size: 16px;
	font-weight: 500;
	color: #1a1a1a;
	line-height: 1.0;
	margin-bottom: 0;
}

.main .graduation_research dl.flex_box dd {
	padding: 23px 0;
}

.main .graduation_research dl.flex_box dd p {
	text-indent: -15px;
	margin-left: 15px;
	margin-bottom: 0;
}

.main .graduation_research dl.flex_box dd p:nth-of-type(1) {
	margin-bottom: 1px;
}

.main .graduation_research dl.flex_box dd p span {
	margin-left: 15px;
	position: relative;
}

.main .graduation_research dl.flex_box dd p span:before {
	content: "\f111";
	font-size: 9px;
	font-family: "fontawesome";
	color: #d8df21;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.main .graduation_research .soturon_cont > p {
	line-height: 1.0;
	text-align: right;
	margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
	.main .graduation_research > h4 {
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 980px) {
	.main .graduation_research .soturon_cont {
		width: calc(454px + 466 * ((100vw - 768px) / 212));
	}

	.main .graduation_research dl.flex_box dt {
		width: 100%;
		padding-top: 35px;
	}

	.main .graduation_research dl.flex_box dt p.name {
		margin-bottom: 8px;
	}

	.main .graduation_research dl.flex_box dd {
		width: 100%;
		padding: 23px 0 28px 13px;
		margin-left: 0;
	}

	.main .graduation_research dl.flex_box dd p {
		line-height: 1.7;
	}

	.main .graduation_research dl.flex_box dd p:nth-of-type(1) {
		margin-bottom: 0;
	}

	.main .graduation_research .soturon_cont > p {
		width: 334px;
		font-size: 16px;
		line-height: 1.4;
		text-align: left;
		text-indent: -1rem;
		margin-left: auto;
	}

	.main .graduation_research dl.flex_box dd p br {
		display: none;
	}

	.main .graduation_research dl.flex_box:nth-of-type(2) dd p br,
	.main .graduation_research dl.flex_box:nth-of-type(3) dd p br,
	.main .graduation_research dl.flex_box:nth-of-type(9) dd p br,
	.main .graduation_research dl.flex_box:nth-of-type(10) dd p br,
	.main .graduation_research dl.flex_box:nth-of-type(11) dd p br {
		display: none;
	}

}

@media screen and (max-width: 767px) {
	.main .graduation_research .soturon_cont {
		width: calc(280px + 174 * ((100vw - 320px) / 447));
	}
}

@media screen and (max-width: 480px) {
	.main .graduation_research .soturon_cont > p {
		width: clamp(280px, calc(334 / 480 * 100vw), 334px);
	}
}

/* 印刷設定 */
@media print {
	body #container .main_image {
		width: 1500px;
		margin-left: calc(50% - 750px);
		background-image: url(../img/curriculum/subbar_curriculum.png) !important;
	}

	body #container .contents_wrap {
		width: 1500px;
		margin-left: calc(50% - 750px);
	}

	body #container .contents_wrap h4 {
		font-size: 28px;
		color: #42210b;
		border-top: 5px solid #faaf3b;
		margin: 0 0 65px 0;
		padding: 15px 0;
		background-image: linear-gradient(-45deg, #fdfdf5, #fdfdf5 35%, #ffffff 35%, #ffffff 45%, #fdfdf5 45%, #fdfdf5 80%, #ffffff 80%, #ffffff 90%, #fdfdf5) !important;
	}

	body #container .curriculum > div {
		width: 1000px;
	}

	body #container .box_wrap_left,
	body #container .box_wrap_right {
		width: 490px;
	}

	body #container .curriculum .flex_box > div > div {
		width: 235px;
	}

	body #container .curriculum > div h5 {
		font-size: 24px;
		margin: 0;
		padding: 15px 0;
	}

	body #container .curriculum > div.subject_1st_year h5 {
		background-color: #ffd2cf !important;
	}

	body #container .curriculum > div.subject_2nd_year h5 {
		background-color: #ffe2b3 !important;
	}

	body #container .curriculum > div.subject_3rd_year h5 {
		background-color: #b9eadc !important;
	}

	body #container .curriculum > div.subject_4th_year h5 {
		background-color: #daf4c3 !important;
	}

	body #container .curriculum .flex_box h6 {
		font-size: 18px;
		margin: 0 0 20px 0;
		padding: 7px 0;
	}

	body #container .box_1st h6 {
		background-color: #efe5d3 !important;
	}

	body #container .box_2nd h6 {
		background-color: #d7f2e2 !important;
	}

	body #container .box_3rd h6 {
		background-color: #cae9ed !important;
	}

	body #container .box_4th h6 {
		background-color: #d4c5dd !important;
	}

	body #container .curriculum .flex_box > div + div:after,
	body #container .box_wrap_left > div + div:after,
	body #container .box_wrap_right > div + div:after {
		left: -10px;
	}

	body #container .long_sentence {
		text-indent: -12.2rem;
		margin-left: 12.2rem;
	}

	body #container .courses_offered > div.flex_box {
		width: 1000px;
	}

	body #container .courses_offered .flex_cont h5 {
		font-size: 24px;
		margin: 0 0 15px 0;
		padding: 22px 0 22px 20px;
	}

	body #container .courses_offered .flex_cont:nth-of-type(4) h5 {
		padding: 10px 0 10px 20px;
	}

	body #container .courses_offered > div.flex_box .flex_cont {
		width: 320px;
	}
}
