﻿@charset "utf-8";
@import url("./reset.css");
/*--京base.css--*/
html {}

body {
	width: 100%;
	min-width:960px;
	height: 100%;
	color: #000;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif ;
	/*font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif ;*/
	background-color: #fff;
	font-size: 14px;
	line-height: 1.0;
}


a{
	/*
	text-decoration: none;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
	*/
}
a:hover {

}


#container{
	width: 100%;
	min-width:960px;
	position:relative;
}

#container img{
    vertical-align:bottom;
}

/*----------header----------*/
header{
	width:100%;
	height:120px;
	box-sizing:border-box;
	position:relative;
}


	header > .box_inner{
		position:relative;
		z-index:1;
		width:1000px;
		height:102px;
		margin:0 auto;
		box-sizing:border-box;
		display:flex;
		justify-content:space-between;
	}
	
		header > .box_inner .site_title{
			padding-top:22px;
		}
		
			header > .box_inner .site_title h1{
				position:relative;
                width: 340px;
			}
			
				header > .box_inner .site_title h1 a{
					display:block;
				}
				
header > .box_inner .site_title h1 a img{
    max-width: 100%;
    height: auto;
}

		header > .box_inner .h_nav{
			padding-top:15px;
		}
		
			header > .box_inner .h_nav .sub_nav{
				display:flex;
				justify-content:flex-end;
				align-items:center;
				margin-bottom:25px;
			}
			
				header > .box_inner .h_nav .sub_nav > li{
					position:relative;
					margin-right:26px;
				}
				
				header > .box_inner .h_nav .sub_nav > li:last-child{
					margin-right:0;
				}
				
					header > .box_inner .h_nav .sub_nav li.sn_member{
					}
				
					header > .box_inner .h_nav .sub_nav li.sn_member a{
						display: inline-block;
						background: #ec413c;
						padding: 5px 20px;
						border-radius: 12px;
						text-decoration:none;
					}
					
					header > .box_inner .h_nav .sub_nav li.sn_member a:hover{
						text-decoration:underline;
					}
						
			
			header > .box_inner .h_nav .main_nav{
				display:flex;
			}
			
				header > .box_inner .h_nav .main_nav li{
					margin-right:17px;
				}
				
				header > .box_inner .h_nav .main_nav li:last-child{
					margin-right:0;
				}
				
					header > .box_inner .h_nav .main_nav li a{
						display:block;
						padding-bottom:10px;
						position:relative;
					}
					
						header > .box_inner .h_nav .main_nav li a img[src*="_off"]{
							position:relative;
							top:0;
							left:0;
							z-index:1;
						}
					
						header > .box_inner .h_nav .main_nav li a img[src*="_on"]{
							position:absolute;
							top:0;
							left:0;
							z-index:0;
							opacity:0;
						}
						
						header > .box_inner .h_nav .main_nav li.active a img[src*="_off"]{
							opacity:0;
						}
					
						header > .box_inner .h_nav .main_nav li.active a img[src*="_on"]{
							opacity:1;
						}
					
					header > .box_inner .h_nav .main_nav li a:after{
						content:"";
						display:block;
						height:3px;
						background:#3364db;
						position:absolute;
						bottom:0;
						left:0;
						width:0;
						opacity:0;
						transition:.3s all ease;
					}

					header > .box_inner .h_nav .main_nav li a:hover:after,
					header > .box_inner .h_nav .main_nav li.active a:after{
						width:100%;
						opacity:1;
					}

	
/*----------contents----------*/
.contents{}


/*-----common_contact-----*/
.common_contact{
	background:#fffaec;
	height:200px;
	box-sizing:border-box;
	padding-top:40px;
}

	.common_contact > .box_header{
		margin-bottom:1em;
	}
	
		.common_contact > .box_header p{
			font-size:1.15em;
			text-align:center;
			line-height:1.8em;
		}
		
	.common_contact > .box_inner{
		text-align:center;
	}
	
		.common_contact > .box_inner a{
			display:inline-block;
			transition:.3s all ease;
		}
		
		.common_contact > .box_inner a:hover{
			transform:translateY(-4px);
			box-shadow:0 5px 5px -2px rgba(0,0,0,0.2);
		}
		
		


/*-----footer-----*/
footer{
	padding:40px 0 0 0;
}

	footer > .box_header{
		width: 960px;
		margin: 0 auto 25px auto;
		padding: 0 0 30px 0;
		border-bottom: 1px solid #ccc;
	}

	footer > .box_header ul{
		margin: 0 0 0 30px;
	}

	footer > .box_header ul li{
		width: 200px;
		height: 60px;
		margin: 10px;
		display: inline-block;
	}

	footer > .box_header ul li a:hover{
		opacity: 0.8;
	}

/*
footer > .box_header ul li{
    width: 200px;
    height: 58px;
    margin: 10px;
    display: inline-block;
    border: 1px solid #ccc;
}

footer > .box_header ul li a{
    width: 182px;
    height: 58px;
    padding-left: 18px;
    display: inline-block;
    line-height: 58px;
    text-align: left;
    color: #000000;
    text-decoration: none;
}
*/

	footer > .box_inner{
		width:900px;
		margin:0 auto;
		padding:0 0 40px 0;
		position: relative;
	}

		footer > .box_inner .f_site_tite{
			width: 340px;
			margin: 0 auto 35px auto;
		}
	
		footer > .box_inner .f_contact_box{}
		
			footer > .box_inner .f_contact_box dl{
			}
			
				footer > .box_inner .f_contact_box dl dt{
					font-weight:bold;
					font-size:1.2em;
					margin-bottom:0.5em;
					color:#222;
				}
				
				footer > .box_inner .f_contact_box dl dd{
				}
				
				footer > .box_inner .f_contact_box dl dd.addr{
					margin-bottom:1em;
				}
				
				footer > .box_inner .f_contact_box dl dd.tel_fax{
				}
				
					footer > .box_inner .f_contact_box dl dd.tel_fax ul{
						display:flex;
						align-items:center;
					}
					
					footer > .box_inner .f_contact_box dl dd.tel_fax ul li{
						margin-right:10px;
					}
					
					footer > .box_inner .f_contact_box dl dd.tel_fax ul li:last-child{
						margin-right:0;
					}
				
		footer > .box_inner .f_nav{
			display:flex;
			font-size:0.9em;
			line-height: 1.5em;
			justify-content: space-around;
		}
		
			footer > .box_inner .f_nav ul{
			}
			
			footer > .box_inner .f_nav ul:last-child{
				margin-right:0;
			}
			
				footer > .box_inner .f_nav ul li{
					margin-bottom:20px;
				}
				
				footer > .box_inner .f_nav ul li:last-child{
					margin-bottom:0;
				}
				
					footer > .box_inner .f_nav ul li a{
						color:#222;
						text-decoration:none;
					}
					
					footer > .box_inner .f_nav ul li a:hover{
						text-decoration:underline;
					}

						footer > .box_inner .f_nav ul li ul{
							margin: 10px 0 0 0;
						}

						footer > .box_inner .f_nav ul li ul li{
							margin: 0 0 10px 0;
						}

						footer > .box_inner .f_nav ul li ul li:before{
							font-family: FontAwesome;
							content: "-";
							color: #000;
							font-weight: bold;
							font-size: 1.1em;
							margin: 0 5px 0 0;
						}
		footer > .box_inner .f_qr{
			position: absolute;
			bottom: 0;
			right:0;
		}

footer > .box_footer{
		width:960px;
		margin:0 auto;
		font-size:0.9em;
		padding:1em 0 3em 0;
        position: relative;
	}

		footer > .box_footer .copyright{
			text-align:center;
		}

        footer > .box_footer .login{
            position: absolute;
            top: 1em;
            right:80px;
        }

        footer > .box_footer .login a{
            color: #999999;
            text-decoration: none;
        }

        footer > .box_footer .login a:hover{
            text-decoration: underline;
        }


/*ハンバーガーボタン*/
.nav_oc{
	z-index:99;
}

.nav_oc.pc{
	position:absolute;
	top:30px;
	right:0;
}

.nav_oc.sp{
	display:none;
}

.menu-trigger{
	cursor:pointer;
}

.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger {
	position:relative;
	width: 32px;
	height: 24px;
	background:none;
	border:none;
	outline:none;
}

	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #555;
		border-radius: 4px;
	}
	
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	
	.menu-trigger span:nth-of-type(2) {
		top: 10px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-315deg);
		transform: translateY(10px) rotate(-315deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(315deg);
		transform: translateY(-11px) rotate(315deg);
	}
	
/*ナビゲーション*/
.side_nav{
	z-index:-1;
	position:absolute;
	top:100px;
	right:0;
	box-sizing:border-box;
	transition:.3s all ease;
}
	.side_nav.active{
		z-index:98;
		width:100%;
		height:100%;
		background:rgba(238,230,212,1);
		padding:50px 0 0 0;
	}
	
	.side_nav ul{
		opacity:0;
		height:0;
		width:33%;
		transition:.3s all ease;
		overflow:hidden;
	}
	
	.side_nav.active ul{
		opacity:1;
		height:auto;
		margin:0 auto;
	}
	
	.side_nav ul li{
		margin-bottom:1.5em;
		text-align:center;
	}
	
	.side_nav ul li:last-child{
		margin-bottom:0;
	}
	
		.side_nav ul li a{
			display:flex;
			justify-content:center;
			padding:0.7em 1em;
			color:#111;
			background:rgba(255,255,255,1);
			text-decoration:none;
			transition:.3s all ease;
			font-size:1.4em;
			width:100%;
			box-sizing:border-box;
			transition:.3s all ease;
		}
		
		.side_nav ul li a:hover{
			background:rgba(238,230,212,0.5);
		}
		
		.side_nav ul li a .sn_icon:before{
			margin-right:0.5em;
			color:#593E2D;
		}
		
			.side_nav ul li.sn_home a .sn_icon:before{
				font-family: FontAwesome;
				content: "\f015";
			}
		
			.side_nav ul li.sn_registration a .sn_icon:before{
				font-family: FontAwesome;
				content: "\f044";
			}
			
			.side_nav ul li.sn_sponsorship a .sn_icon:before{
				font-family: FontAwesome;
				content: "\f06c";
			}
		
			.side_nav ul li.sn_access a .sn_icon:before{
				font-family: FontAwesome;
				content: "\f041";
			}
			
			.side_nav ul li.sn_campus a .sn_icon:before{
				font-family: FontAwesome;
				content: "\f279";
			}
			
		.side_nav ul li a .sn_txt{
			display:flex;
			align-items:center;
		}
		
			.side_nav ul li a .sn_txt .en{
				color:#593E2D;
				font-size:0.7em;
				margin-left:1em;
			}
		
/*ページトップ*/
.pagetop{
	width:70px;
	height:70px;
	position:fixed;
	bottom:30px;
	right:60px;
	z-index:10;
	transform:translateY(100px);
	transition:.3s all ease;
	opacity:0;
}

.pagetop.show{
	transform:translateY(0);
	opacity:1;
}

	.pagetop a{
		display:flex;
		justify-content:center;
		align-items:center;
		transition:.5s all ease;
		width:100%;
		height:100%;
		border-radius:41px;
		background:rgba(50,100,220,1);
		text-decoration:none;
		color:#fff;
	}
	
	.pagetop a:hover{
		transform:translateY(-5px);
		opacity:0.9;
	}
	
	.pagetop a:before{
		font-family: FontAwesome;
		content:"\f106";
		font-size:32px;
	}


/*改行のPC,SPでの表示切替*/
br.pc,
img.pc,
span.pc{
	display:inline;
}

br.sp,
img.sp,
span.sp{
	display:none;
}

.ta_center{
	text-align:center;
}

/*ipad*/
@media screen and (max-width:1024px){
	.side_nav ul{
		width:50%;
	}
}
