@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: bottom;
}
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: 0.9rem;
	color:#000;
	background: #fff;
}

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: 1100px;
}

.max-width {
	max-width: 1100px;
}

/* ガタツキ修正 */
.no-gutters {
  margin:0;
  padding:0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
  margin:0;
  padding:0;
}

/* ------------------------- */

/* ヘッダー */
.dec-01{
	z-index: 10;
}
.dec-02{
	display: block;
	width: 150px;
	text-align: center;
	padding: 15px 0;
	color: #000;
	font-size: 14px;
	line-height: 1rem;
	border-left: 1px solid #000;
	hr {
		margin: 4px;
		border: 2px solid #E9B0C3;
		opacity: 1;
	}
}
.dec-02 hr.dec-02b {
		border: 2px solid #9FBA9F;
}
.dec-02 hr.dec-02c {
		border: 2px solid #BCDBE8;
}
.dec-02 hr.dec-02d {
		border: 2px solid #C9DF98;
}
@media (max-width: 1100px) {
	.dec-02 {
		font-size: calc(14 / 1100 * 100vw);
		width: calc(150 / 1100 * 100vw);
	}
}
@media screen and (max-width:767px) {
	.dec-02 {
		padding: 5px 0;
		line-height: 0.5rem;
		width: 75px;
		font-size: 0.5rem;
	}
}

/* メインビジュアル */
.dec-11{
	background-image: url(../img/img-01.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
}
@media screen and (max-width:767px) {
	.dec-11 {
		background-image: url(../img/img-01a.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: top center;
		height: 
	}
}
.dec-12 {
	height: 400px;
}
@media screen and (max-width:767px) {
	.dec-12 {
		height: 300px;
	}
}
.dec-13 {
	position: absolute;
	top: -25px;
	left: -40px;
	width: 346px;
	height: 347px;
}
@media screen and (max-width:767px) {
	.dec-13 {
		width: 150px;
		height: 150px;
	}
}
.dec-14 {
	background-color: rgb(255 255 255 / 0.6);
}
.dec-15 {
	background-color: #FFFF22;
	max-width: 420px;
	margin: -70px auto 0;
	padding: 15px;
}
@media screen and (max-width:767px) {
	.dec-15 {
		max-width: 300px;
		padding: 5px 7px 10px 7px;
	}
}
.dec-16 {
	position: absolute;
	top: -70px;
	right: 60px;
	width: 160px;
	height: 160px;
}
@media screen and (max-width:767px) {
	.dec-16 {
		top: -90px;
		right: 0px;
		width: 70px;
		height: 70px;
	}
}
.dec-17 {
	background-color: rgb(255 255 255 / 0.8);
}
.dec-18 {
	background-color: rgb(124 161 124 / 0.9);
	border-bottom: 1px solid rgb(124 161 124 / 0.9);
}
.dec-19 {
	max-width: 740px;
	margin: 0 auto;
}
@media screen and (max-width:767px) {
	.dec-19a {
		width: 270px;
		margin: 0 auto;
	}
}
.dec-1a {
	width: 280px;
	text-align: center;
	transition: all 0.5s ease;
}
@media screen and (max-width:767px) {
	.dec-1a {
		width: 260px;
		margin: 0 auto;
	}
}
.dec-19:hover {
	opacity: 1;
	div.dec-1a {
		background-color: #D36188;
	}
	div.dec-1b {
		background-color: #41763F;
	}
	div.dec-1c {
		background-color: #79B8D1;
	}
	div.dec-1d {
		background-color: #95BF32;
	}
}
.dec-1e {
	display: block;
	background: #FFFF22;
	position: relative;
	color: #40763D;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: 40px auto 0;
	padding: 22px 30px 20px 0;
	max-width: 900px;
	
	&:hover {
		opacity: 1;
	}
	&::after {
		content: "";
		position: absolute;
		width: 35px;
		height: 20px;
		top: 22px;
		right: 35px;
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/img-15a.svg);
		transition: all 0.4s ease-out;
	}
	&:hover::after {
		right: 10px;
	}
}
@media screen and (max-width:767px) {
	.dec-1e {
		margin: auto;
		width: 100%;
		font-size: 1rem;
	}
}

/* 紹介１ */
.dec-20 {
	position: absolute;
	top: -50px;
	right: 300px;
	width: 128px;
	height: 128px;
	z-index: -1;
}
@media screen and (max-width:767px) {
	.dec-20 {
		right: 0;
		width: 90px;
		height: 90px;
	}
}
.dec-21 {
	font-size: 1.1rem;
	line-height: 1.8rem;
	text-align: center;
}
@media screen and (max-width:767px) {
	.dec-21 {
		text-align: justify;
		padding: 0 10px 0 160px;
	}
}
.dec-22 {
	top: 180px;
	left: 110px;
	width: 170px;
	height: 170px;
	z-index: -1;
}
@media (max-width: 1100px) {
	.dec-22 {
		left: calc(40 / 1100 * 100vw);
	}
}
@media screen and (max-width:767px) {
	.dec-22 {
		top: auto;
		bottom: 40px;
		left: 10px;
		width: 120px;
		height: 120px;
	}
}
.dec-23 {
background: linear-gradient(90deg, #EAF7FC 0%, #EAF7FC 50%, #fff 50%, #fff 100%)
}
.dec-23b {
background: linear-gradient(90deg, #FCF6EA 0%, #FCF6EA 50%, #fff 50%, #fff 100%)
}
.dec-23c {
background: linear-gradient(90deg, #FBF6F9 0%, #FBF6F9 50%, #fff 50%, #fff 100%)
}
.dec-24 {
	background-color: #3FB4EC;
}
@media screen and (max-width:767px) {
	.dec-24 {
		background-image: url(../img/img-18a.png);
		background-repeat: no-repeat;
		background-position: top right;
	}
}
.dec-24b {
	background-color: #E9B23F;
}
@media screen and (max-width:767px) {
	.dec-24b {
		background-image: url(../img/img-21d.png);
		background-repeat: no-repeat;
		background-position: top right;
	}
}
.dec-24c {
	background-color: #DFAECA;
}
@media screen and (max-width:767px) {
	.dec-24c {
		background-image: url(../img/img-25a.png);
		background-repeat: no-repeat;
		background-position: top right;
	}
}
.dec-25 {
	top: -30px;
	right: 100px;
	width: 181px;
	height: 181px;
}
.dec-25a {
	bottom: -40px;
	right: 150px;
	z-index: -1;
}
.dec-25b {
	bottom: -40px;
	right: 150px;
	z-index: -1;
}
.dec-25c {
	bottom: -240px;
	left: -20px;
	z-index: -1;
}
.dec-26 {
	border-left: 6px solid #fff;
}
.dec-27 {
	font-size: 1.4rem;
	color: #fff;
}
.dec-28 {
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
}
@media screen and (max-width:767px) {
	.dec-28 {
		margin: 20px 0;
	}
}
.dec-29 {
	font-size: 1.1rem;
	color: #fff;
}
.dec-2a {
	display: block;
	padding: 10px 0;
	border: 2px solid #40763E;
	width: 130px;
	text-align: center;
	color: #40763E;
	font-size: 1.2rem;
}
@media screen and (max-width:767px) {
	.dec-2a {
		font-size: 0.9rem;
		padding: 6px 0;
		width: 80px;
	}
}
.dec-2b {
	position: absolute;
	top: 80px;
	right: 200px;
}
@media screen and (max-width:767px) {
	.dec-2b {
		top: 310px;
		right: 0px;
		width: 100px;
		z-index: -1;
	}
}

/* 紹介２ */
.dec-31 {
	text-align: center;
	color: #40763E;
	font-size: 1.4rem;
	font-weight: bold;
	span {
		font-weight: bold;
		font-size: 2rem;
		background: linear-gradient(transparent 65%, #FFED00 60%);
		padding: 0 5px;
	}
}
@media screen and (max-width:767px) {
	.dec-31 span {
		font-size: 1.8rem;
	}
}
.dec-32 {
	font-size: 1.1rem;
	line-height: 1.8rem;
	text-align: center;
}
@media screen and (max-width:767px) {
	.dec-32 {
		text-align: justify;
		padding: 0 90px 0 10px;
	}
}
.dec-33 {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
@media screen and (max-width:767px) {
	.dec-33 {
		width: 120px;
		top: -40px;
	}
}
.dec-35 {
	position: absolute;
	top: -20px;
	right: 30px;
}
@media screen and (max-width:767px) {
	.dec-35 {
		top: -270px;
		right: 0;
		width: 90px;
	}
}
.dec-36 {
	position: absolute;
	top: 0px;
	left: 20px;
}
.dec-37 {
	text-align: center;
	font-size: 2.6rem;
	span {
		font-weight: bold;
		background: linear-gradient(transparent 88%, #40763E 60%);
	}
}
@media screen and (max-width:767px) {
	.dec-37 span {
		font-size: 2.2rem;
	}
}
.dec-38a img {
	width: 270px;
}
.dec-38b img {
	width: 351px;
}
.dec-38c img {
	width: 315px;
}
@media (max-width: 1100px) {
	.dec-38a img {
		width: calc(270 / 1100 * 100vw);
	}
	.dec-38b img {
		width: calc(351 / 1100 * 100vw);
	}
	.dec-38c img {
		width: calc(315 / 1100 * 100vw);
	}
}
@media screen and (max-width:767px) {
	.dec-38a img {
		width: 767px;
	}
	.dec-38b img {
		width: 767px;
	}
	.dec-38c img {
		width: 767px;
	}
}

/* 紹介３ */
.dec-41 {
	font-size: 1.1rem;
	line-height: 1.8rem;
	text-align: center;
}
@media screen and (max-width:767px) {
	.dec-41 {
		text-align: justify;
	}
}
@media screen and (max-width:767px) {
	.dec-41a {
		width: 100px;
	}
}
.dec-42 {
	background-color: #F4F9FB;
}
.dec-43 {
	text-align: center;
	font-size: 1.6rem;
	span {
		font-weight: bold;
		border-bottom: 3px solid #79B7D1;
	}
}
.dec-44 {
	position: absolute;
	top: -60px;
	right: 20px
}
@media screen and (max-width:767px) {
	.dec-44 {
		width: 200px;
		right: 0;
	}
}
.dec-45 {
	padding: 5px 80px;
	display: flex;
	align-items: center;
}
.dec-45:after {
	content: "";
	flex-grow: 1;
	height: 2px;
	display: block;
}
.dec-45:after {
	margin-left: .4em;
	background: #222;
}
@media screen and (max-width:767px) {
	.dec-45 {
		padding: 5px 20px;
		display: block;
		&::after {
			content: none;
		}
	}
}
.dec-46 {
	font-size: 1.1rem;
	text-indent: -15px;
	padding: 0 15px;
	&::before {
		content: "";
		width: 14px;
		height: 14px;
		display: inline-block;
		background-color: #79B7D1;
		border-radius: 50%;
	}
}
.dec-47 {
	position: absolute;
	top: -2px;
	right: 80px;
	padding: 10px;
	font-size: 1.1rem;
	background-color: #F4F9FB;
}
@media screen and (max-width:767px) {
	.dec-47 {
		position: static;
		width: 100%;
		top: auto;
		right: auto;
		text-align: right;
		&::before {
			content: "……";
			display: inline-block;
		}
	}
}
.dec-48 {
	text-align: center;
	font-size: 1.6rem;
		font-weight: bold;
	span {
		font-weight: bold;
		border-bottom: 4px solid #79B7D1;
		padding: 0 5px;
	}
}
@media screen and (max-width:767px) {
	.dec-48 {
		font-size: 1.4rem;
	}
}
@media screen and (max-width:767px) {
	.dec-48a {
		width: 140px;
	}
}
.dec-49 {
	position: absolute;
	top: -144px;
	left: 30px;
}
@media screen and (max-width:767px) {
	.dec-49 {
		width: 115px;
		left: 0px;
		top: -90px;
		}
}

/* Campus MAP */
.dec-51 {
	text-align: center;
	font-size: 2.2rem;
		font-weight: bold;
	span {
		font-weight: bold;
		border-bottom: 4px solid #79B7D1;
		padding: 0 5px;
	}
}
.dec-52 {
	text-align: center;
	font-size: 1.6rem;
}
@media screen and (max-width:767px) {
	.dec-52 {
		font-size: 1.3rem;
		font-weight: bold;
	}
}
.dec-53 {
	position: absolute;
	top: -100px;
	left: 0px;
	width: 184px;
}
@media screen and (max-width:767px) {
	.dec-53 {
		width: 150px;
		left: 0px;
		top: -30px;
	}
}
.dec-55 {
	position: absolute;
	top: -100px;
	right: 0px;
	width: 234px;
}
@media screen and (max-width:767px) {
	.dec-55 {
		width: 120px;
		right: 0px;
		top: -50px;
	}
}
.dec-56 {
	position: absolute;
	top: 0px;
	left: 12px;
	width: 40px;
	height: 40px;
	background-color: #000;
	color: #fff;
	text-align: center;
	font-size: 1.5rem;
	line-height: 42px;
}
.dec-57 {
	font-size: 1.4rem;
	padding: 0 0 15px;
}
@media screen and (max-width:767px) {
	.dec-57 {
		font-size: 1.2rem;
		padding: 0 0 5px;
	}
}
.dec-58 {
	font-size: 1rem;
	text-align: justify;
}
@media screen and (max-width:767px) {
	.dec-58 {
		font-size: 0.9rem;
	}
}

/* 紹介４ */
.dec-61 {
	text-align: center;
	font-size: 2rem;
		font-weight: bold;
	span {
		font-weight: bold;
		border-bottom: 4px solid #94BF31;
		padding: 0 5px;
	}
}
@media screen and (max-width:767px) {
	.dec-61 {
		font-size: 1.6rem;
		line-height: 2.9rem;
		span {
			padding: 0 2px;
		}
	}
}
.dec-62 {
	position: absolute;
	top: -140px;
	right: 30px;
}
@media screen and (max-width:767px) {
	.dec-62 {
		width: 150px;
		right: 0;
	}
}
.dec-63 {
	position: absolute;
	top: -40px;
	left: 40px;
}
@media screen and (max-width:767px) {
	.dec-63 {
		width: 100px;
		left: 0;
	}
}
.dec-64 {
	font-size: 1rem;
	text-align: justify;
}
.dec-65 {
	text-align: center;
	font-size: 1.6rem;
		font-weight: bold;
	span {
		font-weight: bold;
		border-bottom: 4px solid #94BF31;
		padding: 0 15px;
	}
}
.dec-66 {
	border: 1px solid #94BF31;
	background-color: #FFFCE5;
	padding: 60px 30px;
}
.dec-67 {
	font-size: 1rem;
	text-align: justify;
}
.dec-68 {
	display: block;
	background: #94BF31;
	position: relative;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: 40px 0 0;
	padding: 20px 20px;
	&:hover {
		opacity: 1;
	}
	&::after {
		content: "";
		position: absolute;
		width: 35px;
		height: 20px;
		top: 22px;
		right: 35px;
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/img-74.svg);
		transition: all 0.4s ease-out;
	}
	&:hover::after {
		right: 10px;
	}
}
@media screen and (max-width:767px) {
	.dec-68 {
		margin: auto;
		width: 100%;
		font-size: 1rem;
	}
}

/* フッター */
.dec-81 {
	background-image: url(../img/img-76.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom center;
	padding: 200px 0 0 0;
}
@media screen and (max-width:767px) {
	.dec-81 {
		padding: 50px 0 0 0;
	}
}
.dec-82 {
	background-color: #40763E;
	padding: 20px;
	text-align: right;
	color: #fff;
	font-size: 0.8rem;
}
.dec-83 {
	background-color: #40763E;
}


/*モーダルウィンドウ装飾*/
.modal-outer {
	position: fixed;
	top: 0;
	left: 0;
	display: none; 
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	z-index: 10000; 
	overscroll-behavior: contain;
	overflow-y: scroll;
}
.nonScroll {
	height:calc(96vh + 1px) ;
	width: 1px;
	background-color: transparent;
}

.modal-inner {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	overflow-y: auto;
	max-width: 900px;
	max-height: 77%;
	background: #fff;
}
@media screen and (max-width:767px) {
	.modal-inner {
		overflow-y: auto;
		max-width: 90%;
		max-height: 85%;
	}
}
.show {
	display: block;
	opacity: 1;
	animation: modal-fade 0.3s ease-in 0s forwards;
}
@keyframes modal-fade {
	0% {
	display: none;
	opacity: 0;
	}
	1% {
	display: block;
	opacity: 0;
	}
	100% {
	display: block;
	opacity: 1;
	}
}
.close-btn-top {
	cursor: pointer;
	color: #000;
	font-size: 2em;
	position: absolute;
	top: 10px;
	right: 15px;
}
.dec-mdl01 {
	background-color: #3FB4EC;
}
@media screen and (max-width:767px) {
	.dec-mdl01 {
		background-image: url(../img/img-18a.png);
		background-repeat: no-repeat;
		background-position: top right;
	}
}
.dec-mdl01b {
	background-color: #E9B23F;
}
@media screen and (max-width:767px) {
	.dec-mdl01b {
		background-image: url(../img/img-21d.png);
		background-repeat: no-repeat;
		background-position: top right;
	}
}
.dec-mdl01c {
	background-color: #DFAECA;
}
@media screen and (max-width:767px) {
	.dec-mdl01c {
		background-image: url(../img/img-25a.png);
		background-repeat: no-repeat;
		background-position: top right;
	}
}
.dec-mdl02 {
	text-align: center;
	font-size: 1.6rem;
	color: #3FB4EC;
	span {
		background-color: #fff;
		padding: 12px 30px 5px 30px;
	}
}
.dec-mdl02b {
	color: #E9B23F;
	span {
		padding: 12px 50px 5px 50px;
	}
}
.dec-mdl02c {
	color: #DFAECA;
}
.dec-mdl03 {
	text-align: center;
	font-size: 2.1rem;
	color: #fff;
	font-weight: bold;
}
.dec-mdl04 {
	position: absolute;
	top: -15px;
	right: 80px;
}
.dec-mdl05 {
	position: absolute;
	top: 160px;
	left: 20px;
}
.dec-mdl06 {
	text-align: center;
	font-size: 1.3rem;
	line-height: 2.1rem;
	font-weight: bold;
}
@media screen and (max-width:767px) {
	.dec-mdl06 {
		text-align: justify;
	}
}
.dec-mdl07 {
	text-align: center;
	font-size: 1.6rem;
	line-height: 2.1rem;
	span {
		color: #009BE7;
		font-weight: bold;
		border-bottom: 6px solid #82C3F0;
	}
}
.dec-mdl08 {
	position: absolute;
	top: -20px;
	right: 80px;
}
@media screen and (max-width:767px) {
	.dec-mdl08 {
		top: -10px;
		right: 10px;
		width: 50px
	}
}
.dec-mdl08a {
	position: absolute;
	top: -120px;
	right: 80px;
}
@media screen and (max-width:767px) {
	.dec-mdl08a {
		top: -80px;
		right: 20px;
	width: 80px;
	}
}
.dec-mdl08b {
	position: absolute;
	top: -120px;
	right: 40px;
}
.dec-mdl08c {
	position: absolute;
	top: -150px;
	right: 60px;
}
@media screen and (max-width:767px) {
	.dec-mdl08c {
		width: 70px;
		right: 20px;
		top: -90px;
	}
}
.dec-mdl08d {
	position: absolute;
	top: -110px;
	right: 50px;
}
@media screen and (max-width:767px) {
	.dec-mdl08d {
		top: -80px;
		right: 20px;
		width: 80px;
	}
}
.dec-mdl09 {
	font-size: 1.1rem;
	text-indent: -15px;
	padding-left: 15px;
	&::before {
		content: "";
		width: 15px;
		height: 15px;
		display: inline-block;
		background-color: #009BE6;
		border-radius: 50%;
	}
}
.dec-mdl09b {
	&::before {
		background-color: #E29900;
	}
}
.dec-mdl09c {
	&::before {
		background-color: #DFAECA;
	}
}
.dec-mdl10 {
	display: block;
	background: #FFFF22;
	position: relative;
	color: #009BE6;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	margin: 40px auto 0;
	padding: 20px 20px;
	max-width: 500px;
	&:hover {
		opacity: 1;
	}
	&::after {
		content: "";
		position: absolute;
		width: 35px;
		height: 20px;
		top: 50px;
		right: 35px;
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/img-15.svg);
		transition: all 0.4s ease-out;
	}
	&:hover::after {
		right: 10px;
	}
}
@media screen and (max-width:767px) {
	.dec-mdl10 {
		max-width: 350px;
		&::after {
			right: 20px;
		}
	}
}
.dec-mdl10b {
	color: #E9B23F;
	&::after {
		background-image: url(../img/img-15b.svg);
	}
}
.dec-mdl10c {
	color: #D494B8;
	&::after {
		background-image: url(../img/img-15c.svg);
	}
}