/*----------------------------------------------------------------------------
******************************************************************************
共通スタイル
******************************************************************************
----------------------------------------------------------------------------*/
/* ==== Base === */
body {
	background: url(../images/body_bg.jpg);
}

.layout {
	margin: 0 auto;
	overflow:hidden;
}

/* ==== Backgraund === */
#wrap {
	margin: 0 auto;
	background: #FFF;
	border-top: 5px solid #2E2880;
	box-shadow: 0px 0px 5px #888888;
    -moz-box-shadow: 0px 0px 10px #888888;
    -webkit-box-shadow: 0px 0px 10px #888888;
	position: relative;
}
/* ==== Header === */
#hd {}
#language {}

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

/* ==== Content === */
#con {
	padding: 0 20px 40px 20px;
}
#main {}
/* ol,ul */
#main ol, #main ul {
	padding: 5px 0px 5px 20px;
}
#main ul {
	list-style-type: disc;
}
#main ol li, #main ul li {
	padding: 3px 0px;
}
/* table */
#main table {
	margin: 10px 0px;
}
#main table th, #main table td {
	padding: 5px;
}

#main .app_table{
	margin: auto;
	margin-top: 20px;
}

.app_table td{
	padding: 5px;
    border: 1px solid #595959;
    border-collapse: collapse;
}

/* ==== Footer === */
#ft {
	padding-top: 30px;
	padding-bottom: 45px;
	text-align: center;
	line-height: 1.2em;
}
/*----------------------------------------------------------------------------
Head
----------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
}
h1 {}
h2 {
	margin: 0em 0 0.3em 0;
	font-size: 1.9em;
	font-weight:normal;
	border-top: 11px solid #99CCCC;
	border-bottom: 1px solid #99CCCC;
}
.h2_s {
	float:right;
	font-size: 0.5em;
}
h3 {
	margin: 1.3em 0 0.5em 0;
	border:1px solid #CCC;
	font-size: 1.3em;
	font-weight:bold;
	padding: 1px;
	/*背景グラデーション*/
	background: rgb(254,254,254); /* Old browsers */
	background: -moz-linear-gradient(top,  rgb(254,254,254) 0%, rgb(233,238,242) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgb(254,254,254) 0%,rgb(233,238,242) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgb(254,254,254) 0%,rgb(233,238,242) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#e9eef2',GradientType=0 ); /* IE6-9 */
}
.h3_txt {
	border-left: 5px solid #99CCCC;
	display: block;
	padding: 0.4em 0 0.4em 1.0em;
}
h4 {
	font-size: 1.2em;
	padding: 0.2em 0 0.3em 1em;
	margin: 1.3em 0 0.5em 0;
	border-left: 10px solid #2E2880;
	border-bottom: 1px dashed #2E2880;
}
h5 {
	font-size: 1.2em;
	margin: 1.2em 0 0em 0;
	color: #2E2880;
}

h1.img, h2.img, h3.img, h4.img, h5.img, h6.img { margin: 0;padding: 0;background: none;border: none; }

/*----------------------------------------------------------------------------
Original
----------------------------------------------------------------------------*/
/* ==== Index === */

/* ==== i_news 新着情報 === */
#i_news {
	width:100%;
	overflow-y:scroll;
	border-left: 1px solid #CCC;
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	box-sizing: border-box;
	padding: 0 0 5px;
	font-size:0.9em;
}
#i_news table { margin:0;}
#i_news table td {
	vertical-align: top;
	padding: 12px;
	border-bottom: 1px dotted #CCCCCC;
}
#i_news table td.date {
	width: 12%;
}
#i_news table td a {
	text-decoration:none;
}

/*----pagetop----*/
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page-top a {
    background: #2E2880;
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
}

/*研究室の紹介*/
.lab_txt {
	float:left;
	margin-left: 2em;
	margin-top:1.0em;
}
span.lab_about a{
	text-decoration: none;
	border: 1px solid #2E2880;
	padding: 0.4em 0.5em 0.3em 1.5em;
	text-align:center;
	color:#2E2880;
	background:url(../images/nav_arrow.png) no-repeat 5px 50%;
	font-weight:bold;
	font-size:1.1em;
	line-height:2.3em;
}
span.lab_about a:hover{
	background:url(../images/nav_arrow.png) no-repeat 5px 50% #CCF;
}

span.lab_link a{
	text-decoration: none;
	padding: 0.5em 0.6em 0.5em 1.5em;
	text-align:center;
	color:#fff;
	background-color: #2d478f;
	background-image:url(../images/nav_arrow.png) no-repeat 5px 50%;
	font-weight:bold;
	font-size:1.1em;
	line-height:2.3em;
	position: relative;
}
span.lab_link a:before{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #fff;
	position: absolute;
	top: 13px;
	left: 7px;
}
span.lab_link a:hover{
	opacity: 0.7;
}



.pdf a {
	background:url(../images/common/pdf_small.gif) no-repeat left center;
	padding-left: 1.5em;
	padding: 0.2em 0 0.2em 1.5em;
}

.table_lab td{
	vertical-align:top;
}
#guide_line a{
	border: 1px solid #2E2880;
	display:block;
	text-decoration: none;
	padding: 1em;
	font-size:1.1em;
	text-align:center;
	color: #2E2880;
}
#guide_line a:hover{
	background:#CCF;
}
.lang_change_btn {
	display: table;
}
.lang_change_btn li {
	display: table-cell;
}
.lang_change_btn li:first-child {
	padding-right: 5px!important;
}
.lang_change_btn li:last-child {
	padding-left: 5px!important;
}

.vid_contents {
	width: 100%;
	margin: 20px auto 0;
	text-align: center;
}
video.vid_main {
	width: 100%;
	max-width: 640px;
}


/*口コミ情報 先生評*/
table.table_teacher tr {
	border-bottom: 1px dotted #CCCCCC;
}
table.table_teacher tr td {
	padding: 2em 0 !important;
}

/*アルバム*/
/*アルバムトップページ*/
.album_box {
	border: 3px solid #2E2880;
	border-radius: 4px;
	padding: 12px;
	box-sizing:border-box;
	margin-top: 1.5em;
	float:left;
}
.album_box a {
	text-decoration:none;
	display:block;
}
.album_box:hover {
	background: #CCF;
}
.album_box a img {
	float:left;
	margin-right:30px;
}
.album_box a p {
	float:left;
}
.album_box a .album_txt_L {
	font-size: 20px;
	font-weight:bold;
	color: #000;
}
.album_box a .album_txt_M {
	font-size: 20px;
	font-weight:bold;
	color: #2D277F;
	line-height: 1.1em;
}
.album_box a .album_txt_S {
	color: #2D277F;
}
.album_box:nth-child(even) {
	margin-right: 2%;
}
/*アルバム　各下層ページ*/
#main ul#album_container {
	margin:0;
	padding:0;
	list-style:none;
	margin-right:-15px;
}
#main ul#album_container li {
	margin:0;
	padding:0;
	display: inline-block;
	margin-right: 15px;
	margin-top: 10px;
	margin-bottom: 10px
}


/*リンクページ*/
#link_box p a {
	text-decoration: none;
	color: #000;
}
#link_box p a:hover {
	text-decoration: none;
	color: #2D277F;
}

/*以下各リンク先ロゴicon*/
h5.rogo_01 {
	background: url(../images/link/rogo_01.jpg) no-repeat 0 50%;
	background-size: 25px;
	padding-left: 2.0em;
}
h5.rogo_02 {
	background: url(../images/link/rogo_02.jpg) no-repeat 0 50%;
	background-size: 24px;
	padding-left: 2.0em;
}
h5.rogo_03 {
	background: url(../images/link/rogo_03.jpg) no-repeat 0 50%;
	background-size: 33px;
	padding-left: 2.3em;
}
h5.rogo_04 {
	background: url(../images/link/rogo_04.jpg) no-repeat 0 50%;
	background-size: 33px;
	padding-left: 2.5em;
}
h5.rogo_05 {
	background: url(../images/link/rogo_05.jpg) no-repeat 3px 50%;
	background-size: 21px;
	padding-left: 2.0em;
}
h5.rogo_06 {
	background: url(../images/link/rogo_06.jpg) no-repeat 0px 50%;
	background-size: 32px;
	padding-left: 2.5em;
}
h5.rogo_07 {
	background: url(../images/link/rogo_07.jpg) no-repeat 0px 50%;
	background-size: 32px;
	padding-left: 2.3em;
}
h5.rogo_08 {
	background: url(../images/link/rogo_08.jpg) no-repeat 0px 50%;
	background-size: 29px;
	padding-left: 2.3em;
}
h5.rogo_09 {
	background: url(../images/link/rogo_09.jpg) no-repeat 0px 50%;
	background-size: 32px;
	padding-left: 2.3em;
}
h5.rogo_10 {
	background: url(../images/link/rogo_10.jpg) no-repeat 0px 50%;
	background-size: 26px;
	padding-left: 2.3em;
}
h5.rogo_11 {
	background: url(../images/link/rogo_11.jpg) no-repeat 0px 50%;
	background-size: 26px;
	padding-left: 2.3em;
}
h5.rogo_12 {
	background: url(../images/link/rogo_12.jpg) no-repeat 0px 50%;
	background-size: 26px;
	padding-left: 2.3em;
}
h5.rogo_13 {
	background: url(../images/link/rogo_13.jpg) no-repeat 0px 50%;
	background-size: 26px;
	padding-left: 2.3em;
}
h5.rogo_14 {
	background: url(../images/link/rogo_14.jpg) no-repeat 5px 50%;
	background-size: 18px;
	padding-left: 2.3em;
}
h5.rogo_15 {
	background: url(../images/link/rogo_15.jpg) no-repeat 5px 50%;
	background-size: 23px;
	padding-left: 2.3em;
}
h5.rogo_16 {
	background: url(../images/link/rogo_16.jpg) no-repeat 3px 50%;
	background-size: 26px;
	padding-left: 2.3em;
}
h5.rogo_17 {
	background: url(../images/link/rogo_17.jpg) no-repeat 5px 50%;
	background-size: 22px;
	padding-left: 2.3em;
}
h5.rogo_18 {
	background: url(../images/link/rogo_18.jpg) no-repeat 3px 50%;
	background-size: 21px;
	padding-left: 2.3em;
}


/*以下フォントアイコン*/
@font-face {
  font-family: 'icon';
  src:  url('../fonts/icon.eot?kqx6uy');
  src:  url('../fonts/icon.eot?kqx6uy#iefix') format('embedded-opentype'),
    url('../fonts/icon.ttf?kqx6uy') format('truetype'),
    url('../fonts/icon.woff?kqx6uy') format('woff'),
    url('../fonts/icon.svg?kqx6uy#icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-book:before {
  content: "\e901";
}
.icon-note:before {
  content: "\e902";
}
.icon-pen:before {
  content: "\e900";
}

figure {
	display:inline-block;
}
figure img {
	margin:5px 0 5px 0;
}
figcaption {
	text-align:center;
}

.li_style_no {
	list-style:none;
}
.container {
	display: flex;
	justify-content: space-around;
}

/*----------------------------------------------------------------------------
******************************************************************************
スマホのスタイル
******************************************************************************
----------------------------------------------------------------------------*/
@media screen and (max-width:599px){
/* ==== Base === */
.layout {width: 94%;}
/* ==== Header === */
#hd {
	height: 90px;
	background: url(../images/hd_bg.jpg) no-repeat 60% bottom;
}
/* ==== h1 img === */
.logo_pc {
	display:none;
}
.logo_tl {
	display:none;
}
.logo_sp {
	display:block;
}
h1 {
	position: absolute;
	top:15px;
	left:10px;
	z-index: 1000000; /*meanmenuのz-indexが999999*/
}
h2 {
	font-size: 1.3em;
	padding: 0.6em 0 0.6em 0em;
}
h3 {
	font-size: 1.1em;
}
h4 {
	font-size: 1.1em;
}

/* ==== Content === */
#con {
	padding: 0px 10px 20px 10px;
}
#main {
	width: 100%;
}

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

/* ==== i_news === */
#i_news {
	height:200px;
}
#i_news table td {
	display: block;
}
#i_news table td.date {
	border-bottom: none;
	padding-bottom:0;
}

/* ==== Navigation === */
/*スタイルはmean.css*/

/* ==== Footer === */
footer {
	font-size: 0.8em;
	line-height: 0.9em;
}
#ft {
	padding-top: 20px;
	padding-bottom: 25px;
	text-align: center;
	line-height: 1.3em;
}
/* ==== 研究室紹介 === */
.lab_txt {
	margin-left: 0em;
}
.table_lab tr,
.table_lab td{
	width: 100%;
	display:block;
}
.lang_change_btn {
	display: table;
}
.lang_change_btn li {
	display: table-cell;
}
.lang_change_btn li:first-child {
	padding-right: 5px!important;
}
.lang_change_btn li:last-child {
	padding-left: 5px!important;
}

/* ==== 口コミ情報 先生評 === */
table.table_teacher tr,
table.table_teacher td{
	width: 100%;
	display:block;
}
table.table_teacher tr td {
	padding: 0.8em 0 !important;
}
/*アルバム*/
/*アルバム　トップページ*/
.album_box {
	width: 100%;
}
.album_box a img {
	margin-right:15px;
}
/*アルバム　各下層ページ*/
#main ul#album_container li {
	text-align:center;
	display:block;
}
/*app.html*/
.poster img{
	width: 100%;
}

}


/*----------------------------------------------------------------------------
******************************************************************************
タブレットのスタイル
******************************************************************************
----------------------------------------------------------------------------*/
@media screen and (min-width:600px){
/* ==== Base === */
.layout {width: 90%;}
/* ==== Header === */
#hd {
	height: 130px;
	background: url(../images/hd_bg.jpg) no-repeat 60% bottom;
}
/* ==== h1 img === */
.logo_pc {
	display:none;
}
.logo_tl {
	display:block;
}
.logo_sp {
	display:none;
}
h1 {
	position: absolute;
	top:30px;
	left:20px;
	z-index: 1000000; /*meanmenuのz-indexが999999*/
}
h2 {
	padding: 0.4em 0 0.4em 0.2em;
}
h3 {
}
/* ==== Content === */
#con {}
#main {
	width: 100%;
	float: none;
}
/* ==== Index === */

/* ==== i_news === */
#i_news {
	height:300px;
}

/* ==== Navigation === */
/*スタイルはmean.css*/

/* ==== Footer === */
#ft p br{
	display:none;
}
/*アルバム*/
/*アルバム　トップページ*/
.album_box {
	width: 100%;
	max-width: 310px;
}

}

/*----------------------------------------------------------------------------
******************************************************************************
パソコンのスタイル
******************************************************************************
----------------------------------------------------------------------------*/
@media screen and (min-width:1025px){
/* ==== Base === */
.layout {
	width: 960px;
}

/* ==== Header === */
#hd {
	height: 140px;
	background: url(../images/hd_bg.jpg) no-repeat 0% 0%;
}
header {
	float: left;
}
/* ==== h1 === */
.logo_pc {
	display: block;
}
.logo_tl {
	display:none;
}
.logo_sp {
	display: none;
}
h1 {
	position: relative;
	top:40px;
	left:20px;
}
h2 {
	padding: 0.4em 0 0.4em 0.2em;
}
h3 {}
/* ==== Content === */
#con {}
#main {
	width: 640px;
	float: right;
}
/* ==== Index === */

/* ==== i_news === */
#i_news {
	height:560px;
}
/* ==== Navigation === */
#nav {
	width:250px;
	box-sizing:border-box;
	float: left;
}
#nav ul#nav_outline {
	border: 1px solid #CCC;
	padding: 1px 1px 0 1px;
	box-sizing:border-box;
}
#nav li {}
#nav li a{
	display:block;
	text-decoration:none;
	color: #000;
	margin-bottom: 1px;
	font-weight: bold;
	font-size: 14px;
	padding: 11px 5px 10px 20px;
	border-bottom:1px solid #CCC;
	background: url(../images/nav_arrow.png) 5px 50% no-repeat #D4D8FF;
}
#nav li.bg_G a{
	background: url(../images/nav_arrow.png) 5px 50% no-repeat #C2EBC2;
}
#nav li.bg_P a{
	background: url(../images/nav_arrow.png) 5px 50% no-repeat #E3D5F1;
}
#nav li ul li a{
	background: #F4F5FF;
	font-size: 13px;
}
#nav li a:hover,
#nav li.current a {
	background: url(../images/nav_arrow_hv.png) 5px 50% no-repeat #D4D8FF;
}
#nav li.bg_G a:hover,
#nav li.current.bg_G a {
	background: url(../images/nav_arrow_hv.png) 5px 50% no-repeat #C2EBC2;
}
#nav li.bg_P a:hover,
#nav li.current.bg_P a {
	background: url(../images/nav_arrow_hv.png) 5px 50% no-repeat #E3D5F1;
}
#nav li ul li a:hover,
#nav li ul li.current a {
	color: #666;
	background: url(../images/nav_arrow_hv.png) 5px 50% no-repeat #F4F5FF;
}
#nav li#last-child a{
	border: none;
}
/*ナビタイトル*/
#nav .nav_ttl_book,
#nav .nav_ttl_pen,
#nav .nav_ttl_note {
	padding: 11px 5px 10px 50px;
	margin-bottom: 1px;
	border-bottom:1px solid #CCC;
	font-weight: bold;
	font-size: 15px;
	position: relative;
}
/*以下ナビタイトルそれぞれのアイコン表示*/
#nav .nav_ttl_book:before {
	content: "\e901";
	position: absolute;
	top: 50%;
    left: 10px;
    margin-top: -13px;
	font-family: 'icon';
	font-size: 1.8em;
	font-weight:normal;
}
#nav .nav_ttl_pen:before {
	content: "\e900";
	position: absolute;
	top: 50%;
    left: 10px;
    margin-top: -14px;
	font-family: 'icon';
	font-size: 1.8em;
	font-weight:normal;
}
#nav .nav_ttl_note:before {
	content: "\e902";
	position: absolute;
	top: 50%;
    left: 10px;
    margin-top: -13px;
	font-family: 'icon';
	font-size: 1.8em;
	font-weight:normal;
}
/*アルバム*/
/*アルバム　トップページ*/
.album_box {
	width: 48%;
}
/* ==== Footer === */
#ft p br{
	display:none;
}

}
