@charset "utf-8";

/*==========================================
 common
===========================================*/
/* pagetitle
-------------------------------------------*/
.pagetitle_wrapp {
	background-image: url(../campuslife/images/bg_pagetitle.jpg);
}

/* photo_wrapp
-------------------------------------------*/
.photo_wrapp figure {
  text-align: center;
	margin-bottom: 1.6rem;
}
.photo_wrapp figure img{
	border-radius: 10px;
}
.photo_wrappo figcaption {
  font-size: 1.4rem;
  text-align: center;
}
@media (max-width: 992px)  {
	.photo_wrapp figure {
		width: 100%;
  }
}
@media (min-width: 993px)  {
	.photo_wrapp {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: calc(100% + 2%);
		margin-left: -1%;
		margin-right: -1%;
	}
	.photo_wrapp figure {
		width: 50%;
		padding-left: 1%;
		padding-right: 1%;
  }
}

/* photo_full */
@media (min-width: 993px)  {
	.photo_full {
		text-align: center;
	}
	.photo_full figure {
		width: 100%;
  }
}


/*==========================================
 campuslife / index.html
===========================================*/
/* ctg_list */
ul.ctg_list {
	margin-bottom: 0rem;
}
ul.ctg_list li a {
	text-decoration: none!important;
	position: relative;
	display: block;
	padding-right: 1.5rem;
}
ul.ctg_list li a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
	position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%) translateX(0%);
  -webkit- transform: translateY(-50%) translateX(0%);
  margin: auto;
}


/* factory-all_wrapp
-------------------------------------------*/
.factory-all_wrapp {
	border-radius: 10px;
}
@media (max-width: 992px) {
	.factory-all_wrapp {
		margin-bottom: 3.0rem;
	}
}
@media (min-width: 993px)  {
	.factory-all_wrapp {
		display: flex;
		justify-content: space-between;
		border-radius: 10px;
		margin-bottom: 6.0rem;
	}
}

/* text */
.factory-all_wrapp .factory-all_text ul li {
	border-bottom: 1px #005bac dashed;
	padding: 10px 0;
	line-height: 1.4;
}
.factory-all_wrapp .factory-all_text {
	background-color: rgba(0, 91, 172, 0.1);
}
@media (max-width: 992px) {
	.factory_wrapp .factory_text {
		padding:15px;
		border-radius: 0 0 10px 10px;
	}
}
@media (min-width: 993px)  {
	.factory-all_wrapp .factory-all_text {
		order: 2;
		padding:24px;
		width: 50%;
		border-radius: 0 10px 10px 0;
	}
}

/* photo */
.factory-all_wrapp .factory-all_photo {
	background-image: url(../campuslife/images/bg_factory.jpg);
	background-size: cover;
}
@media (max-width: 992px) {
	.factory-all_wrapp .factory-all_photo {
		background-image: none;
	}
    .factory-all_wrapp .factory-all_text {
        padding: 5px 15px 15px;
        border-radius: 10px;
    }
}
@media (min-width: 993px)  {
	.factory-all_wrapp .factory-all_photo {
		order: 1;
		width: 50%;
		background-position: center right;
		border-radius: 7px 0 0 7px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}


/* research_wrapp
-------------------------------------------*/
.research_wrapp {
	display: flex;
  list-style: none;
  flex-wrap: wrap;
  /*justify-content: space-between;*/
  width: 100%;
}
.research_wrapp li a {
	border-radius: 10px;
	text-decoration: none!important;
	padding: 16px 20px;
	color: #fff!important;
	background-color: #005bac;
	width: 100%;
	display: inline-block;
	text-align: center;
}
.research_wrapp li a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
	float: right;
}
@media (max-width: 992px) {
	.research_wrapp {
		margin-bottom: 1.6rem;
	}
	.research_wrapp li {
	  width: 100%;
		margin-bottom: 1.6rem;
	}
}
@media (min-width: 993px) {
	.research_wrapp {
		width: calc(100% + 2%);
		margin-left: -1%;
		margin-right: -1%;
		margin-bottom: 6rem;
	}
	.research_wrapp li {
	  width: calc(100% / 3);
		padding-left: 1%;
		padding-right: 1%;
		margin-bottom: 2rem;
	}
}


/* research-other_wrapp
-------------------------------------------*/
.research-other_wrapp li a {
	background-color: rgba(0, 91, 172, 0.1);
	height: 100%;
	border-radius: 10px;
	text-decoration: none!important;
	display: block;
	overflow: hidden;
}
.research-other_wrapp li figure{
	display: block;
	overflow: hidden;
}
.research-other_wrapp a img {
  display: block;
  transition-duration: 0.2s;
  width: 100%;
  height: auto;
}

.research-other_wrapp li h2 {
	padding-left: 0px;
  margin-bottom: 0rem;
  border-left: none;
	padding: 16px 30px 16px 20px;
	line-height: 1.4;
	position: relative;
	font-weight: 500;
}
.research-other_wrapp li h2::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
	position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) translateX(0%);
  -webkit- transform: translateY(-50%) translateX(0%);
  margin: auto;
}

@media (max-width: 992px) {
	.research-other_wrapp {
		margin-bottom: 3.5rem;
	}
	.research-other_wrapp li {
	  width: 100%;
		margin-bottom: 3.0rem;
	}
	.research-other_wrapp li h2 {
		font-size: 1.4rem;
	}
}
@media (min-width: 993px) {
	.research-other_wrapp {
		display: flex;
	  list-style: none;
	  flex-wrap: wrap;
	  /*justify-content: space-between;*/
	}
	.research-other_wrapp {
		width: calc(100% + 2%);
		margin-left: -1%;
		margin-right: -1%;
		margin-bottom: 6rem;
	}
	.research-other_wrapp li {
	  width: calc(100% / 3);
		padding-left: 1%;
		padding-right: 1%;
	}
	.research-other_wrapp li h2 {
		font-size: 1.8rem;
	}
}

/* hover */
.research-other_wrapp a {
	display: block;
	overflow: hidden;
}
.research-other_wrapp a img {
  display: block;
  transition-duration: 0.2s;
  width: 100%;
  height: auto;
}
.research-other_wrapp a img:hover {
  transform: scale(1.05);
  transition-duration: 0.2s;
  opacity: 0.8;
}


/* other_wrapp
-------------------------------------------*/
.other_wrapp {
	display: flex;
  list-style: none;
  flex-wrap: wrap;
  /*justify-content: space-between;*/
  width: 100%;
}
.other_wrapp li a {
	border-radius: 10px;
	text-decoration: none!important;
	padding: 16px 20px;
	color: #005bac!important;
	border: #005bac 2px solid;
	width: 100%;
	display: inline-block;
	text-align: center;
	font-weight: 500;
}
.other_wrapp li a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f105";
	float: right;
}
@media (max-width: 992px) {
	.other_wrapp {
		margin-bottom: 1.6rem;
	}
	.other_wrapp li {
	  width: 100%;
		margin-bottom: 1.6rem;
	}
}
@media (min-width: 993px) {
	.other_wrapp {
		width: calc(100% + 2%);
		margin-left: -1%;
		margin-right: -1%;
		margin-bottom: 6rem;
	}
	.other_wrapp li {
	  width: calc(100% / 3);
		padding-left: 1%;
		padding-right: 1%;
		margin-bottom: 1.6rem;
	}
}


/* other-sub_wrapp
-------------------------------------------*/
.other-sub_wrapp {
	display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: space-between;
}
.other-sub_wrapp li a img{
	border-radius: 10px;
}
@media (max-width: 992px) {
	.other-sub_wrapp {
		margin-bottom: 3rem;
	}
	.other-sub_wrapp li {
	  width: 100%;
		margin-bottom: 1.6rem;
	}
}
@media (min-width: 993px) {
	.other-sub_wrapp {
		width: calc(100% + 2%);
		margin-left: -1%;
		margin-right: -1%;
		margin-bottom: 0.0rem;
	}
	.other-sub_wrapp li {
	  width: calc(100% / 2);
		padding-left: 1%;
		padding-right: 1%;
		margin-bottom: 1.6rem;
	}
}


/*==========================================
 campuslife / factory.html
===========================================*/
/* factory_main */
.factory_main{
	padding: 20px;
	background-color: #e2eff7;
	border-radius: 10px;
}

/* factory_wrapp */
.factory_wrapp li {
	margin-bottom: 3.0rem;
}
.factory_wrapp li a {
	height: 100%;
	text-decoration: none!important;
	display: block;
	overflow: hidden;
}
.factory_wrapp li img{
	margin-bottom: 1.0rem;
	display: block;
	overflow: hidden;
	border-radius: 10px;
}

.factory_wrapp li h2 {
  margin-bottom: 1.0rem;
	line-height: 1.2;
	font-weight: 700;
	padding-bottom: 0.3rem;
	padding-left: 0px;
  color: #333;
  border-left: none;
	display: flex;
	align-items: center;
	min-height: 2.3em;
}
.factory_wrapp li h2 span {
	display: inline-block;
	background: url("../images/icon_blue.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 32px;
	height: 39px;
	margin-right: 0.5rem;
	color: #fff;
	display: flex;
	justify-content: center;
	padding-top: 8px;
  line-height: 1;
	font-weight: 500;
	font-family: D-DIN Bold, din-2014, 'Oswald', sans-serif;
}
.factory_wrapp li p {
	color: #333;
}

@media (max-width: 992px) {
	.factory_wrapp {
		margin-bottom: 3rem;
	}
	.factory_wrapp li {
	  width: 100%;
	}
	.factory_wrapp li h2 {
		font-size: 1.6rem;
	}
	.factory_wrapp li h2 br {
		display: none;
	}
}
@media (min-width: 993px) {
	.factory_wrapp {
		display: flex;
	  list-style: none;
	  flex-wrap: wrap;
	  /*justify-content: space-between;*/
		width: calc(100% + 4%);
		margin-left: -2%;
		margin-right: -2%;
	}
	.factory_wrapp li {
	  width: calc(100% / 3);
		padding-left: 2%;
		padding-right: 2%;
		}
	.factory_wrapp li h2 {
		font-size: 1.8rem;
	}
}



/*==========================================
 campuslife / factory02.html
===========================================*/
/* factory-m_main */
.factory-m_main {
	padding: 20px;
	background-color: #f7eaef;
	border-radius: 10px;
}

/* factory-m_wrapp */
.factory-m_wrapp li {
	margin-bottom: 3.0rem;
}
.factory-m_wrapp li a {
	height: 100%;
	text-decoration: none!important;
	display: block;
	overflow: hidden;
}
.factory-m_wrapp li img{
	margin-bottom: 1.0rem;
	display: block;
	overflow: hidden;
	border-radius: 10px;
}

.factory-m_wrapp li h2 {
  margin-bottom: 1.0rem;
	line-height: 1.2;
	font-weight: 700;
	padding-bottom: 0.3rem;
	padding-left: 0px;
  color: #333;
  border-left: none;
	display: flex;
	align-items: center;
	min-height: 2.3em;
}
.factory-m_wrapp li h2 span {
	display: inline-block;
	background: url("../images/icon_pink.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 32px;
	height: 39px;
	margin-right: 0.5rem;
	color: #fff;
	display: flex;
	justify-content: center;
	padding-top: 9px;
  line-height: 1;
	font-weight: 500;
	font-size: 1.4rem;
}
.factory-m_wrapp li p {
	color: #333;
}

@media (max-width: 992px) {
	.factory-m_wrapp {
		margin-bottom: 3rem;
	}
	.factory-m_wrapp li {
	  width: 100%;
	}
	.factory-m_wrapp li h2 {
		font-size: 1.6rem;
	}
	.factory-m_wrapp li h2 br {
		display: none;
	}
}
@media (min-width: 993px) {
	.factory-m_wrapp {
		display: flex;
	  list-style: none;
	  flex-wrap: wrap;
	  /*justify-content: space-between;*/
		width: calc(100% + 4%);
		margin-left: -2%;
		margin-right: -2%;
	}
	.factory-m_wrapp li {
	  width: calc(100% / 3);
		padding-left: 2%;
		padding-right: 2%;
		}
	.factory-m_wrapp li h2 {
		font-size: 1.8rem;
	}
}



/*==========================================
 campuslife / library.html
===========================================*/
.table_library {
	margin-top: 3.0rem;
	margin-bottom: 1.6rem;
}



/*==========================================
 campuslife / event.html
===========================================*/
.event_inner {
	margin-bottom: 1.6rem;
}
.event_inner h3 {
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px #ccc dashed;
}
@media (min-width: 993px) {
	.event_wrapp {
		display: flex;
		flex-wrap: wrap;
	}
	.event_wrapp .event_inner {
		width:  31.3333%;
		margin-left: 1%;
		margin-right: 1%;
	}
}


/*==========================================
 campuslife / clubs.html
===========================================*/
/* club_header */
.club_header{ 
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 1.0rem;
}
.club_header .club_name { 
	margin-top: 0.0rem;
    padding-left: 0px;
    margin-bottom: 0.0rem;
    font-weight: 500;
   /* color: #000;*/
    border-left: none;
}
.club_header span{ 
	margin-right: 0.8rem;
	line-height: 1;
	padding: 5px 10px;
	border-radius: 4px;
	font-size: 1.3rem;
	font-weight: 500;
}
#clubs .club_header span {
	background-color: #005bac;
	color: #fff;
}
#circle .club_header span {
	background-color: #fff;
	border: 1px solid #005bac;
	color: #005bac;
}

/* img */
.clubs_wrapp .clubs_inner figure {
	text-align: center;
	margin-bottom: 1.0rem;
}
.clubs_wrapp .clubs_inner figure img{
	width: 100%;
	border-radius: 10px;
}

/* club-member_list */
.club-member_list {
	margin-top: 5.0rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.club-member_list .club-p_name {
	margin-bottom: 0.75rem;
	line-height: 1;
}
.club-member_list .club-p_name em {
	font-style: normal;
	margin-right: 0.5rem;

	display: inline-block;
	background: #000;
	border-radius: 50%;
	color: #fff;
	text-align: center;
}
.club-member_list .club-p_name span {
	font-size: 1.4rem;
}
.club-member_list .club-p_dept {
	font-size: 1.4rem;
}
.club-member_list .club-p_from {
	font-size: 1.05rem;
}
@media (max-width: 992px) {
	.club-member_list li {
		margin-bottom: 3rem;
		width: 47.5%;
	}

	.club-member_list .club-p_name {
		font-size: 1.6rem;
	}
	.club-member_list .club-p_name em {
		font-size: 1.4rem;

		width: 2.5rem;
		height: 2.5rem;
		line-height: 2.5rem;
	}
	.club-member_list .club-p_comment {
		margin-top: 1.5rem;
	}
}
@media (min-width: 993px) {
	.club-member_list li {
		width: 23%;
	}
	.club-member_list .club-p_comment {
		margin-top: 2rem;
	}
	/*.club-member_list li.club-member_1 .club-p_comment {
		margin-top: 4.75rem;
	}
	*/
	.club-member_list li.club-member_4 .club-p_comment {
		margin-top: 4.75rem;
	}

	.club-member_list .club-p_name {
		font-size: 2rem;
	}
	.club-member_list .club-p_name em {
		font-size: 1.4rem;
	
		width: 2.5rem;
		height: 2.5rem;
		line-height: 2.5rem;
	}
}




/* -------------------------------------------
 SP
-------------------------------------------*/
@media (max-width: 992px) {
	.clubs_wrapp {
		margin-bottom: 20px;	
	}
	.clubs_nav {
		display: none;
	}
}

/* club_pa [accordion]
-------------------------------------------*/
@media (max-width: 992px) {
	/* title */
	.club_pa_title {
		position: relative;
		cursor: pointer;
		padding:14px 30px 14px 15px;

		background-color: #005bac;
	}
	.club_pa_title h2 {
		font-weight: normal;
		padding:0px;
		font-size: 1.5rem;
		color: #fff;
		margin: 0;
		font-weight: 500;
	}

  /* icon */
  .club_pa_title::before,
  .club_pa_title::after{
	position: absolute;
	content:'';
	width: 10px;
	height: 2px;
	background-color: #fff;
  }
  .club_pa_title::before{
	top:50%;
	right: 15px;
	transform: rotate(0deg);
  }
  .club_pa_title::after{
	top:50%;
	  right: 15px;
	transform: rotate(90deg);
  }
  
  /*　close　*/
  .club_pa_title.close::before{
	  transform: rotate(45deg);
  }
  .club_pa_title.close::after{
	  transform: rotate(-45deg);
  }
}


/* club_group [accordion]
-------------------------------------------*/
/* club_pa > club_group */
@media (max-width: 992px) {
	/* club_group */
	.club_group {
		display: none;/*はじめは非表示*/
		/*padding: 15px;*/
		margin:0 0px 1.6rem;
	}
}
@media (max-width: 992px) {
	.club_group{
	list-style: none;
	width: 100%;
  }  
  .club_group .clubs_inner{
	  border-top: 1px solid #ccc;
  }
  .club_group .clubs_inner:last-child{
	  border-bottom: 1px solid #ccc;
  }
  
  /* title */
  .club_group .clubs_inner .club_header {
	  position: relative;
	  cursor: pointer;
	  font-weight: normal;
	  padding:10px 30px 10px 15px;
	  font-size: 1.4rem;
	  color: #333;
	  margin: 0;
	  font-weight: 500;
  }
.club_header .club_name { 
	font-size: 100%;
}
  .club_header span {
	display: none;
}
  
  /* icon */
  .club_group .clubs_inner .club_header::before,
  .club_group .clubs_inner .club_header::after{
	position: absolute;
	content:'';
	width: 10px;
	height: 2px;
	background-color: #005bac;
  }
  .club_group .clubs_inner .club_header::before{
	top:50%;
	right: 15px;
	transform: rotate(0deg);
  }
  .club_group .clubs_inner .club_header::after{
	top:50%;
	  right: 15px;
	transform: rotate(90deg);
  }
  
  /*　close　*/
  .club_group .clubs_inner .club_header.close::before{
	  transform: rotate(45deg);
  }
  .club_group .clubs_inner .club_header.close::after{
	  transform: rotate(-45deg);
  }
  .club_group .clubs_inner .club_header.close {
  }
  
  /* club_box */
  .club_box {
	  display: none;/*はじめは非表示*/
	  padding: 15px;
	  margin:0 0px 1.6rem;
  }
  .club_box p{
	  font-size: 1.3rem;
	  font-weight: 400;
  }
  .club_box p a{
	  text-align: right;
  }
}


/* -------------------------------------------
 pc
-------------------------------------------*/
@media (min-width: 993px) {
	.clubs_inner {
		margin-bottom: 4.0rem;
	}
	.club_group {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.club_group .clubs_inner {
		width:  48%;
	}
}


/* clubs_nav
-------------------------------------------*/
/* clubs_nav */
.clubs_nav {
	display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.clubs_nav li a {
	border-radius: 10px;
	text-decoration: none!important;
	padding: 16px 20px;
	color: #fff!important;
	background-color: #005bac;
	width: 100%;
	display: inline-block;
	text-align: center;
}
.clubs_nav li a::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  content: "\f078";
	float: right;
}
@media (max-width: 992px) {
	.clubs_nav {
		display: none;
	}
}
@media (min-width: 993px) {
	.clubs_nav {
		width: calc(100% + 2%);
		margin-left: -1%;
		margin-right: -1%;
		margin-bottom: 6rem;
	}
	.clubs_nav li {
	  width: calc(100% / 3);
		padding-left: 1%;
		padding-right: 1%;
	}
}




/*==========================================
 campuslife / dining.html
===========================================*/
.dining_text {
	margin-bottom: 1.6rem;
}
.dining_photo img {
	border-radius: 10px;
}
@media (min-width: 993px)  {
  .comment_dining {
    display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
  }
  .dining_text {
    width:58%;
  }
  .dining_photo {
		width:40%;
    height: auto;
  }
}

.dining_wrapp {
	background-size: cover;
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
.dining_wrapp .item {
	margin-bottom: 3.0rem;
}
.dining_wrapp .item img {
	border-radius: 10px;
}
@media (max-width: 992px) {
	.dining_wrapp .item {
		width:  48%;
		margin-left: 1%;
		margin-right: 1%;
	}
}
@media (min-width: 993px) {
	.dining_wrapp .item {
		width:  31.3333%;
		margin-left: 1%;
		margin-right: 1%;
	}
}



/*==========================================
 campuslife / studentsupport.html
===========================================*/
.studentsupport_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 50px;
}
.studentsupport_list li{
	margin-bottom: 50px;
}
.studentsupport_list li h3 {
	padding-left: 0px;
    margin-bottom:10px;
    font-weight: 500;
    color: #005bac;
    border-left: none;
	text-align: center;
}
.studentsupport_list li figure {
	text-align: center;
	margin-bottom: 5px;
}
.studentsupport_list li img {
	width: 70%;
	vertical-align:top;
}
.studentsupport_list li.col2 {
	align-self: flex-end;
}
@media (max-width: 992px) {
	.studentsupport_list li {
		width:  48%;
	}
	.studentsupport_list li h3 {
		font-size: 125%;
	}
	.studentsupport_list li.col2 {
		width:100%;
	}
}
@media (min-width: 993px) {
	.studentsupport_list::after{
		content:"";
		display: block;
		width:30%;
	}
	.studentsupport_list li {
		width:  30.0%;
		box-sizing:border-box;
	}
	.studentsupport_list li h3 {
		font-size: 137.5%;
	}
	.studentsupport_list li.col2 {
		width:60%;
	}
}