@charset "utf-8";
/* CSS Document */

/* 長い矢印 */
.arrow {
	position: relative;
	display: inline-block;
	width: 2em;
	height: 1em;
	vertical-align: middle;
}
.arrow::before,
.arrow::after {
	content: "";
	top: 0;
	bottom: 0;
	position: absolute;
}
.arrow::before {
	left: 0;
	right: 0;
	height: 2px;
	margin: auto;
	background-color: currentcolor;
}
.arrow::after {
	width: 0.5em;
	height: 0.5em;
	right: 0.0625em;
	margin: auto;
	border-right: 2px solid currentcolor;
	border-top: 2px solid currentcolor;
	transform: rotate(45deg);
}

#inx_main {
	padding-bottom: 1px;
}
#inx_main .slick-dots {
	bottom: -25px;
}
#inx_main .slick-dotted.slick-slider {
	margin-bottom: 30px;
}
@media (min-width: 768px) {
	#inx_main .slick-dots {
		bottom: 5px;
	}
	#inx_main .slick-dotted.slick-slider {
		margin-bottom: 0px;
	}
}
#inx_main .slick-list {
	margin: 0;
	padding: 0;
}
#inx_main .slick-dots li button:before {
	color: #ccc;
	font-size: 11px;
	opacity: 1;
}
#inx_main .slick-dots li.slick-active button:before {
	color: #179b3c;
}
@media (min-width: 600px) {
	#inx_main .mv_img_sp {
		display: none;
	}
}
@media (max-width: 599px) {
	#inx_main .mv_img_pc {
		display: none;
	}
}



#inx_content {
	margin: 0 auto 80px;
	width: 1100px;
	overflow: hidden;
}
#blocks #inx_main{
    margin: 0px auto 40px;
	/*background: url(../images/top/bg_inx.jpg) no-repeat center top;
	min-height:570px;*/
}

#blocks #inx_main .banner_block{margin:50px auto 0; text-align:center; overflow:hidden; width:1100px;}
#blocks #inx_main .banner_block img {border: solid 1px #fff; margin:5px 1px;}

#side_left{margin:0; width:240px;}
#side_right{margin:0; width:235px;}
#main{margin:0 10px; width:595px; overflow:hidden;}
#side_left,#side_right,#main{display:inline-block; vertical-align:top;}



/*#side_left ul li a:hover{opacity:0.8;display:block;}*/
#side_left ul li .menu01{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #D7000F;}
#side_left ul li .menu02{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #990065;}
#side_left ul li .menu03{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #650099;}
#side_left ul li .menu04{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #0071BB;}
#side_left ul li .menu05{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #DD5900;}
#side_left ul li .menu06{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #005537;}
#side_left ul li .menu07{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #7FBF5F;}
#side_left ul li .menu08{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #3F9FDF;}
#side_left ul li .menu09{margin:3px 0;padding:6px 5px 6px 10px; border-left:4px solid #DF7F1F;}

#side_right ul{margin:0;}
#side_right ul li {margin:0 0 10px 0;}
#side_right ul li a:hover{opacity:0.8;}


@media (max-width: 768px) {
	#side_right ul{
		text-align: center;
	}
}

#news_block{}

.btn_list {
	margin: 20px 0;
	padding: 5px 10px;
	text-align: center;
}
#main .btn_list a {
	color: #fff!important;
	text-decoration: none;
}
.btn_list a {
	position: relative;
	display: inline-block;
	width: min(50%, 200px);
	padding: 0.75em;
	background-color: #000;
	border-radius: 2em;
}
.btn_list a .arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto 0;
}
.btn_list a:hover .arrow {
	right: 20px;
}

@media (max-width: 767px) {
	.btn_list a {
		font-size: 12px;
		padding: 0.625em;
	}
}


/* ------------------------------
	ニュースタブ部分
------------------------------ */
.tab_accordion {
	position: relative;
	box-sizing: border-box;

	margin: 0 auto;
	width: calc(100% - 10px);
	max-width: 590px;
	/*height: 650px;
	border: 1px solid #ccc;*/
}
#main .tab_accordion a {
	color: inherit;
}
#main .tab_accordion .tab_btns a {
	text-decoration: none;
}
.tab_accordion *,
.tab_accordion *::before,
.tab_accordion *::after {
	box-sizing: inherit;
}

.tab_btns {
	display: flex;
	flex-wrap: wrap;
}
.tab_btns li {
	flex: 1 0 33%;
	text-align: center;
}
.tab_btns li a {
	display: block;
	padding: 0.5em 0 0.25em;
	border-bottom: 2px solid #ccc;
}
@media (min-width: 768px) {
	.tab_btns li {
		flex: auto;
	}
}
@media (min-width: 1100px) {
	.tab_btns li {
		flex: 1;
	}
	.tab_btns li a {
		padding: 1em 0 0.75em;
	}
}
#main .tab_btns li a.btnAcv {
	/*color: #053184;*/
	color: #000;
	border-color: currentcolor;
}

#main .tab_btns li.tab_info a.btnAcv{
	color: #2e7e16;
}

#main .tab_btns li.tab_press a.btnAcv{
	color: #053184;
}

#main .tab_btns li.tab_award a.btnAcv{
	color: #5d2369;
}

#main .tab_btns li.tab_event a.btnAcv{
	color: #f56a29;
}

.tab_body_sec {
	padding: 1em 0;
}
.news_box {
	padding: 0.75em;
}
.news_box + .news_box {
	border-top: 1px dotted #ccc;
}
.news_box > div {
	font-size: 11px;
	margin-bottom: 5px;
}

.news_box .icon{
	width: 84px;
	display: inline-block;
    margin-left: 5px;
    border-radius: 10px;
    color: #fff;
    padding: 2px 10px;
	text-align: center;
}

.news_box .info .icon {
	background-color: #2e7e16;
}
.news_box .award .icon {
	background-color: #5d2369;

}
.news_box .press .icon {
	background-color: #465DAA;
    letter-spacing: -1px;
    padding: 2px 5px;
}
.news_box .event .icon {
	background-color: #f56a29;
}

/*
.news_box > div::after {
	content: "";
	display: inline-block;
	/* 画像サイズ 88x22 */
	/*
	width: 64px;
	min-height: 16px;/* 64*22/88 */
	/*
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	vertical-align: -4px;
	margin-left: 5px;
}

.news_box .info::after {
	background-image: url(../images/top/icn_info.gif);
}
.news_box .award::after {
	background-image: url(../images/top/icn_award.gif)
}
.news_box .press::after {
	background-image: url(../images/top/icn_press.gif)
}
.news_box .event::after {
	background-image: url(../images/top/icn_event.gif)
}
*/

@media (min-width: 768px) {
	.news_box {
		display: flex;
	}
	.news_box > div {
		flex-basis: 180px;
	}
	.news_box > div::after {
		width: 88px;
		min-height: 22px;
		vertical-align: middle;
	}
	.news_box p {
		flex: 1;
	}
}

.sp_banner_block{display:none;}


@media only screen and (max-width: 1024px) {
#side_left{margin:0; width:19%;}
#side_right{margin:0; width:19%;}
#main{margin:0px; width:60%; overflow:hidden;}
#inx_content{width:99%; margin:20px 10px 20px;}
#bxslider{width:100%;}
#bxslider img{max-width:100%; vertical-align:auto; height:auto;}
#blocks #inx_main{margin:0 0;width:100%; background-size:100%;}
#blocks #inx_main .banner_block{margin:50px auto 0; text-align:center; overflow:hidden; width:100%;}



#side_left ul li a{height:auto;font-size:13px;}
#side_right ul li img {max-width:100%; vertical-align:auto; height:auto;}


}

@media only screen and (max-width: 800px) {
/*
#side_left{margin:0; width:145px;}
#side_right{margin:0; width:135px;}
#main{margin:0; width:450px; overflow:hidden;}
*/
#inx_content{width:99%; margin:20px 10px 20px;}
#bxslider{width:100%;}
#bxslider img{max-width:100%; vertical-align:auto; height:auto;}
#blocks #inx_main{margin:0 0;width:100%; height:auto; background-size:100%;}
#blocks #inx_main .banner_block{margin:50px auto 0; text-align:center; overflow:hidden; width:100%;}

#side_left ul li a{height:auto;font-size:13px;}
#side_right ul li img {max-width:100%; vertical-align:auto; height:auto;}
}

@media only screen and (min-width:320px) and (max-width:767px){
#blocks #inx_main .banner_block{display:none;}
#bxslider{width:100%;}
#bxslider img{max-width:100%; vertical-align:auto; height:auto;}
#blocks #inx_main{margin:0 0;width:100%; height:auto; background-size:100%;}
#blocks #inx_main .banner_block{margin:50px auto 0; text-align:center; overflow:hidden; width:100%;}

#inx_content{width:100%; margin:0 0 20px;}
.sp_banner_block{display:block; width:100%;margin:10px 0 0 0; text-align:center;}
.sp_banner_block img{
	max-width:45%;
	/*max-width:30%;*/
	vertical-align:auto;
	margin:5px;
	height:auto;
}

#side_left{margin:0; width:98%; padding:5px}
#side_right{margin:0; width:98%; padding:5px}
#main{margin:0; width:98%; overflow:hidden; padding:5px}
#side_left,#side_right,#main{display:block; vertical-align:top;}


#side_right {}
#side_right li {float:left; width:47%;margin:5px !important;}
#side_right li img{max-width:100%;vertical-align: }
}

/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */



@media only screen and (min-width:568px) and (max-width:767px){
#blocks #inx_main{margin:0 0 30px;width:100%; height:auto; background-size:100%;}
#side_left{margin:0; width:98%; padding:5px}
#side_right{margin:0; width:98%; padding:5px}
#main{margin:0; width:98%; overflow:hidden; padding:5px}
#side_left,#side_right,#main{display:block; vertical-align:top;}


#side_right li {float:left; width:47%;margin:5px !important;}
}
@media only screen and (min-width:320px) and (max-width:567px){
#blocks #inx_main{margin: 0px 0 20px}
#side_left{margin:0; width:98%; padding:5px}
#side_right{margin:0; width:98%; padding:5px}
#main{margin:0; width:98%; overflow:hidden; padding:5px}
#side_left,#side_right,#main{display:block; vertical-align:top;}
}
@media only screen and (max-width: 479px) {

#side_left ul li .menu01,
#side_left ul li .menu02,
#side_left ul li .menu03,
#side_left ul li .menu04,
#side_left ul li .menu05,
#side_left ul li .menu06,
#side_left ul li .menu07,
#side_left ul li .menu08,
#side_left ul li .menu09{ height:2.5em;}
#side_left ul li .menu02,
#side_left ul li .menu04,
#side_left ul li .menu06,
#side_left ul li .menu07,
#side_left ul li .menu08,
#side_left ul li .menu09{padding:12px 5px 0 10px;}

}
@media only screen and (max-width: 414px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 320px) {
#inx_content{width:100%; margin:0 0 20px;}
.sp_banner_block{display:block; width:100%;margin:10px 0;}
.sp_banner_block img{max-width:45%; vertical-align:auto; margin:5px; height:auto;}
#side_left{margin:0; width:98%; padding:5px}
#side_right{margin:0; width:98%; padding:5px}
#main{margin:0; width:98%; overflow:hidden; padding:5px}
#side_left,#side_right,#main{display:block; vertical-align:top;}


#side_right {}
#side_right li {float:left; width:45%;margin:5px !important;}
#side_right li img{max-width:100%;vertical-align: }
}


/*研究室検索サイトボタン*/
.search_lab {
	margin-bottom: 20px;
}
.search_lab li {
}
#side_left .search_lab li a {
	font-size: 18px;
}
.search_lab li a {
	position: relative;
	display: block;
	padding: 13px 35px;
	color: #fff;
	background-color: #00177d;
	background-image: url(../images/top/icon_search_lab.png);
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 30px;
}
.search_lab li a::before {
	content: "";
	box-sizing: border-box;
	position: absolute;
	left: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-left: 7px solid currentcolor;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}

/* 重要なお知らせ */
.info_important {
	width: calc(100% - 10px - 20px);
	padding: 10px;
	margin: 0 auto 34px;
	
	border: solid 2px red;
}
.info_important_ttl {
	text-align: center;
}
.info_important_body li {
	padding: 0.5em 0;
}
.info_important_body li + li {
	border-top: 1px solid #ccc;
}
.info_important_body .time {
	font-weight: bold;
	font-size: 11px;
}
@media (max-width: 767px) {
	.info_important_ttl {
		padding: 5px;
		margin-bottom: 10px;
	}
	.info_important_body li {
		line-height: 1.125;
	}
	.info_important_body .time {
		display: block;
		margin-bottom: 2px;
	}
}
@media (min-width: 768px) {
	.info_important {
		display: flex;
		gap: 20px;
		width: auto;
		padding: 20px;
	}
	.info_important_ttl {
		flex-basis: 160px;
		align-self: center;
	}
	.info_important_body {
		flex: 1;
		border-left: 2px solid red;
		padding-left: 1.5em;
	}
	.info_important_body li {
		display: flex;
	}
	.info_important_body li .time {
		flex-basis: 9em;
		padding-top: 2px;
	}
	.info_important_body li a {
		flex: 1;
	}
}

/* 系バナー */
.kei_banner {
	margin-bottom: 20px;
}
.kei_banner h2 {
	color: #000;
	margin-bottom: 10px;
	min-height: 58px;
	font-size: 20px;
	font-weight: bold;
	background: url(../images/top/bg_study_area.png) no-repeat left top;
}
@media (min-width: 1100px) {
	.kei_banner h2 {
		background-position: 2px 2px;
	}
}
.kei_banner li + li {
	margin-top: 10px;
}

#side_left .kei_banner li a {
	font-size: 16px;
}
.kei_banner li a {
	position: relative;
	display: block;
	padding: 0.875em 0.875em 0.5em;
	color: #333;
	font-weight: bold;
	border: 2px solid #ccc;
}
.kei_banner li a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	display: inline-block;
	width: 5px;
	background-image: linear-gradient(180deg, #6d96ce 50%, #4366b0 50%);
}
.kei_banner li a .en {
	display: block;
	color: #444;
	font-size: 13px;
	font-weight: normal;
}
.kei_banner li a .arrow {
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
	color: #ccc;
}
.kei_banner li a:hover {
	background-color: #dae5f3;
}
.kei_banner li a:hover .arrow {
	right: 10px;
}



/* その他のリンク */
.other_links {
	margin-bottom: 50px;
}
.other_links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}
.other_links li {
	flex: 1 0 45%;
	font-size: 13px;
}
.other_links li a {
	display: block;
	padding: 0.5em 0.75em;
	color: #fff;
	background-color: #515151;
}
@media (min-width: 768px) {
	.other_links li {
		flex-basis: 98%;
		font-size: 15px;
	}
}





/*
 * フッター手前のお問い合わせ ＆ SNSリンク
 */
.home-contact {
	max-width: min(calc(100% - 10px - 10px), 960px);
	margin: 0 auto 30px;
	padding: 5px;
	
	color: #002079;
}
.home-contact h2 {
	position: relative;
	padding-bottom: 2px;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

.home-contact h2::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	display: inline-block;
	height: 2px;
	width: 50px;
	background-image: linear-gradient(90deg, #6d96ce 50%, #4366b0 50%);
}

.home-contact-link {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.home-contact-link + * {
	margin-top: 40px;
}
.home-contact-link li {
	flex: 1 0 30%;
}
.home-contact-link li a {
	color: inherit;
	padding: 1em 0.25em;
	padding-left: 50px;
	display: block;
	background-repeat: no-repeat;
	background-position: 15px 50%;
	border: 1px solid currentcolor;
	border-radius: 5px;
}
.home-contact-link li a[href*="campusmap"] {
	background-image: url(../images/top/icon_hcl_campusmap.png);
}
.home-contact-link li a[href*="satellite"] {
	background-image: url(../images/top/icon_hcl_satellite.png);
}
.home-contact-link li a[href*="office"] {
	background-image: url(../images/top/icon_hcl_office.png);
}
.home-contact-link li a[href*="magazine"] {
	background-image: url(../images/top/icon_hcl_magazine.png);
}
.home-contact-link li a[href*="access"] {
	background-image: url(../images/top/icon_hcl_access.png);
}
.home-contact-link li a[href*="contact"] {
	background-image: url(../images/top/icon_hcl_contact.png);
	color: #d96d00;
}

@media (max-width: 767px) {
	.home-contact-link {
		gap: 10px;
	}
	.home-contact h2 {
		margin-bottom: 12px;
	}
	.home-contact-link + * {
		margin-top: 20px;
	}
	.home-contact-link li {
		flex-basis: 45%;
	}
	.home-contact .sns-links {
		display: none;
	}
}

/*ピックアップ スライダー*/

ul.slider-pickup{
	display: flex;
	width: 1400px;
	max-width: 98%;
	margin: auto auto 60px auto;
	padding-top: 20px;
}

ul.slider-pickup li a:hover{
	opacity: 0.7;
}

ul.slider-pickup li{
    margin: 0 8px;
	width: 25%;
}
ul.slider-pickup li div.pickup-img{
	text-align: center;
}

ul.slider-pickup li div.pickup-img img{
	width: 300px;
	height: 216px;
	object-fit: contain;
	max-width: 100%;
}

ul.slider-pickup li p{
	max-width: 300px;
    margin: 10px auto;
}

ul.slider-pickup .slick-slide img{
	margin: auto;
	width: 100%;
}


@media (max-width: 767px) {
	ul.slider-pickup{
		max-width: 98%;
		flex-wrap: wrap;
        justify-content: center;
		margin-bottom: 0;
	}

	ul.slider-pickup li{
		width: 46%;
		margin: 0 0 20px 0;
        font-size: 0.9em;
	}

	ul.slider-pickup li:nth-child(odd){
		margin-right: 15px;
	}

}

ul.slider-pickup .slick-prev,
ul.slider-pickup .slick-next{
	position: absolute;
    width: 30px;
    height: 30px;
    margin: 9.2px;
    background-color: #002079;
    border-radius: 50px;

}

ul.slider-pickup .slick-prev{
	left: -40px;
    top: 115px;

}

ul.slider-pickup .slick-next{
	right: -40px;
    top: 115px;
}

ul.slider-pickup .slick-prev::before,
ul.slider-pickup .slick-prev::after{
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 12px;
	height: 2px;
	border-radius: 9999px;
	background-color: #FFF;
	transform-origin: 1px 50%;
	opacity: 1;
	left: 10px;
}



ul.slider-pickup .slick-next::before,
ul.slider-pickup .slick-next::after{
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 10px;
	right: 0;
	width: 12px;
	height: 2px;
	border-radius: 9999px;
	background-color: #FFF;
	transform-origin: calc(100% - 1px) 50%;
	opacity: 1;
}

ul.slider-pickup .slick-prev::before{
	transform: rotate(-45deg);
}

ul.slider-pickup .slick-prev::after{
	transform: rotate(45deg);
}

ul.slider-pickup .slick-next::before{
	transform: rotate(45deg);
}

ul.slider-pickup .slick-next::after{
	transform: rotate(-45deg);
}


ul.slider-pickup .slick-prev:hover,
ul.slider-pickup .slick-next:hover{
	background-color: #4366b0;
}

.pickup-title {
	font-size: 26px;
	text-align: left;
	font-weight: 600;
}


/*フッターバナー*/
.home-banner-link{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: auto;
	padding-top: 40px;
}

.home-banner-link li{
	width: 260px;
	max-width: 23%;
	margin-right: 15px;
	margin-bottom: 30px;
	text-align: center;
}

.home-banner-link li:nth-child(4n){
	margin-right: 0;
}

.home-banner-link li img{
	max-width: 100%;
}


@media (max-width: 767px) {
	.home-banner-link{
		justify-content: center;
		width: 99%;
	}

	.home-banner-link li{
		max-width: 42%;
		margin-right: 30px;
	}

	.home-banner-link li:nth-child(2n){
		margin-right: 0;
	}
}

#inx_attention{
	max-width: 1400px;
    margin: auto;
}