@charset "UTF-8";

/* =================================================
	LAYOUT
================================================= */
#js_wrapper {
	position:relative;
}

/* #header */
#header {
	border-top:14px solid #55aee5;
}

#header h1 {
	text-indent:-9999px;
	font-size:1.3em;
	line-height:1;
}

@media only screen and (max-width: 767px) {
	#header h1 {
		margin:22px 0 15px;
		width:60%;
		max-width:264px;
		max-height:48px;
		background:url(../images/logo.png) no-repeat left top;
		background-size:100% auto;
	}
	
	#header h1 a {
		display:block;
		width:264px;
		height:48px;
	}
}

@media print,screen and (min-width: 768px) {
	#header .wrapper {
		height:134px;
	}
	
	#header h1 {
		position:absolute;
		top:45px;
		left:30px;
		width:382px;
		height:48px;
		background:url(../images/logo.png) no-repeat left top;
	}
	
	#header h1 a {
		display:block;
		width:264px;
		height:48px;
	}
	
	#header #pick_up_pc {
		position:absolute;
		top:40px;
		right:30px;
	}
	
	#header #pick_up_pc li {
		display:inline-block;
		margin-left:25px;
		text-align:center;
		letter-spacing:.1em;
		font-size:2em;
	}
	
	#header #pick_up_pc li a {
		display:inline-block;
		width:300px;
		border-radius:6px;
		line-height:54px;
	}
	
	#header #pick_up_pc li a:link,#header #pick_up_pc li a:visited {
		color:#fff;
		text-decoration:none;
	}
	
	#header #pick_up_pc li a:hover,#header #pick_up_pc li a:active {
		color:#fff;
		text-decoration:none;
		opacity:.7;
	}
}

@media print,screen and (min-width: 1251px) {
	#header h1 {
		left:0;
	}
	
	#header #pick_up_pc {
		right:0;
	}
}

@media print,screen and (max-width: 876px) {
	#header #pick_up_pc {
		top:10px;
	}
	
	#header #pick_up_pc li {
		display:block;
		margin-bottom:6px;
		margin-left:0;
	}
}

.pick_up_btn_green a {
	background:#3ebabe;
}

.pick_up_btn_orange a {
	background:#3ebabe;
}

/* #nav */
#nav input[type="checkbox"] {
	display:none;
}

@media only screen and (max-width: 767px) {
	#nav {
		position:absolute;
		top:0;
		left:0;
		z-index:99999;
		display:inline-block;
		padding:10px;
		width:100%;
	}
	
	.nav_btn {
		position:absolute;
		top:35px;
		right:10px;
		z-index:2;
		display:block;
		width:30px;
		height:30px;
		cursor:pointer;
		-webkit-transform:scale(0.75,0.75);
		-moz-transform:scale(0.75,0.75);
		transform:scale(0.75,0.75);
	}
	
	.nav_btn::before {
		-webkit-box-shadow:#949494 0 12px 0;
		box-shadow:#949494 0 12px 0;
	}
	
	.nav_btn::after {
		bottom:0;
	}
	
	.nav_btn::before,.nav_btn::after {
		position:absolute;
		display:block;
		width:30px;
		height:6px;
		background:#949494;
		content:'';
	}
	
	#nav .wrapper {
		position:fixed;
		top:0;
		right:-100%;
		overflow-y:scroll;
		padding:0;
		width:100%;
		height:100%;
		border-top:14px solid #c76197;
		background:#fff;
		-webkit-transition:right .4s;
		transition:right .4s;
		-webkit-overflow-scrolling:touch;
	}
	
	#nav .wrapper .nav_btn {
		top:22px;
	}
	
	#nav .wrapper li .nav_btn {
		position:relative;
		top:auto;
		right:auto;
		z-index:2;
		display:block;
		width:auto;
		height:auto;
		cursor:pointer;
		-webkit-transform:scale(1,1);
		-moz-transform:scale(1,1);
		transform:scale(1,1);
	}
	
	#nav .wrapper li .nav_btn::before,#nav .wrapper li .nav_btn::after {
		display:none;
	}
	
	#nav .wrapper li .nav_btn::after {
		position:absolute;
		top:24px;
		right:8px;
		bottom:auto;
		z-index:9999;
		display:block;
		width:24px;
		height:24px;
		background:transparent;
		color:#949494;
		content:"+";
		font-size:2.4rem;
	}
	
	#nav .wrapper .nav_btn::before {
		-webkit-box-shadow:transparent 0 0 0;
		box-shadow:transparent 0 0 0;
		-webkit-transform:rotate(45deg) translate3d(6px,11px,0);
		transform:rotate(45deg) translate3d(6px,11px,0);
	}
	
	#nav .wrapper .nav_btn::after {
		-webkit-transform:rotate(-45deg) translate3d(6px,-11px,0);
		transform:rotate(-45deg) translate3d(6px,-11px,0);
	}
	
	#nav input[type="checkbox"]:checked ~ .wrapper {
		right:0;
	}
	
	#nav h2 {
		margin:22px 0 15px 15px;
		width:54.3%;
		max-width:264px;
		max-height:48px;
		background:url(../images/logo.png) no-repeat left top;
		background-size:100% auto;
		text-indent:-9999px;
		font-size:1.3em;
		line-height:1;
	}
	
	#nav h2 a {
		display:block;
		width:264px;
		height:48px;
	}
	
	#nav #pick_up_sp li,#nav #gnav li {
		font-weight:700;
		font-size:1.8rem;
	}
	
	#nav #gnav li {
		border-bottom:1px solid #ccc;
	}
	
	#nav #pick_up_sp li a,#nav #gnav li a,#nav .wrapper li .nav_btn {
		position:relative;
		display:block;
		padding:20px 20px 20px 30px;
	}
	
	#nav #gnav li a {
		background:#f2f2f2;
	}
	
	#nav #pick_up_sp a:link,#nav #pick_up_sp a:visited,#nav #pick_up_sp a:hover,#nav #pick_up_sp a:active {
		color:#fff;
		font-weight:700;
	}
	
	#nav #pick_up_sp li a::after,#nav #gnav li a::after {
		position:absolute;
		top:20px;
		right:20px;
		display:block;
		margin-left:-5px;
		width:10px;
		height:10px;
		content:"";
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(45deg);
	}
	
	#nav #pick_up_sp li a::after {
		position:absolute;
		border-top:2px solid #fff;
		border-right:2px solid #fff;
	}
	
	#nav #gnav li a::after {
		border-top:2px solid #949494;
		border-right:2px solid #949494;
	}
}

@media print,screen and (min-width: 768px) {
	#nav {
		margin-bottom:35px;
		text-align:center;
	}
	
	#nav ul {
		padding:5px 0 0;
		border-top:2px solid #eaeaea;
		border-bottom:2px solid #eaeaea;
	}
	
	#nav ul li {
		display:inline-block;
		font-weight:700;
		font-size:2em;
		line-height:2;
	}
	
	#nav ul li .nav_btn {
		display:none!important;
	}
	
	#nav ul li a {
		display:inline-block;
		padding:10px 15px 0;
	}
	
	#nav ul li::first-child a {
		padding-left:4px;
	}
	
	#nav ul li::last-child a {
		padding-right:4px;
	}
	
	#nav ul li a:hover {
		opacity:.7;
	}
	
	#nav ul li a span {
		display:block;
		padding:0 8px 10px;
		border-bottom:3px solid #fff;
	}
	
	#nav ul li a:hover span {
		border-bottom:3px solid #00a0e9;
	}
	
	#nav ul li.current a:link span,#nav ul li.current a:visited span,#nav ul li.current a:hover span,#nav ul li.current a:active span {
		padding:0 8px 10px;
		border-bottom:3px solid #00a0e9;
	}
	
	#nav h2 {
		display:none;
	}
}

@media print,screen and (max-width: 1250px) {
	#nav ul li a {
		padding-right:28px;
		padding-left:28px;
	}
}

@media print,screen and (max-width: 1180px) {
	#nav ul li a {
		padding-right:20px;
		padding-left:20px;
	}
}

@media print,screen and (max-width: 1096px) {
	#nav ul li a {
		padding-right:10px;
		padding-left:10px;
	}
}

@media print,screen and (max-width: 960px) {
	#nav ul li {
		font-size:1.7em;
	}
}

@media print,screen and (max-width: 860px) {
	#nav ul li {
		font-size:1.5em;
	}
	
	#nav ul li a {
		padding-right:8px;
		padding-left:8px;
	}
}

#nav ul li a:link,#nav ul li a:visited,#nav ul li a:hover,#nav ul li a:active {
	color:#666666;
	text-decoration:none;
}

/* #key_visual */
#key_visual {
	margin:0 auto;
	max-width:1250px;
}

#key_visual img {
	display:block;
	width:100%;
	height:auto;
	max-width:100%;
}

@media print,screen and (min-width: 768px) {
	#key_visual {
		margin-bottom:40px;
	}
}

@media only screen and (max-width: 1250px) {
	#key_visual {
		padding:0 25px;
	}
}

@media only screen and (max-width: 767px) {
	#key_visual {
		padding:0 15px;
	}
}

/* #side */
@media only screen and (max-width: 875px) {
	#side h2 {
		text-align:center;
		font-weight:400;
		font-size:1.8rem;
		line-height:1.6;
	}
	
	#side h2 a {
		display:block;
		padding:12px 25px 10px;
		background:#f2f2f2;
	}
	
	#side h2 a:link,#side h2 a:visited,#side h2 a:hover,#side h2 a:active {
		color:#535353;
		text-decoration:none;
	}
	
	#side ul {
		margin:20px 0 30px;
		text-align:center;
	}
	
	#side ul li {
		position:relative;
		display:inline-block;
		font-weight:400;
		font-size:1.6em;
		line-height:1.6;
	}
	
	#side ul li::before {
		position:absolute;
		top:8px;
		left:0;
		width:1px;
		height:16px;
		border-right:1px solid #535353;
		content:"";
	}
	
	#side ul li:first-child::before {
		display:none;
	}
	
	#side ul li a {
		display:inline-block;
		padding:3px 8px 3px 12px;
		line-height:1.6;
	}
	
	#side ul li a:link,#side ul li a:visited {
		text-decoration:none;
	}
	
	#side ul li a:hover,#side ul li a:active,#side ul li.current a:link,#side ul li.current a:visited,#side ul li.current a:hover,#side ul li.current a:active {
		background:#f2f2f2;
		text-decoration:none;
	}
}

@media print,screen and (min-width: 876px) {
	#side {
		float:left;
		width:310px;
	}
	
	#side h2 {
		font-weight:400;
		font-size:2em;
		line-height:1.6;
	}
	
	#side h2 a {
		display:block;
		padding:12px 25px 10px;
		background:#00a0e9;
	}
	
	#side h2 a:link,#side h2 a:visited,#side h2 a:hover,#side h2 a:active {
		color:#fff;
		text-decoration:none;
	}
	
	#side ul li {
		border-bottom:1px solid #eee;
		font-weight:400;
		font-size:2em;
		line-height:1.6;
	}
	
	#side ul li a {
		display:block;
		padding:12px 25px 10px;
	}
	
	#side ul li a:link,#side ul li a:visited {
		background:#fff;
		color:#535353;
		text-decoration:none;
	}
	
	#side ul li a:hover,#side ul li a:active,#side ul li.current a:link,#side ul li.current a:visited,#side ul li.current a:hover,#side ul li.current a:active {
		background:#f2a1c5;
		color:#fff;
		text-decoration:none;
	}
}

/* #sec_main */
@media print,screen and (min-width: 876px) {
	#sec_main {
		float:right;
		width:-webkit-calc(100% - 340px);
		width:calc(100% - 340px);
	}
}

/* #sec_featured_link */
#sec_featured_link li {
	display:inline-block;
}

#sec_featured_link a {
	position:relative;
	display:inline-block;
	padding:20px 10px 20px 90px;
	width:100%;
	text-align:center;
	line-height:1.5;
}

.sec_featured_link_entry a {
	background:#eb7e88 url(../images/icon_entry.png) no-repeat 14px 55%;
}

.sec_featured_link_visitor a {
	background:#b677ab url(../images/icon_visitor.png) no-repeat 14px 55%;
}

.sec_featured_link_campus_life a {
	background:#3baad1 url(../images/icon_campus_life.png) no-repeat 14px 55%;
}

.sec_featured_link_message a {
	background:#8bc899 url(../images/icon_message.png) no-repeat 14px 55%;
}

#sec_featured_link a:link,#sec_featured_link a:visited {
	color:#fff;
	text-decoration:none;
}

#sec_featured_link a:hover,#sec_featured_link a:active {
	color:#fff;
	text-decoration:none;
	opacity:.7;
}

#sec_featured_link a::after {
	position:absolute;
	top:0;
	left:86px;
	display:block;
	margin:4% 0;
	width:1px;
	height:75%;
	border-left:1px solid #fff;
	content:"";
}

@media only screen and (max-width: 1024px) {
	#sec_featured_link li {
		vertical-align:top;
		font-size:1.3em;
	}
	
	#sec_featured_link a {
		padding:10px 5px 10px 50px;
		background-position-x:5px;
	}
	
	.sec_featured_link_entry a {
		background-size:30px auto;
	}
	
	.sec_featured_link_visitor a {
		background-size:30px auto;
	}
	
	.sec_featured_link_campus_life a {
		background-size:30px auto;
	}
	
	.sec_featured_link_message a {
		background-size:30px auto;
	}
	
	#sec_featured_link a:link,#sec_featured_link a:visited {
		color:#fff;
	}
	
	#sec_featured_link a:hover,#sec_featured_link a:active {
		color:#fff;
		opacity:.7;
	}
	
	#sec_featured_link a::after {
		left:42px;
	}
}

@media only screen and (max-width: 767px) {
	#sec_featured_link {
		margin:50px 0 20px;
	}
	
	#sec_featured_link ul {
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:flex-start;
		justify-content:flex-start;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	
	#sec_featured_link li {
		display:-webkit-flex;
		display:flex;
		margin-bottom:10px;
		width:48%;
		-webkit-flex-grow:1;
		flex-grow:1;
	}
	
	#sec_featured_link li:nth-child(odd) {
		margin-right:2%;
	}
	
	#sec_featured_link li:nth-child(even) {
		margin-left:2%;
	}
}

@media print,screen and (min-width: 768px) {
	#sec_featured_link {
		margin:100px 0 60px;
	}
	
	#sec_featured_link li {
		margin:0 1%;
		width:23.5%;
	}
	
	#sec_featured_link li:first-child {
		margin-left:0;
	}
	
	#sec_featured_link li:last-child {
		margin-right:0;
	}
}

/* #footer_nav */
#footer_nav {
	position:relative;
	background:#55aee5;
}

#footer_nav ul {
	text-align:center;
}

#footer_nav li a:link,#footer_nav li a:visited,#footer_nav li a:hover,#footer_nav li a:active {
	color:#fff;
}

#footer_nav .btn_page_top {
	position:absolute;
	top:0;
	right:0;
	width:46px;
	text-indent:-9999px;
}

#footer_nav .btn_page_top a {
	position:relative;
	display:block;
	background:#00a0e9;
	line-height:46px;
}

#footer_nav .btn_page_top a:hover {
	opacity:.7;
}

#footer_nav .btn_page_top a:after {
	position:absolute;
	top:20px;
	left:50%;
	display:block;
	margin-left:-8px;
	width:16px;
	height:16px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	content:"";
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
	transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
}

@media print,screen and (min-width: 768px) {
	#footer_nav ul {
		padding:0 50px;
	}
	
	#footer_nav li {
		display:inline-block;
		font-size:1.8em;
		line-height:46px;
	}
	
	#footer_nav li a {
		display:inline-block;
		padding:0 25px;
	}
}

@media print,screen and (max-width: 1200px) {
	#footer_nav li a {
		padding:0 20px;
	}
}

@media print,screen and (max-width: 1096px) {
	#footer_nav ul {
		padding:0 30px;
	}
}

@media print,screen and (max-width: 1000px) {
	#footer_nav li a {
		padding:0 10px;
	}
}

@media print,screen and (max-width: 880px) {
	#footer_nav li {
		font-size:1.6em;
	}
	
	#footer_nav li a {
		padding:0 7px;
	}
}

@media only screen and (max-width: 767px) {
	#footer_nav ul {
		margin:76px -15px 0;
		padding:0;
	}
	
	#footer_nav li {
		display:block;
		border-bottom:1px solid #d884b1;
		font-size:1.5em;
		line-height:1.6;
	}
	
	#footer_nav li::last-child {
		border-bottom:none;
	}
	
	#footer_nav li a {
		display:block;
		padding:8px 20px;
	}
	
	#footer_nav .btn_page_top {
		top:-46px;
	}
}

/* #footer_info */
#footer_info {
	background:#d2d2d2;
}

#footer_info .wrapper {
	position:relative;
}

#footer_info ul li {
	position:relative;
	display:inline-block;
}

#footer_info ul li:last-child::after {
	border-right:none;
}

#footer_info ul li a {
	display:inline-block;
}

#footer_info dl {
	margin:0;
	padding-bottom:20px;
}

#footer_info dl dt {
	padding-bottom:10px;
	color:#fff;
	line-height:1.2;
}

#footer_info dl dd {
	color:#fff;
}

#footer_info p {
	color:#fff;
	line-height:1.2;
}

@media only screen and (max-width: 767px) {
	#footer_info {
		padding:0 0 20px;
	}
	
	#footer_info ul {
		position:static;
		margin:0 -15px 20px;
		padding:20px 0 8px;
		background:#fff;
		text-align:center;
	}
	
	#footer_info ul li {
		padding:0 15px 10px;
		font-size:1.3rem;
	}
	
	#footer_info ul li::after {
		position:absolute;
		right:0;
		width:1px;
		height:11px;
		border-right:1px solid #333;
		content:"";
	}
	
	#footer_info ul li a:link,#footer_info ul li a:visited,#footer_info ul li a:hover,#footer_info ul li a:active {
		color:#333;
	}
	
	#footer_info dl {
		text-align:center;
	}
	
	#footer_info dl dt {
		font-size:1.6rem;
	}
	
	#footer_info dl dd {
		font-size:1.3rem;
		line-height:1.5;
	}
	
	#footer_info p {
		color:#fff;
		text-align:center;
		font-size:1rem;
	}
}

@media print,screen and (min-width: 768px) {
	#footer_info {
		padding:45px 0;
	}
	
	#footer_info ul {
		position:absolute;
		top:3px;
		z-index:9;
	}
	
	#footer_info ul li {
		padding:0 10px;
		font-size:1.5em;
	}
	
	#footer_info ul li:first-child {
		padding-left:0;
	}
	
	#footer_info ul li:last-child {
		padding-right:0;
	}
	
	#footer_info ul li::after {
		position:absolute;
		right:0;
		width:1px;
		height:13px;
		border-right:1px solid #fff;
		content:"";
	}
	
	#footer_info ul li a:link,#footer_info ul li a:visited,#footer_info ul li a:hover,#footer_info ul li a:active {
		color:#fff;
	}
	
	#footer_info dl {
		text-align:right;
	}
	
	#footer_info dl dt {
		font-size:2em;
	}
	
	#footer_info dl dd {
		font-size:1.3em;
		line-height:1.2;
	}
	
	#footer_info p {
		text-align:right;
		font-size:1.3em;
	}
}

/* .bread_crumb */
.bread_crumb {
	position:relative;
	z-index:99;
	margin-top:30px;
	padding:0 0 40px 25px;
}

.bread_crumb li {
	position:relative;
	display:inline-block;
	padding:0 1em;
	color:#00a0e9;
	font-size:1.3em;
	line-height:1.4;
}

.bread_crumb li:first-child {
	padding-left:0;
}

.bread_crumb li:last-child {
	padding-right:0;
}

.bread_crumb li::before {
	position:absolute;
	top:4px;
	right:-1px;
	display:block;
	overflow:hidden;
	width:8px;
	height:8px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	content:"";
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-o-transform:rotate(45deg);
	transform:rotate(45deg);
	-ms-transform:rotate(45deg);
}

.bread_crumb li:last-child::before {
	display:none;
}

.bread_crumb li a:link,.bread_crumb li a:visited {
	color:#535353;
	text-decoration:none;
}

.bread_crumb li a:hover,.bread_crumb li a:active {
	color:#7d7d7d;
	text-decoration:underline;
}

@media only screen and (max-width: 767px) {
	.bread_crumb {
		margin-top:20px;
		padding:0 0 30px;
	}
	
	.bread_crumb li {
		padding:0 11px;
		font-size:1.1rem;
	}
	
	.bread_crumb li:first-child {
		padding-left:0;
	}
	
	.bread_crumb li::before {
		position:absolute;
		top:3px;
		right:-2px;
		width:6px;
		height:6px;
	}
}




/* #sec_featured_link */
#sec_main li {
	display:inline-block;
}

#sec_main a {
	position:relative;
	display:inline-block;
	padding:20px 10px 20px 20px;
	width:100%;
	text-align:center;
	line-height:1.5;
}

.sec_featured_link2_entry a {
	background:#eb7e88 no-repeat 14px 55%;
}

.sec_featured_link2_visitor a {
	background:#b677ab no-repeat 14px 55%;
}

.sec_featured_link2_campus_life a {
	background:#3baad1 no-repeat 14px 55%;
}

.sec_featured_link2_message a {
	background:#8bc899 no-repeat 14px 55%;
}

#sec_main a:link,#sec_featured_link a:visited {
	color:#fff;
	text-decoration:none;
}

#sec_main a:hover,#sec_featured_link a:active {
	color:#fff;
	text-decoration:none;
	opacity:.7;
}


@media print,screen and (min-width: 768px) {
	#sec_main .question {
		margin:20px 0 60px;
	}
	
	#sec_main .question li {
		margin:0 1%;
		width:32%;
	}
	
	#sec_main .question li:first-child {
		margin-left:0;
	}
	
	#sec_main .question li:last-child {
		margin-right:0;
	}
}


@media print,screen and (min-width: 768px) {
	#sec_main .form {
		margin:20px 0 60px;
	}
	
	#sec_main .form li {
		margin:0 1%;
		width:49%;
	}
	
	#sec_main .form li:first-child {
		margin-left:0;
	}
	
	#sec_main .form li:last-child {
		margin-right:0;
	}
}

h3.sub_title { font-size: 20px; margin-bottom: 15px; }

