@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400;500;700;900&display=swap');
@import url('https://use.fontawesome.com/releases/v5.13.0/css/all.css');
/*--------------------------------------------------------------------------------------------------

   common

--------------------------------------------------------------------------------------------------*/


/*reset-------------------------------------------------*/
body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: none;
  vertical-align: top;
}

header,section,article,aside,footer,nav {
 display: block;
}



/*-------------------------------------------------reset*/


/*common-------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  color: #151d22;
  font-size: 14px;
  font-weight: 400;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
 }

a {
  color: #151d22;
  text-decoration: none;
  cursor: pointer;
  display: block;
}

ul,li {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

address {
  font-style: normal;
}

.clear:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clear {
  display: inline-table;
}

/* mac \*/
* html .clear {
  height: 1%;
}

.clear {
  display: block;
}

/*-------------------------------------------------common*/


/*--------------------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------------------*/
header .content {
  height: 88px;
  justify-content: space-between;
  align-items: center;
}

.logo {
  padding-left: 25px;
  color: #1cade3;
  line-height: 1.2;
}

.logo span {
  font-size: 15px;
  font-weight: 400;
}

.logo p {
  font-size: 25px;
}

header nav {
  height: 88px;
  align-items: center;
}

header .menu-right {
  width: 148px;
  height: 100%;
  background: url(../image/icon-header.png) no-repeat top 19px center #1cade3;
}

header .menu-right a {
  padding-top: 44px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 2px;
  color: #fff;
}


header #menu-page .menu-top {
  margin-top: 7px;
}

#menu-page {
  flex-direction: column;
  align-items: flex-end;
}

#menu-page .menu-top li {
  margin-right: 30px;
}

#menu-page .menu-top li:last-child {
  margin-right: 30px;
}

#menu-page .menu-top li a {
  padding-left: 30px;
  line-height: 20px;
  background: url(../image/icon-next-menu-top.png) no-repeat left center;
}

#menu-page .menu-bottom li {
  margin-right: 30px;
  margin-top: 5px;
}

#menu-page .menu-bottom li a {
  padding-left: 13px;
}

#menu-page .menu-bottom li a::after {
  left: 0;
  top: 6px;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 8px solid #151d22;
}



/*------------------------------------------------------------------------------------------------
  content
--------------------------------------------------------------------------------------------------*/
.container {
  width: 1160px;
  margin: 0 auto;
  padding: 0;
}

.al-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.al-right {
  text-align: right;
}

.al-left {
  text-align: left;
}

.flex {
  display: -webkit-box;   /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -ms-flexbox;  /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;   
}

.h2-page {
  color: #1cade3;
  font-size: 30px;
  letter-spacing: 2px;
  position: relative;
  padding-bottom: 12px;
  text-align: center;
}

.h2-page::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  margin: 0 auto;
  bottom: 0px;
  width: 93px;
  height: 3px;
  background: #1cade3;
}

.triangle,
#menu-page .menu-bottom li a {
  position: relative;
}

.triangle::after,
#menu-page .menu-bottom li a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
}

.footnote {
  font-size: 12px;
  line-height: 1.2;
  display: block;
}	

.content-detail a {
	display: inline;
}
				 


/*------------------------------------------------------------------------------------------------
  footer
--------------------------------------------------------------------------------------------------*/
footer .info {
  background-color: #1cade3;
  padding: 50px 0 65px 0;
  text-align: center;
  color: #fff;
}

footer .info a {
  color: #fff;
}

footer #menu-page {
  margin: 30px auto 40px auto;
  align-items: center;
}

footer #menu-page .menu-top {
  margin-bottom: 5px;
}

footer #menu-page .menu-bottom li a::after {
  border-left: 8px solid #fff;
}

footer #menu-page .menu-top li a {
  background: url(../image/icon-next-menu-top-white.png) no-repeat left center;
}

footer .coppy {
  font-size: 12px;
}

footer .ptop-box {
  padding: 40px 0 45px 0;
  background: url(../image/bg-ptop.jpg) no-repeat center bottom;
  background-size: cover;
  justify-content: flex-end;
  padding-right: 50px;
}

footer .ptop-box #ptop {
  background-color: #fff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  text-indent: -9999px;
}

footer .ptop-box .triangle::after {
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-bottom: 8px solid #1cade3;
}

footer #menu-page .menu-bottom {
  margin-top: 10px;
}

footer .logo span {
  margin-bottom: 10px;
  display: inline-block;
}

.pagination {
  text-align: center;
  margin-top: 60px;
}

.pagination li {
  display: inline-block;
  margin: 0 5px;
}

.pagination li a,
.pagination li span {
  width: 35px;
  height: 35px;
  background-color: #1cade3;
  line-height: 30px;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
}

.pagination li a:hover,
.pagination li span {
  display: inline-block;
  background-color: #fff;
  color: #1cade3;
}

.content-detail {
  margin: 90px 0;
}

#featured-lecture-page {
  margin: 90px 0;
}

#featured-lecture-page h3 {
  font-size: 20px;
  padding: 30px 25px 10px 0;
  border-bottom: 2px solid #d7f5df;
  color: #1cade3;
  letter-spacing: 1px;
  position: relative;
  margin-bottom: 20px;
}

#featured-lecture-page h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 95px;
  height: 2px;
  background-color: #61c8ef;
}

#featured-lecture-page .desc {
  line-height: 32px;
  letter-spacing: 0.5px;
  font-size: 16px;
}

#featured-lecture-page .flex {
  justify-content: space-between;
  margin: 40px 0 20px 0;
  align-items: flex-start;
}

.facilities-page .text {
	width: calc(65% - 50px);
}

.facilities-page .text .desc {
	width: 100%!important;
}

.facilities-page .flex {
	margin: 60px 0 20px 0!important;
}

.facilities-page .flex:nth-of-type(2n+0) .text {
	margin-right: 50px;
}

.facilities-page .flex:nth-of-type(2n+1) .text {
	margin-left: 50px;
}

#featured-lecture-page .flex:nth-of-type(2n+0) {
  flex-direction: row-reverse;
}

#featured-lecture-page .flex .desc {
  width: 60%;
}

#featured-lecture-page .flex img {
  width: 35%;
  border-radius: 20px;
  margin: 0 5px;
  max-height: 100%;
  object-fit: contain;
}

.breadcumb {
  padding: 25px 0;
  font-size: 12px;
}

.breadcumb .container {
  justify-content: flex-end;
}

.breadcumb a {
  padding-right: 35px;
  position: relative;
  display: inline-block;
}

.breadcumb a::after {
  content: ">";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

#banner-faculty-life-bio {
  position: relative;
  text-align: right;
  background: url(../image/faculty-life-cource-bio/bg-banner.png) repeat-x left bottom / 100% auto;
  min-height: 270px;
}

#banner-faculty-life-bio .photo {
  width: 83%;
  border-top-left-radius: 45px;
}

#banner-faculty-life-bio .text {
  position: absolute;
  left: 3.75%;
  bottom: 50px;
  z-index: 1;
  padding: 45px 60px;
  background-color: #fff;
  border-radius: 10px;
  min-width: 470px;
}

#banner-faculty-life-bio .text h2 {
  font-size: 40px;
  color: #1cade3;
  border-left: 3px solid #1cade3;
  padding-left: 35px;
  letter-spacing: 1px;
  text-align: left;
  line-height: 1.2;
  padding-bottom: 5px;
}

#banner-faculty-life-bio .text h2 span {
  font-size: 15px;
  display: block;
  font-weight: 400;
  margin-top: 10px;
  text-transform: uppercase;
}

#menu-page.menu-add {
  padding: 25px 0;
  background-color: #1cade3;
}

#menu-page.menu-add .menu-top {
  justify-content: center;
}

#menu-page.menu-add li a {
  color: #fff;
  background: url(../image/icon-next-menu-top-white.png) no-repeat left center;
}

.btn-next {
    padding: 20px 70px;
    color: #fff;
    font-size: 14px;
    text-align: center;
    letter-spacing: 3px;
    background: url(../image/faculty-life/icon-next-btn.png) no-repeat right 18px center #151d22;
    display: inline-block;
	border-radius: 35px;
}

.btn-box {
	margin-top: 40px;
	text-align: center;
}

#qa-faculty-life-bio {
  padding: 75px 0 80px 0;
  background: url(../image/faculty-life-cource-bio/bg-qa.png) no-repeat;
  background-size: cover;
}

.qa-top-page {
	background: #fff!important;
}

#qa-faculty-life-bio .container {
  width: 910px;
}

#qa-box {
  margin-top: 60px;
}

#qa-box li {
  margin-bottom: 20px;
  background-color: #fff;
  border-radius: 30px;
}

.qa-top-page li {
	background: url(../image/faculty-life-cource-bio/bg-qa.png) no-repeat!important;
}

#qa-box li dl {
  padding-bottom: 19px;
}

#qa-box li dt, #qa-box li dd {
  padding: 19px 60px 20px 38px;
  line-height: 27px;
}


#qa-box li dt {
  background: url(../image/faculty-life-cource-bio/icon-close.png) no-repeat right 20px top 17px;
  color: #36383a;
  position: relative;
  cursor: pointer;
  border-radius: 30px;
  font-size: 16px;
  padding-bottom: 0;
}

.qa-top-page dt {
	color: #1cade3!important;
}

#qa-box li .btn-open {
  background: url(../image/faculty-life-cource-bio/icon-open.png) no-repeat right 20px top 17px;
}

#qa-box li dl .font-qa,
#qa-box li dl .font-number {
  color: #1cade3;
  display: inline-block;
  letter-spacing: 1px;
}

.qa-top-page li dl .font-qa,
.qa-top-page li dl .font-number {
  color: #1cade3!important;
}


#qa-box li dl .font-a {
  margin-right: 10px;
}

#qa-box li dl .font-qa {
  font-size: 25px;
}

#qa-box li dl .font-number {
  font-size: 30px;
  margin-left: 5px;
  margin-right: 25px;
}

#qa-box li dt::before {
  right: 15px;
  bottom: 15px;
  border-bottom: 15px solid #fff;
  border-left: 15px solid transparent;
}

#qa-box li dd {
  background-color: #f7f7f7;
  padding: 10px 20px 20px 20px;
  display: none;
  line-height: 1.6;
  border-radius: 15px;
  margin: 20px 60px 0 35px;
}

.qa-top-page li dd {
	background-color: #fff!important;
}

#teacher-page {
	text-align: center;
	margin: 75px 0 80px 0;
}

#teacher-page .author {
	margin-top: 60px;
}

#teacher-page .author img {
	width: 250px;
}


#teacher-page .author .text {
	display: inline-block;
	margin-left: 40px;
	margin-top: 50px;
	text-align: left;
	line-height: 1.6;
}

#teacher-page .author .text p {
	padding: 7px 0;
	border-top: 1px dotted #000;
}

#teacher-page .author .text p:last-child {
	border-bottom: 1px dotted #000;
}

#teacher-page .author .name {
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-bottom: 10px;
}

#teacher-page .author .name span {
	margin-left: 20px;
	font-size: 18px;
}


#teacher-page .author .info .desc {
	margin-bottom: 30px;
	line-height: 1.8;
	font-size: 16px;
}

/*--------------------------------------------------------------------------------------------
  screen on sp
--------------------------------------------------------------------------------------------*/


.sp {
  display: none;
}

.pc {
  display: block;
}

@media all and (max-width: 1300px) {
  #menu-page .menu-top li {
    margin-right: 15px;
  }

  #menu-page .menu-bottom li {
    margin-right: 20px;
  }
}

@media all and (max-width: 1160px) {
  .container {
    width: 90%!important;
  }
}

@media all and (max-width: 1200px) {
  header .menu-right {
    width: 120px;
  }

  .logo p {
    font-size: 21px;
  }

  .logo span {
    font-size: 13px;
    font-weight: 400;
  }

  #menu-page .menu-bottom li {
    margin-right: 15px;
  }
}
@media all and (max-width: 1100px) {
  .logo span {
    font-size: 12px;
  }

  .logo p {
    font-size: 18px;
  }

  #menu-page .menu-bottom li a {
    font-size: 11px;
  }
	
  #menu-page .menu-top li a {
	padding-left: 24px;
	font-size: 12px;
  }
	
  #info-top-faculty-life .banner .topic-box {
	max-width: 570px;
  }
}
@media all and (max-width: 959px) {

  .container {
    width: 90%;
  }

  .sp {
    display: block;
  }
  
  .pc {
    display: none;
  }

  .full-width {
    width: 100%;
  }

  .full-max-width {
    max-width: 100%;
  }

  nav.flex {
    display: none;
  }

  body {
    font-size: 12px;
  }
.content-detail .wp-block-image img {
height: auto;
} 
  
/*--------------------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------------------*/

  .flex {
    display: block;
  }

  header .content {
    height: auto;
  }

  .logo {
    padding-left: 15px;
  }

  header h1 {
    padding: 0px 0 12px 2.5%;
  }

  header nav {
    background-color: #1cade3!important;
    height: auto;
  }

  nav {
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    padding: 20px 0 0 0;
    z-index: 9999;
		display:none;
    background-color: #1cade3;
  }

  nav a {
    font-size: 10px;
    line-height: 1.2;
    padding: 15px 0;
    color: #fff;
  }

  .menubt {
    z-index: 3;
    width: 40px;
    height: 30px;
    display: block;
    right: 7px;
    top: 15px;
    position: absolute;
    background: #1cade3;
    background-size: contain;
  }
  
  .menubt span {
    width: 30px;
    height: 3px;
    display: block;
    background: #fff;
    border-radius: 0;
    position: absolute;
    right: 5px;
    top: 13px;
    transition: all 0.4s;
    transform: rotate(0deg);
  }
  
  .menubt .top {
    -webkit-transform: translateY(-250%);
    -ms-transform: translateY(-250%);
    transform: translateY(-250%);
  }
  
  .menubt .bottom {
    -webkit-transform: translateY(250%);
    -ms-transform: translateY(250%);
    transform: translateY(250%);
  }
  
  .menubt .menuclick1 {
    transform: rotate(-215deg);
  }
  
  .menubt .menuclick2 {
    background-color: rgba(255,255,255,0);
  }
  
  .menubt .menuclick3 {
    transform: rotate(215deg);
  }

  .menubt .text-menu {
    color: #fff;
    padding-top: 25px;
    text-align: center;
    font-size: 10px;
  }

  nav .container {
    width: 100%;
  }

  nav li {
    border-top: 1px solid #fff;
    padding: 0;
  }

  header nav {
    background-color: #fff;
    border-bottom-left-radius: 0;
  }

  header nav .menu a {
    font-size: 20px;
  }

  nav a {
    font-size: 20px;
    padding: 20px 0;
  }

  header #menu-page .menu-top li a {
    background: url(../image/icon-next-menu-top-white.png) no-repeat left center;
  }

  header #menu-page .menu-top li,
  header #menu-page .menu-bottom li {
    margin-right: 0;
    padding: 0 20px;
  }

  header #menu-page .menu-bottom li,
  header #menu-page .menu-top li:last-child {
    margin-right: 0;
  }

  header #menu-page .menu-bottom li a::after {
    top: 50%;
    border-left: 8px solid #fff;
  }

  header #menu-page .menu-bottom li:last-child {
    border-bottom: 1px solid #fff;
  }

  header .menu-right {
    width: auto;
    background: url(../image/icon-header.png) no-repeat left 20px center #1cade3;
    border-bottom: 1px solid #fff;
    margin-bottom: 20px;
  }

  header .menu-right a {
    padding-left: 50px;
    font-size: 13px;
    padding-top: 20px;
    text-align: left;
  }

  header #menu-page .menu-top li a,
  header #menu-page .menu-bottom li a,
  header .menu-right a {
    font-size: 20px;
  }

  .h2-page {
    font-size: 26px;
    padding-bottom: 8px;
  }

  .h2-page::after { 
    width: 62px;
    height: 2px;
  }

  footer #menu-page .menu-top li,
  footer #menu-page .menu-bottom li {
    display: inline-block;
    margin: 10px 15px;
  }

  footer .info {
    padding: 35px 0 45px 0;
  }

  footer #menu-page {
    margin: 20px auto 26px auto;
  }

  footer .ptop-box {
    padding: 26px 0 30px 0;
    background: url(../image/bg-ptop.jpg) no-repeat center bottom;
    padding-right: 5%;
  }

  footer .ptop-box #ptop {
    width: 40px;
    height: 40px;
    position: relative;
    left: calc(100% - 40px);
  }

  header #menu-page .menu-bottom.pc {
    display: none;
  }

  header #menu-page .menu-top li .menu-bottom li {
    border-top: none;
  }

  header #menu-page .menu-bottom li:last-child {
    border-bottom: none;
  }
  

  header #menu-page .menu-top li .menu-bottom a {
    background: none!important;
  }

  header #menu-page .menu-top li .menu-bottom {
    margin-bottom: 20px;
  }

  header #menu-page .menu-top li:last-child {
    border-bottom: 1px solid #fff;
  }

  header #menu-page .menu-top .menu-bottom li:last-child {
    border-bottom: none;
  }
	
  .btn-box {
	margin-top: 40px;
  }
	
  .btn-next {
    padding: 15px 50px;
    font-size: 12px;
    background: url(../image/faculty-life/icon-next-btn.png) no-repeat right 18px center #151d22;
        background-size: auto;
    background-size: 16px auto;
	border-radius: 24px;
  }

  .menu-bottom-pc {
    display: none;
  }

  #menu-page .menu-top li {
    margin: 0 auto;
  }

  .content-detail {
    margin: 60px 0;
  }

  #featured-lecture-page {
    margin: 60px 0;
  }
  
  #featured-lecture-page h3 {
    font-size: 18px;
    padding: 20px 17px 7px 0;
    border-bottom: 1px solid #d7f5df;
    margin-bottom: 15px;
	text-align: left;
  }
  
  #featured-lecture-page h3::after {
    bottom: -1px;
    width: 60px;
    height: 1px;
  }
  
  #featured-lecture-page .desc {
    line-height: 1.6;
    font-size: 14px;
  }
  
  #featured-lecture-page .flex {
    margin: 20px 0 10px 0;
    text-align: center;
  }
  
  #featured-lecture-page .flex .desc {
    width: 100%;
    text-align: left;
  }
  
  #featured-lecture-page .flex img {
    width: auto;
	max-width: 100%;
    border-radius: 15px;
    margin-bottom: 20px;
  }
	
  	.facilities-page .text {
		width: 100%;
	}

	.facilities-page .text .desc {
		width: 100%!important;
	}

	.facilities-page .flex {
		margin: 40px 0 15px 0!important;
	}

	.facilities-page .flex:nth-of-type(2n+0) .text {
		margin-right: 0;
	}

	.facilities-page .flex:nth-of-type(2n+1) .text {
		margin-left: 0;
	}

	 .breadcumb {
		padding: 16px 0;
	 }

	 #banner-faculty-life-bio .photo {
		border-top-left-radius: 20px;
	 }

	#banner-faculty-life-bio {
		min-height: 150px;	
	}

	#banner-faculty-life-bio .text {
	  bottom: 30px;
	  padding: 20px;
	  border-radius: 7px;
	  min-width: 300px;
	}

	#banner-faculty-life-bio .text h2 {
	 font-size: 20px;
	}

	#banner-faculty-life-bio .text h2 span {
	  font-size: 12px;
	  margin-top: 5px;
	}

	#menu-page-faculty-life-bio.menu-add {
		padding: 10px 0;
	}

	.menu-add .menu-top li {
		margin: 15px auto!important;
	}
	#qa-faculty-life-bio {
		padding: 50px 0 55px 0;
	}
	
	#qa {
    padding: 50px 0 50px 0;
  }

  #qa-box li {
    margin-bottom: 14px;
    border-radius: 20px;
  }

  #qa-box li dl {
    padding-bottom: 13px;
  }

  #qa-box li dt {
    background: url(../image/faculty-life-cource-bio/icon-close.png) no-repeat right 20px top 17px;
    border-radius: 20px;
    font-size: 14px;
    padding-bottom: 0;
    background-size: 24px auto;
  }

  #qa-box li .btn-open {
    background: url(../image/faculty-life-cource-bio/icon-open.png) no-repeat right 20px top 17px / 24px auto;
  }

  #qa-box li dt, #qa-box li dd {
    padding: 13px 50px 13px 24px;
    line-height: 1.6;
  }

  #qa-box li dt {
    padding-top: 0;
    padding-bottom: 0;
  }

  #qa-box li dl .font-number {
    font-size: 28px;
    margin-left: 5px;
    margin-right: 15px;
  }

  #qa-box li dd {
    border-radius: 10px;
    margin: 10px 40px 0 24px;
  }

  #qa-box li dl .font-qa {
    font-size: 23px;
  }

  #qa-box {
    margin-top: 40px;
  }
	
  #teacher-page {
	margin-bottom: 40px;
 }
	
  #teacher-page .author {
	margin-top: 40px;
  }
 
 #teacher-page .author .text {
    margin-left: 0;
    margin-top: 30px;
    text-align: left;
    line-height: 1.6;
 }
 
 #teacher-page .author .name {
    font-size: 20px;
	margin-bottom: 5px;
 }
 
 #teacher-page .author .name span {
	 margin-left: 0;
	font-size: 16px;
 }
 
 #teacher-page .author .info .desc {
    margin-bottom: 20px;
    line-height: 1.6;
    font-size: 14px;
 }

}

@media all and (max-width: 560px) {
  #banner-faculty-life-bio .text {
    bottom: 10px;
    padding: 8px;
    border-radius: 5px;
    min-width: 180px;
  }
  
  #banner-faculty-life-bio .text h2 {
    font-size: 12px;
    padding-left: 10px;
	border-left: 2px solid #1cade3;
  }
  
  #banner-faculty-life-bio .text h2 span {
    font-size: 10px;
    margin-top: 5px;
  }
	
  #banner-faculty-life-bio {
	min-height: 75px;
  }
  
  
}