@charset "utf-8";

.univMainWrap {
	overflow: hidden;
}

/* First View
----------------------------------------- */
.firstView {
	grid-gap: min(var(--sp-9px), 15px);
	padding-bottom: min(var(--sp-20px), 50px);
	text-shadow: 0px 2px 3px var(--bg-color), 0px -2px 3px var(--bg-color), 2px 0px 3px var(--bg-color), -2px 0px 3px var(--bg-color);
	background-color: var(--bg-color);
	--bg-color: #fff7f4;
}
.firstView:not(.mainUniv)::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	z-index: -2;
	width: min(40vw, 430px);
	height: 100%;
	background: linear-gradient(to right, var(--bg-color) 0 var(--sp-10px), rgba(0, 0, 0, 0) var(--sp-60px)), var(--bg-img) 50% 0 / auto 100% no-repeat;
}
.firstView h1 {
	grid-gap: min(var(--sp-7px), 15px);
	font: 700 clamp(2.2rem, 6.8vw, 4.7rem) / 1.25 var(--fontFamily-yugo-yakuhan);
}
.firstView .sub p {
	color: var(--color-red);
	font-size: clamp(1.3rem, var(--sp-15px), 2.5rem);
	font-family: var(--fontFamily-sans-yakuhan);
	line-height: 1.2;
}
.firstView .subTop {
	margin-bottom: min(var(--sp-3px), 10px);
	font-size: clamp(1.5rem, var(--sp-17px), 2.8rem);
}
.firstView .sub {
	justify-self: start;
	padding-bottom: 0.1em;
	width: auto;
	text-shadow: none;
	font: 600 clamp(1.7rem, var(--sp-20px), 3.6rem) / 1.2 var(--fontFamily-yumin-yakuhan);
	background: linear-gradient(to top, #fffd78 33%, rgba(0, 0, 0, 0) 0);
}
.firstView .main span {
	color: #d30404;
}
.firstView p.sourceTxt {
	position: absolute;
	right: 5px;
	bottom: 5px;
	padding: min(var(--sp-3px), 5px) min(var(--sp-5px), 10px);
	width: min(var(--sp-130px), 390px);
	color: #666;
	word-break: break-all;
	font-size: min(var(--sp-7px), 1.1rem);
	font-weight: 400;
	line-height: 1.2;
	text-shadow: none;
	background: rgba(255, 255, 255, 0.7);
}
@media not screen and (max-width: 834px) {
	.firstView {
		min-height: 380px;
	}
	.firstView:not(.mainUniv):after {
		right: auto;
		left: calc(50% + 130px);
		width: 430px;
		background: var(--bg-img) 50% 0 / auto 100% no-repeat;
	}
	.firstView p.sourceTxt {
		right: calc(50% - 540px);
		width: 390px;
	}
}

#fv_voice.univPass .quick_news_list_photo {
	margin-inline: auto;
}

.aboutH2Ttl.center h2 .main {
	color: var(--text-red);
	margin-bottom: min(var(--sp-8px), 10px);
}
.aboutH2Ttl.center h2 .sub {
	color: #111;
}
.aboutH2Ttl.left h2 {
	@media screen and (max-width: 834px) {
		text-align: left !important;
	}
}
#univ .aboutH2Ttl {
	--position: 690px;
	& h2 {
		display: inline;
		& span {
			display: block;
		}
	}
}
#univ .aboutH2Ttl.center::before,
#univ .aboutH2Ttl.center::after {
	background-size: 100%;
	--img-height: 225px;
}
#univ .aboutH2Ttl.center::before {
	background-image: url(/koukousei/site_wp/wp-content/themes/site/images/univ/pointTtl_l_sp.png.webp);
	--img-width: 250px;
}
#univ .aboutH2Ttl.center::after {
	background-position-x: 0;
	background-image: url(/koukousei/site_wp/wp-content/themes/site/images/univ/pointTtl_r_sp.png.webp);
	--img-width: 260px;
}
@media screen and (max-width: 834px) {
	#univ .aboutH2Ttl.center::before {
		background-position-y: var(--sp-5px);
	}
}
@media not screen and (max-width: 834px) {
	#univ .aboutH2Ttl.center::before,
	#univ .aboutH2Ttl.center::after {
		width: var(--img-width);
		height: var(--img-height);
	}
	#univ .aboutH2Ttl.center::before {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/univ/pointTtl_l.png.webp);
	}
	#univ .aboutH2Ttl.center::after {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/univ/pointTtl_r.png.webp);
	}
}

/* 早稲田などの主要大学
----------------------------------------- */
.firstView.mainUniv {
	background: none;
	overflow: hidden;
}
.firstView.mainUniv::before,
.firstView.mainUniv::after {
	position: absolute;
	top: 0;
	z-index: -2;
	height: 100%;
}
.firstView.mainUniv::after {
	content: '';
	width: min(100vw, 909px);
	background: var(--bg-img) 100% 100% / calc(100% - var(--paddingInline)) auto no-repeat;
}
@media screen and (max-width: 834px) {
	.firstView.mainUniv {
		padding-bottom: min(var(--sp-100px), 200px);
	}
	.firstView.mainUniv::after {
		right: 0;
	}
}
@media not screen and (max-width: 834px) {
	.firstView.mainUniv {
		background-color: #f4f3f1;
	}
	.firstView.mainUniv::before {
		content: '';
		transform: skewX(19.5deg);
		left: calc(50% - 650px);
		z-index: -1;
		width: 660px;
		height: 380px;
		background-color: #fff;
	}
	.firstView.mainUniv::after {
		left: calc(50% - 220px);
		background-size: auto 100%;
	}
}

/* 中間CTA用
----------------------------------------- */
.univInCta_TxtWrap {
	text-align: center;
	font: inherit;
	padding: 0;
	margin: 10px auto;
}
.mainTxt {
	display: grid;
	text-align: center;
	place-items: center;
	row-gap: min(var(--sp-10px), 10px);
	font: 900 min(var(--sp-26px), 4.6rem) / 1.3 var(--fontFamily-sans-noto);
	color: #d20000;
}
.subTxt {
	display: block;
	text-align: center;
	margin-top: 10px;
	font: 700 var(--h3-sizeAuto) / 1.3 var(--fontFamily-sans-yakuhan);
	color: #000;
}
.subTxt span {
	color: #d20000;
}
.univInCta_Tel {
	width: 880px;
	margin: 0 auto;
	overflow: visible;
}
.univInCta_Tel .footerTelCont_brn {
	width: calc(100% - 130px);
}
.univInCta_Tel .footerTelCont_brn p {
	font-size: min(var(--sp-17px), 1.8rem);
}
.univInCta_Tel .footerTel_cont::after {
	width: 130px;
}
/* NHK
----------------------------------------- */
.nhkCont {
	border: 3px #000 solid;
	max-width: calc(100% - 80px);
	margin: 20px auto 40px;
	padding: 20px;
	position: relative;
	color: #000;
}
.txtAndimg {
	display: flex;
	margin-top: 20px;
}
.nhkCont_ttl {
	color: #000;
	font: 700 var(--h3-sizeAuto) / 1.3 var(--fontFamily-sans-yakuhan);
	font-feature-settings: 'palt';
}
.under768-over481 {
	display: none;
}
#lower_container .nhkCont_txt {
	margin-bottom: 0;
}
.nhkCont_img {
	flex-shrink: 0;
	width: 370px;
	margin-left: 20px;
}
.nhkCont_img img {
	width: 100%;
	border: 1px solid #888;
}
.nhkCont_img span {
	display: block;
	font-size: 14px;
	margin-top: -5px;
	text-align: center;
	line-height: 1.4;
}
@media screen and (max-width: 834px) {
	.nhkCont {
		max-width: 100%;
		margin-bottom: 3.33vw;
		padding: 3vw;
	}
	.txtAndimg {
		display: block;
	}
	.nhkCont_img {
		margin: 0 auto;
		margin-top: 2.133vw;
		width: 100%;
	}
	.univInCta_Tel {
		width: 100%;
		display: grid;
		place-content: start center;
		grid-template-columns: min(100%, 1120px);
		margin-block: min(var(--sp-40px), 45px) min(var(--sp-20px), 30px);
		padding-inline: 20px;
		row-gap: clamp(10px, var(--sp-10px), 30px);
	}
	.univInCta_Tel .footerTelCont_brn {
		width: 100%;
	}
	.univInCta_Tel .footerTel_cont::after {
		width: 17.273vw;
	}
}
@media screen and (max-width: 768px) {
	.usp_contents {
		width: 100%;
		float: none;
		margin: 0 0 30px 0;
	}
	.example_ttl {
		font-size: 2.4rem;
		line-height: 1.3;
		padding: 0 0 0 20px;
		margin-bottom: 7px;
	}
	.example_ttl::after {
		top: 50%;
		height: calc(85%);
	}

	#lower_container .example_subttl {
		font-size: 2rem;
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 600px) {
	.univInCta_Tel .footerTelCont_brn {
		width: calc(var(--sp-1px) * 210);
	}
	.univInCta_Tel .footerTel_cont::after {
		width: var(--sp-122px);
	}
}

/*-------------------------
CTA手前体験記スライダー
---------------------------*/

#pass.under_pass {
	position: relative;
	overflow: hidden;
}
#pass.under_pass::before,
#pass::after {
	content: '';
	position: absolute;
	top: 0;
	z-index: 0;
	height: 290px;
	background: 0 0 no-repeat;
	background-size: contain;
}
#pass.under_pass::before,
#pass.under_pass::after {
	content: '';
	position: absolute;
	top: 0;
	z-index: 0;
	height: 290px;
	background: 0 0 no-repeat;
	background-size: contain;
}
#pass.under_pass::before {
	background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/mainView_bg_before.png);
	width: 450px;
	left: calc(50% - 800px);
}
#pass.under_pass::after {
	width: 450px;
	background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/mainView_bg_after.png);
	right: calc(50% - 800px);
}
#pass.under_pass h2 {
	position: relative;
	margin: 20px auto 20px auto;
	padding-bottom: 0;
	text-align: center;
}
#pass.under_pass .h2_student {
	position: relative;
	z-index: 1;
	margin: 0;
	width: auto;
	padding: 40px;
	overflow: hidden;
}
@media screen and (min-width: 835px) {
	#pass.under_pass .h2_student.multiLine {
		padding: 20px 0;
	}
}
#pass.under_pass .h2_student::before,
#pass.under_pass .h2_student::after {
	content: '';
	position: absolute;
	top: 15px;
	height: 217px;
	background-repeat: no-repeat;
	background-size: contain;
}
#pass.under_pass .h2_student::before {
	width: 394px;
	left: calc(50% - 620px);
}
#pass.under_pass .h2_student::after {
	width: 360px;
	right: calc(50% - 620px);
}
.no_webp #pass.under_pass .h2_student::before {
	background-image: url('/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_before.png');
}
.no_webp #pass.under_pass .h2_student::after {
	background-image: url('/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_after.png');
}
.webp #pass.under_pass .h2_student::before {
	background-image: url('/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_before.png.webp');
}
.webp #pass.under_pass .h2_student::after {
	background-image: url('/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_after.png.webp');
}
#pass.under_pass h2 span::before,
#pass.under_pass h2 span::after {
	content: none;
}
#univ .Large_pass_list .pImg_top_guide img {
	width: 100%;
	max-width: 600px;
	height: auto;
	margin: auto;
}
@media screen and (max-width: 480px) {
	#pass.under_pass::before {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/mainView_bg_before_sp.png);
		width: 29.867vw;
		height: 37.867vw;
		left: 0;
	}
	#pass.under_pass::after {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/mainView_bg_after_sp.png);
		width: 32vw;
		height: 37.867vw;
		right: 0;
	}
	.passWrap::after {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/dlpo_pass_wrap_after_sp.png);
		width: 79.867vw;
		height: 9.6vw;
	}
}
@media screen and (max-width: 834px) {
	#pass.under_pass {
		padding-bottom: 25px;
		overflow: hidden;
	}
	#pass.under_pass .h2_student {
		padding: 25px 0 50px;
	}
	#pass.under_pass h2 {
		margin: 0px auto 20px auto;
		padding-bottom: 0;
	}
	#pass.under_pass .h2_student::before,
	#pass.under_pass .h2_student::after {
		top: 40px;
		height: 22.786vw;
		background-size: contain;
		background-position: 0 0;
	}
	#pass.under_pass .h2_student::before {
		left: -45px;
		width: 33.611vw;
		height: 18.469vw;
	}
	#pass.under_pass .h2_student::after {
		right: -25px;
		width: 31.25vw;
	}
}

@media screen and (max-width: 768px) {
	#pass.under_pass .h2_student {
		padding: 0;
	}
	#pass.under_pass h2 {
		margin: auto;
		padding: 20px;
	}
}

@media screen and (max-width: 600px) {
	#pass.under_pass .h2_student::before,
	#pass.under_pass .h2_student::after {
		top: 4.167vw;
	}
	#pass.under_pass .h2_student::before {
		left: 0;
		width: 23.2vw;
		height: 39.467vw;
	}
	#pass.under_pass .h2_student::after {
		right: -1.667vw;
		width: 23.733vw;
		height: 38.667vw;
	}
	.no_webp #pass.under_pass .h2_student::before {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_before_sp.png);
	}
	.no_webp #pass.under_pass .h2_student::after {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_after_sp.png);
	}
	.webp #pass.under_pass .h2_student::before {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_before_sp.png.webp);
	}
	.webp #pass.under_pass .h2_student::after {
		background-image: url(/koukousei/site_wp/wp-content/themes/site/images/top/pass_ttl_after_sp.png.webp);
	}
}
@media screen and (max-width: 480px) {
	#pass.under_pass {
		padding-bottom: 10px;
	}
}
/*-------------------------
資格取得table
---------------------------*/
#univ #univ_forseo .qualification p {
	font-weight: bold;
}
#univ #univ_forseo .qualification table {
}
#univ #univ_forseo .qualification table tr:first-child {
	font-weight: bold;
}
#univ .qualification table td:first-child {
	text-align: left;
}
#univ #univ_forseo .qualification table {
	width: 100%;
	margin: 0;
}
#univ #univ_forseo .qualification p {
	position: relative;
	font-size: 16px;
	padding: 15px 5px;
	width: 100%;
	border-bottom: solid 1px #ccc;
}
#univ #univ_forseo .qualification table td {
	font-size: 12px;
}
/*-------------------------
資格取得アコーディオン
---------------------------*/
.qualification.js-ac {
	width: calc(100% - 48px);
	margin: auto;
}
.js-ac .js-ac-trigger {
	width: 100%;
	margin-left: 0;
}
.js-ac .js-ac-trigger:after {
	position: absolute;
	right: 0px;
	content: '＋ ';
}
.js-ac .js-ac-target {
	display: none;
}
.js-ac.is-active .js-ac-trigger:after {
	content: 'ー ';
}
.js-ac.is-active .js-ac-target {
	display: block;
}
.js-ac #dOpen.js-ac-target {
	display: block;
}
@media screen and (max-width: 480px) {
	.qualification.js-ac {
		width: 100%;
		margin: auto;
	}
}
