body{
  font-size: 15px;
}
h2{
  font-size: 27px;
  font-weight: bold;
  text-align: center;
}
.bgw {
	background: #fff;
}
.inner01 {
	padding: 55px 0;
}
@media only screen and (min-width: 769px) {
  body{
    font-size: 19px;
  }
  h2{
    font-size: 40px;
    text-align: center;
  }
  .inner01 {
    padding: 90px 0 100px;
  }
}
.wrapper{
	height: auto;
	min-height: 100vh;
	line-height: 1.3;
	font-size: 15px;
}
@media only screen and (min-width: 769px) {
	.wrapper{
		line-height: 1.5;
		font-size: 19px;
	}
}

/*------------
message
-------------*/
.sec_message{
  background: #F0F2F5;
  padding: 55px 0 40px
}
.message h2{
  padding: 0 0 36px;
}
.message .sub_headline{
  font-size: 20px;
  font-weight: bold;
  padding: 0 0 15px;
}
.message_1 {
  display: flex;
  flex-direction: column-reverse;
}
.message dt{
  text-align: center;
  position: relative;
  z-index: 1;
  margin: 30px 0 0;
}
.message img{
  max-width: 214px;
}
.message dd{
  padding: 5% 5% 210px;
  margin: 0 auto -210px;
  background: #fff;
}
.message dl p{
  text-align: left;
  padding: 0 0 15px;
}
.message dl p:last-child{
  padding: 0;
}

@media only screen and (min-width: 769px) {
  .sub_headline br{
    display: none;
  }
  .sec_message{
    padding:1px;
  }
  .message{
    padding: 94px 0 0;
  }
  .message h2{
    padding: 0 0 50px;
  }
  .message_1 {
    display: block;
  }
  .message dl dd p{
    font-size: 18px;
    width: 80%;
  }
  .message .sub_headline{
    font-size: 28px;
    padding: 0 0 30px;
  }
  .message dl{
    margin: 100px auto 50px;
    position: relative;
  }
  .message dt{
    position: absolute;
    margin: 0;
  }
  .message_1 dt{
    width: 33%;
    right: 0;
    top: -100px;
  }
  .message_2 dt{
    left:0;
  }
  .message img{
    max-width: 308px;
  }
  .message dd{
    width: 85%;
    padding: 60px 55px;
    margin:0;
  }
  .message_2 dd{
    padding: 66px 6% 66px 19%;
    margin: 0 0 0 auto;
  }
  .message dl p{
    text-align: left;
    padding: 0 0 30px;
  }
}
/* パララックス */
.parallax_wrap {
  background: #F0F2F5;
  position: relative;
  z-index: -200;
}
.parallax {
  position: relative;
}
.parallax-window {
	min-height: 205px;
  background: transparent;
}
@media screen and (min-width: 798px) {
  .parallax-window {
    min-height: 495px;
  }
  .parallax {
    position: relative;
  }
}

/*------------
graduate_student
-------------*/
/* タブ切り替え */
.cultabbox{
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin: 30px 0 0;
}
.cultab{
	width: 48%;
	border-top: 1px solid #C9CED6;
	border-right: 1px solid transparent;
	border-left: 1px solid transparent;
	border-bottom: 1px solid #141B20;
	font-size: 22px;
	text-align: center;
	line-height: calc( 40px - 2px );
	font-weight: bold;
	cursor: pointer;
}
@media screen and (max-width: 768px) {
  .cultab{
    line-height: 1.3;
    padding: 10px 0;
  }
}
.cultab_ct{
	width: 4%;
	border-bottom: 1px solid #141B20;
}
.cultab.active{
	border-top: 1px solid #141B20;
	border-right: 1px solid #141B20;
	border-left: 1px solid #141B20;
	border-bottom: 1px solid transparent;
}
@media screen and (min-width:769px) {
	.cultabbox{
		display: flex;
		flex-flow: row;
		flex-wrap: nowrap;
		justify-content: flex-start;
		margin: 80px 0 0;
	}
	.cultab{
		width: 48%;
		border-top: 1px solid #C9CED6;
		border-right: 1px solid transparent;
		border-left: 1px solid transparent;
		border-bottom: 1px solid #141B20;
		font-size: 27px;
		text-align: center;
		line-height: calc( 72px - 2px );
		font-weight: bold;
		cursor: pointer;
	}
}
.cultab_item{
	display: none;
}
.cultab_item.active{
	display: block;
}
.cultab.no {
  pointer-events: none;
  border-top: none;
}
/* コンテンツ movie */
.br_sp {
  display: block;
}
@media screen and (min-width: 769px) {
  .br_sp {
    display: none;
  }
}
.gra_contents {
  margin: 30px 0 20px;
}
.gra_youtube_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -8px;
  overflow: hidden;
}
.gra_youtube {
  width: 50%;
  padding: 10px 8px;
}
.gra_youtube_txt {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 8px 0 0;
}
.gra_link_btn a {
  margin: auto;
}
@media screen and (min-width: 769px) {
  .gra_contents {
    margin: 50px 0;
  }
  .gra_youtube_wrap {
    display: flex;
    flex-wrap: wrap;
    margin: -25px -20px;
    overflow: hidden;
  }
  .gra_youtube {
    width: 33.33%;
    padding: 25px 20px;
  }
    .gra_youtube_txt {
    font-size: 24px;
    margin: 20px 0 0;
  }
}
/*------------
alumni_report
-------------*/
.sec_alumni_report {
  background: #F0F2F5;
}
.report_list_wrap {
  background: #fff;
  margin: 30px 0 0;
  padding: 5% 0;
}
.report_list {
  width: 90%;
  margin: auto;
}
.report_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.report_list li {
  width: 100%;
  border-bottom: 1px solid #141B20;
  padding: 20px 0;
}
.report_list li:first-child {
  border-bottom: 3px solid #141B20;
  padding: 0 0 5%;
  width: 100%;
}
.report_list_item .report_list_thum {
  max-width: 212px;
  margin: 0 5% 0 0;
}
.report_list_item p {
  font-weight: bold;
}
.report_list_item a {
  text-decoration: underline;
}
.report_list_item .pdf_mark {
  font-size: 10px;
  font-weight: 500;
  color: #fff;
  background: #BB0909;
  padding:  0 10px;
  margin: 0 0 0 3%;
}
@media screen and (min-width: 641px) {
  .report_list li {
    width: 48%;
  }
}
@media screen and (min-width: 769px) {
  .report_list_wrap {
    margin: 50px 0 0;
    padding: 50px 0;
  }
  .report_list li {
    padding: 50px 0;
  }
  .report_list li:first-child {
    padding: 0 0 50px;
  }
  .report_list_item .report_list_thum {
    margin: 0 84px 0 0;
  }
  .report_list_item p {
    font-weight: bold;
  }
  .report_list_item .pdf_mark {
    font-size: 15px;
    padding:  0 10px;
    margin: 0 0 0 20px;
  }
}
/*------------
map_number
-------------*/ 
.headline span {
  font-size: 19px;
  display: block;
  text-align: center;
  font-weight: normal;
}
.infomation_students_ttl {
  font-size: 18px;
  text-align: center;
  margin: 30px 0 0;
  font-weight: bold;
  background: #7F96C2;
  padding: 7px;
	color: #fff;
}
.map_wrap {
  margin: 30px 0;
}
.number_wrap,.career_wrap {
  width: 100%;
}
.number_table {
  width: 100%;
  margin: 15px 0 0;
}
.number_table th {
  padding: 10px 0;
  font-weight: bold;
  font-size: 12px;
  background: #EFEFEF;
  border-top: 2px solid #072856;
  border-bottom: 2px solid #072856;
}
.number_table td {
  padding: 6px 0 5px;
  font-weight: bold;
  font-size: 16px;
}
.number_table td span {
  font-size: 10px;
  font-weight: 500;
  display: block;
  text-align: center;
}
.number_table .total {
  background: #f5f9ff;
  border-top: 2px solid #072856;
  border-bottom: 2px solid #072856;
}
.number_table .total td {
  padding: 12px 0 11px;
}
.number_table th,
.number_table td {
  text-align: center;
  border-right: 1px solid #072856;
}
.number_table th:last-child,
.number_table td:last-child {
  border-right: none;
}
.career_wrap .list_mark {
  margin: 15px 0 0;
}
.career_wrap .list_mark li {
  margin: 0.5em 0 0 2em;
  list-style: disc;
}
@media screen and (min-width: 375px) {
  .number_table th {
    font-size: 14px;
  }
  .number_table td {
    font-size: 18px;
  }
}
@media screen and (min-width: 641px) {
  .about_students_box {
    display: flex;
    justify-content: space-between;
  }
  .number_wrap,.career_wrap {
    width: 48%;
  }
}
@media screen and (min-width: 769px) {
  .headline span {
    font-size: 28px;
  }
  .infomation_students_ttl {
    font-size: 24px;
    margin: 50px 0 0;
  }
  .map_wrap {
    margin: 50px 0;
  }
  .number_table {
    margin: 30px 0 0;
  }
  .number_table th {
    padding: 10px 0 9px;
    font-size: 19px;
    border-top: 3px solid #072856;
    border-bottom: 3px solid #072856;
  }
  .number_table td {
    padding: 28px 0 27px;
    font-size: 22px;
  }
  .number_table td span {
    font-size: 18px;
    font-weight: 500;
    display: inline-block;
    margin-left: .5em;
  }
  .number_table .total {
    border-top: 3px solid #072856;
    border-bottom: 3px solid #072856;
  }
  .number_table .total td {
    padding: 3px 0 2px;
  }
  .career_wrap .list_mark {
    margin: 30px 0 0;
  }
}

/*------------
link
-------------*/ 
.sec_link {
  background: #C9CED6;
}
.flex_container {
  display: flex;
  flex-direction: column;
}
a.alumni_link {
  display: block;
  color: #fff;
  background: #050A50;
  font-size: 10px;
  font-weight: bold;
  margin: 0 0 30px;
}
.flex_container a:last-child {
  margin: 0;
}
a.alumni_link p {
  padding: 17px 3%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
a.alumni_link i {
  margin: 0 0 0 1em;
}
@media screen and (min-width: 641px) {
  .flex_container {
    flex-direction: row;
  }
  a.alumni_link {
    margin: 0 4% 0 0;
  }
}
@media screen and (min-width: 769px) {
  a.alumni_link {
    font-size: 18px;
  }
  a.alumni_link p {
    padding: 36px 20px;
  }
}
/*------------
ページ内リンク
-------------*/ 
#message,
#alumni_report,
#contact{
	padding-top: 50px;
	margin-top: -50px;
}
@media screen and (min-width: 961px) {
  #message,
  #alumni_report,
  #contact{
    padding-top: 80px;
    margin-top: -80px;
  }
}
/*------------
アーカイブページ
-------------*/ 
.mainbg.noimg {
  padding-top: 79px;
}
.sec_archives {
  background: #F0F2F5;
}
.archives_ttl {
  background: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  padding: 7px 0;
}
.archives_list_wrap {
  margin: 25px 0 50px;
}
.archives_list+.archives_list {
  margin: 30px 0 0;
}
.archives_link_btn a {
  margin: auto;
}
.archives_link_btn a.btn_type_01 span.link_txt {
  padding-right: 38%;
}
@media screen and (min-width: 769px) {
  .mainbg.noimg {
    padding-top: 109px;
  }
  .archives_list_wrap {
    margin: 90px 0 150px;
  }
  .archives_ttl {
    font-size: 28px;
    margin-bottom: 50px;
    padding: 9px 0;
  }
  .archives_list+.archives_list {
    margin: 150px 0 0;
  }
}
/* アラムナイ通信3個め掲載したら消す */
.report_list li {
  border: none;
}
/* --ここまで-- */