@charset "utf-8";

html{
	overflow-y:scroll;
	color:#333;
}
html,body,#wrap {
	height:100%;
}

body > #wrap{
	height:auto;
	min-height:100%;
}
body {
	line-height: 1.8;
	background: url(images/body_bg.png) repeat scroll left top;
}

#wrap{
	margin: 0 auto;
}

#contents a{
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

#contents a img{
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
     filter:alpha(opacity=100);
     -moz-opacity:1;
     opacity:1;
}

#contents a:hover img{
     filter:alpha(opacity=50);
     -moz-opacity:.5;
     opacity:.5;
}

/*----------------------------------------------

	#header

----------------------------------------------*/

#header{
	position: relative;
	background:#FFF;
}

.call_nav{
	display:none;
}

.global_nav{
    position: absolute;
    top:0;
    right: 1em;
}
.global_nav ul{
    display: flex;
    gap:1em;
}
.global_nav a:link,
.global_nav a:visited{
	color: #666;
}

.global_nav a:hover,
.global_nav a:active{
	color: #65E0E5;
}



/*----------------------------------------------

	#nav

----------------------------------------------*/

/*----------------------------------------------------------

	topic_path

----------------------------------------------------------*/

#topic_path {
	height: 15px;
	margin-left: 0px;
	margin: 0 auto 1em;
}
#topic_path li {
	display: inline;
	float: left;
}
#topic_path li a {
	display: block;
	margin-right: 10px;
	text-decoration:none;
}

#topic_path li a:after{
	content:" >";
	color:#333;
}



/*----------------------------------------------

	#main_img

----------------------------------------------*/

#main_img{
	clear:both;
	margin:0 auto 1em;
}

#main_img img{
	width:100%;
	height:auto;
}

/*----------------------------------------------

	#footer

----------------------------------------------*/

#footer{
	clear: both;
	background:#EFE3D4;
}

#copy{
	clear:both;
	text-align:center;
	line-height:2;
}

#footer_sp_nav{
    display: none;
}

/*----------------------------------------------

	layout

----------------------------------------------*/
#contents{}

/*----------------------------------------------

	article

----------------------------------------------*/
.article{
}

.article p {
	margin:0 auto 1em;
}

.article ul {
	margin:0 auto 1em 1em;
}

.article ol {
	margin:0 auto 1em 1em;
	list-style:decimal inside;
	color:#998675;
}
.article ul li {
	background: url(images/icon_arrow_01.gif) no-repeat 0 8px;
	padding-left:16px;
	box-sizing:border-box;
}

.article dl {
	margin:0 auto 1em;
}

.article dt {
	margin:0 auto 1em;
}

.article dd {
	margin:0 auto 1em 1em;
}
.article dt a{
	display:block;
	text-decoration:none;
}

.section{
	padding:0 10px;
	margin-bottom: 2em;
	clear: both;
}

/*-----------------------------------

	バナーリンク

-----------------------------------*/

.link_aside {
	background: url(images/link_aside_bg.png) repeat scroll left top;
	padding:1em 0;
}


/*-----------------------------------

	分野

-----------------------------------*/

.bunya_photo img{
	display:block;
}

/*-----------------------------------

	Q&A

-----------------------------------*/

.qa dt:before{
	content:"Q";
	color:#F18599;
	font-size:16px;
	padding-right:.5em;
}

.qa dd:before{
	content:"A";
	color:#52BEF3;
	font-size:16px;
	padding-right:.5em;
}

/*-----------------------------------

	カリキュラム一覧

-----------------------------------*/

.clc_data{
	width:100%;
	border-collapse:collapse;
}

.clc_data th,
.clc_data td{
	padding:.2em;
	border:solid 1px #CCC;
}
.clc_data tbody{
}

.clc_data td{
}

.clc_credit{
	text-align:center;
}

/*-----------------------------------

	カリキュラム表

-----------------------------------*/


.clc_data {
	width:100%;
}

.clc_data th, .clc_data td {
	padding:.5em;
	border:solid 1px #CCC;
	color:#998675;
}

.clc_data thead th {
	background:#65E0E5 url(images/info_table_bg.png) repeat scroll left top;
	color:#FFF;
	white-space:nowrap;
}
.clc_data td {
}

.clc_data tr:nth-child(2n) td{
	background:#e8fafb;
}


/*-----------------------------------

	ページレイアウト

-----------------------------------*/

#contents_page {
	position:relative;
	border-top:6px double #F18599;
	background: #FFF;
	margin:0 auto;
	padding:1em;
	box-sizing:border-box;
}


/*---------------------------------

	.more_info

---------------------------------*/

.more_info{
	width:100%;
	margin:0 auto 1em;
	border-bottom:solid 1px #CCC;
}
.more_info dt   {
	position:relative;
	color:#666;
	border-top:solid 1px #CCC;
	padding:.5em 2em 1em 0;
}
.more_info dt:after{
	content:">";
	position:absolute;
	top:10px;
	right:16px;
	font-weight:normal;
}

.more_info dt.sel {
	border-bottom: dotted 1px #CCC;
}

.more_info dt.sel:after{
	font-weight:normal;
	transform: rotate(90deg); 
	-webkit-transform: rotate(90deg); 
	-moz-transform: rotate(90deg);
}

.more_info dt.row_2 {
	padding-top:8px;
	line-height:1.4;
}
.more_info dd{
	padding:1em;
}

.more_info ul.caution{
	list-style:none;
	margin-left:1em;
}
.more_info ul.caution li{
	
}
.more_info ul.caution li:first-letter{
	margin-left:-1em;
	
}
.more_info dd p{
	margin:0;
}
.more_info dd p+p{
	margin:1em 0 0;
}
.more_info li strong {
	color: #E60012;
}

/*-----------------------------------

	教員紹介

-----------------------------------*/
#sub_staff{
	list-style:none outside;
}

#sub_staff li{
	display:inline-block;
	width:48%;
	vertical-align:top;
}


/*-----------------------------------

	新着情報

-----------------------------------*/
.info_date{
	text-align:right;
}

.topics_list dt .topi_info{
	background:#55DC68;
}

.topics_list dt .topi_zai{
	background:#FFB362;
}

.topics_list dt .topi_prospective{
	background:#55dcda;
}

.topics_list dt .topi_event{
	background:#bf76d1;
}

/*研究活動*/
.topics_list dt .topi_research{
	background:#5697dc;
}

/*教育活動*/
.topics_list dt .topi_education{
	background:#FFB362;
}

/*在学生*/
.topics_list dt .topi_zai{
	background:#55dcda;
}

/*受験生*/
.topics_list dt .topi_exam{
	background:#bf76d1;
}



/*-----------------------------------

	今月の地理写真

-----------------------------------*/

#month_view_list{
	list-style:none;
	margin:0;
}

#month_view_list li{
	margin:0;
	padding:1em 0;
	background-image:none;
	overflow:hidden;
}

#month_view_list a{
	text-decoration:none;
	color:#333;
}


#wall_map iframe{
	width:100%;
}

#wall_dl ul{
	margin:0;
	text-align:center;
}
#wall_dl li{
	display:inline-block;
	padding:0;
	background-image:none;
	width:32%;
}
#wall_dl li a{
	width:80%;
	margin:0 auto;
}
/*-----------------------------------

	汎用スタイル

-----------------------------------*/

.page_title {
	color:#F18599;
	padding:1em;
	margin:0 auto 2em;
	font-size:20px;
	font-weight: bold;
}

.sec_title {
	border-left: solid 6px #FFE52A;
	padding: .2em 0 .2em 1.8em;
	margin: 0 auto 1em;
	font-size:16px;
	background: #fff8ca url(images/sec_title_bg.png) no-repeat scroll 6px center;
	color: #F18599;

}

.sub_title{
	margin:0 0 1em 0;
	padding-bottom:.5em;
	border-bottom:dotted 2px #65E0E5;
	color:#65E0E5;
	font-weight:bold;
}

.area_title{
	font-weight:bold;
	color:#666;
	margin-bottom:1em;
}

.article .about_copy{
	font-size:20px;
	color:#608BE6;
}

.article .voice_copy{
	font-size:16px;
	color:#608BE6;
	margin-bottom:1em;
}

.bunya_title{

}

.info_table {
	width:100%;
}

.info_table th, .info_table td {
	padding:.5em;
	border:solid 1px #CCC;
}

.info_table th {
	background:#65E0E5 url(images/info_table_bg.png) repeat scroll left top;
	color:#FFF;
	white-space:nowrap;
}
.info_table td {
	color:#998675;
}

.info_table tr:nth-child(2n) td{
	background:#e8fafb;
}


.auther{
	text-align:right;
}

.view_list {
	text-decoration:none;
	border: solid 1px #D9E021;
	background: #FFFF00;
	display: block;
	width: 7em;
	color:#000;
	text-align:center;
}

.article .fig_center{
	text-align: center;
	margin: 0 auto 1em;
}

.article .fig_center img{
	display:block;
	margin:0 auto;
}

.article .info_dl dt{
	background:#e8fafb;
	padding:.5em 1em;
	color: #998675;
}

.article .info_dl dd{
	border-left: 2px solid #CCC;
	padding-left: 1em;
}


.ie8 img.fl_right {
	width:auto;
}

.ie8 img.fl_left {
	width:auto;
}


.fsmall {
	font-size: 11px;
	line-height: 16px;
}
.fxsmall {
	font-size: 10px;
	line-height: 12px;
}

.cl{
	clear:both;
	visibility: hidden;
	height:0;
}

.clear{
	clear:both;
}


.full_img{
	width:100%;
	height:auto;
	margin-bottom:1em;
}


.btn {
	display:block;
	background:#65E1E6;
	color: #ffffff;
	padding: 10px 20px;
	box-sizing:border-box;
	text-decoration:none;
	color: #ffffff;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	text-shadow:
		0px -1px 1px rgba(000,000,000,0.2),
		0px 1px 0px rgba(255,255,255,0.3);
}

.btn:link,
.btn:visited{
	background:#65E1E6;
}
.btn:hover,
.btn:active{
	background:#9feff2;
}


#kougi_list{
	
}
#kougi_list dt{
	border-bottom:dotted 1px #CCC;		
}
#kougi_list dt a{
	display:block;
	text-decoration:none;
}

#kougi_list dd{
	margin-left:1em;		
}

/*------------------------

     必要な能力

------------------------*/
.skill_list{
    list-style: none;
    background: none;
    padding: 0;
}
.article .skill_list li{
    list-style: none;
    background: none;
    padding: 0;
}
.article .skill_list > li{
    background: #FFF;
    padding: 1em;
    border: solid 1px #C7B299;
    border-radius: 8px;
}
.article .skill_list > li + li{
    margin-top: 1em;
}


.article .skill_list li h3{
    color: #f29600;
    border-bottom: dashed 1px ;
    margin-bottom: 1em;
    font-weight: bold;
}
.skill_row{
    display: flex;
    gap:20px;
}

.skill_row figure{
    width: 180px;
    margin: 0;
    padding: 0;
}

.skill_row figure img{
    width: 100%;
    height: auto;
}
.skill_doc {
    flex:1;
}

h4.skill_need,
h4.skill_subject{
    font-weight:bold;
    color: #f29600;
}
h4.skill_need::before,
h4.skill_subject::before{
    content:"【";
}
h4.skill_need::after,
h4.skill_subject::after{
    content:"】";
}

.article .skill_list .skill_subject_list{
    display: flex;
    gap:0 1em;
    flex-wrap: wrap;
}
.article .skill_list .skill_subject_list li{
    display: flex;
    align-items: center;
    gap:0 .5em;
}
.article .skill_list .skill_subject_list li:not(:last-child)::before{
    content:"■";
    color: #ffca75;
    font-size: 10px;
}

/*------------------------

     Staff_list

------------------------*/
.article .staff_list{
	list-style:none;
	margin: 0;
	padding: 0;
	border-top:solid 1px #CCC;
}

.article .staff_list li{
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 0;
	width: 100%;
	background: none;
	border: solid 1px #CCC;
	border-width: 0 1px 1px 1px;
}

.staff_acd_check{
	position: absolute;
	left: -9999px;
}

.staff_list_header{
	display: flex;
	cursor: pointer;
}

.staff_photo{
	width:80px;
	padding: 5px;
}

.staff_photo img{
	width: 100%;
	height: auto;
}

.staff_doc{
	display: flex;
	align-items: center;
	width: calc(100%);
}

.staff_doc::after{
	content:"＋";
	align-items: center;
	justify-content: center;
	display: flex;
	height: 100%;
	width: 38px;
	background: #65A1E5;
	color: #FFF;
}

.article .staff_acd_check:checked + .staff_list_header .staff_doc::after{
	content:"－";
}

.staff_info{
	display: flex;
	line-height: 1.4;
/*
	border-bottom: solid 2px #CCC;
*/
	padding: .5em 20px;
	width: calc(100% - 38px);
}


.staff_info_prof{
	padding-right: 1.5em;
	min-width: 9em;
}

.staff_info_occ{
	font-size:12px;
}

.staff_name{
	font-size:22px;
	color: #65A1E5;

}

.staff_name span{
	display:block;
	font-size: 11px;
	color:#B5B5B5;
}

.article .staff_info_field{
	display:flex;
	align-items: center;
	margin: 0;
	padding-left: 1em;
	border-left: dashed 1px #CCC;
}

.article .staff_detail dt{
	font-weight: bold;
	color: #65A1E5;
	}



.article .staff_detail,
.article .staff_detail dl,
.article .staff_detail dt,
.article .staff_detail dd,
.article .staff_detail p,
.article .staff_detail a{
	line-height: 0;
	opacity: 0;
    -moz-transition: 0.3s all ease;
    -o-transition: 0.3s all ease;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
	margin: 0;
}
.article .staff_detail a{
	padding: 0 20px;
	text-align: center;
}
.article .staff_detail dl{
	padding:0 1em;
}

.article .staff_detail{
	padding-left: 1em;
}

.more_staff_info{
	margin: 0 2em;
}

.article .staff_acd_check:checked + .staff_list_header + .staff_detail,
.article .staff_acd_check:checked + .staff_list_header + .staff_detail *{
	line-height: 1.6;
	opacity: 1;
}

.article .staff_acd_check:checked + .staff_list_header + .staff_detail{
	padding: 1em;
	border-top:solid 1px #CCC;
}
.article .staff_acd_check:checked + .staff_list_header + .staff_detail dt{
	margin-bottom: .2em;
}
.article .staff_acd_check:checked + .staff_list_header + .staff_detail dd+dt{
	margin-top: 1em;
}
.article .staff_acd_check:checked + .staff_list_header + .staff_detail{
}
.article .staff_acd_check:checked + .staff_list_header + .staff_detail a{
	padding: 10px 20px;
	margin-top: 1em;
}

.article .staff_acd_check:checked + .staff_list_header + .staff_detail a.btn:link,
.article .staff_acd_check:checked + .staff_list_header + .staff_detail a.btn:visited{
	background: #65a1e5;
}

.article .staff_acd_check:checked + .staff_list_header + .staff_detail a.btn:hover,
.article .staff_acd_check:checked + .staff_list_header + .staff_detail a.btn:active{
	background: #a2c7f2;
}

/* 書籍一覧 */

.article ul.book_list{
    list-style: none;
}
.article ul.book_list li{
    list-style: none;
    background: none;
}

.article ul.book_list li figure{
    margin: 0 auto .5em ; 
}
.article ul.book_list li figure img{
    border: solid 1px #CCC;
}

.article ul.book_list li h3{
    font-size: 15px;
    font-weight: bold;
    color:#65A1E5;
    line-height: 1.2;
    margin-bottom: .5em;
    font-feature-settings: "palt";
}
.article ul.book_list li h3 span{
    font-size: 12px;
}
.article ul.book_list li table{
    margin: 0 0 1em;
    padding: 0;
    display: block;
}
.article ul.book_list li table tbody,
.article ul.book_list li table tr{
    display: block;
    vertical-align: top;
}
.article ul.book_list li table th,
.article ul.book_list li table td{
    display: inline-block;
    margin: 0;
    padding: 0;
}

.article ul.book_list li table th{
    font-weight: bold;
}
.article ul.book_list li table td{
    max-width: 9rem;
    word-break: break-all;
 word-wrap : break-word;
  overflow-wrap : break-word; 
    font-feature-settings: "palt";
}
.article ul.book_list li a{
    margin: auto auto 0;
}

/*=============== sticky_nav ===============*/

.sticky_nav {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  z-index: 9990;
  margin: 0;
  padding: 0;
}
.sticky_nav a {
  box-sizing:border-box;
	text-decoration: none;
    transition: all .3s ease;
}
.sticky_nav a {
  display: block;
  color: #fff;
  background: #eb6295;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: .05em;
  text-align: left;
  box-shadow: 0px 0px 5px rgba(0,0,0,.05);
  text-shadow: 0px 0px 2px rgba(0,0,0,.3);
}
.sticky_nav a:before {
  content: "\f16d";
  font-family: "Font Awesome 5 Brands";
  font-weight: 900;
}
.sticky_nav a + a {
_color: #7a6a56;
_background: #0f1419 ;
  background: #0f1419 ;
  letter-spacing: .2em;
}
.sticky_nav a + a:before {
  content: "\e61b";
  font-family: "Font Awesome 6 Brands";
  font-weight: 900;
}
.sticky_nav a:hover,
.sticky_nav a + a:hover {
_color: #cea500;
  color: #101010;
  font-weight: 900;
  background: #ffcc00; 
  text-shadow: none;
}
.sticky_nav:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}





/*------------------------

     タブメニュー

------------------------*/

.tab_wrap {
  width: 100%;
  margin: 0 auto;
}
input[type="radio"] {
  display:none;
}
.tab_area {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0 0;
  list-style-type: none;
}
.tab_area label {
  box-sizing:border-box;
  -webkit-box-sizing : border-box ;
  -moz-box-sizing : border-box ;
  flex: 0 0 calc(100% / 6);
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: calc(100% / 6);
  max-width: calc(100% / 6);
  margin: 0 0;
  padding: .5em 0;
  background: #f5f1de;
  text-align: center;
  cursor: pointer;
  transition: ease 0.2s opacity;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
	font-feature-settings: "palt";
}
.tab_area label:hover {
_color: #cea500;
  color: #101010;
  background: #ffcc00;
}
.tab_area label:first-child {
  border-left: 1px solid #ccc;
}
.panel_area {
  background: #fff;
}
.tab_panel {
  display: none;
_width: 100%;
  padding: 1.8em 2.4em  1.2em;
  border: 1px solid #ccc;
  background: #fff;
  box-shadow: 0px 0px 5px rgba(0,0,0,.05);
}
.tab_panel p {
  font-size: 14px;
  letter-spacing: 1px;
}
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label,
#tab3:checked ~ .tab_area .tab3_label,
#tab4:checked ~ .tab_area .tab4_label,
#tab5:checked ~ .tab_area .tab5_label,
#tab6:checked ~ .tab_area .tab6_label {
  background:#5b87bf;
  color:#fff;
}
#tab1:checked ~ .panel_area #panel1,
#tab2:checked ~ .panel_area #panel2,
#tab3:checked ~ .panel_area #panel3,
#tab4:checked ~ .panel_area #panel4,
#tab5:checked ~ .panel_area #panel5,
#tab6:checked ~ .panel_area #panel6 {
  display:block;
}
.tab_panel ul li {
  border-bottom: 1px dotted #ddd;
  margin-bottom: .6em;
  padding-bottom: 1.2em;
}
span.news_category,
span.news_category + a {
  display: inline-block;
  margin-top: .6em;
}
span.news_category + a {
    display: block;
}
span.news_category {
  font-size: 15px;
  background: #998770;
  padding: .2em 1em;
  text-align: center;
}


#topics.fix{
	padding-bottom: 1em;
}

/*------------------------

     Clearfix

------------------------*/
.section:after,
.clearfix:after {
     visibility: hidden;
     display: block;
     font-size: 0;
     content: " ";
     clear: both;
     height: 0;
}
* html .section,
* html .clearfix              { zoom: 1; } /* IE6 */
*:first-child+html .section,
*:first-child+html .clearfix  { zoom: 1; } /* IE7 */
