consert@charset "UTF-8";

/*---------------------------------------------
	Browser Default Initialization
  ---------------------------------------------*/

html {
	overflow-y: scroll;
	height: 100%;
}

body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, header, address,
figure, figcaption {
	margin: 0;
	padding: 0;
}

address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th {text-align: left;}

q::before ,q::after {content: '';}

object, embed {vertical-align: top;}

hr, legend {display: none;}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: 600;
}

img, abbr, acronym, fieldset {border: 0;}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

ul li {list-style-type: none;}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}



/*---------------------------------------------
	body
  ---------------------------------------------*/

body {
	height: 100%;
	font-family: "明朝体", "YuMincho", "明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "MS P明朝", "MS PMincho", serif;
	color: #363636;
	font-size: 15px;
	font-weight: 500;
	line-height: 180%;
	text-align: left;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	letter-spacing: 1px;
}



/*---------------------------------------------
	Anchor
  ---------------------------------------------*/

a {
	outline: none;
	text-decoration: underline;
	color: #000;
}
html:not(.sp) a:hover {
	text-decoration: none;
	color: #8A0113;
}



/*---------------------------------------------
	General Settings
  ---------------------------------------------*/

#wrapper {
	position: relative;
	width: 100%;
	background: #fff;
	overflow: hidden;
}

p {
	padding: 0 0 .7em;
	font-size: 100%;
	line-height: 1.6;
}



/*---------------------------------------------
	Header
  ---------------------------------------------*/

@media screen and (min-width: 1000px) {

	header {
		display: block !important;
	}

	#header-bar {
		position: fixed;
		width: calc(100% - 215px);
		height: 50px;
		top: 0;
		right: 0;
		text-align: center;
		background-color: #8A0113;
		z-index: 5;
	}

	#subnav {
		display: flex;
		justify-content: space-evenly;
		/* vertical-align: top; */
	}

	#subnav li {
	width: 25%;
	}

	#subnav li a {
		display: block;
		padding: 5px 15px;
		line-height: 40px;
		color: #fff;
		text-decoration: none;
		-moz-transition: background-color .2s linear, color .2s linear;
		-webkit-transition: background-color .2s linear, color .2s linear;
		-o-transition: background-color .2s linear, color .2s linear;
		-ms-transition: background-color .2s linear, color .2s linear;
		transition: background-color .2s linear, color .2s linear;
	}
	html:not(.sp) #subnav li a:hover {
		color: #fff;
		background-color: #b90021;
	}

	#subnav li ul {
		display: block !important;
		height: 0;
		background: rgba(68,68,68,.8);
		overflow: hidden;
		opacity: 0;
		-moz-transition: all .5s ease;
		-webkit-transition: all .5s ease;
		-o-transition: all .5s ease;
		-ms-transition: all .5s ease;
		transition: all .5s ease;
	}
	#subnav li:hover ul {
		height: auto;
		opacity: 1;
	}
	#subnav li ul li {
		float: none;
		width: 100%;
		text-align: left;
	}
	#subnav li ul li a {
		color: #fff;
		font-size: .9em;
	}

}

#logo {
	position: fixed;
	z-index: 7;
	display: table;
	top: 25px;
	left: 15px;
	padding: 0;
	overflow: hidden;
	ound-size: 100% 100%; */
}

#logo a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}



/*---------------------------------------------
	Global Navigation
  ---------------------------------------------*/

@media screen and (min-width: 1000px) {

	.left_side {
		position:fixed;
		width: 215px;
		height: 100vh;
		border-right: #E2E2E2 solid 1px;
		z-index: 5;
	}
	#gnav {
		position: fixed;
		top: 140px;
		width: 215px;
		height: 360px;
		z-index: 7;
	}
	#gnav:hover {
		z-index: 6;
	}
	#gnav > ul {
		height: 100%;
	}

	#gnav > ul > li {
		height: 14.28571429%;
	}

	#gnav > ul > li.gnav-arrow {
		position:relative;
	}
	.gnav-arrow:before {
		content:"";
		position:absolute;
		display:block;
		top:50%;
		right:25px;
		width:10px;
		height:10px;
		border-top:#000 solid 2px;
		border-right:#000 solid 2px;
		transform:translateY(-50%) rotate(45deg);
	}
	.gnav-arrow:hover:before {
		border-color:#8A0014;
	}

	#gnav > ul > li > span {
		position: relative;
		display: table;
		height: 100%;
	}

	#gnav > ul > li > span > a {
		display: table-cell;
		width: 215px;
		padding: 0 10px 0 10px;
		line-height: 140%;
		text-decoration: none;
		border-bottom: solid 1px rgba(255, 255, 255, .1);
		vertical-align: middle;
		-moz-transition: background-color .2s linear, border-bottom .2s linear;
		-webkit-transition: background-color .2s linear, border-bottom .2s linear;
		-o-transition: background-color .2s linear, border-bottom .2s linear;
		-ms-transition: background-color .2s linear, border-bottom .2s linear;
		transition: background-color .2s linear, border-bottom .2s linear;
	}

	#gnav > ul > li:last-child > span > a {
		border-bottom: 0 none;
	}
	html:not(.sp) #gnav > ul > li:hover > span > a {
		color: #8A0014;
		background-color: rgba(255, 255, 255, .1);
	}
	#gnav > ul > li.parent:not(:last-child) > span > a {
		border-bottom: solid 1px rgba(255, 255, 255, .0);
	}
	html:not(.sp) #gnav > ul > li:last-child:hover > span > a {
		border-bottom: 0 none;
	}

	#gnav > ul > li > ul {
		position: relative;
		top: -57px;
		width: 0;
		margin: 0 0 0 215px;
		background-color: rgba(68,68,68,.8);
		overflow: hidden;
		-moz-transition: width .2s ease-out, height .2s ease-out;
		-webkit-transition: width .2s ease-out, height .2s ease-out;
		-o-transition: width .2s ease-out, height .2s ease-out;
		-ms-transition: width .2s ease-out, height .2s ease-out;
		transition: width .2s ease-out, height .2s ease-out;
	}
	#gnav > ul > li:hover > ul {
		width: 180px;
	}

	#gnav > ul > li > ul > li > span > a {
		position: relative;
		display: block;
		width: 180px;
		padding: 15px 20px;
		line-height: 140%;
		color: #fff;
		font-size: 83%;
		text-decoration: none;
		-moz-transition: background-color .2s linear;
		-webkit-transition: background-color .2s linear;
		-o-transition: background-color .2s linear;
		-ms-transition: background-color .2s linear;
		transition: background-color .2s linear;
	}
	#gnav > ul > li > ul > li > span > a:hover {
		background: #b90021;
	}

	#gnav > ul > li > ul > li > ul {
		position: fixed;
		display: block !important;
		width: 0;
		height: 540px;
		top: 70px;
		margin: 0 0 0 180px;
		overflow: hidden;
		background-color: rgba(47, 47, 47, .7);
		-moz-transition: width .2s ease-out, height .2s ease-out;
		-webkit-transition: width .2s ease-out, height .2s ease-out;
		-o-transition: width .2s ease-out, height .2s ease-out;
		-ms-transition: width .2s ease-out, height .2s ease-out;
		transition: width .2s ease-out, height .2s ease-out;
	}
	#gnav > ul > li > ul > li > ul {
		height: 580px;
	}

	#gnav > ul > li > ul:hover > li > ul {
		height: 88%;
	}
	#gnav > ul > li > ul > li:hover > ul {
		width: 180px;
	}

	#gnav > ul > li > ul > li > ul > li {
		clear: both;
		float: right;
	}

	#gnav > ul > li > ul > li > ul > li > span > a {
		position: relative;
		display: block;
		width: 180px;
		padding: 15px 20px;
		line-height: 140%;
		color: #fff;
		font-size: 83%;
		text-decoration: none;
		-moz-transition: background-color .2s linear;
		-webkit-transition: background-color .2s linear;
		-o-transition: background-color .2s linear;
		-ms-transition: background-color .2s linear;
		transition: background-color .2s linear;
	}

	#subnav li.gnav-arrow:before {
		content:none;
	}

}

html:not(.sp) #gnav > ul > li > span > a:hover:after,
#gnav > ul > li.current > span > a:after,
#gnav > ul > li.parent > span > a:after {
	opacity: 1;
}

#sp-gnav-btn,
.sp-gnav-layer-btn {
	display: none;
}



/*---------------------------------------------
	Bread Crumb
  ---------------------------------------------*/

#bread-crumb {
	overflow: hidden;
	padding: 15px 0 15px 35px;
	border-top: #E2E2E2 solid 1px;
}

#bread-crumb li {
	float: left;
	color:#000;
	font-size: .8em;
}

#bread-crumb li:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 10px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	opacity: .5;
}
#bread-crumb li:first-of-type:before {
	display: none;
}

#bread-crumb a {
	color: #8A0014;
	text-decoration: none;
}
#bread-crumb a:hover {
	text-decoration:underline;
}

@media screen and (max-width: 599px)
{
	#bread-crumb {
		padding: 15px;
	}
}


/*---------------------------------------------
	Contents
  ---------------------------------------------*/

#contents-container {
	position: relative;
	z-index: 4;
	width: calc(100% - 215px);
	padding: 40px 0 0;
	left: 215px;
	background-image: url(../../images/common/bg-contents-container.svg);
	background-repeat-y: repeat;
	background-size: contain;
}

section {
	position: relative;
	margin: 0 auto;
	padding: 45px 35px 95px;
}

@media screen and (max-width: 999px) {
	section {
		padding: 45px 15px 9.3%;
	}
}

.top_info {
	padding: 45px 0 95px;
}
@media screen and (max-width: 999px)
{
	.top_info {
		padding: 45px 0 9.3%;
	}
}

#top_info-slide {
	position:relative;
}
.top_info .col-container {
	background:#8A0014;
}

.top_info .col-container .box-element a {
	display:flex;
}

.top_info .col-container .box-element a .box-img-container {
	width:50%;
}

.top_info .col-container .box-element a .box-text-container {
	width:50%;
	margin: 0;
	padding: 0 10px;
	color: #fff;
	font-size: 1.2em;
}
.top_info .col-container .box-element a:hover:before {
	background:#fff;
}

.top_info .col-container .box-element a .box-text-container p {
	padding:0;
}

.info_name,
.info_date {
	font-family: "明朝体", "YuMincho", "明朝 Light", "Yu Mincho Light", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "MS P明朝", "MS PMincho", serif;
	font-size:0.85em;
	font-weight: 200;
}

.top_info .col-container .box-element a:hover .box-text-container p {
	color: #8A0014;
}

.lSSlideOuter,
.lSSlideWrapper,
.lSSlideOuter
.lightSlider,
.lSSlideOuter
.lSPager {
    height: auto !important;
}

.top_info .col-container .box-element {
    position: relative;
    height: auto !important;
    padding: 60px 35px 25px;
}

.top_info .col-container .box-element a {
	position:relative;
}

.lSAction {
	position:absolute;
	top: 0;
	right: 5%;
	width: 141px;
}
.lSAction > a {
    position: absolute;
    width: 70px;
    display: block;
    top: 1px;
    height: 35px;
    opacity: .7;
    cursor: pointer;
    -webkit-transition: opacity 0.35s linear 0s;
    transition: opacity 0.35s linear 0s;
    z-index: 2;
}
.lSAction > a:hover {
    opacity: 1;
}
.lSAction > .lSPrev {
	left: 0;
	background: #fff;
}
.lSAction > .lSPrev:after {
	content:"";
	position:absolute;
	display:block;
	top: 50%;
	left: 30%;
	width: 15px;
	height: 15px;
	border-top:#8A0014 solid 2px;
	border-right:#8A0014 solid 2px;
	transform: translateY(-50%) rotate(-135deg);
}
.lSAction > .lSNext {
	right: 0;
	background: #fff;
}
.lSAction > .lSNext:after {
	content:"";
	position:absolute;
	display:block;
	top: 50%;
	right: 30%;
	width: 15px;
	height: 15px;
	border-top:#8A0014 solid 2px;
	border-right:#8A0014 solid 2px;
	transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 599px)
{
	.top_info .btn-more_list {
		margin: 3em 15px 0;
	}
}


.top_news ul {
	float: left;
	position:relative;
	left:50%;
}
.top_news ul li {
	position: relative;
	left:-50%;
	margin-bottom: 1.2em;
	font-size: 1.1em;
	font-weight: 600;
}
.top_news ul li span {
	position:relative;
	font-size: .8em;
}
.top_news ul li span:after {
	content:"";
	display:inline-block;
	width: 100px;
	height:1px;
	margin: 0 10px .5em;
	background:#8A0014;
	transform:translateY(200%);
}
.top_news ul li a {
	text-decoration:none;
}

@media screen and (max-width: 999px)
{
	.top_news ul li {
		margin-bottom: 1.7em;
	}
	.top_news ul li a {
		display:block;
	}
}

@media screen and (max-width: 599px)
{
	.top_info .col-container .box-element a .box-text-container {
		font-size:.9em;
	}
	.top_info .col-container .box-element {
		padding: 35px 15px 10px;
	}
	.lSAction {
		right: 0;
		transform: scale(.8);
	}
}


.about_philosophy {
	text-align: center;
}
.about_philosophy p {
	display: inline-block;
	width: 100%;
	max-width: 730px;
	padding: 0 40px;
	background: #fff;
	font-size: 1.6em;
	text-align: justify;
	letter-spacing: .28em;
	line-height: 2;
}

.about_activities .col-container {
	margin: 1em -5% 0 0;
}
.about_activities .col-half {
	width: 45%;
	margin: 0 5% 5% 0;
}
.about_activities .col-half dl {
	height: 100%;
	padding: 20px 25px;
	background: #fff;
	border: #8A0014 solid 1px;
}
.about_activities .col-half a:before {
	display:none;
}
.about_activities .col-half dl dt {
	position:relative;
	padding-right: 20px;
	padding-bottom:.5em;
	font-size: 1.2em;
}
.about_activities .col-half a dl dt:before {
	content:"";
	position:absolute;
	display:block;
	top:50%;
	right: 1%;
	width: 15px;
	height: 15px;
	border-top: #8A0014 solid 2px;
	border-right: #8A0014 solid 2px;
	-moz-transform: translateY(calc(-50% - .25em)) rotate(45deg);
	-webkit-transform: translateY(calc(-50% - .25em)) rotate(45deg);
	-o-transform: translateY(calc(-50% - .25em)) rotate(45deg);
	-ms-transform: translateY(calc(-50% - .25em)) rotate(45deg);
	transform: translateY(calc(-50% - .25em)) rotate(45deg);
}
.about_activities .col-half a dl dt:after {
	content:"";
	position:absolute;
	display:block;
	top:50%;
	right: 1%;
	width: 6%;
	height: 2px;
	background:#8A0014;
	-moz-transform: translateY(calc(-50% - .25em));
	-webkit-transform: translateY(calc(-50% - .25em));
	-o-transform: translateY(calc(-50% - .25em));
	-ms-transform: translateY(calc(-50% - .25em));
	transform: translateY(calc(-50% - .25em));
	transition:.6s ease;
}
.about_activities .col-half a:hover dl dt:after {
	width: 10%;
}
.about_activities .col-half dl dd {
	position:relative;
	padding-top: .5em;
	border-top: #8A0014 solid 1px;
}
.about_activities .col-half dl dd:before {
	content:"";
	position:absolute;
	display:block;
	top: -2px;
	left: 0;
	width: 14%;
	height: 2px;
	background:#8A0014;
	transition:.5s ease;
}
.about_activities .col-half a:hover dl dd:before {
	width: 100%;
}
.about_scholarship .box-text-container {
	margin: 0 !important;
	padding-bottom:25px;
	/* padding: 0 0 15px; */
	text-align:center;
}
.about_scholarship > .box-text-container {
	background:#fff;
}
.about_scholarship .box-text-container p {
	display:inline-block;
	width: auto;
	font-size: 1.3em;
	text-align:left;
	letter-spacing: .27em;
	line-height: 2;
}
.about_scholarship .col-container {
	padding: 45px 0 20px;
	border-top: #E3E3E3 solid 1px;
	text-align:center;
}
.about_scholarship .col-half .box-text-container h3 {
	margin-bottom: 1.7em;
	font-size: 1.5em;
	text-align:left;
}
.about_scholarship .col-half .box-text-container p {
	display: block;
	font-size: 1.05em;
}
.about_scholarship .col-half .box-text-container dl {
	padding:30px;
	background:#F5F5F5;
	text-align:left;
}
.about_scholarship .col-half .box-text-container dl:first-child {
	margin-bottom:20px;
}
.about_scholarship .col-half .box-text-container dl dt {
	margin-bottom: .5em;
	color:#8A0014;
	font-size:1.2em;
	text-indent:-.5em;
}
.about_scholarship .col-half .box-text-container dl dd {
	line-height: 2em;
}
.about_scholarship .col-half .box-img-container span {
	display: block;
	padding-right: 10px;
	color: #8A0014;
	font-size: .85em;
	text-align: right;
}

@media screen and (max-width: 599px)
{
	.about_scholarship .box-text-container {
		padding: 0 0 10px;
	}
	.about_scholarship .box-text-container p {
		font-size: 1em;
		line-height: 1.7;
	}
	.about_scholarship .col-container {
		padding: 30px 0 20px;
	}
	.about_scholarship .col-container:last-child {
		padding: 30px 0 0;
	}
	.about_scholarship .col-half {
		margin-bottom: 10px;
	}
	.about_scholarship .col-half:last-child {
		margin-bottom: 0;
	}
	.about_scholarship .col-half .box-text-container h3 {
		margin-bottom: 1em;
		font-size: 1.3em;
	}
	.about_scholarship .col-half .box-text-container dl {
		padding: 10px;
	}
	.about_scholarship .col-half .box-text-container dl:first-child {
		margin-bottom: 10px;
	}
}

.profile-item {
	position:relative;
	margin: 1.5em 0 1em;
	padding-left:70px;
	font-size: 1.2em;
}
.profile-item:before {
	content:"";
	position:absolute;
	display:block;
	top: calc(50% - 1px);
	left: 0;
	width: 60px;
	height:1px;
	background:#8A0014;
}
.about_profile > p,
.about_profile > ul,
.about_profile .officers {
	padding: 0 0 20px 70px;
}
.about_profile > ul > li {
	margin-left:1.5em;
	list-style:decimal;
}
.about_profile .officers p {
	display:flex;
}
.about_profile .officers p span {
	display:block;
}
.about_profile .officers p span:first-child {
	width: 150px;
}
.about_profile .officers p span:nth-child(2) {
	max-width: 399px;
}

.address_map {
	display:flex;
}
.address_map span {
	display:block;
	width: 45%;
	margin-right:50px;
}
.address_map iframe {
	width: 100%;
	height: 450px;
	border: #D0D0D0 solid 1px !important;
	box-sizing: content-box;
}

@media screen and (max-width: 599px) {
	.about_philosophy p {
		padding: 0;
		font-size: 5vw;
	}
	.about_activities .col-container {
		display: block;
		margin: 0;
	}
	.about_activities .col-half {
		width: 100%;
		margin: 0 0 20px 0;
	}
	.about_activities .col-half:last-child {
		width: 100%;
		margin: 0;
	}
	.profile-item {
		margin: 0 0 5px;
		padding-left: 15%;
	}
	.profile-item:before {
		width: 11%;
	}
	.about_profile > p,
	.about_profile > ul,
	.about_profile .officers {
		padding: 0 0 20px 15%;
	}
	.about_profile .officers p {
		display: block;
	}
	.address_map {
		display: block;
	}
	.address_map span {
		width: 100%;
		margin-bottom:2em;
	}
	.address_map iframe {
		height:50vh;
	}
}


.message_tit {
	text-align:center;
}
.message_tit p {
	display: inline-block;
	width: 100%;
	max-width: 820px;
	padding: 20px 20px;
	background: #fff;
	font-size: 1.6em;
	letter-spacing: .28em;
	line-height: 2;
}

.appeal-column {
	position:relative;
	margin-bottom: 17%;
}

.appeal-txt{
    position:absolute;
    top: 35%;
    max-width: 60%;
    padding: 95px 25px 40px;
    background:  #fff;
}
.appeal-txt:after {
	content:"";
	position:absolute;
	display:block;
	bottom: -7%;
	right: -3%;
	width:60%;
	height:70%;
	background:#8A0014;
	z-index:-1;
}

.appeal-txt .name {
	position: absolute;
	top: -90px;
	right: 20%;
	font-size: 2.3em;
	font-weight: 700;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1.3;
	transform: translateY(-20%);
}
.appeal-txt .name span {
	display:block;
	font-size: .6em;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.appeal-txt .excerpt {
    padding: 10px 5px;
    font-size: 1.5em;
    line-height: 1.7;
    letter-spacing: 0.2em;
}

.appeal-img {
    position: relative;
    left: 51%;
    width: 50%;
    max-height: 20%;
    overflow:  hidden;
    z-index: -1;
}

.appeal-img img {
    width:100%;
}

.appeal-column:nth-of-type(odd) .appeal-txt {
	right: 1%;
}
.appeal-column:nth-of-type(odd) .appeal-txt .name {
	right: 66%;
}

.appeal-column:nth-of-type(odd) .appeal-img {
	left: 0;
}

@media screen and (max-width: 999px) {
	.appeal-txt {
		padding: 1em;
	}
	.appeal-txt:after {
		display: block;
		bottom: -15px;
		right: -15px;
		width: 60%;
		height: 70%;
		background: #8A0014;
		z-index: -1;
	}
	.appeal-column:nth-of-type(odd) .appeal-txt {
		/* right: 0; */
	}
	.appeal-txt .name {
		position: relative;
		top: 0;
		right: 0;
		padding: 0;
		font-size: 1.5em;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		writing-mode: horizontal-tb;
		transform: translateY(0);
	}
	.appeal-column:nth-of-type(odd) .appeal-txt .name {
		right: 0;
	}
	.appeal-txt .excerpt {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 599px) {
	.message_tit p {
		padding: 0;
		font-size:5vw;
		text-align:left;
	}
	.appeal-column {
		margin-bottom: 5em;
	}
	.appeal-txt,
	.appeal-column:nth-of-type(odd) .appeal-txt {
		position: relative;
		right: 0;
		max-width: 100%;
		padding: 1em 0;
	}
	.appeal-txt:after {
		bottom: -10px;
		right: -10px;
		width: 60%;
		height: 70%;
	}
	.appeal-txt .excerpt {
		padding: 10px 0;
	}
	.appeal-img {
		width: 100%;
		max-width: 430px;
		left: 0;
	}
}


.alumni_info_list {
	padding: 25px 15px 9.3%;
	text-align: center;
}

.info_list-column {
	width: 96%;
	max-width: 960px;
	margin-bottom: 120px;
	text-align: left;
}
.info_list-column a {
	display: inline-flex;
	width:100%;
	text-decoration:none;
	color:#363636;
}
.info_list-img {
	width: 40%;
	max-width: 365px;
	margin-right: 3%;
	overflow:hidden;
}
.info_list-column a .info_list-img img {
	transition:.5s ease;
}
.info_list-column a:hover .info_list-img img {
	transform:scale(1.2);
}

.info_list-txt {
	position: relative;
	width: 60%;
	max-width: 540px;
	padding: 30px;
	background:#fff;
	font-size: 1.15em;
}
.info_list-column a:hover .info_list-txt {
	color:#8A0014;
	text-decoration:underline;
}
.info_list-txt:after {
	content:"";
	position:absolute;
	display:block;
	bottom: -7%;
	right: -3%;
	width:60%;
	height:70%;
	background:#8A0014;
	z-index:-1;
}
.info_list-date {
	font-size: 1.2em;
}
.info_list-tit {
	font-size: 1.36em;
}
.info_list-excerpt {
	font-size: 1em;
}


@media screen and (max-width: 999px)
{
	.info_list-column {
		margin-bottom: 80px;
	}
	.info_list-txt:after {
		bottom: -13px;
		right: -13px;
		height: 40%;
	}
}
@media screen and ( max-width:599px )
{
	.info_list-column a {
		display: block;
	}
	.info_list-img,
	.info_list-txt {
		width:100%;
		max-width: 100%;
	}
	.info_list-txt {
		padding: 10px 0;
		font-size: .9em;
	}
	.info_list-txt:after {
		bottom: -10px;
		right: -10px;
		height: 40%;
	}
}


.info_detail-column {
	padding: 0 2em;
}
.info_detail-column .info_detail-img {
	margin-bottom:5em;
}
.info_detail-column .info_detail-img img {
	max-width: 100%;
	max-height: 500px;
}
.info_detail-column .info_detail-txt {
	padding: 0 0 2em;
	font-size:1.15em;
}
.info_detail-column .info_detail-txt .info_detail-tit {
	font-size:1.8em;
	line-height:1.5;
	font-weight:700;
}
.info_detail-column .info_detail-txt .info_detail-date {
	font-size:1.15em;
	margin-top:10px;
}
.info_detail-column .info_detail-txt .info_detail-content {
	margin-top:2.5em;
}
.info_detail-column .info_detail-txt .info_detail-content p {
	margin-top:1em;
}


@media screen and (max-width: 599px)
{
	.info_detail-column {
		padding: 0;
		font-size:.8em;
	}
	.share_btn {
		padding:0;
	}
}


.page_content {
	margin-bottom: 170px;
	padding: 0 65px;
	font-size: 1.15em;
}
.page_content .title {
	margin-top: 10px;
	padding-left: 2px;
	border-left: #8A0014 solid 3px;
}
.page_content h3 {
	margin: 2em 0 1em;
	padding-left: 4px;
	background: #fff;
	border-left: #8A0014 solid 2px;
	font-size: 1.7em;
	line-height: 1.3em;
}	

.page_content button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	padding: 15px 50px;
	background:#fff;
	border:#8A0014 solid 1px;
	color: #8A0014;
	font-family: "明朝体", "YuMincho", "明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "MS P明朝", "MS PMincho", serif;
	font-size: .85em;
	letter-spacing: 1px;
	margin:10px 0 20px 0;
	transition: all .3s ease;
	/* マージン&transitionのみ馬杉追加 */
}
.page_content button:hover {
	background:#8A0014;
	color: #fff;
}

@media screen and (max-width: 999px)
{
	.page_content {
		margin-bottom: 130px;
		padding: 0 15px;
	}
}

@media screen and (max-width: 599px)
{
	.page_content {
		font-size: 1em;
	}
}

.share_btn {
	display:flex;
	flex-wrap:  wrap;
	justify-content: flex-end;
	margin-bottom: 6.5em;
	padding: 0 2em;
}
.share_btn.is-active {
	transform: translateX(0);
}

.share_btn > * {
	margin-bottom: 0.5em;
	margin-left: 5px;
}
@media screen and (max-width: 599px)
{
	.share_btn {
		padding:0;
	}
}


.not_post {
	font-size:1.5em;
}


/*---------------------------------------------
	Image
  ---------------------------------------------*/

section img {
	display: block;
	margin: 0 auto;
}



/*---------------------------------------------
	Column
  ---------------------------------------------*/

.col-container {
	position: relative;
	margin: 0 -3.5% 0 0;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	overflow: hidden;
}

.col-half {
	display: inline-block\9;
	width: 46.66666666%;
	margin-right: 3.33333333%;
	margin-right: 2.5%\9;
	vertical-align: top\9;
}

.col-one-third {
	display: inline-block\9;
	width: 30%;
	margin-right: 3.33333333%;
	margin-right: 2.5%\9;
	vertical-align: top\9;
}

.col-two-third {
	display: inline-block\9;
	width: 63.33333333%;
	margin-right: 3.33333333%;
	margin-right: 2.5%\9;
	vertical-align: top\9;
}

.col-half img,
.col-one-third img,
.col-two-third img {
	width: 100%;
}



/*---------------------------------------------
	Heading
  ---------------------------------------------*/
.tit-section {
	padding-bottom: 40px;
	text-align:center;
}
.top_consert .tit-section {
	padding-bottom: 20px;
}

.tit-section h2 {
	display: inline-block;
	font-size: 2.5em;
	font-weight: 600;
	text-transform: uppercase;
	text-align: left;
	line-height: 140%;
	color: #8A0014;
	letter-spacing: 3px;
}
.tit-section h2::after {
	content:"";
	display:block;
	width:25px;
	height:2px;
	margin: 10px 0 0 3px;
	background:#8A0014;
}
.tit-section h2 span {
	display: block;
	margin: 0 0 0 3px;
	color: #363636;
	font-family: "明朝体", "YuMincho", "明朝 Light", "Yu Mincho Light", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "MS P明朝", "MS PMincho", serif;
	font-size: 0.45em;
	font-weight: 200;
	line-height: 130%;
	letter-spacing: 1px;
}




/*---------------------------------------------
	Button
  ---------------------------------------------*/

.btn-more_list {
	margin-top: 45px;
	padding-right: 0;
	position: relative;
	text-align: right;
}
.btn-more_list:after {
	content:"";
	position:absolute;
	display: block;
	top: 35%;
	right: 0;
	width: 91%;
	height: 1px;
	background:#8A0014;
}

@media screen and (max-width: 599px)
{
	.btn-more_list {
		margin-top: 1.5em;
	}
}

@media screen and (min-width: 599px)
{
	.top_info .btn-more_list {
		margin: 55px 35px 0;
	}
}

.btn-more_list a {
	position: relative;
	display: inline-block;
	padding: 20px 15px;
	line-height: 1em;
	font-size: 1.1em;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	overflow: hidden;
	background: #fff;
	border: solid 2px #8A0014;
	color: #8A0014;
	-moz-transition: background-color .2s linear, border .2s linear;
	-webkit-transition: background-color .2s linear, border .2s linear;
	-o-transition: background-color .2s linear, border .2s linear;
	-ms-transition: background-color .2s linear, border .2s linear;
	transition: background-color .2s linear, border .2s linear;
	z-index: 1;
}
html:not(.sp) .btn-more_list a:hover {
	color: #fff;
	background-color: #8A0014;
	border: solid 2px #8A0014;
}
.btn-more_list a:after {
	content: none !important;
}

input.wpcf7-form-control.wpcf7-submit {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	padding: 15px 50px;
	background:#fff;
	border:#8A0014 solid 1px;
	color: #8A0014;
	font-family: "明朝体", "YuMincho", "明朝 Medium", "Yu Mincho Medium", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "MS P明朝", "MS PMincho", serif;	font-size: .85em;
	letter-spacing: 1px;
}
input.wpcf7-form-control.wpcf7-submit:hover {
	background:#8A0014;
	color: #fff;
}

/*---------------------------------------------
	Box
  ---------------------------------------------*/

.box-element {
	position: relative;
	margin-bottom: 20px;
}

.box-element > a {
	display: block;
	height: 100%;
	text-decoration: none;
}
.box-element > a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	-moz-transition: background-color .2s linear;
	-webkit-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	-ms-transition: background-color .2s linear;
	transition: background-color .2s linear;
}
html:not(.sp) .box-element > a:hover:before  {
	background-color: #8A0113;
}

.box-img-container {
	position: relative;
	overflow: hidden;
}

.box-img {
	width: 100%;
	padding: 0;
	-moz-transition: -moz-transform .2s ease-out;
	-webkit-transition: -webkit-transform .2s ease-out;
	-o-transition: -o-transform .2s ease-out;
	-ms-transition: -ms-transform .2s ease-out;
	transition: transform .2s ease-out;
}
html:not(.sp) .box-element > a:hover .box-img {
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}

.box-text-container {
	padding: 25px 25px 5px;
}
.col-half .box-text-container,
.top_consert .col-one-third .box-text-container,
.col-two-third .box-text-container {
	margin: 15px 15px 0;
	padding: 0;
}
.top_consert .col-one-third {
	border-bottom: #C47E88 solid 1px;
}
.top_consert .col-one-third .box-text-container {
	margin: 50px 0 0;
	background: #fff;
}

.top_consert .box-element > a:before {
	content: none;
}
html:not(.sp) .top_consert .box-element > a:hover .box-text-container p {
    color: #8A0014;
}

.box-img img {
	width: 100%;
}

.col-half .box-img-container ~ .box-text-container,
.col-one-third .box-img-container ~ .box-text-container,
.col-two-third .box-img-container ~ .box-text-container {
	min-height: 0;
}

.box-text-container p {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.box-text {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 2px;
}

html:not(.sp) .box-element > a .box-text-container p {
	-moz-transition: color .2s linear;
	-webkit-transition: color .2s linear;
	-o-transition: color .2s linear;
	-ms-transition: color .2s linear;
	transition: color .2s linear;
}
html:not(.sp) .box-element > a:hover .box-text-container p {
	color: #fff;
}

.top_consert a:after {
	content: "";
	position: absolute;
	display: block;
	bottom: -1px;
	width: 28%;
	height: 2px;
	background: #8A0014;
	transition: .5s ease;
}
.top_consert a:hover:after {
	width: 100%;
}

@media screen and (max-width: 999px)
{
	.top_consert .col-one-third {
		margin-bottom: 3em;
	}
}



/*---------------------------------------------
	Page Top Button
  ---------------------------------------------*/

#page-top-btn {
	position: fixed;
	z-index: 5;
	width: 40px;
	bottom: 0;
	right: 0;
	padding: 0;
	-moz-transition: bottom .2s ease-out;
	-webkit-transition: bottom .2s ease-out;
	-o-transition: bottom .2s ease-out;
	-ms-transition: bottom .2s ease-out;
	transition: bottom .2s ease-out;
}
#page-top-btn.scroll {bottom: 0;}

#page-top-btn a {
	display: block;
	height: 40px;
	text-indent: -9999px;
	background-color: #8A0014;
	overflow: hidden;
	-moz-transition: background-color .2s linear;
	-webkit-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	-ms-transition: background-color .2s linear;
	transition: background-color .2s linear;
}
#page-top-btn a:before {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 17px;
	top: 13px;
	left: 19px;
	background-color: #fff;
	transition:.2s ease;
}
#page-top-btn a:hover:before {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 25px;
	top: 10px;
	left: 19px;
	background-color: #fff;
}

#page-top-btn a:after {
	content: "";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	top: 13px;
	left: 15px;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	transition:top .2s ease;
}
#page-top-btn a:hover:after {
	top: 10px;
}



/*---------------------------------------------
	kv
  ---------------------------------------------*/

.kv-container {
	/* height: 0; */
	/* padding-bottom: 510px; */
	position: relative;
	width: 100%;
	overflow: hidden;
}

.kv-element li {
	position: relative;
	background-color: #000;
	overflow: hidden;
}

.kv-element li > p {
	position:absolute;
	top: 50%;
	right: 10px;
	font-size: 2.4vw;
	transform: translateY(-50%);
}
.kv-element li > p > span {
	display: table;
	margin-bottom: .5em;
	padding: 5px 15px;
	background: #fff;
	line-height: 1em;
}

.kv-element li a {
	display: block;
	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	-o-transition: opacity .2s linear;
	-ms-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
html:not(.sp) .kv-element a:hover {opacity: .8;}

.kv-element img {width: 100%;}

.kv-pagenation {
	position: absolute;
	width: 100%;
	height: 0;
	bottom: 0;
	left: 0;
	text-align: center;
	line-height: 0;
}

.kv-pagenation ol {
	padding: 0;
}

.kv-pagenation li {
	position: relative;
	display: inline-block;
	top: -30px;
	width: 10px;
	height: 10px;
	margin: 0 8px;
	vertical-align: middle;
}

.kv-pagenation li a {
	display: block;
	width: 10px;
	height: 10px;
	background-color: #fff;
	text-indent: -9999px;
	text-align: left;
	overflow: hidden;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
	-moz-transition: background-color .2s linear;
	-webkit-transition: background-color .2s linear;
	-o-transition: background-color .2s linear;
	-ms-transition: background-color .2s linear;
	transition: background-color .2s linear;
}
html:not(.sp) .kv-pagenation a:not(.flex-active):hover {
	background-color: #8A0014;
}

.kv-pagenation .flex-active {
	background-color: transparent;
}
.kv-pagenation .flex-active:before,
.kv-pagenation .flex-active:after {
	content: "";
	position: absolute;
	display: block;
	background-color: #8A0014;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
}
.kv-pagenation .flex-active:before {
	width: 20px;
	height: 20px;
	top: -5px;
	left: -5px;
	opacity: .5;
}
.kv-pagenation .flex-active:after {
	width: 10px;
	height: 10px;
	top: 0;
	left: 0;
}

.kv-btn {
	display:none;
}
.kv-btn-back,
.kv-btn-next {
	position: absolute;
	display: block;
	width: 40px;
	height: 40px;
	top: 50%;
	margin: -20px 0 0;
}
.kv-btn-back {left: 3%;}
.kv-btn-next {right: 3%;}

.kv-btn-back a,
.kv-btn-next a {
	display: block;
	width: 100%;
	height: 100%;
	border: solid 2px #fff;
	text-indent: -9999px;
	overflow: hidden;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;

	-moz-transition: background-color .2s linear, border .2s linear;
	-webkit-transition: background-color .2s linear, border .2s linear;
	-o-transition: background-color .2s linear, border .2s linear;
	-ms-transition: background-color .2s linear, border .2s linear;
	transition: background-color .2s linear, border .2s linear;
}
.kv-btn-back a:before,
.kv-btn-next a:before {
	content: "";
	position: absolute;
	display: block;
	width: 17px;
	height: 1px;
	top: 20px;
	left: 11px;
	background-color: #fff;
}
.kv-btn-back a:after {
	content: "";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	top: 16px;
	left: 12px;
	border-bottom: solid 1px #fff;
	border-left: solid 1px #fff;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.kv-btn-next a:after {
	content: "";
	position: absolute;
	display: block;
	width: 9px;
	height: 9px;
	top: 16px;
	right: 12px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
html:not(.sp) .kv-btn-back a:hover,
html:not(.sp) .kv-btn-next a:hover {
	background-color: #9fd25b;
	border: solid 2px #9fd25b;
}



/*---------------------------------------------
	Pager
  ---------------------------------------------*/

.pager {
	margin: 8em 0 3em;
}

.pager ul {
	display:flex;
	justify-content:center;
}

.pager ul li {
	display:block;
	margin-right:5px;
}

.pager ul li a,
.pager ul li span {
	display:block;
	width:100%;
	height:100%;
	padding: 7px 15px;
}

.pager ul li a,
.pager ul li.current span {
	border: #8A0014 solid 1px;
	box-sizing:  border-box;
	color: #8A0014;
}

.pager ul li.current span,
.pager ul li a:hover {
	background: #8A0014;
	color:#fff;
}

.pager ul li a.pager-prev span,
.pager ul li a.pager-next span {
	display:none;
}

.pager ul li a {
	position:relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
}

.pager ul li a.pager-prev:before,
.pager ul li a.pager-next:before {
	content:"";
	position: relative;
	display: block;
	width: 10px;
	height: 10px;
	border-top: #8A0014 solid 1px;
}

.pager ul li a.pager-prev:before {
	left: 3px;
	border-left: #8A0014 solid 1px;
	transform:rotate(-45deg);
}

.pager ul li a.pager-next:before {
	right: 3px;
	border-right:#0F2951 solid 1px;
	transform:rotate(45deg)
}

.pager ul li a:hover.pager-prev:before,
.pager ul li a:hover.pager-next:before {
	border-color:#fff;
}

.alumni_info_detail .pager ul li {
	display:block;
	margin-right: 25px;
}

.alumni_info_detail .pager ul li a,
.alumni_info_detail .pager ul li span {
	display:block;
	width:100%;
	height:100%;
	padding: 15px 75px;
}


@media screen and ( max-width:999px )
{
	.alumni_info_detail .pager ul li {
		margin-right: 10px;
	}

	.alumni_info_detail .pager ul li a,
	.alumni_info_detail .pager ul li span {
		width:100%;
		height:100%;
		padding: 10px 50px;
		font-size: .9em;
	}
}

@media screen and ( max-width:599px )
{
	.pager ul li a,
	.pager ul li span {
		font-size: 0.7em;
		padding: 4px 10px;
	}

	.pager ul li a.pager-prev:before,
	.pager ul li a.pager-next:before {
		width: 7px;
		height: 7px;
	}

	.pager ul li a.pager-prev:before {
		left: 2px;
	}

	.pager ul li a.pager-next:before {
		right: 2px;
	}

	.alumni_info_detail .pager ul li {
		margin-right: 5px;
	}

	.alumni_info_detail .pager ul li a,
	.alumni_info_detail .pager ul li span {
		width:100%;
		height:100%;
		padding: 10px;
		font-size: .8em;
	}
}



/*---------------------------------------------
	Banner
  ---------------------------------------------*/

.banner-container {
	position: relative;
	padding: 30px 6%;
}

.banner-slide-container {
	position: relative;
}

.banner-slide-container ul {display: flex;flex-wrap: wrap;}

.banner-slide-container li {
	margin: 0;
}

.banner-slide-container a {
	display: block;
	padding: 0 5%;
	-moz-transition: opacity .2s linear;
	-webkit-transition: opacity .2s linear;
	-o-transition: opacity .2s linear;
	-ms-transition: opacity .2s linear;
	transition: opacity .2s linear;
}
html:not(.sp) .banner-slide-container a:hover {
	opacity: .8;
}

.banner-slide-container img {
	width: 100%;
}



/*---------------------------------------------
	Footer
  ---------------------------------------------*/
footer {
	margin-top: 95px;
	background:#8A0014;
}

#quick-nav-container {
	padding: 40px 6% 0;
}

#quick-nav-container a {text-decoration: none;}

#quick-nav-container nav > ul > li {line-height: 1.7em;/* padding: 0 0 30px; */}

#quick-nav-container nav > ul > li > span > a {
	display: inline-block;
	margin: 0 0 8px;
	color: #fff;
	font-weight: bold;
	font-size: 96%;
}
html:not(.sp) #quick-nav-container nav > ul > li > span > a:hover {
	text-decoration: underline;
}

#quick-nav-container nav > ul > li > ul > li > span > a {
	display: inline-block;
	margin: 0 0 2px;
	color: #fff;
	font-size: 83%;
}
html:not(.sp) #quick-nav-container nav > ul > li > ul > li > span > a:hover {color: #fff;text-decoration: underline;}

#quick-nav-container nav > ul > li > ul > li > ul > li > span > a {
	display: inline-block;
	padding: 0 0 0 1em;
	color: #c8e7dd;
	font-size: 76%;
}
#quick-nav-container nav > ul > li > ul > li > ul > li:last-of-type > span > a {margin: 0 0 8px;}
html:not(.sp) #quick-nav-container nav > ul > li > ul > li > ul > li > span > a:hover {color: #fff;}

#footer-container {
	padding: 30px 6% 20px;
	overflow: hidden;
}

#footer-container a {text-decoration: none;}

#footer-container-copyright {
	text-align: center;
	font-size: .7em;
	color: #fff;
}

#footer-container-copyright a {color: #fff;}
html:not(.sp) #footer-container-copyright a:hover {color: #fff;}

#footer-container-copyright br {display: none;}

@media screen and (min-width: 599px) {
	#quick-nav-container > nav > ul ul {
		display: block!important;
	}
}
@media screen and (max-width: 599px) {
    footer .col-container {
    	border-bottom: #363636 solid 1px;
    }
}




/*---------------------------------------------
	For Narrow Screen
  ---------------------------------------------*/

@media screen and (min-width: 1000px) and (max-width: 1199px) {

	body {font-size: 90%;}

}

@media screen and (min-width: 1000px) and (max-height: 799px) {

	#gnav > ul > li > ul,
	#gnav > ul > li > ul > li > ul  {
		height: 490px;
	}

}

@media screen and (min-width: 1000px) and (max-height: 699px) {

	#gnav > ul > li > ul,
	#gnav > ul > li > ul > li > ul  {height: 440px;}

	#gnav > ul > li:hover > ul,
	#gnav > ul > li > ul:hover > li > ul {height: 85%;}

}



/*---------------------------------------------
	For - 999px and Print
  ---------------------------------------------*/

@media screen and (max-width: 999px), print {

	body {background-color: #8A0014;}

	#wrapper {
		-moz-transition: -moz-transform .3s ease-in-out;
		-webkit-transition: -webkit-transform .3s ease-in-out;
		-o-transition: -o-transform .3s ease-in-out;
		-ms-transition: -ms-transform .3s ease-in-out;
		transition: transform .3s ease-in-out;
	}
	.sp-gnav-open #wrapper {
		left: -255px\9;
		-moz-transform: translate3d(-255px, 0, 0);
		-webkit-transform: translate3d(-255px, 0, 0);
		-o-transform: translate3d(-255px, 0, 0);
		-ms-transform: translate3d(-255px, 0, 0);
		transform: translate3d(-255px, 0, 0);
	}

	.sp_head {
		position: absolute;
		width: 100%;
		height: 110px;
		background: rgba(255,255,255,.7);
		z-index: 10;
	}
	#logo {
		position: absolute;
		width: 150px;
	}

	#logo img {width: 150px;}

	header {
		position: absolute;
		z-index: 0;
		display: none;
		width: 255px;
		top: 0;
		right: 0;
		overflow: scroll;
		-moz-transition: width .3s ease-in-out;
		-webkit-transition: width .3s ease-in-out;
		-o-transition: width .3s ease-in-out;
		-ms-transition: width .3s ease-in-out;
		transition: width .3s ease-in-out;
	}

	#subnav {
		/* padding: 10px; */
	}

	#subnav > li > a.sp_none {
		display:none;
	}


	#subnav a {
		position: relative;
		display: block;
		padding: 20px 15px;
		color: #fff;
		font-size: 90%;
		text-decoration: none;
		vertical-align: middle;
		border-bottom: solid 1px #363636;
		/* background-color: #b90021; */
		-moz-transition: background-color .2s linear, color .2s linear;
		-webkit-transition: background-color .2s linear, color .2s linear;
		-o-transition: background-color .2s linear, color .2s linear;
		-ms-transition: background-color .2s linear, color .2s linear;
		transition: background-color .2s linear, color .2s linear;
	}
	html:not(.sp) #subnav a:hover {
		color: #fff;
		background-color: #444;
	}

	#gnav a {
		color: #fff;
		text-decoration: none;
		line-height: 140%;
		-moz-transition: background-color .2s linear, color .2s linear;
		-webkit-transition: background-color .2s linear, color .2s linear;
		-o-transition: background-color .2s linear, color .2s linear;
		-ms-transition: background-color .2s linear, color .2s linear;
		transition: background-color .2s linear, color .2s linear;
	}
	html:not(.sp) #gnav a:hover,
	#gnav .current > span > a {/* background-color: #9fd25b; */}
	#gnav .parent > span > a {background-color: rgba(159, 210, 91, .3);}

	#gnav li > span {
		position: relative;
		display: table;
		width: 100%;
	}

	#gnav > ul > li > span > a {
		display: table-cell;
		height: 70px;
		padding: 0 15px;
		font-size: 90%;
		border-bottom: solid 1px #363636;
		overflow: hidden;
		vertical-align: middle;
	}

	#gnav > ul  ul {
		display: none;
		overflow: hidden;
	}

	#gnav > ul > li > ul > li > span > a {
		display: table-cell;
		padding: 15px 15px 15px 30px;
		font-size: 90%;
		background-color: #b90021;
		border-bottom: solid 1px #363636;
		overflow: hidden;
	}

	#gnav > ul > li > ul > li > ul > li > span > a {
		display: table-cell;
		padding: 15px 15px 15px 45px;
		font-size: 90%;
		background-color: #444;
		border-bottom: solid 1px #555;
		overflow: hidden;
	}

	#sp-gnav-btn {
		position: absolute;
		display: block;
		top: 30px;
		right: 25px;
		cursor: pointer;
		z-index: 11;
	}
	#sp-gnav-btn:before,
	#sp-gnav-btn:after {
		content: "";
		position: absolute;
		z-index: 11;
		display: block;
		width: 28px;
		height: 3px;
		right: 11px;
		background-color: #363636;
		-moz-transition: -moz-transform 0.3s ease-in-out, top 0.3s linear, bottom 0.3s linear, right 0.3s linear, width 0.3s linear;
		-webkit-transition: -webkit-transform 0.3s ease-in-out, top 0.3s linear, bottom 0.3s linear, right 0.3s linear, width 0.3s linear;
		-o-transition: -o-transform 0.3s ease-in-out, top 0.3s linear, bottom 0.3s linear, right 0.3s linear, width 0.3s linear;
		-ms-transition: -ms-transform 0.3s ease-in-out, top 0.3s linear, bottom 0.3s linear, width 0.3s linear;
		transition: transform 0.3s ease-in-out, top 0.3s linear, bottom 0.3s linear, right 0.3s linear, width 0.3s linear;
	}
	#sp-gnav-btn:before {top: 5px;}
	#sp-gnav-btn:after {top: 25px;}
	html:not(.sp) #sp-gnav-btn:hover:before {width: 23px;}

	#sp-gnav-btn a {
		position: relative;
		display: block;
		width: 50px;
		height: 50px;
		padding: 35px 0 0;
		text-decoration: none;
		color: #363636;
		font-size: 10px;
		line-height: 140%;
		text-align: center;
		z-index: 11;
	}

	#sp-gnav-btn a:before {
		content: "";
		position: absolute;
		display: block;
		width: 28px;
		height: 3px;
		top: 15px;
		right: 11px;
		background-color: #363636;
		-moz-transition: width 0.3s linear;
		-webkit-transition: width 0.3s linear;
		-o-transition: width 0.3s linear;
		-ms-transition: width 0.3s linear;
		transition: width 0.3s linear;
	}
	html:not(.sp) #sp-gnav-btn:hover a:before {width: 18px;}

	.sp-gnav-open #sp-gnav-btn:before {
		width: 28px !important;
		top: 16px;
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sp-gnav-open #sp-gnav-btn:after {
		width: 28px !important;
		top: 16px;
		right: 7;
		-moz-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.sp-gnav-open #sp-gnav-btn a:before {width: 0 !important;}

	#gnav > ul > li > span > .sp-gnav-layer-btn,
	#gnav > ul > li > ul > li > span > .sp-gnav-layer-btn {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		cursor: pointer;
		-moz-transition: background-color .2s linear;
		-webkit-transition: background-color .2s linear;
		-o-transition: background-color .2s linear;
		-ms-transition: background-color .2s linear;
		transition: background-color .2s linear;
	}
	#gnav > ul > li > span > .sp-gnav-layer-btn {
		/* border-left: solid 1px #363636; */
		border-bottom: solid 1px #363636;
	}
	#gnav > ul > li > ul > li > span > .sp-gnav-layer-btn {
		border-left: solid 1px #444;
		border-bottom: solid 1px #444;
		background-color: #333;
	}
	.sp-gnav-layer-btn:after {
		content: "";
		position: absolute;
		display: block;
		width: 13px;
		height: 13px;
		top: 50%;
		right: 11%;
		margin: -8px 0 0;
		border-top:#fff solid 3px;
		border-right:#fff solid 3px;
		transform:rotate(45deg);
		-moz-transition: -moz-transform .2s linear;
		-webkit-transition: -webkit-transform .2s linear;
		-o-transition: -o-transform .2s linear;
		-ms-transition: -ms-transform .2s linear;
		transition: transform .2s linear;
	}
	html:not(.sp) #gnav > ul > li > span > .sp-gnav-layer-btn:hover,
	#gnav > ul > li > span > .sp-gnav-layer-btn.current {
		/* border-left: solid 1px #363636; */
		border-bottom: solid 1px #363636;
		background-color: rgba(255,150,150,.3);
	}
	html:not(.sp) #gnav > ul > li > ul > li > span > .sp-gnav-layer-btn:hover,
	#gnav > ul > li > ul > li > span > .sp-gnav-layer-btn.current {
		border-left: solid 1px #555;
		border-bottom: solid 1px #555;
		background-color: #444;
	}

	.sp-gnav-layer-btn.current:after {
		top: 46%;
		right: 10%;
		-moz-transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		-o-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	#wrapper-cover {
		position: absolute;
		z-index: 9;
		display: none;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-color: #fff;
		opacity: .6;
	}

	#page-top-btn {right: 30px;}
	#page-top-btn.scroll {bottom: 30px;}
	.sp-gnav-open #page-top-btn.scroll {bottom: -40px;}

	#contents-container {
		width: 100%;
		padding: 110px 0 0;
		left: 0;
	}

	.course-nav-element > section > a:before {
		width: 31%;
		background-image: none !important;
		background-color: #fff;
		opacity: 0;
		-moz-transition: opacity .2s linear;
		-webkit-transition: opacity .2s linear;
		-o-transition: opacity .2s linear;
		-ms-transition: opacity .2s linear;
		transition: opacity .2s linear;
	}
	html:not(.sp) .course-nav-element > section > a:hover:before {opacity: .2;}

	.course-nav-element-heading:after {
		-moz-transition: opacity .2s linear;
		-webkit-transition: opacity .2s linear;
		-o-transition: opacity .2s linear;
		-ms-transition: opacity .2s linear;
		transition: opacity .2s linear;
	}
	html:not(.sp) .course-nav-element > section > a:hover .course-nav-element-heading:after {opacity: .8;}

	.course-nav-detail-container {
		position: relative;
		z-index: 1;
		display: none;
		width: auto;
		height: auto;
		padding: 0;
		visibility: visible;
		overflow: hidden;
	}

	.course-nav-detail-container > section {
		width: auto;
		height: auto;
	}

	.course-nav-element-heading:before {background-position: -96px -48px;}
	.course-nav-element > section > a.current .course-nav-element-heading:before {background-position: -120px -48px;}

	.course-nav-detail-element {
		position: relative;
		max-height: none;
		bottom: auto;
		right: auto;
		left: 6%;
	}

}



/*---------------------------------------------
	For - 599px
  ---------------------------------------------*/

@media screen and (max-width: 599px) {

	.sp_head {
		height: 80px;
	}
	#logo {
		width: 120px;
		top: 15px;
		left: 15px;
	}

	#logo img {width: 120px;}

	#sp-gnav-btn {
		top: 15px;
		right: 10px;
	}

	.kv-element li > p {
		font-size: 4vw;
	}
	.kv-element img {
		min-width: 507px;
		min-height: 250px;
		overflow: hidden;
	}

	#contents-container {
		padding: 80px 0 0;
	}

	#page-top-btn {right: 15px;}
	#page-top-btn.scroll {bottom: 15px;}

	.col-container {
		display: block;
		margin: 0;
	}

	.col-half,
	.col-one-third,
	.col-two-third {
		display: block\9;
		width: auto;
		margin-right: 0;
	}

	.tit-section h2 {font-size: 6.8vw;}

	.btn-more_list a {
		width: 100%;
		padding: 20px 5px;
		font-size: 3.8vw;
	}

	.pagination-container .btn {display: inline-block;}

	.box-text-container {padding: 15px 15px 0;}
	.col-half .box-text-container,
	.col-one-third .box-text-container,
	.col-two-third .box-text-container {min-height: 0;}

	.box-text-container {min-height: 0;margin: 15px 0 0 !important;}

	.banner-slide-container ul {width: 3000%;}

	.banner-slide-container li {
		width: 3.33333333%;
		margin: 0 20px 0 0;
	}

	.banner-slide-container a {padding: 0 1.63%;}

	#quick-nav-container > nav > ul ul {
		display: none;
		overflow: hidden;
	}
	#quick-nav-container > nav > ul:nth-child(2) ul ul{
		display: block;
	}
	html:not(.sp) #quick-nav-container nav > ul > li > span > a:hover {color: #fff;}
	#quick-nav-container > nav > ul > li > span > .footer-nav-layer-btn,
	#quick-nav-container > nav > ul > li > ul > li > span > .footer-nav-layer-btn {
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		cursor: pointer;
		-moz-transition: background-color .2s linear;
		-webkit-transition: background-color .2s linear;
		-o-transition: background-color .2s linear;
		-ms-transition: background-color .2s linear;
		transition: background-color .2s linear;
	}
	#quick-nav-container > nav > ul > li > span > .footer-nav-layer-btn {
		border-left: solid 1px #363636;
		border-bottom: solid 1px #363636;
	}

	#quick-nav-container > nav > ul > li > ul > li > span > .footer-nav-layer-btn {
		border-left: solid 1px #2a6050;
		border-bottom: solid 1px #497768;
		background-color: #1d5744;
	}

	#quick-nav-container > nav > ul > li > span > .footer-nav-layer-btn.current {
		background-color: rgba(255,150,150,.3);
	}

	#quick-nav-container > nav > ul > li > ul > li > span > .footer-nav-layer-btn.current {
		background-color: #346857;
	}

	.footer-nav-layer-btn:after {
		content: "";
		position: absolute;
		display: block;
		width: 13px;
		height: 13px;
		top: 50%;
		right: 7%;
		margin: -8px 0 0;
		border-top:#fff solid 3px;
		border-right:#fff solid 3px;
		transform:rotate(45deg);
		-moz-transition: -moz-transform .2s linear;
		-webkit-transition: -webkit-transform .2s linear;
		-o-transition: -o-transform .2s linear;
		-ms-transition: -ms-transform .2s linear;
		transition: transform .2s linear;
	}

	.footer-nav-layer-btn.current:after {
		top: 46%;
		right: 6%;
		-moz-transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		-o-transform: rotate(135deg);
		-ms-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	#quick-nav-container {
		padding: 0;
	}

	#quick-nav-container  a {
		color: #fff;
		text-decoration: none;
		line-height: 140%;
		-moz-transition: background-color .2s linear, color .2s linear;
		-webkit-transition: background-color .2s linear, color .2s linear;
		-o-transition: background-color .2s linear, color .2s linear;
		-ms-transition: background-color .2s linear, color .2s linear;
		transition: background-color .2s linear, color .2s linear;
	}

	html:not(.sp) #quick-nav-container a:hover,
	#gnav .current > span > a {/* background-color: #9fd25b; */}
	#gnav .parent > span > a {background-color: rgba(159, 210, 91, .3);}

	#quick-nav-container-logo {padding: 0 6% 24px;}
	#quick-nav-container nav > ul > li {padding: 0;}
	#quick-nav-container nav > ul > li.footer-icon > span > a {padding: 0 15px 0 6%}

	#quick-nav-container li > span {
		position: relative;
		display: table;
		width: 100%;
	}

	#quick-nav-container > nav > ul > li > span > a {
		display: table-cell;
		height: 45px;
		padding: 0 15px 0 6%;
		font-size: 90%;
		border-bottom: solid 1px #363636;
		vertical-align: middle;
	}

	#quick-nav-container nav > ul > li > ul > li > span > a {
		display: table-cell;
		height: 45px;
		padding: 0 15px 0 9%;
		font-size: 83%;
		vertical-align: middle;
		background-color: #b90021;
		border-bottom: solid 1px #363636;
		overflow: hidden;
		color: #fff;
	}

	#quick-nav-container nav > ul > li > ul > li > ul > li span > a {
		display: table-cell;
		height: 45px;
		padding: 0 15px 0 12%;
		font-size: 83%;
		vertical-align: middle;
		background-color: #346857;
		border-bottom: solid 1px #497768;
		overflow: hidden;
	}

	#quick-nav-container nav > ul:last-child > li:last-child > span > a {
		border-bottom: none;
	}

	#footer-container {padding: 0 0 20px;}

	#footer-container-menu {overflow: hidden;}

	#footer-container-menu li a {
		display: block;
		padding: 12px 6%;
		font-size: 90%;
		border-bottom: solid 1px #03442f;
		-moz-transition: color .2s linear, background-color .2s linear;
		-webkit-transition: color .2s linear, background-color .2s linear;
		-o-transition: color .2s linear, background-color .2s linear;
		-ms-transition: color .2s linear, background-color .2s linear;
		transition: color .2s linear, background-color .2s linear;
	}
	html:not(.sp) #footer-container-menu li a:hover {background-color: #9fd25b;}

	#footer-container-menu {float: none;}

	#footer-accreditation-container {
		float: none;
		width: auto;
		margin: 20px 6%;
	}

	#footer-container-copyright {
		float: none;
		text-align: center;
	}

	#footer-container-copyright br {display: inline;}

}

/* 馬杉追加 */
.small {
font-size: 85%; 
font-feature-settings: "palt";
}