@charset "UTF-8";
/* CSS Document */

body {
	margin: 0;
	padding: 0;
	color: #232323;
	width: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*	font-size: 100%;*/
font-size: 14px;
	line-height: 1.7;
	background-color:#eee;
}

ul, ol, dl {
	padding: 0;
	margin: 0;
	list-style: none;
}

h1, h2, h3, h4, h5, h6, p, figure, figcaption, footer, header, hgroup {
	margin: 0;
	padding: 0;
	
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a img {
	border: none;
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover, a:active, a:focus {
	text-decoration: none;
}

*, *:before, *:after {
	box-sizing: border-box;
}

.crearfix:after {
	content: "";
	display:block;
	clear:both;
}

/* 全体 */
#container {
	width: 1050px;
	margin-right: auto;
	margin-left: auto;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: 80% 0%;
	background-attachment: fixed;
}

p {
	text-indent: 1em;
}

/* ヘッダー */
header {
	position:fixed;
	top: 0;
	bottom: 0;
	width:250px;
	background:#333333;
	color:#ffffff;
	border-left-width: 10px;
	border-left-style: solid;
	border-left-color: #6355A1;
}

header nav {
	margin-top:50px;
}

header nav ul li {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #444444;
}

header nav ul li {
	padding-left: 10px;
	font-weight: bold;
}

header nav ul li a {
	padding: 6px 0 6px 10px;
	margin-left:-10px;
	color: #FFF;
	display: block;
}

header nav ul li a:hover {
	color:#FFF;
	background-color: #6355A1;
}

/*コンテンツ*/
#main {
	float: right;
	width:800px;
	background-image: url(../images/topimg.png);
	background-repeat: no-repeat;
	background-position: right top;
}

.page {
	text-align: left;
	margin-top: 200px;
	padding: 50px;
}

#toppage {
	padding: 0 30px;
	margin: 0;
	height: 1131px;            /* 表紙画像(topimg.png)の高さに合わせる */
	position: relative;
}

/* 専攻名を「／」区切りで横並び・下部中央に配置 */
#container #main #toppage .majors {
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 72px;
	text-align: center;
}

#container #main #toppage .majors li {
	display: inline;
	font-size: 15px;
	font-weight: bold;
	margin: 0;
}

#container #main #toppage .majors li + li::before {
	content: "／";
	margin: 0 2px;
	color: #0f3a5a;
}

#container #main #toppage .majors li a {
	color: #0f3a5a;            /* 表紙の「2026-2027」と同じ濃紺 */
}

#container #main #toppage .majors li a:hover {
	color: #ffffff;
	text-decoration: none;
}

/* URL を専攻名の下・中央に配置 */
#container #main #toppage .topurl {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 28px;
	text-align: center;
	font-size: 15px;
	letter-spacing: 0;
	font-family: inherit;
	text-indent: 0;
}

#container #main #toppage .topurl a {
	color: #0f3a5a;
}

#container #main #toppage .topurl a:hover {
	text-decoration: none;
}

.midashi {
	border-left-width: 6px;

	border-left-style: solid;
	padding-top: 10px;
	padding-bottom: 10px;
	border-left-color: #6355a1;
	margin-bottom: 30px;
}

.midashi h2 {
	margin-left: 15px;
	margin-bottom: 15px;
}

.midashi h4 {
	margin-left: 15px;
}

#main a:hover {
	text-decoration: underline;
}

/*ご挨拶*/
#p1 p {
	margin-bottom: 35px;
	margin-top: 5px;
}

.htimg p {
	float: right;
	margin-left:30px;
}

.htimg .ht {
	font-weight: bold;
	text-align: left;
	font-size: 24px;
	padding-top: 50px;
}

.htimg .ht span {
	font-size: 14px;
}

/*概要*/
#p2 {
	background-image: url(../images/back_02.png);
	background-repeat: no-repeat;
	background-position: right top;
	height:1000px;
}

#p2 .o_right {
	float: right;
}

#p2 .o_left {
	margin-left:30px;
	width: 520px;
}

/*カリキュラム*/

#container #main #p3 a:hover {
	opacity:0.7
}

/*専攻紹介*/
.multicolumnbox {
	margin-top:450px;
	margin-bottom: 50px;
	column-count: 2;
	column-gap: 40px;
}

#s_science h3, #i_system h3, #m_media h3 {
	text-indent: -10000px;
}

/*ソフトウェアサイエンス主専攻*/
#s_science {
	background-image: url(../images/05back.png);
	background-position: right top;
	background-repeat: no-repeat;
}

.figP .fig1 {
	float: left;
	width: 350px;
	text-align: center;
}

.figP.crearfix .fig1 figure figcaption {
	font-size: 12px;
	text-align: left;
	padding-right: 20px;
	padding-left: 20px;
}

.figP.crearfix .fig1 figure figcaption1 {
	font-size: 11px;
	text-align: left;
	padding-right: 20px;
	padding-left: 20px;
}

/*情報システム主専攻*/
#i_system {
	margin-top: 50px;
	padding: 50px;
	background-image: url(../images/06back.png);
	background-position: right top;
	background-repeat: no-repeat;
}

/*知能情報メディア主専攻*/
#m_media {
	margin-top: 50px;
	padding: 50px;
	background-image: url(../images/07back.png);
	background-position: right top;
	background-repeat: no-repeat;
}

#container #main #p3 p {
	margin-bottom: 40px;
}

/*OJTの紹介*/
#container #main #ojt h2 {
	text-align: center;
	margin-bottom:10px;
}

.ojt_add {
	background-image: url(../images/back_15.png);
	font-size: 14px;
	text-align: center;
}

#container #main #ojt .ojt_right dl dd {
	text-indent: 0;
}

#container #main #ojt .ojt_add a {
	color: #FFFFFF;
	display: block;
	font-weight:bold;
}

#container #main #ojt p a {
	color: #232323;
}

#container #main #ojt .ojt_add a:hover {
	opacity:1;
}

#container #main #ojt figure {
	margin-top: 30px;
	margin-bottom: 30px;
}

#container #main #ojt h3 {
	text-align: center;
	font-weight: bold;
	color: #47bfd8;
	margin-top:20px;
}

#container #main #ojt .ojtbox {
	width: 340px;
	min-height:600px;
	padding: 0 20px;
	margin: 30px 0;
	text-align: justify;
}

#container #main #ojt .crearfix .ojtbox figure figcaption {
	font-size: 12px;
	text-align: center;
}

#container #main #ojt figure figcaption {
	font-size: 12px;
	text-align: right;
}

#container #main #ojt .crearfix .ojtbox.soft {
	float: left;
}

#container #main #ojt .crearfix .ojtbox.soft .gakki {

	height:60px;
	margin:0 -10px 20px;
}

#container #main #ojt .crearfix .ojtbox.hard {
	float: right;
}

#container #main #ojt .crearfix .ojtbox.hard figure {
	margin: 10px 0;
}

#container #main #ojt .crearfix .ojtbox.soft figure {
	margin: 10px 0;
}

#container #main #ojt .crearfix .ojtbox.hard .gakki {
	height:60px;
	margin:0 -10px 20px;
}

.gakki h5 {
	float:left;
	font-size: 18px;
	color: #FFF;
	margin-right:10px;
	padding-left:10px;
	line-height: 60px;
}

.gakki p {
	text-indent: 0;
	color: #FFF;
	line-height: 1.5em;
	padding-top: 10px;
}

/*先生からのメッセージ*/
#container #main #t_message ul li h5 {
	font-size: 20px;
	font-weight: bold;
}

#container #main #t_message ul li .tsub {
	font-size: 12px;
	font-weight: bold;
	text-indent: 0;
}

#container #main #t_message ul li .ttytle {
	font-size: 16px;
	font-weight: bold;
	color: #3fbed8;
	text-indent: 0;
	margin-top: 10px;
	line-height: 1.5em;
}

#container #main #t_message ul li h5 span {
	font-size: 12px;
}

#container #main #t_message ul li img {
	display: block;
	float: left;
}

#container #main #t_message ul li p {
	padding-left: 140px;
}

#container #main #t_message ul li h5 {
	padding-left: 140px;
}

#container #main #t_message ul li {
	margin-bottom:30px;
}

/*先輩からのメッセージ
*/
#container #main #s_message .students {
	margin-bottom: 50px;
}

#container #main #s_message .students .stf {
	width: 100px;
	float: left;
	margin-right: 40px;
	margin-bottom: 129px;
}

#container #main #s_message .students .stf.stf-wakaki {
	margin-bottom: 86px;
}

#container #main #s_message .students .stf .stc {
	font-size: 11px;
	font-weight: normal;
	line-height: 1.5em;
	text-align: center;
	text-indent: 0;
}

#container #main #s_message .students .stf .stc2 {
	font-size: 11px;
	font-weight: normal;
	line-height: 1.5em;
	text-align: center;
	text-indent: 0;
		margin-bottom: -100px;
}

#container #main #s_message .students .stf .stc3 {
	font-size: 11px;
	font-weight: normal;
	line-height: 1.5em;
	text-align: center;
	text-indent: 0;
		margin-bottom: 200px;
}

#container #main #s_message .students .stf .stname {
	font-size: 17px;
	font-weight: bold;
	text-align: center;
	text-indent: 0;
}

/*卒業後の進路
*/
#container #main #course table {
	margin-top:25px;
}

#container #main #course table tr {
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-top-color: #333;
	border-bottom-color: #333;
}

#container #main #course111 table tr {

	border-top-style: none;
	border-bottom-style: none;
	text-align: left;
}

#container #main #course table th {
	background-color: #ddf0f5;
	width: 170px;
	padding: 5px;
}

#container #main #course table td {
	padding: 5px;
}

#container #main #course table caption {
	font-weight: bold;
	color: #0075c1;
	text-align: left;
	margin-top:5px;	
}

#container #main #course111 table caption {
	font-weight: bold;
	color: #0075c1;
	text-align: left;
	margin-top:25px;	
}

#container #main #course #takeoffice table {
	margin-top:25px;
	margin-bottom:0px;
	background-image: url(../images/11fig_07.png);
	background-repeat: no-repeat;
	background-position: left center;
}

}

#container #main #course #takeoffice table tr {
	border-top-width: 0px;
	border-bottom-width: 0px;
}

#container #main #course #takeoffice table td {
	padding-bottom:250px;
}

/*入学案内*/
#container #main #ad .capa {
	background-color: #3fbed8;
	font-weight: bold;
	color: #FFF;
	text-indent: 0;
	margin-bottom:10px;
	padding-left: 5px;
	margin-top: 10px;
}

.adhdg {
	color: #3fbed8;
	text-indent: 0;
	margin-top:10px;
	font-weight:bold;
}

.adhdg11 {
	color: #007bc5;
	text-indent: 0;
	margin-top:10px;
	font-weight:bold;
}

#container #main #ad ul li {
	list-style-image: url(../images/square.gif);
	margin-left:2.5em;
}

#container #main #ad .inq li {
	list-style-image: none;
	list-style-type: disc;
}

#container #main #ad .inq li a {
	color: #232323;
}

/*編入学案内
*/
#container #main #ad_g .hQA dd {
	text-indent:-2em;
	margin-left:2em;
}

#container #main #ad_g .inq li a {
	color: #232323;
}

/*キャンパスライフ*/
#container #main #cl .clsentence {
	background-image: url(../images/13calender_03.png), url(../images/13img_03.png);
	background-repeat: no-repeat;
	background-position: right top, 0% 5%;
	padding-top: 250px;
	padding-right: 280px;
}

#container #main #cl .clsentence img {
	margin-top: 50px;
	margin-bottom: 50px;
}

/*情報科学類Q&A
*/
#container #main #qa dl dt {
	font-size: 16px;
	font-weight: bold;
	color: #3fbed8;
	background-image: url(../images/qmark.gif);
	background-repeat: no-repeat;
	background-position: left center;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 50px;
	margin-bottom:10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #3fbed8;
	line-height: 1.5;
}

#container #main #qa dl dd {
	background-image: url(../images/amark.gif);
	background-repeat: no-repeat;
	background-position: left top;
	padding-left: 50px;
	padding-bottom: 30px;
	margin-left:0px;
}

#container #main #qa dl dd a {
	color: #232323;
}

/*周辺地図*/
#container #main #imap h5 {
	font-size: 17px;
	font-weight: bold;
	color: #FFF;
	background-image: url(../images/back_16.png);
	padding-left: 15px;
	height: 30px;
	line-height: 30px;
	margin-bottom:30px;
}

#container #main #imap h5 span {
	font-size: 12px;
	font-weight: normal;
}

#container #main #imap .mapdi ul {
	width: 310px;
	float: left;
	margin-right:30px;
	font-size: 13px;
}

#container #main #imap .mapdi {
	margin-top: 30px;
}

#container #main #imap .mapdi ul li {
	text-indent: -1em;
	margin-left: 1em;
	line-height: 1.5em;
	margin-bottom: 10px;
}

/*フッター
*/
#container footer {
	margin-left: 280px;
}

#container footer .crearfix img {
	display: block;
	float: left;
}

#container footer .crearfix p {
	font-size: 13px;
	line-height: 1.5em;
	float: left;
	margin-left: 30px;
	text-indent: 0;
}

#container footer .crearfix p a {
	color: #232323;
}

#container footer h4 {
	background-image: url(../images/back_17.png);
	text-align: center;
	margin-top:10px;
	margin-left:-50px;
	padding: 20px;
}

/*ページトップボタンへ
*/
.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 30px;
}

.pagetop a {
	display: block;
	background-color:rgba(51,51,51,0.6);
	text-align: center;
	color: #fff;
	font-size: 13px;
	text-decoration: none;
	width:60px;
	height:60px;
	font-weight: bold;
	text-indent: 0;
	border-radius: 30px;
	line-height: 60px;
}

.pagetop a:hover {
	display: block;
	background-color:rgba(99,85,161,0.6);
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	text-indent: 0;
}

#container footer h4 a:hover {
	opacity:0.7;
}

/* =========================================================
   2026-2027 見出しテキスト化（ゴシック・太字・PDF準拠カラー）
   見出し濃紺 #2A4473 ／ サブ・グレー #606060 ／ 赤 #F13C56
   ========================================================= */
.midashi { border-left-color:#2A4473; }

.midashi h2, .midashi h4,
#p1 .p1-title, #p2 .cl-catch,
#ojt .ojt-title,
.gakki .course-pill {
	font-family:"ヒラギノ角ゴ ProN W6","Hiragino Kaku Gothic ProN",
		"Hiragino Sans","Yu Gothic Medium","游ゴシック Medium",YuGothic,
		"游ゴシック体","Yu Gothic","メイリオ",Meiryo,sans-serif;
	text-indent:0;
	font-feature-settings:"palt" 1;
}

.midashi h2 {
	color:#2A4473; font-weight:700; font-size:30px;
	line-height:1.2; letter-spacing:.03em; margin:0 0 12px 15px;
}

.midashi h2 .sub {
	color:#606060; font-weight:700; font-size:15px;
	letter-spacing:0; margin-left:16px; vertical-align:2px;
}

.midashi h4 {
	color:#606060; font-weight:700; font-size:15px;
	line-height:1.5; letter-spacing:.02em; margin:0 0 0 15px;
}

/* ご挨拶ページ・大見出し */
#container #main #p1 .p1-title {
	color:#2A4473; font-weight:700; font-size:24px;
	line-height:1.4; letter-spacing:.02em; margin:0 0 24px;
}

#container #main #p1 h3 { color:#2A4473; }

   /* 紫→濃紺で統一 */

/* 概要ページ・縦組みキャッチコピー */
#p2 .o_right .cl-catch {
	writing-mode:vertical-rl; -webkit-writing-mode:vertical-rl;
	-ms-writing-mode:tb-rl;
	color:#2A4473; font-weight:700; font-size:30px;
	line-height:1.3; letter-spacing:.06em; white-space:nowrap;
	height:470px; margin:0; text-indent:0;
}

/* OJT 見出し（COJTロゴ＋タイトル＋創房ロゴ） */
#container #main #ojt h2.ojt-h2 { text-align:left; overflow:hidden; margin-bottom:6px; }

#ojt .cojt-logo { float:left; height:56px; width:auto; margin-right:14px; }

#ojt .soubou-logo { float:right; }

#ojt .ojt-title {
	display:block; clear:both; padding-top:16px;
	color:#2A4473; font-weight:700; font-size:30px;
	line-height:1.2; letter-spacing:.03em;
}

/* OJT コースラベル（色付きピル＋日程） */
#container #main #ojt .gakki { height:auto; min-height:40px; margin:0 -10px 18px; }

.gakki .course-pill {
	display:inline-block; color:#fff; font-weight:700; font-size:18px;
	padding:6px 26px 6px 18px; border-radius:8px 999px 999px 8px;
	line-height:1.2;
}

.gakki .course-pill.hw { background:#2A4473; }

   /* ハードウェア＝濃紺 */
.gakki .course-pill.sw { background:#F13C56; }

   /* ソフトウェア＝赤 */
.gakki .course-meta {
	display:inline-block; margin-left:14px; font-size:13px;
	font-weight:bold; color:#232323; text-indent:0; vertical-align:3px;
}

/* =========================================================
   カリキュラム図（画像→HTML/CSS化）2026-2027
   タブ #3CBAD2 ／ SS #CE3F6F ／ IS #0080C0 ／ MM #209838
   ========================================================= */
.cur{ width:700px; color:#232323; font-size:11px; line-height:1.5;
	font-family:"ヒラギノ角ゴ ProN W3","Hiragino Sans","Yu Gothic","メイリオ",Meiryo,sans-serif; }

.cur *{ box-sizing:border-box; }

.cur .cf::after{ content:""; display:block; clear:both; }

.cur p{ text-indent:0; margin:0; }

.cur .l{ color:#2A4473; font-weight:bold; }

.cur-tab{ display:inline-block; background:#3CBAD2; color:#fff; font-weight:bold;
	font-size:13px; line-height:1; padding:6px 10px 6px 12px; position:relative; margin:0 0 8px; }

.cur-tab::after{ content:""; position:absolute; right:-11px; top:0;
	border:12px solid transparent; border-left-color:#3CBAD2; border-right-width:0; }

.cur-grp{ background:#DCE7E9; padding:12px 14px; }

.cur-box{ background:#fff; border:1px solid #cfd8da; padding:7px 10px; margin:8px 0; }

.cur-box:first-child{ margin-top:0; }

.cur-ar{ text-align:center; color:#3CBAD2; font-size:18px; line-height:1; margin:6px 0; }

.cur-2col{ }

.cur-2col .hdL,.cur-2col .hdR{ font-weight:bold; font-size:11px; padding-bottom:4px; }

.cur-2col .hdL{ float:left; }

.cur-2col .hdR{ float:right; color:#7a8a8c; }

.cur-flow{ background:#3CBAD2; color:#fff; padding:9px 12px; text-align:center; }

.cur-flow b{ font-size:13px; display:block; margin-bottom:3px; }

.cur-note{ text-align:center; color:#44666b; font-size:10px; margin:6px 0; }

/* 1・2年次の写真 */
.cur-photo{ display:block; margin:8px 0; }

.cur-photo img{ display:block; border:0; }

/* 3・4年次 共通科目 */
.cur-kyotsu{ background:#fff; border:1px solid #cfd8da; padding:8px 10px; margin-bottom:10px; }

/* 主専攻3カラム */
.cur-majs{ display:flex; align-items:stretch; }

.cur-majs .cur-maj{ width:214px; margin-right:9px; display:flex; flex-direction:column; }

.cur-majs .cur-maj.last{ margin-right:0; }

.cur-maj-hd{ color:#fff; font-weight:bold; font-size:12.5px; text-align:center; padding:6px 4px; }

.cur-maj-bd{ padding:9px 9px 11px; min-height:330px; flex:1 1 auto; display:flex; flex-direction:column; }

.cur-maj-bd .cur-exp{ margin-top:auto; }

.cur-maj.ss .cur-maj-hd{ background:#CE3F6F; }

 .cur-maj.ss .cur-maj-bd{ background:#FBEAEF; }

.cur-maj.is .cur-maj-hd{ background:#0080C0; }

 .cur-maj.is .cur-maj-bd{ background:#E7F1FA; }

.cur-maj.mm .cur-maj-hd{ background:#209838; }

 .cur-maj.mm .cur-maj-bd{ background:#EAF3E0; }

.cur-pill{ display:block; background:#fff; border:2px solid; border-radius:999px;
	text-align:center; font-weight:bold; font-size:12px; padding:3px 6px; margin:0 0 5px; }

.cur-maj.ss .cur-pill{ border-color:#CE3F6F; color:#CE3F6F; }

.cur-maj.is .cur-pill{ border-color:#0080C0; color:#0080C0; }

.cur-maj.mm .cur-pill{ border-color:#209838; color:#209838; }

.cur-pill + .cur-list{ margin:0 0 10px; }

.cur-list{ margin:0 0 10px; font-size:11px; line-height:1.55; }

.cur-exp{ background:#fff; border:2px solid; border-radius:10px; text-align:center;
	font-weight:bold; font-size:12px; padding:6px 4px; margin-top:6px; }

.cur-maj.ss .cur-exp{ border-color:#CE3F6F; }

 .cur-maj.is .cur-exp{ border-color:#0080C0; }

.cur-maj.mm .cur-exp{ border-color:#209838; }

/* 末尾の共通ボックス・卒業フロー */
.cur-wide{ background:#fff; border:1px solid #cfd8da; padding:8px 10px; margin-top:10px; }

.cur-sotsuken{ background:#fff; border:1px solid #cfd8da; padding:10px; text-align:center; margin-top:8px; }

.cur-sotsuken b{ font-size:15px; color:#2A4473; }

.cur-foot{ text-align:right; color:#44666b; font-size:10px; margin:6px 0 0; line-height:1.5; }

.cur-hantei{ background:#fff; border:1px solid #cfd8da; padding:9px; text-align:center; margin-top:8px; }

.cur-hantei b{ font-size:14px; color:#2A4473; }

.cur-sotsugyo{ background:#3CBAD2; color:#fff; font-weight:bold; font-size:15px;
	text-align:center; padding:9px; border-radius:999px; margin-top:8px; }

/* #p3 既存ルール(p{margin-bottom:40px}

等)より高い詳細度で図内段落を制御 */
#container #main #p3 .cur p{ margin:0; text-indent:0; line-height:1.5; }

#container #main #p3 .cur .cur-list{ margin:0 0 10px; }

#container #main #p3 .cur .cur-note{ margin:6px 0; }

#container #main #p3 .cur .cur-foot{ margin:6px 0 0; }

#container #main #p3 .cur .cur-tab{ margin:0 0 8px; }

/* カリキュラム：入試・1年次の2段組み */
.cur-2up .cur-rbox{ float:left; width:48%; background:#fff; border:1px solid #b8c4d6;
	border-radius:20px; text-align:center; padding:10px 8px; font-weight:bold;
	color:#2A4473; font-size:11.5px; line-height:1.4; text-indent:0; min-height:38px; }

.cur-2up .cur-rbox:first-child{ margin-right:4%; }

.cur-y1-l{ float:left; width:61%; }

.cur-y1-r{ float:right; width:36%; }

.cur-y1-l .cur-box:first-child{ margin-top:0; }

.cur-y1-r .cur-ar{ margin-top:0; }

#container #main #p3 .cur .cur-rbox{ margin-bottom:0; }

/* カリキュラム 1年次：左右2分割のグレー土台＋またがる科目ボックス */
.cur-y1{ position:relative; padding:12px 14px; overflow:hidden; background:#fff; }

.cur-y1 .bgL,.cur-y1 .bgR{ position:absolute; top:0; bottom:0; z-index:0; background:#DCE7E9; }

.cur-y1 .bgL{ left:0; width:49.4%; }

   /* 左右50%・中央は白の太い仕切り */
.cur-y1 .bgR{ right:0; width:49.4%; }

.cur-y1 > .cur-2up,
.cur-y1 > .cur-y1-head,
.cur-y1 > .cur-y1-boxes,
.cur-y1 > .cur-y1-bottom{ position:relative; z-index:1; }

.cur-y1-head{ margin-bottom:8px; }

.cur-y1-head .hdL,.cur-y1-head .hdR{ font-weight:bold; font-size:11px; }

.cur-y1-head .hdL{ float:left; color:#232323; }

.cur-y1-head .hdR{ float:right; color:#232323; padding-right:6px; }

.cur-y1-boxes .cur-box:first-child{ margin-top:0; }

.cur-y1-bottom{ margin-top:4px; }

.cur-y1-bottom .bl{ float:left; width:49%; }

.cur-y1-bottom .br{ float:right; width:49%; }

.cur-y1-bottom .br .cur-ar{ margin-top:0; }

/* 1年次：進級選択の下＝左右25%の2枠（中央に太い白の仕切り） */
.cur-choice{ position:relative; margin-top:8px; }

.cur-choice::before{ content:""; position:absolute; left:50%; top:0; bottom:0;
	width:6px; margin-left:-3px; background:#fff; z-index:1; }

.cur-choice .ch{ float:left; width:50%; box-sizing:border-box; text-align:center;
	padding:9px 4px; font-weight:bold; color:#2A4473; font-size:11px; line-height:1.45;
	position:relative; text-indent:0; }

.cur-choice .ch-r{ float:right; }

.cur-choice .ar{ display:block; color:#3CBAD2; font-size:14px; line-height:1; margin-bottom:3px; }

/* 入試の下：左右の段落中心に▼を1つずつ */
.cur-ar2{ position:relative; height:18px; margin:6px 0; }

.cur-ar2 .a-l,.cur-ar2 .a-r{ position:absolute; top:0; transform:translateX(-50%);
	color:#3CBAD2; font-size:18px; line-height:1; }

.cur-ar2 .a-l{ left:25%; }

.cur-ar2 .a-r{ left:75%; }

/* 進級選択の下：2つの流れを示す中央の白い仕切りは残す。
   仕切りは灰色パネル下端（白い部分との境界）まで伸ばし、
   「他学類に移行」はその範囲の上下中央に配置する。 */
.cur-choice.cur-choice-solo::before{ bottom:-60px; }

.cur-choice.cur-choice-solo .ch{ top:21px; }

/* 1年次→2年次：進級／情報科学類に移行 を同じ行に */
.cur-merge{ position:relative; height:20px; margin:8px 0; }

.cur-merge .cm{ position:absolute; top:0; white-space:nowrap; line-height:1; }

.cur-merge .cm-ar{ display:inline-block; transform:translateX(-50%);
	color:#3CBAD2; font-size:18px; line-height:1; vertical-align:middle; }

.cur-merge .cm-tx{ font-size:11px; font-weight:bold; color:#232323;
	vertical-align:middle; margin-left:2px; }

.cur-merge .cm-l{ left:25%; }

.cur-merge .cm-r{ left:62.7%; }

/* =========================================================
   卒業後の進路：進路フロー表（ヘッダー高さ統一・編入学センター・就職セル間）
   学類 #7ED2CC ／ 大学院2年 #96DEF6 ／ 大学院3年 #DE96CC
   ========================================================= */
.career-flow{ width:700px; margin:14px 0 22px; color:#232323;
	font-family:"ヒラギノ角ゴ ProN W3","Hiragino Sans","Yu Gothic","メイリオ",Meiryo,sans-serif; }

.career-flow *{ box-sizing:border-box; }

.career-flow .cf-labels{ position:relative; height:22px; }

.career-flow .cf-henyu{ position:absolute; left:0; width:33.33%; text-align:center; top:3px;
	font-size:11px; color:#555; white-space:nowrap; }

.career-flow .cf-job{ position:absolute; top:3px; font-size:11px; color:#555; white-space:nowrap; }

.career-flow .cf-j1{ left:33.33%; transform:translateX(-50%); }

.career-flow .cf-j2{ left:66.66%; transform:translateX(-50%); }

.career-flow .cf-j3{ left:100%; transform:translateX(-50%); }

.career-flow .cf-cols{ display:table; width:100%; table-layout:fixed; border-spacing:0; }

.career-flow .cf-hdrow,.career-flow .cf-bdrow{ display:table-row; }

.career-flow .cf-hd{ display:table-cell; width:33.33%; vertical-align:middle; text-align:center;
	padding:8px 4px; line-height:1.35; color:#173a4a; border-left:3px solid #fff; }

.career-flow .cf-hd:first-child{ border-left:0; }

.career-flow .cf-hd.cf-c1{ background:#7ED2CC; }

.career-flow .cf-hd.cf-c2{ background:#96DEF6; }

.career-flow .cf-hd.cf-c3{ background:#DE96CC; }

.career-flow .cf-hd .big{ font-weight:bold; font-size:15px; letter-spacing:.04em; }

.career-flow .cf-hd .sm{ font-size:11px; }

.career-flow .cf-hd .sub{ display:block; font-size:11px; margin-top:1px; }

.career-flow .cf-bd{ display:table-cell; width:33.33%; vertical-align:top;
	border:1px solid #cfd8da; border-top:0; border-left:3px solid #fff; padding:9px 10px; }

.career-flow .cf-bd:first-child{ border-left:1px solid #cfd8da; }

.career-flow .cf-bd p{ margin:0 0 5px; text-indent:0; line-height:1.4; font-size:12px; }

.career-flow .cf-bd .strong{ font-weight:bold; }

.career-flow .cf-bd .prog{ font-size:11px; color:#333; }

/* =========================================================
   キャンパスライフ：2026年度 学年暦（Illustrator→HTML, Webフォント代替）
   春学期 #F09684 ／ 秋学期 #6C7EA2
   ========================================================= */
.cal{ width:560px; margin:24px auto 8px;
	font-family:"ヒラギノ角ゴ ProN W3","Hiragino Sans","Yu Gothic","メイリオ",Meiryo,sans-serif; color:#232323; }

.cal *{ box-sizing:border-box; }

.cal .cal-title{ text-align:center; font-weight:bold; font-size:15px; color:#2A4473; margin:0 0 12px; text-indent:0; }

.cal .cal-title span{ font-weight:normal; font-size:11px; color:#666; margin-left:8px; }

.cal .cal-term{ display:table; width:100%; }

.cal .cal-tlabel{ display:table-cell; width:30px; vertical-align:middle; text-align:center;
	color:#fff; font-weight:bold; font-size:14px; letter-spacing:.15em;
	writing-mode:vertical-rl; -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; }

.cal .cal-tlabel.sp{ background:#F09684; }

.cal .cal-tlabel.au{ background:#6C7EA2; }

.cal .cal-months{ display:table-cell; vertical-align:top; padding-left:4px; }

.cal .cal-row{ display:table; width:100%; }

.cal .cal-row .m{ display:table-cell; width:62px; vertical-align:middle; text-align:center; position:relative; }

.cal .cal-row .m::before{ content:""; position:absolute; left:50%; top:0; bottom:0; width:8px; margin-left:-4px; z-index:0; }

.cal .cal-row .m.sp::before{ background:#F09684; }

.cal .cal-row .m.au::before{ background:#6C7EA2; }

.cal .cal-row .m b{ position:relative; z-index:1; display:block; width:44px; height:44px;
	margin:2px auto; border-radius:50%; line-height:44px; color:#fff; font-weight:bold; font-size:19px; }

.cal .cal-row .m.sp b{ background:#F09684; }

.cal .cal-row .m.au b{ background:#6C7EA2; }

.cal .cal-row .ev{ display:table-cell; vertical-align:middle; padding:5px 0 5px 16px; }

.cal .cal-row .ev p{ margin:2px 0; font-size:12px; line-height:1.45; text-indent:0; }

.cal .cal-row .ev p b{ color:#c0573f; font-weight:bold; margin-right:4px; }

.cal .cal-row .m.au + .ev p b{ color:#4a5a86; }

.cal .cal-row .ev p.none{ margin:0; height:8px; }

