@charset "UTF-8";

/* --- reset default style ---------------*/
body,
h1, h2, h3, h4, h5, h6,
div, p, ul, ol, li,
dl, dt, dd,
pre, blockquote, address,
table, thead, tbody, tfoot,
 tr, th, td, caption,
form, fieldset, legend,
optgroup, option,
del, ins,
span, a, img,
dfn, em, strong, bdo,
abbr, acronym, cite, q,
kbd, code, samp, var,
input, select, textarea, button, label, iframe
{
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	padding: 0px;
	margin: 0px;
}
sup {
	font-size: 80%;
	font-style: normal;
	font-weight: normal;
	vertical-align: top;
}
sub {
	font-size: 80%;
	font-style: normal;
	font-weight: normal;
	vertical-align: 5px;
}
fieldset, del, ins, img, abbr, acronym
{
	border: 0;
	vertical-align:bottom;
}
li {
	list-style-type: none;
}
area {
	border:none;
	outline: none;
}
/* --- ページの基本 ---------------*/
body {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: 1rem;
	color:#000;
	background: #fff;
}
.fontfamily-serif {
	font-family: "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝", serif;
}
table {
	border-collapse:collapse;
	border:none;
}
tr,th,td {
	border:none;
}
th,td {
	vertical-align:top;
}
a {
	/* color: #000; */
	text-decoration: none;
}
a:link {
	/* color: #000; */
	text-decoration: none;
}
a:visited {
	/* color: #000; */
	text-decoration: none;
}
a:hover {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
a:active {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

ol {
	padding-left: 2em;
}
ol li {
	list-style-type: decimal;
}
.gsc-control-cse {
	padding: 0em!important; 
}
#navmenu1 .gsc-control-cse { 
	padding: 0em!important; 
	background-color: #C1272D!important;
	border: none!important; 
}

/* 左右幅リミッター */
.container {
	max-width: 1440px;
}
.max-width {
	max-width: 1440px;
}

.dec-rel {
	position: relative;
}

/* ------------------------- */

/* メインビジュアル+メインメニュー */
.dec-01 {
	background-image: url(../img/img-01.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;

	padding: 20px 120px 00px 120px;
	box-shadow: 0px -70px 30px -20px rgba(255, 255, 255, 1)inset;
}
@media screen and (max-width:991px) {
	.dec-01 {
		background-image: url(../img/img-sp01.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top center;

		padding: 10px 30px;
	}
}
.dec-02 {
	margin-top: 180px;
}
@media screen and (max-width:991px) {
	h1 a img {
		width: 100px;
	}
	.dec-02 {
		margin-top: 50px;
	}
}

.dec-03 {
	position: absolute;
	width: 947px;
	height: 390px;
	z-index: 3;
}
@media (max-width: 1440px) {
	.dec-03 {
		width: calc(947 / 1440 * 100vw);
		height: calc(390 / 1440 * 100vw);
	}
}
@media screen and (max-width:991px) {
	.dec-03 {
		position: static;
		max-width: 500px;
		width: 100%;
		margin: auto
	}
}
.dec-04 {
	position: absolute;
	width: 297px;
	height: 522px;
	top: -120px;
	right: 50px;
	z-index: 1;
}
@media (max-width: 1440px) {
	.dec-04 {
		width: calc(297 / 1440 * 100vw);
		height: calc(522 / 1440 * 100vw);
		top: calc(-120 / 1440 * 100vw);
		right: calc(50 / 1440 * 100vw);
	}
}
.dec-05 {
	position: absolute;
	width: 446px;
	height: 259px;
	top: 250px;
	right: 50px;
	z-index: 1;
}
@media (max-width: 1440px) {
	.dec-05 {
		width: calc(446 / 1440 * 100vw);
		height: calc(259 / 1440 * 100vw);
		top: calc(250 / 1440 * 100vw);
		right: calc(50 / 1440 * 100vw);
	}
}

.dec-06 {
	margin-top: 600px;
	font-size: 1.2rem;
	line-height: 2rem;
}

@media screen and (max-width:991px) {
	.dec-06 {
		margin-top: 40px;
		text-align: center;
		font-size: 1rem;
		line-height: 1.8rem;

	}
}
.dec-07 a:hover {
	opacity: 0.9;
}

/* 夏のオープンキャンパス */
.dec-11 {
	background-image: url(../img/img-09.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;

	padding: 20px 120px 00px 120px;
}
@media screen and (max-width:991px) {
	.dec-11 {
		background-image: url(../img/img-sp08.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top center;

		padding: 10px 30px;
	}
}
.dec-11b {
	background-image: url(../img/img-10.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom center;

	padding: 20px 120px 00px 120px;
	box-shadow: 0px -70px 30px -20px rgba(255, 255, 255, 1)inset;
}
@media screen and (max-width:991px) {
	.dec-11b {
		background-image: url(../img/img-sp09.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: bottom center;

		padding: 10px 30px;
	}
}

.dec-12 {
	background-color: #E4EFE2;
	margin: 40px 120px;
	padding: 20px 140px 20px 30px;
	border-radius: 30px;
}
@media screen and (max-width:991px) {
	.dec-12 {
		margin: 20px 0px;
		padding: 20px;
		border-radius: 15px;
	}
}
.dec-13 {
	position: relative;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	color: #5A9939;
	&::after {
		content: '';
		width: 360px;
		height: 4px;
		display: inline-block;
		background-color: #5A9939;
		border-radius: 5px;
		position: absolute;
		bottom: -5px;
		left: calc(50% - 180px);
	}
}
@media screen and (max-width:991px) {
	.dec-13 {
		font-size: 1.2rem;
		&::after {
			width: 260px;
			height: 4px;
			bottom: -8px;
			left: calc(50% - 130px);
		}
	}
}
.dec-14 {
	text-align: center;
}
@media screen and (max-width:991px) {
	.dec-14 {
		font-size: 0.8rem;
	}
}
.dec-15 {
	position: absolute;
	top: -80px;
	left: -60px;
	width: 242px;
	height: 227px;
}
.dec-15b {
	position: absolute;
	top: -83px;
	left: -60px;
	width: 258px;
	height: 235px;
}
.dec-16 {
	position: absolute;
	top: -77px;
	right: 10px;
	width: 277px;
	height: 229px;
}
.dec-17 {
	position: relative;
	background-color: #83B26B;
	padding: 20px 20px 5px 20px;
	&::after {
		content: '';
		position: absolute;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		width: 99.4%;
		height: 99.4%;
		top: 10px;
		left: 10px;
	}
	p {
		text-align: center;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		letter-spacing: 0.2rem;
		span {
			font-size: 2.2rem;
			font-weight: bold;
		}
	}
}
.dec-17b {
	background-color: #EB7E9A;
}
@media screen and (max-width:991px) {
	.dec-17 p {
		font-size: 1rem;
		letter-spacing: 0;
		span {
			font-size: 1.8rem;
		}
	}
}
.dec-17c {
	position: relative;
	background-color: #ECB457;
	padding: 12px 20px -0px 20px;
	&::after {
		content: '';
		position: absolute;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		width: 99.4%;
		height: 99.4%;
		top: 10px;
		left: 10px;
	}
	p {
		text-align: center;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		span {
			font-size: 2.2rem;
			font-weight: bold;
		}
	}
}
@media screen and (max-width:991px) {
	.dec-17c p {
		font-size: 1rem;
		letter-spacing: 0;
		span {
			font-size: 1.8rem;
		}
	}
}
.dec-17d {
	background-color: #66C3F0;
}
.dec-18a {
	font-size: 1.4rem;
	font-weight: bold;
	&::first-letter {
		color: #486F34;
	}
	span {
		font-size: 1.8rem;
		font-weight: bold;
		color: #E45379;
	}
}
@media screen and (max-width:991px) {
	.dec-18a {
		font-size: 1.3rem;
		span {
			font-size: 1.4rem;
		}
	}
}
.dec-18b {
	font-size: 1.4rem;
	font-weight: bold;
	color: #486F34;
}
@media screen and (max-width:991px) {
	.dec-18b {
		font-size: 1.2rem;
	}
}
.dec-18c {
	font-size: 1rem;
	text-align: justify;
}
.dec-18d {
	font-size: 1.4rem;
	font-weight: bold;
	&::first-letter {
		color: #E45379;
	}
	span {
		font-weight: bold;
		color: #E45379;
	}
}
.dec-18e {
	font-size: 1.4rem;
	font-weight: bold;
	&::first-letter {
		color: #E29900;
	}
}
.dec-18f::first-letter {
	color: #66C3F0;
}
.dec-18g {
	font-size: 1rem;
	text-align: justify;
	padding-left: 1em;
	text-indent: -1em;
}
.dec-19 {
	border-left: 2px solid #9CC288;
	border-right: 2px solid #9CC288;
}
.dec-19b {
	border-left: 2px solid #F0A1B5;
	border-right: 2px solid #F0A1B5;
}
.dec-19c {
	border-left: 2px solid #F0A1B5;
}
.dec-19d {
	border-left: 2px solid #74C8F1;
	border-right: 2px solid #74C8F1;
}
.dec-19e {
	border-left: 2px solid #9CC288;
}
@media screen and (max-width:991px) {
	.dec-19 {
		border: none;
		border-bottom: 2px solid #9CC288;
		border-top: 2px solid #9CC288;
	}
	.dec-19b {
		border: none;
		border-bottom: 2px solid #F0A1B5;
		border-top: 2px solid #F0A1B5;
	}
	.dec-19c {
		border: none;
		border-top: 2px solid #F0A1B5;
	}
	.dec-19d {
		border: none;
		border-bottom: 2px solid #74C8F1;
		border-top: 2px solid #74C8F1;
	}
	.dec-19e {
		border: none;
		border-top: 2px solid #9CC288;
	}
	.dec-19f {
		border: none;
		border-top: 2px solid #F0A1B5;
	}
}


.dec-21 {
	 filter: drop-shadow(5px 5px 5px #aaa);
}
.dec-22 {
	position: absolute;
	bottom: 0px;
	left: 0px;
}
.dec-23 {
	position: absolute;
	bottom: 0px;
	left: 0px;
}
.dec-24 {
	font-size: 1.2rem;
}
@media screen and (max-width:991px) {
	.dec-24 {
		font-size: 1rem;
	}
}
.dec-25 {
	display: block;
	background-color: #fff;
	border: 2px solid #40796F;
	margin-left: auto;
	padding: 14px 10px 10px 10px;
	width: 130px;
	text-align: center;
	color: #40796F;
	font-size: 1.1rem;
}
@media screen and (max-width:991px) {
	.dec-25 {
		padding: 10px 5px 6px 5px;
		width: 100px;
		font-size: 1rem;

	}
}

/* 入試直前オープンキャンパス */
.dec-31 {
	background-image: url(../img/img-29a.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;

	padding: 20px 120px 00px 120px;
}
@media screen and (max-width:991px) {
	.dec-31 {
		background-image: url(../img/img-sp17a.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top center;

		padding: 10px 30px;
	}
}
.dec-31b {
	background-image: url(../img/img-29b.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom center;

	padding: 20px 120px 00px 120px;
	box-shadow: 0px -70px 30px -20px rgba(255, 255, 255, 1)inset;
}
@media screen and (max-width:991px) {
	.dec-31b {
		background-image: url(../img/img-sp17b.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: bottom center;

		padding: 10px 30px;
	}
}
.dec-32 {
	position: relative;
	background-color: #66C3F0;
	padding: 20px 20px 0px 20px;
	height: 80px;
	&::after {
		content: '';
		position: absolute;
		border-top: 3px solid #fff;
		border-left: 3px solid #fff;
		width: 99.4%;
		height: 99.4%;
		top: 10px;
		left: 10px;
	}
	p {
		text-align: center;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		span {
			font-size: 2.2rem;
			font-weight: bold;
		}
	}
}
@media screen and (max-width:991px) {
	.dec-32 {
		height: 60px;
	}
	.dec-32 p {
		font-size: 1rem;
		span {
			font-size: 1.8rem;
		}
	}
}


/* フッター */
.dec-f01 {
	background-image: url(../img/img-40.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom center;
}

.dec-f02 {
	background: #40763E;
	padding: 20px 40px;
	text-align: end;
	p {
		color: #fff;
	}
}

.dec-f03 {
	padding: 20px 135px 00px 120px;
}
@media screen and (max-width:991px) {
	.dec-f03 {
		padding: 10px 40px;
	}
}