@charset "utf-8";

/* *********************************** */

/* 240行　行間追加　20240428 長谷川　*/
/* 206行　line-height: 1.8; → 120% に変更20240428 長谷川　*/
/* 219行　padding: 15px 0 10px 0; → 15px 0 5px 0 に変更20240428 長谷川　*/
/* 240行　h4の背景色削除　20240501 長谷川　*/
/* #pageTop と#pageTop img を変更　常に上へボタンを常時表示　20240514 長谷川　*/
/* html{scroll-behavior: smooth; 全部にスムーズスクロール実装 　20240520 長谷川　*/
/* p{word-break: break-all;} URLやリンクテキストを強制改行 　20240521 長谷川　*/


/* ↓　学内専用の検索ワード用 　*/
.words{
	font-family: YuGothic,'Yu Gothic',YuGothic,'Yu Gothic',sans-serif;
	font-style: italic;
}

h3{
	font-weight:bold;
	margin: 30px 0;
	text-align: center;
	color: #006CD8;
	font-size: 35px;
	font-size: 3.5rem;
	padding: 20px 0;
	border-bottom: 5px solid #0080FF;
}

/* ↓　works 画像回り込み 　*/
.img_works img {
    float: right;
	margin: 20px 30px 20px 20px;
	width: 40%;
}

/* ↓　works 画像回り込み 縦2列　*/
.img_works2{
	float : right ;
	width: 40%;
	margin: 20px 30px 20px 20px;
}

/* ↓　about 画像回り込み 　*/
.img_face img {
    float: left;
	margin: 30px 30px 150px 0;
	width: 20%;
}

/* ↓　ニュース・トピックス関連 　*/
.news_year{
	text-align: center;
	margin: 40px 0 0 0;
	padding: 0 0 17px 0;
	font-size: 2.2rem;
	font-weight: normal;
	color: #006CD8;
}

.news_date {
 text-align: right;
}  

.aligncenter{
 text-align:center!important;
}

/* ↓　学内専用ページ　dl & dt 作成 　*/
dl.explanation {
	display: flex;
flex-flow: row wrap;
width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
}

dl.explanation dt {
	flex-basis: 20%;
	font-style: normal;
	font-weight:bold;
	margin:0px 0px 0px 0px;
	padding: 0px 0px 15px 0px;
	line-height: 160%;
	width: 20%;
	top:-1.6em; 
}

dl.explanation dd {
	flex-basis: 75%;
	font-weight: normal;
	position:relative; 
	left:5%;
	/*
	top:-1.6em; 
	left:10em;
	*/
	line-height: 170%;
	border-width: 0px; 
	margin:0px 0px 0px 0px;
	padding:0px 0px 15px 0px; 
	width: 75%
}

@media screen and (max-width: 631px) { /* 表＋左右マージンを取る事を考えて、幅を指定する */
    .explanation {width: 100%;}
    .explanation dt
    ,.explanation dd{
        width: 50%;
    }
}

/* ↓　青線囲み罫線 　*/
a.box_blue {
  font-size: 1.5em;
  font-weight: bold;
  padding: 20px 25px;
  text-decoration: none;
  border: 4px solid #0080FF;
  border-radius: 0;
  color: #fff;
  background: #0080FF;
}
a.box_blue:hover {
  background: #fff;
  color: #000;
}

/* *********************************** */

html{
	scroll-behavior: smooth; /* 全部にスムーズスクロール実装 */
	font-size: 10px;
	/*font-size: 62.5%;*/
}

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

.clearFix:after,
header: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;
}

#wrapper{
	width: 990px;
	margin: 0 auto;
}

h2{
	display: table-cell;
	vertical-align: middle;
	width: 100vw;
	height: 120px;
	font-size: 35px;
	font-size: 3.5rem;
	font-weight: normal;
	color: #FFFFFF;
	text-align: center;
	background: url(../img/h2_bg.png) no-repeat center center;
}

/* 
h3{
	margin: 50px 0 0 0;
	padding: 45px 0 0 0;
	text-align: center;
	font-size: 32px;
	font-size: 3.2rem;
	color: #006CD8;
	background: url(../img/h3_bg.png) no-repeat top center;
}
*/
h4{
	margin: 40px 0 0 0;
	padding: 20px 10px;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	/* 
	background-color: #E4EFF5;
	border-left: 5px solid #0080FF;
	*/
	background: url(../img/h3_bg.png) no-repeat bottom center;
}


h5{
	margin: 40px 0 0 0;
	padding: 0 0 17px 0;
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: normal;
	color: #006CD8;
	border-bottom: 1px solid #E4EFF5;
}

h6{
	padding: 20px 0 0 0;
	font-size: 18px;
	font-size: 1.8rem;
}

article{
	width: 950px;
	margin: 0 auto;
}

section{font-size: 0;}

p{
	word-break: break-all;
	padding: 20px 0;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
}

p.style1{
	padding: 20px;
	background-color: #F5FAFC;
	border: 3px solid #E4EFF5;
}

article ul{
	padding: 5px 0 10px 25px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 120%;
	list-style: disc;
}

article ol{
	padding: 5px 0 10px 30px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
	list-style: decimal;
}

article ul li,
article ol li{
	padding: 15px 0 5px 0;
}

article a{
	color: #59B200;
	text-decoration: underline;
}

article a:hover{
	color: #BBBBBB;
	text-decoration: none;
}

img{
	max-width: 100%;
	height: auto;
}

br.smp{display: none;}

br.pc{display: block;}


/**************************************************
 header
**************************************************/
header{
	width: 990px;
	height: 100px;
	margin: 0 auto;
}

h1{
	float: left;
	padding: 20px 0 0 0;
}

#menu{
	width: 60px;
	height: 60px;
	display: none;
	cursor: pointer;
	background: url(../img/menu.png) no-repeat 0 0;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1100;
	overflow: hidden;
}

#menu.selected{background: url(../img/menu.png) no-repeat 0 -60px;}


/**************************************************
 globalNavi
**************************************************/
#globalNavi{
	float: right;
}

#globalNavi ul{
	display: table-cell;
	height: 100px;
	vertical-align: middle;
}

#globalNavi ul li{
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	margin-left: 40px;
}

#globalNavi ul li a{color: #006CD8;}

#globalNavi ul li a:hover{color: #BBBBBB;}


/**************************************************
 localNavi
**************************************************/
#localNavi{background-color: #E4EFF5;}

#localNavi ul{
	text-align: center;
	padding: 15px 10px;
	font-size: 15px;
	font-size: 1.5rem;
}

#localNavi ul li{
	line-height: 30px; /* 行の高さを指定する */
	display: inline-block;
	padding: 0 10px;
	border-right: 1px solid #444444;
}

#localNavi ul li:nth-child(1){border-left: 1px solid #444444;}

#localNavi ul li a{color: #222222;}
#localNavi ul li a:hover{text-decoration: underline;}

#loclaBtn{
	padding: 15px 10px 12px 32px;
	font-size: 13px;
	font-size: 1.3rem;
	background: url(../img/open.png) no-repeat 10px center #E4EFF5;
	cursor: pointer;
	display: none;
}

#loclaBtn.selected{background: url(../img/close.png) no-repeat 10px center #E4EFF5;}


/**************************************************
 footer
**************************************************/
footer{
	min-width: 990px;
	margin: 50px 0 0 0;
}

footer ul{
	font-size: 16px;
	font-size: 1.6rem;
	background-color: #E4EFF5;
	text-align: center;
	padding: 18px 10px;
}

footer ul li{
	display: inline-block;
	padding: 0 10px;
	border-left: 1px solid #444444;
}

footer ul li:nth-child(1){border-left: none;}

footer ul li a{color: #222222;}
footer ul li a:hover{text-decoration: underline;}

footer dl{
	padding: 35px 10px;
	text-align: center;
	background-color: #0080FF;
	color: #FFFFFF;
}

footer dl dt{
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}

footer dl dd{
	font-size: 16px;
	font-size: 1.6rem;
	padding: 15px 0 0 0;
	line-height: 1.6;
}

footer dl dd a{color: #FFFFFF;}
footer dl dd a:hover{text-decoration: underline;}

#copyRight{
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
	height: 60px;
	padding: 25px 10px 0 10px;
	color: #FFFFFF;
	background-color: #006DD9;
}

/* 
#pageTop{
	width: 60px;
	height: 60px;
	position: absolute;
	right: 0;
	margin: -60px 0 0 0;
}
*/

#pageTop{
    position: fixed;
    bottom: 0;
    right: 0;
  }

#pageTop img{
 display: block;
  }

#pageTopSmp{
	text-align: center;
	padding: 30px 0 10px 0;
	display: none;
}

#pageTopSmp img{
	width: 50px;
}
/* 
#pageTop img,
#pageTopSmp img{
	cursor: pointer;
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
}
*/

#pageTop img:hover,
#pageTopSmp img:hover{
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

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

table{
	width: 100%;
	margin: 20px 0;
	border-top: 1px solid #E4EFF5;
	border-left: 1px solid #E4EFF5;
	font-size: 15px;
	font-size: 1.5rem;
}

table th{
	text-align: left;
	padding: 10px 15px;
	border-bottom: 1px solid #E4EFF5;
	border-right: 1px solid #E4EFF5;
	background-color: #F5FAFC;
	white-space: nowrap;
}

table td{
	padding: 10px 15px;
	border-bottom: 1px solid #E4EFF5;
	border-right: 1px solid #E4EFF5;
}


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

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

#wrapper{
	width: 100%;
	padding: 0 10px;
}
	
h2{
	height: 80px;
	font-size: 28px;
	font-size: 2.8rem;
	border-top: 1px solid #FFFFFF;
}
	
h3{
	margin: 50px 0 0 0;
	padding: 30px 0 0 0;
	font-size: 25px;
	font-size: 2.5rem;
}
	
h4{
	padding: 15px 10px;
	font-size: 22px;
	font-size: 2.2rem;
}

h5{
	padding: 0 0 12px 0;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.4;
}

h6{
	padding: 15px 0 0 0;
	font-size: 16px;
	font-size: 1.6rem;
}
	
article{width: 100%;}
	
p{
	padding: 15px 0;
	font-size: 14px;
	font-size: 1.4rem;
}

p.alignCenter{padding: 20px 0 10px 0;}
	
article ul{
	padding: 0px 0 15px 25px;
	font-size: 14px;
	font-size: 1.4rem;
}
	
article ol{
	padding: 0px 0 15px 30px;
	font-size: 14px;
	font-size: 1.4rem;
}

article ul li,
article ol li{
	padding: 15px 0 0 0;
}
	
br.smp{display: block;}

br.pc{display: none;}

/** header ********************/
header{
	width: 100%;
	height: 60px;
}

h1{
	float: none;
	padding: 8px 0 0 15px;
}
	
h1 img{width: 170px;}

#menu{display: block;}
	

/** globalNavi ********************/
#globalNavi{
	float: none;
	position: absolute;
	z-index: 9999;
	top: 60px;
	width: 100%;
	display: none;
}

#globalNavi ul{
	display: block;
	height: 100%;
}

#globalNavi ul li{
	display: block;
	margin-left: 0;
	border-bottom: 1px solid #FFFFFF;
}

#globalNavi ul li a{
	display: block;
	color: #FFFFFF;
	padding: 15px 25px 15px 15px;
	background: url(../img/pointer3.png) no-repeat 97% center #006DD9;
}

#globalNavi ul li a:hover{background: url(../img/pointer3.png) no-repeat 97% center #66A7E8;}
	
	
/** localNavi ********************/
#localNavi ul{
	line-height: 50pt;
	font-size: 13px;
	font-size: 1.3rem;
	text-align: left;
	background: none;
	padding: 0;
	display: none;
}

#localNavi ul li{
	display: block;
	padding: 0;
	border-right: none;
	border-top: 1px solid #FFFFFF;
}
	
#localNavi ul li:nth-child(1){border-left: none;}

#localNavi ul li a{
	display: block;
	padding: 15px 10px 12px 10px;
	background: url(../img/pointer2.png) no-repeat 97% center #E4EFF5;
}
#localNavi ul li a:hover{
	text-decoration: none;
	background: url(../img/pointer2.png) no-repeat 97% center #F1F7FA;
}
	
#loclaBtn{display: block;}


/** footer ********************/
footer{
	min-width: 100%;
	margin: 0;
}

footer ul{
	font-size: 13px;
	font-size: 1.3rem;
	text-align: left;
	background: none;
	padding: 0;
}

footer ul li{
	display: block;
	padding: 0;
	border-left: none;
	border-top: 1px solid #FFFFFF;
}

footer ul li a{
	display: block;
	padding: 13px 10px 10px 10px;
	background: url(../img/pointer2.png) no-repeat 97% center #E4EFF5;
}
footer ul li a:hover{
	text-decoration: none;
	background: url(../img/pointer2.png) no-repeat 97% center #F1F7FA;
}

footer dl{padding: 20px 10px;}

footer dl dt{
	font-size: 16px;
	font-size: 1.6rem;
}

footer dl dd{
	font-size: 13px;
	font-size: 1.3rem;
	padding: 10px 0 0 0;
}

#copyRight{
	font-size: 10px;
	font-size: 1.0rem;
	text-align: center;
	height: 60px;
	padding: 25px 10px 0 10px;
	color: #FFFFFF;
	background-color: #006DD9;
}

#pageTop{display: none;}
	
#pageTopSmp{display: block;}
	

/** table ********************/
table{
	font-size: 14px;
	font-size: 1.4rem;
}
	
table th{white-space: normal;}


}