@charset 'UTF-8';
/*******************************
/* フォント
*******************************/
.t1 {
	font-size: 2.0em;
	color: #0c315b;
	font-weight: bold;
}
.t2 {
	font-size: 1.6em;
	color: #0c315b;
	font-weight: bold;
}
.t3 {
	font-size: 1.4em;
	color: #0c315b;
	font-weight: bold;
}
.t4 {
	font-size: 1.1em;
	color: #0c315b;
	font-weight: bold;
}
.txt-small {
	font-size: 0.8em;
	color: #565656;
}
.txtmin {
	font-size: 1.2em;
	font-family: 'Noto Serif JP',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.marker {
	background:linear-gradient(transparent 60%, #FFDD00 40%);
}
/* レスポンシブル対応
----------------------------------------------------------------------------------------------------*/
.responsible {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.responsible iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
/* box
----------------------------------------------------------------------------------------------------*/
.border-box {
    width: 100%;
    height: auto;
    padding: 16px;
    border: 8px solid #eee;
    margin-bottom: 10px;
    box-sizing: border-box;
}
.border-box2 {
    width: 100%;
    height: auto;
    padding: 16px;
    border: 2px solid #ccc;
    margin-bottom: 10px;
}
/*color-box---------------*/
.yellow-box {
    width: 100%;
    height: auto;
    padding: 16px;
    background-color: #fff799;
    margin-bottom: 10px;
}
.Blue-box {
    width: 100%;
    height: auto;
    padding: 16px;
    background-color: #8ED6F9;
    margin-bottom: 10px;
}
.green-box {
    width: 100%;
    height: auto;
    padding: 16px;
    background-color: #bae0a8;
    margin-bottom: 10px;
}
.pink-box {
    width: 100%;
    height: auto;
    padding: 16px;
    background-color: #F8ABAE;
    margin-bottom: 10px;
}
.gray-box {
    width: 100%;
    height: auto;
    padding: 16px;
    background-color: #eeeeee;
    margin-bottom: 10px;
}
.gray-left-line {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
	padding-top: 16px;
	padding-right: 16px;
	padding-bottom: 16px;
	padding-left: 28px;
	border-left-width: 5px;
	border-left-style: solid;
	border-left-color: #eeeeee;
}
/* button
----------------------------------------------------------------------------------------------------*/
.page-area {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.page-area a  {
	font-size: 1.0em;
	letter-spacing: 1px;
	border: 1px solid #0c315b;
	padding: 10px 2px;
	cursor: pointer;
	color: #fff;
	background-color: #0c315b;
	position: relative;
	display: block;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	font-weight: bold;
}  
.page-area a:hover  {
	color: #001623;
	text-decoration: none;
	border: 1px solid #d7e7f9;
	background-color: #d7e7f9;
}
.page-more {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.page-more a  {
	font-size: 1.0em;
	letter-spacing: 1px;
	border: 1px solid #001623;
	padding: 10px 2px;
	cursor: pointer;
	color: #fff;
	background-color: #001623;
	position: relative;
	display: block;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	font-weight: bold;
}  

.page-more a:hover  {
	color: #001623;
	text-decoration: none;
	border: 1px solid #001623;
	background-color: #fff;
}
.page-more2 {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}
.page-more2 a  {
	font-size: 1.0em;
	letter-spacing: 1px;
	border: 1px solid #d7e7f9;
	padding: 10px 2px;
	cursor: pointer;
	color: #001623;
	background-color: #d7e7f9;
	position: relative;
	display: block;
	text-decoration: none;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	font-weight: bold;
}
.page-more2 a:hover  {
	color: #0c315b;
	text-decoration: none;
	border: 1px solid #0c315b;
	background-color: #fff;
}
/*************
/* ＃main
*************/
#main {
	width: 100%;
	text-align: left;
	background-color: #FFF;
	margin-top: 5px;
	float: left;
	margin-bottom: 30px;
	padding-top: 0%;
	padding-right: 6%;
	padding-bottom: 0%;
	padding-left: 6%;
}
#main2 {
	width: 100%;
	text-align: left;
	background-color: #FFF;
	margin-top: 5px;
	float: left;
	margin-bottom: 30px;
	padding-top: 0%;
	padding-right: 6%;
	padding-bottom: 0%;
	padding-left: 6%;
}
 @media screen and (max-width: 479px) {
/* 479px以下用（タイトル改行）の記述 */
#main {
	padding: 0%;
}
#main2 {
	padding: 0%;
}
}
#main a:hover img {
	opacity: 0.5;
	-moz-opacity: 0.5;
	filter: alpha(opacity = 50);
}
/*************
/* 見出し
*************/
#main h1, #main2 h1, #main3 h1 {
	font-size: 1.6em;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
  position: relative;
	line-height:1.4em;
	margin-bottom:30px;
	clear: both;
	font-weight: bold;
}
#main h2 {
	font-size: 1.4em;
	margin-bottom: 20px;
	clear: both;
	border-bottom:4px solid #0c315b;
	padding: 5px;
	font-weight: bold;
	line-height: 1.3;
}
#main h3 {
	position: relative;
	margin: 0 0 1.5em;
	padding: 0.8em;
	background: #001623;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
}
#main h3:after{
    position: absolute;
    bottom: -15px;
    left: 10%;
    z-index: 90;
    margin-left: -15px;
    border-top: 15px solid #001623;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 0;
    content: "";
}
#main h4 {
	font-size: 1.2em;
	position: relative;
	margin-bottom: 20px;
	clear: both;
	font-weight: bold;
	border-left:solid 4px #0c315b;
	padding: 5px 10px;
}
#main2 h2 {
	font-size: 1.0em;
	margin-bottom: 20px;
	clear: both;
	border-bottom:4px solid #0c315b;
	padding: 5px;
	font-weight: bold;
	line-height: 1.2em;
}
#main2 h2 a {
	text-decoration: none;
	color: #000;
}
#main2 h3 {
	position: relative;
	margin: 0 0 1.5em;
	padding: 0.8em;
	background: #001623;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
}
#main2 h3:after{
    position: absolute;
    bottom: -15px;
    left: 10%;
    z-index: 90;
    margin-left: -15px;
    border-top: 15px solid #001623;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 0;
    content: "";
}
#main3 h2 {
	font-size: 1.6em;
	margin-bottom: 20px;
	clear: both;
	border-bottom:4px solid #0c315b;
	padding: 5px;
	font-weight: bold;
	line-height: 1.2em;
}
#main3 h2 a {
	text-decoration: none;
	color: #000;
}
/**************************
沿革

**************************/
.timeline {
    list-style: none;
    padding: 20px 0 20px;
    position: relative;
}
    .timeline:before {
        top: 0;
        bottom: 0;
        position: absolute;
        content: " ";
        width: 3px;
        background-color: #eeeeee;
        left: 50%;
        margin-left: -1.5px;
    }
.center-none .timeline:before{
	display: none;
}
    .timeline > li {
        margin-bottom: 20px;
        position: relative;
    }
        .timeline > li:before,
        .timeline > li:after {
            content: " ";
            display: table;
        }
        .timeline > li:after {
            clear: both;
        }
        .timeline > li:before,
        .timeline > li:after {
            content: " ";
            display: table;
        }
        .timeline > li:after {
            clear: both;
        }
        .timeline > li > .timeline-panel {
            width: 46%;
            float: left;
            border: 1px solid #d4d4d4;
            border-radius: 2px;
            padding: 20px;
            position: relative;
            -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
            box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
        }
            .timeline > li > .timeline-panel:before {
                position: absolute;
                top: 26px;
                right: -15px;
                display: inline-block;
                border-top: 15px solid transparent;
                border-left: 15px solid #ccc;
                border-right: 0 solid #ccc;
                border-bottom: 15px solid transparent;
                content: " ";
            }
            .timeline > li > .timeline-panel:after {
                position: absolute;
                top: 27px;
                right: -14px;
                display: inline-block;
                border-top: 14px solid transparent;
                border-left: 14px solid #fff;
                border-right: 0 solid #fff;
                border-bottom: 14px solid transparent;
                content: " ";
            }
        .timeline > li > .timeline-badge {
            color: #fff;
            width: 50px;
            height: 50px;
            line-height: 50px;
            font-size: 1.4em;
            text-align: center;
            position: absolute;
            top: 16px;
            left: 50%;
            margin-left: -25px;
            background-color: #999999;
            z-index: 100;
            border-top-right-radius: 50%;
            border-top-left-radius: 50%;
            border-bottom-right-radius: 50%;
            border-bottom-left-radius: 50%;
        }
        .timeline > li.timeline-inverted > .timeline-panel {
            float: right;
        }
            .timeline > li.timeline-inverted > .timeline-panel:before {
                border-left-width: 0;
                border-right-width: 15px;
                left: -15px;
                right: auto;
            }
            .timeline > li.timeline-inverted > .timeline-panel:after {
                border-left-width: 0;
                border-right-width: 14px;
                left: -14px;
                right: auto;
            }
.timeline-badge.primary {
    background-color: #0c315b !important;
}
.timeline-badge.success {
    background-color: #43ADCE !important;
}
.timeline-badge.warning {
    background-color: #84A5B8 !important;
}
.timeline-badge.danger {
    background-color: #d7e7f9 !important;
}
.timeline-badge.info {
    background-color: #001623 !important;
}
#main h4.timeline-title{
	border:none;
	margin-bottom:0;
	padding-left:0;
	padding-right:0;
	font-weight:normal;
}
.timeline-title {
    margin-top: 0;
    color: inherit;
}
.timeline-body > p,
.timeline-body > ul {
    margin-bottom: 0;
}
    .timeline-body > p + p {
        margin-top: 5px;
    }
@media (max-width: 767px) {
    ul.timeline:before {
        left: 40px;
    }
    ul.timeline > li > .timeline-panel {
        width: calc(100% - 90px);
        width: -moz-calc(100% - 90px);
        width: -webkit-calc(100% - 90px);
    }
    ul.timeline > li > .timeline-badge {
        left: 15px;
        margin-left: 0;
        top: 16px;
    }
    ul.timeline > li > .timeline-panel {
        float: right;
    }
        ul.timeline > li > .timeline-panel:before {
            border-left-width: 0;
            border-right-width: 15px;
            left: -15px;
            right: auto;
        }
        ul.timeline > li > .timeline-panel:after {
            border-left-width: 0;
            border-right-width: 14px;
            left: -14px;
            right: auto;
        }
}
.timeline {
  list-style: none;
}
.timeline > li {
  margin-bottom: 60px;
}
.time {
    font-size: 1.4em;
    font-weight: bold;
}
/* for Desktop */
@media ( min-width : 640px ){
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 20px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    padding-left: 30px;
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: #F1F1F1;
  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #0c315b;
    position: absolute;
    left: 106px;
    top: 24px;
    border-radius: 100%;
  }
}
/*******************************
/* 研究・教員紹介アーカイブ
*******************************/
#se1,#se2,#se3{
	padding-top: 90px !important;
	margin-top: -90px !important;
}
@media screen and (max-width: 479px){
.page-area-sp .page-area a{
	font-size: 0.8em;
}
}
/*******************************
/* 教員紹介 タクソノミー
*******************************/
.teacher_name{
	font-size: 1.4em;
	font-weight: bold;
}
.teacher_name span{
	font-size: 0.8em;
}
.teacher_name a{
	color: #000;
	display: block;
	background-color: #d7e7f9;
	padding: 5px 5px 3px;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}
.teacher_name a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.teacher_name a i{
	color: #fff;
	padding: 10px 15px 10px 10px;
}

.teacher_name2{
	padding: 20px;
	width: 100%;
	background-color: #FFF;
}
.teacher_n{
	color: #000;
	display: block;
	background-color: #d7e7f9;
	padding: 5px 5px 3px;
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 40px;
}
.teacher_n span{
	font-size: 0.8em;
}
.teacher_n i{
	color: #fff;
	padding: 10px 15px 10px 10px;
}
.lecture_t{
	line-height: 1.2em;
	color: #0c315b;
	font-weight: bold;
}
@media screen and (max-width: 479px){
.lecture_t{
	font-size: 0.9em;
}
}
/*******************************
/* 教員紹介 記事
*******************************/
.teacher_cat{
	margin-bottom: 60px;
}
.teacher_cat ol,.teacher_cat ul{
	padding-left: 18px;
}
.teacher_cat ol li,.teacher_cat ul li{
	margin-bottom: 10px;
}
/*******************************
/* 教員の研究について タクソノミー
*******************************/
.ri_tag{
	display: inline-block;
	background-color: #001623;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px;
	top: -10px;
	position: relative
}
/*******************************
/* ユーザー別リンク
*******************************/
.user_list {
	margin-bottom: 60px;
}
.user_list li{
	list-style: none;
	padding-left: 15px;
	position: relative;
}
.user_list li::before{
	content: " ";
	display: block;
	position: absolute;
	height: 2px;
	width: 10px;
	top: 50%;
	left: 0;
	background-color: #AFD1E5;
}
.user_list li a{
    color: #000;
    display: block;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.user_list li a:hover{
	color: #565656;
	text-decoration: none;
}
.user_list ul li{
	padding-left: 30px;
}
.user_list ul li::before{
	left: 15px;
	background-color: #C5D8E3;
}

/*******************************
/* 教えて！よしかわ先生
*******************************/
.qa_waku{
	padding: 5px 84px 15px;
	background-repeat: no-repeat;
	background-size: 84px auto;
}
.qa_waku_inner{
	margin: 0 20px;
	position: relative;
	border-radius: 10px;
	padding: 20px 20px 10px;
}
/* rika */
.qa_waku.rika{
	background-position: right top;
	background-image: url("../images/rika.png");
}
.rika .qa_waku_inner{
	background-color: #FAE8E8;
}
.rika .qa_waku_inner::after{
	content: " ";
	display: block;
	border-top: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid #FAE8E8;
	position: absolute;
	top: 20px;
	right: -20px;
}
/* kota */
.qa_waku.kota{
	background-position: right top;
	background-image: url("../images/kota.png");
}
.kota .qa_waku_inner{
	background-color: #E6FACA;
}
.kota .qa_waku_inner::after{
	content: " ";
	display: block;
	border-top: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid #E6FACA;
	position: absolute;
	top: 20px;
	right: -20px;
}
/* yoshikawa */
.qa_waku.yoshikawa{
	background-position: left top;
	background-image: url("../images/yoshikawa.png");
}
.yoshikawa .qa_waku_inner{
	background-color: #D8EFFA;
}
.yoshikawa .qa_waku_inner::before{
	content: " ";
	display: block;
	border-top: 10px solid transparent;
	border-right: 10px solid #D8EFFA;
	border-bottom: 10px solid transparent;
	border-left: 10px solid transparent;
	position: absolute;
	top: 20px;
	left: -20px;
}
@media screen and (max-width: 768px){
.qa_waku_inner{
	padding: 11px 20px 1px;
}
.rika .qa_waku_inner,.kota .qa_waku_inner{
	margin: 0 20px 0 0;
}
.yoshikawa .qa_waku_inner{
	margin: 0 0 0 20px;
}
.qa_waku.rika,.qa_waku.kota{
	padding: 0px 54px 15px 0;
	background-size: 54px auto;
}
.qa_waku.yoshikawa{
	padding: 0px 0 15px 54px;
	background-size: 54px auto;
}
.rika .qa_waku_inner::after,.kota .qa_waku_inner::after,.yoshikawa .qa_waku_inner::before{
	top: 15px;
}
}
/*******************************
/* クラブ・サークル活動リスト
*******************************/
.club_activity{
	display: block;
}
.ac_m{
	margin-top: -95px;
	padding-top: 95px;
}
.club_activity li{
	padding-left: 15px;
	border-left: 4px solid #AFD1E5;
	list-style: none;
	margin-bottom: 10px;
}
.club_activity li.ca_list{
	border-left: 4px solid #d7e7f9;
}
@media screen and (max-width: 479px){
	.club_activity li{
		font-size: 0.9rem;
	}
}
/*******************************
/* accordion
*******************************/
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	box-sizing: border-box;
}
.cp_qa {
	overflow-x: hidden;
	margin-bottom: 1rem;
}
.cp_qa .cp_actab {
	padding: 0 0 1.6rem;
}
.cp_qa label {
	display: flex;
	width: 100%;
	margin: 0;
	cursor: pointer;
	background-color: #000;
	color: #fff;
	position: relative;
	transition: .3s;
	padding: 10px 20px;
	font-size: 16px;
}
.cp_qa label .fwb{
	display: block;
	width: calc(100% - 2.4rem);
	line-height: 1.5;
	padding-top: 0.3rem;
}
.cp_qa .cp_actab-content {
	font-size: 14px;
	position: relative;
	overflow: hidden;
	height: 0;
	transition: 0.3s ease;
	opacity: 0;
	background-color: #eee;
	display: flex;
	padding: 0 20px;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
  height: auto;
  opacity: 1;
	padding: 16px 20px 20px;
}
.cp_qa .cp_actab input[type=checkbox] {
  display: none;
}
.page-faq-contents{
	width: 95%;
}
.page-faq-txt{
	margin-bottom: 0;
	line-height: 1.8;
	letter-spacing: 1px;
}
/* faqtgl */
.faqTgl {
	position: relative;
	display: block;
	width: 2.4rem;
}
.faqTgl span,.faqTgl::after {
	width: 1.2rem;
}
.faqTgl span {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	border-bottom: 2px solid #fff;
	transition: -webkit-transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.faqTgl::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	right: 0;
	border-bottom: 2px solid #fff;
	transition: -webkit-transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.faqTgl_wrap:checked + label .faqTgl::after {
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
.page-faq-postscript{
	margin-bottom: 0;
	display: inline-block;
	text-align: left;
	line-height: 1.6;
	font-size: 1.2rem;
	padding-bottom: 5.6rem;
}
