@charset "utf-8";

/* text */

.h_style02 {
	text-align:center;
	margin-bottom:20px;
}
.h_style02 p{
	display:inline-block;
	font-size:2.25rem;
	font-weight:bold;
	letter-spacing:0.1em;
}
.h_style02 span{
	font-size:1.25rem;
	font-weight:500;
	margin-left:25px;
}
@media screen and (max-width: 768px) {
	.h_style02 p{
		display:block;
		font-size:1.75rem;
		margin-bottom:5px;
	}
	.h_style02 span{
		font-size:1rem;
		margin-left:0;
	}
}
/* Link */

.text_link a,
a.text_link{
	position:relative;
	display:inline-block;
	padding-right:30px;
	color:#006699;
	font-size:1rem;
	font-weight:500;
	text-decoration:none;
	border-bottom: 1px solid;
}
.text_link a:after,
a.text_link:after{
	position:absolute;
	display:inline-block;
	content:"";
	width:8px;
	height:8px;
	border-top:2px solid #006699;
	border-right:2px solid #006699;
	top:0;
	bottom:0;
	margin:auto;
	right:5px;
	transform:rotate(45deg);
}
.text_link a:hover,
a.text_link:hover{
	border-color: transparent;
}
.block_link a,
a.block_link{
	display:block;
	transition: opacity 1s, background 1s, color 1s, border 1s;
}
.block_link a:hover,
a.block_link:hover{
	opacity: 0.7;
	text-decoration:none;
	transition: opacity 0.7s;
}

a:hover img.opacity{
	opacity: 0.7;
	text-decoration:none;
	transition: opacity 0.7s;
}
.common_btn{
	text-align:center;
	margin:20px auto 30px;
}
.common_btn a{
	display:block;
	max-width:250px;
	border-radius:50px;
	color:#fff;
	font-size:0.875rem;
	padding: 1.5em 3em 1.5em 2em;
	position:relative;
	text-decoration:none;
	margin:0 auto;
	background:var(--main_color);
	transition:transform .4s;
}
.common_btn a::before,
.common_btn a::after {
  content: "";
  position: absolute;
  z-index: 0;
  margin: auto;
  inset: 0 2em 0 auto;
  width: 16px;
  height: 2px;
  border-radius: 10px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1px) 50%;
  transform: rotate(27deg);
	transition: inset 0.3s;
}
.common_btn a::after{
  transform: rotate(-30deg);
}
.common_btn2 a{
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: left;
  max-width: 105px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
  min-height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #069;
  padding: 10px 30px 5px 0px;
  text-decoration: none;
  transition: background 0.3s;
  overflow: hidden;
}
.common_btn2 a::after{
	position:absolute;
	content:"＞";
	color: #069;
	font-size: 1em;
	width: 15px;
	height: 13px;
	background-size:cover;
	top: 0;
	bottom: 0;
	left: auto;
	right: 5px;
	margin:auto;
	transition: right 0.3s;
}
.common_btn2 a::before {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 100%;
  height: 1px;
  background: #006699;
  bottom: 0px;
  left: 0px;
  transform: scale(1, 1);
  transform-origin: left center;
  transition: transform 0.4s ease 0s;
}
@media (any-hover: hover) {
	.common_btn2 a:hover::before {
	  transform: scale(0, 1);
	  transform-origin: right center;
	}
}
@media (any-hover: hover) {
	.common_btn a:hover{
		transform:translateY(5px);
	}
	.common_btn a:hover::before,
	.common_btn a:hover::after{
		inset: 0 1.7em 0 auto;
	}
}
a.arrow_link,
.arrow_link a{
	position: relative;
	padding-left:14px;
}
a.arrow_link:before,
.arrow_link a:before{
    content: "";
    position: absolute;
    left: -1px;
    margin-top:-3px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-top: 2px solid #666;
    border-right: 2px solid #666;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and (max-width: 768px) {

}
/* image */
.scale_m { 
	max-width:100%;
	width:auto;
	height:auto;
}
.scale_all{	
	width:100%;
	height:auto;
}
@media screen and (max-width: 768px) {
	.scale {
		width:100%;
		height:auto;
	}
}

/* news_list */
.news_list{
	margin-bottom: 0.5em;
}
.news_list li{
	border-bottom:#efefef solid 1px;
}
.news_list li:first-of-type{
	border-top:#efefef solid 1px;
}
.news_list li a{
	position:relative;
	display: block;
	padding: 20px 10px 20px;
	color:#282828;
	transition:background .4s;
	text-decoration:none;
	font-weight: 500;
}
.news_list li a:hover{
	background:rgb(211 211 211 / 18%);
}
.news_list time{
	display: block;
	margin: 0 0 0.25em 0;
	font-size:1rem;
	font-weight:500;
	width:100px;
}
.news_list .tit{
	font-size:1rem;
}
@media screen and (max-width: 768px) {
	.news_list li a{
		align-items:center;
		padding: 5px 30px 5px 10px;
		min-height:50px;
	}
	.news_list li a:before{
		width:6px;
		height:6px;
		right:10px;
	}
	.news_list time{
		width:70px;
		margin-right:10px;
	}
	.news_list .tit{
		width:calc(100% - 80px);
		display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
	}
}
/*  GoogleMAP・動画埋め込み  */
.map_wrap iframe{
	width:100%;
}
#campus_map{
	height:390px;
	margin-bottom:20px;
}
.movie_wrap{
	position:relative;
	width:100%;
	padding-bottom:56.25%;
}
.movie_wrap iframe{
	width:100%;
	height:100% !important;
	position:absolute;
	top:0;
	left:0;
}
.movie_wrap2{
	width: 100%;
	height:  0;
	padding-bottom:  590px;
	overflow:hidden;
	position:  relative;
}
.movie_wrap2 iframe,
.movie_wrap2 video{
	min-width: 100%;
	min-height: 590px;
	height:  auto;
	position:  absolute;
	top: 0;
	bottom: 0;
	left:0;
	right:0;
	margin:  auto;
}
.calendar_wrap{
	position:relative;
	width:100%;
	padding-bottom: 75.2727272727%;
}
.calendar_wrap iframe{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
@media only screen and (max-width: 768px) {
	#campus_map {
	    margin: 0 15px;
	    box-sizing: border-box;
	    width: auto;
	    height: 320px;
	}
	.calendar_wrap{
		padding-bottom: 100%;
	}
}

/*  パンくずリスト  */
#pan ul{ margin:10px 0 40px;}
#pan li{ 
	display:inline;
	vertical-align:middle;
}
#pan li a,
#pan li span,
#pan li img{ 
	vertical-align:middle;
}
#pan ul li{
	padding: 0 0 0 10px;
	display:inline-block;
}
#pan ul li:before{
	content: "\003E";
	display:inline-block;
	margin-right:10px;
	vertical-align:middle;
}
#pan ul li:first-child:before{
	content: "";
	display:none;
	margin-right:0;
}
@media only screen and (max-width: 768px) {
	#pan ul{ margin:15px 0 25px; font-size:12px}
}

/*  ページャー  */
.pager_style{
	text-align:center;
	padding:30px 0 0 0;
}
.pager_style li{
	width:40px;
	border:1px solid #BBBBBB;
	background:#fff;
	display:inline-block;
	margin:0 0 10px 0;
}
.pager_style li:hover{
	background:#024384;
}
.pager_style li.on{
	background:#024384;
}
.pager_style li a{
	font-size:16px;
	text-decoration:none;
	display:block;
	padding:8px 0;
}
.pager_style li.on a{
	color:#fff;
}
.pager_style li a:hover{
	color:#fff;
}
.pager_style li.prev{
	margin:0 10px 0 0;
}
.pager_style li.next{
	margin:0 0 0 10px;
}
@media screen and (max-width: 768px) {
	.pager_style li{
		width: 30px;
	}
	.pager_style li a{
		font-size:12px;
		padding:6px 0;
	}
	.pager_style li.prev,
	.pager_style li.next{
		margin:0;
	}
}
.modal{
    display: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    z-index: 1000;
  }
.modal__bg{
	background: rgba(0, 0, 0, 0.8);
	width: 100%;
	height: 100vh;
	position: absolute;
	box-sizing: border-box;
	z-index: 99;
}
.modal__content{
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 50vw;
	height: 57.5vh;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	margin: auto;
	padding: 20px;
	box-sizing: border-box;
	position: absolute;
	z-index: 999;
}
.modal__content p{
	display: block;
	width: 100%;
	height: auto;
}
.js-modal-open{
	cursor: pointer;
}
.close_btn{
	display: inline-block;
	font-size: 70px;
	color: #fff;
	text-decoration: none;
	position: absolute;
	top: 0;
	right: 5%;
	cursor: pointer;
	z-index: 999;
}
.close_btn:hover{
	text-decoration:none;
	opacity:0.8;
}
@media screen and (max-width: 768px) {
	.modal__content{
		width: 100vw;
		height: 61vw;
	}
	.close_btn{
		font-size: 40px;
	}
}