@charset "utf-8";
 @media screen and (max-width:1500px) {
.slider img {
	width: 100%;
}
}
@media (max-width: 640px) {
.tblscroll {
	overflow-x: scroll;
    }
.tblscroll table {
	width: 800px;
}
.tblscroll table.tbl03fix .wp1 {
	width: 250px !important;
}

}
@media only screen and (max-width:519px) {
#header .maintitle, #footer .foottxt, #footer .footlink, #footer .copyright {
	float: none;
	text-align: center;
}
/*-----------------------------------------------------------------
COMMON 
-------------------------------------------------------------------*/
	
.left {
	float: none;
}
.imgleft {
	float: none;
	text-align: center !important;
	text-indent: 0rem !important;
}
.leftpht, .rightpht {
	float: none;
	text-align: center;
	padding: 0 0 10px 0;
	margin: 0 0 15px 0;
	border-bottom: 1px solid #b8badd;
	font-size: 0.9rem;
	line-height: 1.2;
	text-indent: 0rem !important;
	width: 100%;
}
.leftpht img, .rightpht img {
	margin: 0 0 10px 0;
}
.right {
	float: none;
}
.imgright {
	float: none;
	text-align: center !important;
	text-indent: 0rem !important;
}
.figleft, .figright {
	float: none;
	text-align: center !important;
	text-indent: 0rem !important;
	padding: 0 0 15px 0;
}


/*-----------------------------------------------------------------
ヘッダー 
-------------------------------------------------------------------*/
/* ヘッダー | メインタイトル */
#header .maintitle {
	padding: 40px 0 20px;
}
#header .maintitle p {
	padding: 0 6px;
	font-size: 1rem;
}
#header .maintitle p.eng {
	padding: 10px 6px 0;
}

#header .headwrap {
	background-position: left 10px top;
}

/* ヘッダー | ヘッドナビ */
#header .headnavi {
	right: 0;
}
#header .headnavi li a {
	padding: 4px 10px 6px;
	margin-right: 0;
	border-radius: 0 0 0 5px;
}
/* ヘッダー | グローバルナビ＆メニュー */
#glnav {
	clear: both;
	margin: 0 auto;
	background-color: rgba(22,29,107,0.6);
}
#glnav a.menu {
	width: 100%;
	display: block;
	height: 40px;
	line-height: 40px;
	text-align: left;
	color: #fff;
	background: url(../images/menu_open.png) no-repeat;
}
#glnav a#menu span {
	padding-left: 40px;
}
#glnav a#menu:hover {
	text-decoration: none;
	cursor: pointer;
}
#glnav a.menuOpen {
	background: url(../images/menu_close.png) no-repeat;
}
#glnav .base {
	display: none;
	width: 100%;
	position: relative;
	right: 0;
	top: 0;
	z-index: 1;
}
#glnav .glmenu {
	margin: 0;
	padding: 0;
}
#glnav .glmenu li {
	float: left;
	clear: both;
	width: 100%;
	height: auto;
	line-height: 1.2;
}
#glnav .glmenu li a {
	display: block;
	padding: 12px 10px;
	text-align: left;
	border-top: 1px solid #fff;
	background: #000064;
	color: #fff;
	font-size: 0.95rem;
	line-height: 1;
	text-decoration: none;
}
#glnav .glmenu li a:hover, #glnav .glmenu li a:active {
	background: #1e91b4;
	text-decoration: none;
}
#glnav .glmenu li ul li {
	float: left;
	border: 0;
}
#glnav .glmenu li ul li a {
	padding-left: 30px;
	background-color: #1e2ba5;
	border-top: 1px solid #9095be;
}
#glnav .glmenu li ul li a:hover {
	background: #1e91b1;
}
#glnav .glmenu li ul li ul li {
	float: left;
	border: 0;
}
#glnav .glmenu li ul li ul li a {
	padding-left: 50px;
	background-color: #006280;
	border-top: 1px dashed #80b1c0;
}
#glnav .glmenu li ul li ul li a:hover {
	background: #1e91b1;
}
/*-----------------------------------------------------------------
メインイメージ 
-------------------------------------------------------------------*/
/* メインイメージ | スローガン */
.slogan {
	position: relative;
	line-height: 1.4;
	background: #eaebf4;
	margin-bottom: 0;
	padding: 10px;
	border-radius: 0;
	z-index: 10;
}
.slogan h2 {
	font-size: 0.9rem;
	padding-bottom: 8px;
	color: #222a7d;
	border-bottom: 1px solid #222a7d;
	text-align: center;
}
.slogan h3 {
	font-size: 0.8rem;
	padding: 8px 0 10px;
	color: #000;
}
.slogan ul li {
	display: inline-block !important;
}

.slogan ul li a {
	display: block;
	margin: 2px;
	padding: 6px 12px 20px 13px;
	font-size: 0.9rem;
	color: #fff;
	border-radius: 2px;
}
.slogan ul li a:hover {
	text-decoration: none;
	background: url(../images/arrow08.png) no-repeat bottom center, rgba(150,21,100,1) !important;
}
.slogan ul li.link01 a {
	background: url(../images/arrow08.png) no-repeat bottom center, rgba(220,100,40,0.8);
}
.slogan ul li.link02 a {
	background: url(../images/arrow08.png) no-repeat bottom center, rgba(50,140,200,0.8);
}
.slogan ul li.link03 a {
	background: url(../images/arrow08.png) no-repeat bottom center, rgba(150,60,140,0.8);
}
.slogan ul li.link04 a {
	background: url(../images/arrow08.png) no-repeat bottom center, rgba(60,80,140,0.8);
}
.slogan ul li.link05 a {
	background: url(../images/arrow08.png) no-repeat bottom center, rgba(30,165,30,0.8);
}

.exinfo {
	text-align: center !important;
	padding: 10px;
}

.exinfo ul li {
	display: block;
	font-size: 1em;
	margin: 10px 0;
}


.exinfo img {
	/*max-width: 340px !important;*/
	border: 1px solid #fff;
	padding: 0;
	max-width: 100%;
	height: auto;
}

/*-----------------------------------------------------------------
メインコンテンツ 
-------------------------------------------------------------------*/
#main {
	padding: 0 10px 20px;
}
#main img {
	max-width: 100%;
	height: auto;
}
/* HOME | ピックアップコンテンツ 3列 */
.topcol3 .box {
	width: 100%;
}
.topcol3 .ttl {
	padding: 8px 0;
	font-weight: normal;
	color: #fff;
	background: #12835d;
	text-align: center;
}
.topcol3 .box ul {
	margin: 0 0 10px 5px;
}
/* HOME | ピックアップコンテンツ 4列 */
.topcol4 .box {
	width: 100%;
}
.topcol4 .ttl {
	padding: 8px 0;
	font-weight: normal;
	color: #fff;
	background: #12835d;
	text-align: center;
}
.topcol4 .box ul {
	margin: 0 0 10px 5px;
}
/* HOME | News */
.newswrap {
	width: calc(100% - 60px);
	padding: 30px;
}
.news {
	width: 100%;
	float: none;
	padding: 0 0;
}
.news dl {
	height: 240px;
	margin-top: 2px;
}

#past .news dl {
	height: auto;
	border: none;
	box-shadow: none;
	font-size: 1rem;
}

.news dt {
	float: none;
	padding: 6px 0 2px;
}
.news dd {
	padding-bottom: 6px;
}
/* HOME | 関連リンク・大阪大学リンク */
.toplink {
	width: 100%;
	float: none;
}
/* パンくずリスト */
#breadcrumb {
	margin: 0 0 20px 0;
	padding: 10px 6px 10px 10px;
	background-color: #eaebf4;
}
/* カテゴリーTOP メニュー */
#main .catmenu {
	margin: 30px 0 0 0;
}
#main .catbox {
	margin: 10px 0 0 0;
}
#main .catbox p {
	margin-top: 15px;
}
/* h2-h6 */
#main h2 {
	font-size: 1.2rem;
	padding: 14px 8px 14px 10px;
}


#main h2 span a {
	/*display: none;*/
	float: right;
	color: #fff;
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: normal;
	position: relative;
	top: 4px;
	padding-right: 12px;
	background: url(../images/arrow04.png) right center no-repeat;
}
#main h3 {
	font-size: 1.2rem;
}
#main .fin {
	position: relative;
	bottom: 1px !important;
	padding: 0 0 0 15px;
	color: #f00;
	font-weight: bold !important;
	font-size: 0.85em !important;
}
#main h4 {
	font-size: 1.2rem;
}
#main h5 {
	font-size: 1.1rem;
}
/* sidemenu */
#sidemenu {
	width: 100%;
}
/* サイトマップ */
#sitemap {
	margin-bottom: 20px;
}
#sitemap ul {
	padding: 0;
	margin: 0 0 0 15px;
}
#sitemap li {
	float: left;
	list-style: none;
	margin: 0 15px 0 1rem;
	/*padding: 0 10px 0 0;*/
	line-height: 1.3;
}
#sitemap ul:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
#sitemap li ul {
	margin: 0 0 6px 0;
	padding: 0;
}

#sitemap li {
	padding: 5px 0;
	text-indent: -1rem;
}

#sitemap li.clear {
	clear: both !important;
	width: 100%;
}
/* 歴代教授 */
.professor .pht {
	text-indent: 0 !important;
	margin: 0 !important;
	text-align: center;
}
.professor .name {
	text-indent: 0 !important;
	margin: 0 !important;
	padding: 10px 0 !important;
	font-size: 1.1rem;
	text-align: center;
}
.professor .info {
	text-indent: 0 !important;
	margin: 0 !important;
	padding-bottom: 10px !important;
	text-align: center;
}
/* 教室員 */
.member ul {
	clear: both;
	list-style: none;
	border-top: 1px solid #cecece;
	margin-bottom: 15px;
	line-height: 1.2;
}
.member ul li.name {
	float: left;
	padding: 10px 10px 5px 5px;
}
.member ul li.kana {
	clear: both;
	font-size: 0.8rem;
	color: #666;
	padding: 0 0 10px 5px;
}
.member ul li.position {
	font-size: 1rem;
	color: #066;
	padding: 0 0 10px 5px;
}
.member ul li.info {
	font-size: 0.95rem;
	clear: both;
	color: #161d6b;
	padding: 0 0 0 5px;
}
.member ul li.detail {
	font-size: 0.9rem;
	float: right;
	position: relative;
	top: 8px;
	padding: 4px 6px 4px 22px;
	background: #eaebf5 url(../images/arrow02.png) left 4px center no-repeat;
	border-radius: 2px;
}
.member ul li.detail.blk {
	background: #eaebf5 url(../images/arrow03.png) left 4px center no-repeat;
}
/* OID 写真 */
#oid1 {
	width: 320px;
	height: 155px;
	background-size: 100%;
}
#oid2 {
	width: 320px;
	height: 193px;
	background-size: 100%;
}
/* PH4 写真 */
#ph4 {
	width: 325px;
	height: 169px;
	background-size: 100%;
}

/* youtube */
.youtube {
	margin-bottom: 20px;
	text-align: center;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* TABLE tbl00 単純2列（略歴等） */
table.tbl00 th {
	display: block;
	padding: 4px 0 0 !important;
}
table.tbl00 th.fl {
	float: left;
}
table.tbl00 td {
	display: block;
	padding: 0 0 2px 1rem !important;
	border-bottom: 1px solid #cecece;
}
/* TABLE tbl03 縦ラインあり＋均等 */
table.tbl03fix .wp1 {
	width: 30% !important;
}

table.switch {
    display: block;
    position: relative;
	border-top: none !important;
	border-bottom: none !important;
	border-right: none !important;
}
  table.switch thead {
    display: block;
    float: left;
}
  table.switch tbody {
    display: block;
    /*width: auto;*/
    position: relative;
    /*overflow-x: auto;*/
    white-space: nowrap;
	/*border-top: 1px solid #cecece;*/
  }
  table.switch th,
  table.switch td {
    display: block;
	border-right: 1px solid #cecece;
	/*border-top: 1px solid #cecece;*/
  }
  table.switch tr {
    display: inline-block;
  }
  table.switch tbody tr {
    margin-right: -5px;
  }

  table.switch th.top,
  table.switch td.top {
	border-top: 1px solid #cecece;
	/*border-top: 1px solid #cecece;*/
  }


/* TABLE figtbl （図用） */
table.figtbl th {
	display: block;
	text-align: center;
	padding: 10px 0;
}
table.figtbl th.pr30, table.figtbl th.pr40 {
	padding-right: 0 !important;
}
table.figtbl td {
	display: block;
}
table.figtbl tr {
	display: block;
}
table.figtbl td.number {
	display: block;
}
table.figtbl td.ttl_r {
	display: block;
	padding: 0 15px 8px;
	border-bottom: 1px dashed #cecece;
}
table.figtbl td.ttl_b {
	display: block;
	padding: 0 15px 8px;
	border-bottom: 1px dashed #cecece;
}
/* TABLE tbl03 縦ラインあり */
table.tbl03.block th {
	display: block;
}
table.tbl03.block td {
	display: block;
}

table .tdw4em {
	width: 4em;
}


/*-----------------------------------------------------------------
フッター 
-------------------------------------------------------------------*/
#footer .footwrap {
	width: 100%;
}
#footer .foottxt {
	padding: 20px 45px 5px 5px;
	margin: 0 0 0 45px;
}
#footer .footlink, #footer .copyright {
	padding: 10px 5px 5px;
	margin: 0;
}
/*-----------------------------------------------------------------
PAGRTOP 
-------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	right: 4px;
	bottom: 85px;
	padding: 5px 0 10px 5px;
}
#pageTop a {
	padding: 0 0 0 6px;
	color: #fff;
}


.job h2 {
	display: block !important;
}

.job h2 span {
	margin: 0 5px 0 0;
}


.job .img {
	display: block !important;
	text-align: center;
}

}
