@charset "UTF-8";
:root {
	--mf-yellow: #ffdf57;		/*	黄色の背景				*/
	--mf-yellow-lt: #ffe85f;	/*	斜めストライプの明部		*/
	--mf-orange: #f46e00;		/*	見出し・OCボタン			*/
	--mf-teal: #28ad9a;			/*	ピン・ボタン・入賞見出し	*/
	--mf-blue: #006ca8;			/*	POINT・先輩パネル		*/
	--mf-navy: #123d60;			/*	先輩パネルの角			*/
	--mf-topics: #ffa255;		/*	TOPICS 帯				*/
	--mf-arrow: #e9f9ff;		/*	矢印リボン				*/
	--mf-green: #157530;		/*	OC 見出しの地色			*/
	--mf-dot: #f2f2f2;			/*	ドット地					*/
}

@media screen and (max-width: 979px) {
	:root { --u: calc(100vw / 375); }
}


/*----------------------------
	共通
----------------------------*/
/*	ドット地（PCのみ）	*/
.mf-dot { background-color: #fff; }
/*	改行の出し分け	*/
.mf-br-pc { display: none; }
.mf-br-sp { display: inline; }

/*	見出し（小＋大）	*/
.mf-heading { color: var(--mf-orange); text-align: center; }
.mf-heading__sm { display: block; font-weight: 700; line-height: 1.2; }
.mf-heading__lg { display: block; font-weight: 900; line-height: 1.2; letter-spacing: 0.01em; }
.mf-lead { font-weight: 700; text-align: center; }

/*	ボタン	*/
.mf-btn { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; margin-left: auto; margin-right: auto; border-radius: calc(6 * var(--u)); font-weight: 700; color: #fff; line-height: 1.4; text-align: center; transition: .4s; }
.mf-btn--teal { background-color: var(--mf-teal); }
.mf-btn--orange { background-color: var(--mf-orange); }
/*	矢印	*/
.cmn-btn { position: relative; }
.cmn-btn::after { position: absolute; top: 50%; transform: translateY(-50%); display: block; aspect-ratio: 11/7; background: url("../img/mf/icon_btn_arrow.svg") no-repeat center/contain; content: ""; }
.mf-dot { background-image: radial-gradient(var(--mf-dot) 2px, transparent 2px); background-size: 16px 16px; }
@media screen and (max-width: 979px) {
	.mf-heading__sm { font-size: calc(26 * var(--u)); }
	.mf-heading__lg { font-size: calc(32 * var(--u)); }
	.mf-lead { margin-top: calc(16 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.7; }

	.mf-btn { min-height: calc(52 * var(--u)); padding-bottom: calc(2 * var(--u));
		
		box-shadow: calc(6 * var(--u)) calc(6 * var(--u)) 0px 0px rgba(127,198,156,1);
		
		font-size: calc(16 * var(--u)); }
	.cmn-btn::after { right: calc(24 * var(--u)); width: calc(11 * var(--u)); }
}
@media screen and (min-width: 980px) {
	
	.mf-br-pc { display: inline; }
	.mf-br-sp { display: none; }
	.mf-heading { pointer-events: none; }
	.mf-heading__sm { font-size: 3.6rem; }
	.mf-heading__lg { font-size: 5.0rem; }
	.mf-lead { margin-top: 20px; font-size: 1.6rem; line-height: 1.8; letter-spacing: 0.1em; text-indent: 0.1em; }

	.mf-btn { max-width: 480px; min-height: 58px; border-radius: 6px; padding: 10px 56px; box-shadow: 6px 6px 0px 0px rgba(127,198,156,1); font-size: 2.0rem; }
	.mf-btn:hover { opacity: .8; }
	.cmn-btn { transition: .4s; }
	.cmn-btn:hover { opacity: .8; }
	.cmn-btn::after { right: 22px; width: 17px; }
}


/*----------------------------
	学生作品展
----------------------------*/
.mf-top { overflow: hidden; }
.mfintro__ttl { color: var(--mf-orange); font-weight: 900; line-height: 1.3; text-align: center; }
.mfintro__txt {  }

@media screen and (max-width: 979px) {
	.mf-top { padding-top: calc(52 * var(--u)); }
	.mfintro__ttl { font-size: calc(32 * var(--u)); }
	.mfintro__txt { margin-top: calc(17 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.75; text-align: justify; }
}
@media screen and (min-width: 980px) {
	.mf-top { padding-top: 90px; }
	.mfintro__ttl { font-size: 5.0rem; }
	.mfintro__txt { margin-top: 14px; font-size: 1.6rem; line-height: 1.75; text-align: center; }
}


/*----------------------------
	コンベア（marquee）
	----------------------------
	.gal（上段＝左へ／下段＝右へ）の中に同じ .gal__list を並べ、
	translateX(0 → -100%) で無限ループさせている。
	リストが全て同一なので 1周した瞬間に元と同じ並びに戻る＝継ぎ目なし。

	必要な複製枚数と速度（px/秒で一定）は career/js/mf.js が算出して
	animation-duration / animation-delay を上書きする。
	速度を変えたいときは HTML の .gal-wrap に data-speed="60" のように指定。
	JS を外す場合は .gal__list を画面幅より広くなる枚数だけ HTML に並べること。
----------------------------*/
.gal-wrap { overflow: hidden; }
.gal { display: flex; width: 100%; overflow: hidden; }
.gal__list { display: flex; flex: 0 0 auto; animation: mf-gal-left 80s linear infinite; will-change: transform; }
.gal--right .gal__list { animation-name: mf-gal-right; animation-delay: -13s; }
.gal__item { flex: 0 0 auto; }
.gal__item img { display: block; width: 100%; height: auto; object-fit: cover; }

@keyframes mf-gal-left {
	from { transform: translateX(0); }
	to { transform: translateX(-100%); }
}
@keyframes mf-gal-right {
	from { transform: translateX(-100%); }
	to { transform: translateX(0); }
}
@media screen and (max-width: 979px) {
	.gal-wrap { margin-top: calc(40 * var(--u)); }
	.gal + .gal { margin-top: calc(10 * var(--u)); }
	.gal__item { width: calc(150 * var(--u)); margin-right: calc(10 * var(--u)); }
	.gal__item img { aspect-ratio: 255 / 150; }
}
@media screen and (min-width: 980px) {
	.gal-wrap { margin-top: 82px; }
	.gal + .gal { margin-top: 10px; }
	.gal__item { width: 300px; margin-right: 10px; }
	.gal__item img { aspect-ratio: 300 / 200; }
}


/*----------------------------
	「ものづくり」を通して、自走できる自分になる
----------------------------*/
.mf-jisou { position: relative; background-color: var(--mf-yellow); }
/*	装飾イラスト	*/
.mf-deco { position: absolute; display: block; background-repeat: no-repeat; background-position: center; background-size: contain; pointer-events: none; z-index: 1; }
.mf-deco--camera { background-image: url("../img/mf/deco_camera.svg"); }
.mf-deco--palette { background-image: url("../img/mf/deco_palette.svg"); }
.mf-deco--pen { background-image: url("../img/mf/deco_pen.svg"); }
.mf-deco--film { background-image: url("../img/mf/deco_film.svg"); }
.mf-deco--note { background-image: url("../img/mf/deco_note.svg"); }
.mf-deco--pc { background-image: url("../img/mf/deco_pc.svg"); }

.mf-cards { position: relative; }
.mf-card { position: relative; background-color: #fff; border: 2px solid #000; }
/*	左上のピン（::before＝針／::after＝玉）	*/
.mf-card::before { position: absolute; display: block; width: 24px; height: 31px; background: url("../img/mf/deco_pin.svg") no-repeat 0 0/contain; content: ""; }
.mf-card__img img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.mf-card__ttl { color: var(--mf-orange); font-weight: 700; line-height: 1.5; text-align: center; }
.mf-card__txt { text-align: justify; }

/*	入賞は一生の自信になる	*/
.mf-prize { position: relative; }
.mf-prize__ttl { position: relative; color: var(--mf-teal); font-weight: 900; line-height: 1.3; letter-spacing: 0.03em; text-indent: 0.03em; text-align: center; z-index: 2; }
.mf-prize__txt { position: relative; font-weight: 600; text-align: center; z-index: 1.75; }
/*
.mf-prize__txt::before { position: absolute; top: calc(-11 * var(--u)); left: 50%; transform: translateX(-50%); display: block; width: 100vw; height: 2px; background: #000; content: ""; }
*/
.mf-prize__btn { position: relative; z-index: 2; }
/*	人物の切り抜き	*/
.mf-prize__ph { position: absolute; display: block; background-repeat: no-repeat; background-position: bottom center; background-size: contain; z-index: 1; }
.mf-prize__ph--l { background-image: url("../img/mf/ph_prize_l.png"); }
.mf-prize__ph--r { background-image: url("../img/mf/ph_prize_r.png"); }

@media screen and (max-width: 979px) {
	.mf-jisou { margin-top: calc(100 * var(--u)); padding-top: calc(44 * var(--u)); }
	.mf-deco--camera { top: calc(840 * var(--u)); left: calc(-27 * var(--u)); width: calc(98 * var(--u)); height: calc(81 * var(--u)); z-index: 10; }
	.mf-deco--palette { top: calc(-100 * var(--u)); right: calc(-1 * var(--u)); width: calc(81 * var(--u)); height: calc(95 * var(--u)); }
	.mf-deco--pen { top: calc(390 * var(--u)); left: calc(-11 * var(--u)); width: calc(60 * var(--u)); height: calc(105 * var(--u)); z-index: 10; }
	.mf-deco--film { top: calc(458 * var(--u)); right: calc(-20 * var(--u)); width: calc(70 * var(--u)); height: calc(98 * var(--u)); z-index: 10; }
	.mf-deco--note { bottom: calc(-68 * var(--u)); left: calc(-23 * var(--u)); width: calc(82 * var(--u)); height: calc(90 * var(--u)); }
	.mf-deco--pc { bottom: calc(-30 * var(--u)); right: calc(-17 * var(--u)); width: calc(140 * var(--u)); height: calc(80 * var(--u)); z-index: 30; }

	.mf-cards { margin-top: calc(28 * var(--u)); }
	.mf-card { padding: calc(38 * var(--u)) calc(38 * var(--u)) calc(34 * var(--u)); box-shadow: calc(6 * var(--u)) calc(6 * var(--u)) 0 #000; }
	.mf-card:last-of-type { z-index: 20; }
	.mf-card + .mf-card { margin-top: calc(28 * var(--u)); }
	.mf-card::before { top: calc(-14 * var(--u)); left: calc(-14 * var(--u)); width: calc(28 * var(--u)); height: calc(28 * var(--u)); }
	.mf-card__ttl { margin-top: calc(14 * var(--u)); font-size: calc(16 * var(--u)); }
	.mf-card__txt { margin-top: calc(10 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.75; }

	.mf-prize { margin-top: calc(90 * var(--u)); padding-bottom: calc(60 * var(--u)); }
	.mf-prize__ttl { font-size: calc(26 * var(--u)); }
	.mf-prize__txt { margin-top: calc(10 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.7; }
	.mf-prize__btn { margin-top: calc(216 * var(--u)); }
	
	.mf-prize__ph--l { left: calc(50% - 178 * var(--u)); bottom: calc(76 * var(--u)); width: calc(208 * var(--u)); aspect-ratio: 310/350; }
	.mf-prize__ph--r { left: calc(50% + 14 * var(--u));
		bottom: calc(76 * var(--u));
		width: calc(124 * var(--u));
		aspect-ratio: 185/350; }
}
@media screen and (min-width: 980px) {
	.mf-jisou { margin-top: 145px; padding-top: 84px; }
	.mf-deco--camera { top: 1px; left: 15px; width: 142px; height: 120px; }
	.mf-deco--palette { top: -36px; right: 24px; width: 143px; height: 140px; }
	.mf-deco--pen { top: 41px; right: 130px; width: 78px; height: 130px; }
	.mf-deco--film { top: 35px; left: 110px; width: 104px; height: 147px; }
	.mf-deco--note { bottom: -50px; left: -53px; width: 109px; height: 119px; }
	.mf-deco--pc { bottom: -34px; right: -40px; width: 167px; height: 97px; }

	.mf-cards { display: flex; justify-content: space-between; margin-top: 80px; }
	.mf-card { flex: 1 1 0; margin-right: 4%; padding: 36px 39px 40px; box-shadow: 6px 6px 0 #000; }
	.mf-card:last-child { margin-right: 0; }
	.mf-card + .mf-card { margin-top: 0; }
	.mf-card::before { top: -17px; left: -12px; width: 32px; height: 32px; }
	.mf-card__ttl { align-content: center; min-height: 54px; margin-top: 15px; font-size: 1.8rem; }
	.mf-card__txt { margin-top: 9px; font-size: 1.6rem; line-height: 1.85; }

	.mf-prize { margin-top: 96px; padding-bottom: 84px; }
	.mf-prize__ttl { font-size: 3.2rem; }
	.mf-prize__txt { margin-top: 14px; font-size: 1.6rem; line-height: 1.75; }
/*
	.mf-prize__txt::before { top: -15px; width: calc(100% - 200px); }
*/
	.mf-prize__btn { margin-top: 27px; }
	.mf-prize__ph { bottom: 0; left: 50%; width: 340px; height: 350px; }
	.mf-prize__ph--l { transform: translateX(-181%); width: 310px; }
	.mf-prize__ph--r { transform: translateX(148%); width: 185px; }
}
@media screen and (min-width: 1200px) {
	.mf-card { flex: initial; width: 314px; margin-right: 0; }
}


/*----------------------------
	就職につながる圧倒的な企業ネットワークと実績
----------------------------*/
.mf-point { position: relative; }
.mf-point::before { position: absolute; display: block; aspect-ratio: 170/169; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; }

.mf-point--1::before { background-image: url("../img/mf/badge_1.svg"); }
.mf-point--2::before { background-image: url("../img/mf/badge_2.svg"); }

/*	斜めストライプのパネル	*/
.mf-point__inner { background-color: var(--mf-yellow); }
.mf-point__ttl { color: var(--mf-blue); font-weight: 700; line-height: 1.4; text-align: center; }
.mf-point__txt {  }
/*	来校実績企業一覧	*/
.mf-company { background-color: rgba(255,255,255,.45); border: 2px solid #fff; }
.mf-company__ttl { font-weight: 700; line-height: 1.4; text-align: center; }
.mf-company__txt { text-align: justify; }
.mf-photo {  }
.mf-photo img { max-width: none; aspect-ratio: 400/250; }
/*	TOPICS 帯	*/
.mf-topics { background-color: var(--mf-topics); }
.mf-topics__head { display: flex; align-items: center; }
.mf-topics__label { flex: 0 0 auto; background-color: #000; border-radius: 9999px; font-family: "Roboto", "Jost", sans-serif; font-weight: 700; color: #fff; line-height: 1; letter-spacing: 0.06em; }
.mf-topics__ttl { font-weight: 700; line-height: 1.4; }
.mf-topics__txt { text-align: justify; }

@media screen and (max-width: 979px) {
	.mf-network { padding: calc(52 * var(--u)) 0 calc(30 * var(--u)); }
	.mf-point { margin-top: calc(58 * var(--u)); }
	.mf-point::before { top: calc(-33 * var(--u)); left: calc(-15 * var(--u)); width: calc(102 * var(--u)); }
	.mf-point__inner { padding: calc(15 * var(--u)) calc(18 * var(--u)) calc(24 * var(--u)); background-image: repeating-linear-gradient(-45deg, var(--mf-yellow-lt) 0, var(--mf-yellow-lt) calc(9 * var(--u)), rgba(255,255,255,0) calc(9 * var(--u)), rgba(255,255,255,0) calc(18 * var(--u))); }
	.mf-point__ttl { margin-top: calc(17 * var(--u)); font-size: calc(16 * var(--u)); }
	.mf-point__txt { margin-top: calc(4 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.5; }
	.mf-point--2 .mf-point__ttl { margin-top: calc(-7 * var(--u)); }
	.mf-photo { margin-top: calc(13 * var(--u)); }
	.mf-photo img { margin-left: calc(-28 * var(--u)); width: calc(362 * var(--u)); aspect-ratio: 362/237; }
	.mf-company { padding: calc(16 * var(--u)) calc(16 * var(--u)) calc(20 * var(--u)); }
	.mf-company__ttl { font-size: calc(16 * var(--u)); }
	.mf-company__txt { margin-top: calc(12 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.75; }

	/*	SPは 写真 → テキスト → TOPICS の順	*/
	.mf-point--2 .mf-point__inner { display: flex; flex-direction: column; }
	
	.mf-point--2 .mf-point__body { order: 2; }
	.mf-point--2 .mf-topics { order: 3; }



	.mf-topics { margin-top: calc(26 * var(--u)); padding: calc(16 * var(--u)) calc(16 * var(--u)) calc(12 * var(--u)); }
	.mf-topics__label { padding: calc(5 * var(--u)) calc(14 * var(--u)); font-size: calc(13 * var(--u)); }
	.mf-topics__ttl { margin-left: calc(12 * var(--u)); font-size: calc(16 * var(--u)); }
	.mf-topics__txt { margin-top: calc(12 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.5; }
}
@media screen and (min-width: 980px) {
	.mf-network { padding: 100px 0 32px; }
	.mf-point { margin-top: 78px; }
	.mf-point::before { top: -56px; left: -27px; width: 170px; }
	.mf-point--2::before { left: auto; right: -27px; width: 170px; }
	
	.mf-point__inner { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 70px 60px 60px; background-image: repeating-linear-gradient(-45deg, var(--mf-yellow-lt) 0, var(--mf-yellow-lt) 11px, rgba(255,255,255,0) 11px, rgba(255,255,255,0) 22px); }
	.mf-point__ttl { margin-top: 0; font-size: 2.6rem; text-align: left; }
	.mf-point__txt { margin-top: 13px; font-size: 1.6rem; line-height: 1.9; }

	.mf-point > .mf-point__inner > .mf-point__body { width: 36.5%; margin-top: -7px; padding-top: 4px; }
	.mf-point--2 > .mf-point__inner > .mf-point__body { min-width: 450px; padding-top: 0; }
	.mf-company { width: 59.34%; padding: 22px 24px 26px; }
	.mf-company__ttl { font-size: 1.8rem; }
	.mf-company__txt { margin-top: 8px; font-size: 1.5rem; line-height: 1.75; }

	/*	PCは 左テキスト＋右写真、下に TOPICS。バッジは右上	*/
	.mf-point--2 .mf-point__badge { right: -16px; left: auto; }
	.mf-point--2 .mf-point__inner { flex-direction: row; }
	.mf-point--2 .mf-point__body { order: 1; width: 51%; padding-top: 0; }
	
	.mf-point--2 .mf-topics { order: 3; width: 100%; }
	
	.mf-photo { position: absolute; top: 34px; right: 62px; }
	.mf-photo img { width: 400px; }

	.mf-topics { display: flex; align-items: center; margin-top: 34px; padding: 25px 26px; }
	.mf-topics__head { position: relative; flex: 0 0 auto; padding-right: 21px; }
	.mf-topics__head::before { position: absolute; right: -2px; top: 50%; transform: translateY(-50%); display: block; width: 0; height: calc(100% + 15px); border-right: 2px dotted #000; content: ""; }
	.mf-topics__label { border-radius: 12px; padding: 6px 15px 4px; font-size: 1.4rem; }
	.mf-topics__ttl { margin-left: 16px; font-size: 1.8rem; }
	.mf-topics__txt { margin-top: 0; padding-left: 21px; font-size: 1.5rem; line-height: 1.75; letter-spacing: 0.03em; }
}


/*----------------------------
	作品をきっかけに、プロの世界へ
----------------------------*/
.mf-flow__heading { position: relative; color: var(--mf-blue); font-weight: 900; line-height: 1.4; letter-spacing: 0.04em; text-indent: 0.04em; text-align: center; }
/*	下向きのリボン	*/
.mf-flow__heading::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: calc(335 * var(--u)); aspect-ratio: 335/76; background-color: var(--mf-arrow); clip-path: polygon(100% 0%, 50% 100%, 0% 0%); content: ""; }
.mf-flow__heading span { position: relative; }
/*	波線のサークル	*/
.mf-flow__item { display: flex; flex-direction: column; justify-content: center; align-items: center; background: url("../img/mf/bg_flow_pc.svg") no-repeat center/calc(268 * var(--u)) auto; text-align: center; }
.mf-flow__icon { display: block; text-align: center; }
.mf-flow__icon img { width: calc(50 * var(--u)); }
.mf-flow__ttl { color: var(--mf-blue); font-weight: 700; line-height: 1.4; }
.mf-flow__txt {  }

@media screen and (max-width: 979px) {
	.mf-flow { padding: 0 0 calc(48 * var(--u)); }
	.mf-flow__heading { padding: calc(18 * var(--u)) 0 calc(40 * var(--u)); font-size: calc(20 * var(--u)); }
	.mf-flow__heading::before { max-width: calc(375 * var(--u)); }
	.mf-flow__list { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; grid-column-gap: calc(3 * var(--u)); grid-row-gap: 0px; margin: calc(5 * var(--u)) calc(-13 * var(--u)) 0; }


	
	.mf-flow__item { position: relative; width: 100%; margin-left: auto; margin-right: auto; background: none; padding-top: calc(15 * var(--u)); }
	.mf-flow__item::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 100%; aspect-ratio: 1/1; background: url("../img/mf/bg_flow_sp.svg") no-repeat center/contain; content: ""; z-index: 0; }
	.mf-flow__icon { position: relative; z-index: 10; }
/*	.mf-flow__item + .mf-flow__item { margin-top: calc(1 * var(--u)); }*/
	.mf-flow__item:not(:first-of-type) .mf-flow__icon { transform: translateY(calc(5 * var(--u))); }
	.mf-flow__ttl { position: relative; margin-top: calc(5 * var(--u)); font-size: calc(13 * var(--u)); z-index: 10; }
	.mf-flow__txt { margin-top: calc(36 * var(--u)); font-size: calc(12 * var(--u)); line-height: 1.3; }
	.mf-flow__txt .brIrr { display: block; }
}
@media screen and (min-width: 980px) {
	.mf-flow { padding: 0 0 70px; }
	.mf-flow__heading { padding: 26px 0 58px; font-size: 2.8rem; letter-spacing: 0.04em; text-indent: 0.04em; }
	.mf-flow__heading::before { max-width: 510px; width: 510px; }
	.mf-flow__list { display: flex; justify-content: center; align-items: flex-start; max-width: 810px; margin: -22px auto 0; }
	.mf-flow__item { width: 268px; height: 257px; background: url("../img/mf/bg_flow_pc.svg") no-repeat center/268px auto; margin: 0; padding: 0 34px; }
	.mf-flow__item + .mf-flow__item { margin-top: 0; }
	.mf-flow__item:nth-child(2) { margin-top: 50px; }
	.mf-flow__item:first-of-type .mf-flow__icon { margin-bottom: 12px; }
	.mf-flow__item:last-of-type { padding-bottom: 20px; }
	.mf-flow__icon img { width: 87px; }
	.mf-flow__ttl { font-size: 1.8rem; }
	.mf-flow__txt { margin-top: 10px; font-size: 1.5rem; line-height: 1.5; }
	.mf-flow__txt .brIrr { display: none; }
}


/*----------------------------
	先輩
----------------------------*/
.mf-senpai__box { position: relative; background-color: var(--mf-blue); overflow: hidden; }
/*	角の折り返し	*/
.mf-senpai__box::before,
.mf-senpai__box::after { position: absolute; display: block; width: 0; height: 0; content: ""; }
.mf-senpai__box::before { top: 0; left: 0; border-top-style: solid; border-top-color: var(--mf-navy); border-right-style: solid; border-right-color: transparent; }
.mf-senpai__box::after { right: 0; bottom: 0; border-bottom-style: solid; border-bottom-color: var(--mf-navy); border-left-style: solid; border-left-color: transparent; }
.mf-senpai__heading { position: relative; color: #fff; font-weight: 700; line-height: 1.5; text-align: center; z-index: 2; }
.mf-senpai__inner { position: relative; z-index: 2; }
.mf-senpai__img { position: relative; }
.mf-senpai__img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
/*	グランプリ受賞メダル	*/
.mf-senpai__medal { position: absolute; display: block; aspect-ratio: 142/176; background: url("../img/mf/deco_award.png") no-repeat center/contain; }
.mf-senpai__ttl { position: relative; color: #fff; font-weight: 700; line-height: 1.5; }
.mf-senpai__ttl::before { position: absolute; top: 50%; transform: translateY(-50%); left: 0; display: block; aspect-ratio: 1/1; background: url("../img/mf/icon_tv.svg") no-repeat center/contain; content: ""; }
.mf-senpai__company { display: flex; align-items: center; border-bottom: 2px dotted rgba(255,255,255,1); color: #fff; font-weight: 700; }
.mf-senpai__label { flex: 0 0 auto; display: flex; justify-content: center; align-items: center; background-color: #fff4a4; border-radius: 1px; color: var(--mf-blue); line-height: 1; }
.mf-senpai__name { color: #fff; font-weight: 500; line-height: 1.5; }
.mf-senpai__name strong { font-weight: 500; }
.mf-senpai__name strong::after { content: "さん"; }
.mf-senpai__name span { font-weight: 400; }
.mf-senpai__name em { font-style: normal; }
.mf-senpai__school { color: #fff; line-height: 1.5; }
.mf-senpai__txt { text-align: justify; color: #fff; }
.mf-morebtn { display: flex; justify-content: center; align-items: center; font-weight: 700; line-height: 1; color: #fff; }

@media screen and (max-width: 979px) {
	.mf-senpai { padding-bottom: calc(100 * var(--u)); }
	.mf-senpai__box { padding: calc(30 * var(--u)) calc(22 * var(--u)) calc(40 * var(--u)); outline: 1px solid rgba(255,255,255,.55); outline-offset: calc(-12 * var(--u)); }
	.mf-senpai__box::before { border-top-width: calc(50 * var(--u)); border-right-width: calc(50 * var(--u)); }
	.mf-senpai__box::after { border-bottom-width: calc(50 * var(--u)); border-left-width: calc(50 * var(--u)); }
	.mf-senpai__heading { font-size: calc(20 * var(--u)); white-space: nowrap; }
	.mf-senpai__inner { margin-top: calc(36 * var(--u)); }
	.mf-senpai__medal { top: calc(-20 * var(--u)); right: calc(-21 * var(--u)); width: calc(120 * var(--u)); }
	.mf-senpai__body { margin-top: calc(22 * var(--u)); }
	.mf-senpai__ttl { padding-left: calc(30 * var(--u)); font-size: calc(16 * var(--u)); letter-spacing: -0.02em; }
	.mf-senpai__ttl::before {  width: calc(24 * var(--u)); }
	.mf-senpai__company { margin-top: calc(14 * var(--u)); padding-bottom: calc(18 * var(--u)); font-size: calc(16 * var(--u)); }
	.mf-senpai__label { width: calc(56 * var(--u)); height: calc(22 * var(--u)); border-radius: calc(1 * var(--u)); margin-right: calc(12 * var(--u)); padding-bottom: calc(2 * var(--u)); font-size: calc(14 * var(--u)); }
	.mf-senpai__name { margin-top: calc(18 * var(--u)); font-size: calc(16 * var(--u)); }
	.mf-senpai__name strong::after { font-size: calc(14 * var(--u)); }
	.mf-senpai__name span { margin: 0 calc(2 * var(--u)); }
	.mf-senpai__name em { font-size: calc(13 * var(--u)); }
	.mf-senpai__school { margin-top: calc(4 * var(--u)); font-size: calc(13 * var(--u)); }
	.mf-senpai__txt { margin-top: calc(8 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.75; }
	.mf-morebtn { height: calc(40 * var(--u)); border-radius: calc(20 * var(--u)); padding-bottom: calc(2 * var(--u)); font-size: calc(14 * var(--u)); }
	.mf-senpai__btn { margin-top: calc(22 * var(--u)); }
}
@media screen and (min-width: 980px) {
	.mf-senpai { padding-bottom: 160px; }
	.mf-senpai__box { max-width: 800px; margin-left: auto; margin-right: auto; padding: 40px 50px 50px; outline: 1px solid rgba(255,255,255,.55); outline-offset: -10px; }
	.mf-senpai__box::before { border-top-width: 70px; border-right-width: 70px; }
	.mf-senpai__box::after { border-bottom-width: 70px; border-left-width: 70px; }
	.mf-senpai__heading { font-size: 2.4rem; }
	.mf-senpai__inner { display: flex; justify-content: space-between; margin-top: 37px; }
	.mf-senpai__img { width: 292px; }
	.mf-senpai__img img { width: 100%; height: 100%; object-fit: cover; }
	.mf-senpai__medal { top: -20px; right: -20px; width: 120px; }
	.mf-senpai__body { flex: 1; width: 54%; margin-top: 0; margin-left: 32px; }
	.mf-senpai__ttl { padding-left: 40px; font-size: 2rem; }
	.mf-senpai__ttl::before { width: 31px; }
	.mf-senpai__company { margin-top: 12px; margin-left: -32px; padding-left: 32px; padding-bottom: 14px; font-size: 1.6rem; }
	.mf-senpai__label { transform: translateY(1px); margin-right: 8px; padding: 3px 10px 5px; font-size: 1.3rem; }
	.mf-senpai__name { margin-top: 10px; font-size: 1.8rem; }
	.mf-senpai__name strong::after { font-size: 1.6rem; }
	.mf-senpai__name span { margin: 0 2px; }
	.mf-senpai__name em { font-size: 1.4rem; }
	.mf-senpai__school { margin-top: 1px; font-size: 1.4rem; font-weight: 400; }
	.mf-senpai__txt { margin-top: 8px; font-size: 1.6rem; line-height: 1.75; }
	.mf-senpai__btn { margin-top: 25px; }
	.mf-senpai__btn .mf-btn { max-width: none; min-height: 52px; font-size: 1.6rem; }
	.mf-morebtn { height: 40px; border-radius: 20px; padding-bottom: 2px; font-size: 1.4rem; }
}


/*----------------------------
	オープンキャンパス
	※ 共通フッターに同じバナーがある場合は HTML ごと削除
----------------------------*/
.mf-oc { position: relative; background: #e4ef9e url("../img/mf/bg_oc_sp.jpg") no-repeat 0 0/cover; overflow: hidden; }
.mf-oc__heading { line-height: 1.35; }
.mf-oc__heading span { display: inline-block; background-color: var(--mf-green); font-weight: 900; color: #fff; line-height: 1.3; }
.mf-oc__txt { font-weight: 500; color: #333; }
.mf-oc__img { position: absolute; }
.mf-oc__img img { display: block; width: 100%; height: auto; }

@media screen and (max-width: 979px) {
	.mf-oc { padding-top: calc(44 * var(--u)); padding-bottom: calc(38 * var(--u)); }
	.mf-oc__heading span { margin-bottom: calc(6 * var(--u)); padding: calc(1 * var(--u)) calc(8 * var(--u)) calc(3 * var(--u)); font-size: calc(28 * var(--u)); }
	.mf-oc__txt { margin-top: calc(2 * var(--u)); font-size: calc(14 * var(--u)); line-height: 1.7; }
	.mf-oc__btn { position: relative; margin-top: calc(221 * var(--u)); z-index: 10; }
	.mf-oc__img { left: 50%; transform: translateX(-50%); bottom: calc(10 * var(--u)); width: calc(375 * var(--u)); }
	.mf-oc__img img { max-width: none; }
}
@media screen and (min-width: 980px) {
.mf-oc { background-image: url("../img/mf/bg_oc_pc.jpg"); }
	.mf-oc .l-wrapper { display: flex; justify-content: space-between; align-items: center; padding: 80px 70px 70px; padding-left: 70px; padding-right: 70px; }
	.mf-oc__body { flex: 0 0 auto; width: 46%; }
	.mf-oc__heading span { margin-bottom: 6px; padding: 1px 10px 3px; font-size: 3.4rem; }
	.mf-oc__txt { margin-top: 5px; font-size: 1.6rem; font-weight: 500; line-height: 1.75; }
	.mf-oc__btn { margin-top: 25px; }
	.mf-oc__btn .mf-morebtn { max-width: 370px; height: 40px; min-height: 40px; margin-left: 0; font-size: 1.4rem; }
	.mf-oc__img { bottom: 0; right: 13px; }
	.mf-oc__img img { width: 500px; }
}
