@charset "utf-8";
@import "cmn_reset.css";
@import url('https://fonts.googleapis.com/css?family=Rubik:400,700');

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

	立正中学校・高等学校【レスポンシブ】
	Date: 2018.09.01

	01. 基礎設定
	02. 画面構成
	03. ヘッダー
	04. フッター
	05. 共通パーツ
	06. トップページ
	07. 学校紹介
	08. 立正の学び
	09. 進路情報
	10. スクールライフ
	11. 入試情報
	12. その他
	13. ブログ関連
	14. エラーページ

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

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

	01. 基礎設定

--------------------------------------------------------- */
html {
	color: #111;
	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: #f5f5f5;
	height: 100%;
}

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

a {
	color: #46a51a;
	text-decoration: underline;
}
a:hover {
	color: #46a51a;
	text-decoration: none;
}
.device_com a:hover {
	opacity: 0.8;
	text-decoration: none;
}

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

.font_rubik {
	font-family: 'Rubik', sans-serif;
}

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

.sp_b,
.sp_i {display: none;}

.ls05 {letter-spacing: -0.05em;}

.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: 70px 0 180px;
	position: relative;
}

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

main.cmn_container {
	display: flex;
	flex-direction: row-reverse;
	padding-bottom: 110px;
}
.cmn_contents_main {
	margin-left: auto;
	max-width: 670px;
	width: 100%;
	border-bottom: 1px solid transparent;
}
.cmn_contents_side {
	max-width: 280px;
	/* position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-500px);
					transform: translateX(-500px); サイドメニュー追従時用 */
	width: 100%;
}
.cmn_contents_side.is-fixed {
	position: fixed;
	top: 120px;
}
.cmn_contents_side.is-stop {
	position: absolute;
	top: auto;
	bottom: 110px;
}

.cmn_contents_box + .cmn_contents_box {
	margin-top: 50px;
}

/*===============================================
	画面構成：1280px未満
===============================================*/
@media screen and (max-width:1279px) {
	.wrapper {
		padding-bottom: 230px;
	}
}

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

	.cmn_container {
		padding: 0 10px;
	}

	main.cmn_container {
		display: block;
		padding-bottom: 40px;
	}
	.cmn_contents_main {
		max-width: inherit;
		padding: 30px 0 50px;
	}
	.cmn_contents_side {
		margin: 0 auto;
		max-width: 250px;
		position: static;
		-webkit-transform: none;
						transform: none;
	}
	.cmn_contents_side.is-fixed,
	.cmn_contents_side.is-stop {
		position: static;
	}

	.cmn_contents_box + .cmn_contents_box {
		margin-top: 40px;
	}
}



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

	03. ヘッダー

--------------------------------------------------------- */
header {
	background: #fff;
	display: flex;
	justify-content: space-between;
	height: 70px;
	max-width: 1160px;
	min-width: 1040px;
	position: fixed;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	width: calc(100% - 120px);
	z-index: 10000;
}

.header_logo {
	background-color: #fff;
	height: 70px;
	width: 285px;
}
.header_logo a {
	background: url(../img/common/cmn_logo03.png) center/250px auto no-repeat;
	display: block;
	height: 100%;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

.header_nav {
	display: flex;
	align-items: flex-end;
}
.header_gnav {
	display: flex;
	height: 45px;
}
.header_gnav > li {
	flex: 0 0 auto;
	position: relative;
	width: 136px;
}
.header_gnav > li > a {
	color: #555;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	height: 45px;
	text-decoration: none;
}
.header_gnav > li > a:hover {
	color: #46a51a;
}
.header_gnav_list {
	background-color: #fff;
	border-top: 2px solid #66c03c;
	display: none;
	position: absolute;
	top: calc(100% - 10px);
	left: 0;
	width: 100%;
}
.header_gnav_list a {
	color: #46a51a;
	display: block;
	font-size: 13px;
	padding: 8px;
	text-decoration: none;
}
.header_gnav_list li:not(:last-child) a {
	border-bottom: 1px solid #f2f2f2;
}
.header_gnav_list a:hover {
	background-color: #46a51a;
	color: #fff;
	font-weight: bold;
}

.header_gnav_buttons {
	display: flex;
	position: absolute;
	top: 0;
	right: 222px;
}
.header_gnav_buttons li {
	margin-left: 1px;
	height: 24px;
	width: 110px;
}
.header_gnav_buttons li a {
	background-color: #66c03c;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	height: 24px;
	text-decoration: none;
}

.header_gnav_buttons_out {
	right: 0;
}
.header_gnav_buttons_out li:last-child a {
	background-color: #ff7e00;
}

.header_gnav_toggle,
.header_gnav_switch {
	display: none;
}

/*===============================================
	ヘッダー：1160px未満
===============================================*/
@media screen and (max-width:1159px) {
	header {
		width: 1040px;
	}
}

/*===============================================
	ヘッダー：1040px未満
===============================================*/
@media screen and (max-width:1039px) {
	header {
		left: 0;
		-webkit-transform: none;
						transform: none;
	}
}

/*===============================================
	ヘッダー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	header {
		height: 45px;
		min-width: inherit;
		width: 100%;
	}

	.header_logo {
		height: 45px;
		width: 160px;
	}
	.header_logo a {
		background-size: 90% auto;
	}

	.header_nav {
		background-color: #46a51a;
		display: none;
		height: calc(100vh - 45px);
		overflow-y: scroll;
		padding-bottom: 40px;
		position: absolute;
		top: 45px;
		left: 0;
		width: 100%;
	}
	.header_gnav {
		background-color: #66c03c;
		display: block;
		height: auto;
	}
	.header_gnav > li {
		width: 100%;
	}
	.header_gnav > li:not(:first-child) {
		border-top: 1px solid #66c03c;
	}
	.header_gnav > li > a {
		background-color: #46a51a;
		color: #fff;
		justify-content: flex-start;
		font-weight: bold;
		height: 50px;
		padding-left: 15px;
	}
	.header_gnav_list {
		background-color: #66c03c;
		border-top: none;
		display: none;
		padding: 15px 0;
		position: static;
	}
	.header_gnav_list li + li {
		margin-top: 3px;
	}
	.header_gnav_list a {
		color: #fff;
		font-size: 12px;
		padding: 5px 15px;
	}
	.header_gnav_list li:not(:last-child) a {
		border-bottom: none;
	}

	.header_gnav_switch {
		background-color: #66c03c;
		border-top: 1px solid #46a51a;
		display: block;
		height: 50px;
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
	}
	.header_gnav > li:not(:nth-child(3)) .header_gnav_switch::before,
	.header_gnav > li:not(:nth-child(3)) .header_gnav_switch::after {
		content: '';
		background-color: #fff;
		display: block;
		height: 1px;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
						transform: translate(-50%, -50%);
		width: 15px;
	}
	.header_gnav > li:not(:nth-child(3)) .header_gnav_switch::after {
		height: 15px;
		width: 1px;
	}
	.header_gnav > li:not(:nth-child(3)) .header_gnav_switch.is-active::after {
		display: none;
	}
	.header_gnav > li:nth-child(3) .header_gnav_switch {
		display: none;
	}
	.header_gnav > li:nth-child(3) a::after {
		content: '→';
		background-color: #66c03c;
		border-top: 1px solid #46a51a;
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: 'Rubik', sans-serif;
		font-size: 22px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
	}

	.header_gnav_buttons {
		background-color: #66c03c;
		border-top: 1px solid #46a51a;
		display: flex;
		justify-content: space-between;
		padding: 5px;
		position: static;
	}
	.header_gnav_buttons li {
		margin-left: 1px;
		height: 40px;
		width: calc(50% - 3px);
	}
	.header_gnav_buttons li a {
		background-color: #fff;
		color: #66c03c;
		font-size: 11px;
		height: 40px;
	}

	.header_gnav_buttons_out {
		background-color: transparent;
		border-top: none;
		position: absolute;
		padding: 0;
		top: 7px;
		right: 50px;
	}
	.header_gnav_buttons_out li {
		height: 32px;
		width: 50px;
	}
	.header_gnav_buttons_out li a {
		background-color: #66c03c;
		color: #fff;
		height: 32px;
	}

	.header_gnav_toggle {
		display: block;
		height: 45px;
		margin-right: 10px;
		position: relative;
		width: 30px;
	}
	.header_gnav_toggle a {
		color: #46a51a;
		display: block;
		font-size: 10px;
		height: 100%;
		padding-top: 29px;
		text-align: center;
		text-decoration: none;
	}
	.header_gnav_toggle:before,
	.header_gnav_toggle:after,
	.header_gnav_toggle a:before,
	.header_gnav_toggle a:after {
		content: '';
		background-color: #46a51a;
		height: 1px;
		opacity: 1;
		position: absolute;
		top: 16px;
		left: 0;
		width: 30px;
	}
	.header_gnav_toggle a:before {top: 8px;}
	.header_gnav_toggle a:after {top: 23px;}
	.header_gnav_toggle.is-active a:before,
	.header_gnav_toggle.is-active a:after {opacity: 0;}
	.header_gnav_toggle.is-active:before {
		top: 17px;
		left: 2px;
		-webkit-transform: rotate(45deg);
						transform: rotate(45deg);
		width: 26px;
	}
	.header_gnav_toggle.is-active:after {
		top: 17px;
		left: 2px;
		-webkit-transform: rotate(-45deg);
						transform: rotate(-45deg);
		width: 26px;
	}
}



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

	04. フッター

--------------------------------------------------------- */
footer {
	height: 180px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}

.footer_info {
	background-color: #66c03c;
	border-bottom: 1px solid #f5f5f5;
	height: 150px;
	padding-top: 30px;
}

.footer_logo {
	height: 52px;
	margin-bottom: 22px;
	width: 285px;
}
.footer_logo a {
	background: url(../img/common/cmn_logo01.png) center/cover no-repeat;
	display: block;
	height: 100%;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

.footer_info_address p {
	color: #fff;
}

.footer_info_menu {
	display: flex;
	align-items: center;
	position: absolute;
	bottom: 0;
	right: 0;
}
.footer_info_menu li + li {
	border-left: 1px solid #fff;
}
.footer_info_menu a {
	color: #fff;
	padding: 0 1.0em;
	text-decoration: none;
}

.footer_copyright {
	background-color: #66c03c;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Verdana, sans-serif;
	font-size: 10px;
	height: 30px;
}

/*===============================================
	フッター：1280px未満
===============================================*/
@media screen and (max-width:1279px) {
	footer {
		height: 230px;
	}

	.footer_info {
		border-top: 2px solid #f5f5f5;
	}
}

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

	.footer_info {
		background-color: #f5f5f5;
		border-top: none;
		border-bottom: none;
		height: auto;
		padding: 15px 0 20px;
	}

	.footer_logo {
		height: 26px;
		margin-bottom: 15px;
		width: 142px;
	}
	.footer_logo a {
		background-image: url(../img/common/cmn_logo02.png);
	}

	.footer_info_address p {
		color: #46a51a;
		font-size: 12px;
		line-height: 1.4;
		margin-bottom: 10px;
	}

	.footer_info_menu {
		flex-wrap: wrap;
		font-size: 11px;
		margin: 0 0 -8px -1.0em;
		max-width: 18em;
		position: static;
	}
	.footer_info_menu li {
		margin-bottom: 8px;
	}
	.footer_info_menu li:not(:last-child) {
		border-right: 1px solid #46a51a;
	}
	.footer_info_menu li + li {
		border-left: none;
	}
	.footer_info_menu a {
		color: #46a51a;
		text-decoration: none;
	}

	.footer_copyright {
		height: 40px;
	}
}



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

	05. 共通パーツ

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

/* フロートメニュー
--------------------------------------------------------- */
.float_menu {
	position: fixed;
	top: 164px;
	right: 0;
	width: 134px;
	z-index: 1000;
}
.float_menu a {
	color: #fff;
	display: block;
	font-weight: bold;
	line-height: 1.3;
	padding: 8px 0 8px 10px;
	text-decoration: none;
}
.float_menu li:nth-child(1) a {background-color: #32b55a;}
.float_menu li:nth-child(2) a {background-color: #86c41b;}
.float_menu li:nth-child(3) a {background-color: #3c8dc0;}
.float_menu li:nth-child(4) a {background-color: #506bc2;}
.float_menu a span {
	display: block;
	font-size: 10px;
	margin-top: 3px;
}

/*===============================================
	フロートメニュー：1280px未満
===============================================*/
@media screen and (max-width:1279px) {
	.float_menu {
		display: flex;
		height: 50px;
		position: static;
		width: 100%;
	}
	.float_menu li {
		width: 25%;
	}
	.float_menu li:first-child br {display: none;}
}

/*===============================================
	フロートメニュー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.float_menu {
		flex-wrap: wrap;
		height: auto;
	}
	.float_menu li {
		width: 50%;
	}
	.float_menu a {
		font-size: 12px;
		padding: 12px 0;
		text-align: center;
	}
}

/* ページトップボタン
--------------------------------------------------------- */
.footer_pagetop {
	height: 50px;
	position: fixed;
	bottom: 0;
	right: 20px;
	-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: 90px;
	z-index: 999;
	will-change: transform;
}
.footer_pagetop.is-active {
	-webkit-transform: translateY(0);
					transform: translateY(0);
}
.footer_pagetop.is-stop {
	position: absolute;
	bottom: 130px;
}
.footer_pagetop a {
	background-color: #66c03c;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: 'Rubik', sans-serif;
	font-size: 13px;
	height: 100%;
	text-decoration: none;
}
.footer_pagetop a::before {
	content: '';
	background: url(../img/common/cmn_icon_arrow_white.png) center/contain no-repeat;
	display: block;
	height: 9px;
	margin-bottom: 7px;
	-webkit-transform: rotate(-90deg);
					transform: rotate(-90deg);
	width: 15px;
}
.device_com .footer_pagetop a {
	transition: 0.3s;
}
.device_com .footer_pagetop a:hover {
	opacity: 0.7;
}

/*===============================================
	ページトップボタン：1280px未満
===============================================*/
@media screen and (max-width:1279px) {
	.footer_pagetop.is-stop {
		bottom: 128px;
	}
}

/*===============================================
	ページトップボタン：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.footer_pagetop {
		height: 45px;
		right: 0;
		width: 70px;
	}
	.footer_pagetop.is-stop {
		bottom: 40px;
	}
	.footer_pagetop a {
		font-size: 12px;
	}
	.footer_pagetop a::before {
		font-size: 14px;
	}
}

/* サイドメニュー
--------------------------------------------------------- */
.cmn_contents_side h2 {
	background-color: #66c03c;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 18px;
	font-weight: bold;
	height: 68px;
	padding: 0 15px;
}
.cmn_contents_side h2 span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	margin-top: 7px;
}

.cmn_contents_side h3 {
	color: #46a51a;
	font-size: 16px;
	font-weight: bold;
	margin: 40px 0 10px;
}

.side_menu_list {
	background-color: #fff;
	padding: 10px 0;
}
.side_menu_list > li > a {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: bold;
	height: 50px;
	padding-left: 20px;
	position: relative;
	text-decoration: none;
}
.side_menu_list > li > a::before {
	content: '';
	background: #66c03c url(../img/common/cmn_icon_arrow_white.png) center/15px auto no-repeat;
	display: block;
	height: 20px;
	margin-right: 10px;
	width: 30px;
}
.side_menu_list_sub {
	display: none;
	padding: 5px 20px;
}
.side_menu_list_sub li {
	height: 40px;
}
.side_menu_list_sub li + li {
	margin-top: 1px;
}
.side_menu_list_sub a {
	background: #f5f5f5 url(../img/common/cmn_icon_arrow_green.png) 8px center/15px auto no-repeat;
	display: flex;
	align-items: center;
	font-weight: bold;
	height: 40px;
	line-height: 1.2;
	padding: 0 10px 0 40px;
	text-decoration: none;
}

.cat_principal .side_menu_list li:nth-child(3) .side_menu_list_sub,
.cat_junior .side_menu_list li:nth-child(3) .side_menu_list_sub,
.cat_high .side_menu_list li:nth-child(4) .side_menu_list_sub,
.cat_syllabus .side_menu_list li:nth-child(7) .side_menu_list_sub,
.cat_summary_junior .side_menu_list li:nth-child(2) .side_menu_list_sub,
.cat_summary_high .side_menu_list li:nth-child(3) .side_menu_list_sub,
.cat_event .side_menu_list li:nth-child(1) .side_menu_list_sub,
.cat_oneday .side_menu_list li:nth-child(3) .side_menu_list_sub {display: block;}

.cat_nth_1 .side_menu_list:not(.side_menu_archive) > li:nth-child(1) > a,
.cat_nth_2 .side_menu_list:not(.side_menu_archive) > li:nth-child(2) > a,
.cat_nth_3 .side_menu_list:not(.side_menu_archive) > li:nth-child(3) > a,
.cat_nth_4 .side_menu_list:not(.side_menu_archive) > li:nth-child(4) > a,
.cat_nth_5 .side_menu_list:not(.side_menu_archive) > li:nth-child(5) > a,
.cat_nth_6 .side_menu_list:not(.side_menu_archive) > li:nth-child(6) > a,
.cat_nth_7 .side_menu_list:not(.side_menu_archive) > li:nth-child(7) > a,
.cat_nth_8 .side_menu_list:not(.side_menu_archive) > li:nth-child(8) > a,
.cat_nth_9 .side_menu_list:not(.side_menu_archive) > li:nth-child(9) > a  {background-color: #effde8;}

.side_menu_archive > li.is-current > a {background-color: #effde8;}

.cat_nth_sub1 .side_menu_list_sub > li:nth-child(1) a,
.cat_nth_sub2 .side_menu_list_sub > li:nth-child(2) a,
.cat_nth_sub3 .side_menu_list_sub > li:nth-child(3) a,
.cat_nth_sub4 .side_menu_list_sub > li:nth-child(4) a,
.cat_nth_sub5 .side_menu_list_sub > li:nth-child(5) a,
.cat_nth_sub6 .side_menu_list_sub > li:nth-child(6) a,
.cat_nth_sub7 .side_menu_list_sub > li:nth-child(7) a,
.cat_nth_sub8 .side_menu_list_sub > li:nth-child(8) a,
.cat_nth_sub9 .side_menu_list_sub > li:nth-child(9) a {background-color: #e3fdd6;}

.side_menu_list + .side_banner_list {
	margin-top: 15px;
}
.side_menu_archive + .side_banner_list {
	margin-top: 40px;
}
.side_banner_sublist + .side_banner_list {
	margin-top: 4px;
}
.side_banner_list li {
	margin-top: 4px;
}
.side_banner_list a {
	background-color: #fff;
	display: block;
	font-size: 20px;
	font-weight: bold;
	padding: 4px;
	position: relative;
	text-decoration: none;
}
.side_banner_list a::after {
	content: '';
	background: url(../img/common/cmn_icon_arrow_white.png) center/15px auto no-repeat;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 22px;
	font-family: 'Rubik', sans-serif;
	position: absolute;
	bottom: 10px;
	right: -5px;
	width: 40px;
}
.side_banner_inner {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	border: 2px solid #ccc;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 72px;
	padding-left: 86px;
}
.side_banner_subtitle {
	color: #777;
	font-size: 14px;
	margin-bottom: 5px;
}

.side_banner_result a {color: #fff;}
.side_banner_result a::after {
	background-color: #fdf3c5;
	background-image: url(../img/common/cmn_icon_arrow_pink.png);
}
.side_banner_result .side_banner_inner {
	background-color: #ff699a;
	background-image: url(../img/common/side_icon_result_sakura.png), url(../img/common/side_icon_result.png);
	background-position: 92% 10px, left center;
	background-size: 42px auto, auto 100%;
	border-color: #fdf3c5;
}
.side_banner_result .side_banner_subtitle {color: #fdf3c5;}

.side_banner_reserve a {color: #f1a218;}
.side_banner_reserve a::after {background-color: #f1a218;}
.side_banner_reserve .side_banner_inner {
	background-color: #fff8ed;
	background-image: url(../img/common/side_icon_reserve.png);
	border-color: #f1dbb5;
}

.side_banner_college a {color: #4d8de3;}
.side_banner_college a::after {background-color: #4d8de3;}
.side_banner_college .side_banner_inner {
	background-color: #ecf4ff;
	background-image: url(../img/common/side_icon_college.png);
	border-color: #cbdbf0;
}

.side_banner_diary a {color: #c1846f;}
.side_banner_diary a::after {background-color: #c1846f;}
.side_banner_diary .side_banner_inner {
	background-color: #f8ebe6;
	background-image: url(../img/common/side_icon_diary.png);
	border-color: #edd5cc;
}

.side_banner_snap a {color: #dc7480;}
.side_banner_snap a::after {background-color: #dc7480;}
.side_banner_snap .side_banner_inner {
	background-color: #fff4f6;
	background-image: url(../img/common/side_icon_snap.png);
	border-color: #f2d8db;
}

.side_banner_meals a {color: #49b462;}
.side_banner_meals a::after {background-color: #49b462;}
.side_banner_meals .side_banner_inner {
	background-color: #eafcee;
	background-image: url(../img/common/side_icon_meals.png);
	border-color: #c2e8cb;
}

.side_banner_certificate a {color: #9963cb;}
.side_banner_certificate a::after {background-color: #9963cb;}
.side_banner_certificate .side_banner_inner {
	background-color: #f2e8fa;
	background-image: url(../img/common/side_icon_certificate.png);
	border-color: #ddcbee;
}
.side_banner_certificate .side_banner_subtitle {margin: 5px 0 0}

.side_banner_sublist {
	margin-top: 15px;
}
h2 + .side_banner_sublist {
	margin-top: 4px;
}
.side_menu_list + .side_banner_sublist {
	margin-top: 15px;
}
.side_menu_archive + .side_banner_sublist {
	margin-top: 40px;
}
.side_banner_list + .side_banner_sublist {
	margin-top: 15px;
}
.side_banner_result + .side_banner_sublist {
	margin-top: 4px;
}
.side_banner_sublist + .side_banner_sublist {
	margin-top: 4px;
}
.side_banner_sublist li {
	/* max-height: 78px; */
}
.side_banner_sublist li + li {
	margin-top: 4px;
}
.side_banner_sublist a {
	background-color: #fff;
	display: block;
	padding: 4px;
	text-align: center;
}
.side_banner_twitter a {
	background: #fff url(../img/common/side_icon_twitter.png) 20px center/auto 30px no-repeat;
	border: 4px solid #fff;
	box-shadow: 0 0 0 1px #1da1f2 inset;
	color: #1da1f2;
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: bold;
	height: 78px;
	line-height: 1.5;
	padding: 0 0 0 70px;
	text-align: left;
	text-decoration: none;
}
.side_banner_shutsugan a {
	background: #069c13 url(../img/common/side_icon_shutsugan.png) left center/contain no-repeat;
	border: 4px solid #fff;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	height: 78px;
	padding: 0 0 0 75px;
	text-align: left;
	text-decoration: none;
}
.side_banner_shutsugan span:nth-child(1) {
	background: url(../img/common/side_icon_shutsugan_risu.png) left center/contain no-repeat;
	font-size: 14px;
	margin-bottom: 3px;
	padding-left: 18px;
}
.side_banner_shutsugan span:nth-child(2) {
	margin-bottom: 5px;
}
.side_banner_shutsugan span:nth-child(3) {
	background-color: #fff;
	border-radius: 3px;
	color: #006409;
	font-size: 10px;
	padding: 3px 0;
	text-align: center;
	width: 18em;
}

/*===============================================
	サイドメニュー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_contents_side h2 {
		font-size: 17px;
		height: 55px;
		padding: 0 12px;
	}
	.cmn_contents_side h2 span {
		font-size: 13px;
		margin-top: 5px;
	}

	.cmn_contents_side h3 {
		font-size: 14px;
		margin-top: 25px;
	}

	.side_menu_list {
		padding: 5px 0;
	}
	.side_menu_list > li > a {
		font-size: 14px;
		height: 40px;
		padding-left: 15px;
	}
	.side_menu_list_sub {
		padding: 5px 15px;
	}

	.side_menu_archive + .side_banner_list {
		margin-top: 25px;
	}
	.side_banner_list a {
		font-size: 17px;
	}
	.side_banner_list a::after {
		height: 20px;
		width: 35px;
	}
	.side_banner_inner {
		height: 60px;
		padding-left: 75px;
	}
	.side_banner_subtitle {
		color: #777;
		font-size: 12px;
		margin-bottom: 5px;
	}

	.side_banner_sublist {
		margin-top: 10px;
	}
	.side_menu_archive + .side_banner_sublist {
		margin-top: 25px;
	}
	.side_banner_list + .side_banner_sublist {
		margin-top: 10px;
	}
	.side_banner_result + .side_banner_sublist {
		margin-top: 4px;
	}
	.side_banner_sublist li {
		/* max-height: 60px; */
	}
	.side_banner_sublist li a img {
		/* height: 52px; */
	}
	.side_banner_twitter a {
		font-size: 15px;
		height: 70px;
		padding-left: 75px;
	}
	.side_banner_sublist .side_banner_shutsugan {
		max-height: 68px;
	}
	.side_banner_shutsugan a {
		font-size: 16px;
		height: 70px;
		padding: 0 0 0 72px;
	}
	.side_banner_shutsugan span:nth-child(1) {
		font-size: 11px;
	}
	.side_banner_shutsugan span:nth-child(2) {
		margin-bottom: 3px;
	}
	.side_banner_shutsugan span:nth-child(3) {
		padding: 2px 0;
		width: 15em;
	}
}

/* ニュース共通
--------------------------------------------------------- */
.cmn_news + .cmn_news {
	margin-top: 30px;
}
.cmn_news_title_wrap {
	position: relative;
}
.cmn_news_title {
	color: #46a51a;
	display: flex;
	align-items: center;
	font-family: 'Rubik', sans-serif;
	font-size: 34px;
	font-weight: normal;
	margin-bottom: 7px;
}
.cmn_news_title_label {
	background-color: #fff;
	border: 2px solid #46a51a;
	font-family: inherit;
	font-size: 14px;
	font-weight: bold;
	display: inline-block;
	line-height: 1.7;
	margin-left: 15px;
	padding: 0 5px;
}
.cmn_news_title_more {
	position: absolute;
	bottom: -5px;
	right: 0;
}
.cmn_news_title_more a {
	border-bottom: 1px solid #46a51a;
	display: inline-block;
	font-family: 'Rubik', sans-serif;
	font-size: 18px;
	text-decoration: none;
	padding-bottom: 5px;
}

.cmn_news_list {
	border-top: 1px solid #46a51a;
	border-bottom: 1px solid #46a51a;
	line-height: 1.8;
	overflow: hidden;
}
.cmn_news_list dt {
	clear: both;
	color: #46a51a;
	float: left;
	font-weight: normal;
	padding: 15px 0;
	width: 6em;
}
.cmn_news_list dt.cmn_news_nopost {
	display: none;
}
.cmn_news_list dd {
	border-bottom: 1px dotted #e5e5e5;
	padding: 15px 10px 15px 6em;
}
.cmn_news_list dd:last-child {
	border-bottom: none;
}
.cmn_news_list dd.cmn_news_nopost {
	padding-left: 0;
}
.cmn_news_list a {
	border-left: 1px solid #46a51a;
	color: #111;
	display: inline-block;
	padding-left: 1em;
	text-decoration: none;
}
.cmn_news_list a:hover {
	color: #46a51a;
	opacity: 1;
}

.cmn_news_nolink {
	border-left: 1px solid #46a51a;
	display: block;
	padding-left: 1em;
}
.top_exnews_junior .cmn_news_nolink {border-left-color: #3c8dc0;}
.top_exnews_high .cmn_news_nolink {border-left-color: #506bc2;}

.cmn_news_new,
.cmn_news_principal {
	display: inline-block;
	margin-right: 0.5em;
	text-align: center;
	width: 70px;
}
.cmn_news_new {
	background: url(../img/common/cmn_icon_new.png) center/cover no-repeat;
	color: #fff;
}
.cmn_news_principal {
	background-color: #fff;
	border: 1px solid #9f3d17;
	color: #9f3d17;
}

/*===============================================
	ニュース共通：768px以上
===============================================*/
@media screen and (min-width:768px) {
	.cmn_news_list dt .cmn_news_new,
	.cmn_news_list dt .cmn_news_principal {display: none;}
}

/*===============================================
	ニュース共通：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_news + .cmn_news {
		margin-top: 35px;
	}
	.cmn_news_title {
		font-size: 23px;
		margin-bottom: 5px;
	}
	.cmn_news_title_label {
		border-width: 1px;
		font-size: 12px;
		margin-left: 12px;
	}
	.cmn_news_title_more {
		bottom: -3px;
	}
	.cmn_news_title_more a {
		font-size: 14px;
	}

	.cmn_news_list {
		line-height: 1.4;
	}
	.cmn_news_list dt {
		display: inline-block;
		float: none;
		margin-top: 10px;
		padding: 0;
		position: relative;
		width: auto;
	}
	.top_exnews_junior .cmn_news_list dt {border-right-color: #3c8dc0;}
	.top_exnews_high .cmn_news_list dt {border-right-color: #506bc2;}
	.cmn_news_list dd {
		font-size: 12px;
		padding: 10px 0;
	}
	.cmn_news_list a {
		border-left: none;
		padding-left: 0;
	}

	.cmn_news_nolink {
		border-left: none;
		padding-left: 0;
	}

	.cmn_news_new,
	.cmn_news_principal {
		display: inline-block;
		font-size: 12px;
		margin-left: 1em;
		width: 60px;
	}
	.cmn_news_new + .cmn_news_principal {
		margin-left: 0.5em;
	}

	.cmn_news_list dd .cmn_news_new,
	.cmn_news_list dd .cmn_news_principal {display: none;}
}

/* パンくずリスト
--------------------------------------------------------- */
.cmn_breadcrumb {
	color: #555;
	display: flex;
	font-size: 12px;
	margin: 0 auto 40px;
	max-width: 1000px;
	padding: 10px 0;
	width: 100%;
}
.cmn_breadcrumb li + li {
	margin-left: 2em;
	position: relative;
}
.cmn_breadcrumb li:not(:first-child)::before {
	content: '';
	border-top: 1px solid #555;
	border-right: 1px solid #555;
	display: inline-block;
	height: 6px;
	position: absolute;
	top: 50%;
	left: -1.0em;
	-webkit-transform: translate(-50%, -45%) rotate(45deg);
					transform: translate(-50%, -45%) rotate(45deg);
	width: 6px;
}
.cmn_breadcrumb a {
	color: #46a51a;
}

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

/* 見出し、テキスト類
--------------------------------------------------------- */
.cmn_title_page {
	color: #46a51a;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 25px;
}

.cmn_title_belt {
	background-color: #fff;
	border-left: 7px solid #66c03c;
	color: #46a51a;
	display: inline-block;
	font-size: 20px;
	font-weight: normal;
	line-height: 1.5;
	margin-bottom: 20px;
	min-width: 180px;
	padding: 5px 10px;
	position: relative;
}
.cmn_title_belt::after {
	content: '';
	background-color: #46a51a;
	display: block;
	height: 50%;
	position: absolute;
	bottom: 0;
	left: -7px;
	width: 7px;
}
*:not(.cmn_title_page) + .cmn_title_belt {
	margin-top: 35px;
}

.cmn_title_border {
	background: url(../img/common/cmn_bg_title_border.png) left bottom/6px auto repeat-x;
	color: #46a51a;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 15px;
	padding-bottom: 12px;
}
*:not(.cmn_title_belt) + .cmn_title_border {
	margin-top: 30px;
}

.cmn_title_border span {
	font-size: 12px;
}

.cmn_title_color {
	color: #46a51a;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.4;
	margin-bottom: 10px;
}
*:not(.cmn_title_border) + .cmn_title_color {
	margin-top: 20px;
}

.cmn_contents_main p,
.cmn_contents_main li {
	line-height: 1.8;
}
.cmn_contents_main p + p,
.cmn_contents_main p + ul,
.cmn_contents_main ul + p {
	margin-top: 1.2em;
}

.cmn_link_txt a {
	display: block;
	padding-left: 12px;
	position: relative;
}
.cmn_link_txt a::after {
	content: '';
	border: 5px solid transparent;
	border-left-color: #46a51a;
	display: block;
	height: 0;
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 0;
}
.cmn_index_btns .cmn_link_txt a::after{top: 4px;}
.cmn_link_txt .ls {
	letter-spacing: -0.25em;
}

.cmn_em {color: #900}

.cmn_emyellow {
	background-color: #ff0;
	font-weight: bold;
}

/*===============================================
	見出し、テキスト類：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_title_page {
		font-size: 24px;
		margin-bottom: 25px;
	}

	.cmn_title_belt {
		border-left: 5px solid #66c03c;
		font-size: 17px;
		line-height: 1.4;
		margin-bottom: 18px;
		padding: 3px 8px;
	}
	.cmn_title_belt::after {
		left: -5px;
		width: 5px;
	}
	*:not(.cmn_title_page) + .cmn_title_belt {
		margin-top: 25px;
	}

	.cmn_title_border {
		font-size: 15px;
		line-height: 1.3;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
	*:not(.cmn_title_belt) + .cmn_title_border {
		margin-top: 25px;
	}

	.cmn_title_color {
		font-size: 15px;
		line-height: 1.3;
	}
	* + .cmn_title_color {
		margin-top: 15px;
	}

	.cmn_contents_main p,
	.cmn_contents_main li {
		line-height: 1.7;
	}
	.cmn_contents_main p + p,
	.cmn_contents_main p + ul,
	.cmn_contents_main ul + p {
		margin-top: 1.0em;
	}

	.cmn_link_txt .ls {
		letter-spacing: 0;
	}
}

/* コラム
--------------------------------------------------------- */
.cmn_column {
	background-color: #fff;
	border: 1px solid #66c03c;
	padding: 20px;
}
p + .cmn_column,
.cmn_column + .cmn_column {
	margin-top: 30px;
}
.cmn_column_title {
	color: #46a51a;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 12px;
}
ul + .cmn_column_title {
	margin-top: 20px;
}

/*===============================================
	コラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_column {
		padding: 15px;
	}
	p + .cmn_column,
	.cmn_column + .cmn_column {
		margin-top: 25px;
	}
	.cmn_column_title {
		font-size: 15px;
		margin-bottom: 10px;
	}
	ul + .cmn_column_title {
		margin-top: 15px;
	}
}

/* ボタン
--------------------------------------------------------- */
.cmn_btn {
	height: 60px;
	max-width: 200px;
}
.cmn_btn a {
	background: url(../img/common/cmn_btn_green.png) center/cover no-repeat;
	border: 2px solid #fff;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	height: 100%;
	line-height: 1.2;
	padding: 0 10px;
	text-align: center;
	text-decoration: none;
}
.cmn_btn_gray a {
	background-image: url(../img/common/cmn_btn_gray.png);
}
.cmn_btn_link a {
	background-image: url(../img/common/cmn_icon_arrow_white.png), url(../img/common/cmn_btn_green.png);
	background-position: 95% center, center;
	background-size: 15px auto, cover;
}

/*===============================================
	ボタン：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_btn {
		height: 45px;
	}
	.cmn_btn a {
		padding: 0 5px;
	}
}

/* アンカーリンク
--------------------------------------------------------- */
.cmn_anchor_menu {
	display: flex;
}
.cmn_anchor_menu li {
	height: 70px;
	width: 19.2%;
}
.cmn_anchor_menu li:not(:last-child) {
	margin-right: 1%;
}
.cmn_anchor_menu a {
	background-color: #fff;
	border-top: 4px solid #66c03c;
	color: #46a51a;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	height: 100%;
	letter-spacing: -0.03em;
	line-height: 1.4;
	padding: 5px 0 25px;
	position: relative;
	text-decoration: none;
	text-align: center;
}
.cmn_anchor_menu li:not(:first-child) a {
	border-left: none;
}
.cmn_anchor_menu a::after {
	content: '';
	background: url(../img/common/cmn_icon_arrow_green.png) center/contain no-repeat;
	display: block;
	height: 9px;
	position: absolute;
	bottom: 5px;
	left: 50%;
	-webkit-transform: rotate(90deg) translate(-35%, 70%);
					transform: rotate(90deg) translate(-35%, 70%);
	width: 15px;
}

/*===============================================
	アンカーリンク：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_anchor_menu {
		flex-wrap: wrap;
	}
	.cmn_anchor_menu li {
		width: calc((100% - 7px) / 2);
	}
	.cmn_anchor_menu li:not(:last-child) {
		margin-right: 0;
		margin-bottom: 7px;
	}
	.cmn_anchor_menu li:nth-child(odd) {
		margin-right: 7px;
	}
}

/* リスト（標準）
--------------------------------------------------------- */
.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;
}

/* リスト（disc）
--------------------------------------------------------- */
.cmn_list_disc li {
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.cmn_list_disc li::before {
	content: '・';
}

/* リスト（diamond）
--------------------------------------------------------- */
.cmn_list_diamond li {
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.cmn_list_diamond li::before {
	content: '◆';
}

/* テーブル
--------------------------------------------------------- */
.cmn_table {
	border-collapse: separate;
	border-spacing: 2px;
	line-height: 1.4;
	margin-left: -2px;
	width: calc(100% + 4px);
}
*:not(.cmn_title_belt) + .cmn_table,
*:not(.cmn_title_belt) + .cmn_sp_txt + .cmn_sp_table_wrapper .cmn_table {
	margin-top: 15px;
}
.cmn_table thead th,
.cmn_table tbody th {
	background-color: #66c03c;
	color: #fff;
	font-weight: normal;
	padding: 10px;
}
.cmn_table thead th.cmn_table_nocontents {
	background-color: transparent;
}
.cmn_table tbody th + th,
.cmn_table .cmn_table_bg {
	background-color: #cdeac0;
	color: #111;
}
.cmn_table thead td,
.cmn_table tbody td {
	background-color: #fff;
	padding: 10px;
}

/*===============================================
	テーブル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	*:not(.cmn_title_belt) + .cmn_sp_txt + .cmn_sp_table_wrapper .cmn_table {
		margin-top: 0;
	}
	.cmn_table thead th,
	.cmn_table tbody th {
		padding: 5px;
	}
	.cmn_table thead td,
	.cmn_table tbody td {
		padding: 5px;
	}
}

/* インデックスページ：ボタンメニュー
--------------------------------------------------------- */
.cmn_index_btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: -20px;
}

.cmn_index_btns::after{
	content:"";
	display: block;
	width:31%;
}

.cmn_index_btns > div {
	width: 31%;
	margin-bottom: 20px;
	border: 1px solid #46a51a;
}

.cmn_index_btns > div > a {
	display: block;
	background: #fff url(../img/common/cmn_icon_arrow_green.png) 95% center/15px auto no-repeat;
	font-weight: bold;
	line-height: 1.4;
	padding: 12px 25px 12px 12px;
	border-bottom: 1px solid #46a51a;
	text-decoration: none;
}

.cmn_index_btns > div p {
	font-size: 12px;
	padding: 12px;
	letter-spacing: -1px;
}
.cmn_index_btns > div p + ul {
	margin-top: -3px;
}

.cmn_index_btns > div li {
	line-height: 1.3;
	padding: 0 12px 12px;
}

.cmn_index_btns li a {
	font-size: 12px;
	line-height: 1.4;
}

/*===============================================
	インデックスページ：ボタンメニュー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_index_btns {
		margin-bottom: 0;
	}
	.cmn_index_btns > div {
		width: 48%;
		margin-bottom: 4%;
	}
	.cmn_index_btns > div:nth-last-of-type(-n+2) {
		margin-bottom: 0%;
	}
	.cmn_index_btns > div > a {padding: 10px 25px 10px 10px;}
	.cmn_index_btns > div p {
		letter-spacing: normal;
		padding: 10px;
	}
}

/* グリッド：2カラム
--------------------------------------------------------- */
.cmn_grid_2col {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.cmn_grid_2col > * {
	width: 47%;
}

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

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

/* グリッド：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;
	}
}

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

/*===============================================
	グリッド：4カラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_grid_4col > * {
		width: 48%;
	}
	.cmn_grid_4col > *:not(:nth-child(4n)) {
		margin-right: 0;
	}
	.cmn_grid_4col > *:not(:nth-child(odd)) {
		margin-right: 4%;
	}
}


/* ライトボックス：フェードイン
-------------------------------------------------------------- */
.mfp-fade.mfp-bg {
	opacity: 0;
	transition: all 0.15s ease-out;
	z-index: 10001;
}
.mfp-fade.mfp-wrap {
	z-index: 10002;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.5;
}
.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-fade .mfp-close {
	background-color: #66c03c;
	height: 40px;
	right: 0;
	opacity: 1;
	padding: 0;
	text-align: center;
	width: 40px;
}

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

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

	.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 {
		margin-top: 15px;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.cmn_sp_img_wrapper img {
		max-width: inherit;
		width: 670px;
	}
}



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

	06. トップページ

--------------------------------------------------------- */
#top.wrapper {padding-top: 25px;}
#top main.cmn_container {min-height: 695px;}
#top .cmn_contents_side {margin-top: -80px;}
#top .cmn_contents_side h2 {font-weight: normal;}

/*===============================================
	トップページ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#top.wrapper {padding-top: 45px;}
	#top main.cmn_container {min-height: inherit;;}
	#top .cmn_contents_main {padding-top: 0;}
	#top .cmn_contents_side {margin-top: 0;}
}

/* トップページ：メインビジュアル
--------------------------------------------------------- */
.top_mv_wrap {
	height: 480px;
	margin: 0 auto 40px;
	position: relative;
	width: calc(100% - 40px);
}
.top_mv_wrap h2 {
	background: url(../img/top/mv_tit01_2020.png) center/contain no-repeat;
	height: 104px;
	overflow: hidden;
	position: absolute;
	top: 75%;
	left: 50%;
	text-indent: 100%;
	-webkit-transform: translate(-50%, -48%);
					transform: translate(-50%, -48%);
	white-space: nowrap;
	width: 620px;
	z-index: 10;
}
.top_mv {
	display: none;
}
.top_mv.slick-initialized {
	display: block;
}
.top_mv .top_mv_slide {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	height: 480px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}
.top_mv_slide:nth-child(1) {background-image: url(../img/top/mv_img01_2026.jpg);}
.top_mv_slide:nth-child(2) {background-image: url(../img/top/mv_img02_2026.jpg);}
.top_mv_slide:nth-child(3) {background-image: url(../img/top/mv_img03_2026.jpg);}

.top_mv .slick-dots {
	letter-spacing: -.5em;
	position: absolute;
	bottom: 12px;
	left: 0;
	text-align: center;
	width: 100%;
}
.top_mv .slick-dots li {
	display: inline-block;
	letter-spacing: normal;
}
.top_mv .slick-dots button {
	background-color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: block;
	height: 10px;
	margin: 0 8px;
	outline: none;
	overflow: hidden;
	padding: 0;
	text-indent: 100%;
	white-space: nowrap;
	width: 10px;
}
.top_mv .slick-active button {
	background-color: #66c03c;
}
.top_mv .slick-dots button:hover {
	opacity: 0.8;
}

/*===============================================
	トップページ：メインビジュアル：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_mv_wrap {
		height: 210px;
		margin: 0 auto;
		width: 100%;
	}
	.top_mv_wrap h2 {
		height: 0;
		max-width: 300px;
		padding-top: 31.84%;
		-webkit-transform: translate(-50%, -50%);
						transform: translate(-50%, -50%);
		width: 72%;
	}
	.top_mv .top_mv_slide {
		height: 210px;
	}

	.top_mv .slick-dots {
		display: none;
	}
}

/* トップページ：動画バナー・動画リスト
--------------------------------------------------------- */
.top_movie_bnr {
	margin-bottom: 2em;
}
.top_movie_bnr a {
	background: url(/material/img/top/movie_bnr01.jpg) center/cover no-repeat;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	height: 110px;
	line-height: 1.5;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-shadow: 0 0 5px rgba(1,1,1,0.8);
}
.top_movie_bnr a::before {
	content: '';
	background: url(/material/img/top/movie_ico01.png) center/contain no-repeat;
	display: inline-block;
	height: 55px;
	margin-right: 20px;
	width: 60px;
}
.top_movie_bnr a::after {
	content: '';
	border: 2px solid #f7cf99;
	height: calc(100% - 8px);
	position: absolute;
	top: 4px;
	left: 4px;
	width: calc(100% - 8px);
}

.top_movie {
	margin-top: -70px;
	padding-top: 100px;
}
.top_movie .cmn_news_title {
	border-bottom: 1px solid #187250;
	color: #187250;
	margin-bottom: 15px;
	padding-bottom: 7px;
}
.top_movie .cmn_news_title_label {
	border-color: #187250;
}
.top_movie_list {
	display: flex;
	flex-wrap: wrap;
}
.top_movie_list li {
	width: 48%;
}
.top_movie_list li:nth-child(odd) {
	margin-right: 4%;
}
.top_movie_list li:nth-child(n+3) {
	margin-top: 4%;
}
.top_movie_list h2 {
	color: #187250;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 0.5em;
}

/*===============================================
	トップページ：動画バナー・動画リスト：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_movie_bnr a {
		font-size: 18px;
		height: 80px;
	}
	.top_movie_bnr a::before {
		height: 36px;
		margin-right: 15px;
		width: 40px;
	}

	.top_movie {
		margin-top: -25px;
		padding-top: 60px;
	}
	.top_movie_list {
		display: block;
		margin: 0 auto;
		max-width: 280px;
	}
	.top_movie_list li {
		width: 100%;
	}
	.top_movie_list li:nth-child(odd) {
		margin-right: 0;
	}
	.top_movie_list li + li,
	.top_movie_list li:nth-child(n+3) {
		margin-top: 20px;
	}
	.top_movie_list h2 {
		font-size: 15px;
	}
}

/* トップページ：SPメニュー
--------------------------------------------------------- */
.top_index_sp {
	display: none;
}

/*===============================================
	トップページ：SPメニュー：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_index_sp {
		background-color: #fff;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 10px;
		padding: 10px 10px 5px;
	}
	.top_index_sp li {
		margin-bottom: 5px;
		width: 32%;
	}
	.top_index_sp a {
		background-color: #66c03c;
		color: #fff;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		height: 60px;
		line-height: 1.4;
		position: relative;
		text-align: center;
		text-decoration: none;
		z-index: 1;
	}
	.top_index_sp a::after {
		content: '';
		background-color: #58b42e;
		display: block;
		height: 50%;
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		z-index: -1;
	}
	.top_index_sp li:last-child a {background-color: #ff7e00;}
	.top_index_sp li:last-child a::after {background-color: #f07700;}
	.top_index_sp a span {
		display: block;
		margin-bottom: 3px;
		font-size: 11px;
	}
}

/* トップページ：緊急情報
--------------------------------------------------------- */
.top_caution {
	background-color: #fff;
	border: 2px solid #d51f46;
	color: #d51f46;
	margin-bottom: 30px;
	padding: 16px;
}
.top_caution dt {
	display: flex;
	line-height: 1.6;
	margin-bottom: 12px;
}
.top_caution_date {
	border-right: 1px solid #d51f46;
	margin-right: 10px;
	padding-right: 15px;
}
.top_caution_label {
	background-color: #d51f46;
	color: #fff;
	padding: 0 6px;
}
.top_caution dd {
	line-height: 1.8;
}

/*===============================================
	トップページ：緊急情報：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.top_caution {
		font-size: 12px;
		margin-bottom: 40px;
		padding: 15px;
	}
	.top_caution dt {
		margin-bottom: 10px;
	}
	.top_caution dd {
		line-height: 1.5;
	}
}

/* トップページ：ニュース
--------------------------------------------------------- */
.top_exnews_junior .cmn_news_title {color: #3c8dc0;}
.top_exnews_junior .cmn_news_title_label {border-color: #3c8dc0;}
.top_exnews_junior .cmn_news_title_more a {
	border-bottom-color: #3c8dc0;
	color: #3c8dc0;
}
.top_exnews_junior .cmn_news_list {border-color: #3c8dc0;}
.top_exnews_junior .cmn_news_list dt {color: #3c8dc0;}
.top_exnews_junior .cmn_news_list a {border-left-color: #3c8dc0;}
.top_exnews_junior .cmn_news_list a:hover {color: #3c8dc0;}

.top_exnews_high .cmn_news_title {color: #506bc2;}
.top_exnews_high .cmn_news_title_label {border-color: #506bc2;}
.top_exnews_high .cmn_news_title_more a {
	border-bottom-color: #506bc2;
	color: #506bc2;
}
.top_exnews_high .cmn_news_list {border-color: #506bc2;}
.top_exnews_high .cmn_news_list dt {color: #506bc2;}
.top_exnews_high .cmn_news_list a {border-left-color: #506bc2;}
.top_exnews_high .cmn_news_list a:hover {color: #506bc2;}



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

	07. 学校紹介

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

/* 学校紹介
--------------------------------------------------------- */
.guide_lead {letter-spacing: -0.01em;}

/* 行学二道・沿革
--------------------------------------------------------- */
.target_table th {width: 80px;}

/* 校長挨拶
--------------------------------------------------------- */
.greeting_grid .greeting_txt {width: 60%;}
.greeting_grid .greeting_pic {width: 36%;}

.greeting_txt .font_serif {
	font-size: 23px;
	font-weight: bold;
	margin-bottom: 20px;
}
.greeting_pic .font_serif {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.greeting_pic .font_serif span {
	font-size: 14px;
	font-weight: normal;
}

/*===============================================
	校長挨拶：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.greeting_grid .greeting_txt {
		margin-bottom: 25px;
		width: 100%;
	}
	.greeting_grid .greeting_pic {
		margin: 20px auto 0;
		width: 50%;
	}

	.greeting_txt .font_serif {
		font-size: 18px;
		margin-bottom: 15px;
	}
	.greeting_pic .font_serif {
		font-size: 16px;
	}
}

/* 学園組織
--------------------------------------------------------- */
.organization_img {
	margin: 30px 0 10px;
}

#organization .cmn_list_disc li span {
	display: block;
	margin-top: -5px;
	text-indent: -0.5em;
}

/*===============================================
	学園組織：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.organization_img {
		margin: 15px 0 10px;
	}

	#organization .cmn_list_disc li span {
		display: inline;
		margin-top: 0;
		text-indent: 0;
	}
}

/* 生徒数
--------------------------------------------------------- */
#students .cmn_table td {text-align: center;}
.students_table {margin-top: 20px;}
.students_table .cmn_table + .cmn_table {margin-top: 0;}
.students_table_half {width: 50%;}
.students_table div .cmn_table + .cmn_table {margin-top: 25px;}
.students_table td:last-child {width: 35%;}

/*===============================================
	生徒数：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.students_table {margin-top: 15px;}
	.students_table .cmn_table + .cmn_table {margin-top: -1px;}
	.students_table_half {width: 100%;}
	.students_table div + div,
	.students_table div .cmn_table + .cmn_table {margin-top: 16px;}
	.students_table td:last-child {width: 50%;}
}

/* 施設紹介
--------------------------------------------------------- */
.facilities_mv {margin-bottom: 6%;}
.facilities_sports_lead {margin-bottom: 1.5em;}
.facilities_ground {margin-bottom: 30px;}

#facilities .cmn_grid_3col {
	margin-bottom: -30px;
}
#facilities .cmn_grid_2col li,
#facilities .cmn_grid_3col li {
	margin-bottom: 30px;
}
#facilities .cmn_grid_2col .cmn_title_border,
#facilities .cmn_grid_3col .cmn_title_border {
	margin-bottom: 12px;
}
#facilities .cmn_grid_2col img,
#facilities .cmn_grid_3col img,
.facilities_ground img {
	margin-bottom: 10px;
}

/*===============================================
	施設紹介：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.facilities_mv {margin-bottom: 25px;}
	.facilities_ground {margin-bottom: 25px;}

	#facilities .cmn_grid_3col {
		margin-bottom: -25px;
	}
	#facilities .cmn_grid_2col li,
	#facilities .cmn_grid_3col li {
		display: flex;
		flex-direction: column-reverse;
		margin-bottom: 25px;
	}
	#facilities .cmn_grid_2col .cmn_title_border,
	#facilities .cmn_grid_3col .cmn_title_border {
		margin-bottom: 10px;
	}
	#facilities .cmn_grid_2col img,
	#facilities .cmn_grid_3col img,
	.facilities_ground img {
		display: block;
		margin: 10px auto 0;
	}

	.facilities_library {
		margin-bottom: 20px;
	}
	#facilities .facilities_library li {
		display: block;
		margin-bottom: -10px;
	}
	.facilities_ground {
		display: flex;
		flex-direction: column-reverse;
	}
}

/* 制服紹介
--------------------------------------------------------- */
#uniform .cmn_column_title + .cmn_grid_2col > * {width: 48%;}

.uniform_pic li {
	margin-bottom: 30px;
}
.uniform_pic li:nth-of-type(3) {
	margin-bottom: 0;
	width: 100%;
}

#uniform .cmn_column_title {
	margin-bottom: 20px;
}
#uniform .cmn_column_title span {
	border: 1px dotted #46a51a;
	font-size: 14px;
	font-weight: normal;
	margin-left: 0.8em;
	padding: 5px;
	vertical-align: text-bottom;
}

.uniform_img {
	text-align: center;
}
.uniform_img p {
	line-height: 1.4;
	margin-top: 5px;
}

#uniform_point3 > .cmn_grid_2col > div:nth-child(1) {
	width: 42%;
}
#uniform_point3 > .cmn_grid_2col > div:nth-child(2) {
	width: 54%;
}
#uniform_point3 > .cmn_grid_2col > div:nth-child(2) > .uniform_img {
	width: 36.5%;
}
#uniform_point3 > .cmn_grid_2col > div:nth-child(2) > p {
	width: 60%;
}

/*===============================================
	制服紹介：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#uniform .cmn_column_title + .cmn_grid_2col > * {width: 100%;}
	#uniform .cmn_grid_2col > .cmn_grid_2col { display: flex;}
	#uniform .cmn_grid_2col > .cmn_grid_2col > * {width: 48%;}
	#uniform .cmn_grid_2col > .cmn_grid_2col > * + * {margin-top: 0px;}
	#uniform .cmn_grid_2col > .cmn_grid_2col + * {margin-top: 15px;}

	.uniform_pic li:nth-of-type(3) {margin-bottom: -15px;}

	#uniform .cmn_column_title {
		margin-bottom: 10px;
	}
	#uniform .cmn_column_title span {
		display: block;
		margin: 5px 0 0;
	}

	#uniform_point3 > .cmn_grid_2col > div:nth-child(1),
	#uniform_point3 > .cmn_grid_2col > div:nth-child(2) {
		width: 100%;
	}
	#uniform_point3 > .cmn_grid_2col > div:nth-child(2) > .uniform_img,
	#uniform_point3 > .cmn_grid_2col > div:nth-child(2) > p {
		width: 48%;
	}
}

/* 師親会（PTA活動）
--------------------------------------------------------- */
.pta_pic {width: 30%;}

.pta_txt {width: 66%;}
.pta_txt p {margin-bottom: 20px;}

.pta_detile {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1.6;
}
.pta_detile dt {width: 5.0em;}
.pta_detile dd {
	margin-bottom: 10px;
	width: calc(100% - 5.0em);
}

.pta_info {
	font-size: 12px;
	margin-top: 30px;
}

/*===============================================
	師親会（PTA活動）：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.pta_pic {
		text-align: center;
		width: 100%;
	}

	.pta_txt {width: 100%;}
	.pta_txt p {margin: -10px 0 1.0em;}

	.pta_detile dt {width: 4.5em;}
	.pta_detile dd {
		margin-bottom: 5px;
		width: calc(100% - 4.5em);
	}

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

/* 動画で見る立正
--------------------------------------------------------- */
.movieWrap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top:56.25%;
	overflow: hidden;
}

.movieWrap video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.iframeWrap {
	position: relative;
	padding-bottom:56.25%;
	height: 0;
	overflow: hidden;
}

.iframeWrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


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

	08. 立正の学び

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

/* 立正の学び
--------------------------------------------------------- */
#learning .cmn_title_belt .ls5 {
	letter-spacing: -0.5em;
}

/*===============================================
	立正の学び：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#learning .cmn_title_belt .ls5 {
		letter-spacing: 0;
	}
}

/* 立正の進学指導
--------------------------------------------------------- */
.system_notes {
	margin: 10px 0 30px;
}
.system_notes li {
	font-size: 12px;
	padding-left: 1.0em;
	text-indent: -1.0em;
}

.system_title_cycle {
	font-size: 14px;
	font-weight: bold;
	margin: 20px 0 5px;
}

.system_pic_cycle {margin-top: 15px;}
.system_pic_itc {margin-bottom: 10px;}
.system_list_ict li {
	padding-left: 2.0em;
	text-indent: -2.0em;
}

/*===============================================
	立正の進学指導：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.system_notes {
		margin-bottom: 25px;
	}

	.system_title_cycle {
		margin: 20px 0 10px;
	}
}

/* R-PROGRAM
--------------------------------------------------------- */
.cmn_contents_main .rprogram_point {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 40px auto;
}
.rprogram_point li {
	background-color: #46a51a;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: bold;
	height: 200px;
	padding-top: 48px;
	text-align: center;
	width: 200px;
}
.rprogram_point li em {
	display: block;
	font-size: 24px;
}
.rprogram_point li span {
	display: block;
	font-size: 12px;
	font-weight: normal;
	line-height: 1.4;
	margin-top: 6px;
}

.rprogram_btn {
	margin-top: 30px;
	text-align: center;
	max-width: 400px;
}

/*===============================================
	R-PROGRAM：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_contents_main .rprogram_point {
		flex-direction: column;
		margin: 25px auto;
	}
	.rprogram_point li + li {
		margin-top: 20px;
	}
}

/* プログラム例
--------------------------------------------------------- */
.example_txt {width: 60%;}
.example_pic {width: 36%;}
.example_pic img + img {margin-top: 10px;}

.example_lidding {
	align-items: center;
	margin: 30px 0;
}
.example_lidding_figure {
	padding-right: 20px;
	position: relative;
	width: 50%;
}
.example_lidding_figure::before {
	content: '';
	border-top: 3px solid #afaeae;
	border-right: 3px solid #afaeae;
	height: 15px;
	margin-top: -5px;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
	width: 15px;
}
.example_lidding_details {
	background-color: #fff;
	font-weight: bold;
	padding: 15px;
}
.example_lidding_details dl {
	line-height: 1.4;
}
.example_lidding_details dt::before {
	content: '●';
	color: #46a51a;
}
.example_lidding_details dd + dt {
	margin-top: 10px;
}
.example_lidding_details dd {
	font-size: 11px;
	font-weight: normal;
	padding-left: 14px;
}
.example_lidding_details p {
	margin-top: 15px;
	color: #46a51a;
	line-height: 1.6;
}

.example_flow dt {
	background-color: #46a51a;
	color: #fff;
	font-weight: bold;
	padding: 10px;
}
.example_flow dd {
	background-color: #fff;
	padding: 10px;
}
.example_flow .cmn_title_color {
	margin-bottom: 5px;
}
.example_flow * + .cmn_title_color {
	margin-top: 10px;
}

/*===============================================
	プログラム例：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.example_txt {width: 100%;}
	.example_pic {
		text-align: center;
		width: 100%;
	}

	.example_lidding_figure {
		margin: 0 auto 40px;
		max-width: 260px;
		padding-right: 0;
		width: 100%;
	}
	.example_lidding_figure::before {
		content: '';
		border-top: 3px solid #afaeae;
		border-right: 3px solid #afaeae;
		height: 15px;
		margin-top: 0;
		margin-right: -15px;
		position: absolute;
		top: calc(100% + 10px);
		right: 50%;
		-webkit-transform: rotate(135deg);
						transform: rotate(135deg);
		width: 15px;
	}
}

/* 中学3年間・高校3年間の進学指導 共通パーツ
--------------------------------------------------------- */
.guidance_policy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 15px;
	margin-bottom: 30px;
}
.guidance_policy dt {
	background-color: #46a51a;
	color: #fff;
	margin-bottom: 10px;
	padding: 8px 0;
	text-align: center;
	width: 8em;
}
.guidance_policy dd {
	line-height: 1.4;
	margin-bottom: 10px;
	padding-left: 1em;
	width: calc(100% - 8em);
}

.guidance_txt {width: 60%;}
.guidance_img {width: 36%;}
.guidance_img img + img {margin-top: 10px;}

/*===============================================
	中学3年間・高校3年間の進学指導 共通パーツ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.guidance_policy dt {
		width: 100%;
	}
	.guidance_policy dd {
		margin-bottom: 0;
		padding-left: 0;
		width: 100%;
	}
	.guidance_policy dd:not(:last-child) {
		margin-bottom: 15px;
	}

	.guidance_txt {width: 100%;}
	.guidance_img {
		margin: 15px auto 0;
		text-align: center;
		width: 100%;
	}
}

/* 中学3年間の進学指導
--------------------------------------------------------- */
.junior_title {
	font-weight: bold;
	margin: 20px 0 10px;
}

.junior_class {
	display: flex;
}
.junior_class dl {
	width: 100%;
}
.junior_class dl:not(:last-child) {
	margin-right: 20px;
}
.junior_class dt {
	background-color: #46a51a;
	color: #fff;
	padding: 5px 0;
	margin-bottom: 5px;
	text-align: center;
}
.junior_class dd > p {
	border: 1px solid #46a51a;
	color: #46a51a;
	line-height: 1.2;
	padding: 8px 0;
	position: relative;
	text-align: center;
}
.junior_class dd > p + p {
	margin-top: 5px;
}
.first_grader dd {
	-webkit-transform: translateY(calc(50% + 2px));
					transform: translateY(calc(50% + 2px));
}
.junior_class_arrow::after {
	content: '';
	border: 6px solid transparent;
	border-left-color: #46a51a;
	display: block;
	height: 0;
	position: absolute;
	right: -20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
	width: 0;
}

.junior_lesson {
	margin-bottom: 25px;
}
.junior_lesson_class {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding-bottom: 25px;
	position: relative;
	width: 90%;
}
.junior_lesson_class::after {
	content: '';
	border: 10px solid transparent;
	border-top-color: #46a51a;
	display: block;
	height: 0;
	position: absolute;
	bottom: -3px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	width: 0;
}
.junior_lesson_class li {
	background-color: #46a51a;
	color: #fff;
	padding: 5px 0;
	text-align: center;
	width: 30%;
}

.junior_lesson_level {
	display: flex;
	justify-content: space-between;
}
.junior_lesson_level li {
	border: 1px solid #46a51a;
	color: #46a51a;
	padding: 5px 0;
	text-align: center;
	width: 23%;
}
.junior_lesson + .cmn_column {
	position: relative;
}
.junior_lesson + .cmn_column::before {
	content: '';
	border: 12px solid transparent;
	border-bottom-color: #fff;
	position: absolute;
	top: -24px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	z-index: 10;
 }
.junior_lesson + .cmn_column::after {
	content: '';
	border: 13px solid transparent;
	border-bottom-color: #46a51a;
	position: absolute;
	top: -26px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	z-index: 1;
}

/*===============================================
	中学3年間の進学指導：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.junior_class {
		flex-direction: column;
	}
	.junior_class dl:not(:last-child) {
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.junior_class dd > p + p {
		margin-top: 0px;
	}
	.first_grader dd {
		-webkit-transform: none;
						transform: none;
	}
	.second_grader dd,
	.last_grader dd {
		display: flex;
		justify-content: space-between;
	}
	.second_grader dd p,
	.last_grader dd p {
		width: 48%;
	}
	.junior_class_arrow::after {
		border-left-color: transparent;
		border-top-color: #46a51a;
		top: calc(100% + 7px);
		right: 50%;
		-webkit-transform: translate(50%, 0%);
						transform: translate(50%, 0%);
	}
}

/* 高校3年間の進学指導
--------------------------------------------------------- */
#high .guidance_policy dt {width: 7em;}
#high .guidance_policy dd {width: calc(100% - 7em);}

/*===============================================
	高校3年間の進学指導：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#high .guidance_policy dt,
	#high .guidance_policy dd {width: 100%;}
}

/* カリキュラム・補習・特別講座例 共通パーツ
--------------------------------------------------------- */
.curriculum_table {
	font-size: 12px;
	table-layout: fixed;
}
.curriculum_table thead th,
.curriculum_table tbody th,
.curriculum_table thead td,
.curriculum_table tbody td {
	padding: 8px 2px;
	text-align: center;
}
.curriculum_table td:last-child,
#junior_curriculum .curriculum_table tr:last-child td {
	font-weight: bold;
	color: #46a51a;
}
#high_curriculum .curriculum_table thead th:last-child {
	width: 4em;
}
.curriculum_table tbody th + th {
	background-color: #66c03c;
	color: #fff;
}
.curriculum_table_caution {
	font-size: 12px;
	margin-top: 10px;
	padding-left: 1em;
	text-indent: -1em;
}

.course_table,
.course_table_high {
	font-size: 12px;
	line-height: 1.6;
}
.course_table td:nth-of-type(1) {
	color: #46a51a;
	font-size: 13px;
	font-weight: bold;
}
.course_table_high tbody th + th {
	background-color: #fff;
	color: #46a51a;
	font-size: 13px;
	font-weight: bold;
	text-align: left;
}
.course_table_high tr th:nth-of-type(1) {
	width: 75px;
}
.course_table_high tr td:nth-of-type(1) {
	width: 90px;
}
.course_table td:first-child {
	width: 20em;
}

/*===============================================
	カリキュラム・補習・特別講座例 共通パーツ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.curriculum_table {
		table-layout: auto;
	}

	.course_table td:first-child {
		width: 50%;
	}
}

/* 高校3年間のキャリアデザインプログラム（2023.6.27小出追加）
--------------------------------------------------------- */
.careerdesign_txt {width: 60%;}
.careerdesign_pic {width: 36%;}

.careerdesign_flow dt {
	background-color: #46a51a;
	color: #fff;
	font-weight: bold;
	padding: 10px;
}
.careerdesign_flow dd {
	background-color: #fff;
	padding: 10px;
}
.careerdesign_flow .cmn_title_color {
	margin-bottom: 5px;
}
.careerdesign_flow * + .cmn_title_color {
	margin-top: 10px;
}

/*===============================================
	高校3年間のキャリアデザインプログラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.careerdesign_txt {width: 100%;}
	.careerdesign_pic {
		text-align: center;
		width: 100%;
	}
}

/* 語学研修プログラム
--------------------------------------------------------- */
.homestay_lead_caution {
	font-size: 12px;
	padding-left: 1em;
	text-indent: -1em;
}

.homestay_english_camp {
	background-color: #fff;
	border-top: 2px solid #66c03c;
	padding: 20px;
	position: relative;
	margin-top: 30px;
}
.homestay_english_camp h3 {
	color: #46a51a;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 12px;
}
.homestay_english_camp h3 + p {
	background-color: #66c03c;
	color: #fff;
	padding: 5px 10px;
	position: absolute;
	top: 0;
	right: 20px;
}

/*===============================================
	語学研修プログラム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.homestay_english_camp {
		margin-top: 20px;
		padding: 15px;
	}
	.homestay_english_camp h3 + p {
		position: static;
		margin-bottom: 15px;
		padding: 2px 5px;
		text-align: center;
	}
}

/* シラバス
--------------------------------------------------------- */
#syllabus .cmn_grid_3col {
	justify-content: space-between;
	margin-top: 30px;
}
#syllabus .cmn_grid_3col li {
	margin-top: 10px;
	max-width: inherit;
}

.syllabus_pic {
	margin: 30px auto 0;
	text-align: center;
}

.english_em {
	color: #66c03c;
	font-style: normal;
	font-weight: bold;
}

.religion_table th {width: 6em;}
.art_table th {width: 8em;}

/*===============================================
	シラバス：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#syllabus .cmn_grid_3col {
		margin-top: 15px;
	}
	#syllabus .cmn_grid_3col li {
		width: 48%;
	}

	.syllabus_pic {
		margin-top: 15px;
	}
}



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

	09. 進路情報

--------------------------------------------------------- */
.career_table {
	font-size: 13px;
	table-layout: fixed;
}
.career_table + .career_table {margin-top: 0;}
.career_table thead th,
.career_table tbody td {padding: 12px 6px;}
.career_table th:nth-child(1),
.career_table td:nth-child(1) {width: 11em;}
.career_table td:nth-child(n+2) {text-align: center;}
.career_total {text-align: center;}

.career_pic {text-align: center;}
.career_pic img {max-width: 350px;}

#career04 + .cmn_grid_2col {position: relative;}
.career_others {
	position: absolute;
	bottom: 5;
	right: 0;
	text-align: right;
}

/*===============================================
	進路指導：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#career .cmn_contents_main {padding-bottom: 0;}
	#career .cmn_contents_side {display: none;}

	.career_table + .career_table {margin-top: -2px;}
	.career_table + .career_table thead {display: none;}

	.career_pic {text-align: center;}
	.career_pic img {
		max-width: 350px;
		width: 100%;
	}

	.career_others {
		position: static;
	}
}



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

	10. スクールライフ

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

/* スクールライフ
--------------------------------------------------------- */
.schoollife_mv {margin-bottom: 30px;}

/*===============================================
	スクールライフ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.schoollife_mv {margin-bottom: 25px;}
}

/* 年間行事
--------------------------------------------------------- */
.event_example.cmn_grid_2col {margin-top: 20px;}
.event_example .cmn_title_color,
.event_example + .cmn_title_color {margin: 7px 0 2px;}
.event_example .cmn_title_color + p,
.event_example + .cmn_title_color + p {margin-top: 0;}

/* クラブ紹介
--------------------------------------------------------- */
.club_wrap {
	background-color: #fff;
	border-top: 2px solid #46a51a;
	padding: 20px;
	width: 100%;
}
.club_wrap + .club_wrap {
	margin-top: 30px;
}
.club_wrap h3 {
	color: #46a51a;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}
.club_wrap ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.club_wrap ul::after{
	content: '';
	display: block;
	width: 32%;
}
.club_wrap li {
	width: 32%;
}
.club_wrap a {
	background: url(../img/common/cmn_icon_arrow_green_s.png) left center/8px auto no-repeat;
	padding-left: 15px;
	text-decoration: none;
}
.club_wrap span {
	padding-left: 15px;
	position: relative;
}
.club_wrap span::before{
	content: '-';
	position: absolute;
	top: -6px;
	left: 0;
}

.club_wrap .club_ico_sns {
	display: inline-block;
	height: 20px;
	margin-left: 0.4em;
	padding: 0;
	position: relative;
	top: 1px;
	text-indent: -9999px;
	width: 20px;
}
.club_wrap .club_ico_facebook{
	background: url(../img/schoollife/club_ico_facebook01.png) center/contain no-repeat;
}
.club_wrap .club_ico_twitter {
	background: url(../img/schoollife/club_ico_twitter01.png) center/contain no-repeat;
}
.club_wrap .club_ico_instagram {
	background: url(../img/schoollife/club_ico_instagram01.png) center/contain no-repeat;
}
.club_wrap .club_ico_x {
	background: url(../img/schoollife/club_ico_x01.png) center/contain no-repeat;
}

.sns_wrap {
	background-color: #f5f5f5;
	margin: 50px -10px -10px;
	padding: 25px 10px 15px;
	position: relative;
}
.sns_wrap h4 {
	background-color: #fff;
	border: 2px solid transparent;
	font-weight: bold;
	padding: 8px 10px;
	position: absolute;
	top: -20px;
	left: 10px;
}
.sns_wrap a {
	background: url(../img/common/cmn_icon_arrow_blue_s.png) left center/8px auto no-repeat;
	padding-left: 15px;
	text-decoration: none;
}
.facebook_wrap h4 {
	border-color: #3c5998;
	color: #3c5998;
}
.facebook_wrap a {color: #3c5998;}
.twitter_wrap h4 {
	border-color: #1ca1f1;
	color: #1ca1f1;
	width: 7.5em;
}
.twitter_wrap a {color: #1ca1f1;}

.club_table {table-layout: fixed;}
.club_table th {width: 10em;}
.club_table td {text-align: center;}

.club_table_date {table-layout: fixed;}
.club_table_date thead th:first-child {
	background-color: transparent;
	width: 10em;
}
.club_table_date tbody td {text-align: center;}

.club_acc_btn {
	cursor: pointer;
	display: block;
}
.device_com .club_acc_btn:hover {
	opacity: 0.8;
}
.club_acc_btn span::before {
	content: '';
	background-color: #66c03c;
	display: block;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
	width: 21px;
}
.club_acc_btn span::after {
	content: '';
	background-color: #66c03c;
	display: block;
	height: 21px;
	position: absolute;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
	width: 1px;
}
.club_acc_btn.is-open span::after {display: none;}
.club_acc_panel {
	display: none;
}

.club_movie {
	margin-bottom: -3%;
}
.club_movie_item {
	margin-bottom: 3%;
	width: 48.5%;
}
.club_movie video {
	width: 100%;
}

.club_gallery {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -20px;
	padding-bottom: 35px;
}
.club_gallery li {
	margin-bottom: 20px;
	width: 48.5%;
}
.club_gallery li:nth-child(odd) {
	margin-right: 3%;
}
.club_gallery_wrap + .club_result {
	margin-top: 15px;
}

.club_title_menu {
	color: #46a51a;
	font-size: 20px;
	font-weight: normal;
	margin-bottom: 15px;
}

/*===============================================
	クラブ紹介：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.club_wrap li {
		width: 100%;
	}
	.club_wrap li + li {
		margin-top: 0.3em;
	}

	.sns_wrap {
		margin-top: 30px;
	}
	.sns_wrap + .sns_wrap {
		margin-top: 40px;
	}

	.club_table th,
	.club_table_date thead th:first-child {width: 5em;}

	.club_acc_btn span::before {
		width: 17px;
	}
	.club_acc_btn span::after {
		height: 17px;
		right: 18px;
	}

	.club_movie {
		margin-bottom: 0;
	}
	.club_movie_item {
		margin-bottom: 0;
		width: 100%;
	}

	.club_gallery {
		margin-bottom: -3%;
	}
	.club_gallery li {
		margin-bottom: 3%;
	}

	.club_title_menu {
		font-size: 18px;
		margin-bottom: 10px;
	}
}

/* 立正生の一日
--------------------------------------------------------- */
.oneday_btns {
	display: flex;
	justify-content: center;
}
.oneday_btns li {
	margin: 0 10px;
	width: 100%;
}

/* 中学生の一日・高校生の一日
--------------------------------------------------------- */
.oneday_wrap {
	background-color: #fff;
	padding: 20px;
	position: relative;
}
.oneday_wrap::after {
	content: '';
	border: 15px solid transparent;
	display: block;
	height: 0;
	position: absolute;
	bottom: -30px;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	width: 0;
	z-index: 10;
}
.oneday_wrap:nth-last-of-type(1)::after {display: none;}
.oneday_wrap + .oneday_wrap {margin-top: 10px;}

.oneday_wrap h3 {
	background-color: #f5f5f5;
	display: flex;
	align-items: center;
	font-size: 16px;
	margin-bottom: 10px;
}
.oneday_wrap h3 span {
	color: #fff;
	margin-right: 15px;
	padding: 12px 20px;
}

.oneday_title {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.8;
}
.oneday_wrap .cmn_grid_2col img + .oneday_title,
.oneday_wrap .cmn_grid_2col img + p,
.oneday_wrap .cmn_grid_2col + p {margin-top: 12px;}
.oneday_wrap .cmn_grid_2col > div:nth-child(n+3) {margin-top: 20px;}

.oneday_timetable {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.oneday_timetable li {
	color: #848484;
	font-size: 16px;
	font-weight: bold;
	padding: 4px 0;
	position: relative;
	text-align: center;
	width: 23%;
}
.oneday_timetable li span {margin-right: 10px;}
.oneday_timetable li:not(:last-child)::after {
	content: '';
	border: 6px solid transparent;
	display: block;
	height: 0;
	position: absolute;
	top: 50%;
	right: -14px;
	-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
	width: 0;
}
.oneday_timetable_half li {width: 48%;}

#junior_oneday .oneday_wrap h3 {color: #a13e40;}
#junior_oneday .oneday_wrap h3 span {background-color: #a13e40;}
#junior_oneday .oneday_wrap::after {border-top: 22px solid #a13e40;}
#junior_oneday .cmn_grid_2col h4 {color: #a13e40;}
#junior_oneday .oneday_timetable li {border: 1px solid #a13e40;}
#junior_oneday .oneday_timetable li span {color: #a13e40;}
#junior_oneday .oneday_timetable li::after {border-left: 8px solid #a13e40;}

#high_oneday .oneday_wrap h3 {color: #146593;}
#high_oneday .oneday_wrap h3 span {background-color: #146593;}
#high_oneday .oneday_wrap::after {border-top: 22px solid #146593;}
#high_oneday .cmn_grid_2col h4 {color: #146593;}
#high_oneday .oneday_timetable li {border: 1px solid #146593;}
#high_oneday .oneday_timetable li span {color: #146593;}
#high_oneday .oneday_timetable li::after {border-left: 8px solid #146593;}

/*===============================================
	中学生の一日・高校生の一日：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.oneday_timetable li {font-size: 12px;}
	.oneday_timetable li span {
		display: block;
		margin-right: 0;
	}
}

/* 立正スナップ
--------------------------------------------------------- */
.snap_acc_menu dt {
	color: #46a51a;
	display: none;
	line-height: 1.4;
	padding-left: 1.5em;
	position: relative;
}
.snap_acc_menu.is-ready dt {
	display: block;
}
.snap_acc_menu dt::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
}
.snap_acc_menu dt span {
	cursor: pointer;
}
.snap_acc_menu dd + dt {
	margin-top: 25px;
}
.snap_acc_menu dd {
	background-color: #fff;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 0;
	overflow: hidden;
	position: relative;
}
.snap_acc_menu.is-ready dd {
	height: auto;
	margin-top: 20px;
	overflow: visible;
	padding: 20px;
}

.snap_slider_wrap {
	width: 400px;
}
.snap_slider_wrap::after {
	content: '';
	border: 10px solid transparent;
	border-bottom-color: #fff;
	display: block;
	height: 0;
	position: absolute;
	top: -20px;
	left: 20px;
	width: 0;
}
.snap_slider_wrap .bx-controls .bx-controls-direction a {
	background: url(../img/snap/snap_arrow.png) center/contain no-repeat;
	height: 70px;
	margin-top: 0;
	top: 115px;
	width: 45px;
}
.snap_slider_wrap .bx-controls .bx-prev {
	left: -20px;
}
.snap_slider_wrap .bx-controls .bx-next {
	right: -20px;
	-webkit-transform: rotate(180deg);
					transform: rotate(180deg);
}

.snap_thumb {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 210px;
}
.snap_thumb::after {
	content: '';
	display: block;
	width: 31%;
}
.snap_thumb li {
	margin-bottom: 6px;
	width: 31%;
}
.snap_thumb li a {
	display: block;
	position: relative;
}
.snap_thumb li a.active::after {
	content: '';
	border: 4px solid #66c03c;
	display: block;
	height:100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

/*===============================================
	立正スナップ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.snap_acc_menu dd {
		padding: 10px;
	}

	.snap_slider_wrap,
	.snap_slider_wrap img {width: 100%;}
	.snap_slider_wrap .bx-controls .bx-controls-direction a {
		height: 50px;
		top: calc(100vw / 3.7);
		width: 32px;
	}
	.snap_slider_wrap .bx-controls .bx-prev {left: -10px;}
	.snap_slider_wrap .bx-controls .bx-next {right: -10px;}

	.snap_thumb {display: none;}
}

/* 献立表
--------------------------------------------------------- */
#meals .cmn_grid_4col {
	margin-bottom: -1em;
}
#meals .cmn_grid_4col li {
	line-height: 1.4;
	margin-bottom: 1em;
}



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

	11. 入試情報

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

/* 説明会情報
--------------------------------------------------------- */
.openschool_em {
	color: #f60;
	font-weight: normal;
	margin-left: 0.5em;
}
.openschool_em strong {
	font-weight: bold;
}

.openschool_table_junior th {
	text-align: left;
}
.openschool_table th {
	text-align: left;
	width: 8em;
}
.openschool_pic {
	margin: 0 auto 20px;
	text-align: left;
}
.openschool_pic img {
	max-width: 340px;
}

/*===============================================
	説明会情報：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.openschool_table_junior th {
		width: 40%;
	}

	.openschool_table th {
		text-align: center;
		width: 4em;
	}

	.openschool_pic img {
		max-width: 100%;
	}
}

/* 入試要項（中学）
--------------------------------------------------------- */
.summary_junior_table {
	table-layout: fixed;
}
.summary_junior_table tbody td {
	font-size: 13px;
	padding: 5px;
	text-align: center;
}
.summary_junior_table thead th:nth-of-type(1),
.summary_junior_th {
	width: 8em;
}

.summary_cost {
	color: #66c03c;
	font-size: 18px;
	font-weight: bold;
}

#summary_junior .cmn_column + .cmn_column {
	margin-top: 0.5em;
}
#summary_junior .cmn_sp_table_wrapper + .cmn_sp_table_wrapper {
	margin-top: 15px;
}

.summary_caution {
	font-size: 13px;
	margin-top: 10px;
}

.exam_shutsugan_wrap {
	display: flex;
	align-items: center;
}
.exam_shutsugan_wrap .side_banner_shutsugan {
	margin-left: 15px;
}
.exam_shutsugan_wrap .side_banner_shutsugan a {
	border: none;
	font-size: 16px;
	height: auto;
	line-height: 1.3;
	max-width: 16em;
	padding: 5px 10px 5px 72px;
}
.exam_shutsugan_wrap .side_banner_shutsugan span:nth-child(1) {
	font-size: 11px;
	margin-bottom: 0;
}
.exam_shutsugan_wrap .side_banner_shutsugan span:nth-child(2) {
	margin-bottom: 2px;
}
.exam_shutsugan_wrap .side_banner_shutsugan span:nth-child(3) {
	padding: 0;
	width: 15em;
}
.exam_btn_flow a {
	background-color: #ff7e00;
	color: #fff;
	display: block;
	font-weight: bold;
	line-height: 1.8;
	max-width: 24em;
	padding: 5px 1em 5px 2em;
	position: relative;
	text-decoration: none;
}
.exam_btn_flow a::before {
	content: '';
	background: url(../img/common/cmn_icon_arrow_white.png) center/contain no-repeat;
	display: block;
	height: 14px;
	position: absolute;
	top: 50%;
	left: 0.5em;
	-webkit-transform: translateY(-55%);
					transform: translateY(-55%);
	width: 15px;
}

/*===============================================
	入試要項（中学）：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.summary_junior_table {
		table-layout: auto;
	}
	.cmn_sp_table_wrapper:nth-last-of-type(1) .summary_junior_table tbody td {
		text-align: left;
	}

	.exam_shutsugan_wrap {
		display: block;
	}
	.exam_shutsugan_wrap .side_banner_shutsugan {
		margin: 5px 0 1.0em;
	}
}

/* 入試要項（高校）
--------------------------------------------------------- */
.summary_high_table tbody th {
	width: 7em;
}

.summary_table_child + p {
	margin-top: 5px;
}
.summary_table_child th {
	white-space: nowrap;
	width: auto;
}
.summary_table_child tbody td {
	background-color: #f5f5f5;
}

.summary_dl dt {
	margin-top: 10px;
}
.summary_dl p + ul,
.summary_dl ul + p {
	margin-top: 0;
}

/*===============================================
	入試要項（高校）：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.summary_high_table {
		width: 500px;
	}
}

/* インターネット出願の流れ 共通パーツ
--------------------------------------------------------- */
.flow_caution {
	color: #f60;
	font-style: normal;
	font-weight: bold;
	vertical-align: text-top;
}
h3 .flow_caution {
	font-size: 15px;
}

.flow_wrap {
	padding-bottom: 40px;
	position: relative;
}
.flow_wrap::after {
	content: '';
	border: 12px solid transparent;
	border-top-color: #66c03c;
	display: block;
	height: 0;
	position: absolute;
	right: 50%;
	bottom: 0px;
	-webkit-transform: translate(50%, 0%);
					transform: translate(50%, 0%);
	width: 0;
}
.flow_wrap:last-child {padding-bottom: 0;}
.flow_wrap:last-child::after {display: none;}

.flow_wrap h4 {
	background-color: #66c03c;
	color: #fff;
	padding: 10px;
}
.flow_wrap h4 + ul,
.flow_wrap h4 + .cmn_column,
.flow_caution + .flow_caution_column {
	margin-top: 20px;
}
.flow_wrap em {
	background-color: #ff0;
	font-style: normal;
}

.flow_caution_column {
	border-color: #f60;
	color: #f60;
	font-weight: bold;
}

/*===============================================
	インターネット出願の流れ 共通パーツ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	h3 .flow_caution {
		display: block;
		font-size: 13px;
		line-height: 1.4;
		margin-top: 3px;
		padding-left: 1em;
		text-indent: -1em;
	}
}

/* 入試データ
--------------------------------------------------------- */
.data_table thead th,
.data_table tbody th,
.data_table tbody td {
	padding: 8px 5px;
}
.data_table tbody td {
	text-align: center;
}

/* 学費
--------------------------------------------------------- */
.cost_caution {
	color: #f60;
}

#cost .cmn_table td {
	text-align: center;
}
.cost_table {
	margin-bottom: 10px;
	table-layout: fixed;
}
.cost_table_first {
	margin-bottom: 10px;
}

/* 奨学金制度
--------------------------------------------------------- */
.scholarship_table {
	table-layout: fixed;
}

/* 過去問題 共通パーツ
--------------------------------------------------------- */
.past_btns {
	display: flex;
	justify-content: center;
}
.past_btns li {
	margin: 0 10px;
	width: 100%;
}



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

	12. その他

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

/* 中学受験生の皆様へ 他 インデックスページ
--------------------------------------------------------- */
.cmn_mv_wrap {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 300px;
	max-width: 1000px;
	margin: 0 auto 30px;
	display: flex;
	align-items: center;
}
#student .cmn_mv_wrap {background-image: url(../img/student/student_pic_01.png);}
#graduate .cmn_mv_wrap {background-image: url(../img/graduate/graduate_pic_01.png);}
#examinee_j .cmn_mv_wrap {background-image: url(../img/examinee_j/examinee_j_pic_01.png);}
#examinee_h .cmn_mv_wrap {background-image: url(../img/examinee_h/examinee_h_pic_01.png);}

.cmn_mv_wrap h2 {
	background-color: rgba(255,255,255,0.9);
	border-left: 24px solid #66c03c;
	color: #46a51a;
	font-size: 18px;
	line-height: 1.6;
	min-width: 260px;
	padding: 25px;
}
.cmn_mv_wrap h2 span {
	color: #9a9a9a;
	display: block;
	font-size: 14px;
}

.cmn_index_list a {
	padding-left: 15px;
	position: relative;
}
.cmn_index_list a::after {
	content: '';
	border: 5px solid transparent;
	border-left-color: #46a51a;
	display: block;
	height: 0;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
	width: 0;
}

/*===============================================
	中学受験生の皆様へ 他 インデックスページ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_mv_wrap {
		height: 120px;
		margin: 0 auto;
	}
	.cmn_mv_wrap h2 {
		border-left-width: 10px;
		font-size: 16px;
		max-width: 240px;
		min-width: 200px;
		padding: 15px;
	}
	.cmn_mv_wrap h2 span {
		font-size: 12px;
	}
	.cmn_index_list {
		justify-content: space-between;
	}
	.cmn_index_list > * {
		font-size: 13px;
		width: 49%;
	}
}

/* 卒業生の皆様へ
--------------------------------------------------------- */
.graduate_lead {
	margin-bottom: 25px;
}

/* 同窓会からのお知らせ
--------------------------------------------------------- */
/*===============================================
	同窓会からのお知らせ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.reunion_img li + li {
		margin-top: 10px;
	}
}

/* 事務室からのお知らせ
--------------------------------------------------------- */
.certificate_caution {
	font-size: 12px;
	margin-top: 5px;
}
#graduate_certificate .cmn_list_normal,
#graduate_certificate .cmn_list_decimal {font-size: 13px;}
#graduate_certificate p + .cmn_list_normal,
#graduate_certificate p + .cmn_list_decimal {margin-top: 0;}

.certificate_table {
	table-layout: fixed;
}
.certificate_table_cost {
	max-width: 420px;
}

/* よくある質問
--------------------------------------------------------- */
/*===============================================
	よくある質問：768px未満
===============================================*/
@media screen and (max-width:767px) {
	#faq .cmn_title_border {
		padding-left: 1.6em;
		text-indent: -1.6em;
	}
}

/* お問合せ
--------------------------------------------------------- */
.inquiry_list li:last-child {
	margin-top: 0.7em;
}

/* アクセス
--------------------------------------------------------- */
.access_pic {
	background-color: #fff;
	margin: 0 auto 20px;
	text-align: center;
}
.access_pic img {
	max-width: 500px;
}
/*===============================================
	アクセス：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.access_pic img {
		max-width: 100%;
	}
}

/* 資料請求
--------------------------------------------------------- */
.request_pamphlet {
	margin-top: 25px;
}
.request_guide {
	background-color: #fff;
}
.request_guide .cmn_grid_2col {
	align-items: center;
	padding: 20px;
}
.request_guide .cmn_grid_2col > h3 {width: 40%;}
.request_guide .cmn_grid_2col > div {width: 56%;}
.request_guide h3 {
	color: #66c03c;
	font-size: 20px;
	padding-top: 55px;
	position: relative;
	text-align: center;
}
.request_guide h3::before {
	content: '';
	background: #66c03c url(../../material/img/request/icon_guide.png) center/auto 22px no-repeat;
	border-radius: 50%;
	height: 40px;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
					transform: translateX(-50%);
	width: 40px;
}

.request_pamphlet .cmn_btn { max-width: 100%;}
.request_pamphlet .cmn_btn_link a {background-size: 15px auto, 100% auto;}
.request_pamphlet li {height: 90px;}
.request_pamphlet li:not(:last-child) {margin-bottom: 22px;}
.request_pamphlet li a {line-height: 1.8;}

.request_btns {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.request_btns li {
	margin: 0 10px;
	width: 100%;
}

/*===============================================
	資料請求：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.request_guide .cmn_grid_2col {display: flex;}

	.request_pamphlet {margin-top: 20px;}
	.request_pamphlet .cmn_btn {height: 50px;}
	.request_pamphlet li { height: 50px;}
	.request_pamphlet li:not(:last-child) {margin-bottom: 10px;}
	.request_pamphlet li a {line-height: 1.3;}

	.request_btns {margin-top: 30px;}
}

/* 資料請求フォーム
--------------------------------------------------------- */
.entry_flow {
	display: flex;
	justify-content: space-between;
	font-size: 16px;
	margin-bottom: 40px;
}
.entry_flow li {
	background-color: #fff;
	color: #66c03c;
	line-height: 50px;
	position: relative;
	text-align: center;
	width: 30%;
}
.entry_flow li:not(:last-child)::after {
	content: '';
	border: 25px solid transparent;
	border-left: 20px solid #fff;
	display: block;
	height: 0;
	position: absolute;
	top: 0;
	right: -45px;
	width: 0;
}
.entry_flow li.current {
	background-color: #66c03c;
	color: #fff;
}
.entry_flow li.current:not(:last-child)::after {
	border-left-color: #66c03c;
}

.entry_lead {
	align-items: center;
	margin-bottom: 40px;
}
.entry_lead div {width: 40%;}
.entry_lead p {width: 58%;}

.entry_require {color: #f00;}

.entry_table {
	table-layout: fixed;
}
.entry_table th {
	text-align: left;
	width: 11em;
}
.entry_table td,
.questionnaire_table td {line-height: 1.8;}

.entry_table input[type="text"],
.questionnaire_table input[type="text"] {
	border: 1px solid #cdcdcd;
	margin-right: 5px;
	padding: 5px;
}
.entry_table select {
	font-size: 14px;
}
.entry_table textarea,
.questionnaire_table textarea {
	border: 1px solid #cdcdcd;
	padding: 5px;
	width: 100%;
}

.entry_name label + label,
.entry_kana label + label {
	margin-left: 0.5em;
}
.entry_name input,
.entry_kana input {
	margin: 0 5px;
	width: 36%;
}

.entry_years_list {
	display: flex;
	flex-wrap: wrap;
	width: 75%;
}
.entry_years_list label,
.entry_years_list .horizontal-item {width: 33%;}
#request_form .entry_years_list .horizontal-item + .horizontal-item {margin-left: 0;}
.entry_years_list input {margin-right: 5px;}

.entry_zipcode input {
	margin-left: 5px;
	width: 10em;
}

.entry_address input,
.entry_tel input,
.entry_mail input,
.entry_school input {
	max-width: 410px;
	width: 100%;
}
.entry_address div + div {margin-top: 10px;}
.entry_mail span input {
	margin-top: 10px;
}

.entry_choice label + label {margin-left: 1.5em;}
.entry_choice input {margin-right: 5px;}

.questionnaire_table th {text-align: left;}
.questionnaire_table tr:last-child td {height: 55px;}
.questionnaire_table td div + div {margin-top: 10px;}
.questionnaire_table input[type="text"] {width: 100%;}

.questionnaire_list {
	display: flex;
	flex-wrap: wrap;
}
.questionnaire_list label,
.questionnaire_list .horizontal-item {
	width: 20%;
}
#request_form .questionnaire_list .horizontal-item + .horizontal-item {
	margin-left: 0;
}
.questionnaire_list input {
	margin-right: 5px;
}

.form_btn {
	display: flex;
	justify-content: center;
	margin: 40px auto 0;
}
.form_btn input {
	background-image: url(../img/common/cmn_icon_arrow_white.png), url(../img/common/cmn_btn_green.png);
	background-position: 95% center, center;
	background-repeat: no-repeat;
	background-size: 15px auto, auto 56px;
	border: 2px solid #fff;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	height: 60px;
	line-height: 1.2;
	margin: 0 15px;
	outline: none;
	padding: 0 10px;
	text-align: center;
	text-decoration: none;
	width: 200px;
}
.form_btn .form_btn_back {
	background-image: url(../img/common/cmn_icon_arrow_white_02.png), url(../img/common/cmn_btn_gray.png);
	background-position: 5% center, center;
	width: 120px;
}
.device_com .form_btn input:hover {
	opacity: 0.8;
}

.mw_wp_form_confirm .form_label {display: none;}

.mw_wp_form_complete .cmn_txt_lead {
	margin-bottom: 40px;
	text-align: center;
}
.mw_wp_form_complete .cmn_btn {
	margin: 0 auto;
}

/*===============================================
	資料請求フォーム：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.entry_flow {
		font-size: 14px;
	}
	.entry_flow li {
		line-height: 40px;
		width: 28%;
	}
	.entry_flow li:not(:last-child)::after {
		border-width: 20px;
		border-left: 20px solid #fff;
		right: -40px;
	}
	.entry_flow li.current:not(:last-child)::after {
		border-width: 20px;
		border-left: 20px solid #66c03c;
	}

	.entry_lead {
		margin-bottom: 30px;
	}
	.entry_lead div {
		margin: 0 auto 20px;
		width: 70%;
	}
	.entry_lead p {width: 100%;}

	.entry_table th,
	.entry_table td {
		display: block;
		width: 100%;
	}

	.entry_years_list {
		width: 100%;
	}
	.entry_years_list label,
	.entry_years_list .horizontal-item,
	.questionnaire_list label,
	.questionnaire_list .horizontal-item {width: 50%;}

	.entry_mail input {
		width: calc(100% - 5em);
	}
	.form_btn {
		margin-top: 30px;
	}
	.form_btn input {
		height: 45px;
	}
	.form_btn input + input {
		margin-left: 5px;
	}
}


/* オンライン立正祭
--------------------------------------------------------- */
.risshosai_mv {margin-bottom: 30px;}

.risshosai_movie {
	margin-top: 50px;
}
.risshosai_movie_list {
	display: flex;
	flex-wrap: wrap;
}
.risshosai_movie_list li {
	width: 48%;
}
.risshosai_movie_list li:nth-child(odd) {
	margin-right: 4%;
}
.risshosai_movie_list li:nth-child(n+3) {
	margin-top: 4%;
}
.risshosai_movie_list h2 {
	color: #187250;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 0.5em;
}
#risshosai .cmn_grid_3col {
	margin-bottom: -30px;
}
#risshosai .cmn_grid_3col li {
	margin-bottom: 30px;
}
#risshosai .cmn_grid_3col .cmn_title_border {
	margin-bottom: 12px;
}
#risshosai .cmn_grid_3col img {
	margin-bottom: 10px;
}
#risshosai .cmn_grid_3col .title_green {
	color: #46a51a;
	font-size: 14px;
	font-weight: bold;
}


/*===============================================
	オンライン立正祭：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.risshosai_mv {margin-bottom: 25px;}
	.risshosai_movie {
		margin-top: 40px;
	}
	.risshosai_movie_list {
		display: block;
		margin: 0 auto;
		max-width: 280px;
	}
	.risshosai_movie_list li {
		width: 100%;
	}
	.risshosai_movie_list li:nth-child(odd) {
		margin-right: 0;
	}
	.risshosai_movie_list li + li,
	.risshosai_movie_list li:nth-child(n+3) {
		margin-top: 20px;
	}
	.risshosai_movie_list h2 {
		font-size: 15px;
	}
	#risshosai .cmn_grid_3col {
		margin-bottom: -25px;
	}
	#risshosai .cmn_grid_3col li {
		display: flex;
		flex-direction: column-reverse;
		margin-bottom: 25px;
	}
	#risshosai .cmn_grid_3col .cmn_title_border {
		margin-bottom: 10px;
	}
	#risshosai .cmn_grid_3col img {
		display: block;
		margin: 10px auto 0;
	}
	#risshosai .cmn_grid_3col .title_green {
		margin-bottom: 10px;
	}
}



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

	13. ブログ関連

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

/* ページネーション
--------------------------------------------------------- */
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: #66c03c;
	color: #fff;
}

/* 詳細ページ
--------------------------------------------------------- */
.cmn_single_title_wrap {
	border-top: 1px solid #66c03c;
	border-bottom: 1px dotted #e5e5e5;
	padding: 15px 5px;
}
.cmn_single_date {
	color: #46a51a;
	margin-bottom: 5px;
}
.cmn_single_title {
	color: #46a51a;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}

.cmn_single_content {
	border-bottom: 1px solid #66c03c;
	padding: 20px 0;
}
.cmn_single_content hr {
	margin: 25px 0;
}

.cmn_single_btn {
	margin: 40px auto 0;
}

/*===============================================
	詳細ページ：768px未満
===============================================*/
@media screen and (max-width:767px) {
	.cmn_single_title_wrap {
		padding: 12px 0;
	}
	.cmn_single_title {
		font-size: 16px;
	}

	.cmn_single_btn {
		margin-top: 25px;
	}
}



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

	14. エラーページ

--------------------------------------------------------- */
#error .cmn_contents_main h2 {
	font-size: 24px;
	margin-bottom: 30px;
}
#error .cmn_contents_main .cmn_btn {
	margin-top: 40px;
}
