* {
    margin: 0;
    padding: 0;
}
body{
    font-family: 'Noto Serif JP', 游明朝,"Yu Mincho",YuMincho,Georgia,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    font-weight: 500;
    color:#333;
    font-size: 16px;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
li{
    list-style: none;
}
a{
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    color:#111;
}
a:hover{
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
        opacity: .7 !important;
}

label{
    -webkit-tap-highlight-color: transparent;
}
.sp{
    display: none;
}
	.sp375{
		display:none;
	}
	.sp640{
		display:none;
	}
	.ac-box.sp550{
		display:none;
	}

.wrap{
    width: 900px;
    margin: 0 auto;
}
img{
    max-width:100%;
}
.mt-border{border-top: 1px #ccc solid;}
.mt0{margin-top:0!important;}
.mt5{
    margin-top: 5px!important;
}
.mt10{
    margin-top: 10px!important;
}
.mt20{
    margin-top: 20px!important;
}
.mt30{
    margin-top: 30px!important;
}
.mt40{
	margin-top:40px!important;
}

.mb10{
    margin-bottom: 10px!important;
}
.mb20{
    margin-bottom: 20px!important;
}
.mb30{
    margin-bottom: 30px!important;
}
.mr40{
	margin-right:40px!important;
}
.pt20{padding-top:20px!important;}
.pb20{padding-bottom:20px!important;}
.pt1em{padding-top:1em;}
.pb1em{padding-bottom:1em;}
.padding20{padding:20px;}
.ml1em_mr2em{margin-left:1em;margin-right:2em;}
.padding1em{padding:1em;}
.padding3em{padding:3em;}
.padding15em{padding:1.5em;}
.italic{font-style:italic;}
.t_right{
    text-align: right;
}
.center{
	text-align:center;
}
hr.part{
  width: 42%;
  text-align: center;
  margin: auto;
  border-top: 1px solid #333;
  border-bottom: none;
  border-right: none;
  border-left: none;
}
.bg_gray{background:#f6f6f6;}
.bg-beige{background:#f5f3f0;}
.bg_pink{background:rgba(153,55,63,0.05);}
.border{border:1px solid #333;padding:1em;}
.fadein {
  opacity : 0;
  transform: translateY(20px);
  transition: all 1s;
}
.line_h24{line-height: 2.4;}
.border3px{border: 3px solid #333;}
.innercontents h1 .smaller{font-size:60%; font-weight:normal;}
.bold{font-weight:bold;}
.red,.red a{color:#99373f;}
.sans-serif{font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;}
.center-line-red hr{border-top: 1px solid #c61c00; width: 150px; margin: auto;}

.kakko{font-family:HGS明朝E,メイリオ,Meiryo,serif;}
/********************************* header **********************************/
.header_wrapper{
    border-bottom: 2px solid #99373f;
}
.header_wrapper .wrap{
    /*! display: flex; */
    justify-content: space-between;
    height: 100px;
    padding:30px 0;
    align-items: center;
}
.header_wrapper .title p{
    font-size: 16px;
    color: #062192;
}
.header_wrapper h1{
    font-size:23px;
    padding: 0 0 8px;
    line-height: 1;
}
nav.pc{
	margin-top: 20px;
}
nav ul{
    display: flex;
    justify-content: left;
}
nav ul li{
    font-size: 16px;
    padding:0 16px;
	line-height:1;
}
section{
	overflow:hidden;}
	
	
.qa-indent{
	padding-left: 2.7em;
    text-indent: -2.7em;
}
.fa.fa-external-link{
    font-weight: bold;
    color:#99373f;
}

@media screen and (min-width: 769px){
	nav ul li {
	padding: 0 20px 0 0;
	}
}

.header_image{
    background: #f6f6f6;
    line-height: .9;
}
/********************************* main **********************************/
.message{
    font-size:16px;
    line-height:1.8;
    width:886px;
    margin:50px auto;
}
.message a{text-decoration:none;}
.message .note{
	font-size:12px;
	margin:10px auto;}
.message .message_link.bg_blue {
  background: #377099;
  padding:1px 4px 2px;
	color:#fff;
}
.keigu{
    padding-right: 3em;
    text-align: right;
}
.top h2{
    font-size:24px;
    padding:20px 0 10px;
    margin-bottom: 20px;
    text-align: center;
    line-height: 2.4;
}
.top h2::after {
    width: 50px;
    height: 3px;
    background: #99373f;
    content: "";
    display: block;
    margin: 0 auto;
}
a.underline_red{text-decoration:none;border-bottom:1px solid #99373f;}
.profile{
    font-size: 14px;
    line-height:1.7;
    padding-bottom: 60px;
    padding-top: 80px;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.profile:before {
  content: '';
  position: absolute;
  top: 62px;
  left: 0;
  width: 120%;
  height: 120%;
  margin: 3% -10% 0;
  background: #99373f;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  z-index: -1;
}
.top .profile h2::after {
    width: 50px;
    height: 3px;
    background: #fff;
    content: "";
    display: block;
    margin: 0 auto;
}
.profile_name{
    font-size:16px;
}
.profile_caption{
	text-align:center;
	font-size: 12px;
}
.profile span{
    font-size: 12px;
}
.profile_img{
    float:right;
    width:24%;
}
.profile_txt{
    float:left;
    width:70%;
}
.works{
    margin-top:40px;
    padding-bottom: 60px;
    background: #fff;
    padding-top: 20px;
}
.book_img{
    /*width: 100px;*/
    /*float: left;*/
	/*margin-right: 20px;*/
	width:auto;
	height:230px;
	float: none;
    margin-right: 0;
	text-align:center;
}
.book_img img{
	width:140px;
}
.works a{
    color:#555;
}
.works_list li{
    padding: 15px 15px 20px;
}
.works_list{
    border-top: 1px solid #cdcdcd;
}
.works_list h3,.lectures h3{
    font-size:16px;
    padding: 4px 0;
}
.works_icon{
    font-size:11px;
    color:#fff;
    padding: 2px 4px;
}
.works_icon.bg_green{
    background:#379991;
}
.works_icon.bg_blue{
    background:#377099;
}
.works_icon.bg_brown{
    background:#b1906d;
}
.works_icon.bg_red{
    background:#99373f;
}
.works_icon.bg_gray{
    background:#999;
}
.works_icon.bg_redpurple{
	background: #993771;
}
.works_icon.bg_orange{
	background: #fd7e00;
}
.works_icon.bg_bluepurple{
	background: #493799;
}
.works_icon.bg_darkgreen{
	background: #607d8b;
}
.works_icon.bg_camel{
	background: #c49961;
}
.writing .works_list{
	display:flex;
	justify-content:space-between;
	border-bottom:none;
	border-top:none;
}
.writing .works_list li{
	border:none;
	width:230px;
	padding: 15px 0 20px;
}
.writing .works_list li:nth-child(01){
	width:200px;
}
.writing .works_list li:nth-child(02){
	width:210px;
}
.writing .works_list li:nth-child(04){
	width:220px;
}
.writing .works_list li .ac-box {
  margin: 20px 5px 0 0;
}
.writing .works_list li .ac-box div p{
	padding: 10px 0 0;
}

/*.works_list li.cont:hover{
    background: #f9f9f9;
}*/
.media {
  line-height: 2.0;
  padding-top: 40px;
  padding-bottom: 60px;
}
.media p{
	text-align:center;
}
.writing {
  line-height: 1.5;
  padding-top: 40px;
  padding-bottom: 60px;
}
.writing p{
	text-align:left;
}


.lecture{
    line-height: 2.0;
    padding-top: 40px;
    padding-bottom:60px;
}

.contact{
    padding-top: 40px;
    padding-bottom: 60px;
    text-align: center;
}
.contact p{
    margin-bottom: 10px;
}
.contact p a{
    opacity:.7;
}

.link-to-entry {
    width: 210px;
    margin: 20px auto;
    text-align: center;
    background: #fff;
}
.link-to-entry a {
    color: #fff;
    background:#898989;
    font-size: 16px;
    font-weight: bold;
    width: 100%;
    height: 100%;
    display: block;
    padding: 12px 0;
    border-radius: 8px;
    border: 2px solid #898989;
}
.link-to-entry a:hover{
    color: #fff;
    background:#898989;
}

/********************************* footer **********************************/
footer{
    background: #99373f;
    text-align: center;
    /*border-top: 1px solid #efefef;*/
    padding: 30px;
    position: relative;
    color:#fff;
    font-size:12px;
}
.scroll_top {
    position: absolute;
    bottom: 10px;
    right: 20px;
    width: 60px;
}
.cs_footer{
    position: fixed;
        bottom:0;
    width:100%;
}
p.cs{
    text-align: center;
    font-size:24px;
    margin-top: 120px;
}
/********************************* innercontents **********************************/
.innercontents .header_area {
    background: #f6f6f6;
    padding: 30px 0;
}
.innercontents .header_area .wrap{
    margin: 0 auto 0;
}
.innercontents .header_area h1{
    font-size: 24px;
}
.innercontents .tolecture_outer{
    margin-bottom:80px;
}
.works_list li,.lectures li{
    padding: 15px 15px 20px;
    border-bottom: 1px solid #cdcdcd;
}

.lectures_sliderwrap01,.lectures_sliderwrap02,.lectures_sliderwrap03,
.lectures_sliderwrap04,.lectures_sliderwrap05,.lectures_sliderwrap06{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  -webkit-box-pack: left;
     -ms-flex-pack: left;
   justify-content: left;
   flex-wrap:wrap;
}
.lectures_slider{
    margin-top: 20px;
    background: #efefef;
    padding: 10px;
}
.lectures_slider h4{
    margin-bottom: 10px;
}
.lectures_slider a{
    width:19%;
	  margin-right: 1%;
}
/*.lectures_sliderwrap02 a img{
    width:19%;
}*/
.lectures_inner_left{
    width:calc(49% - 30px);
    float: left;
}
.lectures_inner_right{
    width:calc(49% - 30px);
    float: right;
}
.research_content{
	background:#efefef;
	padding:10px 15px 15px;
	margin-top:15px;
}
.research_content_list{
	padding-left:1em;
	text-indent:-1em ;
	font-size:14px;
}
.tolecture {
    text-align: center;
    padding-top: 20px;
    margin-bottom: 20px;
}
.tolecture a {
    display: inline-flex;
    padding: 5px 20px;
    align-items: center;
    background: #6c6c6c;
    font-size: 14px;
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.tolecture a::before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    width: 5px;
    height: 5px;
    border: solid #fff;
    border-width: 1px 1px 0 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.tolecture_outer{
    margin-top: 40px;
}
.title_redline{
	font-size:20px;
	text-align:center;
	background:url(../images/title_redline.png) center bottom no-repeat;
	padding-bottom:15px;
	margin-bottom:50px;
	background-size:490px;
	line-height:1.4;
	padding-top:30px;
}
.title_redline2{
	font-size:20px;
	text-align:center;
	background:url(../images/title_redline.png) center bottom no-repeat;
	padding-bottom:15px;
	margin-bottom:50px;
	background-size:280px;
	line-height:1.4;
	padding-top:30px;
}
.title_grayline{
	font-size:20px;
	text-align:center;
	background:url(../images/title_grayline.png) center bottom no-repeat;
	padding-bottom:15px;
	margin-bottom:50px;
	background-size:490px;
	line-height:1.4;
	padding-top:30px;
}
.topdf span{background:#eee;padding:1px 6px 4px;}
.topdf {margin-top:10px;}

.btn_to_arr{
	font-size: 16px;
	position: absolute;
	width: 1em;
	height: 1em;
	border-bottom: 0.2em solid #fff;
	border-right: 0.2em solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left:calc(50% - 8px);
	transition:.3s;
	top:70px;
	}
	.btn_to_tw img{width:60px;}
	.btn_to_tw{margin-top: 25px;transition:.3s;position:relative;}
	.btn_to_tw:hover .btn_to_arr{top:80px;}
	.btn_to_tw:hover{opacity:0.7;}
.twitter_link{width:22px;}

.tablettl{
    margin-top:60px;
}
table.table2008{
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
    margin:10px 0 70px;
}

table.table2008 th,table.table2008 td{
  padding: 10px 0;
  text-align: center;
}
table.table2008 th{
    font-weight: normal;
    border-right: 1px #333 solid;
}

table.table2008 tr:nth-child(odd){
  background-color: #eee
}
.indent1em{padding-left:2em;text-indent:-1em;}
.indent15em{padding-left:2.5em;text-indent:-1.5em;}
.indent2em{padding-left:3em;text-indent:-2em;}
.indent25em{padding-left:2.5em;text-indent:-2.5em;}
.indent3em{padding-left:3em;text-indent:-3em;}
.indent12em{padding-left:2.2em;text-indent:-1.2em;}

.btn_to_tw{position:fixed;top:180px;left:0;width:48px;}

.profile_img{
	width: 38%;
}
.profile_txt {
	width: 50%;
}
.SandboxRoot.env-bp-550 .timeline-Tweet-text {
font-size: 16px;
line-height: 24px;
font-weight: 300;
}
.profile_txt > p > img{width:56%;
	margin-right:auto;
	margin-left:auto;
}


/********************************* RESPONSIVE **********************************/

@media screen and (max-width: 768px){
   
	
	a:hover{
        opacity: 1 !important;
    }
    img {
        width: 100%;
    }
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    .wrap{
        width: 100%;
        padding: 0 4%;
        box-sizing: border-box;
    }
    nav ul {
    display: inherit;
    justify-content: inherit;
    }
    nav ul li {
    padding: 0;
    }
    .header_image .wrap{
        padding: 0;
    }
    .profile_img {
        float: none;
        width: 240px;
        margin: 40px auto;
    }
    .profile_txt {
        float: none;
        width: 420px;
        margin: auto;
    }
    .header_wrapper .wrap {
    display: inherit;
    height: auto;
    padding: 20px;
    }
    .title{
        margin-bottom: 0;
    }
    .message .t_right{
        margin-top: 30px;
    }
	/*.keigu{
	padding-left:80%;
	}*/
	.twitter_link{
		width:auto;
	}
	.twitter_link a img{
		width:22px;
	}
    .list2008{
        margin:10px auto 60px;
        width:91%;
    }
    .list2008 li{
        text-align: center;
        padding: 20px 0;
    }
    
    .list2008 li:nth-child(odd){
      background-color: #eee
    }
	.link-to-entry {
		width: 180px;
	}
	.link-to-entry a{font-size:14px;}
	.media p{
		text-align:left;
	}
                .profile_img {
	width: 60%;
	}
	.message p,.message ul,.message > div {
		width: 100%;
		margin:auto;
		box-sizing: border-box;
	}
	.profile_txt {
		width: 70%;
	}
	/*.writing .works_list li {
	  border: none;
	  width: 30%;
		}*/
		
	.writing .works_list {
	  display: inherit;
	  border-top: 1px solid #cdcdcd;
	}
	.writing .works_list li {
	  padding: 15px 15px 20px;
	  border-bottom: 1px solid #cdcdcd;
	  width: auto;
	}
	.writing .book_img {
	  width: 100px;
	  float: left;
	  margin-right: 20px;
	  height:auto;
	}
	.writing .book_img img {
	  width: 100%;
	}
	.writing .ac-box div p {
	  padding: 10px 10px 0;
	}
	.ac-box.sp550{
		display:inherit;
	}
	.pc550{
		display:none;
	}
	.writing .works_list li:nth-child(01){
	width:auto;
	}
	.writing .works_list li:nth-child(02){
		width:auto;
	}
	.writing .works_list li:nth-child(04){
		width:auto;
	}

		
}
@media screen and (max-width: 640px){
	.pc640{display:none;}
	.sp640{display:block;}
    
    .header_wrapper h1 {

    font-size: 18px;
    }
    nav ul li {
        font-size: 12px;
    }
    .message {
        font-size: 13px; /*普段は14px*/
        line-height: 1.8;
    }
    .profile_img {
        width: 50%;
    }
    .profile_txt {
        width: 80%;
    }
    .scroll_top {
        bottom: 80px;
        left: calc(50% - 30px);
    }
    .contact {
        padding-bottom: 90px;

    }
    .lectures_inner_left,.lectures_inner_right{
        width:auto;
        float: none;
    }
	
	.keigu{
	text-align:right;
	padding-left:0;
	
	}
	.profile_caption{
	text-align:left;
	font-size: 12px;
}
.keigu {
    margin-top: 20px;
}
	
}
@media screen and (max-width: 550px){
	.profile::before {
	width: 150%;
	}
	.profile_img {
		width: 88%;
	}
	.profile_txt {
		width: 88%;
	}
	.profile_caption{text-align:center;}
	.message p,.message ul,.message > div {
		width: 88%;
		margin:auto;
	}
	
	.writing .works_list{
		display:inherit;
		border-top: 1px solid #cdcdcd;
	}
	.writing .works_list li{
	  padding: 15px 15px 20px;
	  border-bottom: 1px solid #cdcdcd;
	  width: auto;
	}
	
	/*.writing .book_img {
	  width: 100px;
	  float: left;
	  margin-right: 20px;
	  height:auto;
	}
	.writing .book_img img {
	  width: 100%;
	}
	.writing .ac-box div p {
	  padding: 10px 10px 0;
	}
	.ac-box.sp550{
		display:inherit;
	}
	.pc550{
		display:none;
	}*/

}
@media screen and (max-width: 375px){
	.sp375{
		display:block;
	}
    .message p{
        width: 88%;
        margin: auto;
    }
    .profile_txt {
        width: 88%;
    }
    .career p {
    padding-left: 58px;
    text-indent: -58px;
    }
    .book_img {
        float: none;
    }
    .lecture p{
        width:88%;
        margin:auto;
        font-size:14px;
    }
	.title_redline{
		font-size:4.3vw;
		padding-bottom:15px;
		margin-bottom:30px!important;
		background-size:100% auto;
	}
	.title_redline2{
		font-size:4.6vw;
	}
	.message p,.message ul {
		width: 100%;
		margin:auto;
	}

}
@media screen and (max-width: 320px){
    
    .header_wrapper h1 {
        font-size: 16px;
    }
    .header_wrapper .title p {
        font-size: 14px;
    }
}
/* -------------モーダル---------------------- */
/* モーダル全体(背景＋本体) */
.modal{
  display: none;
  position: fixed;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index:999999;
}
/* モーダル背景 */
.modal-bg{
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(102, 102, 102, 0.8);
}
/* モーダル本体 */
.modal-content {
  position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 80vh;
	width: 96%;
	background: white;
	padding: 40px;
	max-width: 680px;
	box-sizing: border-box;
	max-height: 540px;
}

/* モーダルウィンドウ表示中に記事本体を固定 */
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

.close-btn{
  width: 24px;
  position: absolute;
  top: 10px;
right: 10px;
  z-index:99;
  cursor: pointer;
}
.modal-link{
	position:relative;
}.close-btn2{
  width: 32px;
  position: absolute;
  bottom: -32px;
right: 0;
  z-index:99;
  cursor: pointer;
}
.modal-link a span{
	position:relative;
	font-size:15px;
	color:#009da0;
	padding-left:1em;
}
/* -------------モーダルコンテンツ内---------------------- */
.modal-content .book_img img {
  max-width: 180px;
  width: 90%;
}
.modal-content .modal-inner01{
	width: 40%;
	float: left;
}.modal-content .modal-inner02{
	width: 56%;
	float: right;
	height: 100%;
	padding: 10px 20px 20px;
	background: #f6f6f6;
	box-sizing: border-box;
	color: #808080;
	line-height: 2;
}
#modal03 .modal-content .modal-inner02{
	line-height: 1.8;
}
.modal-content h3{
	margin-bottom:10px;
}
.modal-content .book_img img {
  max-width: 180px;
  width: 90%;
}
.modal-content .book_img{
	height:280px;
}