@charset "UTF-8";


/*--------------------------- 
　　　メインビジュアル
--------------------------- */
#main-visual {
	position: relative;
	width: 100vw;
	height: auto;
	min-height: auto;
	box-sizing: border-box;
	overflow: hidden;
	text-align: center;
	margin-top: 120px;
}
.main-visual {
	position: relative;
	background: url("../img/top/main02.jpg") center / cover no-repeat;
	width: 100%;
	height: 100%;
	text-align: center;
}
.main-visual .container {
	position: relative;
	height: 100%;
}
.main-visual .banner_main {
	position: absolute;
	left: 50%;
	bottom: 100px;
	transform: translateX(-50%);
	width: 100%;
	max-width: 670px;
}
.main-visual .banner_main .img_link a {
	display: block;
}
.main-visual .banner_main .img_link a:hover {
	opacity: .6;
}
.main-visual .banner_main .text_link {
	background-color: #fff;
	padding: 5px 7px 7px;
	box-sizing: border-box;
	width: 100%;
}
.main-visual .banner_main .text_link .sp{
	display: none!important;
}
.main-visual .banner_main .text_link .pc{
	display: inline-block!important;
}
.main-visual .banner_main .text_link a {
	text-decoration: underline;
}
.main-visual .banner_main .text_link a:hover {
	text-decoration: none;
	opacity: .6;
}
#bg-video_pc {
	display: block!important;
	background-attachment: fixed; 
	background-position: center center; 
	background-size: cover; 
	width: 100%;
	height: auto;
	z-index: 1;
}

@media (max-width: 550px){
	
}

@media (max-width: 840px){
	#main-visual {
		height: auto;
		margin-top: 60px;
	}
	#bg-video_pc {display: block!important;}
	.main-visual .banner_main {
		bottom: 50px;
	}
	.main-visual .banner_main .text_link a {
		display: block;
	}
	.main-visual .banner_main .text_link .sp{
		display: inline-block!important;
	}
	.main-visual .banner_main .text_link .pc{
		display: none!important;
	}
}
@media (min-width: 840px) {
	.main-visual .banner_main {
		max-width: 550px;
	}
	.main-visual .banner_main .text_link a {
		margin-left: 10px;
	}
}
@media (min-width: 1000px) {
	.main-visual .banner_main {
		max-width: 670px;
	}
}
/*--------------------------- 
掲示板・講堂朝礼・コース情報
--------------------------- */
#conA,
#Messeages{
	position: relative;
	margin-top: -50px;
	z-index: 10;
}
#conA .container,
#Messeages .container{
	box-sizing: border-box;
}
#conA .deco {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 50px;
}
#conA .deco img {
	margin: 0 auto;
}

.t-news .title h2{
	font-size: 2.4rem;
	font-weight: 400;
	letter-spacing: 0.2em;
}
.t-news .title p{
	font-size: 1.2rem;
	color: #1790b7;
}
#conA .news1,
#Messeages .news1,
#conF .news1{
	margin: 30px 0;
}
#conA .news1 li a,
#Messeages .news1 li a,
#conF .news1 li a{
	display: block;
	padding: 15px 0;
	font-size: 1.6rem;
}
#conA .news1 li a .image,
#Messeages .news1 li a .image,
#conF .news1 li a .image{
	position: relative;
	width: 100%;
	padding-top: 70%;
	overflow: hidden;
}
#conA .news1 li a .image img,
#Messeages .news1 li a .image img,
#conF .news1 li a .image img{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: 100%;
}
#conA .news1 li a .text,
#Messeages .news1 li a .text,
#conF .news1 li a .text{
	margin-top: 10px;
}
#conA .news1 li a:hover,
#Messeages .news1 li a:hover,
#conF .news1 li a:hover{
	opacity: .6;
}


.news_time {
	display: block;
	color: #1790b7;
	font-size: 1.2rem;
}
.news_more {
	width: 100%;
	max-width: 250px;
	margin: 0 auto;
	border: solid 1px #1790b7;
	font-size: 1.6rem;
	text-align: center;	
}
.news_more a {
	display: block;
	padding: 10px 0;
	color: #1790b7;
}
.news_more a:hover {
	background-color: #1790b7;
	color: #fff;
}

/*--　重要なお知らせ　-- */
#conA .important {
	margin-bottom: 50px;
}
#conA .important .news1{
	margin: 20px 0 0;
}
#conA .important .news1 li {
	width: 100%;
}
.important .container {
	border-radius: 10px;
	background-color: #fff;
	padding: 30px;
	box-sizing: border-box;
	border: solid 3px red;
}
.important .title h2{
	display: block;
	text-align: center;
	color: red;
}
.important_text {
	font-size: 1.6rem;
}

#conF {
	margin-top: 50px;
}
#conF .container {
	position: relative;
	border: solid 4px #1790b7;
	box-sizing: border-box;
	border-radius: 115px;
	background-color: #fff;
}
#conF .container::before {
	content: "";
	position: absolute;
	top: -4px;
	left: -4px;
	width: 117px;
	height: 117px;
	background: url("../img/top/information_deco.png") center / contain no-repeat;
	z-index: 2;
}
#conF .container::after {
	content: "";
	position: absolute;
	top: -4px;
	right: -4px;
	width: 117px;
	height: 117px;
	background: url("../img/top/information_deco.png") center / contain no-repeat;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	z-index: 2;
}
#conF .t-news {
	position: relative;
	margin-bottom: 0;
	background-color: transparent;
}
#conF .t-news::before {
	content: "";
	position: absolute;
	bottom: -4px;
	left: -4px;
	width: 117px;
	height: 117px;
	background: url("../img/top/information_deco.png") center / contain no-repeat;
	transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	z-index: 2;
}
#conF .t-news::after {
	content: "";
	position: absolute;
	right: -4px;
	bottom: -4px;
	width: 117px;
	height: 117px;
	background: url("../img/top/information_deco.png") center / contain no-repeat;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	z-index: 2;
}
#conF .title {
	position: relative;
	z-index: 3;
	text-align: center;
}

#conF .news_more {
	position: relative;
	z-index: 3;
}
@media (min-width: 840px){
	#conA .news1,
	#conF .news1{
		display: flex;
		justify-content: space-between;
	}
	#conA .news1 li,
	#conF .news1 li{
		width: 31%;
	}
	.t-news {
		padding: 35px 45px;
		box-sizing: border-box;
		background-color: #fff;
		margin-bottom: 50px;
	}
	.t-news .title {
		padding-bottom: 10px;
		border-bottom: solid 1px #1790b7;
		align-items: center;
	}
	.t-news .title h2 {
		display: inline-block;
	}
	.t-news .title p {
		display: inline-block;
	}
	#conF .title h2 {display: block;}
	
	.news_time {
		margin-right: 10px;
	}
	#conA .important .container {
		display: block;
	}
	
}
@media (max-width: 840px){
	.youtube {
		width: 100%;
		min-width: 270px;
		right: 0;
		bottom: 40px;
	}
	#conA {
		margin-top: -30px;
	}
	#conA .deco {
		padding-bottom: 30px;
	}
	#conA .news1 li{
		margin-bottom: 30px;
	}
	
	.t-news {
		margin-bottom: 30px;
		padding: 30px;
		box-sizing: border-box;
		background-color: #fff;
	}
	.t-news .title {
		text-align: center;
	}
	.t-news .title h2{
		padding-bottom: 8px;
		font-size: 2.2rem;
		font-weight: 400;
		border-bottom: solid 1px #1790b7;
	}
	.t-news .title p{
		margin-top: 8px;
		font-size: 1.0rem;
	}
	.important {
		margin-bottom: 30px;
	}
	.important .title h2 {
		font-size: 7vw;
	}
	#conF .container {
		border-radius: 55px;
		border: solid 2px #1790b7;
	}
	#conF .container::before {
		width: 58px;
		height: 58px;
		top: -2px;
		left: -2px;
	}
	#conF .container::after {
		width: 58px;
		height: 58px;
		top: -2px;
		right: -2px;
	}
	#conF .t-news::before {
		width: 58px;
		height: 58px;
		bottom: -2px;
		left: -2px;
	}
	#conF .t-news::after {
		width: 58px;
		height: 58px;
		bottom: -2px;
		right: -2px;
	}
}

/*--------------------------- 
　　　学校案内動画
--------------------------- */
#youtube {
	position: relative;
	margin-bottom: 50px;
	background: url("../img/top/kaisei_youtube.jpg") center / cover no-repeat;
	transition: .6s ease;
	overflow: hidden;
	cursor: pointer;
}
#youtube:hover .hover-mask {
	transform: translateX(0);
}
#youtube .hover-mask {
	position: absolute;
	background-color: rgba(255,255,255,0.2);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateX(-100%);
	transition: .3s ease;
}

.kaisei-youtube {
	position: relative;
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	height: 300px;
	overflow: hidden;
}
#youtube a {
	display: block;
	width: 100%;
	height: 100%;
	/*font-family: 'Noto Serif JP', serif;*/
}
.kaisei-youtube a img {
	position: absolute;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.kaisei-youtube-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	display: block;
	width: 100%;
	max-width: 380px;
	text-align: center;
	background-color: rgba(255,255,255,0.8);
	padding: 7px 0;
	
	color: #000;
}
.kaisei-youtube-text h2 {
	font-weight: 500;
	font-size: 2.2rem;
}
.kaisei-youtube-text p {
	font-size: 1.6rem;
	margin-left: 0.1em;
}
@media (max-width: 840px){
	.kaisei-youtube-text h2 span {
		display: block;
	}
}
/*--------------------------- 
　　　お知らせ・コース情報・生徒会・部活動　タブ 
--------------------------- */
#course,
#student,
#notices{
	overflow: hidden;
}

#notices{
	position: relative;
	z-index: 10;
	}

#student {
	margin-top: 50px;
}
#course .t-news,
#student .t-news,
#notices .t-news{
	width: 100%;
}
#student .t-news {
	margin-bottom: 0;
}
#course .container_course,
#student .container_course,
#notices .container_notices{
	width: 100%;
}
@media (min-width: 840px){
	#course .container_course,
	#student .container_course,
	#notices .container_notices{
		width: 90%;
		max-width: 1050px;
		margin: 0 auto;
	}
}
#course .tab-area,
#student .tab-area2,
#notices .tab-area3{
	display: flex;
	justify-content: space-between;
	background-color: #d7d7d7;
	margin-top: 20px;
	padding: 5px 5px 0;
	box-sizing: border-box;
	cursor: pointer;
	border-radius: 5px 5px 0 0;
}

#course .tab,
#student .tab2,
#notices .tab{
    width: 25%;
    padding: 10px 5px;
	box-sizing: border-box;
    line-height: 1.5;
	margin: 3px 3px 0;
    text-align: center;
    color: #fff;
	font-size: 1.4rem;
	border-radius: 5px 5px 0 0;
	transition: .6s ease;
	background-color: #808080;
}

#course .tab {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
}

@media (max-width: 840px) {
	#course .tab-area {
		justify-content: flex-start;
		overflow: auto;
	}
	#course .tab {
		padding: 10px 2px;
		font-size: 1.1rem;
	}
}
@media (max-width: 550px) {
	#course .tab-area {

	}
	#course .tab {
		flex-shrink: 0;
		width: 70px;
	}
}

#student .tab2 {
	width: 33%;
}
#course .tab:hover,
#student .tab2:hover,
#notices .tab:hover,{
	background-color: #fff;
	color: #000;
}
/*コース*/
#course .tab_advance-sp:hover {
	color: #3071b6;/*青*/
}
#course .tab_advance:hover {
	color: #ee8237;/*オレンジ*/
}
#course .tab_abroad:hover {
	color: #8f5d98;/*紫*/
}
#course .tab_children:hover {
	color: #e75387;/*ピンク*/
}
/*生徒会・部活動*/
#student .tab_student:hover {
	color: #3071b6;/*青*/
}
#student .tab_club-activities:hover {
	color: #ee8237;/*オレンジ*/
}
/*コース*/
#course .tab_advance-sp {
	background-color: #3071b6;/*青*/
}
#course .tab_advance {
	background-color: #ee8237;/*オレンジ*/
}
#course .tab_abroad {
	background-color: #8f5d98;/*紫*/
}
#course .tab_children {
	background-color: #ee8237;/*オレンジ*/
}
#course .tab_bright {
	background-color: #e75387;/*ピンク*/
}
/*生徒会・部活動*/
#student .tab_student {
	background-color: #3071b6;/*青*/
}
#student .tab_club-activities {
	background-color: #ee8237;/*オレンジ*/
}
#course .tab.active,
#student .tab2.active2{
    background-color: #fff;
    color: #222e3e;
}
/*コース*/
#course .tab_advance-sp.active {
	color: #3071b6;/*青*/
}
#course .tab_advance.active {
	color: #ee8237;/*オレンジ*/
}
#course .tab_abroad.active {
	color: #8f5d98;/*紫*/
}
#course .tab_children.active {
	color: #e75387;/*ピンク*/
}
/*生徒会・部活動*/
#student .tab_student.active2 {
	color: #3071b6;/*青*/
}
#student .tab_club-activities.active2 {
	color: #ee8237;/*オレンジ*/
}
#course .content,
#student .content2,
#notices .content{
    display: none;
  }
#course .content.show,
#student .content2.show2,
#notices .content.show{
    margin-top: 20px;
    display: block;
  }

#course .news1,
#student .news1,
#notices .news1{
	margin: 30px 0;
}
#course .news1 li a,
#student .news1 li a,
#notices .news1 li a{
	display: block;
}
#course .news1 li a:hover,
#student .news1 li a:hover,
#notices .news1 li a:hover{
	opacity: .6;
}
/*カテゴリ*/
#course .news1 .cat,
#student .news1 .cat,
#notices .news1 .cat{
	display: inline-block;
	font-size: 1.4rem;
	color: #fff;
	padding: 3px 15px;
	border-radius: 5px;
	margin: 5px 0;
	box-sizing: border-box;
	white-space: nowrap;
}
.news_list .cat {
	display: inline-block;
	font-size: 1.2rem;
	color: #fff;
	padding: 3px 15px;
	border-radius: 5px;
	margin: 5px 0;
	box-sizing: border-box;
	white-space: nowrap;
}
.news1 .advance-sp-news {
	background-color: #3071b6;/*青*/
}
.news1 .advance-news {
	background-color: #ee8237;/*オレンジ*/
}
.news1 .abroad-news {
	background-color: #8f5d98;/*紫*/
}
.news1 .children-news {
	background-color: #ee8237;/*オレンジ*/
}
.news1 .bright {
	background-color: #e75387;/*ピンク*/
}
.news1 .student {
	background-color: #3071b6;/*青*/
}
.news1 .club-activities {
	background-color: #ee8237;/*オレンジ*/
}
.news_list .advance-sp-news {
	background-color: #3071b6;/*青*/
}
.news_list .advance-news {
	background-color: #ee8237;/*オレンジ*/
}
.news_list .abroad-news {
	background-color: #8f5d98;/*紫*/
}
.news_list .children-news {
	background-color: #e75387;/*ピンク*/
}

#course .news1 li a,
#student .news1 li a,
#notices .news1 li a{
	padding: 15px 0;
	font-size: 1.6rem;
}
#course .news1 li a .image,
#notices .news1 li a .image,
#student .news1 li a .image{
	position: relative;
	width: 100%;
	padding-top: 70%;
	overflow: hidden;
}
#course .news1 li a .image img,
#student .news1 li a .image img,
#notices .news1 li a .image img{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: 100%;
}
#course .news1 li a .text,
#student .news1 li a .text,
#notices .news1 li a .text{
	margin-top: 10px;
}

#course .news1 li a:hover,
#student .news1 li a:hover,
#notices .news1 li a:hover{
	opacity: .6;
}
@media (min-width: 840px){
	#course .news1,
	#student .news1,
	#notices .news1{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#course .news1::after,
	#student .news1::after,
	#notices .news1::after{
		content: "";
		display: block;
		width: 31%;
	}
	#course .news1 li,
	#student .news1 li,
	#notices .news1 li{
		width: 31%;
	}
	
}
@media (max-width: 840px){
	.tab,
	.tab2{
		padding: 8px 3px;
		margin: 3px 3px 0;
		font-size: 1.2rem;
	}
	.tab span,
	.tab2 span{
		display: block;
	}
	#course .news1 li,
	#student .news1 li,
	#notices .news1 li{
		margin-bottom: 30px;
	}
	#course .t-news,
	#student .t-news,
	#notices .t-news{
		padding: 25px 10px;
	}
}

/* コースの色 */
.course-blue {
	background-color: #3071b6;
}
.course-orange {
	background-color: #ee8237;
}
.course-purple {
	background-color: #8f5d98;
}
.course-pink {
	background-color: #e75387;
}


/*--------------------------- 
　　　海星の英語
--------------------------- */

#conB {
	margin-bottom: 50px;
}
#conB .container{
	position: relative;
	overflow: hidden;
}

.kaisei-english {
	position: relative;
	display: flex;
	box-sizing: border-box;
	background: url("../img/top/kaisei_english.jpg") center / cover no-repeat;
	transition: .6s ease;
	justify-content: center;
	align-items: center;
	height: 300px;
}
.kaisei-english::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
}

#conB .container:hover .kaisei-english{
	transform: scale(1.1);
}

#conB a .border-line {
	position: absolute;
	top: 0;
	left: 0;
	border: solid 1px #fff;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
.kaisei-english-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	display: block;
	width: 90%;
	text-align: center;
}
.kaisei-english-text p {
	color: #fff;
	margin-left: 0.1em;
}
#conB h2 {
	color: #1790b7;
	color: #fff;
	font-weight: 400;
	font-size: 3.0rem;
	border-bottom: solid 2px #fff;
	margin-bottom: 3px;
	padding-bottom: 1px;
	margin-left: 0.1em;
}
#conB h2::after {
	content: "";
	position: absolute;
	top: 56%;
	left: 50%;
	
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	background-color: #fff;
}
@media (max-width: 550px){
	.kaisei-english a {
		padding: 10px;
	}
	#conB h2 {
		font-size: 2.5rem;
	}
	#conB h2::after {
		top: 53%;
		left: 48%;
	}
	.kaisei-english-text p {
		font-size: 1.6rem;
	}
}
@media (max-width: 840px) {
	.kaisei-english {
		height: 200px;

	}
	#conB h2 {
		font-weight: 300;
	}
}


/*-------------------------------------------------  
　　　部活動情報・受験生へのお知らせ
------------------------------------------------- */

#conC .slider {
	
}
#conC .slider-list {
	display: flex;
}
#conC .box_pc {
	border: solid 2px #fff;
	box-sizing: border-box;
	height: 100%;
}

#conC .slider-list .image {
	position: relative;
}
#conC .slider-list .title {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	padding: 25px 0;
	font-size: 2.0rem;
	background-color: rgba(255,255,255,0.8);
}
#conC .slider-list .text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: rgba(255,255,255,0.8);
	padding: 15px;
	box-sizing: border-box;
	font-size: 1.6rem;
	min-height: 280px;
}
.news2 {
	padding-bottom: 5px;
}
.news2 li {
	margin-bottom: 10px;
}
.news2 li a {
	display: block;
	outline: none;
}
.news2 li a:hover {
	opacity: .6;
}
#conC .news_more {
	width: 100%;
	max-width: 200px;
}
#conC .news_more a {
	outline: none;
}

@media (max-width: 840px) {
	#conC {
		padding-bottom: 20px;
	}
	#conC .slider {
		padding: 0 20px;
		box-sizing: border-box;
	}
	#conC .slider-list .title {
		font-size: 2.0rem;
		padding: 15px 0;
	}
	
}
@media (min-width: 840px) {
	#conC .container {
		width: 93%;
		max-width: 1080px;
	}
	#conC .box_pc{
		margin: 0 15px;
	}
}
@media (min-width: 1000px) {
	#conC .slider-list .text {
		min-height: 255px;
	}
}

/*--------------------------- 
　　　リンク
--------------------------- */

#conD {
	margin-top: 50px;
}
#conD .link {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1050px;
	margin: 0 auto;
}
#conD .link li{
	width: 24%;
	transition: .6s ease;
	cursor: pointer;
	padding: 0;
}

#conD .link a:hover {
	opacity: .6;
}

@media (min-width: 1000px){
	#conD .link {
		justify-content: center;
	}
	#conD .link li{
		padding: 0 15px;
	}
}
@media (max-width: 1000px) {
	#conD .link li {
		width: 48%;
	}
	#conD .link li:not(:last-child) {
		margin-bottom: 20px;
	}
}
@media (max-width: 500px) {
	#conD .link li {
		width: 100%;
	}
}

/*--------------------------- 
　　　パンフレット
--------------------------- */
#conE {
	position: relative;
	width: 100%;
	height: 200px;
	margin: 50px 0 0;
}
#conE {
		background: url("../img/top/pamphlet_bg.jpg") center / cover no-repeat fixed;
	}

.pamphlet {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
	cursor: pointer;
	transition: .6s ease;
	width: 80%;
	max-width: 384px;
	text-align: center;
}
.pamphlet:hover {
	opacity: .6;
}
@media (max-width: 840px){
	#conE{
		overflow: hidden;
	}
	.fixed_bg {
		background: url("../img/top/pamphlet_bg.jpg") 0 0 no-repeat;
		width: 100%;
		height: 0;
		/* (画像の高さ / 画像の横幅) × 100 */
		padding-top:70%;
		background-size: cover;
	}	
}
@media (min-width: 840px){
	
}

/*--------------------------- 
　　　ページ共通
--------------------------- */
.page-head {
	width: 100%;
	height: 120px;
	background-color: #1790b7;
}
.page-title {
	display: flex;
	text-align: center;
	height: 200px;
	/*background: url("../img/common/title_bg.jpg") center / cover repeat-x;*/
	background-color: #3a4666;
	align-items: center;
}
.page-title h1 {
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.2em;
	margin-left: -0.2em;
	font-size: 2.2rem;
}
.contents-link {
	display: flex;
	align-items: center;
	height: 80px;
}
.contents-link ul {
	display: flex;
	justify-content: center;
}
.contents-link ul li:not(:last-child) {
	border-right: solid 1px #fff;
	padding-right: 10px;
	box-sizing: border-box;
}
.contents-link ul li:not(:first-child) {
	padding-left: 10px;
}
.contents-link ul li a {
	display: block;
	padding: 10px 20px;
	box-sizing: border-box;
	font-size: 1.6rem;
}
.contents-link ul li a:hover {
	color: #1790b7;
	background-color: rgba(255,255,255,0.3);
	border-radius: 5px;
}
.contents-mg {
	margin-top: 80px;
}
.contents_box h2 {
	font-size: 2.2rem;
	text-align: center;
	font-weight: 400;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: solid 1px #1790b7;
	letter-spacing: 0.2em;
}
.contents_box h3 {
	font-size: 1.2rem;
	text-align: center;
	font-weight: 400;
	color: #1790b7;
}
.contents_box .container {
	background-color: #fff;
	padding: 50px 0 70px;
}
.contents_box .contents_title {
	width: 90%;
	max-width: 370px;
	margin: 0 auto;
	margin-bottom: 50px;
}
.contents_body {
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
}
.contents_body h2 {
	margin-bottom: 10px;
	text-align: left;
	color: #1790b7;
	border-bottom: solid 1px #b9d9e9;
}
.contents_body h3 {
	text-align: left;
	color: #000;
	font-size: 1.8rem;
	margin-top: 20px;
}
.contents_body h4 {
	font-size: 1.8rem;
	margin-top: 20px;
	font-weight: 400;
}

.contents_body p {
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 2.5;
	margin-top: 20px;
	margin-bottom: 5px;
	text-align: justify;
	text-justify: inter-ideograph;
}
.contents_body a {
	color: #1790b7;
	border-bottom: solid 1px #1790b7;
}
.contents_body a:hover {
	opacity: .6;
}
.contents_body figure {
	margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
	margin-top: 20px;
}
.contents_body table {
	font-size: 1.3rem;
}
.contents {
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
}
.contents p {
	font-size: 1.3rem;
	letter-spacing: 0.03em;
	line-height: 2.5;
}
.contents .blue {
	color: #1790b7;
}
@media (max-width: 840px){
	.page-head {
		height: 60px;
	}
	.page-title {
		height: 100px;
	}
	.page-title h1 {
		font-size: 1.8rem;
	}
	.contents_box .container {
		padding: 40px 0;
	}
	.contents-link {
		height: 40px;
	}
	.contents-mg {
		margin-top: 40px;
	}
	.contents_box h2 {
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}
	.contents_body h3 {
		font-size: 1.6rem;
	}
	.contents_body h4 {
		font-size: 1.6rem;
		}
	.contents_body iframe {
		height: 300px;
	}
}
@media (min-width: 840px){
	.contents_box .contents_title {
		max-width: 400px;
	}
	
}

/*--------------------------- 
　　　記事一覧
--------------------------- */
.news_list {
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
}
.news_list li {
	border-bottom: solid 1px #ddd;
	padding-bottom: 20px;
}
.news_list li a{
	display: flex;
	font-size: 1.3rem;
	justify-content: space-between;
	align-items: center;
}
.news_list li a:hover {
	opacity: .6;
}
.news_list li:not(:last-child) {
	margin-bottom: 20px;
}

.news_list li a .image {
	position: relative;
	width: 30%;
	padding-top: 25%;
	overflow: hidden;
}
.news_list li a .image img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: 100%;
}
.news_list li a .text {
	width: 65%;
}
.news_list li a .text p {
	font-size: 1.6rem;
}
/*コース情報一覧の下の紹介へのリンク*/
.course_detail_link {
	width: 90%;
	max-width: 350px;
	margin: 30px auto 0;
	text-align: center;
	
}
.course_detail_link a {
	display: block;
	color: #fff;
	padding: 20px;
	box-sizing: border-box;
	border-radius: 5px;
}
.course_detail_link a:hover {
	opacity: .6;
}

/*ページナビ*/

.wp-pagenavi {
	display: flex;
	justify-content: center;
}

.wp-pagenavi a　{
	width: 40px;
	height: 40px;
	padding: 0;
}
.wp-pagenavi .current {
	display: block;
	width: 40px;
	margin: 0 5px;
	padding: 8px 0;
	border-radius: 5px;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	font-weight: normal;
	text-align: center;
	background-color: #b9d9e9;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi .extend {
	margin-left: 0px;
	border: none;
}
.wp-pagenavi .first {
	display: block;
	width: 40px;
	margin: 0 5px;
	padding: 8px 0;
	border-radius: 5px;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	background-color: #1790b7;
}
.wp-pagenavi .last {
	display: block;
	width: 40px;
	margin: 0 5px;
	padding: 8px 0;
	border-radius: 5px;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	background-color: #1790b7;
}
.wp-pagenavi .page {
	display: block;
	width: 40px;
	margin: 0 5px;
	padding: 8px 0;
	border-radius: 5px;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	background-color: #1790b7;
}
.wp-pagenavi .page:hover {
	opacity: .6;
} 
.wp-pagenavi .nextpostslink {
	display: block;
	width: 40px;
	margin: 0 5px;
	padding: 8px 0;
	border-radius: 5px;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	background-color: #1790b7;
}
.wp-pagenavi .previouspostslink {
	display: block;
	width: 40px;
	margin: 0 5px;
	padding: 8px 0;
	border-radius: 5px;
	border: none;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 300;
	text-align: center;
	background-color: #1790b7;
}
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover{
	opacity: .6;
}
@media (max-width: 840px){
	
}

/*--------------------------- 
　　　記事詳細
--------------------------- */
.article {
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
}
.article h2 {
	font-size: 1.8rem;
	text-align: left;
	border-left: solid 5px #b9d9e9;
	border-bottom: solid 1px #b9d9e9;
	padding: 3px 0 3px 10px;
}
.article_body p{
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 2.5;
	margin-top: 20px;
}
.article_body a {
	color: #1790b7;
	border-bottom: solid 1px #1790b7;
}
.article_body a:hover {
	opacity: .6;
}
.article_img {
	margin-top: 20px;
	text-align: center;
}
.article_time {
	font-size: 1.3rem;
	text-align: right;
}
.article .post-links {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.article .post-link {
	width: 37%;
	font-size: 1.3rem;
	box-sizing: border-box;
	letter-spacing: 0.03em;
	text-align: center;
}
.article .post-link a {
	display: block;
	padding: 14px;
	background-color: #1790b7;
	border-radius: 5px;
	color: #fff;
}
.article .post-link a:hover {
	opacity: .6;
}
.article .post-link-home {
	width: 22%;
	font-size: 1.3rem;
	box-sizing: border-box;
	letter-spacing: 0.03em;
	text-align: center;
}
.article .post-link-home a {
	display: block;
	padding: 14px;
	background-color: #1790b7;
	border-radius: 5px;
	color: #fff;
}
.article .post-link-home a:hover {
	opacity: .6;
}
.article .post-link-prev a::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 5px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: rotate(-45deg);
}
.article .post-link-next a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 5px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(-45deg);
}
.wp-block-image figcaption {
	font-size: 1.3rem;
}
@media (max-width: 840px){
	.article .post-link {
		font-size: 1.0rem;
	}
	.article .post-link-home {
		font-size: 1.0rem;
	}
	.wp-block-image figcaption {
		font-size: 1.0rem;
	}
}
/*--------------------------- 
　　　学校生活/部活動紹介
--------------------------- */
.contents_body .club-sports {
	color: #fff;
	background-color: #0d62af;
	font-size: 2.2rem;
	border-top-left-radius: 15px;
	border-bottom-right-radius: 15px;
	padding: 5px 30px;
}
.contents_body .club-bunka {
	color: #fff;
	background-color: #4dad68;
	font-size: 2.2rem;
	border-top-left-radius: 15px;
	border-bottom-right-radius: 15px;
	padding: 5px 30px;
}
/*--------------------------- 
　　　入学・入試情報
--------------------------- */
/*入学・入試情報のリンク*/
.admission_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.admission_link li {
	width: 48%;
	margin-bottom: 15px;
}
.admission_link a{
	position: relative;
	display: block;
	background-color: #fff;
	border: solid 1px #1790b7;
	border-radius: 0px;
	padding: 10px;
	box-sizing: border-box;
	text-align: left;
}
.admission_link_blue a{
	position: relative;
	display: block;
	background-color: #1790b7;
	color: #fff;
	border-radius: 0px;
	padding: 10px;
	box-sizing: border-box;
	text-align: left;
}
.admission_link a:hover {
	background-color: #1790b7;
	color: #fff;
	opacity: 1;
}
.admission_link_blue a:hover {
	background-color: #fff;
	border: solid 1px #1790b7;
	color: #1790b7;
	opacity: 1;
}
.admission_link a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: solid 1px #1790b7;
	border-right: solid 1px #1790b7;
	transform: translatey(-50%) rotate(45deg);
}
.admission_link_blue a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: translatey(-50%) rotate(45deg);
}
.admission_link a:hover::after{
	border-top: solid 1px #1790b7;
	border-right: solid 1px #1790b7;
	transform: translatey(-50%) rotate(45deg);
}
.admission_link_blue a::after {
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	transform: translatey(-50%) rotate(45deg);
}
section table { width: 100%; border-collapse: collapse;}
.admission_table_test {
	margin-top: 20px;
	border: solid 1px #3a4666;
}
.admission_table_test th  { 
	width: 13%;
	 background: #1790b7;
	color: #fff;
	font-weight: 300;
	padding: 10px;
	border: solid 1px #3a4666;
	white-space: nowrap
}
.admission_table_test td  { 
	text-align: center;
	border: solid 1px #3a4666;
	padding: 10px;
}
.admission_table_test .left {
	text-align: left;
	padding: 10px;
}
.admission_table2 {
	margin-top: 20px;
	border: solid 1px #3a4666;
}
.admission_table2 th  { 
	width: 30%;
	 background: #1790b7;
	color: #fff;
	font-weight: 300;
	
	border: solid 1px #3a4666;
}
.admission_table2 td  { 
	text-align: center;
	border: solid 1px #3a4666;
	padding: 10px;
}
.admission_table {
	margin-top: 20px;
	border: solid 1px #3a4666;
}
.admission_table th  { 
	width: 13%;
	 background: #1790b7;
	color: #fff;
	font-weight: 300;
	padding: 10px;
	border: solid 1px #3a4666;
	white-space: nowrap
}
.admission_table td  { 
	text-align: center;
	border: solid 1px #3a4666;
	padding: 10px;
}
.admission_table .left {
	text-align: left;
	padding: 10px;
}
.admission_table2 {
	margin-top: 20px;
	border: solid 1px #3a4666;
}
.admission_table2 th  { 
	width: 30%;
	 background: #1790b7;
	color: #fff;
	font-weight: 300;
	
	border: solid 1px #3a4666;
}
.admission_table2 td  { 
	text-align: center;
	border: solid 1px #3a4666;
	padding: 10px;
}

@media only screen and (max-width: 840px) { 
	.admission_link li {
		width: 100%;
	}
	  .admission_table { 
		display: block; 
		width: 100%; 
		margin: 20px 0 5px;
	  }
	  .admission_table thead{ 
		display: block; 
		float: left;
		overflow-x:scroll;
	  }
	  .admission_table tbody{ 
		display: block; 
		width: auto; 
		overflow-x: auto; 
		white-space: nowrap;
	  }
	  .admission_table th{ 
		display: block;
		width:auto;
	  }
	  .admission_table tbody tr{ 
		display: inline-block; 
		margin: 0 -3px;
		  width: auto;
	  }
	  .admission_table td{ 
		display: block;
	  }
	  .admission_table tr span {
		display: block;
	  }
	.scrool-wrapper{
		overflow-x: auto;
  		white-space: nowrap;
	}

/*
  .admission_table_test { 
    display: block; 
    width: 100%; 
    margin: 20px 0 5px;
  }
  .admission_table_test thead{ 
    display: block; 
    float: left;
    overflow-x:scroll;
  }
  .admission_table_test tbody{ 
    display: block; 
    width: auto; 
    overflow-x: auto; 
    white-space: nowrap;
  }
  .admission_table_test th{ 
    display: block;
    width:auto;
  }
  .admission_table_test tbody tr{ 
    display: inline-block; 
    margin: 0 -3px;
	  width: auto;
  }
  .admission_table_test td{ 
    display: block;
  }
	.admission_table_test tr span {
		display: block;
	}
*/
}



.admission_text_table {
	margin-top: 20px;
	
}
.admission_text_table td {
	font-size: 1.6rem;
}
#admission h2 {
	position: relative;
	margin-top: 2.5em;
	padding: 0.7em 1em;
	box-sizing: border-box;
	background-color: rgba(185,217,233,0.5);
}
#admission h2::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 3px;
	height: 100%;
	background-color: #1790b7;
}
#admission .anchor {
	padding-top: 100px;
	margin-top: -100px;
}
.banner_web_application{
	margin-top: 20px;
}
#admission h3 {
	display: inline-block;
	background-color: #fff;
	border: solid 1px #1790b7;
	color: #1790b7;
	padding: 5px 10px;
	box-sizing: border-box;
}
#admission .box h4{
	display: inline-block;
	background-color: #1790b7;
	padding: 5px 15px;
	box-sizing: border-box;
	color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
#admission .box p {
	margin-top: 0px;
	padding: 10px;
	border: solid 1px #1790b7;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	box-sizing: border-box;
}
#admission .box p span {
	color: #1790b7;
}
#admission .number {
	color: #1790b7;
	font-size: 2.0rem;
	font-family: 'Noto Serif JP', serif;
	margin-right: 5px;
}
#admission p {
	line-height: 1.5;
	margin-bottom: 20px;
}
.web_application_attention{
	font-size: 1.2rem;
}
#admission .co_green {
	color: #6FBA2C;
	margin-bottom: -15px;
}
#admission .line_green {
	border-bottom: solid 1px #6FBA2C;
	padding: 5px 10px;
	box-sizing: border-box;
	background-color: rgba(111,186,44,0.2);
}
#admission .co_pink {
	color: #F092A4;
	margin-bottom: -15px;
}
#admission .line_pink {
	border-bottom: solid 1px #F092A4;
	padding: 5px 10px;
	box-sizing: border-box;
	background-color: rgba(240,146,164,0.2);
}
#admission .co_blue {
	color: #5A8DC7;
	margin-bottom: -15px;
}
#admission .line_blue {
	border-bottom: solid 1px #5A8DC7;
	padding: 5px 10px;
	box-sizing: border-box;
	background-color: rgba(90,141,199,0.2);
}
.jump_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
}
.jump_link li {
	width: 31%;
	margin-bottom: 20px;
}
.jump_link li a {
	position: relative;
	display: block;
	padding: 10px 10px;
	box-sizing: border-box;
	border: solid 1px #1790b7;
}
.jump_link li a::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 10px;
	width: 10px;
	height: 10px;
	border-top: solid 1px #1790b7;
	border-right: solid 1px #1790b7;
	transform: translateY(-50%) rotate(45deg);	
}
.exam_subject_wrapper{
	margin-top: 10px;
}
.exam_subject_wrapper dl{
	text-align: center;
	font-weight: 300;
	font-size: 1.3rem;
}
.exam_subject_wrapper dt{
	float: left;
	background-color: #1790b7;
	color: #fff;
	width: auto;
	padding: 10px 30px;
	border: solid 0.5px #3a4666;
}
.exam_subject_wrapper dd{
	text-align: center;
	padding: 10px;
	border: solid 0.5px #3a4666;
}
.al_border{
	border: solid 0.5px #3a4666;
}
.exam_subject_text p{
	margin-top: 10px !important;
}
@media (max-width: 840px) {
	.jump_link li {
		width: 48%;
	}
	#admission .anchor {
		padding-top: 40px;
		margin-top: -40px;
	}
	.banner_web_application{
		margin-top: 0px;
	}
}
@media (max-width: 500px) {
	.jump_link li {
		width: 100%;
	}
	.exam_subject_wrapper dl{
		font-size: 1.2rem;
	}
	.exam_subject_wrapper dt{
		padding: 7px;
	}
	.exam_subject_wrapper dd{
		padding: 7px;
	}
}
/*--------------------------- 
　　　お問い合わせ・資料請求
--------------------------- */
.contact_form {
	display: block;
	width: 100%;
	border-collapse: collapse;
	border: solid 1px #cacaca;
	text-align: left;
}
.contact_form tbody{
	display: block;
	width: 100%;
}
.contact_form tbody tr {
	display: flex;
	width: 100%;
}
.contact_form th {
	width: 35%;
	padding: 20px;
	font-size: 1.6rem;
	font-weight: 300;
	box-sizing: border-box;
	border: solid 1px #cacaca;
	color: #fff;
	background-color: #1790b7;
}
.contact_form td {
	width: 65%;
	padding: 20px;
	font-size: 1.6rem;
	font-weight: 300;
	box-sizing: border-box;
	border: solid 1px #cacaca;
}

.contact_form .required {
	background-color: #f5911e;
	border-radius: 3px;
	color: #fff;
	font-size: 1.0rem;
	font-weight: 300;
	margin-right: 10px;
	padding: 4px 4px;
}
.contact_form input[type="text"],
.contact_form input[type="email"]{
	border: solid 1px #cacaca;
	width: 100%;
	outline: none;
	padding: 5px;
	border-radius: 3px;
	box-sizing: border-box;
	font-size: 1.6rem;
}
.contact_form textarea {
	border: solid 1px #cacaca;
	width: 100%;
	outline: none;
	padding: 5px;
	border-radius: 3px;
	box-sizing: border-box;
	font-size: 1.6rem;
	resize: none;
}
.check {
	width: 90%;
	max-width: 700px;
	text-align: center;
	font-size: 1.3rem;
	margin: 0 auto;
}

/* 送信ボタン */
.submit {
	display: block;
	outline: none;
	width: 100%;
	height: 50px;
	max-width: 250px;
	margin: 0 auto;
	background: #1790b7;
	color: #fff;
	font-size: 1.6rem;
	border: none;
	transition: .6s;
	font-weight: 300;
	cursor: pointer;
}
.submit:hover {
	opacity: .6;
}
.submit_btn {
	margin-top: 20px;
}
/* iosの見た目を合わせる */
input[type="submit"] {
    -webkit-appearance: none;
}
.mw_wp_form_confirm .text {
	display: none;
}
.mw_wp_form_confirm .check {
	display: none;
}
.contact_form .type .mwform-checkbox-field {
	position: relative;
	display: block;
	margin-bottom: 10px;
}

.mw_wp_form .type .horizontal-item + .horizontal-item {
	margin-left: 0;
}

.application_form .horizontal-item + .horizontal-item {
	display: block;
	margin-left: 0;
}

@media (max-width: 840px) {
	.contact_form tbody tr {
		display: block;
	}
	.contact_form th,
	.contact_form td {
		display: block;
		width: 100%;
		padding: 10px;
	}
	.contact_form .mwform-radio-field {
		display: block;
	}
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 0;
	}
	
	
}
/*--------------------------- 
　　　ログイン画面
--------------------------- */

fieldset {
	width: 90%;
	max-width: 700px;
	background-color: #f5f5f5;
	margin: 20px auto 0;
	padding: 20px;
	box-sizing: border-box;
	border: solid 1px #e4e4e4;
	border-radius: 3px;
}
legend {
	display: none;
}
fieldset label {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 20px auto 0;
	font-size: 1.5rem;
}
fieldset .div_text {
	width: 100%;
	max-width: 400px;
	margin: 3px auto 0;
}
fieldset .div_text input[type="text"],
fieldset .div_text input[type="password"]{
	width: 100%;
	border: solid 1px #e4e4e4;
	border-radius: 3px;
	padding: 10px;
	box-sizing: border-box;
	font-size: 1.8rem;
}
fieldset #rememberme {
	display: none;
}
fieldset .button_div label {
	display: none;
}
fieldset .button_div input[type="submit"] {
	display: block;
	width: 100%;
	max-width: 200px;
	background-color: #1790b7;
	margin: 30px auto 20px;
	padding: 10px;
	box-sizing: border-box;
	color: #fff;
	border: none;
	border-radius: 3px;
	transition: .3s ease;
	cursor: pointer;
	font-size: 1.3rem;
}
fieldset .button_div input[type="submit"]:hover {
	opacity: .6;
}
.logout {
	display: block;
	width: 90%;
	max-width: 200px;
	padding: 10px;
	margin: 20px auto 0;
	box-sizing: border-box;
	background-color: #1790b7;
	font-size: 1.3rem;
	color: #fff;
	text-align: center;
}

/*--------------------------- 
　　　プライバシーポリシー
--------------------------- */

#privacy-policy span {
	color: #1790b7;
}

/* reCAPTCHA v3　表示位置 */
.grecaptcha-badge{
    margin-bottom: 90px;
}

/*--------------------------- 
　　　学校長写真サイズ
--------------------------- */
.principal-image_07{
	text-align: center;
}
.principal-image_07 img{
	width: 250px;
}

@media (min-width: 840px) {
	.principal-image_07{
		float: left;
		padding-right: 20px;
	}
}