@charset "utf-8";


/*--------------------------------------------
[COMMON] カラー設定
--------------------------------------------*/
#intern_top .itsp_department .dep_bus p,
#intern_top #modal_dep_bus p.eng,
#intern_top #modal_dep_bus p.course_name {
	color: #4578BA;
}

#intern_top #modal_dep_bus .course .btn_part a::before,
#intern_top .news_list li .tag.dep_bus {
	background-color: #4578BA;
}
#intern_top .itsp_department .dep_tdx p,
#intern_top #modal_dep_tdx p.eng,
#intern_top #modal_dep_tdx p.course_name {
	color: #D23778;
}

#intern_top #modal_dep_tdx .course .btn_part a::before,
#intern_top .news_list li .tag.dep_tdx {
	background-color: #D23778;
}

#intern_top .itsp_department .dep_rdp p,
#intern_top #modal_dep_rdp p.eng,
#intern_top #modal_dep_rdp p.course_name {
	color: #46843E;
}

#intern_top #modal_dep_rdp .course .btn_part a::before,
#intern_top .news_list li .tag.dep_rdp {
	background-color: #46843E;
}

#intern_top .itsp_department .dep_mft p,
#intern_top #modal_dep_mft p.eng,
#intern_top #modal_dep_mft p.course_name {
	color: #BF5818;
}

#intern_top #modal_dep_mft .course .btn_part a::before,
#intern_top .news_list li .tag.dep_mft {
	background-color: #BF5818;
}

#intern_top .itsp_department .text,
#intern_top .modal_set .course .btn_part a {
	/*background: #F2F6FA;*/
	background: #edf0f3;
}


/*--------------------------------------------
[COMMON] モーダル　コース情報 
--------------------------------------------*/
body.bodyfixed {
	overflow: hidden;
}

#intern_top .modal_set {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

#intern_top .modal_set .overlay {
	background: rgba(0, 0, 0, 0.7);
	height: 100vh;
	position: absolute;
	width: 100%;
}

#intern_top .modal_set .inside {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	overflow: scroll;
	overflow-y: auto;
	overflow-x: hidden;
}

#intern_top .modal_set .md_head {
	position: sticky;
	top: 0;
	left: 0;
}

#intern_top .modal_set .md_head a {
	display: block;
	position: relative;
	font-size: 0px;
	color: rgba(255, 255, 255, 0);
	margin: 0 0 0 auto;
}

#intern_top .modal_set .md_head a::before,
#intern_top .modal_set .md_head a::after {
	content: '';
	display: block;
	height: 2px;
	border-radius: 1px;
	position: absolute;
	background: #393636;
	transform: rotate(45deg);
}

#intern_top .modal_set .md_head a::after {
	transform: rotate(135deg);
}

#intern_top .modal_set .md_bottom a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border: 1px solid #393636;
	color: #393636;
	font-weight: bold;
	margin: 0 auto;
}

#intern_top .modal_set .md_bottom a::before,
#intern_top .modal_set .md_bottom a::after {
	content: '';
	display: block;
	height: 2px;
	border-radius: 1px;
	position: absolute;
	background: #393636;
	transform: rotate(45deg);
}

#intern_top .modal_set .md_bottom a::after {
	transform: rotate(135deg);
}

#intern_top .modal_set .course::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
	text-align: center;
}

#intern_top .modal_set .course.now::before {
	content: "募集中";
	background: #e00;
	color: #fff;
}

#intern_top .modal_set .course.comming::before {
	content: "27卒 今後更新予定";
	background: #746D6D;
	color: #fff;
}

#intern_top .modal_set .course.end::before {
	content: "募集期間終了";
	background: #eee;
	color: #757575;
}

#intern_top .modal_set .course .btn_part a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	font-weight: bold;
	line-height: 1;
	color: #393636;
}

#intern_top .modal_set .course .btn_part .comming a {
	pointer-events: none;
	color: #6C6C6C;
	background: #f0f0f0;
}

#intern_top .modal_set .course .btn_part .comming a::before {
	content: "準備中";
	color: #6C6C6C;
	line-height: 1;
	font-weight: normal;
	background: none !important;
}

@media screen and (min-width: 751px) {

	/*--------------------------------------------
[PC] setting
--------------------------------------------*/
	#intern_top section {
		padding: 40px 0 60px;
	}

	#intern_top section .inner {
		width: 1000px;
		margin: 0 auto;
	}

	#intern_top section h3.itsp_h3 {
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		position: relative;
		padding: 0 0 80px;
	}

	#intern_top section h3.itsp_h3::after {
		content: "";
		display: block;
		width: 54px;
		height: 2px;
		background: #262626;
		position: absolute;
		left: 473px;
		bottom: 40px;
	}

	/*--------------------------------------------
[PC] main imag
--------------------------------------------*/
	#intern_top .itsp_mainimage {
		display: block;
		height: 436px;
		background: url(../img/2023/main_image.jpg) no-repeat center top /contain;
		padding: 88px 0 0;
	}

	#intern_top .itsp_mainimage h2 .title_eng {
		display: block;
		margin: 0 auto;
		width: 791px;
		height: 164px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		color: rgba(0, 0, 0, 0);
		font-size: 0;
		background: url(../img/2020/main_image_text.png) no-repeat center top /contain;
	}

	#intern_top .itsp_mainimage h2 .message {
		display: block;
		text-align: center;
		font-weight: bold;
		color: #FFF;
		font-size: 28px;
		line-height: 1;
		text-shadow: 0px 0px 30px rgba(0, 0, 0, 1), 0px 0px 30px rgba(0, 0, 0, 1), 0px 0px 10px rgba(0, 0, 0, 1);
	}

	/*--------------------------------------------
[PC] 新着 NEWS
--------------------------------------------*/
	#intern_top .itsp_news .inner {
		width: 960px;
	}

	#intern_top .itsp_news h3.news_title {
		display: flex;
		flex-flow: row nowrap;
		justify-content: center;
		align-items: baseline;
		gap: 10px;
		margin: 0 0 30px;
	}

	#intern_top .itsp_news h3.news_title .title_eng {
		display: inline-block;
		font-weight: bold;
		font-size: 24px;
	}

	#intern_top .itsp_news h3.news_title .title_h3 {
		font-size: 14px;
	}

	#intern_top .news_list li {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 10px;
		margin: 8px 0 0;
	}

	#intern_top .news_list li .date {
		width: 70px;
		font-size: 15px;
		line-height: 28px;
		flex-shrink: 0;
	}

	#intern_top .news_list li .tag {
		flex-shrink: 0;
		width: 155px;
		font-size: 13px;
		letter-spacing: -0.05em;
		color: #fff;
		text-align: center;
		line-height: 28px;
		padding: 0;
		border-radius: 12px;
		white-space: nowrap;
	}

	#intern_top .news_list li .txt,
	#intern_top .news_list li .txt a {
		margin: 0;
		font-size: 15px;
		line-height: 28px;
	}

	/*--------------------------------------------
[PC] 部門別 インデックス
--------------------------------------------*/
	#intern_top .itsp_department .grid {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		align-items: flex-start;
		gap: 40px;
	}

	#intern_top .itsp_department .box {
		width: 480px;
		border-radius: 6px;
		overflow: hidden;
	}

	#intern_top .itsp_department .box a {
		text-decoration: none;
	}

	#intern_top .itsp_department .box figure {
		width: 480px;
	}

	#intern_top .itsp_department .box figure img {
		width: 100%;
		height: auto;
	}

	#intern_top .itsp_department .text {
		display: flex;
		flex-flow: column nowrap;
		justify-content: center;
		align-items: flex-start;
		position: relative;
		width: 100%;
		height: 100px;
		padding: 15px 40px;
	}

	#intern_top .itsp_department .course_name {
		width: fit-content;
		font-size: 22px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .itsp_department .eng {
		display: block;
		margin-left: 1px;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .itsp_department p.btn_modal_open {
		display: block;
		position: absolute;
		width: 78px;
		height: 30px;
		right: 40px;
		top: 35px;
		padding: 7px 0 0 11px;
		font-size: 12px;
		line-height: 1;
		font-weight: bold;
		color: #393636;
		border: 1px solid #393636;
		border-radius: 6px;
	}

	#intern_top .itsp_department .btn_modal_open .line {
		display: block;
		position: absolute;
		height: 1px;
		width: 10px;
		background: #393636;
		border-radius: 1px;
		top: 8px;
		right: 11px;
	}

	#intern_top .itsp_department .btn_modal_open .line:nth-child(2) {
		top: 13px;
	}

	#intern_top .itsp_department .btn_modal_open .line:nth-child(3) {
		top: 18px;
	}

	#intern_top .itsp_department .box a:hover p.btn_modal_open {
		color: #007AB8;
		border-color: #007AB8;
	}

	#intern_top .itsp_department .box a:hover .btn_modal_open .line {
		background: #007AB8;
	}

	#intern_top .itsp_department .box a:hover .course_name {
		text-decoration: underline;
	}

	/*--------------------------------------------
[PC]　コース情報 　モーダル表示
--------------------------------------------*/
	/*モーダルパーツ*/
	#intern_top .modal_set .inside {
		width: 1160px;
		padding: 0 0 20px;
		max-height: 560px;
		min-height: 400px;
	}

	#intern_top .modal_set .md_head {
		width: 100%;
	}

	#intern_top .modal_set .md_head a {
		width: 50px;
		height: 50px;
	}

	#intern_top .modal_set .md_head a::before,
	#intern_top .modal_set .md_head a::after {
		top: 25px;
		right: 10px;
		width: 30px;
	}

	#intern_top .modal_set .md_head a:hover::before,
	#intern_top .modal_set .md_head a:hover::after {
		background: #007AB8;
	}

	#intern_top .modal_set .md_contents {
		width: 960px;
		margin: -20px auto 0;
	}

	#intern_top .modal_set .md_bottom {
		width: 100%;
		padding: 30px 0 0;
	}

	#intern_top .modal_set .md_bottom a {
		width: 110px;
		height: 40px;
		font-size: 14px;
		border-radius: 20px;
		padding: 0 15px 0 0;
	}

	#intern_top .modal_set .md_bottom a::before,
	#intern_top .modal_set .md_bottom a::after {
		top: 18px;
		right: 18px;
		width: 16px;
	}

	#intern_top .modal_set .md_bottom a:hover {
		color: #007AB8;
		border-color: #007AB8;
	}

	#intern_top .modal_set .md_bottom a:hover::before,
	#intern_top .modal_set .md_bottom a:hover::after {
		background: #007AB8;
	}

	/*コース表示*/
	#intern_top .modal_set .course_name {
		width: fit-content;
		font-size: 24px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .eng {
		display: block;
		margin-left: 1px;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .course {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: 960px;
		height: 148px;
		margin: 20px 0 0;
		padding: 20px 40px;
		border: 1px solid #393636;
		border-radius: 6px;
	}

	#intern_top .modal_set .course::before {
		width: 150px;
		height: 30px;
		line-height: 30px;
		font-size: 14px;
		border-radius: 6px 0 6px 0;
	}

	#intern_top .modal_set .course.now::before {
		font-size: 16px;
	}

	#intern_top .modal_set .course p.summary {
		margin: 15px 0 0;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .course h4 {
		font-size: 24px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .course .btn_part p+p {
		margin: 12px 0 0;
	}

	#intern_top .modal_set .course .btn_part a {
		width: 270px;
		height: 48px;
		font-size: 15px;
		border-radius: 24px;
		padding: 0 15px 0 0;
	}

	#intern_top .modal_set .course .btn_part a::before {
		content: "";
		display: block;
		position: absolute;
		width: 24px;
		height: 24px;
		top: 12px;
		right: 12px;
		border-radius: 12px;
		background: url(../img/link_arrow_wh.svg) no-repeat center center / 6px;
	}

	#intern_top .modal_set .course .btn_part .comming a::before {
		width: 30px;
		height: 10px;
		top: 19px;
		right: 10px;
		font-size: 10px;
	}

	#intern_top .modal_set .course .btn_part a .txt_sm {
		font-size: 11px;
		margin-right: 5px;
	}

	#intern_top .modal_set .course .btn_part a:hover {
		color: #007AB8;
	}

	/*応募方法*/
	#intern_top .modal_set .cautionary {
		background: #F7FAFB;
		padding: 20px;
		margin: 10px 0 30px;
	}

	#intern_top .modal_set .cautionary p {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .cautionary dl {
		margin: 20px 0 0;
	}

	#intern_top .modal_set .cautionary dt {
		margin: 0 0 10px;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .cautionary dd,
	#intern_top .modal_set .cautionary li {
		font-size: 14px;
		line-height: 1.5;
	}

	#intern_top .modal_set .cautionary dd li {
		list-style: disc;
		margin-left: 20px;
	}


}

@media screen and (max-width: 750px) {

	/*--------------------------------------------
[SP] setting
--------------------------------------------*/
	#intern_top section {
		padding: 8vw 4vw 12vw;
	}

	#intern_top section .inner {
		width: 100%;
		margin: 0;
	}

	#intern_top section h3.itsp_h3 {
		text-align: center;
		font-size: 5.333333333vw;
		font-weight: bold;
		position: relative;
		padding: 0 0 12vw;
	}

	#intern_top section h3.itsp_h3::after {
		content: "";
		display: block;
		width: 11.2vw;
		height: 2px;
		background: #262626;
		position: absolute;
		left: 50%;
		bottom: 6vw;
		margin-left: -5.6vw;
	}

	/*--------------------------------------------
[SP] main imag
--------------------------------------------*/
	#intern_top .itsp_mainimage {
		display: block;
		height: 60vw;
		background: url(../img/2023/main_image_sp.jpg) no-repeat center top /contain;
		padding: 15.1vw 0 0;
	}

	#intern_top .itsp_mainimage h2 .title_eng {
		display: block;
		margin: 0 auto;
		width: 90.7vw;
		height: 18.3vw;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		color: rgba(0, 0, 0, 0);
		font-size: 0;
		background: url(../img/2020/main_image_text.png) no-repeat center top /contain;
	}

	#intern_top .itsp_mainimage h2 .message {
		display: block;
		text-align: center;
		font-weight: bold;
		color: #FFF;
		line-height: 1.6;
		font-size: 3.733333333vw;
		text-shadow: 0 0 6.4vw rgba(0, 0, 0, 1), 0 0 6.4vw rgba(0, 0, 0, 1), 0 0 1.6vw rgba(0, 0, 0, 1);
	}

	/*--------------------------------------------
[SP] 新着 NEWS
--------------------------------------------*/
	#intern_top .itsp_news h3 {
		text-align: center;
		padding: 0 0 7vw 0;
	}

	#intern_top .itsp_news h3.news_title {
		display: flex;
		flex-flow: row nowrap;
		justify-content: center;
		align-items: baseline;
		gap: 1.6vw;
		margin: 0 0 4vw;
		padding: 0;
	}

	#intern_top .itsp_news h3.news_title .title_eng {
		display: inline-block;
		font-weight: bold;
		font-size: 5.333333333vw;
	}

	#intern_top .itsp_news h3.news_title .title_h3 {
		font-size: 3.2vw;
	}

	#intern_top .news_list li {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 1.066666667vw;
		margin: 5.6vw 0 0;
	}

	#intern_top .news_list li .date {
		width: 18.4vw;
		font-size: 3.733333333vw;
		line-height: 6.4vw;
		flex-shrink: 0;
	}

	#intern_top .news_list li .tag {
		flex-shrink: 0;
		width: 36vw;
		font-size: 3.2vw;
		color: #fff;
		text-align: center;
		line-height: 6.4vw;
		padding: 0;
		border-radius: 12px;
		white-space: nowrap;
	}

	#intern_top .news_list li .txt,
	#intern_top .news_list li .txt a {
		width: 100%;
		margin: 0;
		font-size: 3.733333333vw;
		line-height: 6.4vw;
	}

	/*--------------------------------------------
[SP] 部門別 インデックス
--------------------------------------------*/
	#intern_top .itsp_department .grid {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 8vw;
	}

	#intern_top .itsp_department .box {
		width: 100%;
		border-radius: 1.6vw;
		overflow: hidden;
	}

	#intern_top .itsp_department .box a {
		text-decoration: none;
	}

	#intern_top .itsp_department .box figure {
		width: 100%;
	}

	#intern_top .itsp_department .box figure img {
		width: 100%;
		height: auto;
	}

	#intern_top .itsp_department .text {
		display: flex;
		flex-flow: column nowrap;
		justify-content: center;
		align-items: flex-start;
		position: relative;
		width: 100%;
		height: 25.6vw;
		padding: 4vw;
		background: #F2F6FA;
	}

	#intern_top .itsp_department .course_name {
		width: fit-content;
		font-size: 4.8vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .itsp_department .eng {
		display: block;
		margin-left: 1px;
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .itsp_department p.btn_modal_open {
		display: block;
		position: absolute;
		width: 18.4vw;
		height: 8vw;
		right: 4vw;
		top: 8.8vw;
		padding: 1.866666667vw 0 0 2.133333333vw;
		font-size: 3.2vw;
		line-height: 1;
		font-weight: bold;
		color: #393636;
		border: 1px solid #393636;
		border-radius: 1.6vw;
	}

	#intern_top .itsp_department .btn_modal_open .line {
		display: block;
		position: absolute;
		height: 1px;
		width: 2.4vw;
		background: #393636;
		border-radius: 1px;
		top: 2.133333333vw;
		right: 2.133333333vw;
	}

	#intern_top .itsp_department .btn_modal_open .line:nth-child(2) {
		top: 3.466666667vw;
	}

	#intern_top .itsp_department .btn_modal_open .line:nth-child(3) {
		top: 4.8vw;
	}


	/*--------------------------------------------
[SP] モーダル　コース情報 
--------------------------------------------*/
	/*モーダルパーツ*/
	#intern_top .modal_set .inside {
		width: 100%;
		padding: 0 0 8vw;
		max-height: 100vh;
	}

	#intern_top .modal_set .md_head {
		width: 100%;
	}

	#intern_top .modal_set .md_head a {
		width: 12vw;
		height: 12vw;
	}

	#intern_top .modal_set .md_head a::before,
	#intern_top .modal_set .md_head a::after {
		top: 6.4vw;
		right: 3.2vw;
		width: 8vw;
	}

	#intern_top .modal_set .md_contents {
		width: 92vw;
		margin: -6.4vw auto 0;
	}

	#intern_top .modal_set .md_bottom {
		width: 100%;
		padding: 4vw 0 0;
	}

	#intern_top .modal_set .md_bottom a {
		width: 28vw;
		height: 10.4vw;
		font-size: 3.466666667vw;
		border-radius: 5.2vw;
		padding: 0 4vw 0 0;
		text-decoration: none;
	}

	#intern_top .modal_set .md_bottom a::before,
	#intern_top .modal_set .md_bottom a::after {
		top: 4.533333333vw;
		right: 3.466666667vw;
		width: 4vw;
	}

	/*コース表示*/
	#intern_top .modal_set .course_name {
		width: fit-content;
		font-size: 5.333333333vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .eng {
		display: block;
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .course {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		position: relative;
		width: 100%;
		margin: 4vw 0 0;
		padding: 12vw 4vw 8vw;
		border: 1px solid #393636;
		border-radius: 1.6vw;
	}

	#intern_top .modal_set .course::before {
		width: 32vw;
		height: 8vw;
		line-height: 8vw;
		font-size: 3.2vw;
		border-radius: 1.6vw 0 1.6vw 0;
	}

	#intern_top .modal_set .course.now::before {
		font-size: 3.466666667vw;
	}

	#intern_top .modal_set .course p.summary {
		margin: 0;
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .course h4 {
		font-size: 4.8vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .course .btn_part {
		width: 100%;
	}
	#intern_top .modal_set .course .btn_part p {
		margin: 4vw 0 0;
	}

	#intern_top .modal_set .course .btn_part a {
		width: 72vw;
		height: 12.8vw;
		font-size: 4vw;
		border-radius: 6.4vw;
		padding: 0 4vw 0 0;
		margin: 0 auto;
		text-decoration: none;
	}

	#intern_top .modal_set .course .btn_part a::before {
		content: "";
		display: block;
		position: absolute;
		width: 6.4vw;
		height: 6.4vw;
		top: 3.2vw;
		right: 3.2vw;
		border-radius: 3.2vw;
		background: url(../img/link_arrow_wh.svg) no-repeat center center / 1.6vw;
	}

	#intern_top .modal_set .course .btn_part .comming a::before {
		width: 8vw;
		height: 2.666666667vw;
		top: 5.066666667vw;
		right: 2.4vw;
		font-size: 2.666666667vw;
	}

	#intern_top .modal_set .course .btn_part a .txt_sm {
		font-size: 3.2vw;
		margin-right: 1.066666667vw;
	}
	/*応募方法*/
	#intern_top .modal_set .cautionary {
		background: #F7FAFB;
		padding: 4vw;
		margin: 4vw 0 8vw;
	}

	#intern_top .modal_set .cautionary p {
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .cautionary dl {
		margin: 3.2vw 0 0;
	}

	#intern_top .modal_set .cautionary dt {
		margin: 0 0 2.4vw;
		font-size: 4vw;
		font-weight: bold;
		line-height: 1.5;
	}

	#intern_top .modal_set .cautionary dd,
	#intern_top .modal_set .cautionary li {
		font-size: 4vw;
		line-height: 1.5;
	}

	#intern_top .modal_set .cautionary dd li {
		list-style: disc;
		margin-left: 4vw;
	}


}