@charset "UTF-8";
/*
 :タイトル "ページ全体レイアウト設定";
 :一行説明 "ページ全体レイアウト設定のスタイルシートです";
 :作成日 "2018-02-06";
*/

header .search .search-input:focus{
	border:none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* ==============================================
PC
================================================ */
@media print, screen and (min-width: 768px) {
	/* ▼骨格
   --------------------------------------------- */
	.sp-fix{
		display:none !important;
        width: 100%;
	}
	div.helpNav{
		position: absolute;
		overflow: hidden;
		top: -9999px;
		left: 0;
	}
	/*body{background:#f4f4f4 url(../images/header_bg.png) 0 0 repeat-x;}*/
	body{background:#fff url(../images/header_bg.png) 0 0 repeat-x;}
	.wrapper{
		min-width: 1200px;
	}
	
	/* ▼header
   --------------------------------------------- */
	/* 初期設定・リセット */
	header {
		line-height: normal;
		width: 1200px;
		height: 190px;
		margin: 0 auto;
		position: relative;
	}
	header img{
		vertical-align: bottom;
	}
	header dl,header dd,header dt{
		margin: 0;
	}
	header ul,header li{
		list-style: none;
		margin: 0;
		padding: 0;
	}
	header dl dt{
		position: absolute;
		overflow: hidden;
		top: -9999px;
		left: 0;
	}
	
	/* ロゴ */
	header p#siteTtl,
	header h1#siteTtl{
		position: absolute;
		margin: 0;
		top: 68px;
		left: 0;
	}
	header p#siteTtl img,
	header h1#siteTtl img{
		width: 251px;
		height: auto;
	}
	
	
	/* グローバルナビ */
	header #globalNav{
		position: absolute;
		top: 140px;
		left: 0;
		width: 100%;
        z-index: 10;
	}
	header #globalNav ul{
		padding: 0;
		list-style: none;
	}
	header #globalNav ul li{
		float: left;
	}
	header #globalNav ul li a{
		font-size: 16px;
		padding:16px;
		display: block;
		position: relative;
		line-height: 1;
	}
	header #globalNav ul li a:before{
		content: "";
		display: block;
		height: 16px;
		border-left: 1px solid #838383;
		position: absolute;
		left: 0;
		top:16px;
	}
	header #globalNav ul li.nav01 a:before{
		display: none;
	}
	header #globalNav ul li a.parentsLink{
		border-bottom: solid 3px #00a0e8;
		padding-bottom: 14px;
	}
	header #globalNav ul li a:visited{
		color: inherit;
	}
	
	
	
		header #globalNav ul li a:hover{
		text-decoration:underline;
	}

	/* サブナビゲーション */
	header #functionNav{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 40px;
	}
	header #functionNav ul{
		padding: 0;
		list-style: none; 
		overflow: hidden;
		zoom: 1;
	}
	header #functionNav ul li{
		float: left;
	}
	header #functionNav ul li a{
		color: #ffffff;
		font-size: 13px;
		padding: 12px;
		line-height: 1;
		display: block;
		position: relative;
	}
		header #functionNav ul li a:before{
			content: "";
			display: block;
			height: 13px;
			border-left: 1px solid #838383;
			position: absolute;
			left: 0;
			top:12px;
		}
	header #functionNav ul li:first-child a:before{
		display: none;
	}

	/* 訪問者別 */
	header #visitorNav{
		position: absolute;
		top: 40px;
		left: 456px;
		width: 746px;
		height: 98px;
	}
	header #visitorNav ul{
		padding: 0;
		list-style: none; 
		overflow: hidden;
		zoom: 1;
	}
	header #visitorNav ul li{
		float: left;
	}
	header #visitorNav ul li a{
		display: block;
		width: 100px;
		height: 98px;
		background: url(../images/visitor_nav_off_pc.png) no-repeat;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
	}
	header #visitorNav ul li a:hover{background: url(../images/visitor_nav_on_pc.png) no-repeat;}
	header #visitorNav ul li.nav01 a{	background-position: 0 0; }
	header #visitorNav ul li.nav02 a{ background-position: -100px 0; }
	header #visitorNav ul li.nav03 a{	background-position: -200px 0; }
	header #visitorNav ul li.nav04 a{	background-position: -300px 0; }
	header #visitorNav ul li.nav05 a{	background-position: -400px 0; }
	header #visitorNav ul li.nav06 a{	background-position: -500px 0; height: 50px; width: 146px;}
	header #visitorNav ul li.nav07 a{	background-position: -500px -49px; height: 50px; width: 146px; position: absolute; right: 100px; bottom: 0;}
	header #visitorNav ul li.nav08 a{ background: url(/common_new/images/kurumin.png) no-repeat; }
	
	/* 検索窓 */
    
	header .search{
		position: absolute;
		right: 115px;
		top: 7px;
		width: 200px;
		height: 26px;
		padding-left: 20px;
		/* background-color: #ffffff; */
		background:#fff url(/common_new/images/btn_search.png) 5px center no-repeat;
		background-size: 17px auto;
		border-radius: 13px;
	}
	#uec-search-box {
    width: 220px;
    display: block;  
    height: 26px;  
    position: relative;  
	}	  
	.search-input {  
    width: 150px!important;
    height: 15px!important;
    font-size: 13px;
    color: #888;
    position: absolute;  
    top: 4px;  
    left: 5px;  
    border: none !important;
    background-image:url("../images/branding.png")!important;
    background-repeat: no-repeat!important;
    background-color: rgb(255, 255, 255, 0)!important;
	}
    .search-input:focus {     
    background-image: none!important;
    }
	/* #btn {  
    position: absolute;  
    top: 3px;
    left: 195px;
		width: 17px;
		height: 16px;
		display: none;
	} */
	
	/* SNS */
	header .sns{
		position: absolute;
		right: 0;
		top:7px;
	}
	header .sns li{
		float: left;
		margin-left: 10px;
	}
	header .sns li a img{
		width: 26px;
		height: 26px;
	}
    
/* OPAL専用検索 */
#opal-search{margin-top: -13px!important;}
#opal-search.search{
		position: absolute;
		right: 0px;
		top: 0px;
		width: 200px;
		height: 26px;
		padding: 5px;
		/* background-color: #ffffff; */
		background:#fff url(/common_new/images/btn_search.png) 5px center no-repeat;
		background-size: 17px auto;
        border: 1px solid #ccc !important;
		border-radius: 13px;
	}
    #uec-search-box-opal dt.self{background: url(/common_rwd/images/icn_link.gif) no-repeat 5px 0.6em; margin: 0px!important;}
	#uec-search-box-opal {
    width: 220px;
    display: block;  
    height: 26px;  
    position: relative;  
	}	  
	.search-input-opal {  
    width: 200px!important;
    height: 15px!important;
    font-size: 13px;
    color: #888;
    position: absolute;  
    top: 4px;  
    left: 5px; 
    padding: 5px!important;
    margin-left: 16px;
    border: 1px solid #999 !important;
    background-image:none!important;
    background-repeat: no-repeat!important;
	}
    .search-input-opal:focus {     
    background-image: none!important;
    }
    dl.search-opal dd{margin-left: 0px; padding-left: 0px;}
	
	/* ▼#topicpath
  --------------------------------------------- */
	#topicpath{
		overflow: hidden;
		padding: 1em 10px;
		font-size: 86%;
		line-height: 1.35;
		/*background-color: #f4f4f4;*/
	}
	#topicpath h2{
		position: absolute;
		overflow: hidden;
		top: -9999px;
		left: 0;
		margin: 0;
		padding: 0;
	}
	#topicpath ol{
		width: 1080px;
		list-style: none;
		margin: 0 auto;
		padding: 0;
		text-align: right;
	}
	#topicpath ol li{
		display: inline-block;
		margin: 0;
		padding: 0;
	}
	#topicpath ol li a::after,
/*	#topicpath ol li span.none::after{
		content:">";
		color:#989898;
		display: inline-block;
		padding: 0 10px;
	}*/
	
	/* ▼#footer
  --------------------------------------------- */
	#footer{
		position: relative;
		background-color: #2b2b2b;
		padding: 30px 0 50px;
		}
	#footer div.inner{
		position: relative;
		width: 1200px;
		margin: 0 auto;
		padding-top: 30px;
		color: #fff;
	}

	/* 初期設定・リセット */
	#footer dl,
	#footer dt,
	#footer dd{
		margin: 0;
	}
	#footer ul,
	#footer li{
		list-style: none;
		margin: 0;
	}
	#footer dt{
		overflow: hidden;
		height: 0;
	}
	#footer a{color: #fff;}
	#footer p.toPageTop{
		position: absolute;
		top: -60px;
		right: 0;
		width: 60px;
		margin: 0 0 0 -45px;
	}
	#footer p.toPageTop a{
		display: block;
		height: 60px;
		width: 60px;
		background: url(/common_new/images/pagetop_off_pc.png) no-repeat;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	#footer p.toPageTop a:hover{
		background: url(/common_new/images/pagetop_on_pc.png) no-repeat;
	}
	#footer address .logo{
		margin-bottom:30px; 
	}
	#footer address .logo img {
		width: 233px;
		height: auto;
	}
	#footer address .school{
		display: block;
		font-size: 15px;
		font-weight: 700;
		margin-bottom: 10px;
	}
	#footer address .address{
	color: #ffffff;
	font-size: 13px;
	font-weight: 500;
	}
	#footer .assistNav{
		position: absolute;
	}
	#footer .assistNav::before{
		content: "";
		display: block;
		width: 0;
		height: 250px;
		position: absolute;
		border-left: solid 1px #555;
		left: -30px;
		top:-20px;
	}
	#footer .assistNav01{
		left: 400px;
		top: 40px;
	}
	#footer .assistNav02{
		left: 600px;
		top:40px;
	}
	#footer .assistNav03{
		left: 800px;
		top:40px;
	}
	#footer .assistNav04{
		left: 800px;
		top:180px;
	}
	#footer .assistNav04::before{
		left: -20px;
		width: 180px;
		height: 0;
		border-top: solid 1px #555;
		border-left: none;
	}
	#footer .assistNav05{
		left: 1000px;
		top:40px;
	}
	#footer .assistNav a{
		color: #ffffff;
		font-size: 13px;
		font-weight: 500;
		line-height: 25px;
	}
	#footer .sns{overflow: hidden;}
	#footer .sns li {
		margin:30px 10px 30px 0;
		float: left;
	}
	#footer .sns li img{width: 40px; height: auto;}
	
	
	
	
}


/* ==============================================
SP
================================================ */
@media screen and (max-width: 767px) {
/* ▼骨格
   --------------------------------------------- */
	.pc-fix{
		display:none !important;
	}
	.wrapper{
		width:100%;
		height:auto;
		overflow:hidden;
	}
	div.helpNav{
		position: absolute;
		overflow: hidden;
		top: -9999px;
		left: 0;
	}
	header{
		position: relative;
		width: 100%;
		margin: 0 auto;
	}

	#main{
		width: 100%;
		margin: 0 auto;
		position:relative;
	}
	#main:after{
		content: ".";
		display: block;
		height: 0;
		clear: both;
		visibility: hidden;
	}
	
	/* ▼header
   --------------------------------------------- */
	/* SP 初期設定・リセット */
	header {
		line-height: normal;
	}
	header img{
		vertical-align: bottom;
	}
	header dl,header dd,header dt{
		margin: 0;
	}
	header ul,header li{
		list-style: none;
		margin: 0;
		padding: 0;
	}
	header dl dt{
		position: absolute;
		overflow: hidden;
		top: -9999px;
		left: 0;
	}
	header .spHeaderNav{
		background-color: #243151;
		height: 45px;
		width:100%;
		position:absolute;
		left:0;
		top:0;
		padding: 8px 10px;
		box-sizing: border-box;
		z-index: 1;
	}
	
	/* SP 検索窓 */
	header .search{
		/* max-width: 185px; */
		width:45%;
		float: left;
		padding-left: 15px;
		margin-right: 5px;
		background:#fff url(/common_new/images/btn_search.png) 5px center no-repeat;
		background-size: 15px auto;
		border-radius: 15px;
	}
	header .search #uec-search-box {
    width: 100%; /* 170px; */
    display: block;  
    height: 30px;  
    position: relative;  
	}	  
	.search-input  {  
    width: 90%!important; /* 160px; */
    height: 30px!important;
    position: absolute;
    color: #888;
    top: 0;  
    left: 5px;  
    border: none !important;
    background-image:url("../images/branding.png")!important;
    background-repeat: no-repeat!important;
    background-color: rgb(255, 255, 255, 0)!important;
	}
    .search-input:focus {     
    background-image: none!important;
    }
	
	/* header .search #btn {  
    position: absolute;  
    top: 3px;
    left: 5px;
		width: 17px;
		height: 16px;
	} */
	
	/* SP SNS */
	header .spHeaderNav .sns{
		float: left;
	}
	header .spHeaderNav .sns li{
		float: left;
		margin-left: 6px;
	}
	header .spHeaderNav .sns li img{
		width: 30px;
		height: auto;
	}

	/* SP ロゴ */
	header p#siteTtl,
	header h1#siteTtl{
		text-align:center;
		margin:0;
		padding: 62px 0 16px;
		}
	header #siteTtl img{
		width:235px;
		height:auto;
	}
	
	/* SP グローバルメニュー */
	header #spMenuBtn{
		position:absolute;
		right:5px;
		top:5px;
		display:block;
		background-image:url(../images/sp_menu_off.png);
		background-size:contain;
		width:35px;
		height:35px;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		z-index: 999;
	}
	header #spMenuBtn.open{
		background-image:url(../images/sp_menu_on.png);
	}
	header #spMenuBtn a.active{
		background-image:url(../images/sp_menu_on.png);
	}
	
	header .slide-nav{
		position: absolute;
		right: -100%;
		top:45px;
		background-color: #243151;
		width: 100%;
		z-index: 999;
	}
	header .slide-nav .inner{
		position: relative;
		width: 306px;
		margin: 0 auto;
		padding: 530px 0 0;
		color: #fff;
		box-sizing: border-box;
	}
	header .slide-nav ul{
		position: absolute;
		border-bottom: solid 1px #555;
		width: 160px;
		padding: 0 5px 5px;
	}
	header .gNav01{
		left: 0px;
		top: 30px;
	}
	header .gNav01::before{
		content: "";
		display: block;
		width: 0;
		height: 460px;
		border-left: solid 1px #555; 
		position: absolute;
		top:0;
		left: 160px;
	}
	header .gNav01::after{
		content: "";
		display: block;
		width: 320px;
		height: 0px;
		border-bottom: solid 1px #555; 
		position: absolute;
		top:465px;
		left: 0px;
	}
	header .gNav02{
		left: 165px;
		top:30px;
	}
	header .gNav03{
		left: 165px;
		top:172px;
	}
	header .gNav04{
		left: 165px;
		top:386px;
		border-bottom: none !important;
    }
	header .gNav05{
		left: 0px;
		top:270px;
	}
	header .gNav06{
		left: 0px;
		top:426px;
		border-bottom: none !important;
	}
	header .slide-nav ul a{
		font-size: 12px;
		line-height: 25px;
		color: #ffffff;
		font-weight: 500;
	}
	
	/* */
	
	header #spVisitorNav ul{
		padding: 0;
		list-style: none; 
		overflow: hidden;
		zoom: 1;
	}
	header #spVisitorNav ul li{
		float: left;
		width: 20%;
		height: auto;
		position: relative;
	}
	header #spVisitorNav ul li:before{
		content: "";
    display: block;
    padding-top: 100%; /* 1:1 */
	}
	header #spVisitorNav ul li a{
		position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
		display: block;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
	}
	header #spVisitorNav ul li.nav01 a{
		background: url(../images/visitor_nav_sp1.png) no-repeat;
		background-size:contain;
	}
	header #spVisitorNav ul li.nav02 a{ 
		background: url(../images/visitor_nav_sp2.png) no-repeat;
		background-size:contain;
	}
	header #spVisitorNav ul li.nav03 a{	
		background: url(../images/visitor_nav_sp3.png) no-repeat;
		background-size:contain;
	}
	header #spVisitorNav ul li.nav04 a{	
		background: url(../images/visitor_nav_sp4.png) no-repeat;
		background-size:contain;
	}
	header #spVisitorNav ul li.nav05 a{	
		background: url(../images/visitor_nav_sp5.png) no-repeat;
		background-size:contain;
	}
	
	/* ▼#footer
   --------------------------------------------- */
	#footer{
		position: relative;
		background-color: #2b2b2b;
		}
	#footer div.inner{
		position: relative;
		width: 320px;
		margin: 0 auto;
		padding: 530px 0 0;
		color: #fff;
		box-sizing: border-box;
	}
	#footer dl,
	#footer dt,
	#footer dd{
		margin: 0;
	}
	#footer ul,
	#footer li{
		list-style: none;
		margin: 0;
	}
	#footer dt{
		overflow: hidden;
		height: 0;
	}
	#footer a{color: #fff;}
	#footer p.toPageTop{
		position: absolute;
		top: -20px;
		left: 50% ;
		width: 39px;
		margin-left:-20px;
	}
	#footer p.toPageTop a{
		display: block;
		height: 39px;
		width: 39px;
		background: url(/common_new/images/pagetop_sp.png) no-repeat;
		background-size: contain;
		text-indent: 100%;
		overflow: hidden;
		white-space: nowrap;
	}
	address{text-align: center;}
	address .logo img{
		width: 205px;
		height: auto;
	}
	#footer .assistNav{
		position: absolute;
		border-bottom: solid 1px #555;
		width: 145px;
		padding: 0 5px 16px;
	}
	#footer .assistNav01{
		left: 0px;
		top: 30px;
	}
	#footer .assistNav01::before{
		content: "";
		display: block;
		width: 0;
		height: 460px;
		border-left: solid 1px #555; 
		position: absolute;
		top:0;
		left: 160px;
	}
	#footer .assistNav01::after{
		content: "";
		display: block;
		width: 320px;
		height: 0px;
		border-bottom: solid 1px #555; 
		position: absolute;
		top:465px;
		left: 0px;
	}
	#footer .assistNav02{
		left: 165px;
		top:30px;
	}
	#footer .assistNav03{
		left: 165px;
		top:185px;
	}
	#footer .assistNav04{
		left: 165px;
		top:320px;
	}
	#footer .assistNav05{
		left: 0px;
		top:290px;
		border-bottom: none;
	}
	#footer .assistNav06{
		left: 165px;
		top:430px;
		border-bottom: none;
	}
	#footer .assistNav a{
		font-size: 12px;
		line-height: 25px;
		color: #ffffff;
		font-weight: 500;
	}
	#footer address .logo{ margin-bottom: 25px; }
	#footer address .school{
		display: block;
		font-weight: bold;
		margin-bottom: 5px;
		font-size: 13px;
	}
	#footer address .address{font-size: 12px;}
	#footer .sns{overflow: hidden;}
	#footer .sns ul {text-align: center;}
	#footer .sns li {
		margin:25px 10px 25px 0;
		display: inline-block;
	}
	#footer .sns li img{
		width: 40px;
		height: auto;
	}
	#footer .copyright{
		margin-bottom: 0;
		color: #a5a5a5;
		font-size: 11px;
		text-align: center;
		border-top:solid 1px #555;
		padding: 10px 0;
	}
		/* ▼#topicpath
  --------------------------------------------- */
	#topicpath{
		display: none;
	}
}

@media print, screen and (min-width: 768px) {
	/* カウントダウン */
	header .countdown{
		position: absolute;
		top:62px;
		left: 273px;
		/*201809*/
		text-align: right;
	}
	header .countdown a{
		width: 271px;
		height: 53px;
		padding: 0 30px 0 165px;
		display: block;
		background: url(/images_new/countdown_pc.jpg) 0 0 no-repeat;
			text-decoration: none;
		box-sizing:border-box;
		line-height: 53px;
	}
	header .countdown a span{
		color: #31aae1;
		box-sizing: border-box;
		font-size: 34px;
    letter-spacing: .25rem;
	}
	
	
		
	/**ステイ表示**/
	header #globalNav ul li a.parentsLink,
header #globalNav ul li a.current{
	border-bottom: solid 3px #00a0e8;
	padding-bottom: 14px;
}
	
}

/************* カウントダウン ***************/
@media screen and (max-width:767px){
	/*body{background-color: #f4f4f4;}*/
	
	body{background-color: #fff;}
	/* カウントダウン */
	header .countdown a{
		width: 100%;
		max-width: 345px;
		height: 68px;
		display: block;
		background: url(/images_new/countdown_sp.png) 0 0 no-repeat;
		background-size: contain;
		text-decoration: none;
		box-sizing:border-box;
		margin: 0 auto 10px;
		position: relative;
	}
	header .countdown a span{
		color: #31aae1;
		box-sizing: border-box;
		font-size: 34px;
    letter-spacing: .7rem;
		line-height: 68px;
		position: absolute;
		left: 60.86%;
		/*201809*/
		
		left: 71.05%;
		top:0;
	}

	/**ステイ表示
	header #globalNav ul li a.parentsLink,
header #globalNav ul li a.current{
	border-bottom: solid 2px #00a0e8;
	padding-bottom: 	4px;
}**/


}

