@charset "utf-8";
/*
 Theme Name:   文京学院大学 文京学院大学について - Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.1.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child
*/
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Francois+One&display=swap');
@import url('https://fonts.cdnfonts.com/css/bahnschrift');
.francoisone{ font-family: 'Francois One', sans-serif;}
.bahnschrift{ font-family: 'Bahnschrift', sans-serif;}

/***************************************************************************
@charset "utf-8";
/* CSS Document */
/*==========================
共通
==========================*/
section .lline_tit:not(:first-of-type) { margin-top: 2.25rem;}
/*タイトル
==========================*/
.bfstline_tit{
	position: relative;
	margin-bottom: 50px;
	text-align: center;
}
.bfstline_tit::first-letter{ color: #00658b;}
.bfstline_tit::after{
	content: '';
	display: inline-block;
	position: absolute;
	bottom: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
	width: 60px;
	height: 2px;
	background-color: #00658b;
}
.page_titbg {
	background-color: #1a1a1a;
	padding: 16px 0;
}
.page_tit {
	color: #fff;
	font-weight: bold;
	display: inline-block;
	margin-bottom: 0;
}
.lline_tit {
	font-weight: bold;
	border-left: #00658b 4px solid;
	padding: 5px 0 5px 12px;
	margin-bottom: 15px;
}
.bline_tit {
	position: relative;
	border-bottom: #c8c8c8 1px solid;
	padding: 5px 0;
	margin-top: 30px;
	margin-bottom: 15px;
}
.bline_tit::after {
	content: '';
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 65px;
	height: 3px;
	background-color: #00658b;
	border-radius: 10px;
}
.bgnv_tit{
	color: #fff;
	font-size: 1rem;
	font-weight: bold;
	background-color: #1c2e4c;
	display: inline-block;
	padding: 10px;
	min-width: 230px;
	text-align: center;
	margin-bottom: 15px;
}
.blu_tit{
	color: #00658b;
	font-size: 1.1rem;
	font-weight: bold;
}

@media(min-width:768px){
	.bfstline_tit{ font-size: 1.8rem;}
	.page_tit{ font-size: 1.4rem;}
	.lline_tit{ font-size: 1.4rem;}
	.bline_tit{ font-size: 1.3rem;}
}
@media(max-width:767px){
	.bfstline_tit{ font-size: 1.4rem;}
	.page_tit{ font-size: 1.1rem;}
	.lline_tit{ font-size: 1.2rem;}
	.bline_tit{ font-size: 1.1rem;}
	.bline_tit span{ display: block;}
}

/*セクション
==========================*/
.explanation:last-child{ margin-bottom: 0;}
.explanation dt{
	color: #00658b;
	margin-bottom: 5px;
}
.explanation dd:not(:last-child){ margin-bottom: 15px;}
.explanation dd:last-child{ margin-bottom: 0;}

/*リスト
==========================*/
.disc_list { padding-left: 22px;}
/*丸リスト*/
.circle_list{
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.circle_list li{
	position: relative;
	padding-left: 20px;
}
.circle_list li::after{
	content: '';
	display: inline-block;
	position: absolute;
	top: 4px;
	left: 0;
	width: 15px;
	height: 15px;
	background-color: #c9c9c9;
	border-radius: 50%;
}

/*==========================
mv
==========================*/
#mv {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-image: url("/assets/img/corporation/mv.jpg");
}
#mv .mv_tit {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%);
	transform: translate(-50%);
	color: #fff;
	font-weight: bold;
	width: 100%;
	text-align: center;
	margin-bottom: 0;
}
#mv .mv_tit {
	text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3), 1px 3px 7px rgba(224, 176, 85, 0.1);
}
#mv .mv_tit::after {
	content: '';
	display: inline-block;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: -10px;
	width: 80px;
	height: 3px;
	background-color: #006c54;
}
@media(min-width:768px) {
	#mv {
		height: 300px;
	}
	#mv .mv_tit {
		font-size: 2rem;
	}
}
@media(max-width:767px) {
	#mv {
		height: 200px;
		margin-top: 56px;
	}
	#mv .mv_tit {
		margin-top: 10px;
		font-size: 1.5rem;
	}
}

/*==========================
HEADLINE
==========================*/
#headlines {
	background-image: url("/assets/img/faculty/bg_headlines.jpg");
	background-size: cover;
	background-position: center;
}
#headlines .container {
	position: relative;
}
#headlines .sec_tit {
	color: #fff;
}
#headlines .sec_tit::first-letter {
	color: #fff;
}
#headlines a {
	position: relative;
	display: block;
	background-color: #fff;
	padding-top: 60%;
}
#headlines a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#headlines a:hover img {
	opacity: .85;
}
#headlines a::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
}
#headlines .swiper-pagination {
	position: absolute;
	left: 0;
	width: 100%;
}
#headlines .swiper-pagination-bullet {
	width: 40px;
	height: 2px;
	background-color: #fff;
	opacity: 1;
	border-radius: 0;
	margin: 1px 4px;
}
#headlines .swiper-pagination-bullet-active {
	height: 4px;
	margin: 0 4px;
}
/*外国語学部TOP*/
#foreign_top #headlines a::after {
	background-color: #e95383;
}
#foreign_top #headlines .swiper-pagination-bullet-active {
	background-color: #e95383;
}
/*経営学部TOP*/
#business_top #headlines a::after {
	background-color: #009360;
}
#business_top #headlines .swiper-pagination-bullet-active {
	background-color: #009360;
}
/*人間学部TOP*/
#human_top #headlines a::after {
	background-color: #B36320;
}
#human_top #headlines .swiper-pagination-bullet-active {
	background-color: #B36320;
}
/*保健医療技術学部TOP*/
#health_top #headlines a::after {
	background-color: #006cb7;
}
#health_top #headlines .swiper-pagination-bullet-active {
	background-color: #006cb7;
}
/*Bunkyo GCI TOP*/
#gci_top #headlines a::after {
	background-color: #f9eb21;
}
#gci_top #headlines .swiper-pagination-bullet-active {
	background-color: #f9eb21;
}
/*大学院 TOP*/
#corporation #headlines a::after {
	background-color: #00658b;
}
#corporation #headlines .swiper-pagination-bullet-active {
	background-color: #00658b;
}
@media(min-width:992px) {
	#headlines {
		padding-bottom: 40px;
	}
	#headlines .sec_tit {
		text-align: center;
	}
	#headlines .swiper-pagination {
		bottom: 45px;
		max-width: 25%;
	}
}
@media(min-width:768px) {
	#headlines {
		padding-top: 40px;
	}
}
@media(max-width:991px) {
	#headlines {
		padding-bottom: 60px;
	}
	#headlines .swiper-pagination {
		bottom: -35px;
	}
}
@media(max-width:767px) {
	#headlines {
		padding-top: 30px;
	}
}
.headline_tit{
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 4px;
	color: #fff;
	margin-bottom: 0;
	max-height: 100%;
	background-color: rgba(0,0,0,0.4);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; /* 制限したい行数が3の場合 */
	overflow: hidden;
}
@media(min-width:768px) {
  .headline_tit{
    -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
  }
}
/*==========================
local nav
==========================*/
#local_nav {
	background-color: #00658b;
}
#local_nav .navbar-nav li a,
#local_nav .navbar-nav li a:hover,
#local_nav .navbar-nav li a:focus {
	color: #fff;
}
#local_nav.fixed {
	position: fixed;
	top: 0;
	padding: 0;
	width: 100%;
	z-index: 1000;
	background-color: rgba(0, 101, 139, .95);
}
#local_nav .dropdown-menu {
	border-radius: 0;
	width: 100%;
	padding: 0;
}
#local_nav .dropdown-menu a{
	color: #000 !important;
	padding: 0.4rem !important;
	white-space: initial;
}
#local_nav .dropdown-menu a:not(:last-child){ border-bottom: #00658b 1px dashed;}
#local_nav .dropdown-menu a:hover,#local_nav .dropdown-menu a.active{ background-color: #dbe9f4;}
#local_nav .dropdown-toggle::after{ display: none;}
#local_nav .dropdown-toggle span{ position: relative;}
#local_nav .dropdown-toggle span::before{
	content: '';
  display: inline-block;
  position: absolute;
  top: 6px;
  width: 5px;
  height: 5px;
	margin-bottom: 1px;
  border-bottom: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg) ;
  transform: rotate(45deg);
}
@media(min-width:992px) {
	#local_nav {
		padding: 10px 0;
	}
	#local_nav p {
		display: none;
	}
	#local_nav .navbar-nav {
		flex-wrap: wrap;
	}
	#local_nav .navbar-nav li{
		width: 33.33333%;
		text-align: center;
	}
	#local_nav .navbar-nav li:nth-child(-n+3) {
		margin-bottom: 10px;
	}
	#local_nav .navbar-nav li:nth-child(4) {
		border-left: #fff 1px solid;
	}
	#local_nav .navbar-nav li:first-child {
		border-left: #fff 1px solid;
	}
	#local_nav .navbar-nav li:not(:last-child) {
		border-right: #fff 1px solid;
	}
	#local_nav .navbar-nav li:last-child {
		border-right: #fff 1px solid;
	}
	#local_nav .navbar-nav li a {
		padding: 2px;
		font-size: .95rem;
	}
	#local_nav .navbar-nav li.active a span {
		position: relative;
		display: inline-block;
		border-bottom: #fff 2px solid;
	}
	#local_nav .dropdown-menu { border: #efefef 1px solid;}
	#local_nav .dropdown-menu a{ font-size: .9rem !important;}
	#local_nav .dropdown-toggle span::before{ right: -20px;}
}
@media(max-width:991px) {
	#local_nav {
		position: relative;
	}
	#local_nav p {
		margin: 0;
		padding: 10px 15px;
		display: block;
		width: 100%;
		color: #fff;
		background-color: #00658b;
	}
	#local_nav .navbar-toggler {
		border-radius: 0;
		outline: none;
		margin-left: auto;
		margin-right: 0;
		position: absolute;
		top: 0;
		right: 0;
		height: 44px;
	}
	#local_nav .navbar-toggler .navbar-toggler-icon::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 10px;
		right: 15px;
		width: 12px;
		height: 12px;
		border-bottom: solid 1px #fff;
		border-right: solid 1px #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	#local_nav .navbar {
		padding: 0;
	}
	#local_nav .navbar .container {
		max-width: 100%;
	}
	#local_nav .navbar-nav {
		padding: 0 5px 5px;
		margin-top: 5px;
	}
	#local_nav .navbar-nav li:not(:last-child) {
		border-bottom: #fff 1px solid;
	}
	#local_nav .navbar-nav li a {
		font-size: .9rem;
		display: block;
		padding: 0.5rem;
	}
	#local_nav .navbar-nav li.active a {
		color: #00658b;
		background-color: #fff;
	}
	#local_nav .dropdown-menu { border: none;}
	#local_nav .dropdown-toggle span{ display: block;}
	#local_nav .dropdown-toggle span::before{ right: 5px;}
}

/*==========================
top
==========================*/
.bg_photo{
	position: relative;
	background-size: cover;
	background-position: center;
	z-index: 0;
}
.bg_photo::before{
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba( 255, 255, 255, .6);
}
#overview .bg_photo{ background-image: url("/assets/img/corporation/top/photo_overview.jpg");}
#school .bg_photo{ background-image: url("/assets/img/corporation/top/photo_school.jpg");}
#graduates .bg_photo{ background-image: url("/assets/img/corporation/top/photo_graduates.jpg");}
#info .bg_photo{ background-image: url("/assets/img/corporation/top/photo_info.jpg");}
#anniversary .bg_photo{ background-image: url("/assets/img/corporation/top/photo_anniversary.jpg");}

.bg_photo img{
	position: relative;
	z-index: 1;
}
.about_list{ padding: 30px 0;}
.about_list ul{
	padding-left: 0;
	list-style: none;
	margin-right: -5px;
  margin-left: -5px;
	margin-bottom: 0;
}
.about_list ul li{
	padding-left: 5px;
	padding-right: 5px;
}
.about_list .btn_detail{
	max-width: 100%;
	margin-top: 10px;
}
.about_list.bg_gry .btn_detail{ background-color: #fff;}
.btn_detail::after{ border-top-color: #00658b;}
.btn_detail:hover{ background-color: #dbe9f4 !important;}

/*questionary
==========================*/
#questionary .bnr_questionary {
	position: relative;
	max-width: 850px;
	margin: 0 auto;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
#questionary .bnr_questionary a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: inline-block;
	transition-duration: 0.3s;
}
#questionary .bnr_questionary a:hover {
	background-color: rgba(255, 255, 255, .15);
}
#questionary .bnr_questionary a span {
	position: absolute;
	left: 50%;
	bottom: 18.5%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 36%;
	color: #fff;
	background-color: #00658b;
	padding: 1%;
	text-align: center;
}
#questionary .bnr_questionary a span::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 12%;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
@media(min-width:1200px) {
	#questionary .bnr_questionary {
		padding-top: 17.118%;
	}
}
@media(min-width:992px) and (max-width:1199px) {
	#questionary .bnr_questionary {
		padding-top: 20.431%;
	}
}
@media(min-width:768px) and (max-width:991px) {
	#questionary .bnr_questionary {
		padding-top: 22.5%;
	}
}
@media(min-width:768px) {
	#questionary .bnr_questionary {
		background-image: url(/assets/img/bnr_questionary.jpg);
	}
	#questionary .bnr_questionary a span {
		font-size: 110%;
	}
	#questionary .bnr_questionary a span::after {
		width: 12px;
		height: 12px;
	}
}
@media(max-width:767px) {
	#questionary .bnr_questionary {
		background-image: url(/assets/img/bnr_questionary_sp.jpg);
		padding-top: 36.275%;
	}
	#questionary .bnr_questionary a span {
		font-size: 2.5vw;
	}
	#questionary .bnr_questionary a span::after {
		width: 1.4vw;
		height: 1.4vw;
	}
}

/*==========================
下層page
==========================*/
.whtbox { background-color: #fff;}
.whtbox p:last-child,
.whtbox table:last-child,
.whtbox ul:last-child,
.whtbox ol:last-child{ margin-bottom: 0;}
.whtbox a {
	word-wrap: break-word;
	word-break: break-all;
	text-decoration: underline;
}
.whtbox .btn_detail,
.whtbox .btn_readme{ text-decoration: none;}
.line_table { border-bottom: #000 1px solid;}
.line_table caption {
	font-size: 1rem;
	font-weight: bold;
	caption-side: top;
	color: #000;
}
.line_table caption .hongo { color: #39b04a;}
.line_table caption .fujimino { color: #5e90cc;}
.line_table caption.corp{
	color: #00658b;
	font-size: 1.1rem;
}
.line_table th, .line_table td { border-top: #000 1px solid;}
@media(min-width:768px) {
	.whtbox { padding: 40px;}
}
@media(max-width:767px) {
	.whtbox { padding: 20px 15px;}
	.whtbox .photobox img {
		margin: 1rem auto 0;
		display: block;
	}
	.line_table th, .line_table td {
		width: 100%;
		display: block;
		padding: .5rem;
	}
	.line_table th { background-color: rgba(222, 222, 222, .2);}
}

/*ファイルリンク*/
.dlbox{ margin-top: 5px;}
.dlbox:not(:last-child){ margin-bottom: 20px;}
.dlbox p{ margin-bottom: 5px;}
.link_list{
	list-style: none;
	padding-left: 0;
	margin-left: -5px;
	margin-right: -5px;
}
.link_list li{
	padding-left: 5px;
	padding-right: 5px;
}
.pdf_link,
.xls_link{
	position: relative;
	color: #4d4d4d;
	text-decoration: none !important;
	background-repeat: no-repeat;
	border: #c9c9c9 1px solid;
	display: block;
	background-color: #fff;
}
.pdf_link{ background-image: url("/assets/img/icon_pdf.png");}
.xls_link{ background-image: url("/assets/img/icon_xls.png");}
.pdf_link::after,
.xls_link::after{
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: solid 1px #4d4d4d;
	border-right: solid 1px #4d4d4d;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.pdf_link:hover,
.xls_link:hover{ color: #4d4d4d;}
@media(min-width:768px){
	.link_list li:nth-child(n+3){ margin-top: 10px;}
	.pdf_link,
	.xls_link{
		padding: 10px 30px 10px 40px;
		background-position: left 5px center;
	}
}
@media(max-width:767px){
	.link_list li:not(:first-child){ margin-top: 10px;}
	.pdf_link,
	.xls_link{
		font-size: .9rem;
		background-size: 18px 18px;
		padding: 10px 30px;
		background-position: left 5px top 10px;
	}
}

/*メッセージ
==========================*/
@media(min-width:768px) {
	.msgbox img{
		float: right;
		margin-left: 30px;
	}
}
@media(max-width:767px) {
	.msgbox{
		display: flex;
		flex-wrap: wrap;
	}
	.msgbox img{
		display: block;
		margin: 0 auto;
		order: 2;
	}
	.msg_txt{
		width: 100%;
		margin-bottom: 15px;
		order: 1;
	}
}

/*創立者 島田依史子
==========================*/
.excerptbox{
	border: #efefef 2px solid;
	padding: 15px;
}
.ex_tit{
	color: #00658b;
	font-size: 1.2rem;
	font-weight: bold;
}
.excerptbox .ex{
	color: #666;
	font-size: .75rem;
}
.capbox{
	text-align: center;
}
.capbox p{ text-align: left;}
.cap_txt{
	font-size: .75rem;
	margin-top: 5px;
	display: inline-block;
	text-align: left;
}
.s_biography table{ border-bottom: 1px solid #dee2e6;}
.s_biography table td{ padding: 0.3rem;}

@media(min-width:992px) {
	.capbox > div{ margin-bottom: 1rem;}
}
@media(max-width:991px) {
	.capbox > div{ margin-top: 1rem;}
}
@media(max-width:767px) {
	.s_biography table td{ font-size: .8rem;}
}

/*UI・VI
==========================*/
@media(min-width:768px) {
	.logobox{
		display: flex;
		justify-content: center;
	}
	.logobox .logo{ padding: 0 15px;}
	.logobox .logo:not(:first-child){ border-left: #efefef 4px solid;}
}
@media(max-width:767px) {
	.logobox .logo{ padding: 15px 0;}
	.logobox .logo:not(:first-child){ border-top: #efefef 4px solid;}
	.logobox .logo img{
		display: block;
		margin: 0 auto;
	}
}

/*設置校
==========================*/
.page_mv{ margin-bottom: 40px;}
.accessbox{
	max-width: 750px;
	margin: 30px auto 0;
	background-color: #dfeff7;
	border-radius: 10px;
}
.accessbox h4{
	font-weight: bold;
	text-align: center;
	background-color: #fff;
	border-radius: 20px;
	max-width: 280px;
	padding: 5px;
	margin: 0 auto 25px;
}
.accessbox .place,
.accessbox .tel{
	display: flex;
}
.accessbox .place p,
.accessbox .tel p{ margin-bottom: 0;}
.snsbox{
	margin-top: 60px;
	text-align: center;
}
.sns_tit{
	position: relative;
	display: inline-block;
	color: #00658b;
	font-weight: bold;
	margin-bottom: 30px;
}
.sns_tit::after,
.sns_tit::before{
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	width: 14px;
	height: 19px;
	background-size: contain;
}
.sns_tit::after{
	left: 0;
	background-image: url("/assets/img/corporation/outgoing_l.png");
}
.sns_tit::before{
	right: 0;
	background-image: url("/assets/img/corporation/outgoing_r.png");
}
/*Twitter*/
.tw_timeline{
  max-width: 500px;
	height: 480px;
	margin: 0 auto;
	overflow-y: scroll;
}
.bnr_link{
	margin-top: 60px;
	text-align: center;
}
.bnr_link a{
	background-color: #fff;
	transition-duration: 0.3s;
}
.bnr_link a:hover img{ opacity: .9;}
@media(min-width:992px) {
	.accessbox{ padding: 20px 30px;}
	.accessbox .row{
		margin-left: -30px;
		margin-right: -30px;
	}
	.accessbox .row > div{
		padding-left: 30px;
		padding-right: 30px;
	}
}
@media(min-width:768px) and (max-width:991px) {
	.accessbox{ padding: 20px;}
	.accessbox .row{
		margin-left: -20px;
		margin-right: -20px;
	}
	.accessbox .row > div{
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media(min-width:768px) {
	.accessbox h4{ font-size: 1.2rem;}
	.accessbox .row{ position: relative;}
	.accessbox .row::before{
		content: '';
		position: absolute;
		left: 50%;
		width: 4px;
		height: 100%;
		background-color: #fff;
		border-radius: 10px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.accessbox .place,
	.accessbox .tel{ align-items: center;}
	.accessbox .tel p{ font-size: 1.6rem;}
	.accessbox .place img,
	.accessbox .tel img{ margin-right: 15px;}
	.sns_tit{ padding: 0 60px;}
}
@media(max-width:767px) {
	.accessbox h4{ font-size: 1rem;}
	.accessbox{ padding: 15px;}
	.accessbox .place,
	.accessbox .tel{ align-items: flex-start;}
	.accessbox .place{ margin-bottom: 10px;}
	.accessbox .tel p{ font-size: 1.25rem;}
	.accessbox .place img,
	.accessbox .tel img{
		width: 30px;
		margin-right: 8px;
	}
	.sns_tit{ padding: 0 30px;}
}

/*YouTube ==========================*/
.movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 0 auto;
}
.movie .movie_inner{
	aspect-ratio: 16/9;
	width: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
}
.movie .movie_inner iframe{
	width: 100%;
	height: 100%;
}
.movie .movie_inner video{
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.movie .movie_material{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.movie .movie_material iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
.movie .movie_decoration{
	width : 100%;
	height: 100%;
	position:absolute;
	top:0;
	left:0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items:center;
	align-items:center;
	z-index:50;
}
.movie #movie_start{
	width : -webkit-calc(100% - 200px) ;
	width : calc(100% - 200px) ;
	height: 100%;
	z-index: 2;
	cursor: pointer;
	position:relative;
}
.movie .movie_contents_text{
	position: absolute;
	bottom: 20px;
	left: 20px;
	color:#fff;
}
.movie .contents_text--second{display:none;}
.movie .contents_text--third{display:none;}
.movie .movie_pager{
	background: rgba(0, 0, 0, 0.2);
	width: 10%;
	color: #fff;
	cursor: pointer;
	padding: 25% 0 0 0;
	height: 99.5%;
	text-align: center;
}
.movie .movie_pager:hover{
	background: rgba(0, 0, 0, 0.5);
}

/*同窓会
==========================*/
/*ご挨拶*/
.greetingbox{
	margin-bottom: 1rem;
	overflow: hidden;
}
.greetingbox .msg_photo{
	float: right;
	margin-left: 20px;
}
.greetingbox .msg_photo img{ margin-bottom: 5px;}
.greetingbox .msg_photo p{
	font-size: .8rem;
	margin-bottom: 0;
}
.greetingbox .msg_photo .name{ font-size: 1rem;}

/*寄贈*/
.donation:not(:last-child){ margin-bottom: 15px;}
.donation{
	border: #efefef 2px solid;
  padding: 15px;
}

/*あゆみ（沿革）*/
.usage_guide{
	display: flex;
	margin-top: 30px;
}
.usage_guide dt{ margin-right: 15px;}
.usage_guide ul{
	display: flex;
	list-style: none;
	padding-left: 0;
}
.usage_guide ul li:not(:last-child){ margin-right: 10px;}
.usage_guide ul li.academy_mark span{ color: #00a69a;}
.usage_guide ul li.graduate_mark span{ color: #00658b;}
.timeline {
	position: relative;
	margin-top: 30px;
  margin-bottom: 10px;
}
.timeline::after{
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	width: 2px;
	height: 100%;
	background-color: #c9c9c9;
	z-index: 0;
}
.timeline::before{
	content: '';
  display: inline-block;
  position: absolute;
  bottom: -6px;
  width: 10px;
  height: 10px;
  border-bottom: solid 2px #c9c9c9;
  border-right: solid 2px #c9c9c9;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.timeline-list{
	padding: 0;
	margin-bottom: 0;
}
.timeline-item{
	display: flex;
	line-height: 1.5;
	padding-bottom: 20px;
	border-bottom: #efefef 1px solid;
	margin-bottom: 20px;
}
.timeline-item:last-child{ border-bottom: none;}
.timeline-item .year{ font-weight: bold;}
.timeline-item .history{
	padding: 0 0 0 30px;
	flex: 1;
}
.timeline-item .history ul{
	position: relative;
	list-style: none;
	padding-left: 0;	
}
.timeline-item .history ul:not(:last-child){ margin-bottom: 10px;}
.timeline-item .history ul::before {
	content: '';
	position: absolute;
	top: 5px; 
	width: 14px;
	height: 14px;
	border-radius: 10px;
	z-index: 1;
}
.timeline-item .history ul li:not(.month){ flex: 1;}
.timeline-item ul li .timeline-photo{ margin-top: 5px;}
.timeline-item ul li .timeline-photo span{
	font-size: .8rem;
	display: block;
	margin-top: 5px;
}
.timeline-item.a_item .year { color: #00a69a;}
.timeline-item.a_item .history ul::before{ background-color: #00a69a;}
.timeline-item.a_item .history ul .month{ color: #00a69a;}
.timeline-item.g_item .year { color: #00658b;}
.timeline-item.g_item .history ul::before{ background-color: #00658b;}
.timeline-item.g_item .history ul .month{ color: #00658b;}

@media(min-width:768px) {
	.timeline::after{ left: 98px;}
	.timeline::before{ left: 94px;}
	.timeline-item .year {
		width: 100px;
		font-size: 1.2rem;
	}
	.timeline-item .history ul{ display: flex;}
	.timeline-item .history ul .month{ width: 85px;}
	.timeline-item .history ul::before { left: -38px;}
}
@media(max-width:767px) {
	.timeline::after{ left: 70px;}
	.timeline::before{ left: 66px;}
	.timeline-item .year { width: 60px;}
	.timeline-item .history ul::before { left: -26px;}
}

/*役員一覧*/
.member_table .table{ border: #c9c9c9 1px solid;}
.member_table caption{
	caption-side:top;
	color: #000;
	padding: 0 0 5px;
	text-align: right;
	font-size: .8rem;
}
.member_table .table thead th{
	background-color: #a9e4d7;
	text-align: center;
}
.member_table .table th{ font-weight: normal;}
.member_table .table th,
.member_table .table td{
	border-top: #c9c9c9 1px solid;
	border-right: #c9c9c9 1px solid;
}
.member_table .table thead th{ border-bottom: none;}
@media(min-width:768px) {
	.member_table .table_fixed{ table-layout: fixed;}
	.member_table .table th,
	.member_table .table td{ padding: .4rem .75rem;}
}
@media(max-width:767px) {
	.member_table .table th,
	.member_table .table td{
		font-size: .8rem;
		padding: .4rem;
	}
}

/*会則*/
.constitution{
	border: #efefef 2px solid;
  padding: 15px;
}
.constitution dd:not(:last-child){ margin-bottom: 15px;}
.constitution dd:last-child{ margin-bottom: 0;}
.constitution dt{
	color: #00658b;
	margin-bottom: 10px;
}
.constitution .main_num{
	list-style: none;
	padding-left: 0;
}
.constitution .main_num li{
	position: relative;
	padding-left: 2rem;
}
.constitution .main_num li span{
	position: absolute;
  display: inline-block;
  width: 1.6em;
  margin-left: -2.2em; 
  text-align: center;
	letter-spacing: -0.1em;
}
.constitution .main_num li span::after {
  position: absolute;
  content: '．';
  right: -.2em;
}
.constitution .sub_num{
	list-style: none;
	padding-left: 0;
}
.constitution .sub_num li{
	position: relative;
	padding-left: 2rem;
}
.constitution .sub_num li span{
	position: absolute;
  display: inline-block;
  width: 1.6em;
  margin-left: -2em; 
  text-align: center;
	letter-spacing: -0.1em;
}
.constitution .sub_num li span::before {
  position: absolute;
  content: '(';
  left: 0;
}
.constitution .sub_num li span::after {
  position: absolute;
  content: ')';
  right: 0;
}
.volunteer{
	background-color: #dbe9f4;
	padding: 10px;
	margin-bottom: 0;
}

/*校友会*/
.kouyu_photo{
	display: flex;
	justify-content: center;
	margin-bottom: 1rem;
}
.kouyu_photo > div:not(:last-child){ margin-right: 15px;}
.organization{
	text-align: center;
	background-color: #efefef;
	padding: 30px 20px;
}


/*あゆみ
==========================*/
/*時代のリンク*/
.stage_link{
	list-style: none;
	padding-left: 0;
	margin-bottom: 30px;
	margin-right: -5px;
  margin-left: -5px;
}
.stage_link li{
	padding-right: 5px;
	padding-left: 5px;
}
.stage_link a {
	position: relative;
	color: #000;
	background-color: #fff;
	border-radius: 0;
	border: #c8c8c8 1px solid;
	display: block;
	font-size: .9rem;
	text-align: left;
	transition-duration: 0.4s;
	text-decoration: none;
	padding: 5px 43px 5px 8px;
}
.stage_link a::before {
	content: '';
	display: inline-block;
	position: absolute;
	top:0;
	bottom: 0;
	right: 0;
	width: 34px;
	height: 100%;
	background-color: #00a69a;
	transition-duration: 0.4s;
}
.stage_link a::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.stage_link a:hover, .about_link a:focus { text-decoration: none;}
.stage_link a:hover::before, .about_link a:focus::before { background-color: #006c54;}
@media(max-width:991px){
	.stage_link li:not(:last-child){ margin-bottom: 10px;}
}

.follow_history {
  position: relative;
	overflow: hidden;
	padding-top: 80px;
	padding-bottom: 50px;
}
.follow_history::before {
  content: '';
  position: absolute;
  top: -50px;
  left: 50%;
  bottom: 0px;
  transform: translateX(-50%);
  width: 2px;
  background-color: #c9c9c9;
}
.follow_history .stage_tit{
	position: relative;
	top: -80px;
	text-align: center;
	max-width: 500px;
	margin: 0 auto 0;
	display: block;
	color: #fff;
	font-weight: bold;
	padding: 5px 10px;
}
#stage01 .stage_tit{ background-color: #00a69a;}
#stage02 .stage_tit{ background-color: #1c92ad;}
#stage03 .stage_tit{ background-color: #01627c;}
#stage04 .stage_tit{ background-color: #162845;}
#stage05 .stage_tit{ background-color: #162845;}
#stage06 .stage_tit{ background-color: #162845;}
#stage07 .stage_tit{ background-color: #162845;}
#stage08 .stage_tit{ background-color: #162845;}

.follow_history .road {
  width: calc(50% - 20px);
  padding: 20px 0;
  clear: both;
}
.follow_history .road:not(:first-child) {
  margin-top: -60px;
}
.follow_history .road .when{
	font-weight: bold;
	padding-bottom: 5px;
  margin-bottom: 10px;
  position: relative;
}
#stage01 .road .when{ color: #00a69a;}
#stage02 .road .when{ color: #1c92ad;}
#stage03 .road .when{ color: #01627c;}
#stage04 .road .when{ color: #162845;}

.follow_history .road .when::before {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  border: 7px solid;
  border-radius: 100%;
	bottom: -7px;
  z-index: 990;
}
#stage01 .road .when::before { border-color: #00a69a;}
#stage02 .road .when::before { border-color: #1c92ad;}
#stage03 .road .when::before { border-color: #01627c;}
#stage04 .road .when::before { border-color: #162845;}

.follow_history .road .when::after{
  content: '';
	position: absolute;
	bottom: 0;
	width: calc(100% + 30px);
	height: 1px;
	background-color: #c9c9c9;
}
.follow_history .road .historic_event .view_more{
	position: relative;
	height: 100%;
	background-color: #efefef;
}
.follow_history .road .historic_event .history_txt ul{
	padding-left: 18px;
	margin-bottom: 0;
}
.follow_history .road .historic_event .view_more a{
	display: block;
	/*padding-top: 56.25%;*/
	aspect-ratio: 3/2;
	position: relative;
	z-index: 0;
}
.follow_history .road .historic_event .view_more a:hover::after{
	content: 'view more';
	display: inline-block;
	width: 100%;
	text-align: center;
	position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
	color: #fff;
	z-index: 2;
}
.follow_history .road .historic_event .view_more a:hover::before{
	content: '';
	background-color: rgba( 0, 108, 84, .5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.follow_history .road .historic_event .view_more img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	object-fit: contain;
}
.follow_history .road .historic_event p {
  line-height: 1.4em;
}
/*右*/
.follow_history .road.right { float: right;}
.follow_history .road.right .when::before { left: -27px;}
.follow_history .road.right .when::after { left: -20px;}
/*左*/
.follow_history .road.left { float: left;}
.follow_history .road.left .when::before { right: -27px;}
.follow_history .road.left .when::after { right: -20px;}

/*ポップアップ内にはある写真（ページは非表示）*/
.follow_history .road .historic_event .view_none{
	display: none;
}

@media(min-width:768px) {
	.follow_history .stage_tit{ font-size: 1.3rem;}
	.follow_history .road .when{ font-size: 1.2rem;}
	.follow_history .road .historic_event{
		display: flex;
	}
	.follow_history .road .historic_event .history_txt{ flex: 1;}
	.follow_history .road .historic_event .view_more{
		width: 160px;
		margin-left: 10px;
	}
}
@media(max-width:767px) {
	.follow_history .stage_tit{ font-size: 1.2rem;}
	.follow_history .road .when{ font-size: 1.1rem;}
	.follow_history .road .historic_event .history_txt{
		font-size: .8rem;
		margin-bottom: 5px;
	}
	.follow_history .road .historic_event .view_more{ max-width: 160px;}
}

/*ポップアップ(lightbox)*/
#lightbox{
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	left: 50% !important;
  -webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #fff;
}
#lightbox .lb-outerContainer{
	order: 2;
	padding: 0; 
	border-radius: 0;
	position: relative;
	/*padding-top: 56.25%;*/
	aspect-ratio:3/2;
	width: 100% !important;
	height: 100% !important;
	background-color: #efefef;
}
#lightbox .lb-outerContainer{
	order: 1;
}
#lightbox .lb-details{
	width: 100%;
}
#lightbox .lb-image{
	border: none;
	position: absolute;
	width: 100% !important;
	height: 100% !important;
	top: 0;
	left: 0;
	object-fit: contain;
}
#lightbox .lb-caption{
	color: #000;
	font-weight: normal;
}
#lightbox .lb-caption .pop_tit{
	font-size: .9rem;
	margin-bottom: 15px;
	line-height: 1.5;
}
#lightbox .lb-caption .pop_tit span{
	font-size: 1.3rem;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}
#lightbox .lb-caption .pop_tit span.stage01{ color: #00a69a;}
#lightbox .lb-caption .pop_tit span.stage02{ color: #1c92ad;}
#lightbox .lb-caption .pop_tit span.stage03{ color: #01627c;}
#lightbox .lb-caption .pop_tit span.stage04{ color: #162845;}

#lightbox .lb-close{
	position: absolute;
	top: 0;
	right: 0;
	background-position: top 5px right 5px;
	background-color: #000;
	padding: 5px;
	width: 40px;
	height: 40px;
}
#lightbox .lb-caption .pop_cap{
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-bottom: 0;
	background-color: #fff;
	line-height: 1.5;
}
#lightbox .lb-number{
	position: absolute;
	top: 12px;
	right: 50px;
	padding-bottom: 0;
	text-align: right;
}
#lightbox .lb-nav a.lb-prev,
#lightbox .lb-nav a.lb-next{
	width: 45px;
	height: 45px;
	position: absolute;
	top: 50%;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: rgba(0, 108, 84, .8);
	background-size: 25px 25px;
	opacity: 1;
}
#lightbox .lb-nav a.lb-prev{
	background-position: top 8px left 5px;
	left: -10px;
}
#lightbox .lb-nav a.lb-next{
	background-position: top 8px right 5px;
	right: -10px;
}
#lightbox .lb-nav a.lb-prev:hover,
#lightbox .lb-nav a.lb-next:hover{ background-color: rgba(0, 108, 84, 1);}

@media(min-width:768px) {
	#lightbox{
		max-width: 900px;
		padding: 20px 20px 10px;
	}
	#lightbox .lb-caption .pop_cap{ padding: 0 20px 20px;}
}
@media(max-width:767px) {
	#lightbox{
		max-width: 90%;
		padding: 20px 10px 10px;
	}
	#lightbox .lb-caption .pop_cap{ padding: 0 10px 10px;}
}

/***********************************************************************
投稿系
*/

/*==========================
下層page
==========================*/
.whtbox{ background-color: #fff;}
.whtbox p:last-child,
.whtbox ul:last-child{ margin-bottom: 0;}
.flow{ margin-top: 40px;}
@media(min-width:768px){
	.whtbox{ padding: 40px;}
}
@media(max-width:767px){
	.whtbox{ padding: 20px 15px;}
	.whtbox .photobox img{ margin-top: 1rem;}
}

/*.flow {
	padding-top: 30px;
	padding-bottom: 30px;
	position: relative;
	list-style: none;
}
.flow::before {
	content: '';
	height: 100%;
	background: #eee;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
}
.flow > li {
	position: relative;
}
.flow > li:not(:last-child) {
	margin-bottom: 30px;
}
.flow > li .icon {
	font-weight: bold;
	color: #fff;
	background-color: #A71658;
	display: block;
	position: absolute;
	z-index: 100;
}
.flow > li .icon::after {
	content: '';
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #A71658;
	position: absolute;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.flow > li dl {
	position: relative;
}
.flow > li dl::before, .flow > li dl::after {
	content: '';
	display: block;
	position: absolute;
}
.flow > li dl::before {
	margin-top: -3px;
	background-color: #A71658;
	border-radius: 50%;
	z-index: 1;
}
.flow > li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
	top: 12px;
	z-index: 0;
}
.flow > li dl dt {
	font-size: 1.1rem;
	font-weight: bold;
	color: #A71658;
	margin-bottom: 10px;
}
.flow > li dl dd p {
	margin-bottom: 0;
}
.flow > li dl dd ul {
	padding-left: 20px;
	list-style: disc;
}
@media(min-width:768px) {
	.flow {
		padding-left: 120px;
	}
	.flow > li .icon {
		top: -8px;
		left: -120px;
		font-size: 1rem;
		padding: 8px 20px;
	}
	.flow::before {
		width: 30px;
		left: 120px;
	}
	.flow > li dl {
		padding-left: 70px;
	}
	.flow > li dl::before {
		width: 18px;
		height: 18px;
		top: 6px;
		left: -2px;
	}
}
@media(max-width:767px) {
	.flow {
		padding-left: 80px;
	}
	.flow > li .icon {
		top: -6px;
		left: -80px;
		font-size: .7rem;
		padding: 8px;
	}
	.flow::before {
		width: 4px;
		left: 85px;
	}
	.flow > li dl {
		padding-left: 15px;
	}
	.flow > li dl dt {
		font-size: .95rem;
	}
	.flow > li dl dd {
		font-size: .9rem;
	}
	.flow > li dl::before {
		width: 12px;
		height: 12px;
		top: 8px;
		left: -7px;
	}
	.flow > li dl::after {
		display: none;
	}
}*/

.event_list_body{
	width: calc(100% - 55px);
}
.cal_list{
	background-color: #fff;
	color: #006C54;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-weight: bold;
	font-size: 20px;
	width: 300px;
	height: 65px;
}
@media (max-width:575px){
	.cal_list{
		width: 100%;
		font-size: 16px;
		height: 50px;
	}
	.cal_list img{
		height: 30px;
	}
}
.cal_list img{
	display: inline-block;
	margin-right: 10px;
}
.cal_list:hover,.cal_list.active{
	background-color: #006C54;
	color: #fff;
}
.cal_list:not(:hover):not(.active) .onimg{
	display: none;
}
.cal_list.active .offimg,.cal_list:hover .offimg{
	display: none;
}

.mov_out iframe{
	width: 100%;
	aspect-ratio:16/9;
}
.qa_cat_list{
	background-color: #fff;
	padding: 40px 0;
}
.qa_cat_list ul{
	display: flex;
	margin-right: -5px;
	margin-left: -5px;
	margin-bottom: 0;
}
.qa_cat_list ul li{
	margin:0 5px;
}
.qa_cat_list ul li a{
	padding:0.25rem 1.5rem 0.25rem 0.25rem;
	background-image: url("img/qa_arrow.png");
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 17px 17px;
	text-decoration: none!important;
	color: #000;
}
.qa_cat_list ul li a:hover{
	background-color: #C7E5DE;
}
.accordion{
	border-radius: 0;
}
.accordion-item{
	border: none;
}
.accordion-button{
	font-size: 20px;
	padding-left: 60px;
	box-shadow: 0 0 0 0 transparent;
	border: none;
	border-radius: 0;
}
.accordion-button:not(.collapsed){
	background-color: #fff;
	color: #000;
}
.accordion-button:focus{
	border: none!important;
	box-shadow: 0 0 0 0 transparent;
}
.accordion-button::before{
	content: "";
	background-image: url("img/q.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 40px;
	height: 40px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}
.accordion-button::after{
	background-image: url("img/open.png");
	width: 24px;
	height: 24px;
}
.accordion-button:not(.collapsed)::after{
	background-image: url("img/close.png");
}
.accordion-body{
	border-top: 4px solid #efefef;
}
.accordion-body p:last-of-type{
	margin-bottom: 0;
}

.calender_out{background-color: #fff;}
.calender_out .table{
    table-layout: fixed;
    height: 100%;
}
.calender_out .table th,
.calender_out .table td,
.calender_out .table tr{
    border-color: #000;
}
.calender_out .table tbody td{
    height: 165px;
}
.day_area,.calender_out .table thead{font-size: 1.2em;}
@media (max-width:767px){
    .calender_out .table{font-size: 0.875rem;}
    .calender_out,.header_month{
        margin-left: -15px;
        margin-right: -15px;
    }
	.holiday_name{display: block;}
}
.header_month .prev a,.header_month .next a{
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid #fff;
    width: 30px;
    height: 30px;
    padding-top: 2px;
}
.header_month .prev a:hover,.header_month .next a:hover{
    opacity: 0.8;
}
@media (max-width:575px){
    .calender_out .table{font-size: 0.75rem;}
}
.calender_out .table thead td{
    border: none;
}
.calender_out .table thead tr{
    border-right: 1px solid #000;
    border-left: 1px solid #000;
    border-bottom: 4px solid #006C54;
}
.calender_out .table .sunday,.calender_out .table .holiday{color: #EA1C24}
.calender_out .table .saturday{color: #00A0CC}
.sch_item{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 2px 4px;
}
.calender_out .table .overlink{
    display: flex;
    justify-content: space-between;
    text-decoration: none;
}


#post_news{ background-color: #efefef;}

/*==========================
絞り込み
==========================*/
#post_search{ justify-content: flex-end;}
#post_search .selectwrap:not(:last-child){ margin-right: 5px;}
#post_search .selectwrap{ position: relative;}
#post_search .selectwrap::after {
  position: absolute;
  top: 50%;
  right: 3px;
  border-top: 2px solid #006c54;
  border-right: 2px solid #006c54;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  pointer-events: none;
  content: ''; 
  }
#post_search select{
  appearance: none;
  background-color: transparent; 
  border: none;
  cursor: pointer;
	padding:10px 15px 10px 5px;
}
#post_search select option:hover{
	background-color: #acd1c8;
}
#post_search select::-ms-expand {
  display: none;  /* IE 対応( select のデフォルト矢印を消す) */
}
@media(min-width:768px){
	#post_search .selectwrap::after {
		width: 7px;
		height: 7px;
	}
}
@media(max-width:767px){
	#post_search .selectwrap::after {
		width: 6px;
		height: 6px;
	}
}
@media(max-width:575px){
	#post_search .form-group{
	  display: -ms-flexbox;
    display: flex;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0;
	}
	#post_search .form-group .form-control{
	  display: inline-block;
    width: auto;
    vertical-align: middle;
		font-size: .85rem;
	}
}
#post_search button{
	background-color: transparent;
	color: inherit;
	text-decoration: none!important;
	border: none!important;
	padding-right: 1rem;
	box-shadow: none!important;
}
#post_search button::after{
	display: none;
}
#post_search ul{
	padding: 0;
	border-radius: 0;
	border: 1px solid #000;
	border-bottom: none;
}
#post_search ul li{
	padding: 0.25em 0.5em;
	border-bottom: 1px solid #000;
}
#post_search ul li a{
	text-decoration: none;
	display: block;
}
#post_search ul li:active{
	background-color: #e9ecef;
}
/*==========================
一覧
==========================*/
.list_tit{
	text-align: center;
	margin-bottom: 30px;
}
.postbox{
	background-color: #fff;
	margin-top: 20px;
}
.postbox dl,
.postbox dl dd{ margin-bottom: 0;}
.postbox dl dt{
	font-size: .9rem;
	font-weight: normal;
	margin-bottom: 10px;
}
.postbox dl dt span.category,.category{
	color: #fff;
	padding: 0 2px;
	width: 140px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	display: inline-block;
	margin-right: 10px;
}
.postbox dl dt span.category.univ,.category.univ{ background-color: #72aa56;}
.postbox dl dt span.category.foreign,.category.foreign{ background-color: #e95383;}
.postbox dl dt span.category.human,.category.human{ background-color: #b16633;}
.postbox dl dt span.category.business,.category.business{ background-color: #009360;}
.postbox dl dt span.category.graduate,.category.graduate{ background-color: #4653a2;}
.postbox dl dt span.category.health,.category.health{ background-color: #006cb7;}

@media(min-width:768px){
	.list_tit{ font-size: 1.8rem;}
	.postbox{ padding: 15px;}
}
@media(max-width:767px){
	.list_tit{ font-size: 1.3rem;}
	.postbox{ padding: 10px;}
}
.list_thumb{
	width: 256px;
	aspect-ratio: 16 / 9;
}
.list_thumb img{
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
.voice_item .list_thumb{
	width: 100%;
}
.voice_item .senpai_line {
	background-image: url("./img/voice_senpai_line.png");
	background-size: 322px 24px;
	background-position: top left;
	background-repeat: no-repeat;
	margin-top: 0.5rem;
	padding-top: 44px;
	padding-left: 0;
	padding-right: 0;
	overflow: hidden;
	margin-bottom: 0;
	position: relative;
	height: calc(3rem + 44px);
}
.voice_item .senpai_line::after {
	content: "";
	height: 2px;
	background-color: #63D6C8;
	width: 100%;
	position: absolute;
	top: 22px;
	left: 320px;
}
.voice_item .grad{
	font-size: 0.875rem;
}
.voice_item .name{
	font-size: 1.125rem;
}
.voice_item .kinmu{
	margin-top: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid #006C54;
	color: #006C54;
}
.voice_item a{
	background-color: #63D6C8;
	color: #fff;
	width: 100%;
	max-width: 256px;
	display: block;
	margin: 0 auto;
	position: relative;
}
.voice_item a::after{
	content: "";
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	right: 2rem;
}
.voice_item a:hover{
	background-color: #00A69A;
	color: #fff;
}
.btn_prev,.btn_next{
	background-color: #969696;
}
.btn_prev:hover,.btn_next:hover{
	background-color: #6D6D6D;
}
.voice_detail_detail{
	border-top: 2px solid #C9C9C9;
	padding-top: 1rem;
	padding-bottom: calc(1rem + 36px);
	padding-left: 1rem;
	padding-right: 1rem;
	position: relative;
	overflow: hidden;
	align-items: center;
}
.voice_detail_detail .grad{font-size: 1.25rem;}
.voice_detail_detail .name{font-size: 1.625rem;}
.voice_detail_detail::after{
	content: "";
	background-image: url("./img/voice_detail_namebottom.png");
	background-position: right bottom;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 566px;
	height: 36px;
}
.obj-out{
	width: 100%;
	aspect-ratio: 16/9;
}
.obj-out img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.database_table{table-layout: fixed;}
.database_table td,.database_table th{
	border: 1px solid #C9C9C9;
	padding: 0.5rem;
}
.database_table th{padding: 0;}
.database_table th a{
	background-color: #394970;
	color: #fff;
	display: block;
	padding: 0.5rem;
	text-decoration: none;
}
.database_table th a:hover{
	background-color: #4C6393;
}
.ex_btn{
	background-color: #00A69A;
	color: #fff!important;
	text-decoration: none!important;
	padding: 0.25rem 0.5rem
}
.ex_btn:hover{
	background-color: #008477;
}
/*==========================
ページネーション
==========================*/
.pagination{
	justify-content: center;
	align-items: center;
	margin: 40px 0 0;
}
.pagination .page-item{
	padding: 0 8px;
}
.pagination .page-item .page-link{
	background-color: transparent;
	padding: 0;
	color: #006c54;
	text-align: center;
}
.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link{
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #006c54;
  padding-bottom: 2px;
}
.pagination .page-item .page-link:not(.next):not(.prev){
	width: 30px;
	height: 30px;
	line-height: 30px;
	border-color: #006c54;
	border-radius: 50%;
}
.pagination .page-item.active .page-link{
	color: #fff;
	background-color: #006c54;
}
/*post
==========================*/
section#post_tab {
	background-color: #efefef;
}
#post_tab a{text-decoration: none!important}
#post_tab .nav-tabs li {
	width: 33.333333%;
	/*border-bottom: 1px solid #4d4d4d;*/
}
#post_tab .nav-tabs li:not(:last-child) {
	border-right: #fff 1px solid;
}
#post_tab .nav-tabs li a {
	position: relative;
	background-color: #fff;
	padding: 10px 3px;
	border-radius: 0;
	border: none;
	text-align: center;
}
#post_tab .nav-tabs li a.active::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: -3px;
	left: 0;
	width: 100%;
	border-top: #00658b 6px solid;
}
#post_tab .nav-tabs li a:not(.active) {
	color: #fff;
	background-color: #ababab;
}
#post_tab .tab-content {
	background-color: #fff;
}
#post_tab .tab-pane ul {
	padding-left: 0;
	list-style: none;
}
#post_tab .tab-pane > ul {
	margin-bottom: 40px;
}
#post_tab .tab-pane > ul > li {
	padding: 10px 5px;
	border-bottom: #4d4d4d 1px solid;
}
#post_tab .tab-pane .post_title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media(min-width:768px) {
	#post_tab .tab-content {
		padding: 30px 30px 40px;
	}
	#post_tab .tab-pane > ul > li > ul {
		display: flex;
	}
	#post_tab .tab-pane .post_date {
		width: 120px;
	}
	#post_tab .tab-pane .post_title {
		flex: 1;
	}
}
@media(max-width:767px) {
	#post_tab .nav-tabs li a {
		font-size: .75rem;
	}
	#post_tab .tab-content {
		padding: 15px 15px 40px;
	}
	#post_tab .tab-pane .post_date {
		font-size: .9rem;
	}
}