/*------------------------------------------------------------
	共通レイアウト
------------------------------------------------------------*/

h3 {
	height: 30px;
	font-size: 1.5rem;
	line-height: 20px;
	padding: 0;
}

#categoryArea .ttlBox dl:before,
#categoryArea .ttlBox:after,
.bgDotArea .bgDotInner ul li a:before,
.bgDotArea .bgDotInner ul li a:after {
	content: '';
	-webkit-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

a.button {
	margin: 0 auto;
}

@media only screen and (min-width: 813px) {
	
	h3 {
		height: 36px;
		font-size: 2rem;
		line-height: 1;
		padding: 0;
		margin-bottom: 30px;
	}
	
	a.button {
		width: 300px;
	}
	
}

/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/

header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}

div#mainVisFrame {
	width: 92%;
	margin: 0 auto 10px;
	padding-top: 61px;
}

div#mainVisHolder {
	width: 100%;
	height: calc(100% - 20px);
	position: relative;
	overflow: hidden;
}

div.mainCopy {
	width: 100%;
	height: 180px;
	position: absolute;
	top: -60px;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 10;
}

div.mainCopy img {
	max-width: 260px;
	margin: 0 auto 20px;
}

div.mainCopy h1 {
	font-size: 1rem;
/* 	font-size: 1.2rem; 元のサイズ*/
	font-weight: 400;
	line-height: 2;
	color: #000;
	text-shadow: 0px 0px 8px #fff;
	position: relative; /*reset*/
	top: auto; /*reset*/
}

div#mainVis {
	background: url(../img/top/img_main_sp.jpg) center bottom no-repeat;
	background-size: cover;
	width: 100%;
	height: calc(100vh - 81px);
	position: relative;
}

/*ダウンスクロール*/
p.scroll {
	width: 80px;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0.2rem;
	color: #fff;
	text-align: center;
	display: inline-block;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-decoration: none;
	margin-left: -40px;
	position: absolute;
	bottom: 65px;
	left: 50%;
	z-index: 2;
}

p.scroll span {
	position: absolute;
	top: 25px;
	left: 50%;
	width: 16px;
	height: 16px;
	margin-left: -8px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 1.5s infinite;
	animation: sdb 1.5s infinite;
	box-sizing: border-box;
}

@-webkit-keyframes sdb {
	0% {
		-webkit-transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		-webkit-transform: rotate(-45deg) translate(-20px, 20px);
		opacity: 0;
	}
}
@keyframes sdb {
	0% {
		transform: rotate(-45deg) translate(0, 0);
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		transform: rotate(-45deg) translate(-16px, 16px);
		opacity: 0;
	}
}

@media only screen and (min-width: 813px) {
	
	header {
		position: absolute;
	}
	
	div#mainVisFrame {
		width: calc(100% - 80px);
		margin: 0 auto;
		padding: 170px 0 40px;
		overflow: hidden;
	}
		
	div#mainVisHolder {
		height: calc(100vh - 210px);
		height: 100%;
		margin: 0 auto;
	}
	
	div#mainVis {
		background: url(../img/top/img_main.jpg) center bottom no-repeat;
		background-size: cover;
	}
	
	div.mainCopy {
		min-width: 360px;
/*
		width: 32vw;
		height: 170px;
*/
		width: 600px;
		height: 305px;
		top: -80px;
	}
	
	div.mainCopy img {
		max-width: inherit;
		min-width: 360px;
		width: 32vw;
		height: auto;
		margin: 0 auto 50px;

	}
	
	div.mainCopy h1 {
		font-size: 1.6rem;
	}
	
}


/*------------------------------------------------------------
	バナー
------------------------------------------------------------*/

/*外部リンクのアイコンを非表示 2018/09/20*/
div.bnrArea a[href^="http"],
div.bnrArea a[href^="https"] {
  background:none;
  padding-right:0;
  margin-right:0;
}

@media only screen and (min-width: 813px) {
	
	div.bnrArea  {
		width: 1098px;
		margin: 0 auto;
		padding: 0;
		margin: 0 auto 30px;
	}
	
}

/*------------------------------------------------------------
	お知らせ
------------------------------------------------------------*/

div#container {
	padding: 0;
}

#newsArea {
	background: #ECEFF1;
	padding: 10px 4%;
}

#newsArea .newsInner {
	background: #fff;
	padding-bottom: 20px;
	margin-bottom: 30px;
}

/*タブx2 トップページ */

.home #tabSelect {
	margin-bottom: 0;
}

.home #tabSelect li {
	width: 110px;
	margin-right: 1px;
}

.home #tabSelect li:last-child {
	margin-right: 0;
}

.home #tabSelect li a {
	background: #4A895C;
	border: none;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 30px;
}

.home #tabSelect li a:hover {
	background: #40674B;
}

.home #tabSelect li a:before {
	content: none;
}

.home #tabSelect li a.selected {
	background: #fff;
	color: #000;
}

#newsArea .newsInner #tabPanel {
	padding: 0 15px 20px;
}

#newsArea .newsInner #tabPanel dl {
	border-bottom: 1px dotted #ddd;
	padding: 12px 0;
}

#newsArea .newsInner #tabPanel dl dt {
	font-size: 1rem;
	color: #777;
	float: left;
}

#newsArea .newsInner #tabPanel dl dd.cat {
	width: 98px;
	float: right;
    font-size: 0.8rem;
    line-height: 1;
    text-align: center;
    color: #fff;
    padding: 4px 0;
    margin: 2px 0 8px;
}

#newsArea .newsInner #tabPanel dl dd.postTtl {
	clear: both;
}

@media only screen and (min-width: 813px) {
	
	#newsArea {
		padding: 30px;
		margin-bottom: 60px;
	}
	
	#newsArea .newsInner {
		padding-bottom: 30px;
	}
	
	
	.home #tabSelect li {
		width: 145px;
	}
	
	.home #tabSelect li:last-child {
		width: 144px;
	}
	
	.home #tabSelect li a {
		font-size: 1.2rem;
		line-height: 42px;
	}

	
	#newsArea .newsInner #tabPanel {
		padding: 30px;
	}
	
	#newsArea .newsInner #tabPanel dl {
		padding: 12px;
	}
	
	#newsArea .newsInner #tabPanel dl dt {
		width: 150px;
		font-size: 1.3rem;
		font-weight: 300;
		color: #4A4A4A;
	}
	
	#newsArea .newsInner #tabPanel dl dd,
	#newsArea .newsInner #tabPanel dl dd.cat,
	#newsArea .newsInner #tabPanel dl dd.postTtl {
		float: left;
		clear: none;
	}
		
	#newsArea .newsInner #tabPanel dl dd.cat {
		width: 118px;
	    font-size: 1rem;
	    letter-spacing: .05rem;
	    margin: 4px 30px 0 0;
    }
    
    #newsArea .newsInner #tabPanel dl dd a {
		font-weight: 300;
	}
	
}

/*------------------------------------------------------------
	横スクロールコンテンツ 設定
------------------------------------------------------------*/

.scrollArea .scrollWrap {
  height:50px;
}

@media only screen and (min-width: 813px) {
	
	.scrollArea .scrollWrap {
		width: 1020px!important; /*PCのコンテンツ幅と同じに設定 */
	}
	
}


/*------------------------------------------------------------
	カテゴリーｘ３
------------------------------------------------------------*/

#categoryArea .oneThird {
	background: #fff;
	margin-bottom: 20px;
}

#categoryArea .ttlBox {
	height: 65px;
	color: #fff;
	position: relative;
	overflow: hidden;
}

#categoryArea .ttlBox:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: -100%;
	z-index: 1;
}

#categoryArea .ttlBox:hover:after {
	left: 0;
}

#categoryArea .ttlBox a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}

#categoryArea .ttlBox dl {
	width: 100%;
	line-height: 1.7;
	padding-left: 80px;
	position: absolute;
	top: 9px;
	left: 0;
	z-index: 10;
}

#categoryArea .ttlBox dl:before {
	content: '';
	background: url('../common/img/arrow_right_wht.svg') left top no-repeat;
	background-size: 14px 12px;
	width: 14px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -6px;
}

#categoryArea .ttlBox:hover dl:before {
	right: 15px;
}

#categoryArea .ttlBox dl dt {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.1rem;
}

#categoryArea .ttlBox dl dd {
	font-size: 1.1rem;
	font-weight: 300;
	letter-spacing: 0.1rem;
}

/*SSH 設定*/
#categoryArea .ttlSsh {
	background: #1E88E5;
}

#categoryArea .ttlSsh:after {
	background: #1976C7;
}

#categoryArea .ttlSsh dl {
	background: url(../img/top/icon_ssh.svg) 20px center no-repeat;
	background-size: 40px 38px;
}

/*アカデメイア 設定*/
#categoryArea .ttlAka {
	background: #7986CB;
}

#categoryArea .ttlAka:after {
	background: #6673B7;
}

#categoryArea .ttlAka dl {
	background: url(../img/top/icon_aka.svg) 20px center no-repeat;
	background-size: 40px 38px;
}

/*保護者の方へ 設定*/
#categoryArea .ttlParents {
	background: #F06292 ;
}

#categoryArea .ttlParents:after {
	background: #D0527D;
}

#categoryArea .ttlParents dl {
	background: url(../img/top/icon_parents.svg) 20px center no-repeat;
	background-size: 40px 38px;
}

#categoryArea figure {
	overflow: hidden;
}

#categoryArea figure img {
	width: 100%;
	height: auto;
	-webkit-transition:0.2s ease-in-out;
	transition:0.2s ease-in-out;
}

#categoryArea figure img:hover {
	-webkit-transform:scale(1.05,1.05);
	transform:scale(1.05,1.05);
	opacity:0.9;
	filter: alpha(opacity=80);
	background: #fff;
}

#categoryArea p {
	font-size: 1.2rem;
	text-align: justify;
	padding: 15px 20px;
	font-weight: 300;
}

@media only screen and (min-width: 813px) {
	
	#categoryArea .oneThird {
		margin-bottom: 0;
	}
	
}

/*------------------------------------------------------------
	案内を探す
------------------------------------------------------------*/

.bgDotArea {
	background: url(../img/top/bg_dot.png) left top repeat;
	background-size: 24px 25px;
	padding: 30px 0 10px;
	margin-bottom: 30px;
}

.bgDotArea .bgDotInner {
	width: 92%;
	margin: 0 auto;
}

.bgDotArea .bgDotInner h3 {
	background: url('../img/top/bg_h3_blue.svg') right top no-repeat;
	background-size: 895px 30px;
	color: #87A1BC;
	padding: 0;/*reset*/
}

.bgDotArea .bgDotInner h4 {
	font-size: 1.4rem;
	line-height: 30px;
	margin-bottom: 5px;
	padding-left: 36px;
}

.bgDotArea .bgDotInner h4:after {
	content: none;
}

.bgDotArea .bgDotInner h4.examinee {
	background: url('../common/img/icon_examinee.svg') left top no-repeat;
}

.bgDotArea .bgDotInner h4.educator {
	background: url('../common/img/icon_teacher.svg') left top no-repeat;
}

.bgDotArea .bgDotInner h4.almunus {
	background: url('../common/img/icon_alumnus.svg') left top no-repeat;
}

.bgDotArea .bgDotInner h4.examinee,
.bgDotArea .bgDotInner h4.educator,
.bgDotArea .bgDotInner h4.almunus {
	background-size: 30px 30px;
}

.bgDotArea .bgDotInner .twoFourth,
.bgDotArea .bgDotInner .oneFourth  {
	width: 100%;
	margin-bottom: 20px;
	margin-right: 0;
}

.bgDotArea .bgDotInner ul {
	background: #9CB3CA;
	padding: 10px 10px 0;
}

.bgDotArea .bgDotInner ul li {
	width: 49%;
	margin: 0 2% 10px 0;
	float: left;
}

.bgDotArea .bgDotInner ul li:nth-child(2n) {
	margin-right: 0;
}

.bgDotArea .bgDotInner ul li a {
	display: block;
	background: #fff;
	font-size: 1rem;
	line-height: 36px;
	color: #000;
	text-decoration: none;
	padding-left: 8px;
	position: relative;
	overflow: hidden;
	z-index: 2;
}

.bgDotArea .bgDotInner ul li a:before {
	background: url('../common/img/arrow_right_blk.svg') left top no-repeat;
	background-size: 10px 9px;
	width: 10px;
	height: 9px;
	position: absolute;
	top: 50%;
	right: 8px;
	margin-top: -4px;
	z-index: 2;
}

.bgDotArea .bgDotInner ul li a[href^="http:"],
.bgDotArea .bgDotInner ul li a[href^="https:"] {
  padding-right:0;
  margin-right:0;
}

.bgDotArea .bgDotInner ul li a[href^="http:"]:before,
.bgDotArea .bgDotInner ul li a[href^="https:"]:before {
  background:url(../common/img/bg_exlink_gry.svg) no-repeat right center;
  background-size: 10px 9px; 
}

.bgDotArea .bgDotInner ul li a[href^="http:"]:hover:before,
.bgDotArea .bgDotInner ul li a[href^="https:"]:hover:before {
  background:url(../common/img/bg_exlink_wht.svg) no-repeat right center;
  background-size: 10px 9px; 
}


@media only screen and (min-width: 813px) {
	
	.bgDotArea {
		padding: 50px 0;
		margin-bottom: 50px;
	}
	
	.bgDotArea .bgDotInner {
		width: 1080px;
	}
	
	.bgDotArea .bgDotInner h3 {
		background: url('../img/top/bg_h3_blue.svg') right top no-repeat;
		background-size: 1080px 36px;
	}
	
	.bgDotArea .bgDotInner h4 {
		font-size: 1.6rem;
		line-height: 40px;
		margin-bottom: 10px;
		padding-left: 50px;
	}
	
	.bgDotArea .bgDotInner h4.examinee,
	.bgDotArea .bgDotInner h4.educator,
	.bgDotArea .bgDotInner h4.almunus {
		background-size: 40px 40px;
	}
	
	.bgDotArea .bgDotInner .twoFourth {
		width: 47.2%;
		margin-right: 2%;
	}
		
	.bgDotArea .bgDotInner .oneFourth {
		width: 24.4%!important;
		flex-basis: 24%!important;
	}
	
	.bgDotArea .bgDotInner .oneFourth:nth-child(2) {
		margin-right: 2%;
	}
	
	.bgDotArea .bgDotInner ul {
		padding: 20px 0 5px 20px;
	}
	
	.bgDotArea .bgDotInner ul li {
		width: 223px;
		margin: 0 20px 15px 0;
		float: left;
	}
	
	.bgDotArea .bgDotInner ul li a {
		font-size: 1.2rem;
		padding-left: 15px;
		line-height: 42px;
	}
	
	.bgDotArea .bgDotInner ul li a:hover {
		color: #fff;
	}
		
	.bgDotArea .bgDotInner ul li a:before {
		right: 15px;
	}
		
	.bgDotArea .bgDotInner ul li a:after {
		background: #4A895C;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: -100%;
		z-index: -1;
	}
	
	.bgDotArea .bgDotInner ul li a:hover:before {
		background: url('../common/img/arrow_right_wht.svg') left top no-repeat;
		background-size: 10px 9px;
		right: 9px;
	}
	
	.bgDotArea .bgDotInner ul li a:hover:after {
		left: 0;
	}

}


/*------------------------------------------------------------
	学校の様子
------------------------------------------------------------*/

h3.topGrn {
	background: url('../img/top/bg_h3_grn.svg') right top no-repeat;
	background-size: 895px 30px;
	width: 92%;
	color: #40674B;
	margin: 0 auto 12px;
}

@media only screen and (min-width: 813px) {
	
	h3.topGrn {
		width: 100%;
		background-size: 1080px 36px;
		margin: 0 auto 30px;
	}
	
}

#postContainer {
	width: 92%;
	margin: 0 auto 30px;
}

#postContainer article {
	width: 50%;
	border-top: 1px solid transparent;
	border-bottom: 1px solid #ddd;
	border-left: 1px solid transparent;
	border-right: 1px solid #ddd;
}

#postContainer article:nth-child(odd) {
	padding: 10px 10px 15px 0;
}

#postContainer article:nth-child(2n) {
	padding: 10px 0 15px 10px;
	border-right: 1px solid transparent;
}

#postContainer article:nth-child(-n+2) {
	padding-top: 0;
}

#postContainer article figure {
	width: 100%;
	height: 26.666vw;
	margin-bottom: 3px;
	overflow: hidden;
}

#postContainer article figure img {
	max-width: 100%;
	height: auto;
	-webkit-transition:0.2s ease-in-out;
	transition:0.2s ease-in-out;
}

#postContainer article figure img:hover {
	-webkit-transform:scale(1.05,1.05);
	transform:scale(1.05,1.05);
	opacity:0.9;;
	background: #fff;
}

#postContainer article dl dt {
	display: inline-block;
	font-size: 0.8rem;
	line-height: 1;
	text-align: center;
	color: #fff;
	padding: 4px 5px;
	margin-bottom: 5px;
}

#postContainer article dl dd.postTtl a {
	display: block;
	line-height: 1.6;
	font-weight: 300;
	margin-bottom: 8px;
}

#postContainer article dd.postDate {
	font-size: 1rem;
	font-weight: 300;
	line-height: 1;
	color: #999;
}


@media only screen and (max-width: 812px) {
	
	#pagerArea {
		width: 92%;
		margin: 0 auto 40px;
	}
	
	#pagerArea div.oneHalf {
		width: 48%;
		margin-right: 4%;
	}
	
	#pagerArea div.oneHalf:nth-child(2n) {
		margin-right: 0;
	}
	
	#pagerArea div.oneHalf a {
		font-size: 1.1rem;
		text-indent: -1em;
	}
	
	#pagerArea div.oneHalf a:before {
		right: 5px;
	} 

}

@media only screen and (min-width: 813px) {
	
	#postContainer {
		width: 100%;
		margin-bottom: 50px;
	}
	
	#postContainer article,
	#postContainer article:nth-child(odd),
	#postContainer article:nth-child(2n) {
		width: calc(100% / 4);
		padding: 15px 15px 25px;
	}
	
	#postContainer article:nth-child(2n) {
		border-right: 1px solid #ddd;
	}

	#postContainer article:nth-child(4) {
		border-right: none;
	}
	
	#postContainer article:nth-child(-n+4) {
		padding-top: 0;
	}
	
	#postContainer article figure {
		height: 152px;
		margin-bottom: 12px;
	}

	#postContainer article dl dt {
		width: 118px;
		font-size: 1rem;
		letter-spacing: .05rem;
		margin-bottom: 10px;
	}
	
	#postContainer article dl dd.postTtl a {
		text-align: justify;
		line-height: 1.8;
		margin-bottom: 15px;
	}
	
	#postContainer article dd.postDate {
		font-size: 1.1rem;
	}
	
	#pagerArea {
		width: 800px;
		margin: 0 auto 90px;
	}
	
	
}

