@charset "utf-8";
@import "cmn_reset.css";
@import url(//fonts.googleapis.com/css?family=Lato:Thin|Yellowtail:400|Viga:400);

/* ---------------------------------------------------------

	東亜学園高等学校【レスポンシブ】
	Date: 2018.07.01

	01. 基礎設定
	02. 画面構成
	03. ヘッダー
	04. フッター
	05. 共通パーツ：全ページ
	06. トップページ
	07. 学校紹介
	08. コースの学び
	09. 教育の特色
	10. スクールライフ
	11. 入試について
	12. 在校生・保護者の方へ
	13. その他のページ
	14. ニュース関連
	15. エラーページ
	16. 受験生の方へ・説明会動画
    17. LINEフローティングバナー

--------------------------------------------------------- */
/* ---------------------------------------------------------

	01. 基礎設定

--------------------------------------------------------- */
html {
	color: #404040;
	font-size: 14px;
	font-family: "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	height: 100%;
	line-height: 1;
	position: relative;
	-webkit-font-smoothing: antialiased;
}
@media all and (-ms-high-contrast:none) {
	html {
		font-family: arial, "メイリオ", Meiryo, sans-serif;
	}
}

body {
	background-color: #f6f6f6;
	height: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

a {
	color: #76cece;
	text-decoration: none;
}
a:hover {
	color: #76cece;
	text-decoration: none;
}
.device_com a:hover {
	opacity: 0.8;
	text-decoration: none;
}

.fnt_serif {
	font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media all and (-ms-high-contrast:none) {
	.fnt_serif {
		font-family: "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	}
}

.fnt_viga {
	font-family: 'Viga', sans-serif;
	font-weight: normal !important;
}

.pc_b {display: block;}
.pc_i {display: inline;}

.sp_b,
.sp_i {display: none;}

.clearfix:after {
	content: '';
	clear: both;
	display: block;
}

/*===============================================
	基礎設定：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.pc_b,
	.pc_i {display: none;}

	.sp_b {display: block;}
	.sp_i {display: inline;}
}



/* ---------------------------------------------------------

	02. 画面構成

--------------------------------------------------------- */
.wrapper {
	min-height: 100%;
	min-width: 1040px;
	overflow: hidden;
	padding-bottom: 510px;
	position: relative;
}

.cmn_container {
	margin: 0 auto;
	max-width: 1040px;
	padding: 0 20px;
	position: relative;
	width: 100%;
}

.wrapper:not(#top) main {
	padding-bottom: 90px;
}

/*===============================================
	画面構成：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.wrapper {
		min-width: inherit;
		padding-bottom: 0;
	}

	.cmn_container {
		padding: 0 10px;
	}

	main {
		padding-top: 60px;
	}
	.wrapper:not(#top) main {
		padding-bottom: 40px;
	}
}



/* ---------------------------------------------------------

	03. ヘッダー

--------------------------------------------------------- */
header {
	background: #fff;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
	display: flex;
	align-items: center;
	height: 60px;
	width: 100%;
	z-index: 1000;
}

.header_logo {
	margin: 0 auto 0 25px;
}
.header_logo a {
	background: url(../img/common/header_logo01_2020.png) no-repeat;
	background-size: contain;
	display: block;
	height: 30px;
	text-indent: -9999px;
	width: 194px;
}

.header_gnav {
	display: flex;
	align-items: center;
}
.header_gnav > ul > li > a {
	color: #404040;
	white-space: nowrap;
}
.header_gnav_links {
	display: flex;
	margin-left: auto;
}
.header_gnav_links > li > a {
	cursor: pointer;
	display: block;
	font-weight: bold;
	height: 60px;
	line-height: 60px;
	padding: 0 15px;
	transition: 0.3s;
}
.header_gnav_links > li > div {
	background-color: rgba(242, 242, 242, 0.9);
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.2) inset;
	opacity: 0;
	position: absolute;
	top: 60px;
	left: 0;
	transition: 0.3s;
	visibility: hidden;
	width: 100vw;
	z-index: 999;
}
.header_gnav_links > li > div.is-active {
	opacity: 1;
	visibility: visible;
}
.header_gnav_links > li > div > ul {
	display: flex;
	justify-content: flex-start;
	margin: auto;
	max-width: 1000px;
	padding: 40px 0 45px;
}
.header_gnav_links > li > div > ul > li {
	margin-right: 2%;
	width: 12.5%;
}
.header_gnav_links > li > div > ul > li:last-child {
	margin-right: 0;
}
.header_gnav_links > li > div > ul > li > a {
	color: #404040;
	display: block;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
}
.header_gnav_links > li > div > ul > li > a figure {
	margin: 0 0 10px;
}
.device_com .header_gnav_links > li:hover > a {
	background-color: #f2f2f2;
}
.device_com .header_gnav_links > li > div > ul > li > a:hover figure {
	opacity: 0.8;
}

.header_gnav_buttons {
	display: flex;
	margin-left: 15px;
}
.header_gnav_buttons li {
	margin-left: 2px;
}
.header_gnav .header_gnav_buttons li a {
	background-color: #00b8b7;
	color: #fff;
	display: flex;
	align-items: center;
	font-weight: bold;
	height: 60px;
	padding: 0 16px 0 12px;
	transition: 0.3s;
}
.season_spring .header_gnav_buttons li a {background-color: #00b8b7;}
.season_summer .header_gnav_buttons li a {background-color: #ffc600;}
.season_autumn .header_gnav_buttons li a {background-color: #ff9765;}
.season_winter .header_gnav_buttons li a {background-color: #68beff;}
.header_gnav_buttons li a i {
	margin-right: 6px;
}
.header_gnav_buttons li a i.icon-access img,
.header_gnav_buttons li a i.icon-access svg {
	height: 20px;
	width: 15px;
}
.header_gnav_buttons li a i.icon-paper img,
.header_gnav_buttons li a i.icon-paper svg {
	height: 16px;
	width: 14px;
}
.header_gnav_buttons li a i.icon-donation img,
.header_gnav_buttons li a i.icon-donation svg {
	height: 22px;
	width: 22px;
}
.device_com .header_gnav_buttons li a:hover {
	background-color: #029695;
	opacity: 1;
}
.device_com.season_spring .header_gnav_buttons li a:hover {background-color: #029695;}
.device_com.season_summer .header_gnav_buttons li a:hover {background-color: #d8a800;}
.device_com.season_autumn .header_gnav_buttons li a:hover {background-color: #ff8348;}
.device_com.season_winter .header_gnav_buttons li a:hover {background-color: #39aaff;}

.header_gnav_toggle {
	display: none;
}

/*===============================================
	ヘッダー：1200px未満
===============================================*/
@media screen and (max-width:1199px) {
	.header_logo {
		margin: 0 auto 0 10px;
	}
	.header_gnav_links > li > a {
		font-size: 13px;
		padding: 0 9px;
	}
	.header_gnav .header_gnav_buttons li a {
		font-size: 13px;
		padding: 0 11px 0 7px;
	}
}

/*===============================================
	ヘッダー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	header {
		position: fixed;
		top: 0;
		left: 0;
	}

	.header_logo {
		margin: 0 auto 0 10px;
	}

	.header_gnav {
		background-color: #00b8b7;
		display: block;
		height: calc(100vh - 60px);
		overflow-y: scroll;
		padding: 10px 10px 100px;
		position: fixed;
		top: 60px;
		left: 100%;
		transition: 0.4s;
		width: 100%;
		z-index: 1000;
	}
	.season_spring .header_gnav {background-color: #00b8b7;}
	.season_summer .header_gnav {background-color: #ffc600;}
	.season_autumn .header_gnav {background-color: #ff9765;}
	.season_winter .header_gnav {background-color: #68beff;}
	.header_gnav.js-nav_open {
		left: 0;
	}

	.header_gnav_links {
		display: block;
		width: 100%;
	}
	.header_gnav_links > li {
		margin: 0 0 1px;
	}
	.header_gnav_links > li > a {
		background-color: rgba(255,255,255,0.9);
		color: #00b8b7;
		display: block;
		height: auto;
		line-height: 1;
		padding: 14px 24px;
		position: relative;
	}
	.season_spring .header_gnav_links > li > a {color: #00b8b7;}
	.season_summer .header_gnav_links > li > a {color: #ffc600;}
	.season_autumn .header_gnav_links > li > a {color: #ff9765;}
	.season_winter .header_gnav_links > li > a {color: #68beff;}
	.header_gnav_links > li > a::before {
		content: '';
		background-color: #00b8b7;
		display: block;
		height: 3px;
		position: absolute;
		top: 7px;
		left: 0;
		width: 14px;
	}
	.season_spring .header_gnav_links > li > a::before {background-color: #00b8b7;}
	.season_summer .header_gnav_links > li > a::before {background-color: #ffc600;}
	.season_autumn .header_gnav_links > li > a::before {background-color: #ff9765;}
	.season_winter .header_gnav_links > li > a::before {background-color: #68beff;}
	.header_gnav_links > li > a i {
		background-color: #00b8b7;
		display: block;
		height: 1px;
		position: absolute;
		top: 50%;
		right: 10px;
		transition: 0.3s;
		-webkit-transform: rotate(0);
						transform: rotate(0);
		width: 20px;
	}
	.season_spring .header_gnav_links > li > a i {background-color: #00b8b7;}
	.season_summer .header_gnav_links > li > a i {background-color: #ffc600;}
	.season_autumn .header_gnav_links > li > a i {background-color: #ff9765;}
	.season_winter .header_gnav_links > li > a i {background-color: #68beff;}
	.header_gnav_links > li > a i::before {
		content: '';
		background-color: #00b8b7;
		display: block;
		height: 1px;
		-webkit-transform: rotate(90deg);
						transform: rotate(90deg);
		transition: 0.4s;
		width: 20px;
	}
	.season_spring .header_gnav_links > li > a i::before {background-color: #00b8b7;}
	.season_summer .header_gnav_links > li > a i::before {background-color: #ffc600;}
	.season_autumn .header_gnav_links > li > a i::before {background-color: #ff9765;}
	.season_winter .header_gnav_links > li > a i::before {background-color: #68beff;}
	.header_gnav_links > li > a.is-active i::before {
		-webkit-transform: rotate(0);
						transform: rotate(0);
	}
	.header_gnav_links > li > div {
		background-color: transparent;
		box-shadow: none;
		display: none;
		opacity: 1;
		position: static;
		transition: none;
		visibility: visible;
		width: 100%;
	}
	.header_gnav_links > li > div > ul {
		display: block;
		padding: 12px 0;
	}
	.header_gnav_links > li > div > ul > li {
		margin-right: 0;
		width: 100%;
	}
	.header_gnav_links > li > div > ul > li > a {
		color: #fff;
		display: block;
		padding: 12px 24px;
		text-align: left;
	}
	.header_gnav_links > li > div > ul > li > a figure {
		display: none;
	}
	.header_gnav_links .cmn_link_window::after {
		background-image: url(../img/common/icon-window_white.png);
	}

	.header_gnav_buttons {
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 10px 0 0;
	}
	.header_gnav_buttons li {
		margin-left: 0;
		order: 0;
		width: 48.333333%;
	}
	.header_gnav_buttons li:first-child {
		margin-top: 3.5%;
		order: 2;
		width: 100%;
	}
	.header_gnav_buttons li:last-child {
		margin-top: 3.5%;
		order: 3;
		width: 100%;
	}
	.header_gnav_buttons li a {
		background-color: rgba(255,255,255,0.9);
		border: 5px solid #b8ebeb;
		color: #00b8b7;
		justify-content: center;
		padding: 0;
		text-align: center;
		width: 100%;
	}
	.season_spring .header_gnav_buttons li a {
		background-color: rgba(255,255,255,0.9);
		border-color: #b8ebeb;
		color: #00b8b7;
	}
	.season_summer .header_gnav_buttons li a {
		background-color: rgba(255,255,255,0.9);
		border-color: #ffe690;
		color: #ffc600;
	}
	.season_autumn .header_gnav_buttons li a {
		background-color: rgba(255,255,255,0.9);
		border-color: #ffd1bb;
		color: #ff9765;
	}
	.season_winter .header_gnav_buttons li a {
		background-color: rgba(255,255,255,0.9);
		border-color: #bfe4ff;
		color: #68beff;
	}
	.header_gnav_buttons li a i {
		margin-left: -.25em;
	}
	.season_spring .header_gnav_buttons li a i.icon-school svg path,
	.season_spring .header_gnav_buttons li a i.icon-access svg path,
	.season_spring .header_gnav_buttons li a i.icon-paper svg path,
	.season_spring .header_gnav_buttons li a i.icon-donation svg path {
		fill: #00b8b7;
	}
	.season_summer .header_gnav_buttons li a i.icon-school svg path,
	.season_summer .header_gnav_buttons li a i.icon-access svg path,
	.season_summer .header_gnav_buttons li a i.icon-paper svg path,
	.season_summer .header_gnav_buttons li a i.icon-donation svg path {
		fill: #ffc600;
	}
	.season_autumn .header_gnav_buttons li a i.icon-school svg path,
	.season_autumn .header_gnav_buttons li a i.icon-access svg path,
	.season_autumn .header_gnav_buttons li a i.icon-paper svg path,
	.season_autumn .header_gnav_buttons li a i.icon-donation svg path {
		fill: #ff9765;
	}
	.season_winter .header_gnav_buttons li a i.icon-school svg path,
	.season_winter .header_gnav_buttons li a i.icon-access svg path,
	.season_winter .header_gnav_buttons li a i.icon-paper svg path,
	.season_winter .header_gnav_buttons li a i.icon-donation svg path {
		fill: #68beff;
	}

	.header_gnav_toggle {
		display: block;
		height: 60px;
		position: relative;
		width: 60px;
	}
	.header_gnav_toggle a {
		background-color: #00b8b7;
		color: #fff;
		display: block;
		font-size: 10px;
		height: 100%;
		padding-top: 37px;
		text-align: center;
	}
	.season_spring .header_gnav_toggle a {background-color: #00b8b7;}
	.season_summer .header_gnav_toggle a {background-color: #ffc600;}
	.season_autumn .header_gnav_toggle a {background-color: #ff9765;}
	.season_winter .header_gnav_toggle a {background-color: #68beff;}
	.header_gnav_toggle:before,
	.header_gnav_toggle:after,
	.header_gnav_toggle a:before,
	.header_gnav_toggle a:after {
		content: '';
		background-color: #fff;
		height: 1px;
		opacity: 1;
		position: absolute;
		top: 21px;
		left: 15px;
		transition: 0.4s;
		width: 30px;
		will-change: transform;
	}
	.header_gnav_toggle a:before {top: 13px;}
	.header_gnav_toggle a:after {top: 29px;}
	.header_gnav_toggle.js-nav_open a:before,
	.header_gnav_toggle.js-nav_open a:after {opacity: 0;}
	.header_gnav_toggle.js-nav_open:before {
		top: 20px;
		-webkit-transform: rotate(45deg);
						transform: rotate(45deg);
	}
	.header_gnav_toggle.js-nav_open:after {
		top: 20px;
		-webkit-transform: rotate(-45deg);
						transform: rotate(-45deg);
	}
}



/* ---------------------------------------------------------

	04. フッター

--------------------------------------------------------- */
footer {
	background-color: #f2f2f2;
	height: 510px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.footer_top {
	height: 370px;
	padding: 60px 0 54px;
}

.footer_sitemap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.footer_sitemap > ul > li > span {
	font-weight: bold;
	margin-bottom: 18px;
}
.footer_sitemap > ul > li > span::before {
	content: '';
	background-color: #76cece;
	display: inline-block;
	height: 3px;
	margin-right: 8px;
	position: relative;
	top: -2px;
	vertical-align: middle;
	width: 14px;
}
.footer_sitemap > ul > li > ul > li {
	margin-top: 15px;
}
.footer_sitemap > ul > li > ul > li > a {
	color: #a5a5a5;
	font-size: 12px;
	letter-spacing: 0.1em;
	transition: 0.3s;
}
.device_com .footer_sitemap > ul > li > ul > li > a:hover {
	color: #404040;
}

.footer_sitemap .cmn_link_window:after {
	opacity: 0.5;
}
.device_com .footer_sitemap .cmn_link_window:hover:after {
	opacity: 0.8;
}

.footer_links ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.footer_links ul li:not(:last-child) {
	border-right: 1px solid #404040;
}
.footer_links ul li a {
	color: #404040;
	font-size: 11px;
	padding: 2px 6px;
}
.footer_links ul li .cmn_link_window::after {
	height: 0.8em;
}
.device_com .footer_links ul li a:hover {
	text-decoration: underline;
}

.footer_bottom {
	background-color: #404040;
	color: #a9a9a9;
	height: 140px;
	padding: 14px 0 32px;
}
.footer_bottom .cmn_container {
	display: flex;
	justify-content: space-between;
}
.footer_bottom_box:not(:first-child) {
	border-left: 1px solid #a9a9a9;
}
.footer_bottom_box:nth-of-type(1) {
	width: 32%;
}
.footer_bottom_box:nth-of-type(2) {
	padding-left: 54px;
	width: 38%;
}
.footer_bottom_box:nth-of-type(3) {
	padding-left: 54px;
	width: 30%;
}
.footer_bottom_box dl {
	display: inline-block;
	text-align: left;
	padding: 10px 0;
}
.footer_bottom_box dt {
	font-size: 14px;
	font-weight: bold;
}
.footer_bottom_box dt span {
	display: block;
	font-size: 12px;
	font-weight: normal;
	margin-top: 10px;
}
.footer_bottom_box dd {
	font-size: 12px;
	line-height: 2.0em;
	margin-top: 12px;
}

.footer_copyright {
	font-family: Verdana, sans-serif;
	font-size: 10px;
}

/*===============================================
	フッター：768px未満
===============================================*/
@media screen and (max-width:767px) {
	footer {
		height: auto;
		position: static;
	}

	.footer_top {
		height: auto;
		padding: 15px 0 25px;
	}

	.footer_sitemap {
		display: none;
	}

	.footer_links ul li {
		margin-top: 10px;
	}
	.footer_links ul li a {
		font-size: 11px;
	}

	.footer_bottom {
		height: auto;
		padding: 14px 0 20px;
	}
	.footer_bottom .cmn_container {
		display: block;
	}
	.footer_bottom .footer_bottom_box {
		border-left: none;
		padding-left: 0;
		width: 100%;
	}
	.footer_bottom_box dl {
		display: block;
		text-align: center;
	}
	.footer_bottom_box dt span {
		margin-top: 5px;
	}
	.footer_bottom_box dd {
		line-height: 1.6;
		margin-top: 5px;
	}

	.footer_copyright {
		margin-top: 20px;
		text-align: center;
	}
}

/*===============================================
	フッター：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.footer_bottom {
		padding-bottom: 60px;
	}
}



/* ---------------------------------------------------------

	05. 共有パーツ

--------------------------------------------------------- */

/* ページトップボタン
--------------------------------------------------------- */
.footer_pagetop {
	height: 50px;
	position: fixed;
	bottom: 0;
	right: 0;
	-webkit-transform: translateY(50px);
					transform: translateY(50px);
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
	width: 50px;
	z-index: 999;
	will-change: transform;
}
.footer_pagetop.is-active {
	-webkit-transform: translateY(0);
					transform: translateY(0);
}
.footer_pagetop.stop {
	position: absolute;
	bottom: 140px;
}
.footer_pagetop a {
	background-color: #00b8b7;
	display: block;
	height: 100%;
	text-indent: -9999px;
}
.season_spring .footer_pagetop a {background-color: #00b8b7;}
.season_summer .footer_pagetop a {background-color: #ffc600;}
.season_autumn .footer_pagetop a {background-color: #ff9765;}
.season_winter .footer_pagetop a {background-color: #68beff;}
.footer_pagetop a::before {
	content: '';
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	display: block;
	height: 12px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: rotate(45deg) translate(-40%, 10%);
					transform: rotate(45deg) translate(-40%, 10%);
	width: 12px;
}
.device_com .footer_pagetop a {
	transition: 0.3s;
}
.device_com .footer_pagetop a:hover {
	opacity: 0.7;
}

/*===============================================
	ページトップボタン：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.footer_pagetop {
		height: 40px;
		width: 40px;
	}
	.footer_pagetop.stop {
		position: fixed;
		bottom: 0;
	}
}

/* 下層メインビジュアル
--------------------------------------------------------- */
.cmn_mv {
	background-position: center 30%;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: calc(360px * 0.66);
	margin-bottom: 30px;
	text-align: center;
}
.cmn_mv_kana {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	text-shadow: 0 0 10px rgba(1,1,1,0.6);
}
.cmn_mv_kana::before,
.cmn_mv_kana::after {
	content: '';
	background-color: rgba(255,255,255,0.8);
	display: inline-block;
	height: 3px;
	position: relative;
	top: -1px;
	vertical-align: middle;
	width: 27px;
}
.cmn_mv_kana::before {
	margin-right: 10px;
}
.cmn_mv_kana::after {
	margin-left: 10px;
}
.cmn_mv_inner {
	border: 18px solid rgba(255,255,255,0.7);
	padding: 18px 0;
	width: 510px;
}
.cmn_mv_eng {
	font-family: 'Viga', sans-serif;
	font-size: 50px;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	text-shadow: 0 0 12px rgba(1,1,1,0.6);
}
.cmn_mv h2 {
	font-size: 30px;
	font-weight: bold;
	text-shadow: 0 0 10px rgba(1,1,1,0.6);
}
.cmn_mv h2 span {
	font-size: 0.7em;
}

/*===============================================
	下層メインビジュアル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_mv {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: calc(200px * 0.8);
		margin-bottom: 25px;
		text-align: center;
	}

	.cmn_mv_kana {
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
	}
	.cmn_mv_kana::before,
	.cmn_mv_kana::after {
		height: 2px;
		width: 20px;
	}
	.cmn_mv_kana::before {
		margin-right: 8px;
	}
	.cmn_mv_kana::after {
		margin-left: 8px;
	}
	.cmn_mv_inner {
		border: 10px solid rgba(255,255,255,0.7);
		min-width: 290px;
		padding: 12px;
		width: auto;
	}
	.cmn_mv_eng {
		font-size: 30px;
		margin-bottom: 5px;
	}
	.cmn_mv h2 {
		font-size: 20px;
	}
}

/* 下層ナビゲーション
--------------------------------------------------------- */
.cmn_snav {
	background-color: #fff;
	margin: -30px 0 30px;
}
.cmn_snav ul {
	display: flex;
	justify-content: center;
}
.cmn_snav li {
	position: relative;
	width: 140px;
}
.cmn_snav li::before,
.cmn_snav li:last-child::after {
	content: '';
	background-color: #666;
	height: 32px;
	position: absolute;
	top: 14px;
	left: 0;
	width: 1px;
}
.cmn_snav li:last-child::after {
	left: auto;
	right: 0;
}
.cmn_snav a {
	color: #404040;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.2;
	height: 60px;
	text-align: center;
	transition: 0.3s;
}
.cmn_snav .is-active a,
.device_com .cmn_snav a:hover {
	color: #76cece;
}

/*===============================================
	下層ナビゲーション：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_snav {
		margin: -25px 0 25px;
	}
	.cmn_snav ul {
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 5px 0;
	}
	.cmn_snav li {
		width: 50%;
	}
	.cmn_snav li::before,
	.cmn_snav li:last-child::before {
		height: 30px;
		top: 8px;
	}
	.cmn_snav li:nth-child(even)::after {
		content: '';
		background-color: #666;
		height: 30px;
		position: absolute;
		top: 8px;
		right: 0;
		width: 1px;
	}
	.cmn_snav a {
		height: 46px;
	}
}

/* 下層パンくず
--------------------------------------------------------- */
.cmn_breadcrumb {
	padding: 34px 0;
}
.cmn_breadcrumb ul {
	display: flex;
	font-size: 12px;
}
.cmn_breadcrumb li + li {
	margin-left: 3em;
	position: relative;
}
.cmn_breadcrumb li:not(:first-child)::before {
	content: '';
	border-top: 1px solid #76cece;
	border-right: 1px solid #76cece;
	display: inline-block;
	height: 6px;
	position: absolute;
	top: 50%;
	left: -1.5em;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
					transform: translate(-50%, -50%) rotate(45deg);
	width: 6px;
}
.cmn_breadcrumb a {
	color: #76cece;
}

/*===============================================
	下層パンくず：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_breadcrumb {
		display: none;
	}
}

/* 下層セクション：メインビジュアル
--------------------------------------------------------- */
.cmn_sec_mv {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 540px;
	padding-bottom: 70px;
}
.cmn_contents + .cmn_sec_mv {
	margin-top: 80px;
}
.cmn_sec_mv p {
	color: #fff;
	font-size: 34px;
	font-weight: bold;
	line-height: 1.4;
	position: relative;
	text-align: center;
	text-shadow: 0 0 10px rgba(1,1,1,0.6);
	z-index: 10;
}

.cmn_sec_mv_shadow {
	position: relative;
	z-index: 0;
}
.cmn_sec_mv_shadow::before {
	content: '';
	background-color: rgba(1,1,1,0.3);
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

/*===============================================
	下層セクション：メインビジュアル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_sec_mv {
		height: 160px;
		padding-bottom: 40px;
	}
	.cmn_contents + .cmn_sec_mv {
		margin-top: 40px;
	}
	.cmn_sec_mv p {
		font-size: 18px;
		padding: 0 10px;
	}
}

/* 下層セクション：リード
--------------------------------------------------------- */
.cmn_lead {
	background-color: #fff;
	padding: 60px 0 70px;
}
.cmn_lead_anchor {
	padding-bottom: 120px;
}
.cmn_lead_tit {
	font-family: 'Viga', sans-serif;
	font-size: 52px;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-bottom: 20px;
	text-align: center;
}
.cmn_lead_subtit {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 35px;
	text-align: center;
}
.cmn_lead p {
	line-height: 2.0;
	margin: 0 auto;
	max-width: 840px;
}
.cmn_lead_anchor p:last-child {
	padding-bottom: 30px;
}
.cmn_lead_subtit + p {
	margin-top: 35px;
}

/*===============================================
	下層セクション：リード：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_lead {
		padding: 30px 0;
	}
	.cmn_lead_anchor {
		padding-bottom: 130px;
	}
	.cmn_lead_tit {
		font-size: 25px;
		margin-bottom: 15px;
	}
	.cmn_lead_subtit {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.cmn_lead p {
		line-height: 1.8;
	}
	.cmn_lead_anchor p:last-child {
		padding-bottom: 10px;
	}
	.cmn_lead_subtit + p {
		margin-top: 15px;
	}
}

/* 下層セクション：アンカーリンク
--------------------------------------------------------- */
.cmn_anchor {
	display: flex;
	justify-content: space-between;
	margin: -100px auto 80px;
	max-width: 1280px;
	padding: 0 20px;
}
.cmn_anchor li {
	overflow: hidden;
	width: 48%;
}
.cmn_anchor a {
	background-color: #000;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	font-weight: bold;
	height: 200px;
	line-height: 1.2;
	position: relative;
	text-shadow: 0 0 10px rgba(1,1,1,0.6);
	z-index: 1;
}
.cmn_anchor a::before {
	content: '';
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
	width: 100%;
	will-change: filter, opacity, transform;
	z-index: -1;
}
.cmn_anchor a::after {
	content: '';
	background: url(../img/common/anchor_ico_arrow01.png) no-repeat;
	background-size: contain;
	display: inline-block;
	height: 25px;
	margin-left: 20px;
	width: 25px;
}
.device_com .cmn_anchor a:hover::before {
	-webkit-filter: blur(3px);
					filter: blur(3px);
	opacity: 0.5;
	-webkit-transform: scale(1.1);
					transform: scale(1.1);
}

.cmn_anchor_nolead {
	margin: 50px auto 100px;
	max-width: 840px;
}
.cmn_anchor_nolead a {
	background-color: #00b8b7;
	font-size: 22px;
	height: 80px;
}
.season_spring .cmn_anchor_nolead a {background-color: #00b8b7;}
.season_summer .cmn_anchor_nolead a {background-color: #ffc600;}
.season_autumn .cmn_anchor_nolead a {background-color: #ff9765;}
.season_winter .cmn_anchor_nolead a {background-color: #68beff;}

/*===============================================
	下層セクション：アンカーリンク：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_anchor {
		display: block;
		margin: -120px auto 40px;
	}
	.cmn_anchor li {
		width: 100%;
	}
	.cmn_anchor li + li {
		margin-top: 10px;
	}
	.cmn_anchor a {
		font-size: 18px;
		height: 70px;
	}
	.cmn_anchor a::after {
		height: 20px;
		margin-left: 10px;
		width: 20px;
	}

	.cmn_anchor_nolead {
		margin: 25px auto 40px;
	}
	.cmn_anchor_nolead a {
		font-size: 18px;
		height: 50px;
	}
}

/* 下層コンテンツ
--------------------------------------------------------- */
.warpper {
	counter-reset: secNum;
}
.cmn_contents {
	background-color: #fff;
		counter-increment: secNum;
	margin: -100px auto 0;
	max-width: 1000px;
	padding: 75px 85px;
	position: relative;
}
.cmn_contents[id]::before {
	content: counter(secNum, decimal-leading-zero);
	color: #76cece;
	font-family: 'Yellowtail', sans-serif;
	font-size: 120px;
	font-weight: normal;
	letter-spacing: 0.1em;
	position: absolute;
	top: -62px;
	left: 85px;
}
.cmn_contents + .cmn_contents {
	margin-top: 50px;
}

.cmn_contents_nomv {
	margin-top: 0;
}

.cmn_sec_tit {
	font-size: 34px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-bottom: 50px;
}
.cmn_sec_tit + p {
	margin-top: -30px;
}

.cmn_tit_border {
	border-bottom: 4px solid #bae6e6;
	font-size: 28px;
	font-weight: normal;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin-bottom: 30px;
	padding-bottom: 16px;
}
* + .cmn_tit_border {
	margin-top: 50px;
}

.cmn_tit_big {
	font-size: 24px;
	font-weight: normal;
	line-height: 1.2;
	margin-bottom: 20px;
}
* + .cmn_tit_big {
	margin-top: 50px;
}

.cmn_tit_bold {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 15px;
}

.cmn_contents p,
.cmn_contents li {
	line-height: 2.0;
}
.cmn_contents p + p {
	margin-top: 1.5em;
}

.cmn_contents a {
	border-bottom: 1px solid #76cece;
	font-weight: bold;
	padding-bottom: 3px;
}

/*===============================================
	下層コンテンツ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_contents {
		margin: -40px auto 0;
		padding: 20px 15px;
		width: calc(100% - 20px);
	}
	.cmn_contents[id]::before {
		font-size: 60px;
		top: -40px;
		left: 15px;
	}
	.cmn_contents + .cmn_contents {
		margin-top: 30px;
	}

	.cmn_contents_nomv {
		margin-top: 0;
	}

	.cmn_sec_tit {
		font-size: 20px;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
	}
	.cmn_sec_tit + p {
		margin-top: -10px;
	}

	.cmn_tit_border {
		border-bottom: 3px solid #bae6e6;
		font-size: 18px;
		line-height: 1.4;
		margin-bottom: 15px;
		padding-bottom: 5px;
	}
	* + .cmn_tit_border {
		margin-top: 20px;
	}

	.cmn_tit_big {
		font-size: 18px;
		margin-bottom: 15px;
	}
	* + .cmn_tit_big {
		margin-top: 30px;
	}

	.cmn_tit_bold {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 10px;
	}

	.cmn_contents p,
	.cmn_contents li {
		line-height: 1.8;
	}
	.cmn_contents p + p {
		margin-top: 1.0em;
	}
}

/* グリッド：2カラム
--------------------------------------------------------- */
.cmn_grid_2col {
	display: flex;
	justify-content: space-between;
}
.cmn_grid_2col + .cmn_grid_2col {
	margin-top: 30px;
}
.cmn_grid_2col > * {
	width: 48%;
}
.cmn_grid_2col .cmn_grid_img {
	text-align: center;
	width: 46%;
}
.cmn_grid_2col .cmn_grid_txt {
	padding-top: 5px;
	width: 50%;
}
.cmn_grid_2col .cmn_grid_txt_center {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cmn_grid_2col_reverse {
	flex-direction: row-reverse;
}

p + .cmn_grid_2col {
	margin-top: 50px;
}

/*===============================================
	グリッド：2カラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_grid_2col {
		display: block;
	}
	.cmn_grid_2col > * {
		width: 100%;
	}
	.cmn_grid_2col > * + * {
		margin-top: 25px;
	}
	.cmn_grid_2col .cmn_grid_img {
		margin-bottom: 12px;
		width: 100%;
	}
	.cmn_grid_2col .cmn_grid_txt {
		width: 100%;
	}

	p + .cmn_grid_2col {
		margin-top: 25px;
	}
}

/* グリッド：3カラム
--------------------------------------------------------- */
.cmn_grid_3col {
	display: flex;
	flex-wrap: wrap;
}
.cmn_grid_3col > * {
	width: 31%;
}
.cmn_grid_3col > *:not(:nth-child(3n)) {
	margin-right: 3.5%;
}

/*===============================================
	グリッド：3カラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_grid_3col > * {
		width: 100%;
	}
	.cmn_grid_3col > *:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.cmn_grid_3col > * + * {
		margin-top: 10px;
	}
}

/* ボタン（標準）
--------------------------------------------------------- */
.cmn_btn {
	height: 66px;
	margin: 0 auto;
	max-width: 420px;
}
.cmn_btn a {
	background-color: #00b8b7;
	border-bottom: none;
	border-radius: 33px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	height: 100%;
	line-height: 1.2;
	padding: 0 10px;
	text-align: center;
	transition: 0.3s;
}
.season_spring .cmn_btn a {background-color: #00b8b7;}
.season_summer .cmn_btn a {background-color: #ffc600;}
.season_autumn .cmn_btn a {background-color: #ff9765;}
.season_winter .cmn_btn a {background-color: #68beff;}

/*===============================================
	ボタン（標準）：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_btn {
		height: 50px;
		width: 90%;
	}
	.cmn_btn a {
		border-radius: 25px;
		font-size: 15px;
	}
}

/* リンク（PDFリンク）
--------------------------------------------------------- */
.cmn_link_pdf {
	background: url(../img/common/icon-pdf.png) right top/16px no-repeat;
	padding-right: 22px;
	position: relative;
}

/* リンク（別ウィンドウ）
--------------------------------------------------------- */
.cmn_link_window::after {
	content: '';
	background: url(../img/common/icon-window.png) center/contain no-repeat;
	display: inline-block;
	height: 1em;
	margin-left: 0.2em;
	opacity: 1;
	position: relative;
	top: 1px;
	transition: 0.3s;
	width: 1em;
}

/* リスト（標準）
--------------------------------------------------------- */
.cmn_list_normal li {
	padding-left: 1.0em;
	text-indent: -1.0em;
}

/* リスト（オーダーリスト）
--------------------------------------------------------- */
.cmn_list_decimal li {
	list-style: decimal;
	margin-left: 1.5em;
	padding-left: 0.3em;
}

/* リスト（定義リスト）
--------------------------------------------------------- */
.cmn_list_dl dt {
	font-size: 16px;
	font-weight: normal;
	line-height: 1.4;
	margin-bottom: 8px;
}
.cmn_list_dl dd + dt {
	margin-top: 30px;
}
.cmn_list_dl dd {
	line-height: 2.0;
}

/*===============================================
	リスト（定義リスト）：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_list_dl dt {
		font-size: 15px;
	}
	.cmn_list_dl dd + dt {
		margin-top: 20px;
	}
	.cmn_list_dl dd {
		line-height: 1.8;
	}
}

/* テーブル
--------------------------------------------------------- */
.cmn_table {
	border-top: 1px solid #c2c2c2;
	border-left: 1px solid #c2c2c2;
	line-height: 1.4;
	margin: 20px 0;
	width: 100%;
}
.cmn_table thead th,
.cmn_table tbody th {
	background-color: #d6f0f0;
	border-right: 1px solid #c2c2c2;
	border-bottom: 1px solid #c2c2c2;
	font-weight: bold;
	padding: 12px;
}
.cmn_table tbody th {
	text-align: left;
}
.cmn_table thead td,
.cmn_table tbody td {
	border-right: 1px solid #c2c2c2;
	border-bottom: 1px solid #c2c2c2;
	padding: 12px;
}
.cmn_table tbody td.cmn_table_td_vt {
	vertical-align: top;
}

.cmn_table_mark {
	font-size: 0.9em;
	font-weight: normal;
}

/*===============================================
	テーブル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_table thead th,
	.cmn_table tbody th {
		padding: 10px;
	}
	.cmn_table thead td,
	.cmn_table tbody td {
		padding: 10px;
	}
}

/* ライトボックス
--------------------------------------------------------- */
.mfp-fade.mfp-bg {
	background-color: #76cece;
	opacity: 0;
	transition: all 0.15s ease-out;
	z-index: 100000;
}
.mfp-fade.mfp-wrap {
	z-index: 100001;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all 0.15s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.mfp-face .mfp-preloader {
	color: #00b8b7;
}
.mfp-fade .mfp-container .mfp-content .mfp-close {
	background: url(../img/common/icon-lightbox-close.png) no-repeat;
	background-size: contain;
	cursor: pointer;
	height: 32px;
	top: 20px;
	right: 0;
	opacity: 1;
	padding: 0;
	text-align: left;
	text-indent: -9999px;
	width: 32px;
}
.mfp-fade .mfp-container .mfp-content .mfp-close:active {
	top: 20px;
}
.mfp-movie .mfp-container .mfp-content .mfp-close,
.mfp-movie .mfp-container .mfp-content .mfp-close:active {top: -40px;}
.mfp-fade .mfp-arrow {
	background: url(../img/common/icon-lightbox-arrow.png) center no-repeat;
	background-size: 22px auto;
}
.mfp-fade .mfp-arrow:active {
	margin-top: -55px;
}
.mfp-fade .mfp-arrow-right {
	background-image: url(../img/common/icon-lightbox-arrow-right.png);
}
.mfp-fade .mfp-arrow::before,
.mfp-fade .mfp-arrow::after {
	display: none;
}

.mfp-fade .mfp-figure::after {
	top: 65px;
	bottom: 65px;
}
.mfp-fade .mfp-img {
	padding: 65px 0;
}
.mfp-fade .mfp-title {
	font-size: 16px;
	font-weight: bold;
	padding-left: 30px;
	position: relative;
}
.mfp-fade .mfp-title::after {
	content: '';
	background-color: #fff;
	display: block;
	height: 58px;
	position: absolute;
	top: -70px;
	left: 50px;
	width: 1px;
}

.mfp-counter {display: none;}
.mfp-hide {display: none;}

/*===============================================
	ライトボックス：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.mfp-fade .mfp-arrow {
		width: 60px;
	}

	.mfp-fade .mfp-container .mfp-content .mfp-close {
		height: 30px;
		top: 10px;
		width: 30px;
	}
	.mfp-fade .mfp-container .mfp-content .mfp-close:active {
		top: 10px;
	}
	.mfp-movie .mfp-container .mfp-content .mfp-close,
	.mfp-movie .mfp-container .mfp-content .mfp-close:active {top: -40px;}

	.mfp-fade .mfp-figure::after {
		top: 50px;
		bottom: 50px;
	}
	.mfp-fade .mfp-img {
		padding: 50px 0;
	}

	.mfp-fade .mfp-title {
		font-size: 14px;
		padding-left: 15px;
	}
	.mfp-fade .mfp-title::after {
		height: 45px;
		top: -48px;
	}
}

/* SP対応
--------------------------------------------------------- */
.cmn_sp_txt {
	display: none;
}

/*===============================================
	SP対応：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_sp_txt {
		display: block;
		font-size: 12px;
	}

	.cmn_sp_table_wrapper {
		overflow: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.cmn_sp_table_wrapper_free {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	.cmn_sp_img_wrapper {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.cmn_sp_img_wrapper img {
		max-width: inherit;
		width: 830px;
	}
}

/* インデックスメニュー
--------------------------------------------------------- */
.cmn_index {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1400px;
	padding: 0 25px;
}

.cmn_index_box {
	background-color: #fff;
	overflow: hidden;
	width: 32%;
}
.cmn_index_box > a {
	display: block;
	height: 100%;
	padding: 50px 60px;
	position: relative;
	width: 100%;
}
.cmn_index_bg {
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
	width: 100%;
	z-index: 0;
}
.cmn_index_bg::before {
	content: '';
	background-color: #00b8b7;
	opacity: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
	width: 100%;
}
.cmn_index_inner {
	background-color: #fff;
	color: #666;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 24px 8px;
	position: relative;
	text-align: center;
	width: 100%;
	z-index: 1;
}
.cmn_index_inner::before {
	content: '';
	background-color: rgba(255, 255, 255, 0.5);
	display: block;
	height: auto;
	position: absolute;
	top: -16px;
	right: -16px;
	bottom: -16px;
	left: -16px;
	width: auto;
	z-index: -1;
}

.cmn_index_catch {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.cmn_index_title {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.cmn_index_title .ls03 {letter-spacing: -0.3em;}
.cmn_index_school .cmn_index_title br {display: none;}

.cmn_index_subtitle {
	font-family: "Viga";
	font-size: 14px;
	font-style: normal;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin: 1em 0;
}
.cmn_index:not(.top_mv_bottom) .cmn_index_subtitle {margin-bottom: 0;}
.cmn_index_button {
	margin: auto auto 0;
}
.cmn_index:not(.top_mv_bottom) .cmn_index_button {display: none;}
.cmn_index_button p {
	background-color: #00b8b7;
	border-radius: 100px;
	color: #fff;
	display: inline-block;
	font-family: "Viga";
	font-size: 16px;
	font-style: normal;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 12px 54px;
	text-align: center;
	transition: 0.3s;
}
.cmn_index_examinee .cmn_index_button p {background-color: #4b71d6;}
.cmn_index_school .cmn_index_button p {background-color: #f2b84a;}
.cmn_index_graduates .cmn_index_button p {background-color: #dd70b7;}
.device_com .cmn_index_box:hover .cmn_index_bg {
	-webkit-transform: scale(1.1);
					transform: scale(1.1);
}
.device_com .cmn_index_box:hover .cmn_index_bg::before {
	-webkit-animation: animHover 10s ease infinite;
					animation: animHover 10s ease infinite;
	background: -webkit-linear-gradient(0deg, rgba(0,184,183,0.5), rgba(255,198,0,0.5), rgba(255,151,101,0.5), rgba(104,190,255,0.5));
	background-size: 600% 600%;
	opacity: 1;
}
@-webkit-keyframes animHover {
	0%{background-position: 0% 50%}
	50%{background-position: 100% 50%}
	100%{background-position: 0% 50%}
}
@keyframes animHover {
	0%{background-position: 0% 50%}
	50%{background-position: 100% 50%}
	100%{background-position: 0% 50%}
}
.device_com .cmn_index_box:hover .cmn_index_button p {
	opacity: 0.5;
}

/*===============================================
	インデックスメニュー：1350px未満
===============================================*/
@media screen and (max-width:1349px) {
	.cmn_index_box > a {
		padding: 40px 50px;
	}
	.cmn_index_catch {
		font-size: 15px;
	}
	.cmn_index_title {
		font-size: 26px;
		letter-spacing: 0.05em;
	}
}

/*===============================================
	インデックスメニュー：1200px未満
===============================================*/
@media screen and (max-width:1199px) {
	.cmn_index_catch {
		font-size: 12px;
	}
	.cmn_index_title {
		font-size: 24px;
	}
	.cmn_index_school .cmn_index_title br {display: block;}
}

/*===============================================
	インデックスメニュー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_index {
		display: block;
		padding: 0 10px;
	}
	.cmn_index_box {
		margin-top: 10px;
		width: 100%;
	}
	.cmn_index_box > a {
		padding: 32px 28px;
	}
	.cmn_index_inner {
		display: block;
		padding: 15px 0;
	}
	.cmn_index_inner::before {
		top: -8px;
		right: -8px;
		bottom: -8px;
		left: -8px;
	}
	.cmn_index_catch {
		font-size: 12px;
	}
	.cmn_index_title {
		font-size: 22px;
		margin-top: 0;
	}
	.cmn_index_school .cmn_index_title br {display: none;}
	.cmn_index_title img {
		height: 24px;
	}
	.cmn_index_subtitle {
		font-size: 10px;
		margin: 0.5em 0 0;
	}
	.cmn_index_button {
		margin: 0.8em 0 0;
	}
	.cmn_index_button a,
	.cmn_index_button p {
		font-size: 12px;
		padding: 6px 28px;
	}
}



/* ---------------------------------------------------------

	06. トップページ

--------------------------------------------------------- */
body.home {
	background-color: #fff;
}

/* トップページ：メインビジュアル
--------------------------------------------------------- */
.top_mv {
	background: url(../img/top/visual-bg-spring.jpg) center/cover no-repeat;
	background-attachment: fixed;
	overflow: hidden;
	padding: 10px 0 35px;
	position: relative;
	z-index: 1;
}
.season_spring .top_mv {background-image: url(../img/top/visual-bg-spring.jpg);}
.season_summer .top_mv {background-image: url(../img/top/visual-bg-summer.jpg);}
.season_autumn .top_mv {background-image: url(../img/top/visual-bg-autumn.jpg);}
.season_winter .top_mv {background-image: url(../img/top/visual-bg-winter.jpg);}
.top_mv_inner {
	position: relative;
}
.top_mv_top {
	height: 310px;
}
.top_mv_top_list {
	display: flex;
	position: absolute;
	top: 0;
}
.top_mv_top_list {
	left: 0;
}
.top_mv_top li {
	height: 310px;
	outline: none;
	padding: 10px;
	width: 310px;
}
.top_mv_top .top_mv_double {
	width: 620px;
}

#js-top_mv.is-active #js-top_mv_top {
	-webkit-animation: topMvTicker 180s linear infinite;
					animation: topMvTicker 180s linear infinite;
	will-change: transform;
}
#js-top_mv.is-active.js-nopickup #js-top_mv_top {
	-webkit-animation-duration: 147s;
					animation-duration: 147s;
}
@-webkit-keyframes topMvTicker {
	0% {-webkit-transform: translateX(0);transform: translateX(0);}
	100% {-webkit-transform: translateX(-50%);transform: translateX(-50%);}
}
@keyframes topMvTicker {
	0% {-webkit-transform: translateX(0);transform: translateX(0);}
	100% {-webkit-transform: translateX(-50%);transform: translateX(-50%);}
}
#js-top_mv.is-active #js-top_mv_bottom {
	-webkit-animation: bottomMvTicker 198s linear infinite;
					animation: bottomMvTicker 198s linear infinite;
	will-change: transform;
}
#js-top_mv.is-active.js-nopickup #js-top_mv_bottom {
	-webkit-animation-duration: 132s;
					animation-duration: 132s;
}
@-webkit-keyframes bottomMvTicker {
	0% {-webkit-transform: translateX(0);transform: translateX(0);}
	100% {-webkit-transform: translateX(50%);transform: translateX(50%);}
}
@keyframes bottomMvTicker {
	0% {-webkit-transform: translateX(0);transform: translateX(0);}
	100% {-webkit-transform: translateX(50%);transform: translateX(50%);}
}

.top_pickup a {
	background-color: #007c7b;
	color: #fff;
	display: block;
	height: 100%;
	outline: none;
	padding: 45px 0 0;
	position: relative;
	text-align: center;
	transition: 0.3s;
	width: 100%;
	z-index: 1;
}
.season_spring .top_pickup a {background-color: #007c7b;}
.season_summer .top_pickup a {background-color: #9d7a00;}
.season_autumn .top_pickup a {background-color: #dd4800;}
.season_winter .top_pickup a {background-color: #0479d2;}
.device_com .top_pickup a:hover {
	color: #404040;
}
.device_com .top_mv .top_pickup a:hover {
	background-color: #fff;
}
.top_pickup_img {
	background-image: url(../img/top/visual-pickup-image.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	height: 100%;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	text-indent: -9999px;
	width: 100%;
	z-index: -1;
}
.top_mv_double2 .top_pickup_img {
	background-image: url(../img/top/visual-pickup-image2.jpg);
}
.top_pickup_tit {
	font-family: "Yellowtail";
	font-size: 34px;
	font-style: normal;
	font-weight: 400;
}
.top_pickup_txt {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.6;
	margin: 24px 0 0;
}
.top_pickup_more {
	border: 2px solid #fff;
	border-radius: 100px;
	display: inline-block;
	font-family: "Viga";
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.1em;
	margin: 30px 0 0;
	padding: 10px 50px;
	transition: background 0.3s;
}
.device_com .top_pickup a:hover .top_pickup_more {
	background-color: #fff;
	color: #404040;
}

.top_mv_bottom {
	margin-top: 25px;
}
.top_mv_bottom .cmn_index_examinee .cmn_index_bg {background: url(../img/common/index_examinee-bg.jpg) center center/cover no-repeat;}
.top_mv_bottom .cmn_index_school .cmn_index_bg {background: url(../img/common/index_school-bg.jpg) center center/cover no-repeat;}
.top_mv_bottom .cmn_index_graduates .cmn_index_bg {background: url(../img/common/index_graduates-bg.jpg) center center/cover no-repeat;}
.top_mv_bottom .cmn_index_school .cmn_index_title {letter-spacing: 0;}

.top_mv_spbanner {
	display: none;
}

.top_mv_catch {
	background-image: url(../img/top/visual-catch-spring.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 397px;
	margin-top: -42px;
	position: absolute;
	top: 60%;
	left: 50%;
	text-indent: -9999px;
	-webkit-transform: translate(-50%, -50%);
					transform: translate(-50%, -50%);
	width: 509px;
	z-index: 1;
}
.season_spring .top_mv_catch {background-image: url(../img/top/visual-catch-spring.png);}
.season_summer .top_mv_catch {background-image: url(../img/top/visual-catch-summer.png);}
.season_autumn .top_mv_catch {background-image: url(../img/top/visual-catch-autumn.png);}
.season_winter .top_mv_catch {background-image: url(../img/top/visual-catch-winter.png);}

/*===============================================
	トップページ：メインビジュアル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_mv {
		background-attachment: scroll;
		height: auto;
		padding: 5px 10px 10px;
	}
	.top_mv_top {
		height: 150px;
	}
	#js-top_mv.is-active #js-top_mv_top {
		-webkit-animation-duration: 100s;
						animation-duration: 100s;
	}
	#js-top_mv.is-active #js-top_mv_bottom {
		-webkit-animation-duration: 110s;
						animation-duration: 110s;
	}

	.top_mv_top li {
		height: 150px;
		padding: 5px;
		width: 150px;
	}

	.top_mv_top_list .top_pickup {
		display: none;
	}

	.top_mv_bottom {margin-top: 0;}
	.top_mv_bottom.cmn_index {padding: 0;}

	.top_mv_spbanner {
		display: block;
		margin-top: 5px;
	}
	.top_mv_spbanner li + li {
		margin-top: 10px;
	}
	.top_pickup_tit {
		font-size: 24px;
	}
	.top_pickup_txt {
		font-size: 14px;
		margin: 12px 0 0;
	}
	.top_pickup_more {
		font-size: 13px;
		margin: 12px 0 0;
		padding: 5px 24px;
	}
	.top_pickup a {
		padding: 18px 0;
	}

	.top_mv_catch {
		height: 80%;
		max-width: 300px;
		top: 68%;
		width: 80%;
	}
	.top_mv_top .top_mv_double_infoms {
		width: 300px;
	}
}

/* トップページ：ニュース
--------------------------------------------------------- */
.top_news {
	background: url(../img/top/news-bg.jpg) center/cover no-repeat;
	padding: 58px 0 85px;
}
.top_news .cmn_container {
	background-color: rgba(255,255,255,0.8);
	max-width: 1000px;
	overflow: hidden;
	padding: 36px 60px 50px;
}

.top_news_tit {
	color: #76cece;
	font-family: "Yellowtail";
	font-size: 56px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.1em;
	margin-bottom: 54px;
	text-align: center;
}

.top_news_pickup {
	float: left;
	position: relative;
	width: 29%;
}
.top_news_pickup_tit {
	border-left: 4px solid #76cece;
	color: #76cece;
	padding: 10px 0 30px 14px;
	position: absolute;
	top: -38px;
	left: 8px;
	z-index: 10;
}
.top_news_pickup_tit span {
	display: inline-block;
	vertical-align: middle;
}
.top_news_pickup_tit span:nth-of-type(1) {
	font-family: "Viga";
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	margin-right: 10px;
}
.top_news_pickup_img {
	height: 0;
	margin: 0;
	overflow: hidden;
	padding-top: 70%;
	position: relative;
}
.top_news_pickup_img a {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	text-indent: -9999px;
	width: 100%;
}
.top_news_pickup_txt {
	margin-top: -46px;
	padding: 0 12px;
	position: relative;
}
.top_news_pickup_txt::before {
	content: "";
	background-color: #76cece;
	display: block;
	height: 58px;
	margin: 0 0 10px 24px;
	width: 1px;
}
.top_news_pickup_txt p:nth-of-type(1) {
	color: #a5a5a5;
	font-size: 12px;
	font-weight: bold;
}
.top_news_pickup_txt p:nth-of-type(1) time {
	font-family: "Viga";
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}
.top_news_pickup_txt p:nth-of-type(2) {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 10px;
}
.top_news_pickup_txt p:nth-of-type(2) a {
	color: #404040;
}

.top_news_pickup_none {
	margin: 50px 0 0 25px;
}

.top_news_list_wrap {
	float: right;
	width: 65%;
}
.top_news_list {
	overflow: hidden;
}
#top .top_news_list {
	margin-bottom: 15px;
}
.top_news_list .item {
	display: flex;
	margin: 0 0 20px;
}
.top_news_list .news_category,
.top_news_list .news_time {
	color: #a5a5a5;
	flex-shrink: 0;
	line-height: 1.6;
	width: 90px;
}
.top_news_list .news_time {
	font-family: "Viga";
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
}
.top_news_list .news_category {
	font-size: 12px;
	font-weight: bold;
}
.top_news_list .news_tit {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.6;
}
.top_news_list .news_tit a {
	color: #404040;
}
.device_com .top_news_list .news_tit a:hover {
	text-decoration: underline;
}

.top_news_archive {
	float: right;
}
.top_news_archive a {
	color: #76cece;
	font-weight: bold;
}
.top_news_archive i {
	border: 1px solid #76cece;
	border-radius: 18px;
	display: inline-block;
	height: 18px;
	margin: -4px 0 0 10px;
	position: relative;
	vertical-align: middle;
	width: 18px;
}
.top_news_archive i::before {
content: '';
	border-top: 1px solid #76cece;
	border-right: 1px solid #76cece;
	display: block;
	height: 5px;
	margin-left: -1px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
					transform: translate(-50%, -50%) rotate(45deg);
	vertical-align: middle;
	width: 5px;
}
.device_com .top_news_archive:hover {
	text-decoration: underline;
}
.device_com .top_news_archive:hover i {
	background-color: #76cece;
}
.device_com .top_news_archive:hover i::before {
	border-color: #fff;
}

.top_news_category h4 {
	border-left: 4px solid #76cece;
	color: #76cece;
	font-family: "Viga";
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.1em;
	padding: 0 0 0 12px;
}
.top_news_category ul {
	letter-spacing: -.5em;
}
.top_news_category ul li {
display: inline-block;
	letter-spacing: normal;
margin: 14px 0 0;
}
.top_news_category ul li:not(:last-child) {
	margin-right: 10px;
}
.top_news_category ul li a {
	background-color: #00b8b7;
	border-radius: 100px;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	padding: 4px 10px 6px;
	white-space: nowrap;
}
.season_spring .top_news_category ul li a {background-color: #00b8b7;}
.season_summer .top_news_category ul li a {background-color: #ffc600;}
.season_autumn .top_news_category ul li a {background-color: #ff9765;}
.season_winter .top_news_category ul li a {background-color: #68beff;}

/*===============================================
	トップページ：ニュース：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_news {
		padding: 10px;
	}
	.top_news .cmn_container {
		padding: 20px;
	}

	.top_news_tit {
		font-size: 35px;
	}

	.top_news_pickup {
		float: none;
		width: 100%;
	}
	.top_news_pickup_txt {
		margin-top: -40px;
		padding: 0;
	}
	.top_news_pickup_txt::before {
		height: 50px;
		margin: 0 0 5px 24px;
	}
	.top_news_pickup_txt p:nth-of-type(2) {
		font-size: 12px;
		margin: 4px 0 0;
	}

	.top_news_list_wrap {
		float: none;
		width: 100%;
	}
	.top_news_list {
		margin: 36px 0 0;
	}
	.top_news_list .item {
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-bottom: 10px;
}
	.top_news_list .news_category,
	.top_news_list .news_time {
		width: auto;
	}
	.top_news_list .news_category {
		margin-left: 10px;
	}
	.top_news_list .news_tit {
		font-size: 12px;
		width: 100%;
	}

	.top_news_archive {
		float: none;
		margin-top: 20px;
	}
	.top_news_archive a {
		background-color: #00b8b7;
		border-radius: 10px;
		display: block;
		color: #fff;
		line-height: 1;
		padding: 12px;
		position: relative;
		text-align: center;
		width: 100%;
	}
	.season_spring .top_news_archive a {background-color: #00b8b7;}
	.season_summer .top_news_archive a {background-color: #ffc600;}
	.season_autumn .top_news_archive a {background-color: #ff9765;}
	.season_winter .top_news_archive a {background-color: #68beff;}
	.top_news_archive i {
		border-color: #fff;
		margin: -9px 0 0;
		position: absolute;
		top: 50%;
		right: 12px;
	}
	.top_news_archive i::before {
		border-color: #fff;
	}

	.top_news_category {
		margin: 30px 0 0;
	}
	.top_news_category h2 {
		border-left: 4px solid #00b8b7;
		color: #00b8b7;
		font-size: 16px;
		padding: 4px 0 4px 10px;
	}
	.top_news_category ul li {
		margin: 10px 0 0;
	}
}

/* トップページ：インスタグラム
--------------------------------------------------------- */
.top_instagram {
	background: url(../img/top/visual-bg-spring.jpg) center/cover no-repeat;
	background-attachment: fixed;
	padding: 60px 0 54px;
}
.season_spring .top_instagram {background-image: url(../img/top/visual-bg-spring.jpg);}
.season_summer .top_instagram {background-image: url(../img/top/visual-bg-summer.jpg);}
.season_autumn .top_instagram {background-image: url(../img/top/visual-bg-autumn.jpg);}
.season_winter .top_instagram {background-image: url(../img/top/visual-bg-winter.jpg);}
.top_instagram_tit {
	margin-bottom: 35px;
	text-align: center;
}
.top_instagram_tit img {
	height: 30px;
	width: auto;
}

.top_instagram_inner {
	height: 240px;
	position: relative;
}
.top_instagram_list {
	-webkit-animation: instagramTicker 120s linear infinite;
					animation: instagramTicker 120s linear infinite;
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	width: 6144px;
}
@-webkit-keyframes instagramTicker {
	0% {-webkit-transform: translateX(0);transform: translateX(0);}
	100% {-webkit-transform: translateX(-50%);transform: translateX(-50%);}
}
@keyframes instagramTicker {
	0% {-webkit-transform: translateX(0);transform: translateX(0);}
	100% {-webkit-transform: translateX(-50%);transform: translateX(-50%);}
}

.top_instagram_list li {
	margin: 0 8px;
	width: 240px;
}
.top_instagram_list li a {
	background-color: #fff;
	display: block;
	height: 0;
	overflow: hidden;
	padding-top: 100%;
	position: relative;
	width: 100%;
}
.top_instagram_list li a img {
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
					transform: translate(-50%, -50%);
	transition: 0.3s;
	width: 100%;
}
.device_com .top_instagram_list li a:hover img {
	opacity: 0.75;
}

/*===============================================
	トップページ：インスタグラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_instagram {
		background-attachment: scroll;
		padding: 24px 0 30px;
	}
	.top_instagram_tit {
		margin-bottom: 20px;
	}
	.top_instagram_inner {
		height: 160px;
	}
	.top_instagram_list {
		width: 4080px;
	}
	.top_instagram_list li {
		margin: 0 5px;
		width: 160px;
	}
}

/* トップページ：バナーエリア
--------------------------------------------------------- */.top_banner_area {
	background: url(../img/top/banner-bg.jpg) center/cover no-repeat;
	padding: 120px 0;
}
.top_banner_area ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -6px -12px;
}
.top_banner_area li {
	height: 80px;
	margin: 0 10px 20px;
	width: auto;
}
.top_banner_area li a {
	display: block;
	height: 100%;
}
.top_banner_area li a img {
	height: 100%;
}
.device_com .top_banner_area li a:hover {
	opacity: 0.75;
}

/*===============================================
	トップページ：バナーエリア：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_banner_area {
		padding: 20px 0 30px;
	}
	.top_banner_area ul {
		margin: 0 0 -8px;
	}
	.top_banner_area li {
		margin: 8px 0 0;
		text-align: center;
		width: 100%;
	}
}

/* トップページ：マップ
--------------------------------------------------------- */
.top_map {
	position: relative;
}
.top_map_tit {
	color: #76cece;
	font-family: "Yellowtail";
	font-weight: 400;
	font-size: 50px;
	font-style: normal;
	letter-spacing: 0.1em;
	margin: 0 auto;
	max-width: 1000px;
	padding: 50px 0 35px;
}
.top_map_tit i {
	display: inline-block;
	margin-right: 15px;
	vertical-align: middle;
}
.top_map_tit i img {
	height: 36px;
}

.top_map_canvas {
	height: 270px;
	width: 100%;
}

.top_map_indoor {
	margin-right: -500px;
	position: absolute;
	top: 42px;
	right: 50%;
}
.top_map_indoor a {
	border: 3px solid #666;
	border-radius: 33px;
	color: #666;
	display: block;
	height: 100%;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	padding: 8px 15px 8px 60px;
	position: relative;
	transition: 0.3s;
}
.top_map_indoor a::before {
	content: '';
	background: url(../img/top/map_icn_indoor01.png) center/contain no-repeat;
	display: inline-block;
	height: 41px;
	position: absolute;
	top: 8px;
	left: 18px;
	width: 33px;
}
.top_map_indoor a span {
	display: block;
	font-size: 14px;
	font-weight: normal;
}
.device_com .top_map_indoor a:hover {
	background-color: #666;
	color: #fff;
}
.device_com .top_map_indoor a:hover::before {
	background-image: url(../img/top/map_icn_indoor01_on.png);
}

.top_map_access {
	margin-left: -330px;
	position: absolute;
	top: 70px;
	left: 50%;
}
.top_map_access a {
	color: #76cece;
	font-size: 14px;
	font-weight: bold;
	position: relative;
}
.top_map_access a i {
	border: 1px solid #76cece;
	border-radius: 18px;
	display: inline-block;
	height: 18px;
	margin: -4px 0 0 10px;
	position: relative;
	vertical-align: middle;
	width: 18px;
}
.top_map_access a i::before {
	content: "";
	border-top: 1px solid #76cece;
	border-right: 1px solid #76cece;
	display: block;
	height: 5px;
	margin-left: -1px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
					transform: translate(-50%, -50%) rotate(45deg);
	vertical-align: middle;
	width: 5px;
}
.device_com .top_map_access a:hover {
	text-decoration: underline;
}
.device_com .top_map_access a:hover i {
background-color: #76cece;
}
.device_com .top_map_access a:hover i::before {
border-color: #fff;
}

/*===============================================
	トップページ：マップ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_map_tit {
		font-size: 35px;
		padding: 20px 0 18px;
		text-align: center;
	}
	.top_map_tit i {
		margin-right: 10px;
	}
	.top_map_tit i img {
		height: 28px;
	}

	.top_map_indoor {
		margin: 15px auto 10px;
		height: 60px;
		position: static;
		width: 90%;
	}
	.top_map_indoor a {
		line-height: 54px;
		font-size: 16px;
		padding: 0;
		text-align: center;
	}
	.top_map_indoor a::before {
		height: 38px;
		margin-right: 3px;
		position: static;
		vertical-align: middle;
		width: 30px;
	}
	.top_map_indoor a span {
		display: inline;
		font-size: 13px;
	}

	.top_map_access {
		display: block;
		margin: 0 auto 25px;
		position: static;
		width: 90%;
	}
	.top_map_access a {
		background-color: #00b8b7;
		border-radius: 10px;
		color: #fff;
		display: block;
		font-weight: normal;
		line-height: 1em;
		padding: 12px;
		position: relative;
		text-align: center;
		width: 100%;
		text-align: center;
	}
	.season_spring .top_map_access a {background-color: #00b8b7;}
	.season_summer .top_map_access a {background-color: #ffc600;}
	.season_autumn .top_map_access a {background-color: #ff9765;}
	.season_winter .top_map_access a {background-color: #68beff;}
	.top_map_access a i {
		border-color: #fff;
		margin-top: -9px;
		position: absolute;
		top: 50%;
		right: 12px;
}
	.top_map_access a i::before {
		border-color: #fff;
	}
}



/* ---------------------------------------------------------

	07. 学校紹介

--------------------------------------------------------- */
.cat_intro .cmn_mv {background-image: url(../img/intro/intro_mv01.jpg);}

/* 学校長あいさつ
--------------------------------------------------------- */
.intro_message {
	margin-bottom: 150px;
}
.intro_message .cmn_container::after {
	content: url(../img/intro/message_item01.png);
	position: absolute;
	bottom: -40px;
	left: 35px;
	z-index: 1;
}
.intro_message_tit {
	position: absolute;
	top: 140px;
	left: 420px;
	text-align: right;
}
.intro_message_tit span:nth-child(1) {
	display: block;
	font-size: 28px;
	font-weight: normal;
	line-height: 1.3;
	margin-bottom: 20px;
}
.intro_message_tit span:nth-child(2) {
	font-size: 14px;
	font-weight: normal;
}
.intro_message_tit span:nth-child(3) {
	font-size: 24px;
	font-weight: normal;
	margin-left: 15px;
	vertical-align: middle;
}
.intro_message_box {
	background-color: #fff;
	line-height: 2.0;
	margin: -150px 0 0 auto;
	padding: 40px 45px;
	position: relative;
	width: 82%;
	z-index: 1;
}
.intro_message_box p em {
	font-size: 1.125em;
	font-style: normal;
	font-weight: bold;
}
.intro_message_profile {
	margin: 2em 0;
}
.intro_message_profile dt {
	font-size: 1.125em;
	font-weight: bold;
}
.intro_message_profile dd + dt {
	margin-top: 1em;
}
.intro_message_profile dd {
	margin-left: 1em;
}
.intro_message_paper {
	margin: 0.2em 0 1em 1em;
}
.intro_message_paper dt {
	font-weight: bold;
}
.intro_message_paper dd + dt {
	margin-top: 1em;
}
.intro_message_paper ol {
	list-style: decimal;
	padding-left: 2.3em;
}

.intro_precepts .cmn_container::after {
	content: url(../img/intro/message_item02.png);
	position: absolute;
	top: -20px;
	right: -80px;
}
.intro_precepts_tit {
	background-color: #fff;
	display: inline-block;
	margin-left: 65px;
	padding: 40px 80px;
	position: relative;
}
.intro_precepts_tit::after {
	content: 'Precepts';
	color: #76cece;
	font-family: 'Yellowtail', sans-serif;
	font-size: 46px;
	font-weight: normal;
	letter-spacing: 0.1em;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
					transform: translate(-50%, -50%);
}
.intro_precepts_img {
	margin-top: -50px;
}
.intro_precepts_box {
	background-color: #fff;
	margin: -60px auto 90px;
	padding: 45px;
	position: relative;
	width: 78%;
	z-index: 10;
}
.intro_precepts_box h4 {
	margin: 0 auto 30px;
	max-width: 515px;
	text-align: center;
}
.intro_precepts_box p {
	line-height: 2.0;
}

.intro_list {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 90px 0 105px;
}
.season_spring .intro_list {background-image: url(../img/top/visual-bg-spring.jpg);}
.season_summer .intro_list {background-image: url(../img/top/visual-bg-summer.jpg);}
.season_autumn .intro_list {background-image: url(../img/top/visual-bg-autumn.jpg);}
.season_winter .intro_list {background-image: url(../img/top/visual-bg-winter.jpg);}

.intro_list dl {
	display: flex;
	flex-wrap: wrap;
}
.intro_list dt {
	background-color: #76cece;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	font-weight: bold;
	width: 350px;
}
.intro_list dd + dt,
.intro_list dd + dt + dd {
	margin-top: 40px;
}
.intro_list dd {
	background-color: #fff;
	font-size: 26px;
	padding: 30px;
	width: calc(100% - 350px);
}
.intro_list dd:last-child {
	padding: 60px 30px;
}
.intro_list dd li {
	font-size: 20px;
	line-height: 1.8;
	list-style: upper-roman;
	margin-left: 1.5em;
}
.intro_list dd li strong {
	color: #f00;
	font-weight: normal;
}

/*===============================================
	学校長あいさつ：960px未満
===============================================*/
@media screen and (max-width:959px) {
	.intro_message {
		margin-bottom: 50px;
	}
	.intro_message .cmn_container::after {
		display: none;
	}
	.intro_message_tit {
		background-color: #fff;
		margin: -30px auto 0;
		padding: 10px;
		position: static;
		text-align: left;
		width: 90%;
	}
	.intro_message_tit span:nth-child(1) {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.intro_message_tit span:nth-child(2) {
		font-size: 12px;
	}
	.intro_message_tit span:nth-child(3) {
		font-size: 18px;
		margin-left: 10px;
	}
	.intro_message_img {
		overflow: hidden;
		position: relative;
		z-index: -1;
	}
	.intro_message_img img {
		max-width: inherit;
		width: 182%;
	}
	.intro_message_box {
		line-height: 1.8;
		margin: 0 auto;
		padding: 10px;
		width: 90%;
	}
	.intro_message_profile {margin: 1.5em 0;}
	.intro_message_profile dd {margin-left: 0;}
	.intro_message_paper {margin-left: 0;}
	.intro_message_paper ol {padding-left: 1.3em;}

	.intro_precepts .cmn_container::after {
		display: none;
	}
	.intro_precepts_tit {
		margin-left: 15px;
		padding: 20px 15px 15px;
	}
	.intro_precepts_tit::after {
		font-size: 26px;
	}
	.intro_precepts_img {
		margin-top: -25px;
	}
	.intro_precepts_box {
		margin: -30px auto 40px;
		padding: 10px;
		width: 90%;
	}
	.intro_precepts_box h4 {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.intro_precepts_box p {
		line-height: 1.8;
	}

	.intro_list {
		background-attachment: scroll;
		padding: 40px 0;
	}
	.intro_list dl {
		display: block;
	}
	.intro_list dt {
		font-size: 20px;
		padding: 10px;
		width: 100%;
	}
	.intro_list dd + dt {
		margin-top: 15px;
	}
	.intro_list dd + dt + dd {
		margin-top: 0;
	}
	.intro_list dd {
		font-size: 16px;
		padding: 10px;
		width: 100%;
	}
	.intro_list dd:last-child {
		display: flex;
		justify-content: center;
		padding: 20px 10px;
	}
	.intro_list dd li {
		font-size: 14px;
	}
}

/* 沿革
--------------------------------------------------------- */
#history .cmn_sec_mv {
	background-image: url(../img/intro/history_mv01.jpg);
}

.history_table th {
	white-space: nowrap;
}

/* 施設紹介
--------------------------------------------------------- */
#facility .cmn_anchor li:nth-child(1) a::before {
	background-image: url(../img/intro/facility_anchor_bg01.jpg);
}
#facility .cmn_anchor li:nth-child(2) a::before {
	background-image: url(../img/intro/facility_anchor_bg02.jpg);
}

#facility .facility_mv01 {
	background-image: url(../img/intro/facility_mv01.jpg);
}
#facility .facility_mv02 {
	background-image: url(../img/intro/facility_mv02.jpg);
}

.facility_list {
	display: flex;
	flex-wrap: wrap;
	margin: 40px auto 0;
	max-width: 1000px;
}
.facility_list li {
	margin-bottom: 3%;
	width: 31%;
}
.facility_list li:not(:nth-child(3n)) {
	margin-right: 3.5%;
}
.facility_list a {
	color: #76cece;
	outline: none;
}
.facility_list .txt {
	display: block;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}
.facility_list .img {
	display: block;
	overflow: hidden;
}
.facility_list a .img img {
	transition: 0.3s;
}
.facility_list a:hover .img img {
	-webkit-transform: scale(1.1);
					transform: scale(1.1);
}

.facility_cafe {
	margin-bottom: 65px;
}
.facility_cafe_box {
	background: url(../img/intro/facility_cafe_img01.jpg) no-repeat;
	background-size: contain;
	display: flex;
	align-items: center;
	margin-bottom: 55px;
	height: 525px;
}
.facility_cafe_box_inner {
	background-color: #fff;
	margin-left: auto;
	padding: 50px 40px 50px 0;
	position: relative;
	width: calc(54% - 40px);
}
.facility_cafe_box_inner::before {
	content: '';
	border: 20px solid transparent;
	border-right-color: #fff;
	border-bottom-color: #fff;
	display: block;
	height: 0;
	position: absolute;
	top: 0;
	left: -40px;
	width: 0;
}
.facility_cafe_box_inner::after {
	content: '';
	border: 20px solid transparent;
	border-right-color: #f6f6f6;
	border-bottom-color: #f6f6f6;
	display: block;
	height: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
}
.facility_cafe_box_inner h3 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 25px;
	text-align: center;
}
.facility_cafe_box_inner h3::after {
	content: '';
	background-color: #fff;
	display: block;
	height: calc(100% - 40px);
	position: absolute;
	top: 40px;
	left: -40px;
	width: 40px;
}
.facility_cafe_box_inner p {
	line-height: 2.0;
}
.facility_cafe_list {
	display: flex;
	justify-content: center;
	position: relative;
}
.facility_cafe_list::after {
	content: '';
	background: url(../img/intro/facility_cafe_item01.png) no-repeat;
	background-size: contain;
	display: block;
	height: 122px;
	position: absolute;
	top: -110px;
	right: 40px;
	width: 280px;
}
.facility_cafe_list li {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto 61px;
	margin: 0 20px;
	padding-top: 75px;
	width: 17.5%;
}
.facility_cafe_list li:nth-child(1) {background-image: url(../img/intro/facility_cafe_ico01.png);}
.facility_cafe_list li:nth-child(2) {background-image: url(../img/intro/facility_cafe_ico02.png);}
.facility_cafe_list li:nth-child(3) {background-image: url(../img/intro/facility_cafe_ico03.png);}
.facility_cafe_list li:nth-child(4) {background-image: url(../img/intro/facility_cafe_ico04.png);}
.facility_cafe_list h4 {
	border-bottom: 5px dotted #dadada;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 20px;
	text-align: center;
}
.facility_cafe_list p {
	line-height: 1.8;
}

/*===============================================
	施設紹介：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.facility_list {
		margin: 30px auto 0;
		padding: 0 10px;
	}
	.facility_list li {
		margin-bottom: 20px;
		width: 48%;
	}
	.facility_list li:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.facility_list li:not(:nth-child(even)) {
		margin-right: 4%;
	}
	.facility_list .txt {
		font-size: 14px;
		margin-bottom: 5px;
	}

	.facility_cafe {
		margin-bottom: 40px;
	}
	.facility_cafe_box {
		background-position: center top;
		background-size: contain;
		display: block;
		margin-bottom: 23%;
		height: 500px;
		padding-top: 60%;
	}
	.facility_cafe_box_inner {
		margin: 0 auto;
		padding: 15px;
		width: 90%;
	}
	.facility_cafe_box_inner::before,
	.facility_cafe_box_inner::after {
		display: none;
	}
	.facility_cafe_box_inner h3 {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.facility_cafe_box_inner h3::after {
		display: none;
	}
	.facility_cafe_box_inner p {
		line-height: 1.8;
	}
	.facility_cafe_list {
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: -10px;
	}
	.facility_cafe_list::after {
		top: -90px;
		right: 50%;
		-webkit-transform: translateX(50%) rotate(-11deg);
						transform: translateX(50%) rotate(-11deg);
		width: 220px;
	}
	.facility_cafe_list li {
		background-size: auto 50px;
		margin: 0 0 10px;
		padding-top: 60px;
		width: 45%;
	}
	.facility_cafe_list li:nth-child(odd) {
		margin-right: 10%;
	}
	.facility_cafe_list h4 {
		border-bottom: 3px dotted #dadada;
		font-size: 16px;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
}

/* 制服について
--------------------------------------------------------- */
#uniform .cmn_sec_mv {
	background-image: url(../img/intro/uniform_mv01.jpg);
}

.uniform_box {
	display: flex;
	justify-content: space-between;
}
.uniform_column {
	width: 45%;
}

.uniform_tit {
	color: #76cece;
	font-family: 'Yellowtail', sans-serif;
	font-size: 60px;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	text-align: center;
}
.uniform_subtit {
	color: #76cece;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
	text-align: center;
}
.uniform_img {
	margin: 0 auto 30px;
	max-width: 250px;
}

.uniform_list {
	display: flex;
	flex-wrap: wrap;
	margin: 50px 0 20px;
}
.uniform_list li {
	margin-bottom: 40px;
	width: 31%;
}
.uniform_list li:not(:nth-child(3n)) {
	margin-right: 3.5%;
}
.uniform_list .img {
	margin-bottom: 10px;
}
.uniform_list .tit {
	font-size: 16px;
	font-weight: bold;
}

/*===============================================
	制服について：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.uniform_box {
		display: block;
	}
	.uniform_column {
		width: 100%;
	}
	.uniform_column + .uniform_column {
		margin-top: 30px;
	}

	.uniform_tit {
		font-size: 30px;
		margin-bottom: 10px;
	}
	.uniform_subtit {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.uniform_img {
		margin: 0 auto 20px;
	}

	.uniform_list {
		margin: 25px 0 0;
	}
	.uniform_list li {
		margin-bottom: 25px;
		width: 46%;
	}
	.uniform_list li:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.uniform_list li:nth-child(odd) {
		margin-right: 8%;
	}
	.uniform_list .tit {
		font-size: 15px;
	}
}

/*===============================================
	制服について：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.uniform_list {
		display: block;
		margin: 25px auto;
		max-width: 260px;
	}
	.uniform_list li {
		margin-bottom: 20px;
		width: 100%;
	}
	.uniform_list li:nth-child(odd) {
		margin-right: 0;
	}
}



/* ---------------------------------------------------------

	08. コースの学び

--------------------------------------------------------- */
.cat_course .cmn_mv {background-image: url(../img/course/course_mv01.jpg);}

/* コースの特性
--------------------------------------------------------- */
#system .system_mv01 {
	background-image: url(../img/course/system_mv01.jpg);
}
#system .system_mv02 {
	background-image: url(../img/course/system_mv02.jpg);
}
#system .cmn_anchor li:nth-child(1) a::before {
	background-image: url(../img/course/2019/system_anchor_bg01.jpg);
}
#system .cmn_anchor li:nth-child(2) a::before {
	background-image: url(../img/course/2019/system_anchor_bg02.jpg);
}

.system_list {
	margin-top: 30px;
}
.system_list li {
	background-color: #76cece;
	color: #fff;
	font-weight: bold;
	padding: 20px;
	text-align: center;
}

.system_column {
	background-color: #f6f6f6;
	padding: 20px;
}
.system_column h5 {
	color: #00b8b7;
}

/*===============================================
	コースの特性：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.system_list {
		margin-top: 25px;
	}
	.system_list li {
		padding: 10px;
	}
	.system_list li + li {
		margin-top: 10px;
	}

	.system_column {
		margin-top: 10px;
		padding: 15px;
	}
}

/* 特進コース・総合選抜コース
--------------------------------------------------------- */
#tokushin .cmn_sec_mv {
	background-image: url(../img/course/2019/tokushin_mv01.jpg);
}
#bunri .cmn_sec_mv {
	background-image: url(../img/course/2019/bunri_mv01.jpg);
}

.course_point_tit {
	color: #00b8b7;
	font-size: 14px;
	font-weight: bold;
	margin: 30px 0 10px;
}
.course_point {
	background-color: #f6f6f6;
	color: #00b8b7;
	font-weight: bold;
	margin-bottom: 30px;
	padding: 20px;
}

.course_flow_year {
	color: #00b8b7;
	font-weight: bold;
	margin-bottom: 5px;
}
.course_flow_box {
	background-color: #76cece;
	color: #fff;
	font-weight: bold;
	padding: 15px;
}
.course_flow_box h6 {
	font-size: 18px;
	font-weight: bold;
}

.course_img_table {
	margin: 50px 0;
}

/*===============================================
	特進コース・総合選抜コース：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.course_flow_list {
		margin-bottom: 25px;
	}

	.course_img_table {
		margin: 10px 0 30px;
	}
}

/*===============================================
	特進コース・総合選抜コース：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.course_point_tit {
		margin: 25px 0 10px;
	}
	.course_point {
		margin-bottom: 25px;
		padding: 15px;
	}

	.course_flow_list > li + li {
		margin-top: 15px;
	}
	.course_flow_box h6 {
		font-size: 16px;
		font-weight: bold;
	}
}



/* ---------------------------------------------------------

	09. 教育の特色

--------------------------------------------------------- */
.cat_feature .cmn_mv {background-image: url(../img/feature/feature_mv01.jpg);}

/* D-Project
--------------------------------------------------------- */
#dproject {
	counter-reset: dprojectNum;
}
.dproject_anchor {
	background-color: #00b8b7;
	margin: 0 auto -90px;
	max-width: 1000px;
	position: relative;
	z-index: 10;
}
.season_spring .dproject_anchor {background-color: #00b8b7;}
.season_summer .dproject_anchor {background-color: #ffc600;}
.season_autumn .dproject_anchor {background-color: #ff9765;}
.season_winter .dproject_anchor {background-color: #68beff;}
.dproject_anchor ul {
	display: flex;
	height: 180px;
}
.dproject_anchor li {
	display: table;
	height: 100%;
	position: relative;
	width: 20%;
}
.dproject_anchor li:not(:last-child) {
	border-right: 1px solid rgba(255,255,255,0.5);
}
.dproject_anchor a {
	background-color: #00b8b7;
	color: #fff;
	display: table-cell;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: bold;
	height: 100%;
	letter-spacing: 0.1em;
	line-height: 1.5;
	padding-bottom: 30px;
	position: relative;
	text-align: center;
	transition: 0.3s;
	vertical-align: middle;
}
.dproject_anchor a::after {
	content: '';
	background: url(../img/common/anchor_ico_arrow01.png) no-repeat;
	background-size: contain;
	display: block;
	height: 22px;
	margin: 15px auto 0;
	position: absolute;
	bottom: 50px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	width: 22px;
}
.season_spring .dproject_anchor a {background-color: #00b8b7;}
.season_summer .dproject_anchor a {background-color: #ffc600;}
.season_autumn .dproject_anchor a {background-color: #ff9765;}
.season_winter .dproject_anchor a {background-color: #68beff;}
.device_com .dproject_anchor a:hover {
	background-color: #76cece;
	opacity: 1;
}
.season_spring .dproject_anchor a:hover {background-color: #76cece;}
.season_summer .dproject_anchor a:hover {background-color: #ffda5a;}
.season_autumn .dproject_anchor a:hover {background-color: #ffb795;}
.season_winter .dproject_anchor a:hover {background-color: #9bd4ff;}

#dproject .cmn_sec_mv {
	background-image: url(../img/feature/dproject_mv01.jpg);
}

.dproject_tit {
	font-size: 34px;
	font-weight: bold;
	margin-bottom: 40px;
	text-align: center;
}
.dproject_tit span {
	background: url(../img/feature/dproject_tit01.png) no-repeat;
	background-size: contain;
	display: inline-block;
	height: 53px;
	margin-right: 10px;
	position: relative;
	top: -4px;
	text-indent: -9999px;
	vertical-align: middle;
	width: 255px;
}
.dproject_subtit {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 25px;
	text-align: center;
}
.dproject_lead {
	font-size: 16px;
}

.dproject_box {
	counter-increment: dprojectNum;
	position: relative;
}
.dproject_box[id]::before {
	content: counter(dprojectNum, decimal-leading-zero);
	color: #76cece;
	font-family: 'Yellowtail', sans-serif;
	font-size: 120px;
	font-weight: normal;
	letter-spacing: 0.1em;
	position: absolute;
	top: -62px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
}

.dproject01_wrap {
	padding-bottom: 140px;
	position: relative;
}
.dproject01_wrap::after {
	content: '';
	background: url(../img/feature/dproject_01_bg01.png) right top/100% 100% no-repeat;
	display: block;
	height: calc(100% - 100px);
	position: absolute;
	top: 100px;
	width: 100vw;
	z-index: -1;
}
.dproject01_list {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.dproject01_list li {
	font-size: 16px;
	font-weight: bold;
	position: relative;
	text-align: center;
	width: 28%;
}
.dproject01_list .tag {
	color: #76cece;
	font-family: 'Yellowtail', sans-serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 0.1em;
	position: absolute;
	top: -35px;
	left: -10px;
	-webkit-transform: rotate(-10deg);
					transform: rotate(-10deg);
}
.dproject01_list .tag span {
	font-size: 62px;
	margin-left: 0.2em;
}
.dproject01_list .img {
	margin-bottom: 15px;
}
.dproject01_list .txt {
	line-height: 1.6;
}
.dproject01_list .txt span {
	display: block;
	font-size: 18px;
}

#dproject02 {
	margin-bottom: 90px;
	padding-top: 90px;
}
.dproject02_list {
	display: flex;
	flex-wrap: wrap;
}
.dproject02_list li {
	width: 50%;
}
.dproject02_list .img {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	text-indent: -9999px;
}
.dproject02_list li:nth-child(1) {
	background-image: url(../img/feature/dproject_02_img01.jpg);
	order: 1;
}
.dproject02_list li:nth-child(3) {
	background-image: url(../img/feature/dproject_02_img02.jpg);
	order: 4;
}
.dproject02_list li:nth-child(5) {
	background-image: url(../img/feature/dproject_02_img03.jpg);
	order: 5;
}
.dproject02_list li:nth-child(7) {
	background-image: url(../img/feature/dproject_02_img04.jpg);
	order: 8;
}
.dproject02_list li:nth-child(2) {
	background-color: #00b8b7;
	order: 2;
}
.dproject02_list li:nth-child(4) {
	background-color: #ffc600;
	order: 3;
}
.dproject02_list li:nth-child(6) {
	background-color: #ff9765;
	order: 6;
}
.dproject02_list li:nth-child(8) {
	background-color: #68beff;
	order: 7;
}
.dproject02_inner {
	color: #fff;
	max-width: 500px;
	padding: 50px 40px;
}
.dproject02_list li:nth-child(4n) .dproject02_inner {
	margin-left: auto;
}
.dproject02_inner h4 {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 41px auto;
	font-size: 26px;
	font-weight: bold;
	line-height: 36px;
	margin-bottom: 30px;
	padding-left: 50px;
}
.dproject02_list li:nth-child(2) .dproject02_inner h4 {background-image: url(../img/feature/dproject_02_ico01.png);}
.dproject02_list li:nth-child(4) .dproject02_inner h4 {background-image: url(../img/feature/dproject_02_ico02.png);}
.dproject02_list li:nth-child(6) .dproject02_inner h4 {background-image: url(../img/feature/dproject_02_ico03.png);}
.dproject02_list li:nth-child(8) .dproject02_inner h4 {background-image: url(../img/feature/dproject_02_ico04.png);}
.dproject02_inner h5 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 25px;
}
.dproject02_inner p {
	line-height: 1.8;
}

#dproject03 {
	margin-bottom: 120px;
	padding-top: 90px;
}
.dproject03_img {
	margin: 60px auto 50px;
	max-width: 622px;
}
.dproject03_box {
	background-color: rgba(118,206,206,0.2);
	border: 2px solid #76cece;
	display: flex;
	padding: 30px;
	position: relative;
}
.dproject03_box::after {
	content: '';
	background: url(../img/feature/dproject_03_bg01.png) center top/ contain no-repeat;
	display: block;
	height: 29px;
	margin-left: -29px;
	position: absolute;
	top: -29px;
	left: 50%;
	width: 64px;
}
.dproject03_box ul {
	width: 50%;
}
.dproject03_box li {
	background: url(../img/feature/dproject_03_ico01.png) left 10px/17px no-repeat;
	font-size: 18px;
	font-weight: bold;
	line-height: 2.0;
	padding-left: 30px;
}

.dproject04_wrap {
	position: relative;
}
.dproject04_wrap::after {
	content: '';
	background: url(../img/feature/dproject_04_bg01.png) left top/100% 1006px no-repeat;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 100vw;
	z-index: -1;
}
#dproject04 {
	margin-bottom: 100px;
	padding-top: 90px;
}
.dproject04_list li {
	position: relative;
}
.dproject04_list li + li {
	margin-top: 70px;
}
.dproject04_list li:nth-child(3) {
	margin-top: 50px;
}
.dproject04_inner {
	background-color: #fff;
	padding: 70px 30px 50px;
	position: absolute;
	width: 50%;
	z-index: 10;
}
.dproject04_inner::before,
.dproject04_inner::after {
	content: '';
	background-color: #fff;
	display: block;
	height: calc(100% - 40px);
	position: absolute;
	width: 40px;
}
.dproject04_inner::before {
	bottom: 0;
	left: -40px;
}
.dproject04_inner::after {
	top: 0;
	right: -40px;
}
.dproject04_inner h4 {
	font-family: 'Yellowtail', sans-serif;
	font-size: 38px;
	font-weight: normal;
	letter-spacing: 0.1em;
	position: absolute;
	top: -19px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
}
.dproject04_inner h4::before {
	content: '';
	background: url(../img/feature/dproject_04_tit01.png) center/contain no-repeat;
	display: block;
	height: 94px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
					transform: translate(-50%, -50%);
	width: 241px;
}
.dproject04_inner h5 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 25px;
	text-align: center;
}
.dproject04_inner h5::before,
.dproject04_inner h5::after {
	content: '';
	border: 20px solid transparent;
	display: block;
	height: 0;
	position: absolute;
	width: 0;
}
.dproject04_inner h5::before {
	border-right-color: #fff;
	border-bottom-color: #fff;
	top: 0;
	left: -40px;
}
.dproject04_inner h5::after {
	border-top-color: #fff;
	border-left-color: #fff;
	bottom: 0;
	right: -40px;
}
.dproject04_inner p {
	line-height: 1.8;
}
.dproject04_img {
	width: 50%;
}
.dproject04_list li:nth-child(even) .dproject04_img {margin-left: auto;}
.dproject04_list li:nth-child(odd) .dproject04_inner {right: 40px;}
.dproject04_list li:nth-child(even) .dproject04_inner {left: 40px;}
.dproject04_list li:nth-child(1) .dproject04_inner {margin-top: -220px;}
.dproject04_list li:nth-child(2) .dproject04_inner {margin-top: -295px;}
.dproject04_list li:nth-child(3) .dproject04_inner {margin-top: -260px;}
.dproject04_list li:nth-child(4) .dproject04_inner {margin-top: -280px;}
.dproject04_list li:nth-child(5) .dproject04_inner {margin-top: -290px;}

#dproject05 {
	margin-bottom: 90px;
}
.dproject05_mv {
	background: url(../img/feature/2019/dproject_05_mv01.jpg) center/cover no-repeat;
	color: #fff;
	display: flex;
	font-size: 34px;
	font-weight: bold;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 60px;
	height: 360px;
	text-align: center;
}
.dproject05_mv span {
	display: block;
	font-family: 'Yellowtail', sans-serif;
	font-size: 120px;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}
.dproject05_box {
	position: relative;
}
.dproject05_box + .dproject05_box {
	margin-top: 60px;
}
.dproject05_img {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	height: 350px;
	text-indent: -9999px;
	position: relative;
	z-index: -1;
}
.dproject05_box:first-child .dproject05_img {background-image: url(../img/feature/2019/dproject_05_img01.jpg);}
.dproject05_box:last-child .dproject05_img {background-image: url(../img/feature/2019/dproject_05_img02.jpg);}
.dproject05_tag {
	max-width: 350px;
	position: absolute;
	top: 120px;
}
.dproject05_box:first-child .dproject05_tag {
	left: 540px;
}
.dproject05_box:last-child .dproject05_tag {
	left: 75px;
}
.dproject05_club {
	background-color: #68beff;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	padding: 10px 15px;
}
.dproject05_school {
	background-color: #00b8b7;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	padding: 10px 15px;
}
.dproject05_name {
	background-color: #ffc600;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	margin-top: 15px;
	padding: 8px 15px;
}
.dproject05_name span {
	font-size: 22px;
	font-weight: bold;
}
.dproject05_txt {
	background-color: #fff;
	margin: -70px auto 0;
	padding: 50px;
	width: 78%;
	z-index: 10;
}
.dproject05_txt h4 {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 25px;
	text-align: center;
}
.dproject05_txt p {
	line-height: 2.0;
}

/*===============================================
	D-Project：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.dproject_anchor {
		margin: 0 auto 25px;
	}
	.dproject_anchor ul {
		display: block;
		height: auto;
	}
	.dproject_anchor li {
		display: block;
		width: 100%;
	}
	.dproject_anchor li:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid #76cece;
	}
	.season_spring .dproject_anchor li:not(:last-child) {border-bottom-color: #76cece;}
	.season_summer .dproject_anchor li:not(:last-child) {border-bottom-color: #ffda5a;}
	.season_autumn .dproject_anchor li:not(:last-child) {border-bottom-color: #ffb795;}
	.season_winter .dproject_anchor li:not(:last-child) {border-bottom-color: #9bd4ff;}
	.dproject_anchor a {
		display: block;
		font-size: 14px;
		line-height: 1;
		padding: 14px 0;
	}
	.dproject_anchor a::after {
		display: inline-block;
		height: 18px;
		margin: 0 0 0 8px;
		position: static;
		-webkit-transform: none;
						transform: none;
		vertical-align: middle;
		width: 18px;
	}

	.dproject_tit {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.dproject_tit span {
		height: 30px;
		margin-right: 5px;
		top: -3px;
		width: 145px;
	}
	.dproject_subtit {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.dproject_lead {
		font-size: 14px;
	}

	.dproject_box[id]::before {
		font-size: 60px;
		top: -32px;
	}

	#dproject01 {
		padding-top: 40px;
	}
	.dproject01_wrap {
		padding-bottom: 80px;
		position: relative;
	}
	.dproject01_wrap::after {
		height: calc(100% - 40px);
		top: 40px;
	}
	.dproject01_list {
		display: block;
		margin: 30px auto 0;
		max-width: 250px;
	}
	.dproject01_list li {
		font-size: 14px;
		width: 100%;
	}
	.dproject01_list li + li {
		margin-top: 25px;
	}
	.dproject01_list .tag {
		font-size: 30px;
		top: -25px;
	}
	.dproject01_list .tag span {
		font-size: 42px;
	}
	.dproject01_list .img {
		margin-bottom: 10px;
	}
	.dproject01_list .txt span {
		display: inline;
		font-size: 16px;
	}

	#dproject02 {
		margin-bottom: 70px;
		padding-top: 40px;
	}
	.dproject02_list {
		display: block;
	}
	.dproject02_list li {
		width: 100%;
	}
	.dproject02_list .img {
		height: 150px;
	}
	.dproject02_list .txt + .img {
		margin-top: 15px;
	}
	.dproject02_inner {
		max-width: inherit;
			padding:10px 10px;
	}
	.dproject02_list li:nth-child(4n) .dproject02_inner {
		margin-left: 0;
	}
	.dproject02_inner h4 {
		background-size: 30px auto;
		font-size: 20px;
		margin-bottom: 15px;
		padding-left: 35px;
	}
	.dproject02_inner h5 {
		font-size: 16px;
		margin-bottom: 15px;
	}

	#dproject03 {
		margin-bottom: 70px;
		padding-top: 45px;
	}
	.dproject03_img {
		margin: 30px auto;
	}
	.dproject03_box {
		display: block;
		padding: 15px;
	}
	.dproject03_box ul {
		width: 100%;
	}
	.dproject03_box li {
		background-size: 10px;
		font-size: 14px;
		padding-left: 20px;
	}

	.dproject04_wrap::after {
		content: '';
		background: url(../img/feature/dproject_04_bg01.png) left top/100% 1006px no-repeat;
		display: block;
		height: 100%;
		position: absolute;
		top: 0;
		width: 100vw;
		z-index: -1;
	}
	#dproject04 {
		margin-bottom: 50px;
		padding-top: 45px;
	}
	.dproject04_list {
		margin-top: 50px;
	}
	.dproject04_list li + li {
		margin-top: 50px;
	}
	.dproject04_inner {
		padding: 15px;
		position: static;
		width: 100%;
	}
	.dproject04_inner::before,
	.dproject04_inner::after {
		display: none;
	}
	.dproject04_inner h4 {
		font-size: 28px;
		top: -14px;
	}
	.dproject04_inner h4::before {
		height: 60px;
	}
	.dproject04_inner h5 {
		font-size: 18px;
		margin-bottom: 10px;
		text-align: center;
	}
	.dproject04_inner h5::before,
	.dproject04_inner h5::after {
		display: none;
	}
	.dproject04_img {
		width: 100%;
	}
	.dproject04_list li:nth-child(even) .dproject04_img {margin-left: 0;}
	.dproject04_list li:nth-child(1) .dproject04_inner,
	.dproject04_list li:nth-child(2) .dproject04_inner,
	.dproject04_list li:nth-child(3) .dproject04_inner,
	.dproject04_list li:nth-child(4) .dproject04_inner,
	.dproject04_list li:nth-child(5) .dproject04_inner {margin-top: 0;}

	#dproject05 {
		margin-bottom: 40px;
	}
	.dproject05_mv {
		font-size: 22px;
		margin-bottom: 30px;
		height: 130px;
	}
	.dproject05_mv span {
		font-size: 60px;
		margin-bottom: 5px;
	}
	.dproject05_box + .dproject05_box {
		margin-top: 40px;
	}
	.dproject05_img {
		height: 180px;
	}
	.dproject05_box:first-child .dproject05_img {background-position: left top;}
	.dproject05_box:last-child .dproject05_img {background-position: right top;}
	.dproject05_tag {
		background-color: #fff;
		margin: 0 auto;
		max-width: inherit;
		padding: 10px 10px 0;
		position: static;
		width: 90%;
	}
	.dproject05_box:last-child .dproject05_school {
		margin-top: 5px;
	}
	.dproject05_club {
		font-size: 14px;
		padding: 10px;
	}
	.dproject05_school {
		font-size: 14px;
		padding: 10px;
	}
	.dproject05_name {
		font-size: 14px;
		margin-top: 5px;
		padding: 8px 10px;
	}
	.dproject05_name span {
		font-size: 18px;
	}
	.dproject05_txt {
		margin: 0 auto;
		padding: 15px;
		width: 90%;
	}
	.dproject05_txt h4 {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 15px;
	}
	.dproject05_txt p {
		line-height: 1.8;
	}
}

/* スタディサプリ
--------------------------------------------------------- */
#sapuri {
	counter-reset: dprojectNum;
}
#sapuri .cmn_mv h2 {font-weight: bold !important;}

.sapuri_anchor {
	width: 600px;
}
.sapuri_anchor li {
	width: 33.33%;
}

.sapuri_mv01 {
	background-image: url(../img/feature/sapuri_mv01.jpg);
}
.sapuri_mv02 {
	background-image: url(../img/feature/sapuri_mv02.jpg);
}

.sapuri_tit {
	font-size: 34px;
	font-weight: bold;
	margin-bottom: 40px;
	text-align: center;
}
.sapuri_tit span {
	background: url(../img/feature/sapuri_tit01.png) no-repeat;
	background-size: contain;
	display: inline-block;
	height: 51px;
	margin-right: 10px;
	position: relative;
	top: -4px;
	text-indent: -9999px;
	vertical-align: middle;
	width: 368px;
}

.sapuri_about {
	display: flex;
	justify-content: space-between;
}
.sapuri_about p {
	font-size: 16px;
	width: 60%;
}
.sapuri_about div {
	width: 37%;
}

#sapuri02 {
	background-color: #fff;
	margin-bottom: 50px;
	padding: 90px 0 70px;
}
.sapuri_teacher {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 60px auto 50px;
	max-width: 1000px;
}
.sapuri_teacher li {
	margin-bottom: 20px;
	width: 18.4%;
}
.sapuri_teacher_voice {
	background-color: #e4f5f5;
	border: 2px solid #76cece;
	color: #00b8b7;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: bold;
	height: 138px;
	line-height: 1.4;
	margin: 0 auto;
	max-width: 1000px;
	position: relative;
	text-align: center;
}
.sapuri_teacher_voice::after {
	content: '';
	background: url(../img/feature/sapuri_bg01.png) center/contain no-repeat;
	display: block;
	height: 30px;
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
}

#sapuri03 {
	margin-bottom: 90px;
	padding: 75px 45px;
}
.sapuri_app {
	margin: 60px 0;
	padding-bottom: 70px;
	position: relative;
}
.sapuri_app_txt {
	background-color: #e4f5f5;
	border: 2px solid #76cece;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 280px;
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: center;
	width: 500px;
}
.sapuri_app_txt h4 {
	color: #00b8b7;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.7;
	margin-bottom: 10px;
}

.sapuri_date {
	display: flex;
	justify-content: space-between;
	margin-bottom: 5px;
}
.sapuri_date li {
	width: 13.6%;
}
.sapuri_date dt {
	background-color: #f6f6f6;
	color: #606060;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 23px;
	font-weight: bold;
	height: 65px;
}
.sapuri_date li:nth-last-child(2) dt {
	background-color: #e9f6ff;
	color: #58a9e6;
}
.sapuri_date li:nth-last-child(1) dt {
	background-color: #ffe4ea;
	color: #f05c7c;
}
.sapuri_date dd {
	background-color: #ff9765;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	height: 90px;
	line-height: 1.4;
	text-align: center;
}
.sapuri_date li:nth-child(3) dd {background-color: #58a9e6;}
.sapuri_date li:nth-last-child(1) dd {background-color: #f05c7c;}
.sapuri_date + p {
	text-align: right;
}

/*===============================================
	スタディサプリ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.sapuri_anchor {
		width: 100%;
	}
	.sapuri_anchor li {
		width: 100%;
	}

	.sapuri_tit {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.sapuri_tit span {
		height: 26px;
		margin-right: 5px;
		top: -3px;
		width: 190px;
	}

	#sapuri01 {
		padding-top: 40px;
	}
	.sapuri_about {
		display: block;
	}
	.sapuri_about p {
		font-size: 14px;
		margin-bottom: 15px;
		width: 100%;
	}
	.sapuri_about div {
		margin: 0 auto;
		max-width: 280px;
		width: 100%;
	}

	#sapuri02 {
		margin-bottom: 20px;
		padding: 40px 0;
	}
	.sapuri_teacher {
		margin: 25px auto;
		max-width: 400px;
		width: 90%;
	}
	.sapuri_teacher li {
		margin-bottom: 15px;
		width: 48%;
	}
	.sapuri_teacher_voice {
		font-size: 18px;
		height: 80px;
		width: 90%;
	}

	#sapuri03 {
		margin-bottom: 40px;
		padding: 40px 5px;
	}
	.sapuri_app {
		margin: 30px 0;
		padding-bottom: 0;
	}
	.sapuri_app_txt {
		height: 120px;
		position: static;
		width: 100%;
	}
	.sapuri_app_txt h4 {
		font-size: 18px;
		line-height: 1.4;
	}

	.sapuri_date {
		flex-wrap: wrap;
		justify-content: center;
		margin-bottom: -5px;
	}
	.sapuri_date li {
		margin-bottom: 10px;
		width: 23.5%;
	}
	.sapuri_date li:not(:nth-child(4)):not(:last-child) {
		margin-right: 2%;
	}
	.sapuri_date dt {
		font-size: 20px;
		height: 40px;
	}
	.sapuri_date dd {
		font-size: 14px;
		height: 60px;
	}
}

/*===============================================
	スタディサプリ：330px未満
===============================================*/
@media screen and (max-width:329px) {
	.sapuri_tit {
		line-height: 1.5;
	}
}

/* 総合的な教育
--------------------------------------------------------- */
#culture .cmn_sec_mv {
	background-image: url(../img/feature/culture_mv01.jpg);
}

/* 進路指導
--------------------------------------------------------- */
#shinro .cmn_sec_mv {
	background-image: url(../img/feature/2019/shinro_mv01.jpg);
}

.shinro_data {
	margin-bottom: 60px;
}
.shinro_data .shinro_column + .cmn_tit_bold {
	margin-bottom: 0;
}

.shinro_percent h4 {
	font-size: 97px;
	font-weight: normal;
	width: 30%;
}
.shinro_percent h4 span {
	font-size: 60px;
}
.shinro_percent p {
	width: 68%;
}

.shinro_graf p {
	font-size: 12px;
	line-height: 1.5;
	margin-top: 10px;
	padding-left: 1.0em;
	text-indent: -1.0em;
}

.shinro_graf .cap {
	margin-top: 10px;
}

.shinro_graf .cap ul li{
	font-size: 12px;
	line-height: 1.5;
	list-style-type: none;
	padding-left: 1.0em;
	text-indent: -1.0em;
}

.shinro_graf .cap ul li::before{
	display: inline;
	content: "※";
}

.shinro_table {
	table-layout: fixed;
}
.shinro_table thead th,
.shinro_table tbody th,
.shinro_table tbody td {
	padding: 6px 12px;
}
.shinro_table thead tr:first-child th {
	background-color: #76cece;
	color: #fff;
}
.shinro_table thead tr:first-child th:first-child {
	width: 15em;
}
.shinro_table tbody th {
	background-color: transparent;
}
.shinro_table tbody td {
	text-align: center;
}

.shinro_dl {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.6;
	margin-top: 20px;
}
.shinro_dl dt {
	background-color: #76cece;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 10px;
	width: 10em;
}
.shinro_dl dd + dt,
.shinro_dl dd + dt + dd {
	margin-top: 15px;
}
.shinro_dl dd {
	padding: 10px;
	width: calc(100% - 10em);
}

.shinro_trace_mv {
	background: url(../img/feature/2024/shinro_img01.jpg) center/cover no-repeat;
	color: #fff;
	display: flex;
	font-size: 34px;
	font-weight: bold;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 60px;
	height: 360px;
	position: relative;
	text-align: center;
}
.shinro_trace_mv::before {
	content: '';
	background-color: rgba(1,1,1,0.3);
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.shinro_trace_mv span {
	position: relative;
	z-index: 10;
}
.shinro_trace_mv span:last-child {
	display: block;
	font-family: 'Yellowtail', sans-serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-top: 10px;
}

.graduate_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.graduate_box + .graduate_box {margin-top: 3em;}
.graduate_image {
	flex: 0 0 280px;
	position: relative;
	z-index: 1;
}
.graduate_box .dproject05_tag {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	flex: 0 0 auto;
	margin-left: -3em;
	position: static;
	z-index: 10;
}
.graduate_box .dproject05_txt {
	margin: 0 0 0 2em;
	padding: 30px;
	width: auto;
	z-index: auto;
}

.graduate_box_reverse {
	flex-direction: row-reverse;
}
.graduate_box_reverse .dproject05_tag {
	align-items: flex-end;
	margin-left: 0;
	margin-right: -3em;
}
.graduate_box_reverse .dproject05_txt {
	margin: 0 2em 0 0;
}

/*===============================================
	進路情報：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.shinro_data {
		margin-bottom: 40px;
	}

	.shinro_percent h4 {
		font-size: 70px;
		width: 100%;
	}
	.shinro_percent h4 span {
		font-size: 50px;
	}
	.shinro_percent p {
		margin-top: 10px;
		width: 100%;
	}

	.shinro_graf {
		margin-bottom: 35px;
	}
	.shinro_graf p {
		margin-top: 5px;
	}

	.shinro_graf .cap {
		margin-top: 5px;
	}

	.shinro_table thead th {
		padding: 10px 0;
	}
	.shinro_table thead tr:first-child th:first-child {
		width: 10em;
	}

	.shinro_table_sp {
		margin-top: -26px;
	}
	.shinro_table_sp thead {
		display: none;
	}
	.shinro_table_sp tbody th:first-child {
		width: 10em;
	}

	.shinro_dl {
		display: block;
		margin-top: 30px;
	}
	.shinro_dl dt {
		display: block;
		text-align: center;
		width: 100%;
	}
	.shinro_dl dd + dt {
		margin-top: 10px;
	}
	.shinro_dl dd + dt + dd {
		margin-top: 0;
	}
	.shinro_dl dd {
		width: 100%;
	}

	.shinro_trace_mv {
		font-size: 16px;
		margin-bottom: 30px;
		height: 130px;
	}
	.shinro_trace_mv span:last-child {
		font-size: 18px;
		letter-spacing: 0;
		margin-top: 10px;
	}

	.graduate_box {
		display: block;
	}
	.graduate_box + .graduate_box {margin-top: 3em;}
	.graduate_image {
		margin-inline: auto;
		max-width: 60%;
	}
	.graduate_box .dproject05_tag {
		flex-direction: row;
		align-items: center;
		justify-content: center;
		margin-left: auto;
		position: static;
		z-index: 10;
	}
	.graduate_box .dproject05_tag .dproject05_name {
		margin-top: 0;
		margin-left: 5px;
		padding: 10px;
	}
	.graduate_box .dproject05_txt {
		margin: 0 auto;
		padding: 15px;
		width: 90%;
	}

	.graduate_box_reverse .dproject05_tag {
		align-items: flex-start;
		margin-left: auto;
		margin-right: auto;
	}
	.graduate_box_reverse .dproject05_txt {
		margin: 0 auto;
	}
}

/* グローバル教育
--------------------------------------------------------- */
#international .cmn_sec_mv {
	background-image: url(../img/feature/international_mv01.jpg);
}

.international_list {
	margin-top: 40px;
}
.international_img {
	margin: 50px 0 20px;
}

/*===============================================
	グローバル教育：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.international_list {
		margin: 25px auto;
		max-width: 380px;
	}
	.international_list div + div {
		margin-top: 10px;
	}
	.international_img {
		margin: 10px 0;
	}
}

/* 多彩な講習
--------------------------------------------------------- */
#lecture .cmn_sec_mv {
	background-image: url(../img/feature/lecture_mv01.jpg);
}

.lecture_column {
	margin-top: 50px;
}
.lecture_column_tit {
	background-color: #76cece;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: bold;
	height: 40px;
	position: relative;
	width: 95%;
}
.lecture_column_tit::before {
	content: '';
	background-color: #76cece;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	right: -2%;
	width: 2%;
}
.lecture_column_tit::after {
	content: '';
	background: url(../img/feature/lecture_ico01.png) right center/100% no-repeat;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	right: -5%;
	width: 3%;
}
.lecture_column_list {
	background-color: rgba(118,206,206,0.2);
	display: flex;
	position: relative;
	width: 95%;
}
.lecture_column_list::after {
	content: '希望の大学・学部へ';
	color: #76cece;
	font-weight: bold;
	position: absolute;
	top: 15px;
	right: -2em;
	-webkit-writing-mode: vertical-rl;
				-ms-writing-mode: tb-rl;
						writing-mode: vertical-rl;
}
.lecture_column_list > li {
	padding: 10px 20px 20px;
	width: calc(100% / 3);
}
.lecture_column_list > li:not(:last-child) {
	border-right: 1px solid #76cece;
}
.lecture_column_list h6 {
	font-size: 16px;
	font-weight: normal;
}
.lecture_column_list h6 span {
	font-size: 24px;
	font-weight: bold;
}
.lecture_column_list ul li::before {
	content: '●';
	color: #76cece;
}
.lecture_column_list ul + ul {
	border-top: 1px dotted #404040;
	margin-top: 15px;
	padding-top: 15px;
}
.lecture_column_list ul + ul li::before {
	content: '■';
	color: #ffc600;
}
.lecture_tokushin {
	background-color: #76cece;
	color: #fff;
	font-size: 0.9em;
	margin-left: 0.5em;
	padding: 2px 5px;
}
.lecture_common {
	background-color: #888;
	color: #fff;
	font-size: 0.9em;
	margin-left: 0.5em;
	padding: 2px 5px;
}

/*===============================================
	多彩な講習：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.lecture_column {
		display: flex;
		margin-top: 50px;
		margin-bottom: 3em;
	}
	.lecture_column_tit {
		height: auto;
		width: 10%;
		-webkit-writing-mode: vertical-rl;
					-ms-writing-mode: tb-rl;
							writing-mode: vertical-rl;
	}
	.lecture_column_tit::before {
		height: 10px;
		top: auto;
		bottom: -10px;
		right: auto;
		left: 0;
		width: 100%;
	}
	.lecture_column_tit::after {
		background: url(../img/feature/lecture_ico01_sp.png) center top/100% no-repeat;
		height: 30px;
		top: auto;
		bottom: -40px;
		right: auto;
		left: 0;
		width: 100%;
	}
	.lecture_column_list {
		display: block;
		width: 90%;
	}
	.lecture_column_list::after {
		content: '希望の大学・学部へ';
		color: #76cece;
		font-weight: bold;
		position: absolute;
		top: auto;
		bottom: -2.0em;
		right: 0;
		left: 1.0em;
		-webkit-writing-mode: horizontal-tb;
					-ms-writing-mode: horizontal-tb;
							writing-mode: horizontal-tb;
	}
	.lecture_column_list > li {
		padding: 5px 15px 15px;
		width: 100%;
	}
	.lecture_column_list > li:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid #76cece;
	}
	.lecture_column_list ul + ul {
		margin-top: 10px;
		padding-top: 10px;
	}
}

/* 無学期制
--------------------------------------------------------- */
#term .cmn_sec_mv {
	background-image: url(../img/feature/term_mv01.jpg);
}

.term_table {
	margin-bottom: 40px;
}
.term_table tbody th {
	font-size: 18px;
	padding: 6px 0;
	text-align: center;
	width: 6em;
}
.term_table tbody th span {
	font-size: 1.5em;
}

.term_table_test {
	position: relative;
}
.term_table_test p {
	background-color: #76cece;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	padding: 7px 10px;
	position: absolute;
	bottom: -15px;
}

.term_lesson {
	display: flex;
	margin-left: auto;
	position: relative;
	top: 26px;
	width: calc(100% - 50px);
}
.term_lesson::after {
	content: '';
	background: url(../img/schoollife/culture_ico_arrow01_01.png) left center/contain no-repeat;
	display: block;
	height: 208px;
	position: absolute;
	top: 48%;
	left: -35px;
	-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
	width: 13px;
}
.term_lesson .txt {
	background-color: #d6f0f0;
	display: flex;
	align-items: center;
	flex: 1 0 auto;
	font-weight: bold;
	padding: 0 20px;
}
.term_lesson .img {
	flex: 0 0 auto;
}

/*===============================================
	無学期制：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.term_table tbody th {
		font-size: 14px;
		width: 3em;
	}
	.term_table tbody th span {
		font-size: 1.2em;
	}

	.term_lesson {
		display: block;
		margin-bottom: 60px;
	}
	.term_lesson::after {
		height: 140px;
	}
	.term_lesson .txt {
		display: block;
		max-width: 220px;
		padding: 20px;
	}
	.term_lesson .img {
		display: none;
	}
}

/* 実力養成教育・人間形成教育
--------------------------------------------------------- */
#education .education_anchor {max-width: 400px;}
#education .education_anchor li {width: 50%;}
#education .education_mv01 {background-image: url(../img/feature/education_mv01.jpg);}
#education .education_mv02 {background-image: url(../img/feature/education_mv02.jpg);}

#education .dproject_lead {letter-spacing: 0.1em;}
#education .cmn_grid_2col + p {margin-top: 15px;}
#education .cmn_grid_3col {margin-top: 50px;}

.education_title {
	border: 6px solid;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: bold;
	height: 100px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-bottom: 15px;
	position: relative;
	text-align: center;
}
.education_title::after {
	content: '';
	display: block;
	height: 8px;
	position: absolute;
	bottom: -14px;
	left: 50%;
	transform: translateX(-50%);
	width: 6px;
}
.education_input .education_title::after {background-color: #a3cdf1;}
.education_output .education_title::after {background-color: #fcbad6;}

.education_input .education_list + p {
	position: relative;
}
.education_input .education_list + p::after {
	content: '';
	background: url(../img/feature/education_ico.png) center/contain no-repeat;
	display: block;
	height: 46px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(49px, -50%);
	width: 65px;
}

.education_title h5 {
	font-size: 14px;
	font-weight: bold;
}
.education_title h5 span {
	display: block;
	font-size: 24px;
}
.education_input .education_title {
	border-color: #a3cdf1;
	color: #74aedf;
}
.education_output .education_title {
	border-color: #fcbad6;
	color: #f192ba;
}

.education_list {
	font-weight: bold;
	margin-bottom: 20px;
}
.education_list li {
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.education_list li::before {
	content: '●';
	margin-right: 0.2em;
}
.education_input .education_list li::before {color: #a3cdf1;}
.education_output .education_list li::before {color: #fcbad6;}

.education_grid_3col .cmn_tit_border {
	display: flex;
	align-items: center;
	line-height: 1.2;
}
.education_grid_3col li:first-child .cmn_tit_border {letter-spacing: 0.02em;}

.education_list_orien dt {
	font-size: 16px;
	font-weight: bold;
}
.education_list_orien dt:not(:first-child) {
	margin-top: 1.2em;
}
.education_list_orien dd {
	line-height: 2.0;
	margin-top: 0.6em;
}

/*===============================================
	実力養成教育・人間形成教育：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#education .education_anchor {max-width: 1000px;}
	#education .education_anchor li {width: 100%;}

	#education .dproject_lead {letter-spacing: 0;}
	#education .cmn_grid_2col + p {margin-top: 15px;}
	#education .cmn_grid_3col {margin-top: 20px;}
	#education .cmn_grid_3col li + li {margin-top: 20px;}

	.education_title {
		border: 4px solid;
		height: 70px;
		line-height: 1.3;
	}
	.education_title::after {
		height: 6px;
		bottom: -10px;
		width: 4px;
	}
	.education_title h5 {
		font-size: 13px;
	}
	.education_title h5 span {
		font-size: 20px;
	}

	.education_input {
		margin-bottom: 80px;
		position: relative;
	}
	.education_input::after {
		content: '';
		background: url(../img/feature/education_ico.png) center/contain no-repeat;
		display: block;
		height: 46px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, calc(100% + 15px)) rotate(90deg);
		width: 65px;
	}

	.education_input .education_list + p::after {display: none;}

	.education_list {
		margin-bottom: 15px;
	}

	.education_grid_3col .cmn_tit_border {
		display: block;
		line-height: 1.4;
	}
	.education_grid_3col li:first-child .cmn_tit_border {letter-spacing: 0.05em;}
}

/* 英語教育
--------------------------------------------------------- */
#english .cmn_sec_mv {background-image: url(../img/feature/2022/english_mv01.jpg);}
#english .cmn_grid_2col + .cmn_tit_bold {
	margin-top: 25px;
}

.english_img_wrapper {
	margin-top: 10px;
}

.english_text {margin-top: 15px;}

p + p.english_name {margin-top: 0.5em;}

.english_episode_talk {
	background-color: rgba(118,206,206,0.2);
	padding: 1em 1.5em;
	position: relative;
}
.english_episode_talk::after {
	content: '';
	border: 1.5em solid transparent;
	border-left-color: rgba(118,206,206,0.2);
	display: block;
	height: 0;
	position: absolute;
	top: 42%;
	left: 100%;
	transform: translateY(-50%);
	width: 0;
}

.english_interview {
	background-color: #f6f6f6;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 3em;
	padding: 20px;
	position: relative;
}
.english_interview_label {
	background-color: #00b8b7;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 0.25em 0.5em;
	position: absolute;
	top: 0;
	left: 0;
}
.english_interview_image {
	flex: 0 0 200px;
}
.english_interview_text {
	margin-left: 2em;
}
.english_interview_text h4 {
	color: #00b8b7;
}

/*===============================================
	英語教育：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#english .cmn_grid_2col + .cmn_tit_bold {
		margin-top: 25px;
	}

	.english_img_wrapper {
		margin-bottom: 10px;
	}
	.english_img_wrapper img {
		width: 650px;
	}

	.english_episode {
		display: flex;
		flex-direction: column-reverse;
	}
	.english_episode > * + * {
		margin-top: 0;
		margin-bottom: 25px;
	}

	.english_episode_talk::after {
		border-left-color: transparent;
		border-bottom-color: rgba(118,206,206,0.2);
		top: auto;
		bottom: 100%;
		left: 50%;
		transform: translateX(-50%);
	}

	.english_interview {display: block;}
	.english_interview_image {margin-bottom: 15px;}
	.english_interview_text {margin-left: 0;}
}



/* ---------------------------------------------------------

	10. スクールライフ

--------------------------------------------------------- */
.cat_schoollife .cmn_mv {background-image: url(../img/schoollife/schoollife_mv01.jpg);}

/* 年間行事
--------------------------------------------------------- */
.event_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-right: 50px;
	margin: 30px auto 50px;
}
.event_box:last-child {
	margin-bottom: 0;
}
.event_box_reverse {
	flex-direction: row-reverse;
}
.event_list {
	display: flex;
	flex-wrap: wrap;
	width: 48%;
}
.event_list dt {
	color: #00b8b7;
	font-family: 'Yellowtail', sans-serif;
	font-size: 120px;
	font-weight: normal;
	text-align: center;
	width: 140px;
}
.event_list .event_summer {color: #ffc600;}
.event_list .event_autumn {color: #ff9765;}
.event_list .event_winter {color: #68beff;}
.event_list dt span {
	display: block;
	font-size: 32px;
}
.event_list dd + dt,
.event_list dd + dt + dd {
	margin-top: 15px;
}
.event_list dd {
	display: flex;
	align-items: center;
	font-size: 16px;
	line-height: 2.0;
	padding: 25px 0 0 25px;
	width: calc(100% - 140px);
}

.event_mv {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 520px;
	position: relative;
}
.event_mv_sports {
	background-image: url(../img/schoollife/2019/event_mv01.jpg);
	margin: 80px 0;
}
.event_mv_culture {
	background-image: url(../img/schoollife/2019/event_mv02.jpg);
	margin: 80px 0;
}
.event_mv_inner {
	background-color: #fff;
	max-width: 500px;
	padding: 50px;
}
.event_mv_inner h3 {
	font-size: 34px;
	font-weight: bold;
	text-align: center;
}
.event_mv_inner h4 {
	font-size: 20px;
	font-weight: normal;
	margin-bottom: 25px;
	text-align: center;
}
.event_mv_inner p {
	line-height: 2.0;
}

/*===============================================
	年間行事：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.event_box {
		display: block;
		padding-right: 10px;
		margin: 20px auto;
	}
	.event_list {
		width: 100%;
	}
	.event_list dt {
		font-size: 60px;
		width: 80px;
	}
	.event_list dt span {
		font-size: 20px;
	}
	.event_list dd + dt,
	.event_list dd + dt + dd {
		margin-top: 15px;
	}
	.event_list dd {
		font-size: 14px;
		line-height: 1.8;
		padding: 10px 0 0 15px;
		width: calc(100% - 80px);
	}
	.event_img {
		margin-top: 25px;
	}

	.event_mv {
		height: 320px;
		position: relative;
	}
	.event_mv_sports,
	.event_mv_culture {
		margin: 40px 0 0;
	}
	.event_mv_inner {
		padding: 15px;
		width: 80%;
	}
	.event_mv_inner h3 {
		font-size: 24px;
	}
	.event_mv_inner h4 {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.event_mv_inner p {
		line-height: 1.8;
	}
}

/* 日々の生活
--------------------------------------------------------- */
#oneday .cmn_lead_anchor {
	padding-bottom: 30px;
}

.oneday_box {
	padding: 40px 80px 80px;
}
.oneday_box h3 {
	color: #76cece;
	font-family: 'Yellowtail', sans-serif;
	font-size: 60px;
	font-weight: normal;
	margin-bottom: 15px;
	text-align: center;
}
.oneday_box h4 {
	color: #76cece;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 35px;
	text-align: center;
}

.oneday_list {
	padding-left: 100px;
	position: relative;
	z-index: 0;
}
.oneday_list::after {
	content: '';
	background-color: #76cece;
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 33px;
	width: 6px;
}
.oneday_list li {
	position: relative;
}
.oneday_list li:not(.oneday_list_img) {
	background-color: #fff;
	padding: 20px;
}
.oneday_list li + li {
	margin-top: 20px;
}
.oneday_list dl {
	display: flex;
	align-items: center;
	line-height: 1.4;
}
.oneday_list dt {
	color: #76cece;
	flex-shrink: 0;
	font-family: 'Viga', sans-serif;
	font-size: 20px;
	font-weight: normal;
	width: 6.5em;
}
.oneday_list dd {
	font-size: 18px;
	font-weight: bold;
}
.oneday_list p {
	line-height: 1.8;
}
.oneday_list_img img {
	margin: 0 0 -40px -5%;
	max-width: inherit;
	position: relative;
	width: 110%;
	z-index: -1;
}
.oneday_list_time::after {
	content: '';
	background-color: #fff;
	border: 2px solid #76cece;
	border-radius: 50%;
	color: #76cece;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Viga', sans-serif;
	font-size: 20px;
	font-weight: normal;
	height: 70px;
	position: absolute;
	left: -99px;
	width: 70px;
	z-index: 10;
}
.oneday_box_weekday_830::after {
	content: '8:30';
	top: 0;
}
.oneday_box_weekday_1200::after {
	content: '12:00';
	top: -15px;
}
.oneday_box_weekday_1500::after {
	content: '15:00';
	top: 5px;
}
.oneday_box_saturday_900::after {
	content: '9:00';
	top: 0;
}
.oneday_box_saturday_1200::after {
	content: '12:00';
	top: -10px;
}
.oneday_box_kodaira_845::after {
	content: '8:45';
	top: 0;
}
.oneday_box_kodaira_1200::after {
	content: '12:00';
	top: -10px;
}
.oneday_box_kodaira_1450::after {
	content: '14:50';
	top: 0;
}

.oneday_box_wrap {
	display: flex;
	justify-content: center;
}
.oneday_box_wrap > div {
	max-width: 700px;
	width: 50%;
}
.oneday_box_nakano {
	background-color: rgba(118,206,206,0.2);
}
.oneday_box_kodaira {
	background-color: rgba(255,198,0,0.2);
}

/*===============================================
	日々の生活：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#oneday .cmn_lead_anchor {
		padding-bottom: 20px;
	}

	.oneday_box {
		padding: 15px 15px 20px;
	}
	.oneday_box h3 {
		font-size: 30px;
		margin-bottom: 10px;
	}
	.oneday_box h4 {
		font-size: 18px;
		margin-bottom: 20px;
	}

	.oneday_list {
		padding-left: 70px;
	}
	.oneday_list::after {
		left: 24px;
		width: 4px;
	}
	.oneday_list li:not(.oneday_list_img) {
		padding: 10px;
	}
	.oneday_list dt {
		font-size: 16px;
	}
	.oneday_list dd {
		font-size: 14px;
	}
	.oneday_list p {
		line-height: 1.6;
	}
	.oneday_list_time::after {
		font-size: 16px;
		height: 50px;
		left: -69px;
		width: 50px;
	}

	.oneday_box_wrap {
		display: block;
	}
	.oneday_box_wrap > div {
		max-width: inherit;
		width: 100%;
	}
}

/* 生徒会活動
--------------------------------------------------------- */
#council .cmn_sec_mv {
	background-image: url(../img/schoollife/council_mv01.jpg);
}

.council_list {
	margin: 30px auto -10px;
}
.council_list div {
	margin-bottom: 30px;
	position: relative;
}
.council_list .img {
	margin-bottom: 15px;
}

/*===============================================
	生徒会活動：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.council_list {
		margin: 25px auto -25px;
	}
	.council_list div {
		margin-bottom: 25px;
		width: 47%;
	}
	.council_list div:nth-child(odd) {
		margin-right: 6%;
	}
	.council_list .img {
		text-align: center;
	}
}

/*===============================================
	生徒会活動：375px未満
===============================================*/
@media screen and (max-width:374px) {
	.council_list div {
		width: 100%;
	}
	.council_list div:nth-child(odd) {
		margin-right: 0;
	}
}

/* クラブ活動
--------------------------------------------------------- */
#club .cmn_anchor li:nth-child(1) a::before {
	background-image: url(../img/schoollife/club_anchor_bg01.jpg);
}
#club .cmn_anchor li:nth-child(2) a::before {
	background-image: url(../img/schoollife/club_anchor_bg02.jpg);
}

#club .club_mv01 {
	background-image: url(../img/schoollife/club_mv01.jpg);
}
#club .club_mv02 {
	background-image: url(../img/schoollife/club_mv02.jpg);
}

.club_menu {
	display: flex;
	flex-wrap: wrap;
}
.club_menu li {
	width: 25%;
}

.club_list {
	margin: 50px auto -30px;
}
.club_list + .cmn_sec_mv {
	margin-top: 80px;
}
.club_list div {
	margin-bottom: 30px;
	position: relative;
}
.club_tag {
	background-color: #e61463;
	color: #fff9c5;
	font-size: 14px;
	font-weight: bold;
	padding: 8px;
	position: absolute;
	top: 0;
	right: left;
}
.club_list .img {
	margin-bottom: 15px;
}
.club_list .tit {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}
.club_list .txt {
	line-height: 1.8;
}

/*===============================================
	クラブ活動：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.club_menu li {
		width: 50%;
	}

	.club_list {
		margin: 25px auto -25px;
	}
	.club_list + .cmn_sec_mv {
		margin-top: 40px;
	}
	.club_list div {
		margin-top: 0;
		margin-bottom: 25px;
		width: 47%;
	}
	.club_list div:nth-child(odd) {
		margin-right: 6%;
	}
	.club_tag {
		font-size: 13px;
	}
	.club_list .img {
		text-align: center;
	}
	.club_list .tit {
		font-size: 15px;
	}
}

/*===============================================
	クラブ活動：400px未満
===============================================*/
@media screen and (max-width:399px) {
	.club_menu li {
		width: 100%;
	}
}

/*===============================================
	クラブ活動：375px未満
===============================================*/
@media screen and (max-width:374px) {
	.club_list div {
		width: 100%;
	}
	.club_list div:nth-child(odd) {
		margin-right: 0;
	}
}

/* 校技（弁論・武道）
--------------------------------------------------------- */
#kougi .cmn_sec_mv {
	background-image: url(../img/schoollife/kougi_mv01.jpg);
}

.kougi_flow {
	display: flex;
	align-items: center;
	justify-content: space-around;
	margin-bottom: 30px;
}
.kougi_flow_pic {
	width: 61%;
}
.kougi_flow_img {
	width: 24%;
}

/*===============================================
	校技（弁論・武道）：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.kougi_flow {
		display: block;
		margin-bottom: 30px;
	}
	.kougi_flow_pic {
		margin: 0 auto;
		max-width: 480px;
		width: 100%;
	}
	.kougi_flow_img {
		display: none;
	}
}



/* ---------------------------------------------------------

	11. 入試について

--------------------------------------------------------- */
.cat_exam .cmn_mv {background-image: url(../img/exam/exam_mv01.jpg);}

.exam_title_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 50px;
}
.exam_title_wrap .cmn_sec_tit {margin-bottom: 0;}
.exam_title_wrap .cmn_btn {
	height: 48px;
	margin-top: 0;
	margin-right: 0;
	width: 200px;
}
#application .exam_title_wrap .cmn_btn {width: 270px;}
.exam_title_wrap .cmn_btn a {
	font-size: 16px;
}

.exam_explain strong {
	font-size: 1.3em;
}

/*===============================================
	入試について：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.exam_title_wrap {
		display: block;
		margin-bottom: 20px;
	}
	.exam_title_wrap .cmn_sec_tit {margin-bottom: 20px;}
	.exam_title_wrap .cmn_btn {
		margin-right: auto;
		width: 75%;
	}
	#application .exam_title_wrap .cmn_btn {
		min-width: 270px;
		width: 85%;
	}
}

/* 募集要項
--------------------------------------------------------- */
.application_table {
	table-layout: fixed;
}
.entrance_table {
	max-width: 415px;
}
.entrance_table th,
.tuition_table thead th:first-child {
	width: 14em;
}
.application_table thead th:not(:first-child) {
	width: 38%;
}
.application_table tbody th {
	white-space: nowrap;
}
.entrance_table td,
.tuition_table tbody td {
	text-align: right;
}
.application_table tbody .application_list li {
	line-height: 2.0;
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.application_table tbody .application_list li::before {
	content: '・';
}

.application_caution_tit {
	font-size: 14px;
	font-weight: normal;
	margin: 20px 0 10px;
}
.application_caution {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.5;
}
.application_caution dt {
	margin-bottom: 0.5em;
	width: 4em;
}
.application_caution dd {
	margin-bottom: 0.5em;
	width: calc(100% - 4em);
}

.application_system {
	line-height: 1.5;
	margin-top: 1.5em;
}
.application_system dt {
	font-weight: bold;
	margin-bottom: 0.5em;
}
.application_system dd + dt {
	margin-top: 1.5em;
}

.application_table_app01 {
	table-layout: auto;
}
.application_table_app01 tbody td,
.application_table_app02 tbody td {
	vertical-align: top;
}
.application_table_app01 tbody td:nth-last-child(n+3),
.application_table_app02 tbody tr:nth-child(-n+4) td:first-child,
.application_table_app0301 tbody td:first-child,
.application_table_app0302 tbody td:first-child {
	background-color: #d6f0f0;
	font-weight: bold;
	padding: 12px 10px;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}

/*===============================================
	募集要項：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.application_table {
		table-layout: auto;
		white-space: normal;
		width: 680px;
	}
	.application_table thead th:not(:first-child) {
		width: 40%;
	}
	.entrance_table th {
		width: 10em;
	}
	.tuition_table thead th:first-child {
		width: 14em;
	}
	.entrance_table td,
	.tuition_table tbody td {
		text-align: right;
	}
}

/* 特待生募集要項
--------------------------------------------------------- */
#scholarship .cmn_sec_tit {
	letter-spacing: 0;
}

.scholarship_table thead th:first-child,
.scholarship_table tbody th:first-child {
	width: 20%;
}
.scholarship_table thead th:nth-child(n+2),
.scholarship_table tbody th:nth-child(n+2) {
	width: 40%;
}
.scholarship_table_sports thead th:nth-child(n+2) {
	width: 80%;
}
.scholarship_table tbody li {
	line-height: 1.4;
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.scholarship_table tbody li::before {
	content: '・';
}
.scholarship_table tbody p {
	line-height: 1.4;
}
.scholarship_table tbody p + ul,
.scholarship_table tbody p + dl {
	margin-top: 0.8em;
}
.scholarship_table th small {
	display: block;
	text-indent: -0.5em;
}

.scholarship_benefits {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
}
.scholarship_benefits dt {
	width: 5em;
}
.scholarship_benefits dt::after {
	content: '…';
	margin: 0 0.5em;
}
.scholarship_benefits dd {
	width: calc(100% - 5em);
}

.scholarship_table_em {
	border-bottom: 1px solid #111;
	font-weight: bold;
	padding-bottom: 1px;
}

.scholarship_list_div li:first-child::before {content: '※';}
.scholarship_list_div li:not(:first-child) {margin-left: 1em;}
.scholarship_list_div li:not(:first-child)::before {display: none;}

.scholarship_remarks {
	border: 1px solid #c2c2c2;
	padding: 12px;
}
.scholarship_remarks li {
	padding-left: 1em;
	text-indent: -1em;
}
.scholarship_remarks li::before {
	content: '・';
}

.cmn_ls {
	letter-spacing: -0.5em;
}

.scholarship_table_suisen tbody td:first-child,
.scholarship_table_tokutai tbody td:first-child {
	background-color: #d6f0f0;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
}
.scholarship_table_value tbody tr:first-child td:first-child {
	background-color: #d6f0f0;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
	width: 20%;
}

/*===============================================
	特待生募集要項：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.scholarship_table {
		white-space: normal;
		width: 450px;
	}
	.scholarship_table thead th:first-child,
	.scholarship_table tbody th:first-child {
		white-space: nowrap;
	}
}

/* 説明会・公開行事
--------------------------------------------------------- */
.orientation_table {
	table-layout: fixed;
}
.orientation_table tbody td:first-child {
	background-color: #d6f0f0;
	font-weight: bold;
	width: 10em;
}

.orientation_event_table {
	table-layout: auto;
}
.orientation_event_table tbody td:not(:last-child) {
	white-space: nowrap;
}
.orientation_event_table tbody tr:nth-child(3) td:first-child {
	background-color: transparent;
	font-weight: normal;
}

.orientation_btn {
	margin-top: 70px;
}

/*===============================================
	説明会・公開行事：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.orientation_table {
		width: 560px;
	}
	.orientation_table tbody td:first-child {
		width: 7em;
	}

	.orientation_event_table {
		table-layout: fixed;
		width: 600px;
	}
	.orientation_event_table tbody td:not(:last-child) {
		white-space: normal;
	}

	.orientation_btn {
		margin-top: 20px;
	}
}

/* インターネット出願の流れ
--------------------------------------------------------- */
.flow_list_lead {
	padding-left: 1em;
	text-indent: -1em;
}

.flow_list_ico {
	display: flex;
	margin: 5px 0;
}
.flow_list_ico li {
	margin: 0 6px;
}
.flow_list_ico_caution {
	padding-left: 2em;
	text-indent: -1em;
}

.flow_list_way {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1.8;
}
.flow_list_way dt {
	background-color: #76cece;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	padding: 1em;
	position: relative;
	text-align: center;
	width: 18em;
}
.flow_list_way dt:not(:last-of-type)::after {
	content: '';
	border-color: transparent;
	border-style: solid;
	border-width: 10px 20px;
	border-top-color: #76cece;
	display: block;
	height: 0;
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
}
.flow_list_way dt span:not(:first-child) {
	background-color: #fff;
	color: #76cece;
	font-size: 0.8em;
	line-height: 1.4;
	padding: 5px;
	text-align: center;
	width: calc((100% - 10px) / 3);
}
.flow_list_way dt span:first-child {width: 100%;}
.flow_list_way dt span:nth-child(n+3) {
	margin-left: 5px;
}
.flow_list_way dd {
	border-bottom: 1px solid #76cece;
	padding: 1em 0 1em;
	width: calc(100% - 20em);
}
.flow_list_way dt:not(:first-of-type),
.flow_list_way dd:not(:first-of-type) {
	margin-top: 2em;
}
.flow_list_dd_caution {
	display: block;
	font-size: 0.95em;
	padding-left: 1em;
	text-indent: -1em;
}
.flow_list_way_caution {
	margin-top: 2em;
	padding-left: 1em;
	text-indent: -1em;
}

/*===============================================
	インターネット出願の流れ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.flow_list_ico_caution {
		margin-bottom: 2.5rem;
	}

	.flow_list_ico {
		flex-wrap: wrap;
		margin: 5px;
	}
	.flow_list_ico li {
		height: 25px;
		margin: 6px;
	}
	.flow_list_ico li img {
		height: 100%;
	}

	.flow_list_way {
		display: block;
	}
	.flow_list_way dt {
		padding: 0.5em;
		width: 100%;
	}
	.flow_list_way dt:not(:last-of-type)::after {display: none;}
	.flow_list_way dt span:first-child {
		margin-bottom: 0.5em;
	}
	.flow_list_way dd {
		padding: 0.5em 0;
		position: relative;
		width: 100%;
	}
	.flow_list_way dd:not(:first-of-type) {margin-top: 0;}
	.flow_list_way dd:not(:last-of-type)::after {
		content: '';
		border-color: transparent;
		border-style: solid;
		border-width: 10px 20px;
		border-top-color: #76cece;
		display: block;
		height: 0;
		position: absolute;
		bottom: -30px;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
	}
	.flow_list_way_caution {
		margin: 1.5em 0 2.5em;
	}
}

/* 資料請求
--------------------------------------------------------- */
#request .cmn_sec_tit span {
	font-size: 0.6em;
}

.request_require {
	color: #e00;
	display: inline-block;
	font-size: 0.7em;
	margin-left: 0.3em;
	vertical-align: super;
}
.request_caution .request_require {
	margin-right: 0.3em;
	margin-left: 0;
	vertical-align: middle;
}

.request_table th {
	width: 14em;
}
.request_table td {
	height: 56px;
}
.request_table input[type="text"] {
	border: 1px solid #dedede;
	padding: 5px;
	width: 50%;
}
.request_table label {
	margin: 0 0.5em;
}
.request_table label input {
	margin-right: 0.3em;
	vertical-align: middle;
}
.request_year_other {
	display: inline-block;
}
.request_year_other input[type="text"] {
	margin-left: 0.5em;
	width: 10em;
}
.request_zipcode + input[type="text"] {
	margin-left: 0.5em;
	width: 10em;
}
.request_zipcode + input + input[type="text"] {
	display: block;
	margin-top: 1.0em;
	width: 100%;
}
.request_table textarea {
	border: 1px solid #dedede;
	height: 100px;
	padding: 5px;
	width: 100%;
}

.request_btn_wrap {
	display: flex;
	justify-content: center;
	margin-top: 50px;
}
.request_btn_wrap li {
	margin: 0 2%;
	width: 46%;
}
.season_spring .request_btn_back a,
.season_summer .request_btn_back a,
.season_autumn .request_btn_back a,
.season_winter .request_btn_back a {
	background-color: #aaa;
}
.request_btn_wrap_conf {
	margin-top: 30px;
}
.request_btn_wrap_conf .request_btn_back {
	width: 25%;
}

#entry_err {
	color: #e00;
	margin-top: 30px;
	text-align: center;
}
#entry_err h3 {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 30px;
}

/*===============================================
	資料請求：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#request .cmn_sec_tit span {
		font-size: 0.7em;
	}

	.request_table th {
		display: block;
		width: 100%;
	}
	.request_table td {
		display: block;
		height: auto;
		min-height: 40px;
	}
	.request_table input[type="text"] {
		width: 100%;
	}
	.request_table label {
		display: inline-block;
		margin: 0 0.5em;
	}
	.request_table label input {
		margin-right: 0.2em;
	}
	.request_year_other {
		display: block;
		margin-top: 1.0em;
	}
	.request_table input.request_years_other[type="text"] {
		margin-left: 0.5em;
		width: 10em;
	}
	.request_zipcode + input[type="text"] {
		width: 10em;
	}

	.request_btn_wrap {
		margin-top: 20px;
	}
	.request_btn_wrap li {
		width: 50%;
	}
	.request_btn_wrap_conf {
		margin-top: 0;
	}
	.request_btn_wrap_conf .request_btn_back {
		width: 40%;
	}

	#entry_err {
		margin-top: 25px;
	}
	#entry_err h3 {
		font-size: 18px;
	}
}

/*===============================================
	資料請求：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.request_table label {
		margin: 0 0.3em;
	}
}



/* ---------------------------------------------------------

	12. 在校生・保護者の方へ

--------------------------------------------------------- */
.cat_info .cmn_mv {background-image: url(../img/info/info_mv01.jpg);}
.cat_info .cmn_mv_eng {
	font-size: 40px;
}

.schoolofficials_index .cmn_index_box:nth-child(1) .cmn_index_bg {background: url(../img/common/index_dproject-bg.jpg) center center/cover no-repeat;}
.schoolofficials_index .cmn_index_box:nth-child(2) .cmn_index_bg {background: url(../img/common/index_notification-bg.jpg) center center/cover no-repeat;}
.schoolofficials_index .cmn_index_box:nth-child(3) .cmn_index_bg {background: url(../img/common/index_parents-bg.jpg) center center/cover no-repeat;}

.news_contents_wrap + .cmn_contents {
	margin-top: 80px;
}

.info_form_list {
	margin-top: 30px;
}
.info_form_list li + li {
	margin-top: 15px;
}

.info_table th {
	white-space: nowrap;
}
.info_table td li {
	line-height: 1.4;
	padding-left: 1em;
	text-indent: -1em;
}
.info_table td li::before {
	content: '・';
}
.info_table td li + li {
	margin-top: 0.5em;
}

/*===============================================
	在校生・保護者の方へ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cat_info .cmn_mv_eng {
		font-size: 23px;
	}

	.info_form_list {
		margin-top: 25px;
	}

	.news_contents_wrap + .cmn_contents {
		margin-top: 50px;
	}
}



/* ---------------------------------------------------------

	13. その他のページ

--------------------------------------------------------- */
.cat_others .cmn_mv {background-image: url(../img/common/others_mv01.jpg);}

/* 卒業生の方へ
--------------------------------------------------------- */
.graduates_table input[type="text"] {
	width: 12em;
}
.graduates_tel input[type="text"],
.graduates_mail input[type="text"] {
	width: 50%;
}
.graduates_table select {
	font-size: 14px;
}
.graduates_year input[type="text"],
.graduates_teacher input[type="text"],
.graduates_name input[type="text"] {
	margin-right: 0.5em;
}
.graduates_course {
	margin-bottom: -0.5em;
	overflow: hidden;
}
.graduates_course label {
	float: left;
	margin-bottom: 0.5em;
	width: 22%;
}
.graduates_name_old {
	display: inline-block;
}
.graduates_name_old input[type="text"] {
	margin-left: 0.5em;
}
.graduates_birthday input[type="text"] {
	margin-right: 0.5em;
}
.graduates_birthday select {
	margin-left: 1.0em;
}

/*===============================================
	卒業生の方へ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.graduates_table input[type="text"] {
		width: 10em;
	}
	.graduates_tel input[type="text"],
	.graduates_mail input[type="text"] {
		width: 100%;
	}
	.graduates_table select {
		width: 100%;
	}
	.graduates_course label {
		width: 42%;
	}
	.graduates_name input[type="text"] {
		width: 8em;
	}
	.graduates_name_old input[type="text"] {
		width: 5em;
	}
	.graduates_birthday input[type="text"] {
		width: 6em;
	}
	.graduates_birthday select {
		margin-left: 0.5em;
		max-width: 10em;
		width: calc(100% - 10em);
	}
}

/* サイトマップ
--------------------------------------------------------- */
.sitemap_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: -30px;
}
.sitemap_list > li {
	margin-bottom: 30px;
	width: 24%;
}
.sitemap_list .cmn_link_window::after {
	background-image: url(../img/common/icon-window-green.png);
	height: 0.9em;
}
.sitemap_list h3 {
	font-size: 16px;
	font-weight: bold;
}

/*===============================================
	サイトマップ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.sitemap_list {
		margin-bottom: -25px;
	}
	.sitemap_list > li {
		margin-bottom: 25px;
		width: 48%;
	}
	.sitemap_list h3 {
		font-size: 15px;
	}
}

/*===============================================
	サイトマップ：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.sitemap_list > li {
		width: 100%;
	}
}

/* 交通アクセス
--------------------------------------------------------- */
.access_map {
	margin: 30px 0 50px;
}
.access_box + .access_box {
	margin-top: 50px;
}
.access_list {
	display: flex;
	flex-wrap: wrap;
}
.access_list li {
	width: 25%;
}

/*===============================================
	交通アクセス：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.access_map {
		margin: 30px 0 50px;
	}
	.access_box + .access_box {
		margin-top: 50px;
	}
	.access_list {
		display: flex;
		flex-wrap: wrap;
	}
	.access_list li {
		width: 50%;
	}
}

/*===============================================
	交通アクセス：365px未満
===============================================*/
@media screen and (max-width:364px) {
	.access_map {
		margin: 25px 0 40px;
	}
	.access_box + .access_box {
		margin-top: 40px;
	}
	.access_list li {
		width: 100%;
	}
}

/* 教職員採用
--------------------------------------------------------- */
.recruit_box {
	margin-top: 30px;
}
.recruit_box h4 {
	font-weight: normal;
	margin-bottom: 15px;
	text-indent: -0.5em;
}
.recruit_list li a {
	font-weight: bold;
}

/* プライバシーポリシー
--------------------------------------------------------- */
.privacy_list dt {
	font-weight: bold;
}

/* メディアポリシー
--------------------------------------------------------- */
.media_contents h3 {
	font-weight: bold;
}
.media_contents
.media_list {
	margin: 40px 0;
}
.media_list dt {
	font-weight: bold;
}

/* 教育実習
--------------------------------------------------------- */
#teaching .cmn_mv_eng {
	font-size: 46px;
	letter-spacing: 0;
}

.teaching_lead li {
	list-style: decimal;
	margin-left: 1.5em;
	padding-left: 0.3em;
}

.teaching_list {
	margin: 30px 0;
}

.teaching_editor ol li {
	list-style: decimal;
	margin-left: 1.5em;
	padding-left: 0.3em;
}
.teaching_editor_upper {
	margin-top: 40px;
}
.teaching_editor_lower {
	margin-bottom: 40px;
}

.teaching_gpa {
	display: flex;
	align-items: center;
	font-size: 26px;
	margin-top: 20px;
}
.teaching_gpa > div:last-child {
	padding-left: 0.5em;
	text-align: center;
}
.teaching_gpa > div:last-child div:first-child {
	border-bottom: 1px solid #404040;
	display: block;
	margin-bottom: 5px;
	padding-bottom: 5px;
	text-indent: -0.5em;
}

/*===============================================
	教育実習：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#teaching .cmn_mv_eng {
		font-size: 28px;
	}

	.teaching_list {
		margin: 1.0em 0;
	}

	.teaching_editor_upper {
		margin-top: 30px;
	}
	.teaching_editor_lower {
		margin-bottom: 30px;
	}

	.teaching_gpa {
		font-size: 16px;
	}
}



/* ---------------------------------------------------------

	14. ニュース関連

--------------------------------------------------------- */
.news_contents_wrap {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1000px;
}

.news_contents_main {
	width: 72%;
}
.news_contents_main_inner {
	background-color: #fff;
	padding: 40px 50px;
}
.news_contents_main_tit {
	font-size: 22px;
	font-weight: normal;
	margin-bottom: 35px;
}
.news_contents_main .top_news_list article:not(:last-child) {
	border-bottom: 1px solid #dedede;
	margin-bottom: 15px;
	padding-bottom: 15px;
}

.news_contents_side {
	width: 24%;
}
.news_contents_side h3 {
	background-color: #a5a5a5;
	color: #fff;
	font-family: 'Viga', sans-serif;
	font-size: 20px;
	font-weight: normal;
	padding: 20px 25px;
}
.news_contents_side ul + h3 {
	margin-top: 2.0em;
}
.news_contents_side li {
	border-bottom: 1px solid #dadada;
}
.news_contents_side a {
	background-color: #fff;
	color: #a5a5a5;
	display: block;
	line-height: 2.0;
	padding: 10px 15px;
}
.news_contents_side a::before {
	content: '';
	background-color: #76cece;
	display: inline-block;
	height: 3px;
	margin-right: 5px;
	position: relative;
	top: -1px;
	vertical-align: middle;
	width: 14px;
}
.device_com .news_contents_side a:hover {
	color: #00b8b7;
	text-decoration: underline;
}

ul.page-numbers {
	letter-spacing: -.5em;
	margin-top: 30px;
	text-align: center;
}
ul.page-numbers li {
	display: inline-block;
	letter-spacing: normal;
	margin-bottom: 5px;
}
ul.page-numbers li + li {
	margin-left: 5px;
}
ul.page-numbers li > a,
ul.page-numbers li > span {
	background-color: #fff;
	color: #333;
	display: block;
	line-height: 30px;
	min-width: 30px;
	padding: 0 5px;
	text-align: center;
	text-decoration: none;
}
ul.page-numbers .current,
.device_com ul.page-numbers a:hover {
	background-color: #00b8b7;
	color: #fff;
}
.season_spring ul.page-numbers .current,
.season_spring.device_com ul.page-numbers a:hover {background-color: #00b8b7;}
.season_summer ul.page-numbers .current,
.season_summer.device_com ul.page-numbers a:hover {background-color: #ffc600;}
.season_autumn ul.page-numbers .current,
.season_autumn.device_com ul.page-numbers a:hover {background-color: #ff9765;}
.season_winter ul.page-numbers .current,
.season_winter.device_com ul.page-numbers a:hover {background-color: #68beff;}

.news_single_tit {
	margin-bottom: 30px;
}
.news_single_tit .news_time {
	color: #a5a5a5;
	display: inline-block;
	font-family: 'Viga', sans-serif;
	font-size: 14px;
	font-weight: normal;
	margin-right: 1.0em;
}
.news_single_tit .news_category {
	color: #a5a5a5;
	display: inline-block;
	font-size: 13px;
}
.news_single_tit .news_tit {
	color: #00b8b7;
	font-size: 22px;
	font-weight: normal;
	line-height: 1.4;
	margin-top: 5px;
}

.news_btn_back {
	height: 50px;
	margin-top: 40px;
}

#news_single .news_contents_main_inner .aligncenter {
	display: block;
	margin: 0 auto;
}
#news_single .news_contents_main_inner .alignright {
	float: right;
}
#news_single .news_contents_main_inner img.alignright {
	margin: 0 0 10px 15px;
}
#news_single .news_contents_main_inner .alignleft {
	float: left;
}
#news_single .news_contents_main_inner img.alignleft {
	margin: 0 15px 10px 0;
}

/*===============================================
	ニュース関連：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.news_contents_wrap {
		display: block;
	}

	.news_contents_main {
		margin: 0 auto 2.0em;
		width: calc(100% - 20px);
	}
	.news_contents_main_inner {
		padding: 20px 15px;
	}
	.news_contents_main_tit {
		font-size: 20px;
		font-weight: normal;
		margin-bottom: 25px;
	}

	.news_contents_side {
		margin: 0 auto;
		width: calc(100% - 20px);
	}
	.news_contents_side h3 {
		font-size: 18px;
		padding: 15px;
	}
	.news_contents_side ul + h3 {
		margin-top: 1.5em;
	}
	.news_contents_side a {
		padding: 5px 15px;
	}

	ul.page-numbers {
		margin: 30px 0 40px;
	}

	.news_single_tit {
		margin-bottom: 20px;
	}
	.news_single_tit .news_tit {
		font-size: 18px;
	}

	.news_btn_back {
		height: 50px;
		margin: 30px auto 40px;
	}

	#news_single .news_contents_main_inner img.alignright,
	#news_single .news_contents_main_inner img.alignleft {
		display: block;
		float: none;
		margin: 0 auto 15px;
	}
}



/* ---------------------------------------------------------

	15. エラーページ

--------------------------------------------------------- */
#error .cmn_contents_nomv {
	margin-top: 80px;
	text-align: center;
}
#error .cmn_contents_nomv h2 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 30px;
}
#error .cmn_contents_nomv .cmn_btn {
	margin-top: 30px;
}

/*===============================================
	エラーページ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#error .cmn_contents_nomv {
		margin-top: 40px;
	}
	#error .cmn_contents_nomv h2 {
		font-size: 20px;
		margin-bottom: 20px;
	}
	#error .cmn_contents_nomv .cmn_btn {
		margin-top: 25px;
	}
}



/* ---------------------------------------------------------

	16. 受験生の方へ・説明会動画

--------------------------------------------------------- */
.cat_examinee .cmn_mv {background-image: url(../img/exam/exam_mv01.jpg);}

.examinee_index .cmn_index_box:nth-child(1) .cmn_index_bg {background: url(../img/common/index_webreserve-bg.jpg) center center/cover no-repeat;}
.examinee_index .cmn_index_box:nth-child(2) .cmn_index_bg {background: url(../img/common/index_movie-bg.jpg) center center/cover no-repeat;}
.examinee_index .cmn_index_box:nth-child(3) .cmn_index_bg {background: url(../img/common/index_examination-bg.jpg) center center/cover no-repeat;}

.index_news_contents_wrap {margin-top: 50px;}
.index_news_contents_wrap .news_contents_main {width: 100%;}
.index_news_contents_wrap .news_contents_main_inner {
	padding: 75px 85px;
	position: relative;
}
.index_news_contents_wrap .top_news_archive {
	position: absolute;
	top: 75px;
	right: 85px;
}

.movie_youtube_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.movie_youtube_list li {width: 48%;}
.movie_youtube_list li:nth-child(n+3) {margin-top: 3%;}
.movie_youtube_img {position: relative;}
.movie_youtube_img::after {
	content: '';
	background: url(../img/movie/youtube_play.png) center/contain no-repeat;
	display: block;
	height: 4em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 5em;
}
.movie_youtube_list .movie_youtube_title {
	font-size: 15px;
	line-height: 1.6;
	margin-top: 0.8em;
}

.movie_instagram_list {
	display: flex;
	flex-wrap: wrap;
}
.movie_instagram_list li {
	width: 23.5%;
}
.movie_instagram_list li:not(:nth-child(4n)) {margin-right: 2%;}
.movie_instagram_list li:nth-child(n+5) {margin-top: 2%;}

.movie_btn_fixed {
	box-shadow: 0 5px 10px rgba(100,100,100,0.1);
	position: absolute;
	top: 325px;
	right: 0;
	z-index: 10;
}
.movie_btn_fixed.is-fixed {
	position: fixed;
	top: 175px;
}
.movie_btn_fixed a {
	background-color: #00b8b7;
	border-radius: 0.8em 0 0 0.8em;
	color: #fff;
	display: block;
	font-size: 0.9em;
	font-weight: bold;
	line-height: 1.6;
	padding: 1em 0.5em;
	text-align: center;
	text-decoration: none;
}
.movie_btn_fixed a::first-line {
	font-size: 1.35em;
}
.device_com .movie_btn_fixed a {transition: background-color 0.3s;}
.device_com .movie_btn_fixed a:hover {
	background-color: #029695;
	opacity: 1;
}

/*===============================================
	受験生の方へ・説明会動画：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.index_news_contents_wrap {margin-top: 30px;}
	.index_news_contents_wrap .news_contents_main {
		margin-bottom: 0;
		width: calc(100% - 20px);
	}
	.index_news_contents_wrap .news_contents_main_inner {padding: 20px 15px;}
	.index_news_contents_wrap .top_news_archive {
		margin-top: 5px;
		position: static;
	}

	.movie_youtube_list {display: block;}
	.movie_youtube_list li {width: 100%;}
	.movie_youtube_list li + li,
	.movie_youtube_list li:nth-child(n+3) {margin-top: 1.2em;}
	.movie_youtube_list .movie_youtube_title {
		line-height: 1.5;
		margin-top: 0.5em;
	}

	.movie_instagram_list li {width: 48%;}
	.movie_instagram_list li:not(:nth-child(4n)) {margin-right: 0;}
	.movie_instagram_list li:nth-child(odd) {margin-right: 4%;}
	.movie_instagram_list li:nth-child(n+3),
	.movie_instagram_list li:nth-child(n+5) {margin-top: 4%;}

	.movie_btn_fixed {
		position: absolute;
		top: 232px;
	}
	.movie_btn_fixed.is-fixed {
		position: fixed;
		top: 72px;
	}
	.movie_btn_fixed a {
		line-height: 1.5;
		padding: 0.6em 0em 0.5em 0.2em;
	}
	.movie_btn_fixed a::first-line {font-size: 1.2em;}
}

/* ---------------------------------------------------------

	17. LINEフローティングバナー

--------------------------------------------------------- */
.line_floating_banner {
  position: fixed;
  right: 70px;
  bottom: 14px;
  z-index: 9999999;
  transition: 0.5s;
}
.line_floating_banner html,
.line_floating_banner body,
.line_floating_banner div,
.line_floating_banner span,
.line_floating_banner applet,
.line_floating_banner object,
.line_floating_banner iframe,
.line_floating_banner h1,
.line_floating_banner h2,
.line_floating_banner h3,
.line_floating_banner h4,
.line_floating_banner h5,
.line_floating_banner h6,
.line_floating_banner p,
.line_floating_banner blockquote,
.line_floating_banner pre,
.line_floating_banner a,
.line_floating_banner abbr,
.line_floating_banner acronym,
.line_floating_banner address,
.line_floating_banner big,
.line_floating_banner cite,
.line_floating_banner code,
.line_floating_banner del,
.line_floating_banner dfn,
.line_floating_banner em,
.line_floating_banner img,
.line_floating_banner ins,
.line_floating_banner kbd,
.line_floating_banner q,
.line_floating_banner s,
.line_floating_banner samp,
.line_floating_banner small,
.line_floating_banner strike,
.line_floating_banner strong,
.line_floating_banner sub,
.line_floating_banner sup,
.line_floating_banner tt,
.line_floating_banner var,
.line_floating_banner b,
.line_floating_banner u,
.line_floating_banner i,
.line_floating_banner center,
.line_floating_banner dl,
.line_floating_banner dt,
.line_floating_banner dd,
.line_floating_banner ol,
.line_floating_banner ul,
.line_floating_banner li,
.line_floating_banner fieldset,
.line_floating_banner form,
.line_floating_banner label,
.line_floating_banner legend,
.line_floating_banner table,
.line_floating_banner caption,
.line_floating_banner tbody,
.line_floating_banner tfoot,
.line_floating_banner thead,
.line_floating_banner tr,
.line_floating_banner th,
.line_floating_banner td,
.line_floating_banner article,
.line_floating_banner aside,
.line_floating_banner canvas,
.line_floating_banner details,
.line_floating_banner embed,
.line_floating_banner figure,
.line_floating_banner figcaption,
.line_floating_banner footer,
.line_floating_banner header,
.line_floating_banner hgroup,
.line_floating_banner menu,
.line_floating_banner nav,
.line_floating_banner output,
.line_floating_banner ruby,
.line_floating_banner section,
.line_floating_banner summary,
.line_floating_banner time,
.line_floating_banner mark,
.line_floating_banner audio,
.line_floating_banner video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 0;
  vertical-align: baseline;
}
.line_floating_banner article,
.line_floating_banner aside,
.line_floating_banner details,
.line_floating_banner figcaption,
.line_floating_banner figure,
.line_floating_banner footer,
.line_floating_banner header,
.line_floating_banner hgroup,
.line_floating_banner menu,
.line_floating_banner nav,
.line_floating_banner section {
  display: block;
}
.line_floating_banner body {
  line-height: 1;
}
.line_floating_banner ol,
.line_floating_banner ul {
  list-style: none;
}
.line_floating_banner blockquote,
.line_floating_banner q {
  quotes: none;
}
.line_floating_banner blockquote:before,
.line_floating_banner blockquote:after,
.line_floating_banner q:before,
.line_floating_banner q:after {
  content: "";
  content: none;
}
.line_floating_banner table {
  border-collapse: collapse;
  border-spacing: 0;
}
.line_floating_banner select,
.line_floating_banner video {
  outline: 0;
}
.line_floating_banner * {
  box-sizing: border-box;
  outline: 0;
}
.line_floating_banner input[type="submit"],
.line_floating_banner input[type="button"] {
  -moz-appearance: button;
  appearance: button;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
}
.line_floating_banner input[type="submit"]::-webkit-search-decoration,
.line_floating_banner input[type="button"]::-webkit-search-decoration {
  display: none;
}
.line_floating_banner input[type="submit"]:focus,
.line_floating_banner input[type="button"]:focus {
  outline-offset: -2px;
}
@media (max-width: 768px) {
  .line_floating_banner {
    right: 55px;
    bottom: 10px;
  }
}
.line_floating_banner svg {
  width: 100%;
  height: auto;
}
.line_floating_banner.is_show {
  text-align: center;
}
.line_floating_banner.is_show .linefb__icon {
  opacity: 1;
  transform: scale(1);
}
.line_floating_banner.is_show .linefb__icon.hover {
  transition: 0.2s;
  transform: scale(1.1);
}
.line_floating_banner.is_show .linefb__text_content {
  width: 112px;
  opacity: 1;
}
@media (max-width: 768px) {
  .line_floating_banner.is_show .linefb__text_content {
    width: 105px;
  }
}
.line_floating_banner.is_show.is_open .linefb__text_content {
  width: 333px;
}
@media (max-width: 768px) {
  .line_floating_banner.is_show.is_open .linefb__text_content {
    width: 292px;
  }
}
.line_floating_banner.is_open .linefb__open_text {
  display: none;
  opacity: 0;
}
.line_floating_banner.is_open .linefb__close_text {
  display: flex;
  opacity: 1;
}
.line_floating_banner.is_open .linefb__arrow {
  transform: rotate(0);
}
.line_floating_banner.is_hide {
  transform: translateY(150%);
}
.line_floating_banner .linefb__desktop {
  display: block;
}
@media (max-width: 768px) {
  .line_floating_banner .linefb__desktop {
    display: none;
  }
}
.line_floating_banner .linefb__mobile {
  display: none;
}
@media (max-width: 768px) {
  .line_floating_banner .linefb__mobile {
    display: block;
  }
}
.line_floating_banner .linefb__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 62px;
  margin: 0;
  opacity: 0;
  transition: 0.3s;
  transform: scale(1.2);
}
.line_floating_banner .linefb__icon .cls-1 {
  fill: #00b900;
}
.line_floating_banner .linefb__icon .cls-2 {
  fill: #fff;
}
.line_floating_banner .linefb__text_content {
  position: absolute;
  top: 50%;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 0;
  height: 58px;
  overflow: hidden;
  background: #fff;
  border-radius: 100px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: 0.3s;
  transition-delay: 0.3s;
  transform: translateY(-50%);
}
.line_floating_banner .linefb__texts {
  flex: 1;
  overflow: hidden;
}
.line_floating_banner .linefb__text_main {
  width: 195px;
  margin-top: 0;
  margin-bottom: 8px;
}
@media (max-width: 768px) {
  .line_floating_banner .linefb__text_main {
    width: 172px;
    margin-top: 0;
    margin-bottom: 8px;
  }
}
.line_floating_banner .linefb__text_main path {
  fill: #009d00;
}
.line_floating_banner .linefb__text_sub {
  width: 205px;
  margin: 0;
}
@media (max-width: 768px) {
  .line_floating_banner .linefb__text_sub {
    width: 174px;
  }
}
.line_floating_banner .linefb__text_sub path {
  fill: #333;
}
.line_floating_banner .linefb__open_close_button {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  width: 58px;
  padding-left: 10px;
}
@media (max-width: 768px) {
  .line_floating_banner .linefb__open_close_button {
    width: 48px;
  }
}
.line_floating_banner .linefb__close_text,
.line_floating_banner .linefb__open_text {
  display: flex;
  align-items: center;
  width: 8px;
  margin: 0;
  transition: 0.2s;
}
.line_floating_banner .linefb__close_text path,
.line_floating_banner .linefb__open_text path {
  fill: #333;
}
.line_floating_banner .linefb__close_text {
  display: none;
}
.line_floating_banner .linefb__arrow {
  width: 5px;
  margin: 0;
  transition: 0.3s;
  transform: rotate(180deg);
}
.line_floating_banner .linefb__arrow path {
  fill: #333;
}
