@charset "utf-8";

html{
	font-size: 10px;
	/*font-size: 62.5%;*/
}

body {
    font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	line-height: 1.8;
	letter-spacing: 0;
	color: #333333;
	font-size: 0;
}

.clearFix:after,
#wrapper:after,
section:after,
footer:after{
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	_zoom: 1;
}

*:first-child+html .clearFix:after,
*:first-child+html header:after,
*:first-child+html #wrapper:after,
*:first-child+html section:after,
*:first-child+html footer:after{ zoom: 1; } /* IE7 */

a,a img,input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"]{
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
}

a:hover img,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="image"]:hover{
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

img{image-rendering: -webkit-optimize-contrast;}

#wrapper{
	min-width: 1250px;
	padding-top: 100px;
}

.imageLeft{
	margin: 0 30px 0 0;
	float: left;
}

.imageRight{
	margin: 0 0 0 30px;
	float: right;
}

br.smp{display: none;}
br.pc{display: block;}

/* オープンキャンパスページに影響-削除 */
/*.pc{display: block;} */
/*.sp{display: none;} */


hr {
	margin: 0;
	padding: 0;
	clear: both;　/* floatを解除する */
	height: 0;　/* ＜hr＞の実線を消す */
	border: none;
	border-width: 0;
}

/**************************************************
header
**************************************************/
header{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	position: fixed;
	width: 100%;
	/*min-width: 1100px;*/
	height: 100px;
	line-height: 1.0;
	top: 0;
	left: 0;
	padding: 0 70px;
	background: rgba(255,255,255,1.0);
	display:-webkit-box;
  	display:flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
	z-index: 100;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}

h1{z-index: 2;}
h1 img{width: 360px;}

@media screen and (max-width: 800px){
	h1 img{
		width: 45%;
		min-width: 220px;
	}
}

@media screen and (max-width: 690px){
	header h1 {
		max-width: 150px;
	}
	header h1 a {
		display: block;
	}
	header h1 a picture {
		height: 45px;
	}
	header h1 a picture img {
		width: 100%;
		height: 100%;
		min-width: auto;
		object-fit: contain;
	}
}

#menu{
	width: 60px;
	height: 60px;
	cursor: pointer;
	background: url("../img/menu.png") no-repeat 0 0 #142474;
	background-size: 60px auto;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
	z-index: 3;
}
#menu.open{
	background: url("../img/menu.png") no-repeat 0 -60px #142474;
	background-size: 60px auto;
}

#globalNavi{
	position: absolute;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	background: linear-gradient(120deg, rgba(229,242,255,1.0), rgba(253,255,231,1.0));
	overflow: auto;
	display: none;
}
#globalNavi ul{
	padding: 180px 70px 20px 70px;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
}
#globalNavi ul li{
	width: calc((100% - 120px) / 4);
	margin-top: 40px;
	margin-right: 40px;
}
#globalNavi ul li:nth-of-type(4n){margin-right: 0;}
#globalNavi ul li span{
	display: block;
	font-size: 1.8rem;
	letter-spacing: 1px;
	margin-bottom: 20px;
	padding-left: 10px;
	border-left: 2px solid #142474;
}
#globalNavi ul li .pullDown ul{
	display: block;
	padding: 0 0 0 30px;
}
#globalNavi ul li .pullDown ul li{
	width: 100%;
	font-size: 1.5rem;
	margin-top: 15px;
}
#globalNavi ul li .pullDown ul li a{color: #000000;}
#globalNavi ul li .pullDown ul li a:hover{opacity: 0.5;}

@media screen and (max-width: 1000px){
	header {
		padding: 0 10px;
	}
}


/**************************************************
subNavi
**************************************************/
#subNavi{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	line-height: 1.0;
	position: fixed;
	top: 20px;
	right: 130px;
	z-index: 101;
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
#subNavi ul{
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
}
#subNavi ul li{margin-right: 1px;}
#subNavi ul li a{
	width: 160px;
	height: 60px;
	font-size: 1.5rem;
	text-align: center;
	color: #FFFFFF;
	display:-webkit-box;
  	display:flex;
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	flex-direction: column;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
}
#subNavi ul li a img{margin-bottom: 5px;}
#subNavi ul li:first-of-type a{background-color: #FF007F;}
#subNavi ul li:last-of-type a{
	letter-spacing: 1px;
	background-color: #00B2B2;
}
#subNavi ul li a:hover{opacity: 0.5;}

@media screen and (max-width: 1000px){
	#subNavi{
		right: 70px;
	}
}


/**************************************************
 imageBg
**************************************************/
#imageBg{
	height: 300px;
	margin: 80px 0 0 0;
	background: url(../img/image_bg.jpg) no-repeat center bottom;
	background-attachment:fixed;
}

/**************************************************
 table
**************************************************/
.tableHanger{
	width: 100%;
	overflow: auto;
}

table.t-style1,
table.t-style2{
	width: 100%;
	margin: 30px 0;
	border-top: 1px solid #E4E4E4;
	border-left: 1px solid #E4E4E4;
	font-size: 15px;
	font-size: 1.5rem;
}
table.t-style2.style1{margin: 5px 0 30px 0;}

table.t-style1 th,
table.t-style2 th{
	text-align: left;
	padding: 10px 15px;
	border-bottom: 1px solid #E4E4E4;
	border-right: 1px solid #E4E4E4;
	background-color: #F3F3F3;
}

table.t-style1 td,
table.t-style2 td{
	padding: 10px 15px;
	border-bottom: 1px solid #E4E4E4;
	border-right: 1px solid #E4E4E4;
}

table.t-style2 th{
	white-space: nowrap;
	text-align: center;
}


/**************************************************
 Responsive
**************************************************/

@media screen and (max-width: 640px){

#wrapper{
	min-width: 100%;
	padding-top: 60px;
}
	
.Fixed{
	position: fixed;
  	width: 100%;
  	height: 100%;
}
	
.navOpen{
	height: 100vh;
	overflow: hidden;
}

.imageLeft,.imageRight{
	width: 100%;
	margin: 0 auto 20px auto;
	float: none;
	display: block;
}
	
br.smp{display: block;}
br.pc{display: none;}

/* オープンキャンパスページに影響-削除 */
/*.pc{display: none;}*/
/*.sp{display: block;}*/

/** header ********************/
header{
	min-width: 100%;
	height: 60px;
	top: 0;
	left: 0;
	padding: 0 0 0 10px;
	background: rgba(255,255,255,1.0);
}

h1 img{width: 164px;}

#globalNavi ul{
	padding: 50px 0 20px 0;
	display: block;
}
#globalNavi ul li{
	width: 100%;
	margin-top: 30px;
	margin-right: 0;
}
#globalNavi ul li:nth-of-type(4n){margin-right: 0;}
#globalNavi ul li span{
	font-size: 1.7rem;
	margin-bottom: 0;
	padding: 0 20px;
	border-left: none;
	cursor: pointer;
	background: url("../img/top2023/open.png") no-repeat right 20px center;
	background-size: 13px;
}
#globalNavi ul li span.open{
	background: url("../img/top2023/close.png") no-repeat right 20px center;
	background-size: 13px;
}
#globalNavi ul li .pullDown{
	display: none;
	padding-top: 20px;
}
#globalNavi ul li .pullDown ul li{font-size: 1.4rem;}
#globalNavi ul li .pullDown ul li:first-of-type{margin-top: 0;}

/** subNavi ********************/
#subNavi{
	position: fixed;
	top: auto;
	right: auto;
	left: 0;
	bottom: 0;
	width: 100%;
	background: #FFFFFF;
}
#subNavi ul li{
	width: 50%;
	margin-right: 0;
}
#subNavi ul li a{width: 100%;}

/** imageBg ********************/
#imageBg{
	height: 100px;
	margin: 40px 0 0 0;
	background: url(../img/image_bg2.jpg) no-repeat center center;
}

/** footer ********************/
footer{
	margin-top: 40px;
	border-top: none;
}
#footerNavi ul{
	width: 100%;
	padding-bottom: 30px;
}
#footerNavi ul li{
	width: 100%;
	padding: 0;
}
#footerNavi ul li span{
	display: block;
	border-top: 1px solid #EEEEEE;
	padding: 20px 20px 0 20px;
}
#footerNavi ul li ul{
	padding: 5px 20px 20px 20px;
}
#footerNavi ul li ul li{margin-top: 8px;}

footer dl{padding: 20px;}
footer dl dt img{width: 240px;}

.groupBanner{
	padding: 20px;
	display: block;
}
.groupLogo{
	display: block;
	width: 240px;
	margin: 0 auto;
}
.groupBanner span{
	display: block;
	padding-top: 10px;
}
.groupBanner span img{
	display: block;
	margin: 10px auto 0 auto;
}
.groupBanner span a{margin-right: 0;}

.others{
	padding: 0 0 80px 0;
	display: block;
}
.others nav ul{display: block;}
.others nav ul li{
	border-bottom: 1px solid #EEEEEE;
	font-size: 1.3rem;
	margin: 0;
}
.others nav ul li a{
	display: block;
	padding: 10px;
	text-align: center;
}
.others nav ul li a:hover{opacity: 0.5;}
.copyRight{
	font-size: 1.0rem;
	padding: 20px 10px 0 10px;
	text-align: center;
}

/** table ********************/
table.t-style1{
	margin: 20px 0;
	font-size: 14px;
	font-size: 1.4rem;
}
table.t-style2.style1{
	font-size: 13px;
	font-size: 1.3rem;
}
	
table.t-style1 th,
table.t-style1 td{display: block;}
	
.tableHanger table.t-style2{width: 800px;}

}