/*----------------------------------------------------------------------------******************************************************************************PC******************************************************************************----------------------------------------------------------------------------*/
.spBlock {
    display: none !important;
}
.pcBlock {
    display: block !important;
}
@media screen and (max-width:899px) {
    .spBlock {
        display: block !important;
    }
    .pcBlock {
        display: none !important;
    }
}




@media screen and (min-width: 769px){

/*----------------------------------------------------------------------------

******************************************************************************

Layout

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Base === */

body {

}

.layout {

	max-width: 960px;

	margin: 0 auto;

	overflow: hidden;

}

/* ==== Backgraund === */

#wrap {

	background: #fff;

	border-top: 3px solid #dd0000;

}

/* ==== Header === */

#hd {

	height: 100px;

	position: relative;

}

/* ==== Navigation === */

#nav {

	height: 50px;

}

#nav_bg {

	background: url(../images/common/nav_bg.png) top center #ee0000;

}

#nav ul {

}

#nav li {

	float: left;

	width: 20%;

	line-height: 1.5;

}

#nav li:first-child {

	border-left: 1px solid rgba(0,0,0,0.8);

}

#nav li:last-child {

	border-right: 1px solid rgba(255,255,255,0.8);

}

#nav li a {

	color: #fff;

	text-decoration: none;

	display: block;

	text-align: center;

	font-size: 14px;

	font-weight: bold;

	text-shadow : 1px 1px 2px rgba(0,0,0,0.8);

	background: url(../images/common/nav_bg.png) top center #ee0000;

	border-left: 1px solid rgba(255,255,255,0.8);

	border-right: 1px solid rgba(0,0,0,0.8);

	-webkit-transition: All 0.5s ease;

	-moz-transition: All 0.5s ease;

	-o-transition: All 0.5s ease;

	-ms-transition: All 0.5s ease;

	transition: All 0.5s ease;
	
	padding: 5px 0;

}
#nav li a span {
	font-size: 12px;
	}

#nav li a:hover {

	background: url(../images/common/nav_bg.png) top center rgba(255,100,100,1.0);

}

.current {

	background: url(../images/common/nav_bg.png) top center rgba(255,100,100,1.0)!important;

}

#menu {

	display:none;

}

/* ==== Content === */

#con_bg {

	background: url(../images/common/con_bg.jpg) repeat-x top center;

}

#con {

}

#sidenav {

	width:23%;

	max-width: 220px;

	float: left;

	margin-top: 20px;

	border:1px solid #bb1111;

}

#sidenav ul {

	padding: 0px;

}

#sidenav li {

}

#sidenav li a {

	width:100%;

	box-sizing: border-box;

	height: auto;

	padding: 12px 5px 5px 23px;

	display: block;

	text-decoration: none;

	background: url(../images/common/sidenav_icon.png) no-repeat 6px 16px;

	font-size: 12px;

	color: #333333;

	border-bottom: dotted 1px #CCC;

}

#main {

	width:75%;

	max-width: 720px;

	float: right;

	margin-top: 20px;

}

/* ol,ul */

#main ol, #main ul {

	padding: 5px 0px 5px 25px;

}

#main ul {

	list-style-type: disc;

}

#main ol li, #main ul li {

	padding: 5px 0px;

}

/* table */

#main table {

	margin: 10px 0px;

}

#main table th, #main table td {

	padding: 5px;

}

/* img */

#main img {

	max-width:100%

}

#main a img {

	display: inline-block;

	-webkit-transition-duration: 0.3s;

	transition-duration: 0.3s;

	-webkit-transition-property: transform;

	transition-property: transform;

	-webkit-transform: translateZ(0);

	transform: translateZ(0);

	box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

#main a img:hover, .shrink:focus, .shrink:active {

	-webkit-transform: scale(0.9);

	transform: scale(0.9);

}

/* ==== Footer === */

#ft {

	margin-top: 20px;

	padding-top: 35px;

	padding-bottom: 35px;

	text-align: center;

	color: #fff;

	background: #bb1111;

}

/*----------------------------------------------------------------------------

******************************************************************************

Head

******************************************************************************

----------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {

}

h1 {

	position: absolute;

	top: 11px;

	left: 0px;

	line-height: 1.0em;

}
	h1 span.eigo {
		margin-left: -10px;
	}
h1 a {
    color: #000!important;
    text-decoration: none;
    display: flex;
    align-items: center;
}

h1 span {

	display: block;

	font-size: 0.65em;

}

h2 {

	color: #fff;

	border:1px solid #bb1111;

	font-size: 34px;

	font-weight:normal;

	text-shadow : 0px 0px 5px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);

	height:80px;

	padding: 0.9em 0 0.0em 0.5em;

	background: url("../images/tuan_top.jpg");

}

#sidenav h2 {

	color: #fff;

	border:1px solid #bb1111;

	text-align: center;

	font-size: 16px;

	font-weight:bold;

	padding:10px;

	height:50px;

	text-shadow : 1px 2px 0px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);

	background: url(../images/nav_bag.png) top center #bb1111;

}

h3 {

	margin: 0.8em 0 0.4em 0;

	font-size: 1.4em;

	font-weight: normal;

	height: 40px;

	padding: 0.4em 0 0.0em 1.5em;

	background: url(../images/common/h3_bg.png) left center no-repeat;

}

h4 {

	font-size: 1.2em;

	font-weight: normal;

	padding: 0.0em 0 0.0em 0.4em;

	border-left: 5px double #000D1C;

	margin: 0.6em 0 0.4em 0;

}

h1.img, h2.img, h3.img, h4.img, h5.img, h6.img {

	margin: 0;

	padding: 0;

	background: none;

	border: none;

}

/*----------------------------------------------------------------------------

******************************************************************************

Original

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Index === */

#i_img {

}

#i_img img {

	width: 100%;

}

#i_main {

	width:75%;

	max-width: 720px;

	float: left;

	margin-top: 20px;

}

#i_news {

	height: 300px;

	overflow:auto;

	border: none;

}

#i_news table {

}

#i_news table td {

	vertical-align: top;

	font-size: 0.8em;

	padding: 10px;

}

#i_news table tr {

	border-bottom: 1px dotted #CCC;

}

#i_news table td.date {

	width: 125px;

	background: url(../images/common/news_icon.gif) 4px 14px no-repeat;

	padding-left: 20px;

}

#i_bnr {

	margin-top: 20px;

	width:23%;

	max-width: 220px;

	float: right;

}

#i_bnr ul {

}

#i_bnr li {

	float: left;

	margin-bottom: 4px;

	width:100%;

}

#i_bnr li a {

	display: block;

	width: 100%;

	text-decoration: none;

	color: #000;

	padding: 15px 0 15px 0px;

	border: 1px solid #ee7777;

	border-radius: 3px;

	background: url(../images/common/bnr_bg.png) 8px center no-repeat;

	-webkit-transition: All 0.5s ease;

	-moz-transition: All 0.5s ease;

	-o-transition: All 0.5s ease;

	-ms-transition: All 0.5s ease;

	transition: All 0.5s ease;
	text-align: center;
	font-size: 15px;

}
#i_bnr li a span {
	font-size: 12px;
	}

#i_bnr li a:hover {

	color: #fff;

	background: url(../images/common/bnr_bg_hover.png) 8px center no-repeat #cc1111;

}

/*----pagetop----*/

#page-top {

	position: fixed;

	bottom: 10px;

	right: 20px;

	font-size: 77%;
	
	z-index: 100;

}

#page-top a {

	background: #cc1111;

	border: #fff 1px solid;

	text-decoration: none;

	color: #fff;

	width: 120px;

	padding: 20px 0;

	text-align: center;

	display: block;

	border-radius: 5px;

}

#page-top a:hover {

	text-decoration: none;

}
body.courses,
body#member {
	min-height: 100vh;
    position: relative;/*←相対位置*/
    padding-bottom: 90px;/*←footerの高さ*/
    box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
}
body.courses #ft,
body#member #ft {
	position: absolute;/*←絶対位置*/
    bottom: 0; /*下に固定*/
	width: 100%
}
	.about {
		padding: 10px 25px;
	}
	.english h1 {
		position: absolute;
		top: 10px;
		left: 0px;
		line-height: 1.0em;
	}

}



/*----------------------------------------------------------------------------******************************************************************************スマートフォン******************************************************************************----------------------------------------------------------------------------*/

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

/*----------------------------------------------------------------------------

******************************************************************************

Layout

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Base === */

body {

	background: url(../images/body_bg.jpg);

}

.layout {

	width: 100%;

	overflow: hidden;

}

/* ==== Backgraund === */

#wrap {

	background: #fff;

	border-top: 3px solid #dd0000;

}

/* ==== Header === */

#hd {

	height: 100px;

	position: relative;

	background: url(../images/hd_bg.jpg) no-repeat;

}

/* ==== Navigation === */

#nav {

	position: fixed;

	top: 0px;

	right: -200px;

	height: 100%;

	z-index: 100;

	width: 200px;

	overflow-x: none;

	overflow-y: auto;

	font-size: 16px;

	background: url(../images/common/nav_bg.png) top center #222222;

	color: #fff;

	-webkit-box-shadow: inset 0 0 5px 5px #222;

	-moz-box-shadow: inset 0 0 5px 5px #222;

	box-shadow: inset 0 0 5px 5px #222;

}



#nav ul {

	display: block;

	margin: 0 0 15px;

	padding: 0;

	border-top: 1px solid #1a1a1a;

	border-bottom: 1px solid #4d4d4d

}

#nav ul li {

	display: block;

	margin: 0;

	line-height: 48px;

	border-top: 1px solid #4d4d4d;

	border-bottom: 1px solid #1a1a1a

}



#nav ul li img {

	max-width:100%;

	margin: 0 auto;

	padding:10px 0;

}



#nav ul li:hover {

	border-top: none;

	line-height: 49px

}

#nav ul li:hover>a {

	-webkit-box-shadow: inset 0 0 15px 3px #222;

	-moz-box-shadow: inset 0 0 15px 3px #222;

	box-shadow: inset 0 0 15px 3px #222

}

#nav ul li a {

	padding: 10%;
    display: block;
    text-decoration: none;
    color: #fff;
    line-height: 1.3;
    text-shadow: 2px 2px 0 rgba(0,0,0,1.0);

}
	#nav ul li a span {
		font-size: 0.8em;
	}

#nav ul li ul {

	border-bottom: none;

	margin: 0

}

#nav ul li ul li {

	line-height: 40px;

	font-size: 13px

}

#nav ul li ul li:last-child {

	border-bottom: none

}

#menu {

	cursor:pointer;

	position:fixed;

	top:10px;

	right:10px;

	z-index: 1000;

}

/* ==== Content === */

#con_bg {

}

#con {

}

#sidenav {

	width: 220px;

	float: left;

	margin-top: 20px;

	border:1px solid #003166;

	display:none;

}

#main {

	width: 100%;

	/*margin-top: 20px;*/

}

/* ol,ul */

#main ol, #main ul {

	padding: 5px 0px 5px 25px;

}

#main ul {

	list-style-type: disc;

}

#main ol li, #main ul li {

	padding: 5px 0px;

}

/* table */

#main table {

	margin: 10px 0px;

}

#main table th, #main table td {

	padding: 5px;

}

/* img */

#main img {

	max-width:100%;

	display:block;

	margin:5px auto;

	float:none;

}



#main a img {

	display: inline-block;

	-webkit-transition-duration: 0.3s;

	transition-duration: 0.3s;

	-webkit-transition-property: transform;

	transition-property: transform;

	-webkit-transform: translateZ(0);

	transform: translateZ(0);

	box-shadow: 0 0 1px rgba(0, 0, 0, 0);

}

#main a img:hover, .shrink:focus, .shrink:active {

	-webkit-transform: scale(0.9);

	transform: scale(0.9);

}

/* ==== Footer === */

#ft {

	margin-top: 0px;

	padding-top: 25px;

	padding-bottom: 25px;

	text-align: center;

	color: #fff;

	background:#bb1111;

}

/*----------------------------------------------------------------------------

******************************************************************************

Head

******************************************************************************

----------------------------------------------------------------------------*/

h1, h2, h3, h4, h5, h6 {

}

h1 {

	position: absolute;

	top: 12%;
    left: 2%;

	line-height: 1.0em;

}

h1 a {

	color: #000!important;

	text-decoration: none;
	    display: flex;
    align-items: center;

}

h1 span {

	display: block;

	font-size: 0.65em;

}

h2 {

	color: #fff;

	border:1px solid #bb1111;

	font-size: 34px;

	font-weight:normal;

	text-shadow : 0px 0px 5px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);

	height:80px;

	padding: 0.9em 0 0.0em 0.5em;

	background: url("../images/tuan_top.jpg");

}

#sidenav h2 {

	color: #fff;

	border:1px solid #003166;

	text-align: center;

	font-size: 16px;

	font-weight:bold;

	padding:10px;

	height:50px;

	text-shadow : 1px 2px 0px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);

	background: url(../images/nav_bag.png) top center #003166;

}

h3 {

	margin: 0.8em 0 0.4em 0;

	font-size: 1.4em;

	font-weight: normal;

	height: 40px;

	padding: 0.4em 0 0.0em 1.5em;

	background: url(../images/common/h3_bg.png) left center no-repeat;

}

h4 {

	font-size: 1.2em;

	font-weight: normal;

	padding: 0.0em 0 0.0em 0.4em;

	border-left: 5px double #000D1C;

	margin: 0.6em 0 0.4em 0;

}

h1.img, h2.img, h3.img, h4.img, h5.img, h6.img {

	margin: 0;

	padding: 0;

	background: none;

	border: none;

}

/*----------------------------------------------------------------------------

******************************************************************************

Original

******************************************************************************

----------------------------------------------------------------------------*/

/* ==== Index === */

#i_img {

}

#i_img img {

	width: 100%;

}

#i_main {

	width: 100%;

	margin-top: 20px;

}

#i_news {

	height: 300px;

	overflow:auto;

	border: none;

}

#i_news table {

}

#i_news table td {

	vertical-align: top;

	font-size: 0.9em;

	padding: 10px;

	display:block;

}

#i_news table tr {

	border-bottom: 1px dotted #CCC;

}

#i_news table td.date {

	background: url(../images/common/news_icon.gif) 4px 14px no-repeat;

	padding-left: 20px;

}

#i_bnr {

	margin-top: 20px;

	width: 100%;

}

#i_bnr ul {

	

}

#i_bnr li {

	width: 100%;

	margin-bottom: 4px;

}

#i_bnr li a {

	display: block;

	width: 100%;

	text-decoration: none;

	color: #000;

	padding: 15px 0 15px 30px;

	border: 1px solid #cc1111;

	border-radius: 0px;

	background: url(../images/common/bnr_bg.png) 8px center no-repeat;

	-webkit-transition: All 0.5s ease;

	-moz-transition: All 0.5s ease;

	-o-transition: All 0.5s ease;

	-ms-transition: All 0.5s ease;

	transition: All 0.5s ease;

}

#i_bnr li a:hover {

	color: #fff;

	background: url(../images/common/bnr_bg_hover.png) 8px center no-repeat #cc1111;

}

/*----pagetop----*/

#page-top {

	width:100%;

}

#page-top a {

	background: #666;

	border: none;

	text-decoration: none;

	color: #fff;

	width: 100%;

	padding: 20px 0;

	text-align: center;

	display: block;

}

#page-top a:hover {

	text-decoration: none;

}

}

#member #main p.kyoin {
	padding: 15px 10px 20px 24px;
    font-size: 14px;
}
#member #main ul {
	line-height: 1.8;
}
#member #main ul h4 {}
#member #main ul li {
	list-style: none;
    padding: 10px 12px;
	display: inline-block;
}
#awards #main ul li {
    list-style: none;
    padding: 10px 12px 12px;
    border-bottom: 1px dashed #eee;
}
#awards #main ul li:last-of-type {
    border-bottom: none;
}
#achievements #main ol,
#achievements #main ul {
	padding: 5px 40px;
}
#achievements #main ol li,
#achievements #main ul li {
    padding: 10px 0px 15px;
    border-bottom: 1px dashed #eee;
}
#achievements #main ol li:last-of-type,
#achievements #main ul li:last-of-type {
    border-bottom: none;
}
.courses .contact {
	padding: 15px 30px;
    line-height: 1.8;
}
.courses .contact span {
	font-size: 15px;
}
.courses .contact a {
	text-decoration: none;
	display: block;
    margin-bottom: 10px;
	font-size: 15px;
}
#member.courses #main ul li {
	display: block;
}
body.courses,
body#member {
	min-height: 100vh;
    position: relative;/*←相対位置*/
    padding-bottom: 90px;/*←footerの高さ*/
    box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
}
body.courses #ft,
body#member #ft {
	position: absolute;/*←絶対位置*/
    bottom: 0; /*下に固定*/
	width: 100%
}
header .langBtn {
	position: absolute;
    right: 38px;
    top: 33px;    
}
header .langBtn a {
	font-size: 14px;
    color: #555;
	line-height: 1.5;
	padding: 7px 25px 5px;
	display: block;
    text-decoration: none;
	border: 1px dashed #999;
	border-radius: 5px;
}
header .langBtn a:hover {
	transition: 0.3s;

	background-color: #cc1111;
	color: #fff;
	border: 1px solid #cc1111;
}
header .langBtn a i {
	margin-right: 8px;
}
nav .langBtn {
	width: 80%;
    margin: 15% auto 0;  
}
nav .langBtn a {
	font-size: 16px;
    color: #222;
    line-height: 1.5;
    padding: 6% 0 5%;
    display: block;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    background-color: #fff;
}
nav .langBtn a:hover {
	transition: 0.3s;

	background-color: #cc1111;
	color: #fff;
	border: 1px solid #cc1111;
}
nav .langBtn a i {
	margin-right: 8px;
}
.english #nav li a {
    padding: 15px 0;
}
#main img.researchImg {
	width: 80%;
    float: none;
    margin: 0 auto;
    text-align: center;
    display: block;
    padding-bottom: 30px;
}
.researchTopic p {
    margin: 0;
    padding: 5px 0;
    line-height: 1.8;
    margin-bottom: 30px;
}
header h1 a img {
	height: 80px;
    display: block;
    margin-right: 20px;
}
@media screen and (max-width: 769px){
	#i_main p {
		padding: 5px 2%;
	}
	.students #main ul {
		padding: 2%;
	}
	body#member {
		padding-bottom: 89px;/*←footerの高さ*/
	}
	.english #nav li a {
		padding: 10%;
		display: block;
		text-decoration: none;
		color: #fff;
		line-height: 1.3;
		text-shadow: 2px 2px 0 rgba(0,0,0,1.0);
	}
	nav .langBtn a {
		padding: 5% 0 5%;
	}
	.researchTopic p {
		margin: 0;
		padding: 3%;
		line-height: 1.8;
		margin-bottom: 30px;
	}
	h3.nidan {
		margin: 0.8em 0 0.4em 0;
		font-size: 1.4em;
		font-weight: normal;
		height: 60px;
		padding: 0.4em 0 0.0em 1.5em;
		background: url(../images/common/h3_bg.png) left center no-repeat;
	}
	h2.enrec {
		color: #fff;
		border: 1px solid #bb1111;
		font-size: 24px;
		font-weight: normal;
		text-shadow: 0px 0px 5px rgba(0,0,0,1.0), 2px 2px 2px rgba(255,255,255,0.5);
		height: 80px;
		padding: 1.2em 0 0.0em 0.5em;
		background: url("../images/tuan_top.jpg");
	}
	header h1 a img {
		height: 60px;
		display: block;
		margin-right: 10px;
	}
	header h1 .name {
		font-size: 20px;
	}
	header h1 .uname {
		font-size: 20px;
		font-size: 0.75em;
	}
}


