/*common mod---------*/
#cont{
	padding:0 0 50px;
}
.subInfo{
	padding:0 50px;
}
.red { color:#FF0000; font-weight:700; }

/*tooltop-------------------*/
.tooltip {
	cursor: help;
	border-bottom:#999 2px dotted;
}

#tooltip-box {
	display: none;
	position: fixed;
	z-index: 9999;
	background: #141B4D;
	color:#fff;
	border: 1px solid #ccc;
	padding: 20px;
	max-width: 430px;
	box-shadow: 0 4px 16px rgba(0,0,0,.15);
	overflow-wrap: break-word;
	line-height:1.8;
}
#tooltip-box.show {
	display: block;
}
#tooltip-box hr{
	height:0px;
	margin:10px 0;
	border-bottom:1px solid #ccc;
}
#tooltip-box a{
	/*color:#AF272F;*/
	color:#fff;
}
#tooltip-box a:hover{
	color:#fff;
	text-decoration:underline;
}

/*-------------------*/
section{
	padding:100px 0;
	text-align:center;
	line-height:1.6;
	font-size:16px;
}
section *{
	box-sizing: border-box;
}
section .inner{
	width:90%;
	margin:0 auto;
}
section .inner h2{
	display:inline-block;
	padding:0 106px 10px;
	margin:0 auto 50px;
	font-size: 36px;
	font-weight: 700;
	border-bottom:1px solid #000;
}
/*インターンシップについて------------------------------*/
#about{
	padding:60px 0 67px;
	background: linear-gradient(90deg, #0E0031 0%, #110030 14.06%, #190031 28.64%, #280B36 43.46%, #43133B 58.45%, #691038 73.57%, #951E30 88.57%, #BE2920 100%);
}
#about .inner{
	max-width:1194px;
	color: #FFF;
	line-height: 2.1;
	font-size: 20px;
}
#about img{
	width:100%;
	margin:0 auto 50px;
}
#about h2{
	margin:0 auto 50px;
	padding:0;
	font-size: 36px;
	font-weight: 700;
	border:none;
}
#about a.entry{
	display:block;
	width:90%;
	max-width:400px;
	height:80px;
	margin:50px auto 0;
	border-radius: 40px;
	border: 2px solid #813737;
	background: linear-gradient(90deg, #AF272F 0%, #141B4D 50%);
	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
	font-size:32px;
	color:#fff;
	line-height:1;
	font-weight:700;
	transition-duration: 0.3s;
}
#about a.entry span{
	font-size: 16px;
}
#about a.entry:hover{
	opacity:0.7;
}
/*INDEX-------------------------------*/
#index{	
	padding:45px 0;
	background: linear-gradient(180deg, #FFF 50%, #EEEFF0 100%);
}
#index h2{
	display:inline-block;
	padding:0 106px 10px;
	margin:0 auto 30px;
	font-size: 28px;
	font-weight: 700;
	border-bottom:1px solid #000;
}
#index ul{
	width:100%;
	max-width:600px;
	margin: 0 auto;
}
#index ul li{
	position:relative;
	height:52px;
	margin:0 0 15px;
	border-radius: 26.25px;
	border: 0.75px solid #141B4D;
	font-size: 18px;
	border-radius: 26.25px;
}
#index ul li a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	background:#fff url(../img/intern_summer/index_arrow.svg) no-repeat;
	background-position:right 20px center;
	border-radius: 26.25px;
	transition-duration: 0.3s;
}
#index ul li a:hover{
	background:#141B4D url(../img/intern_summer/index_arrow_w.svg) no-repeat;
	background-position:right 20px center;
	border-radius: 26.25px;
	color:#fff;
}
/*ポイント-------------------------------*/
#point .inner{
	max-width:1215px;
	margin:0 auto;
}
.point{
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap:30px;
	margin:0 auto 50px;
}
.point li{
	margin:0;
	padding:30px 20px 60px;
	background:#141B4D;
	color:#fff;
}
.point li h3{
	margin:0 auto 30px;
	font-family: "Noto Sans JP";
	font-size: 30px;
	line-height:1.2;
	font-weight:700;
}
.point li h3 span{
	display:block;
	margin:0 auto 17px;
	color: #FF7A00;
	font-family: Inter;
	font-size: 24px;
	font-weight: 700;
}
.point li div{
	text-align:left;
	line-height:1.76;
}
#point h4{
	width:100%;
	max-width:900px;
	margin:0 auto 20px;
	padding:6px 0;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	background: #BC2921;
	color:#fff;
	line-height:1;
}
#point .benefits{
	width:100%;
	max-width:900px;
	margin:0 auto;
}
#point .benefits li{
	position:relative;
	display:flex;
	justify-content:left;
	align-items:center;
	height:50px;
	margin:0 0 10px;
	padding:0 0 0 45px;
	border: 1px solid #141B4D;
	text-align:left;
}
#point .benefits li:before{
	position:absolute;
	content:"◎";
	margin:0 0 0 -20px;
}
/*開催要項-------------------------------*/
#outline{
	background:#EEEFF0;
}
#outline .inner{
	max-width:1065px;
}
#outline .details{
	display:flex;
	justify-content:space-between;
	text-align:left;
}
#outline .details > li:first-child{
	width:37.5%;
}
#outline .details > li:last-child{
	width:56.3%;
}
#outline .details > li > div{
	padding:30px 25px 32px;
	margin:0 0 30px;
	background:#fff;
	line-height:1.75;
}
#outline .details > li h3{
	margin:0 0 20px;
	color:#AF272F;
	border-bottom:1px solid #000;
	font-size:20px;
	font-weight:700;
}
#outline .details > li h4{
	font-weight:700;
}
#outline .details > li p{
	margin:26px auto;
	padding:20px 26px;
	border: 3px solid #D9D9D9;
}
#outline .details > li p span{
	color:#AF272F;
	font-weight:700;
}
#outline .details > li > div div{
	font-size:14px;
}

#outline .details > li ul li{
	position:relative;
	padding:0 0 0 30px;
}
#outline .details > li ul li:before{
	position:absolute;
	content:"・";
	margin:0 0 0 -15px;
}
/*プラグラム-------------------------------*/
#program .inner{
	max-width:1100px;
}
#program .inner h2{
	padding:0 50px 10px;
}
#program h5{
	display:inline-block;
	padding:2px 30px;
	margin:0 auto 20px;
	border-radius: 15px;
	background: #E82015;
	color:#fff;
	font-size:18px;
}
#program a.entry{
	display:flex;
	justify-content:center;
	align-items:center;
	width:90%
	max-width:600px;
	height:80px;
	margin:0 auto 40px;
	border-radius: 60px;
	background: linear-gradient(90deg, #141B4D 50%, #AF272F 100%);
	color:#fff;
	font-size:24px;
	font-family: Inter;
	font-weight: 700;
	transition-duration: 0.3s;
}
#program a.entry:hover{
	opacity:0.7;
}
#program .inner div{
	margin:40px auto 0;
	padding:30px 150px;
	border: 3px solid #D9D9D9;
}
#program .inner div img{
	width:100%;
}
#program .inner div dl{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	padding:12px 0 0;
	margin:38px auto 0;
	border-top:1px solid #666;
}
#program .inner div dt{
	width:98px;
	color:#AF272F;
	font-weight:700;
	text-align:left;
}
#program .inner div dd{
	width:calc(100% - 110px);
}
#program .inner div dd li{
	position:relative;
	padding:0 0 0 15px;
	margin:0 0 10px;
	text-align:left;
	font-size:14px;
}
#program .inner div dd li:before{
	position:absolute;
	content:"・";
	margin:0 0 0 -15px;
}
.info{
	font-size:14px;
	margin:0 auto 40px;
}
/*プラグラム一覧-------------------------------*/
#programList{
	background:#EEEFF0;
}
#programList .inner{
	max-width:1200px;
}
#programList .guide{
	width:500px;
	padding:20px 70px;
	margin:30px auto 50px;
	border:2px solid #999;
}
#programList .guide h3{
	display:inline-block;
	padding:0 15px;
	margin:0 auto;
	font-weight:700;
	font-size:18px;
	text-align:center;
	border-bottom:1px solid #000;
}
#programList .guide ul{
	margin:15px auto 0;
}
#programList .guide ul li{
	position:relative;
	padding:0 0 0 15px;
	text-align:left;
}
#programList .guide ul li:before{
	position:absolute;
	content:"・";
	margin:0 0 0 -15px;
}
#programList .search{
	margin:0 auto 50px;
	padding:50px 85px;
	background:#fff;
}
#programList .search dl{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	text-align:left;
}
#programList .search dt{
	width:19.4%;
	margin:0 0 50px;
}
#programList .search dd{
	width:77.6%;
	margin:0 0 50px;
	padding:5px 0 0;
}
#programList .search dt div{
	color:#AF272F;
	font-size:20px;
	font-weight:700;
	border-bottom:1px solid #000;
}
#programList .search dd h4{
	margin:0 0 15px;
	font-size:18px;
	font-weight:700;
}
#programList .search dd input[type=radio]{
	margin:0 10px 20px;
}
#programList .search dd input[type=checkbox]{
	margin:0 10px 20px;
}
/*ラジオボタン装飾*/
#programList .course label,#programList .venue label {
	display: inline-block;
	position: relative;
	cursor: pointer;
	padding-left: 36px;
	margin:0 20px 10px 0;
}
#programList .course label::before,
#programList .course label::after,
#programList .venue label::before,
#programList .venue label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
#programList .course label::before,
#programList .venue label::before {
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}
#programList .course label::after,
#programList .venue label::after {
  background-color: #0075ff;
  border-radius: 50%;
  opacity: 0;
  width: 14px;
  height: 14px;
  left: 9px
}
#programList .course input:checked + label::after,
#programList .venue input:checked + label::after {
  opacity: 1;
}
#programList .course input,
#programList .venue input{
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}
/*チェックボックス　装飾*/
#programList .keyword input[type=checkbox] {
    display: none;
}
#programList .keyword label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 20px 5px 30px;
    position: relative;
    width: auto;
}
#programList .keyword label::before {
    background: #fff;
    border: 1px solid #231815;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
#programList .keyword label::after {
    border-right: 3px solid #0075ff;
    border-bottom: 3px solid #0075ff;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}
#programList .keyword input[type=checkbox]:checked + label::after {
    opacity: 1;
}
#programList .search ul{
	display:flex;
	justify-content:center;
	margin:0 10px 40px;
}
#programList .search ul li{
	margin:0 10px;
}
#programList .search p{
	width:220px;
	padding:10px 0;
	border-radius:30px;
	font-size:18px;
	border:1px solid #000;
	cursor:pointer;
}
.resultArea{
	padding:50px 85px;
	background:#fff;
}
.result{
	padding:30px 50px;
	margin:0 0 30px;
	border:1px solid #ccc;
	text-align:left;
}
.result.hit{
	display:block!important;
}
.result#nohit{
	display:none;
}
.result .title{
	display:flex;
	flex-wrap:wrap;
	margin:0 0 30px;
	line-height:1.6;
}
.result .title div:first-child{
	display:flex;
	justify-content:center;
	align-items:center;
	width:16%;
	padding:10px 0;
	background:#47D7AC;
	color:#fff;
	font-size:14px;
	font-weight:700;
}
.result .title div:last-child{
	width:84%;
	padding:10px 0 10px 12px;
	background:#E8E8ED;
	font-size:18px;
	font-weight:700;
}
.result dl{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	line-height:2;
}
.result dl dt{
	width:27%;
	margin:0 0 20px;
	font-size:14px;
	font-weight:700;
}
.result dl dd{
	width:70%;
	padding:4px 0 0 0;
	margin:0 0 20px;
}
.result dl dt div{
	padding:4px 0 5px 10px;
	border-left:10px solid #47D7AC;
	border-bottom:1px solid #47D7AC;
}
.result dl dd ul{
	position:relative;
	padding:0 0 0 15px;
}
.result dl dd ul li:before{
	position:absolute;
	content:"・";
	margin:0 0 0 -15px;
}
.result dl dd span:not(.tooltip){
	color:#AF272F;
	font-weight:700;
}

/*応募ステップ-------------------------------*/
#step .inner{
	max-width:1220px;
}
#step .inner dl{
	display:flex;
	flex-wrap:wrap;
	margin:50px auto 0;
}
#step .inner dl dt{
	width:49%;
	background:url(../img/intern_summer/step_arrow.svg) no-repeat;
	background-position:center bottom 25%;
}
#step .inner dl dt:last-of-type{
	background:none;
}
#step .inner dl dd{
	width:51%;
	padding:10px 0 0 20px;
	margin:0 0 70px;
	text-align:left;
}
#step .inner dl dt div{
	padding:10px 0 15px;
	margin:0 0 70px;
	font-size:26px;
	font-weight:700;
	background:#141B4D;
	color:#fff;
	text-align: center;
	line-height:1;
}
#step .inner dl dt div span{
	display:block;
	margin:0 0 5px;
	color: #FF7A00;
	font-family: Inter;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -1px;
}
#step .inner dl dd a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	max-width:450px;
	height:52px;
	margin:40px auto 0;
	border-radius:26px;
	border:1px solid #141B4D;
	transition-duration: 0.3s;
}
#step .inner dl dd a:hover{
	background:#141B4D;
	color:#fff;
}

/*JSOLについて-------------------------------*/
#jsol{
	background: linear-gradient(90deg, #0E0031 0%, #110030 14.06%, #190031 28.64%, #280B36 43.46%, #43133B 58.45%, #691038 73.57%, #951E30 88.57%, #BE2920 100%);
}
#jsol .inner{
	max-width:1224px;
	color:#fff;
}
#jsol .inner h2{
	margin:0 auto 100px;
	border-bottom:1px solid #fff;
}
#jsol .inner h3{
	width:200px;
	padding:0 0 10px;
	margin:0 0 15px;
	font-size:20px;
	font-weight:700;
	border-bottom:1px solid #fff;
}

#jsol .inner img{
	width:100%;
}
#jsol ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:0 auto 50px;
}
#jsol ul li{
	width:49%;
	margin:0 0 50px;
	text-align:left;
	line-height:2;
}
#jsol .inner > div{
	width:50%;
	margin:0 auto 70px;
}
#jsol .inner > div h3{
	margin:0 auto 20px;
	text-align:center;
}
#jsol a{
	display: flex;
    justify-content: center;
    align-items: center;
	width:100%;
    max-width: 800px;
    height: 52px;
    margin: 40px auto 0;
    border-radius: 26px;
    border: 1px solid #141B4D;
	background:#fff;
	transition-duration: 0.3s;
}
#jsol a:hover{
	background:#141B4D;
	color:#fff;
}

/*エントリー-------------------------------*/
#entryArea a{
	display:block;
	width:100%;
	max-width:600px;
	height:120px;
	margin:50px auto 0;
	padding:5px 0 0;
	border-radius: 60px;
	background: linear-gradient(90deg, #AF272F 0%, #141B4D 50%);
	font-family: Inter;
	font-size: 48px;
	font-weight:700;
	color:#fff;
	line-height:1;
	letter-spacing: -2.4px;
	transition-duration: 0.3s;
}
#entryArea a:hover{
	opacity:0.7;
}
#entryArea a span{
	font-family: "Noto Sans JP";
	font-size: 24px;
	letter-spacing: 0;
}
@media screen and (max-width: 960px) {
	section{
		padding:50px 0;
	}
	section .inner h2{
		display:block;
		padding:0 0 10px;
		margin:0 auto 30px;
		font-size: 24px;
		line-height:1.4;
	}
	/*tooltop-------------------*/
	#tooltip-box {
		width: calc(90vw - 40px);
	}
	/*インターンシップについて------------------------------*/
	#about .inner{
		line-height: 2;
		font-size: 18px;
	}
	#about h2{
		margin:0 auto 20px;
		font-size: 28px;
		line-height:1.2;
	}
	/*INDEX-------------------------------*/
	#index ul li{
		height:70px;
		border-radius: 35px;
	}
	#index ul li a,#index ul li a:hover{
		border-radius: 35px;
	}
	/*ポイント-------------------------------*/
	.point{
		display:block;
	}
	.point li{
		margin:0 0 20px;
	}
	.point li h3{
		font-size: 24px;
	}
	.point li h3 span{
		font-size: 18px;
	}
	#point h4{
		padding:10px 0;
		font-size: 20px;
		line-height:1.4;
	}
	#point .benefits li{
		height:auto;
		padding:10px 0 10px 25px;
	}
	#point .benefits li:before{
		top:10px;
		margin:0 0 0 -20px;
	}
	/*開催要項-------------------------------*/
	#outline .details{
		display:flex;
		flex-wrap:wrap;
	}
	#outline .details > li:first-child{
		width:100%;
	}
	#outline .details > li:last-child{
		width:100%;
	}
	#outline .details > li p{
		padding:20px 5%;
	}
	/*プラグラム-------------------------------*/
	#program .inner div{
		padding: 20px 5%;
	}
	#program .inner div dt{
		width:100%;
	}
	#program .inner div dd{
		width:100%;
	}
	#program a.entry{
		font-size:18px;
	}
	
	/*プラグラム一覧-------------------------------*/
	#programList .search{
		padding:50px 5%;
	}
	#programList .search dt{
		width:100%;
		margin:0 0 10px;
	}
	#programList .search dd{
		width:100%;
		margin:0 0 20px;
	}
	#programList .search ul li{
		width:50%;
	}
	#programList .search p{
		width:100%;
		padding:5px 0;
		font-size:16px;
	}
	#programList .guide{
		width:100%;
		padding:20px 5%;
	}
	.resultArea{
		padding:20px 10px;
	}
	.result{
		padding:10px;
		margin:0 0 10px;
	}
	.result .title div:first-child{
		width:45%;
	}
	.result .title div:last-child{
		width:100%;
	}
	.result dl dt{
		width:80%;
		margin:0 0 10px;
	}
	.result dl dd{
		width:100%;
		padding:4px 0 0 10px;
	}
	/*応募ステップ-------------------------------*/
	#step .inner dl dt{
		background:none;
	}
	#step .inner dl dt div{
		font-size:20px;
		line-height:1.4;
	}
	#step .inner dl dd{
		margin:0 0 30px;
	}
	#step .inner dl dd a{
		font-size:14px;
		letter-spacing:-1px;
	}
	
	/*JSOLについて-------------------------------*/
	#jsol ul li{
		width:100%;
	}
	#jsol .inner > div{
		width:100%;
	}
	/*エントリー-------------------------------*/
	#entryArea a{
		height:80px;
		font-size: 32px;
		border-radius: 40px;
	}
	#entryArea a span{
		font-size: 16px;
	}
	
}