@charset "utf-8";
/* 2026 base: original visible geometry and typography */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
ol,ul,li{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#fff;color:#000;text-decoration:none}mark{background-color:#fff;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}img{vertical-align:top;font-size:0;line-height:0}
a,a:link,a:visited{color:#177DB2;text-decoration:none;outline:none}a:hover,a:active{color:#F46574;text-decoration:none}a:focus{outline:none}
body,table,form,select,input,textarea{font-family:Helvetica,Arial,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,'メイリオ',sans-serif;color:#000;letter-spacing:0}
html{font-size:62.5%;height:100%;background:transparent}body{font-size:1.6rem;text-align:center;background:transparent;overflow-y:scroll}
#header,#footer{width:100%;margin:0 auto}#content-wrap{width:100%;margin:0 auto;border-style:none;min-height:100%}#mainContent{max-width:100%}#sideBar,#subContent{width:100%;margin:0 auto}
@media screen and (min-width:668px),print{#header{width:960px;background:transparent;margin:0 auto}#content-wrap{display:flex;flex-direction:row;flex-wrap:wrap;width:960px;margin:0 auto;border-style:none;min-height:100%}#mainContent{order:2;width:650px}#sideBar,#subContent{order:1;width:310px;margin:0;padding:0}#content-footer{order:3;width:960px;margin:0;padding:0}#footer{width:960px;margin:0 auto}}
.clearfix::after{content:"";display:block;clear:both}.clearfix{display:block}img.gbaddborder{border:1px solid #888}

/* desktop geometry and decoration: reference baseline */
@media screen and (min-width:668px),print {
body {
	-webkit-text-size-adjust:100%;
}
/* ========= ヘッドタイトルエリア ========= */
header#header {
	width: 960px;
	margin: 0px auto;
	text-align: left;
}
header#header::after {
	clear: both;
	display: block;
	content: '';
}
#headpart {
	position: relative;
	width: 100%;
	height: 291px;	 /*パンくずまでの高さ */
	margin: 0px auto;
}
#headpart-top {
	position: relative;
	width: 100%;
	height: 140px;	 /*パンくずまでの高さ */
	margin: 0px auto;
}
#head-logoBx {
}
#head-logo {
	position: absolute;
	top: 15px;
	left: 0px;
}
#head-banner {
	position: absolute;
	top: 20px;
	left: 226px;
}
#head-navi{
	position: absolute;
	top: 38px;
	right: 0px;
}
#head-navi ul {
	width: 135px;
	margin: 0;
	font-size: 12px;
	color: #1C83B9;
	list-style: none;
	border-left: 1px solid #E0E0E0;
}
#head-navi ul li {
	width: 120px;
 	height: 20px;
	line-height: 20px;
	margin-left: 5px;
	text-align: left;
	border-bottom: 1px dashed #E0E0E0;
	text-indent: 22px;
}
#head-navi ul li:nth-child(1) {
	background: url(/common_images/icn_watch.gif) left center no-repeat;
}
#head-navi ul li:nth-child(2) {
	background: url(/common_images/icn_graph.gif) left center no-repeat;
}

/* ========= パンくずエリア ========= */
#pankuzu  ol {
	clear: both;
	width: 960px;	/* 960px → 935px */
	margin-left: 0;	/* 0→ 25px */
	padding: 5px 0px 5px 3px;
	text-align: left;
	font-size: 13px;
	font-weight: normal;
	line-height: 0;   
	background-color: #F0F0EE;
	border-bottom: solid 1px #C0C0C0;
}
#pankuzu ol:after {
	content: '';
	display: block;
	clear: both;
}
#pankuzu li {
	float: left;
    line-height:120%;   
}
#pankuzu li + li:before {
	margin:0 1px;
	content: ">";
}
#pankuzu li a {
	margin-right: 5px;
	margin-left: 5px;
	color: #5f9acd;
	text-decoration: none;	
}
#pankuzu strong,
#pankuzu em {   
	margin-right: 5px;
	margin-left: 5px;
	font-weight: bold;
	font-style: normal;
	color: #646464;
}  


/* ===== コンテンツラッパー ===== */
#content-wrap {
	display: flex;
	flex-direction: row;
	width: 960px;
	margin: 0px auto 24px;
	padding: 0;
}


/* ===== メインコンテンツ 基本===== */
#mainContent {
	width: 640px;
	height: auto;
	text-align:left;
	margin: 0 10px 0 0;
/*	background-color: #FFFFFF;	確認用*/
	order: 1; 
}

#mainContent header {
	margin: 0;
/*	background-color: #FFFFFF;	確認用*/
}

#mainContent footer {
	height: 50px;
	margin-top: 15px;
	margin-bottom: 15px;
/*	background-color: #FFFFFF;	確認用*/
}

/* ===== イメージタイトル ===== */
#mainContent header p {
	clear: both;
	margin: 0 10px 0 0;
	padding: 0px;
	width: 640px;
	height: 50px;
}
#mainContent header p img {
	margin-top: 2px;
}
/* ========= 個別コンテンツエリア 共通========= */
.OSGBase01 {
	width: 640px;
	margin: 0px 0 20px 0;
	padding: 0;
	overflow:hidden;
}
.OSGBase01::after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}

/*===== ブロックサブタイトル ===== */
.subtitleBx {
	width: 640px;
	margin:  15px 10px 0 0;
	padding: 0;
}
.rdTitle {
	font-size: 16px;
	font-weight: bold;
	height: 36px;
	line-height: 36px;
	padding: 2px 5px 0 10px;
	text-align: left;
	color: #000000;
	border-left:  5px solid #DD0000;
	border-bottom: 1px solid #E9E9E9;
	background-color: #F7F7F7;
}
.subTtl01 {
	margin: 0 0 0px 0px;
	padding-left: 15px;
	font-size: 16px;
	font-weight: bold;
	color: #000000;
	height: 28px;
	line-height: 28px;
	overflow: hidden;
	border-left: none;
	border-bottom: 1px solid #D0D0D0;
}
.subTtl02 {
	margin: 0 0 0px 0px;
	padding-left: 15px;
	font-size: 13px;
	font-weight: bold;
	color: #000000;
	height: 28px;
	line-height: 28px;
	overflow: hidden;
	border-left: none;
	border-bottom: 1px solid #D0D0D0;
}
.subTtlred01 {
	font-size: 16px;
	color: #FFFFFF;
	background-color: #D3381C;
	height: 38px;
	line-height: 38px;
	margin: 0 0 5px 0;
	padding: 0 1.0em 0 1.0em;
}
.subTtlblu02 {
	margin: 0 0 5px 0;
	padding-left: 12px;
	font-size: 16px;
	font-weight: bold;
	color: #336699;
	height: 32px;
	line-height: 32px;
	overflow: hidden;
	border-left: 5px solid #0095D9;
	border-bottom: 1px solid #D0D0D0;	
	background-color: #FFF;
}

/* ========= 画像付きテキストボックス タイル型========= */
.ImgListBx_tile {
	width: 640px;
	margin:  0px 0px 50px 0;
	padding: 0;
}
.ImgListBx_tile ul {
	margin: 30px 0 0 0;
	width: 640px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.ImgListBx_tile ul li {
	width: 158px;
	height: 180px;
	color: #333333;
	margin-bottom: 0px;
	padding: 0px;
	font-size: 14px;
	text-align: center;
	background: #FFF;
	border: 1px solid #FFF;

}
.ImgListBx_tile ul li a .midashi_img01,
.ImgListBx_tile ul li .midashi_img01 {
	width: 124px;
	height: 124px;
	margin: 0 auto 0 14px;
	background-color: #FFFFFF;
}
.ImgListBx_tile ul li .midashi_img01 img {
	border: 1px solid #DCDCDC;
	padding: 4px;
	background-color: #FFFFFF;
	width: 120px;
	height: 120px;
}

.ImgListBx_tile ul li .textBx{
	margin: 15px auto 0 0;
}
.ImgListBx_tile ul li a{
	display: block;
}
.ImgListBx_tile ul li a:hover{
	color: #F46574;
}

/*===== リスト型ボックス03 =====*/
.ListBx03N {
	margin-top: 0px;
	margin-bottom: 40px;
	width: 638px;
	font-size: 12px;
	padding: 5px auto;
	border: 1px solid #FFFFFF;
}
.ListBx03N ul {
	margin: 5px 0px 5px 0px;
}
.ListBx03N ul li {
	padding: 8px 0px 8px 32px;
	font-size: 14px;
	width: 606px;
	line-height: 1.5em;
	text-align: left;
	border-bottom: 1px solid #DEE4EB;
}
.ListBx03N ul li::before {
	content: '・';
	margin: 0 0 0 -1.5em;
	padding: 0 3px 0 0;
}
.ListBx03N ul li.listsubtitle {
	padding: 20px 5px 5px 25px;
	font-size: 14px;
	font-weight: bold;
	color: #164a84;
	line-height: 1.5em;
	text-align: left;
	background: none;
	border-bottom: none;
}
.ListBx03N ul li.listsubtitle::before {
	content: '';
	padding: 0 0px 0 0;
}
.ListBx03N ul li a {
	border: none;
	color: #177DB2;
}
.ListBx03N ul li.listsubtitle a {
	border: none;
	color: #164a84;
}
.ListBx03N ul li a:hover {
	color: #F46574;
	text-decoration: none;
}
.ListBx03N ul li img{
	vertical-align: middle;
	padding-bottom: 3px;
	padding-left: 5px;
}

/*===== 学校情報路線図  =====*/
.mapBx {
	margin-top: 5px;
	margin-bottom: 50px;
	width: 638px;
	font-size: 12px;
	text-align: left;
	padding-top: 10px;
	padding-bottom: 10px;
}
.mapBx img{
	max-width: 570px;
	height: auto;
	margin: 0;
	padding: 0;
	border: none;
}


/*=====  メイン学校名検索ボックス大  ===== */
.searchBxOuter{
	width: 640px;
	margin: 0px 0 50px 0;
	padding: 0;
	overflow:hidden;
	background-color: #FFF;
}
.searchBxM {
	border: 4px solid #dadada;
	background-color: #f4f4f4;
	background-image: url(/common_images/base/searchB_bg.png);
	background-repeat: no-repeat;
	background-position: 0 100%;
	padding: 26px 26px 26px;
	margin: 20px 0 0;
}
.searchBxM h4 {
	margin-bottom: 12px;
}
.searchBxM h4 span.en {
	font-size: 0.63em;
	font-family: 'Raleway', sans-serif;
}
.searchBxM h4 span.shTxt {
	font-size: 16px;
	font-weight: bold;
	margin-right: 8px;
	filter:dropshadow(color=#FFFFFF,offX= 0,offY=-2)
	dropshadow(color=#FFFFFF,offX= 2,offY= 0)
	dropshadow(color=#FFFFFF,offX= 0,offY= 1)
	dropshadow(color=#FFFFFF,offX=-2,offY= 0);
	text-shadow: #FFF 1px 1px 0px, #FFF -1px 1px 0px,#FFF 1px -1px 0px, #FFF -1px -1px 0px;
}
.searchBxM input[type="text"] {
	width: 382px;
	height: 16px;
	float: left;
	border: 2px solid #386ca1;
	padding: 10px;
	font-size: 16px;
}
.searchBxM #searchsubmit {
	width: 169px;
	height: 40px;
	color: #FFF;
	font-size: 16px;
	padding-left: 30px;
	line-height: 37px;
	letter-spacing: 0;
	border: 2px solid #386ca1;
	background-color: #386ca1;
	background-image: url(/common_images/base/searchB_Bt.png);
	background-repeat: no-repeat;
	background-position: 10% 50%;
	font-weight: bold;
}
input::-webkit-input-placeholder {
	font-size: 16px;
	letter-spacing: 0.1em;
}
input:-moz-placeholder {
	font-size: 16px;
	letter-spacing: 0.1em;
}
.subcomment01 {
	margin-top: 10px;
	padding-left: 10px;
	font-size: 14px;
}

/*===== ピックアップカルーセル =====*/
.carousel-box {
	width: 590px;
	margin: 20px auto 50px 35px;
	padding: 0;
}
.carousel-skin li a img {
    padding: 4px;
    border: 1px solid #E0E0E0;
    background: #FBFBFB;
}
.carousel-skin li a img.guidetop {
	width: 120px;
	height: 170px;
}
.imgtitle {
	font-size: 12px;
    text-align: center;
    text-decoration: none;
	line-height: 1.5em;
	color: #5A5C6F;
    background: transparent;
    padding: 5px 5px 0 5px;
    zoom: 1;
	width: 120px;
	white-space: normal;
	word-break: break-all;
	display: table-cell;
}


/*===== サイドバー =====*/
#sideBar {
	margin-top: 0px;
	margin-bottom: 30px;
}
@media screen and  (min-device-width: 640px),print {
#sideBar {
	margin-bottom: 0;
}
}



/*===== サイドバナー広告300px =====*/

.side300bannerArea {
	margin: -19px 0 0  0;
	z-index: 1000;
}
.side300bannerArea02 {
	margin: 0px 0 40px 10px;
	z-index: 1000;
}
.side300bannerArea02 p,
.side300bannerArea p {
	text-align: right;
	font-size: 11px;
	line-height: 1.5em;
	color: #709396;
	padding-right: 5px;
}
.side300bannerArea02 img,
.side300bannerArea img {
	text-align: center;
	padding-right: 0;
	margin-top: 0px;
	max-width: 300px;
	max-height: 351px;
}
.side300bannerArea02 img.rectangle_portrait,
.side300bannerArea img.rectangle_portrait {
	text-align: center;
	padding-right: 0;
	margin-top: 0px;
	max-width: 248px;
	width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}
.side300bannerArea02 img.rectangle_landscape,
.side300bannerArea img.rectangle_landscape {
	text-align: center;
	padding-right: 0;
	margin-top: 0px;
	max-width: 300px;
	width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}
.side300bannerArea02 img.square_bnr,
.side300bannerArea img.square_bnr {
	text-align: center;
	padding-right: 0;
	margin-top: 0px;
	max-width: 280px;
	width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}
.side300bannerArea02 p.decoBx,
.side300bannerArea p.decoBx {
 	display: flex;
	text-align: left;
	font-size: 12px;
	height: 20px;
	line-height: 20px;
	margin-bottom: 5px;
	color: #FD9732;
}
.side300bannerArea02 p.decoBx span.deco01,
.side300bannerArea p.decoBx span.deco01 {
	text-align: center;
	font-size: 12px;
	height: 20px;
	line-height: 20px;
	width: 60px;
	margin-right: 15px;
	color: #FFF;
	background-color: #FD9732;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.side300bannerArea02 div.prText,
.side300bannerArea div.prText {
	width: 276px;
	line-height: 1.5;
	color: #177DB2;
	text-align: left;
	font-size: 12px;
	font-weight: normal;
	margin: 5px auto 20px ;
	padding: 10px 10px;
	text-align: justify;
	text-justify: inter-ideograph;
	word-wrap: break-word;
	overflow-wrap: break-word;
	line-break: normal;
	border: 2px dotted #C9DEDE;
}
/* .side300bannerArea02 div.prText::before,
.side300bannerArea div.prText::before {
	content: '▶';
	padding: 0 1px 0 0;
	font-size: 12px;
} */
.side300bannerArea02 a:hover div.prText,
.side300bannerArea a:hover div.prText {
	color: #F46574;
}
.pcnone {
	display: none;
}

/*===== サイド画像付きテキスト =====*/
.SideNavBx {
	margin: 30px 0 0 10px;
	padding: 0;
}
.SideNavBx  p.bxttl {
	text-align: left;
	font-size: 11px;
	line-height: 1.2em;
	color: #709396;
}
.SideNavBx ul {
}
.SideNavBx ul li {
	margin-bottom: 9px;
	padding: 0;
	width: 298px;
	border: 1px solid #E3E3E3;
	display: block;
}
.SideNavBx ul li.textBna {
	margin: 20px 0 9px 0;
	padding: 0;
	width: 298px;
	height: 89px;
	border: 1px solid #E3E3E3;
	display: block;
}

.SideNavBx ul li.SNimg {
	margin: 9px auto 35px;
	width: 300px;
	border: none;
}
.SideNavBx ul li.SNimg img {
}
.SideNavBx ul li:hover {
	background-color: #FBFCFF;
}
.SideNavBx ul li a {
}
.SideNavBx ul li a:hover h3 {
	text-decoration: none;
}
.SideNavBx ul li:after {
}
.SideNavBx ul li .midashi_img01 {
	clear: both;
	float: left;
	width: 75px;
	height: auto;
	margin: 5px;
	padding: 1px;
	background-color: #FFFFFF;
	border: 1px solid #E3E3E3;
}
.SideNavBx ul li .midashi_img01 img,
.SideNavBx ul li .midashi_img01 a img{
	width: 75px;
	height: 75px;
}

.SideNavBx ul li .textBx {
	float: left;
	width: 203px;
	height: auto;
	margin: 5px 0px 0px 0px;
}
.SideNavBx ul li .textBx h3 {
	font-size: 13px;
	line-height: 1.5em;
	text-align: left;
	padding: 3px;
	font-weight: bold;
	border-bottom: 1px dashed #E3E3E3;
}
.SideNavBx ul li:hover .textBx p,
.SideNavBx ul li .textBx p {
	font-size: 12px;
	line-height: 1.5em;
	padding: 3px;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	overflow: hidden;
	text-indent: 12px;
	color: #657E8D;
	background: url(/common_images/listmark_news) left 4px no-repeat;
}
.SideNavBx ul li:hover .textBx p img,
.SideNavBx ul li .textBx p img{
vertical-align: text-bottom;
}

.SideNavBx ul li.yokoList {
    white-space: normal;
	margin: -9px 0 -2px 0;
	border: none;
	background-color: #FFFFFF;
	text-align: left;
}
.SideNavBx ul li.yokoList ul {
	border: none;
}
.SideNavBx ul li.yokoList ul li {
	display: inline;
 	padding-left: 14px;
	padding-right: 0.8em;
	border: none;
	background: url(/common_images/listmark_news.png) 0 center no-repeat;
	font-size: 14px;
	font-weight: bold;
	color: #000000;
	height: 24px;
	line-height: 24px;
}
.SideNavBx ul li.textlink {
	font-size: 12px;
	margin: -20px auto 10px;
	padding: 0;
	width: 298px;
	border: none;
}
.SideNavBx ul li.textlink:hover {
	background-color: #FFF;
}






/*===== コンテンツフッター =====*/
#content-footer {
	clear: both;
	width: 960px;
	height: 60px;
	margin-bottom: 0px;
	margin-top: 30px;
}

/*===== スマートフォン・PC切り替え =====*/
div.smt_switchBtn03 {
	height: 48px;
	margin: 30px auto 30px;
}
div.smt_switchBtn03 .btBx {
}
div.smt_switchBtn03 .btBx a{
	width: 440px;
	height: 48px;
	display: block;
	color: #2A5875;
	text-align: center;
	font-weight: normal;
	line-height: 48px;
	background-color: #FFFFFF;
	border: 1px solid #2A5875;
	padding: 0;
	margin: 20px 0 20px 100px;
	font-size: 18px;
}
div.smt_switchBtn03 .btBx a:hover {
	background-color: #b1b4b4;
}
div.smt_switchBtn03 .btBx a#swPc{
	display: none;
}

#mainContent {
	margin-bottom: 50px;
}

@media screen and  (min-device-width: 640px),print {
div.smt_switchBtn03 {
	display: none;
}
#mainContent {
	margin-bottom: 0;
}
}


/*===== メインフッター =====*/
footer#footerVS {
	width: 100%;
	height: 5px;
	min-width: 1036px;
	background: #6bb5dc;
	padding: 0 0 0;
	position: relative;
}
footer#footerVS:before {
	background-color: #2D405D;
	width: 100%;
	height: 5px;
	display: block;
	content: '';
	position: absolute;
	top: 0;
}
footer#footerVS #footInner {
	width: 960px;
	margin: 0 auto -10px;
	padding: 0 0 0px;
	text-align: left;
	position: relative;
	z-index: 20;
}
footer#footerVS .footerMain {
	padding-top: 10px;
}
footer#footerVS .footerMainInner {
	height: 5px;
}
footer#footerVS #footInner:after,
footer#footerVS .footerMain:after {
	display: block;
	content: ' ';
	clear: both;
}
footer#footerVS .copyAreaBG {
	width: 100%;
	background-color: #FFFFFF;
	border-top: 3px solid #EA2E2E;
}
footer#footerVS .copyAreaBG .wrap {
	width: 960px;
	margin: 0 auto -15px;
	text-align: left;
	font-size: 14px;
	padding: 14px 0 18px;
	color: #177DB2;
	font-weight: normal;
	background-color: #FFFFFF
}
footer#footerVS .copyAreaBG .wrap h3 a {
	float: left;
	background: url(/common_images/KS-LOGO-Blue-J@2x.png) no-repeat left top;
	background-size: 161px 27px;
	width: 161px;
	height: 27px;
	margin-right: 10px;
	display: block;
	text-indent: -9999px;
}
footer#footerVS .copyAreaBG .wrap h3 a:hover {
	background: url(/common_images/KS-LOGO-Pink-J@2x.png) no-repeat left top;
	background-size: 161px 27px;
}
footer#footerVS .copyAreaBG .wrap h3 img {
	float: left;
	width: 161px;
	height: 27px;
	margin-right: 10px;
}
footer#footerVS .copyAreaBG ul.navList {
	display: inline-block;
	margin-top: 2px;
	margin-left: 20px;	/*TopPage*/
}
footer#footerVS .copyAreaBG ul.navList li {
	display: inline-block;
	color: #177DB2;
	height: 22px;
	line-height: 22px;
}
footer#footerVS .copyAreaBG ul.navList li:before {
	content: '｜' ;
	padding: 0 5px;
	color: #177DB2;
}
footer#footerVS .copyAreaBG ul.navList li:first-child:before {
	content: ' ' ;
	margin: 0;
}
footer#footerVS .copyAreaBG ul.navList li a {
	color: #177DB2;
	text-decoration: none;
}
footer#footerVS .copyAreaBG ul.navList li a:hover {
	color: #F46574;
	text-decoration: none;
}

/*buttonpage top
--------------------------*/
footer#footerVS .wrapToTop {
	width: 960px;
	margin: 0 auto;
	padding: 0 0 0px;
	text-align: left;
	position: relative;

}

footer#footerVS .wrapToTopFixed ,
footer#footerVS .wrapToTop{
	width: 960px;
	margin: 0 auto;
	padding: 0 0 0px;
	text-align: left;
	position: relative;
}
footer#footerVS span.ToTop,
footer#footerVS a.ToTop {
	width: 56px;
	height: 16px;
	padding-top: 40px;
	border-radius: 5px;
	background-color: #EA2E2E;
	color: #EA2E2E;
	text-align: center;
	font-size: 12px;
	display: block;
	position: absolute;
	right: 10px;
	top: -80px;
	cursor:pointer;
}
footer#footerVS span.ToTop::before,
footer#footerVS a.ToTop::before {
	content: '\f077';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0;
	font-size: 28px;
	color: #FFF;
	position: absolute;
	right: 15.5px;
	top: 12.5px;
}
footer#footerVS span.ToTop:hover,
footer#footerVS a.ToTop:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}


/*===== メインフッター =====*/
#footerA {
	width: 100%;
	min-width: 1036px;
	background: #41587A;
	padding: 0 0 0;
	position: relative;
}
#footerA:before {
	background-color: #D7003A; /* #2D405D */
	width: 100%;
	height: 3px;/* 43dx */
	display: block;
	content: '';
	position: absolute;
	top: 0;
}
#footerA #footInner {
	width: 960px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	position: relative;
	z-index: 20;
}

#footerA .navArea01 {
	margin: 10px 0 0 0;
}
#footerA .navArea01 .wrap {
	width: 960px;
	margin: 0 auto 0px;
	text-align: left;
	font-size: 14px;
	padding: 12px 0 11px;
	font-weight: normal;
}
#footerA .navArea01 ul.navList {
	display: inline-block;
	margin-top: 2px;
	margin-left: -5px;
}
#footerA .navArea01 ul.navList li {
	display: inline-block;
	color: #FFF;
	height: 22px;
	line-height: 22px;
}
#footerA .navArea01 ul.navList li:before {
	content: '｜' ;
	padding: 0 5px;
	color: #FFF;
}
#footerA .navArea01 ul.navList li.pcnone{
	display: none;
}
#footerA .navArea01 ul.navList li:first-child:before {
	content: ' ' ;
	margin: 0;
}
#footerA .navArea01 ul.navList li a {
	color: #FFF;
	text-decoration: none;
}
#footerA .navArea01 ul.navList li a:hover {
	text-decoration: underline;
}

#footerB {
	width: 100%;
	min-width: 1036px;
	background: #FFFFFF;
	padding: 0 0 0;
	position: relative;
}
#footerB #footInner02 {
	width: 960px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	position: relative;
	z-index: 20;
}
#footerB .navArea02 {
	margin: 10px 0 0 0;
	width: 100%;
	background-color: #FFFFFF;
}
#footerB .navArea02 .wrap {
	width: 960px;
	margin: 0 auto 0px;
	text-align: left;
	font-size: 14px;
	padding: 12px 0 11px;
	color: #177DB2;
	font-weight: normal;
}
#footerB .navArea02 .SubTopLink {
	height: 36px;
	line-height: 36px;
	margin: -20px 0 0 0;
	text-indent: 5px;
	border-bottom: 1px dotted #e7e7e7;
}
#footerB .navArea02 ul.navList {
	display: inline-block;
	font-size: 12px;
	margin-top: -15px;
	margin-bottom: 10px;
	margin-left: -5px;
}
#footerB .navArea02 ul.navList li {
	display: inline-block;
	color: #177DB2;
	height: 22px;
	line-height: 22px;
}
#footerB .navArea02 ul.navList li:before {
	content: '｜' ;
	padding: 0 5px;
	color: #177DB2;
}
#footerB .navArea02 ul.navList li:first-child:before {
	content: ' ' ;
	margin: 0;
}
#footerB .navArea02 ul.navList li a {
	color: #177DB2;
	text-decoration: none;
}
#footerB .navArea02 ul.navList li a:hover {
	color: #F46574;
	text-decoration: none;
}


/*buttonpage top
--------------------------*/
#footerA .wrapToTop {
	width: 960px;
	margin: 0 auto;
	padding: 0 0 0px;
	text-align: left;
	position: relative;

}

#footerA .wrapToTopFixed ,
#footerA .wrapToTop{
	width: 960px;
	margin: 0 auto;
	padding: 0 0 0px;
	text-align: left;
	position: relative;
}
#footerA span.ToTop,
#footerA a.ToTop {
	width: 56px;
	height: 16px;
	padding-top: 40px;
	border-radius: 5px;
	background-color: #EA2E2E;
	color: #EA2E2E;
	text-align: center;
	font-size: 12px;
	display: block;
	position: absolute;
	right: 10px;
	top: -80px;
	cursor:pointer;
}
#footerA span.ToTop::before,
#footerA a.ToTop::before {
	content: '\f077';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0;
	font-size: 28px;
	color: #FFF;
	position: absolute;
	right: 15.5px;
	top: 12.5px;
}
#footerA span.ToTop:hover,
#footerA a.ToTop:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
}
/* mobile geometry and decoration: reference baseline */
@media screen and (max-width:667px) {
body {
	-webkit-text-size-adjust:100%;
}

/* ========= ヘッドタイトルエリア ========= */
header#header {
	width: 100%;
	background: #FFF;
	margin: 0px auto;
	text-align: left;
}
#headpart-top,
#headpart {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0px auto;
}
#head-logoBx {
	width: 100%;
	height: 145px;
}

#head-logo img{
	position: absolute;
	top: 16px;
	left: 4%;
	width: 56px;
	height: 28px;
}
#head-banner {
	position: absolute;
	top: 35%;
	left: calc(10% + 56px) ;
	width: calc(90% - 56px);
	height: 62.5%;
	transform: translate(0,-35%);
}
#head-banner a {
    text-decoration:none;
}
#head-banner img {
	width: 90%;
	height: auto;
}
 #head-navi{
	display: none;
}


/* ========= パンくずエリア ========= */
#pankuzu  ol {
	width: 95%;	/* smartphone */
	border-bottom: solid 1px #999999;
	text-align: left;
	margin: 15px auto 0px auto;
	padding-bottom: 10px;
	font-size: 12px;
	font-weight: normal;
    line-height: 0;   
}
#pankuzu ol:after {
	content: '';
	display: block;
	clear: both;
}
#pankuzu li {
	float: left;
    line-height:120%;   
    margin: 0 2% 0 0;
}
#pankuzu li + li:before {
	font-size: 10px;
	content: ">";
}
#pankuzu li a {
	text-decoration: none;	
	width: auto;
}
#pankuzu strong,
#pankuzu em {   
	font-weight: bold;
	font-style: normal;
}  


/* ===== コンテンツラッパー ===== */
#content-wrap {
	width: 100%;
	margin: -50px auto 20px;
	padding: 0;
	background: none;
}

/* ===== メインコンテンツ 基本 ===== */
#mainContent {
	width: 100%;
	height: auto;
	text-align:left;
	margin: 0 auto 50px;
	background: #FFF;	/*	確認用*/
}

#mainContent a {
	text-decoration:none;
}

#mainContent header {
	width: 100%;
	margin: 25px 10px 0px 10px;
	padding-left: 0px;
}

#mainContent footer {
	height: 50px;
	width: 100%;
	margin: 0px 10px 20px 10px;
	padding-left: 0px;
	background-color: #FFFFFF;
}

/* ===== イメージタイトル ===== */
#mainContent header {
	width: 100%;	/* smartphone */
	margin: 0px 10px 0px 10px;
	padding-left: 0px;
}
#mainContent header p img {
	width: 100%;
	margin: 2px 0 0 0 ;
}

/* ========= 個別コンテンツエリア 共通========= */
.OSGBase01 {
	width: 94vw;
	margin: 0 3vw 50px 3vw;
	padding-left: 0px;
}
.OSGBase01.spnone {
	display: none;
}
/*===== ブロックサブタイトル ===== */
.subtitleBx {
	margin: 0 3vw 10px 3vw;
	width: 94vw;
	padding: 0;
}
.rdTitle {
	font-size: 4.27vmin;
	font-weight: bold;
	line-height: 1.5em;
	padding: 5px 5px 5px 10px;
	text-align: left;
	color: #000000;
	border-left:  5px solid #DD0000;
	border-bottom: 1px solid #E9E9E9;
	background-color: #F7F7F7;
}
.subTtl01 {
	margin: 0 0 0px 0px;
	padding-left: 10px;
	font-size: 4.0vmin;
	font-weight: bold;
	color: #000000;
	height: 25px;
	line-height: 25px;
	overflow: hidden;
	border-left: none;
	border-bottom: 1px solid #D0D0D0;
}
.subTtl02 {
	margin: 0 0 0px 0px;
	padding-left: 10px;
	font-size: 3.2vmin;
	font-weight: bold;
	color: #000000;
	height: 25px;
	line-height: 25px;
	overflow: hidden;
	border-left: none;
	border-bottom: 1px solid #D0D0D0;
}
.subTtlred01 {
	line-height: 1.5;
	width: 94%;
	display: block;
	font-size: 4.27vmin;
	color: #FFFFFF;
	background-color: #D3381C;
	border-top: 1px solid #D3381C;
	border-bottom: 1px solid #D3381C;
	margin: 0 0 5px 0;
	padding: 6px 1.5% 4px 1.0em;
}
.subTtlblu02 {
	margin: 0 0 5px 0;
	padding-left: 12px;
	font-size: 4.27vmin;
	font-weight: bold;
	color: #336699;
	height: 30px;
	line-height: 30px;
	overflow: hidden;
	border-left: 5px solid #0095D9;
	border-bottom: 1px solid #D0D0D0;	
	background-color: #FFF;
}
/* ========= 画像付きテキストボックス タイル型========= */
.ImgListBx_tile {
	width: 94vw;
	margin:  0px 3vw 50px 3vw;
	padding: 0;
}
.ImgListBx_tile ul {
	width: 100%;
	margin:  20px auto 0px;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.ImgListBx_tile ul li {
	width: calc(29vmin - 2px);
	height: 110px;
	color: #333333;
	margin: 0 3vmin 20px 0;
	padding: 0px;
	font-size: 3.47vmin;
	text-align: center;
	background: #FFF;
	border: 1px solid #FFF;
}
.ImgListBx_tile ul li:nth-child(3n) {
	margin: 0 0 20px 0;
}

.ImgListBx_tile ul li a .midashi_img01,
.ImgListBx_tile ul li .midashi_img01 {
	width: calc(21vmin + 10px);
	height: calc(21vmin + 10px);
	margin: 0 auto;
	background-color: #FFFFFF;
}
.ImgListBx_tile ul li .midashi_img01 img {
	border: 1px solid #DCDCDC;
	padding: 4px;
	background-color: #FFFFFF;
	width: 21vmin;
	height: 21vmin;
}

.ImgListBx_tile ul li .textBx{
	margin-top: 8px;
}
.ImgListBx_tile ul li a{
	display: block;
}
.ImgListBx_tile ul li a:hover{
	color: #F46574;
}

/*===== リスト型ボックス03 =====*/
.ListBx03N {
	margin: 0 0 25px 0px;
	width: 100%;
	font-size: 3.2vmin;
	padding: 5px auto;
	border: 1px solid #FFFFFF;
}
.ListBx03N ul {
	margin: 0px 0px 5px 0px;
}
.ListBx03N ul li {
	width: calc(94vw - 6.6vmin);
	font-size: 3.47vmin;
	line-height: 1.5em;
	padding: 5px 3vmin 10px 3.6vmin;
	text-indent: 1.0vmin;
	margin-top: 5px;
	text-align: left;
	border-bottom: 1px solid #DEE4EB;
}
.ListBx03N ul li::before {
	content: '・';
	margin: 0 0 0 -1.5em;
	padding: 0 1px 0 0;
}
.ListBx03N ul li.listsubtitle {
	padding: 20px 5px 3px 4.8vmin;
	font-size: 3.2vmin;
	font-weight: bold;
	color: #164a84;
	line-height: 1.5em;
	text-align: left;
	background: none;
	border-bottom: none;
}
.ListBx03N ul li.listsubtitle::before {
	content: '';
	padding: 0 0px 0 0;
}
.ListBx03N ul li a {
}
.ListBx03N ul li.listsubtitle a {
	border: none;
	color: #164a84;
}
.ListBx03N ul li img{
	vertical-align: middle;
	padding-bottom: 3px;
	padding-left: 5px;
}


/*===== 学校情報路線図  =====*/
.mapBx {
	width: calc(94vw - 2px);
	font-size: 12px;
	text-align: left;
	padding-top: 5px;
	padding-bottom: 5px;
	margin: -5px  auto 50px auto;
}
.mapBx img{
	width: 100%;	/* smartphone */
	height: auto;
	margin: 0;
	padding: 0;
	border: none;
}

/*===== メイン学校名検索ボックス大 =====*/
.searchBxOuter{
	width: 94vw;
	margin: 50px 3vw 50px 3vw;
}
.searchBxM {
	border: 4px solid #dadada;
	background-color: #f4f4f4;
	background-image: url(/common_images/base/searchB_bg.png);
	background-repeat: no-repeat;
	background-position: 0 100%;
	padding: 20px 10px 10px;
	margin: 0px 0 0;
}
.searchBxM h4 {
	margin-bottom: 12px;
}

.searchBxM h4 span.shTxt {
	font-size: 4.27vmin;
	font-weight: bold;
	margin-right: 8px;
	filter:dropshadow(color=#FFFFFF,offX= 0,offY=-2)
	dropshadow(color=#FFFFFF,offX= 2,offY= 0)
	dropshadow(color=#FFFFFF,offX= 0,offY= 1)
	dropshadow(color=#FFFFFF,offX=-2,offY= 0);
	text-shadow: #FFF 1px 1px 0px, #FFF -1px 1px 0px,#FFF 1px -1px 0px, #FFF -1px -1px 0px;
}
.searchBxM input[type="text"] {
	width: 90%;
	height: 16px;
	border: 2px solid #386ca1;
	padding: 10px;
	font-size: 4.27vmin;
}
.searchBxM #searchsubmit {
	width: 80%;
	height: 40px;
	color: #FFF;
	font-size: 4.27vmin;
	padding-left: 24px;
	line-height: 37px;
	letter-spacing: 0.1em;
	border: 2px solid #386ca1;
	background-color: #386ca1;
	background-image: url(/common_images/base/searchB_Bt.png);
	background-repeat: no-repeat;
	background-position: 14% 50%;
	font-weight: bold;
	margin: 10px auto;
	display: block;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
}
input::-webkit-input-placeholder {
	font-size: 4.27vmin;
	padding-bottom: 4px;
}
input:-moz-placeholder {
	font-size: 4.27vmin;
}
.subcomment01 {
	margin-top: 10px;
	padding-left: 1em;
	font-size: 3.73vmin;
}
/*===== ピックアップカルーセル =====*/
.carousel-box {
	width: 93vw;
	margin:  15px 0vw 120px 6.5vw;
	padding: 0;
}
.carousel-skin li a img {
    padding: 4px;
    border: 1px solid #E0E0E0;
    background: #FBFBFB;
}
.carousel-skin li a img.guidetop {
	width: 80px;
	height: 113px;
}

.imgtitle {
	font-size: 3.2vmin;
    text-align: center;
    text-decoration: none;
	line-height: 1.5em;
	color: #5A5C6F;
    background: transparent;
    padding: 5px 5px 0 5px;
    zoom: 1;
	width: 80px;
	white-space: normal;
	word-break: break-all;
	display: table-cell;
}



/*===== サイドバー =====*/
#sideBar {
	width: 100%;	/* smartphone */
	margin: 0px auto 24px;
	text-align: center;
}
#sideBar section {
	margin-top: 0px;
	margin-left: 0;
}


/*===== サイドバナー広告300px =====*/
.side300bannerArea {
	display: none;
}
.side300bannerArea02,
.side300bannerArea {
	margin: 30px 0 50px 10px;
	padding: 5px 0 10px;
	width: 95%;
	border-top: 7px solid #FD9732;
	border-bottom: 7px solid #FD9732;
}
.side300bannerArea02 p,
.side300bannerArea p {
	text-align: left;
	font-size: 3.47vw;
	line-height: 1.5em;
	color: #709396;
	padding-right: calc(50% - 150px);
	margin-bottom: 10px;
	border-bottom: 1px dotted #D0D0D0;
}
.side300bannerArea02 img,
.side300bannerArea img {
	text-align: left;
	padding-right: 0;
	max-width: 300px;
	max-height: 351px;
}
.side300bannerArea02 img.rectangle_portrait,
.side300bannerArea img.rectangle_portrait {
	text-align: center;
	padding-right: 0;
	max-width: 248px;
	width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}
.side300bannerArea02 img.rectangle_landscape,
.side300bannerArea img.rectangle_landscape {
	text-align: center;
	padding-right: 0;
	max-width: 300px;
	width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}
.side300bannerArea02 img.square_bnr,
.side300bannerArea img.square_bnr {
	text-align: center;
	padding-right: 0;
	max-width: 280px;
	width: 100%;
	height: auto;
	aspect-ratio: attr(width) / attr(height);
}

.side300bannerArea02 p.decoBx,
.side300bannerArea p.decoBx {
 	display: flex;
	text-align: left;
	font-size: 3.73vw;
	height: 20px;
	line-height: 20px;
	margin-bottom: 5px;
	color: #FD9732;
	padding-left: calc(50% - 150px);
}
.side300bannerArea02 p.decoBx span.deco01,
.side300bannerArea p.decoBx span.deco01 {
	text-align: center;
	font-size: 3.2vw;
	height: 20px;
	line-height: 20px;
	width: 60px;
	margin-right: 15px;
	color: #FFF;
	background-color: #FD9732;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.side300bannerArea02 div.prText, 
.side300bannerArea div.prText {
	width: 316px;
	line-height: 1.5;
	color: #177DB2;
	text-align: left;
	font-size: 3.2vmin;
	font-weight: normal;
	margin: 5px auto 10px calc(50% - 170px) ;
	padding: 10px 10px;
	text-align: justify;
	text-justify: auto;
	word-wrap: break-word;
	overflow-wrap: break-word;
	line-break: normal;
	border: 2px dotted #C9DEDE;
}
.spnone {
	display: none;
}


/*===== サイド画像付きテキスト =====*/
.SideNavBx {
	margin: 50px auto;
	padding: 0;
	text-align: left;
	width: 95%;
}
.SideNavBx  p.bxttl {
	text-align: left;
	font-size: 2.93vmin;
	line-height: 1.2em;
	color: #709396;
}
.SideNavBx ul {
}
.SideNavBx ul li {
	margin-bottom: 5px;
	padding: 0;
	width: 100%;
	border: 1px solid #E3E3E3;
	display: block;
}
.SideNavBx ul li.textBna {
	margin: 16px 0 5px 0;
	padding: 0;
	width: 100%;
	height: 89px;
	border: 1px solid #E3E3E3;
	display: block;
}
.SideNavBx ul li.SNimg {
	margin: 10px auto 30px;
	padding: 0;
	width: 100%;
	border: none;
	display: block;
	text-align: center;
}
.SideNavBx ul li a {
}
.SideNavBx ul li a:hover h3 {
	text-decoration: none;
}
.SideNavBx ul li:hover {
	background-color: #FBFCFF;
}
.SideNavBx ul li:after {
}
.SideNavBx ul li .midashi_img01 {
	clear: both;
	float: left;
	width: 79px;
	height: 79px;
	margin: 5px;
	padding: 1px;
	background-color: #FFFFFF;
}
.SideNavBx ul li .midashi_img01 img,
.SideNavBx ul li .midashi_img01 a img{
	border: 1px solid #E3E3E3;
	padding: 1px;
	background-color: #FFFFFF;
	width: 75px;
	height: 75px;
}

.SideNavBx ul li .textBx {
	float: left;
	width: 72%;
	height: auto;
	margin: 5px 0px 0px 0px;
}
.SideNavBx ul li .textBx h3 {
	font-size: 13px;
	line-height: 1.5em;
	text-align: left;
	padding: 3px;
	font-weight: bold;
	border-bottom: 1px dashed #E3E3E3;
}
.SideNavBx ul li .textBx p {
	font-size: 12px;
	line-height: 1.5em;
	padding: 3px;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	overflow: hidden;
}
.SideNavBx ul li.yokoList {
	overflow: hidden;
    white-space: normal;
	margin: -10px auto 5px;
	width: 300px;
	text-align: left;
	border: none;
	background-color: #FFFFFF;
}
.SideNavBx ul li.yokoList ul {
	border: none;
}
.SideNavBx ul li.yokoList ul li {
	display: inline;
	padding-left: 14px;
	padding-right: 0.8em;
	border: none;
	background: url(/common_images/listmark_news.png) 0 center no-repeat;
	font-size: 16px;
	font-weight: bold;
	color: #000000;
	height: 24px;
	line-height: 24px;
}
.SideNavBx ul li.textlink {
	font-size: 3.2vmin;
	margin: -25px auto 15px;
	padding: 0;
	width: 100%;
	border: none;
	display: block;
	text-align: center;
}


/*===== コンテンツフッター =====*/
#content-footer {
	clear: both;
	width: 100%;
	height: auto;
	margin-bottom: 0px;
	margin-top: 20px;
}

/*===== スマートフォン・PC切り替え =====*/
div.smt_switchBtn03 {
	height: 32px;
	margin: 10px auto 30px;
}
div.smt_switchBtn03 .btBx {
}
div.smt_switchBtn03 .btBx a{
	width: 30%;
	height: 32px;
	display: block;
	color: #2A5875;
	text-align: center;
	font-weight: normal;
	line-height: 32px;
	background-color: #FFFFFF;
	border: 1px solid #2A5875;
	padding: 0;
	margin: 20px 0 20px 20px;
	font-size: 3.73vmin;
}
div.smt_switchBtn03 .btBx a:hover {
	background-color: #b1b4b4;
}
div.smt_switchBtn03 .btBx a#swSp{
	display: none;
}
#mainContent {
	margin-bottom: 60px;
}
@media screen and (max-width:400px){
	div.smt_switchBtn03 .btBx a{
		font-size: 3.73vmin;
	}
}


/*===== メインフッター =====*/
footer#footerVS {
	width: 100%  !important;
	padding: 0 0 0;
	position: relative;
	background-color: #6BB5DC;
}
footer#footerVS:before {
	background: #2D405D;
	width: 100%;
	height: 5px;
	display: block;
	content: '';
	position: absolute;
	top: 0;
}
footer#footerVS #footInner {
	width: 100%;
	margin: 0 auto -5px;
	padding: 0;
	text-align: left;
	position: relative;
	z-index: 20;
}
footer#footerVS .footerMain {
	width: 95%;
	padding-top: 10px;
}
footer#footerVS #footInner:after,
footer#footerVS .footerMain:after {
	display: block;
	content: ' ';
	clear: both;
}
footer#footerVS .copyAreaBG {
	width: 100%;
	height: auto;
	color: #177DB2;
	text-align: left;
	font-size: 12px;
	padding: 10px 0;
	margin-top: 0px;
	margin-bottom: -20px;
	background-color: #FFFFFF;
	border-top: 3px solid #EA2E2E;
}
footer#footerVS .copyAreaBG:after {
	background: #2D405D;
	width: 100%;
	display: block;
	clear: both;
	content: '';
	display: block;
	clear: both;
	content: '';
}
footer#footerVS .copyAreaBG .wrap {
	margin: 0 auto 0px;
	text-align: left;
	font-size: 14px;
	padding: 0px 0 90px;
	color: #177DB2;
	font-weight: normal;
	background-color: #FFFFFF;
}
footer#footerVS .copyAreaBG .wrap h3 a {
	background: url(/common_images/KS-LOGO-Blue-J@2x.png) no-repeat left top;
	background-size: 161px 27px;
	width: 161px;
	height: 27px;
	margin: 0 10px 0 15px;
	display: block;
	text-indent: -9999px;
}
footer#footerVS .copyAreaBG .wrap h3 img {
	width: 161px;
	height: 27px;
	margin: 0 10px 0 15px;
}
footer#footerVS .copyAreaBG ul.navList {
	padding: 0 0 0 10px;
	color: #177DB2;
	margin-top: 10px;
	margin-bottom: 20px;
}
footer#footerVS .copyAreaBG ul.navList li {
	float: left;
	height: 22px;
	line-height: 22px;
	font-size: 14px;
}
footer#footerVS .copyAreaBG ul.navList li:nth-child(odd) {
	width: 55%;
}
footer#footerVS .copyAreaBG ul.navList li:nth-child(even)  {
	width: 45%;
}

footer#footerVS .copyAreaBG ul.navList li:before {
	content: '・' ;
	padding: 0 0;
	color: #177DB2;
}
footer#footerVS .copyAreaBG ul.navList li a {
	color: #177DB2;
	text-decoration: none;
}

/*buttonpage top
--------------------------*/
footer#footerVS .wrapToTop {
	width: 100%;
	margin: 70px 40px 0 0;
	padding: 0;
	text-align: center;
	position: relative;

}
footer#footerVS .wrapToTopFixed {
	width: 100%;
	margin: 0px 40px 0 0;
	padding: 0;
	text-align: center;
	position: relative;
	position: fixed;
	bottom: 10px;
	left: 2.5%;
	z-index: 1000;
}
footer#footerVS span.ToTop,
footer#footerVS a.ToTop {
	width: 14.93vmin;
	height: 6.93vmin;
	padding-top: 8.0vmin;
	border-radius: 5px;
	background-color: #EA2E2E;
	color: #EA2E2E;
	text-align: center;
	font-size: 3.2vmin;
	display: block;
	position: absolute;
	right: 5.33vmin;
	top: -21.33vmin;
	cursor:pointer;
}
footer#footerVS span.ToTop::before,
footer#footerVS a.ToTop::before {
	content: '\f077';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0;
	font-size: 7.46vmin;
	color: #FFF;
	position: absolute;
	right: 4.14vmin;
	top: 3.73vmin;
}



/*===== メインフッター =====*/
#footerA {
	width: 100%;
	margin: 0px auto;
	text-align: left;
	padding: 0 0 0;
	position: relative;
	background-color: #41587A;
}
#footerA a {
	color: #FFF;
}
#footerA:before {
	background-color: #D7003A; /* #2D405D */
	width: 100%;
	height: 3px;/* 43dx */
	display: block;
	content: '';
	position: absolute;
	top: 0;
}

#footerA #footInner {
	width: 95%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	position: relative;
	z-index: 20;
}
#footerA .footerMain {
	padding-top: 10px;
}
#footerA .footerSubTitle {
	padding-top: 5px;
	margin-bottom: -10px;
}
#footerA .footerMenuBx {
	width: 100%;
}
#footerA .footerMenuBx.first{
	margin-left: 0;
}
#footerA .footerScName {
	color: #FFF;
	font-size: 16px;
	font-weight: normal;
	float: left;
	line-height: 24px;
}
#footerA .footerScName span.spnone{
	display: none;
}
#footerA .footerScName a {
	color: #FFF;
}
#footerA .footerSubTitle h2 {
	color: #FFF;
	font-size: 13px;
	font-weight: normal;
	padding-left: 5px;
}
#footerA .footerSubTitle h2 img {
	padding-left: 2px;
	vertical-align: -4px;
}
.footerTopLink {
	display: none;
}
#footerA .HomeLink {
	width: 50%;
	position: absolute;
	bottom: -26px;
	left: 50%;
	margin-left: -80px;
	text-align: center;
	height: 43px;
}
#footerA .SignLink {
	width: 100%;
	float: right;
	margin-right: -6%;
	font-size: 12px;
}
#footerA .SignLink a {
	background: #2991C7 url(/common_images/right-arrow24@2x.png) no-repeat 92% 50%;
	background-size: 16px 16px;
	display: block;
	color: #FFF;
	height: 43px;
	line-height: 43px;
	text-align:center;
	padding: 0 18% 0 12%;
	margin-top: -10px;
}

.SPCtitleBx{
	width: 65%;
	float: right; 
	height: 43px;
	background-color: #2991C7;
	margin: -10px 0 10px 0;
}

#footerA .SPCtitle01 {
	display: block;
	color: #FFF;
	line-height: 20px;
	text-align: left;
	margin: 3px 0 0 2.4vw;
	font-size: 2.8vw;
}
#footerA .SPCtitle02 {
	display: block;
	color: #FFF;
	text-align: left;
	margin: 0 0 0 2.4vw;
	font-size: 2.8vw;
}

#footerA .navArea01 {
	color: #FFF;
	margin-bottom: 0px;	
	width: 100%;
}
#footerA .navArea01 .wrap {
	margin: 0 auto 0px;
	text-align: left;
	font-size: 14px;
	padding: 5px 0 10px; /* 0 0 10px */
	color: #FFF;
	font-weight: normal;
}
#footerA .navArea01 ul.navList {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	padding: 5px 0 0 0px;
	color: #FFF;
	margin-top: 10px;
	margin-bottom: 5px;
}
#footerA .navArea01 ul.navList li {
	float: left;
	height: 22px;
	line-height: 22px;
	font-size: 14px;
}

#footerA .navArea01 ul.navList li:nth-child(1) {
	order: 1;
	width: 56%;
}
#footerA .navArea01 ul.navList li:nth-child(2) {
	order: 3;
	width: 56%;
}
#footerA .navArea01 ul.navList li:nth-child(3) {
	order: 2;
	width: 44%;
}
#footerA .navArea01 ul.navList li:nth-child(4) {
	order: 5;
	width: 56%;
}
#footerA .navArea01 ul.navList li:nth-child(5) {
	order: 4;
	width: 44%;
}
#footerA .navArea01 ul.navList li:nth-child(6) {
	order: 6;
	width: 44%;
}
#footerA .navArea01 ul.navList li:before {
	content: '・' ;
	padding: 0 0;
	color: #FFF;
}
#footerA .navArea01 ul.navList li a {
	color: #FFF;
	text-decoration: none;
}

#footerB {
	width: 100%;
	margin: 0px auto;
	text-align: left;
	height: auto;
	min-height: 100%;
	padding: 0 0 0;
	position: relative;
	background-color: #FFF;
}
#footerB a {
	color: #177DB2;
}

#footerB #footInner02 {
	width: 95%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	position: relative;
	z-index: 20;
}
#footerB .navArea02 {
	display: flex;
	flex-direction: column;
	color: #177DB2;
	margin-bottom: 0px;	
	width: 100%;
}

#footerB .navArea02 .wrap {
	margin: 0 auto 0px;
	text-align: left;
	font-size: 14px;
	padding: 0px 0 10px;
	color: #177DB2;
	font-weight: normal;
}
#footerB .navArea02 .SubTopLink {
	height: 36px;
	line-height: 36px;
	margin: 0px 0 10px 0;
	border-bottom: 1px dotted #e7e7e7;
}
#footerB .navArea02 ul.navList {
	padding: 0px 0 0 20px;
	color: #177DB2;
	margin-top: 15px;
	margin-bottom: 10px;
}
#footerB .navArea02 ul.navList li {
	float: left;
	height: 22px;
	line-height: 22px;
	font-size: 14px;
}
#footerB .navArea02 ul.navList li:nth-child(odd) {
	width: 55%;
}
#footerB .navArea02 ul.navList li:nth-child(even)  {
	width: 45%;
}
#footerB .navArea02 ul.navList li:before {
	content: '・' ;
	padding: 0 0;
	color: #177DB2;
}
#footerB .navArea02 ul.navList li a {
	color: #177DB2;
	text-decoration: none;
}

/*buttonpage top
--------------------------*/
#footerA .wrapToTop {
	width: 100%;
	margin: 70px 40px 0 0;
	padding: 0;
	text-align: center;
	position: relative;

}
#footerA .wrapToTopFixed {
	width: 100%;
	margin: 0px 40px 0 0;
	padding: 0;
	text-align: center;
	position: relative;
	position: fixed;
	bottom: 10px;
	left: 2.5%;
	z-index: 1000;
}
#footerA span.ToTop,
#footerA a.ToTop {
	width: 14.93vmin;
	height: 6.93vmin;
	padding-top: 8.0vmin;
	border-radius: 5px;
	background-color: #EA2E2E;
	color: #EA2E2E;
	text-align: center;
	font-size: 3.2vmin;
	display: block;
	position: absolute;
	right: 5.33vmin;
	top: -21.33vmin;
	cursor:pointer;
}
#footerA span.ToTop::before,
#footerA a.ToTop::before {
	content: '\f077';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0;
	font-size: 7.46vmin;
	color: #FFF;
	position: absolute;
	right: 4.14vmin;
	top: 3.73vmin;
}
}


/* 2026: prevent legacy 1036px footer minimum from adding extra horizontal overflow */
@media screen and (min-width:668px) and (max-width:1035px) {
  #footerA, #footerB, footer#footerVS { min-width:0; }
}



/* ==========================================================
   KS TOP 2026 v6: active page styles (one consolidated block)
   ========================================================== */
#mainContent .ks-school-intro { margin:0 0 18px; padding:0 0 10px; border-bottom:1px solid #e2e6ea; }
#mainContent .ks-school-intro .ks-welcome { margin:0 0 7px; padding:0; color:#657580; font-size:13px; line-height:1.65; letter-spacing:.025em; }
#mainContent .ks-school-intro .ks-school-heading { margin:0; padding:0; border:0; background:transparent; color:#273c4c; font-size:18px; font-weight:700; line-height:1.55; }
#mainContent .ks-school-intro .ks-school-heading::before { content:none; }
#mainContent .ImgListBx_tile { margin-bottom:28px; }
#mainContent .ImgListBx_tile ul { margin-top:12px; }
#mainContent #kanrenjoho { height:auto; margin-bottom:16px; }
#mainContent #kanrenjoho .ListBx03N { margin-bottom:0; }
#mainContent #kanrenjoho .ks-news-more { display:flex; justify-content:flex-end; margin:8px 0 0; padding:0; text-align:right; }
#mainContent #kanrenjoho .ks-news-more a { display:inline; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#177db2; font-size:12px; line-height:1.6; text-decoration:none; }
#mainContent #kanrenjoho .ks-news-more a:hover { text-decoration:underline; }
#mainContent #kanrenjoho .ks-news-more a span { margin-left:3px; }

/* ----- サイト案内（フッター）：文字リンク A案 ----- */
#ks-footer-2026, #ks-footer-2026 * { box-sizing:border-box; }
#ks-footer-2026 { clear:both; position:relative; display:block; width:100%; min-width:0; margin:0; padding:12px 14px 20px; border-top:1px solid #dee4eb; background:#fff; text-align:left; }
#ks-footer-2026 .ks-footer__inner { position:relative; width:100%; max-width:960px; margin:0 auto; }
#ks-footer-2026 .ks-sitenav__list { display:grid; grid-template-columns:1.35fr repeat(4,minmax(0,1fr)); margin:0; padding:0; list-style:none; border-top:1px solid #dee4eb; border-left:1px solid #dee4eb; }
#ks-footer-2026 .ks-sitenav__list li { margin:0; padding:0; border-right:1px solid #dee4eb; border-bottom:1px solid #dee4eb; list-style:none; }
#ks-footer-2026 .ks-sitenav__list a { display:flex; align-items:center; gap:6px; height:100%; min-height:46px; padding:8px 12px; color:#177db2; font-size:13px; line-height:1.4; white-space:nowrap; text-decoration:none; }
#ks-footer-2026 .ks-sitenav__list a::before { content:'\203A'; flex:none; color:#d3381c; font-size:16px; line-height:1; }
#ks-footer-2026 .ks-sitenav__list a:hover, #ks-footer-2026 .ks-sitenav__list a:focus-visible { background:#fbfcff; color:#f46574; }
#ks-footer-2026 .ks-footer__to-top { display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin:12px 0 0 auto; padding:0; border:0; border-radius:4px; background:#d3381c; color:#fff; font-size:24px; line-height:1; cursor:pointer; }
#ks-footer-2026 .ks-footer__to-top:hover { background:#b82f17; }
@media screen and (max-width:667px) {
  #mainContent .ks-school-intro { margin-bottom:14px; padding-bottom:8px; }
  #mainContent .ks-school-intro .ks-welcome { font-size:11px; line-height:1.55; }
  #mainContent .ks-school-intro .ks-school-heading { font-size:15px; }
  #ks-footer-2026 { margin-top:0; padding:12px 3vw 18px; }
  #ks-footer-2026 .ks-sitenav__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #ks-footer-2026 .ks-sitenav__list li:first-child { grid-column:1 / -1; }
  #ks-footer-2026 .ks-sitenav__list a { padding:8px 9px; font-size:12px; }
}

/* ----- 右サイド：KSコンテンツ紹介（2026-10 学校校歌・日本ドリコム枠の差し替え） ----- */
#sideBar .ks-contents-box, #sideBar .ks-contents-box * { box-sizing:border-box; }
#sideBar .ks-contents-box { width:300px; margin:30px 0 35px 10px; padding:0; text-align:left; }
#sideBar .ks-contents-head { display:flex; align-items:center; gap:8px; margin:0; padding:10px 14px; background:#1a6fa0; color:#fff; font-size:16px; font-weight:bold; line-height:1.4; letter-spacing:.05em; }
#sideBar .ks-contents-dot { flex:none; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 4px #e33; }
#sideBar .ks-contents-list { margin:0; padding:4px 12px; list-style:none; border:2px dotted #c9dede; border-top:none; }
#sideBar .ks-contents-list li { margin:0; padding:0; list-style:none; border-bottom:1px solid #eee; }
#sideBar .ks-contents-list li:last-child { border-bottom:none; }
#sideBar .ks-contents-list a { position:relative; display:block; padding:10px 0 10px 14px; color:#177db2; font-size:14px; line-height:1.4; text-decoration:none; }
#sideBar .ks-contents-list a::before { content:'\203A'; position:absolute; left:0; top:10px; color:#999; }
#sideBar .ks-contents-list a span { display:block; margin-top:2px; color:#888; font-size:11px; }
#sideBar .ks-contents-list a:hover { color:#f46574; }
@media screen and (max-width:667px) {
  #sideBar .ks-contents-box { width:95%; margin:40px auto; }
}

/* ----- 右サイド：パートナー紹介（KSコンテンツの下） ----- */
#sideBar .ks-partner { width:300px; margin:-20px 0 35px 10px; padding:0 4px; text-align:left; color:#709396; font-size:12px; line-height:1.6; }
#sideBar .ks-partner a { color:#177db2; }
#sideBar .ks-partner a:hover { color:#f46574; }
#sideBar .ks-partner span { display:block; font-size:11px; }
@media screen and (max-width:667px) {
  #sideBar .ks-partner { width:95%; margin:-28px auto 40px; }
}
