@charset "UTF-8";
/* CSS Document */

/*-------------------------------------------*/
/*　BASE
/*-------------------------------------------*/



body {
	margin: 0;
	padding: 0;
	font-size:14px;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 300;
}
.wrap {
	overflow: hidden;
}
ol, ul {
    padding-left: 25px;
}
ol.no-type ,ul.type {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
a {
	text-decoration: none;
	color: #0082e7;
}
a:hover {
	text-decoration: underline;
}
p {
    margin-top: 0;
    line-height: 26px;
    margin-bottom: 22px;
}
img {
	max-width: 100%;
}
.clear {
    clear: both;
}





/*-------------------------------------------*/
/*　LAYOUT
/*-------------------------------------------*/


.container {
	width: 950px;
    margin: 0px auto 0;
	padding: 0 15px 0;
}
.l-header {
    padding: 0px 0 0px;
    display: inline-block;
    width: 100%;
    position: relative;
    background: #0082e7;
    margin-bottom: -5px;
    z-index: 100;
}



/* topページ */



/* 下層ページ */
.l-maincontents {
    padding-bottom: 120px;
	min-height: 350px;
}
.page-content {
    padding-top: 30px;
}


/*-------------------------------------------*/
/*　MODULE
/*-------------------------------------------*/
.no-link {
	pointer-events: none;
}


h1 {
    font-size: 45px;
    text-align: center;
	color: #fff;
}
h1 {
    display: block;
    margin: 0;
}
.eng h1 {
    word-break: break-word;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child {
    margin-top: 0;
}



h2 {
    font-size: 16px;
    letter-spacing: 2px;
    background: url(images/top-h2.png) no-repeat left 0px top 8px;
    padding-bottom: 10px;
    padding-left: 18px;
    border-bottom: 1px solid #929292;
	clear: both;
	margin-top: 30px;
}
#home h2 {
    float: left;
    margin-top: 0;
	background: url(images/top-h2.png) no-repeat left 20px center;
	padding-left: 35px;
	padding-bottom: 0;
	border-bottom: none;
}

h3 {
    font-size: 18px;
    letter-spacing: 2px;
    clear: both;
    color: #0082e7;
	    margin-bottom: 10px;
}

h4 {
    font-size: 20px;
    color: #517467;
    font-weight: 400;
    margin-bottom: 8px;
	clear: both;
}

.jp-en p {
	text-align: right;
	margin-bottom: 0;
}
.jp-en p a {
    display: inline-block;
	color: #0082e7;
}
#l-pagetitle {
    float: left;
    margin-top: -12px;
    margin-bottom: -27px;
    position: relative;
    z-index: 1000;
}
.menu-block {
	float: right;
}
.menu-block ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.menu-block ul li {
    float: left;
    border-left: 1px solid #fff;
}
.menu-block ul li:last-child {
	border-right: 1px solid #fff;
}
.menu-block ul li a {
    display: block;
    padding: 36px 22px 35px;
    background: #0182e7;
    color: #fff;
}

.menu-block ul li a:hover,
.eng .menu-block ul li a:hover,
#greeting .menu-block li.greeting a,
#outline .menu-block li.outline a,
#history .menu-block li.history a,
#member .menu-block li.member a,
#news .menu-block li.news a,
#recruit .menu-block li.recruit a {
	    background: #006fc5;
}





.top-slide {
    margin-top: -50px;
}
.slider {
	padding: 0;
	margin: 0;
}
.slick-initialized .slick-slide {
    float: left;
    height: 370px;
    min-height: 1px;
}
.slick-slide img {
    display: block;
    width: 100%;
}
.slick-dots {
    position: relative!important;
    bottom: 0!important;
    width: 432px!important;
    margin: 0 auto 0!important;
	padding: 0 10px!important;
	background: #000;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20%!important;
    height: 15px!important;
    margin: 0!important;
    padding: 0;
    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 100%!important;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:before {
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%!important;
    height: 20px;
    content: '　'!important;
    text-align: center;
    opacity: .25;
	background: #000;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}









.about-block {
    display: inline-block;
    width: 100%;
    padding-top: 72px;
    padding-bottom: 40px;
}
.about-img {
    width: 44%;
    float: left;
    text-align: center;
}
.about-text {
    float: left;
    width: 56%;
    border-bottom: 1px solid #929292;
}
.about-text p {
	padding-right: 20px;
}
.btn-more {
    text-align: right;
    padding-right: 20px;
    margin-bottom: 10px;
}
.btn-more a {
	background: url(images/more.png) no-repeat center right;
	padding-right: 20px;
}
.news-info dl {
	border-top: 1px solid #646f63;
	border-bottom: 1px solid #646f63;
}
.news-info dl dt {
    display: inline-block;
    width: 12em;
    vertical-align: top;
    padding: 15px 0 15px 0px;
    border-top: 1px solid #ccc;
    margin-left: 20px;
	background: url(images/news-bg.png) no-repeat left 130px center;
}
.news-info dl dd {
    display: inline-block;
    vertical-align: top;
    width: calc(100% - 15em);
    margin-left: -4px;
    padding: 15px 0 15px 0;
    border-top: 1px solid #ccc;
}
.news-info dl dt:first-child,
.news-info dl dt:first-child + dd {
	border-top: none;
}

.news-info dl {
    border-top: 1px solid #646f63;
    border-bottom: 1px solid #646f63;
    padding: 5px 0 10px;
}


.member-block {
    padding-top: 40px;
}

.member-list {
    border-top: 1px solid #646f63;
    padding-top: 40px;
}
.member-list ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: inline-block;
    width: 100%;
}
.member-list ul li {
	float: left;
	width: 25%;
}
.member-list ul li .member-item {
    padding: 0 10px;
}
.member-list ul li .item-waku {
    border: 1px solid #a0a0a0;
    padding: 5px 7px;
}
p.name {
    text-align: center;
    background: #0082e7;
    color: #fff;
    font-weight: bold;
    margin-bottom: 15px;
}
p.position {
	border-top: 1px solid #000;
	padding-top: 10px;
}
.member-list ul li img {
    margin-bottom: 10px;
}




#l-footer {
    background: #2e2e2e;
    color: #fff;
    margin-top: 40px;
    padding-top: 14px;
}
#l-footer a {
    color: #fff;
    float: left;
}
#l-footer p {
	margin-bottom: 0;
	float: right;
	font-size: 11px;
	line-height: 18px;
}
#l-footer p a {
	float: none;
}
.foot-item {
    display: inline-block;
	    width: 100%;
}
#copyright {
	background: #0082e7;
}
#copyright p {
	margin-bottom: 0;
	color: #fff;
	font-size: 12px;
}

.eng #l-footer a {
    color: #fff;
    float: none;
}
.eng #l-footer p {
    margin-bottom: 5px;
    float: none;
    font-size: 11px;
}






.pankuzu {
	display: inline-block;
	width: 100%;
	list-style-type: none;
	padding: 0;
	margin: 0;
	
}
.pankuzu ul {
    float: right;
    padding: 0;
    list-style-type: none;
}
.pankuzu ul li {
	float: left;
}
.pankuzu ul li a {
    padding-right: 18px;
    background: url(images/news-bg.png) no-repeat right center;
    margin-right: 10px;
}



.history {
    border-collapse: collapse;
}
.history tbody .solid {
    border-bottom: #666666 1px solid;
}
.history tbody .color {
    background: #daedfb;
}
.history tbody tr td {
    padding: 1em;
}
.history tbody tr .year {
    vertical-align: top;
    width: 6em;
}


.l-maincontents .news {
    border-collapse: collapse;
    margin-bottom: 30px;
    width: 100%;
}
.news tbody tr {
    border-bottom: #666666 1px solid;
}
.news tbody tr td {
    padding: 1em;
}
.news tbody tr .date {
    vertical-align: top;
    width: 6em;
}


.alumni {
    border-collapse: collapse;
    margin-bottom: 30px;
}
.alumni tbody .table_title {
    border-top: #666666 1px solid;
    border-bottom: #666666 1px solid;
}
.alumni tbody .table_title th {
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: bold;
}
.alumni tbody tr {
    border-bottom: #666666 1px dotted;
}
.alumni tbody tr .season {
    width: 150px;
    text-align: center;
}
.alumni tbody tr td {
    padding-top: 10px;
    padding-bottom: 10px;
}
.alumni tbody tr .name {
    width: 120px;
    padding-left: 30px;
}
.alumni tbody tr .labo_02 {
    width: 200px;
    padding-left: 30px;
}
.alumni tbody tr .change {
    width: 300px;
    padding-left: 30px;
}
.alumni tbody .color {
    background: #daedfb;
}




.members {
    float: left;
    width: 50%;
}
.members .profile {
    float: left;
    margin-right: 20px;
    margin-bottom: 30px;
}
.members .profile .photo {
    width: 130px;
    float: left;
    margin-right: 15px;
}
.members .profile dl {
    float: left;
}
.members .profile dl dt {
    font-size: 130%;
    padding-left: 5px;
}
.members .profile dl .labo {
    width: 210px;
    padding-bottom: 10px;
    padding-left: 5px;
    border-bottom: #666666 1px dotted;
    margin-left: 0;
}
.members .profile dl .site {
    margin-top: 10px;
}
.members .profile dl .site, .members .profile dl .rm, .members .profile dl .interview {
    margin-left: 5px;
    font-size: 90%;
    background: url(images/ico_arrow.png) no-repeat left center;
    padding-left: 15px;
}


.member-info {
    padding: 0 40px;
}

.member-text table {
    margin-bottom: 30px;
    width: 100%;
    padding-left: 46px;
}
.member-text table tr {
    border-bottom: #666666 1px solid;
    padding-bottom: 8px;
    display: block;
    margin-bottom: 20px;
}


.item-members .photo {
    float: left;
    width: 35%;
}
.member-text {
    float: left;
    width: 65%;
}
.member-text table tr th {
    font-weight: normal;
    text-align: left;
    width: 120px;
	vertical-align: top;
}

.member-name {
    padding-left: 50px;
    font-size: 22px;
    font-weight: 500;
}
.member-name span {
    padding-left: 10px;
    font-size: 14px;
    font-weight: 300;
}


.movie-list {
    padding: 0;
    margin: 0;
    list-style-type: none;
	display: inline-block;
	width: 100%;
}

.movie-list li {
	float: left;
	width: 50%;
	
}
.movie-box {
	padding: 0 20px;
}



.top-text {
	border-bottom: 1px solid #929292;
}
.top-text p {
	margin-bottom: 0
}



.head-img {
    float: right;
    padding-left: 30px;
    padding-bottom: 240px;
}
.head-img p {
    font-size: 22px;
    text-align: center;
    margin-top: 7px;
}
.head-img p span {
    font-size: 16px;
	padding-right: 20px;
}

.eng .head-img p span {
	padding: 0;
}


/*-------------------------------------------*/
/*　英語版
/*-------------------------------------------*/

.eng .menu-block ul li a {
    display: block;
    padding: 36px 19px 35px;
    background: #0182e7;
    color: #fff;
}

.eng .menu-block ul li.nav-2r a {
    padding: 26px 19px 25px;
}

#l-footer .foot-item .sp-on {
	display: none;
}










/*-------------------------------------------*/
/*　STATE
/*-------------------------------------------*/




/*モバイル対応*/


@media (max-width: 1180px){
	.container {
    width: 800px;
    position: relative;
    margin: 0 auto;
	}
	.menu-block ul li a {
    display: block;
    padding: 36px 11px 35px;
    background: #0182e7;
    color: #fff;
}.eng .menu-block ul li.nav-2r a {
    padding: 26px 8px 25px;
}
.eng .menu-block ul li a {
    display: block;
    padding: 36px 8px 35px;
    background: #0182e7;
    color: #fff;
}
	
	
	
	
	
	
	

}

@media (max-width: 1100px){
	.slick-initialized .slick-slide {
    height: auto;
}
	
}

@media (max-width: 870px){
.slick-initialized .slick-slide {
    float: left;
    height: 280px;
    min-height: 1px;
}
}

@media (max-width: 830px){
	
		.container {
    width: auto;
    position: relative;
    margin: 0 auto;
	}
	
	.slick-initialized .slick-slide {
    float: left;
    height: 280px;
    min-height: 1px;
}

		.slick-slide img {
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
}
	p.position {
    word-break: break-all;
}
	.menu-block ul li a {
    padding: 16px 35px 20px;
}
	#l-pagetitle {
    margin-bottom: 0;
}
.eng .menu-block ul li {
    float: left;
    border-left: 1px solid #fff;
    width: 16%;
    text-align: center;
}
	.eng .menu-block {
    float: none;
    clear: both;
}
	.eng .menu-block ul li.nav-2r a {
       padding: 3px 0 5px;
}
.eng .menu-block ul li a {
        padding: 13px 0 16px;
}
	
	.head-img {
    padding-bottom: 20px;
}
	
	
}



@media (max-width: 800px){
.about-img {
    width: auto;
    float: none;
    text-align: center;
}
.about-img img {
    margin: 0 auto 20px;
    display: table;
}
	.about-text {
    float: none;
    width: auto;
}
	.menu-block ul li a {
    padding: 15px 0px 15px;
    text-align: center;
}
	.menu-block ul li {
    float: left;
    width: 32%;
    border-left: 1px solid #fff;
}
	.menu-block {
    float: none;
    clear: both;
}
	.menu-block ul li:nth-child(3) {
		border-right: 1px solid #fff;
	}
	
.eng .menu-block ul li.nav-2r a {
    padding: 1px 0 2px;
}
.eng .menu-block ul li a {
    padding: 11px 0 10px;
    font-size: 12px;
}
	.eng .menu-block ul li {
    width: 32%;
}
	
	.top-slide {
    margin-top: 0;
}
	
	.slick-initialized .slick-slide {
    float: left;
    height: 250px;
    min-height: 1px;
}
	
	.slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}
	
	
	
	
	
	
	
	
}






@media (max-width: 790px){
	.members .profile .photo {
    width: auto;
    float: none;
    margin-right: 0;
}
	
	.members .profile dl {
    float: none;
}
	
	.members .profile dl .labo {
    width: auto;
    padding-left: 0;
    margin-left: 0;
}
	.members .profile dl .site, .members .profile dl .rm, .members .profile dl .interview {
    margin-left: 0;
    font-size: 90%;
    background: url(images/ico_arrow.png) no-repeat left center;
    padding-left: 15px;
}

}



@media (max-width: 700px){
.table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    overflow-x: scroll;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: none;
}
.table-responsive table {
    width: 700px;
}
}




@media (max-width: 630px){
.member-list ul li {
    float: left;
    width: 50%;
    margin-bottom: 30px;
}
	.member-list ul li img {
    margin-bottom: 10px;
    margin: 0 auto 10px;
    display: table;
}
	.eng .member-list ul li .item-waku {
    min-height: 350px;
}
}


@media (max-width: 600px){
.item-members .photo {
    float: none;
    width: auto;
}
	.member-text {
    float: none;
    width: auto;
}
	.member-name {
    padding-left: 0;
    font-size: 22px;
    font-weight: 500;
}
	
		.member-text table {
    margin-bottom: 30px;
    width: 100%;
    padding-left: 0;
}
	.member-info {
    padding: 0 10px;
}
	.member-text table tr th {
    font-weight: normal;
    text-align: left;
    width: 80px;
    vertical-align: top;
}
	.movie-list li {
    float: left;
    width: 100%;
}
	.movie-box {
    padding: 0;
}
}


@media (max-width: 500px){
.news-info dl dt {
    display: block;
    width: auto;
    vertical-align: top;
    padding: 15px 0 15px 0px;
    border-top: 1px solid #ccc;
    margin-left: 0;
    background: url(images/news-bg.png) no-repeat left 130px center;
}
.news-info dl dd {
    display: inline-block;
    vertical-align: top;
    width: auto;
    margin-left: 0;
    padding: 0px 0 15px 0;
    border-top: none;
}
	
.news tbody tr td {
    padding: 1em;
    display: block;
}
	
	.news tbody tr .date {
    vertical-align: top;
    width: auto;
    display: block;
    padding-bottom: 0;
}

	
	
	#l-footer .foot-item .pc-on {
	display: none;
}
	
	#l-footer .foot-item .sp-on {
	display: block;
}
	
	
	
	
	
	
	
	
	
	
	
}


@media (max-width: 440px){
#l-pagetitle {
    float: none;
    margin-top: 0px;
}
	.eng .menu-block ul li {
    width: 49%;
}
	.eng .menu-block ul li:nth-child(3) {
    border-right: none;
}
	.eng .menu-block ul li:nth-child(2) {
    border-right: 1px solid #fff;
}
	.eng .menu-block ul li:nth-child(4) {
    border-right: 1px solid #fff;
}
	.members {
    float: left;
    width: 100%;
}
	.members .profile {
    float: none;
    margin-right: 0;
    margin-bottom: 30px;
}

	
}



@media (max-width: 430px){
.head-img {
    float: none;
    text-align: center;
    padding-left: 0;
    padding-bottom: 0px;
}
}



@media (max-width: 410px){
#home h2 {
    float: none;
    margin-top: 0;
    background: url(images/top-h2.png) no-repeat left 0px center;
    padding-left: 20px;
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

.member-list ul li {
    float: left;
    width: 100%;
    margin-bottom: 30px;
}
}



@media (max-width: 400px){
.history tbody tr .year {
    vertical-align: top;
    width: auto;
    border-bottom: 1px solid #666;
    display: block;
}
.history tbody tr td {
    padding: 1em;
    display: block;
}
}

