@charset "utf-8";
/* CSS Document */


/* ================= 目次 ======================

　1.  Header
		- 訪問者別ナビ
		- グローバルナビ［PC］
			> ドロップダウン（グローバルナビの親ulにclass="dropdown"）
			> メガドロップダウン（グローバルナビの親ulにclass="megaDropdown"）
		- グローバルナビ［MB］
		- サイド固定ボタン
　2.  Contents（共通箇所）
		- hタグ
		- サイドナビ
		- メインコンテンツ
		- ページトップ
  3.  Footer
		- フッター固定ナビ

============================================= */





/* ----------------------------------------------------
header
----------------------------------------------------- */
/* -------------SP menu */
@media screen and (max-width: 767px){
	header {
		height: inherit;
		margin-top: 45px;
		background-color: #FFFFFF;
	}
	#sp_menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 100;
	}
	#sp_menu_list {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		height: 45px;
	}
	#sp_menu_list .nav-home,
	#sp_menu_list .nav-menu {
		width: 15%;
	}
	#sp_menu_list .nav-shiryou,
	#sp_menu_list .nav-taiken {
		width: 35%;
	}
	.sp-menu-item {
		text-align: center;
		line-height: 1;
	}
	.sp-menu-item > a,
	.sp-menu-item > nav {
		font-size: 12px;
		color: #fff;
		display: flex;
		flex-direction: column;
		justify-content: center;
		height: 100%;
	}
	.sp-menu-item > a i {
		display: block;
		font-size: 14px;
		margin-bottom: 4px;
	}
	#sp_menu_list .nav-home a {
		background-color: #000;
		border-right: 1px solid #fff;
	}
	#sp_menu_list .nav-shiryou a {
		background-color: #d80c18;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	#sp_menu_list .nav-taiken a {
		background-color: #252a31;
		border-left: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	#sp_menu_list .nav-menu nav {
		width: 100%;
		height: 45px;
		background-color: #000;
	}
	.drawer--right .drawer-hamburger {
		background-color: #000;
		width: 15%;
		padding: 0;
		height: 45px;
		box-sizing: border-box;
		border-left: 1px solid #fff;
		display: block;
	}
	.drawer-hamburger:hover {
		background: #000;
	}

	.drawer--right .drawer-nav {
		width: 80%;
		right: -80%;
	}
	.drawer--right.drawer-open .drawer-hamburger {
		position: fixed;
		right: 80%;
		box-sizing: border-box;
		background-color: #d80c18;
		border-left: 0;
	}
	.drawer-hamburger .drawer-hamburger-icon {
		width: 50%;
		margin:0 auto;
	}
	.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
		height: 3px;
	}
	/* -------------drawer-nav */
	.drawer-nav, .drawer-nav a:hover{background: #000;}

	.drawer-nav {
		padding: 1em 0;
	}
	.drawer-nav i {
		padding-right: 5px;
	}
	.drawer-menu li {
		text-align: left;
	}
	.drawer-menu li a {
		padding: 1em;
		font-size: 14px;
		display: block;
	}
	.drawer-dropdown > a,
	.drawer-dropdown-menu li a{
		border-bottom: 1px solid #333;
	}
	.drawer-dropdown > a:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f0fe";
	}
	.drawer-dropdown.open > a:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f146";
	}
	.drawer-dropdown.open > ul.drawer-dropdown-menu > li a {
		padding: 1em;
		background-color: #222;
	}
	.drawer-dropdown > ul.drawer-dropdown-menu li a:before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f105";
		margin: 10px;
	}
	.drawer-menu .drawerHome {
		text-align: center;
	}
	.drawer-nav .drawerCv > ul > li > a {
		background-color: #d80c18;
	}
	.drawer-nav .drawerCv i {
		display: block;
		font-size: 28px;
		margin-bottom: .5rem;
		padding-right: 0;
	}
	.drawerSNS {
		margin: 1rem 1rem 2rem;
	}
	.drawerSNS .sns-list {
		display: flex;
		justify-content: space-between;
	}
	.drawerSNS .sns-list li {
		width: 18%;
	}
	.drawerSNS .sns-list li a {
		padding: 0;
	}
	.drawerSNS .sns-list li img {
		width: 100%;
		height: auto;
	}
	.drawer-menu li.drawerClose {
		text-align: center;
		margin: 0 1em;
		padding: 1em;
		font-size: 16px;
		background-color: #fff;
		cursor: pointer;
	}
	.drawer-menu li.drawerClose span {
		color: #000;
	}
	.drawerClose span:before {
		content: "\f057";
		padding-right: 5px;
	}
	.header-logo {
		margin: 1rem 2%;
		padding-top: 13px;
	}
	.header-logo a {
		display: block;
	}

	#navGlobal {
		display: none;
	}

}
@media screen and (min-width: 768px){
/*---  ▼▼▼(Reset for style.css) ----------*/
	/*--- グローバルナビ［PC］ ----------*/
	#navGlobal {
		background-color: transparent;
		z-index: auto;
	}
	#navGlobal > ul {
		max-width:inherit;
		height: auto;
	}
	#navGlobal > ul li {
		float: none;
		width: auto;
		height: auto;
	}
	#navGlobal > ul li a {
		background-color: transparent;
		height: auto;
	}
	#navGlobal > ul li a:before {
		content: none;
		margin: auto;
	}
	#navGlobal > ul li a:hover {
		background-color: transparent;
		transition: all .5s;
	}
	#navGlobal > ul:before,
	#navGlobal > ul:after {
		content: none;
	}
	#navGlobal > ul:after {
		clear:inherit;
	}
	/* ドロップダウン（ul class="dropdown"） */
	#navGlobal > ul.dropdown > li ul,
	#navGlobal > ul.dropdown > li:hover ul {
		top:auto;
	}
	#navGlobal > ul.dropdown > li ul li,
	#navGlobal > ul.dropdown > li ul li:last-child {
		width: auto;
		height: auto;
	}
	#navGlobal > ul.dropdown > li ul li a,
	#navGlobal > ul.dropdown > li ul li:last-child a {
		height: auto;
		line-height: 1em;
	}
	/* メガドロップダウン（ul class="megaDropdown"） */
	#navGlobal > ul.megaDropdown > li ul,
	#navGlobal > ul.megaDropdown > li:hover ul {
		top: auto;
	}
/*--- ▲▲▲(Reset for style.css) ----------*/
	.megaDropdown {
		display: flex;
		justify-content: center;
	}
	.megaDropdown > li > a {
		font-weight: bold;
		line-height: 1;
		padding: 5px 10px;
		border-right: 1px solid #000;
		font-size: 14px;
	}
	.megaDropdown > li:last-child a {
		border: 0;
	}
	ul.megaDropdown > li > ul {
		background-color: #FFFFFF;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	#navGlobal > ul > li:hover > a {
		background-color: #eef0f1;
		color: #F8033A;
	}
	#navGlobal ul.megaDropdown > li > ul > li {
		width: 32% !important;
		text-align: center;
		line-height: 1.3;
		margin: 0 2% 1% 0;
		box-sizing: border-box;
	}
	#navGlobal ul.megaDropdown > li > ul > li:nth-child(3n) {
		margin-right: 0;
	}
	#navGlobal .megaDropdown > li > ul > li a {
		background-color: #000;
		color: #fff;
		font-size: 14px;
		padding: 10px;
		line-height: 16px;
	}
	#navGlobal .megaDropdown > li > ul > li a:hover {
		background-color: #F8033A;
	}
	header {
		border-top: 7px solid #000;
		padding-top: 10px;
		background-color: #FFFFFF;
		-moz-transition: height 0.3s;
		-o-transition: height 0.3s;
		-webkit-transition: height 0.3s;
		transition: height 0.3s;
	}
	.header-logo {
		text-align: center;
		margin-bottom: 1em;
	}
	.header-logo img {
		width :600px;
		-o-transition: all 0.3s;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}
	.header-nav {
		margin: 0 auto 20px;
	}
	.publick-info {
		line-height: 1;
		text-align: right;
		margin: 0 auto .5rem auto;
		width: 96%;
		max-width: 1200px;
	}
	.publick-info a {
		display: inline-block;
		white-space: nowrap;
		font-size: .7rem;
		border: 1px solid #000;
		padding: .5em .75em .5em .5em;
	}
}
@media screen and (min-width: 1024px){
	.header-wrapper {
		align-items: center;
		justify-content: space-between;
		margin: 0 auto;
		padding: 1.25em 0;
		width: 100%;
	}

	.megaDropdown > li > a {
		padding: 5px 15px;
		font-size: 16px;
	}
	.header-logo {
		width: auto;
		margin: 0 auto 15px;
	}

	.header-nav {
		width: 100%;
		margin: 0;
	}
	#navGlobal {
	}

	/* スクロール変化 */
	.fixed {
		background: rgba(255, 255, 255, 0.95);
		border-top: none;
		box-shadow: 0px 1px 5px rgba(0,0,0,0.15);
		display: flex;
		flex-wrap: wrap;
		-moz-transition: all 0.6s;
		-o-transition: all 0.6s;
		position: fixed;
		top: 0;
		transition: all 0.6s;
		-webkit-transition: all 0.6s;
		transform: translateY(0);
		width: 100%!important;
		z-index: 1000000!important;
	}
	.fixed .header-wrapper {
		padding: 0 0 0.85em 0;
	}

	.fixed .header-logo img {
		width: 25%;
	}
	.fixed .visitor-nav{display: none;}

	.megaDropdown {
		/*justify-content: flex-end;*/
	}

}

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

	/*.header-wrapper {
		background: rgba(255, 255, 255, 0.95);
		padding-bottom: 1.25em;
		width: 100%;
	}*/
	
	.publick-info {
		position: absolute;
		right: 5px;
		top: 15px;
		width: auto;
	}

	.megaDropdown > li > a {
		font-size: 16px;
	}
	.header-nav {
		width: 100%;
		margin: 0;
	}
}




/* CVボタン */
.drawer-menu li.drawerCv > ul {
	margin: 0 2%;
}
.drawer-menu li.drawerCv > ul li {
	text-align: center;
	float: left;
	width: 46%;
	margin: 2%;
	background: #333;
}
.drawer-menu li.drawerCv > ul li a {
	display: block;
	padding: 5% 5%;
}



/*--- 訪問者別ナビ ----------*/
#navVisitor {
	background: #EEE;
}
#navVisitor > ul {
	max-width: 1000px;
	margin: 0 auto;
}
#navVisitor > ul li a {
	display: block;
	float: left;
	width: 14.2857%;
	height: 40px;
	line-height: 40px;
}
#navVisitor > ul li a:before {
	content: "\f0a9";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	margin: 0 5px;
}
#navVisitor > ul li a:hover {
	background: #E5E5E5;
}
@media screen and (max-width: 767px) {

	#navVisitor {
		display: none;
	}

}
/* 訪問者別 */
.drawer-dropdown > a:after,
.drawer-dropdown.open > a:after {
	float: right;
}






/* ----------------------------------------------
  2.  Contener
---------------------------------------------- */
/*--- サイド固定ボタン ----------*/

#navFixedSide > ul {
	position: fixed;
	top: 180px;
	right: 0px;
	z-index: 10000;
}
#navFixedSide > ul li {
	width: 70px;
}
#navFixedSide > ul li:first-child {
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
#navFixedSide {
	display: none;
}
}


/*--- hタグ ----------

h1 {
	margin-bottom: 50px;
}
h2 {
	margin-bottom: 30px;
}
h3,
h4 {
	margin-bottom: 20px;
}
h1 {
	font-size: 3.2rem;
}
h2 {
	font-size: 2.6rem;
}
h3 {
	font-size: 2.2rem;
}
h4 {
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
h1 {
	margin-bottom: 30px;
}
h2,
h3,
h4 {
	margin-bottom: 20px;
}
h1 {
	font-size: 2.0rem;
}
h2 {
	font-size: 1.8rem;
}
h3 {
	font-size: 1.6rem;
}
h4 {
	font-size: 1.4rem;
}
}*/


/*--- サイドナビ ----------*/
.layoutL nav#sNav,
.layoutR nav#sNav {
	/*width: 250px;*/
	width: 25%;
	margin-bottom: 50px;
}


.layoutL nav#sNav {
	float: left;
	/*margin-right: 50px;*/
	margin-right: 5%;
}
.layoutR nav#sNav {
	float: right;
	/*margin-left: 50px;*/
	margin-left: 5%;
}
/*nav#sNav > .sNavInner {
	width: 250px;
}*/
nav#sNav > .sNavInner .titSideNav a,
nav#sNav > .sNavInner ul li a {
	display: block;
}
@media screen and (max-width: 767px) {

	/*仮*/
	.sNavInner{display: none;}

	.layoutL nav#sNav,
	.layoutR nav#sNav {
		display: none;
	}

}



/*--- メインコンテンツ ----------*/
.full{
	margin-bottom: 3.75em;
	width: 100%;
}

.layoutL .contents,
.layoutR .contents {
	margin-bottom: 3.75em;
	width: 70%;
}

.layoutL .contents {
	float: right;
}

.layoutR .contents {
	float: left;
}

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

	.layoutL .contents,
	.layoutR .contents {
		margin-bottom: 1.875em;
		width: 100%;
	}

}



section {
	clear: both;
	margin-bottom: 3.75em;
}
	section:last-child {
		margin-bottom: 0;
	}

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

	section {
		clear: both;
		margin-bottom: 1.875em;
	}

}



/*--- ページトップ ----------*/
#page-top {
	position: fixed;
	right: 3%;
	bottom: 10%;
	width: 40px;
	height: 40px;
	z-index: 2;
}
#page-top a:before {
	display: inline-block;
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 40px;
	content: "\f139";
	color: #d80c18;
	line-height: 1;
}






/* ----------------------------------------------------
FOOTER
----------------------------------------------------- */
#footer {
	background-color: #ebebeb;
	padding-bottom: 0;
}
.address-list {
	margin-bottom: 1em;
	padding-left: 100px;
	background: url(../../img/school_building.png) left top / 90px 90px no-repeat;
}
footer address,
.address-list li {
	font-size: 12px;
	text-align: left;
	line-height: 1.5;
}
.footer-wrapper {
	display: flex;
	flex-direction: column;
}
.footer-map-wrapper {
	border: 5px solid #fff;
	margin-bottom: 20px;
	order: -1;
}
.footer-map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}
.footer-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.footer-logo {
	margin-bottom: 1.5em;
}
.footer-btn {
	margin-bottom: 1em;
	text-align: center;
}
.footer-btn .policy {
	display: inline-block;
	margin-bottom: 10px;
}
.footer-btn a:first-child {
	margin-right: 10px;
}
.copyright {
	background-color: #cfcfcf;
	text-align: center;
	font-size: .8rem;
	padding: .5em;
}

@media screen and (min-width: 768px){
	#footer {
		padding: 50px 0 60px 0;
	}
	.footer-wrapper {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-start;
	}
	.footer-wrapper > * {
		width: 49%;
		box-sizing: border-box;
	}
	.footer-map-wrapper {
		order: 1;
	}
}
@media screen and (min-width: 1024px){
	.address-list {
		padding-left: 0;
		background: none;
	}
	.footer-info {
		padding-left: 200px;
		background: url(../../img/school_building.png) left top no-repeat;
	}
	footer address,
	.address-list li {
	font-size: 16px;
	}
}
@media screen and (min-width: 768px){
	#fix-footer-nav {
		background-color: #000;
		position: fixed;
		z-index: 1;
		bottom: 0;
		width: 100%;
	}
	.footer-nav-list {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 10px;
	}
	.footer-nav-list li {
		padding: 0 5px;
	}
	#fix-footer-nav a {
		color: #fff;
	}
	.footer-nav-list li i {
		margin-right:.25em;
	}
}
ul.breadcrumb {
	width: 96%;
	margin-left:auto;
	margin-right: auto;
	max-width: 1200px;
}
@media screen and (min-width: 1284px){
	ul.breadcrumb {
		width: 1200px;
	}
}