@charset "utf-8";

/* Google Fonts
========================================================================== */

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese');

/*
font-family: "Noto Sans JP", sans-serif;
*/



/* layout
========================================================================== */

html {
	overflow-y: scroll;
}

body {
	-webkit-text-size-adjust: 100%;
}

#wrap {
	width: 100%;
	min-height: 100%;
	font-size: 108%; /* 14px */
	position: relative;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	body {
		position: relative;
		right: 0;
	}

	#wrap {
		min-width: none;
		padding-top: 75px;
		font-size: 100%; /* 13px */
	}
}


/* selected text
-------------------------------------------------------------------------- */

::selection {
	background: #dddddd; /* Safari */
}
::-moz-selection {
	background: #dddddd; /* Firefox */
}



/* anchor
========================================================================== */

a {
	color: #3e3a39;
	text-decoration: none;
}

a:hover {
	opacity: .7;
  	-webkit-transition: 0.3s ease-in-out;
 	-moz-transition: 0.3s ease-in-out;
 	-o-transition: 0.3s ease-in-out;
 	transition: 0.3s ease-in-out;
}

a:link,
a:visited,
a:active,
a:hover {
	outline: none;
}



/* header
========================================================================== */

header {
	width: 100%;
	height: 80px;
	background: rgba(255,255,255,.8); /* #fff 80% */
	text-align: left;
	zoom: 1;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}
header:after {
	content:"";
	display: block;
	clear: both;
}

header h1,
#header-logo {
	margin-left: 255px;
	font-weight: 700;
	line-height: 1;
	float: left;
}

header h1 span,
#header-logo span {
	display: inline-block;
}
header h1 span.univ,
#header-logo span.univ {
	margin: 25px 15px 0 0;
	padding-top: 6px;
	font-size: 129%; /* 18px */
	vertical-align: top;
}
header h1 span.dept,
#header-logo span.dept {
	margin-top: 25px;
	font-size: 214%; /* 30px */
}

#sp-logo {
	display: none;
}

/* pc (small) */
@media only screen and (min-width: 1024px) and (max-width: 1199px) {
	header h1 span.univ,
	#header-logo span.univ {
		margin: 25px 5px 0 0;
		padding-top: 6px;
		font-size: 100%; /* 14px */
	}
	header h1 span.dept,
	#header-logo span.dept {
		margin-top: 25px;
		font-size: 171%; /* 24px */
	}
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	header {
		height: 75px;
		background: #f2f2f2 !important;
	}

	header h1,
	#header-logo {
		margin-left: 0;
		float: none;
		position: absolute;
		top: 35px;
		left: 20px;
	}

	header h1 span.univ,
	#header-logo span.univ {
		margin: 0;
		padding-top: 0;
		font-size: 131%; /* 17px */
		vertical-align: top;
	}
	header h1 span.dept,
	#header-logo span.dept {
		margin-top: 0;
		font-size: 131%; /* 17px */
	}

	#sp-logo {
		display: block;
		position: absolute;
		top: 0;
		left: 20px;
	}

	#sp-logo img {
		width: 85px;
		margin-right: 5px;
		float: left;
	}

	#sp-logo span {
		margin-top: 2px;
		font-size: 67%; /* 8px */
		font-weight: 700;
		line-height: 1.25;
		display: block;
		float: left;
	}
}


/* header navi
-------------------------------------------------------------------------- */

#nav_header {
	margin-top: 28px;
	float: right;
}

#nav_header ul li {
	height: 24px;
	margin-right: 30px;
	padding-left: 10px;
	background: url(../img/common/icon/arrow.svg) no-repeat left center;
	background-size: 6px;
	vertical-align: middle;
	float: left;
}

#nav_header ul li.youtube,
#nav_header ul li.twitter {
	padding-left: 0;
	background: none;
}

#nav_header ul li.youtube img {
	height: 24px;
}

#nav_header ul li.twitter img {
	height: 21px;
}

/* pc (small) */
@media only screen and (min-width: 1024px) and (max-width: 1199px) {
	#nav_header ul li {
		margin-right: 20px;
	}
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#nav_header {
		display: none;
	}
}



/* sidebar
========================================================================== */

#sidebar {
	width: 226px;
	height: 100%;
	background: #fff;
	border-right: 1px solid #4d6099;
	position: fixed;
	z-index: 100;
}
	
/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#sidebar {
		width: 100%;
		border-right: none;
		overflow-x: hidden;
	}
}


/* logo
-------------------------------------------------------------------------- */

#logo {
	width: 226px;
	padding: 25px 0;
	background: #f2f2f2;
}

#logo a {
    display: block;
}

#logo img {
	width: 150px;
	margin-bottom: 12px; 
}

#logo span {
	width: 150px;
	margin: 0 auto;
	font-size: 72%; /* 10px */
	font-weight: 500;
	text-align: left;
	display: block;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#logo {
		display: none;
	}
}


/* search
-------------------------------------------------------------------------- */

#search {
	display: none;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#search {
		height: 60px;
		padding: 0;
		border-bottom: 1px solid #4d6099;
		display: block;
		zoom: 1;
	}
	#search:after {
		content:"";
		display: block;
		clear: both;
	}

	#search input.searchbox {
		width: calc(100% - 74px);
		height: 60px;
		padding: 0 5px;
		border: none;
		border-radius: 0;
		font-size: 16px;
	}
	#search input.searchbox:focus {
		outline: 4px solid #d2d7e6;
	}

	#search button {
		width: 60px;
		height: 60px;
		margin: 0;
		border: none;
		border-right: 1px solid #e6e6e6;
		cursor: pointer;
		outline: none;
		float: left;
	}
	#search button img {
		width: 25px;
	}
}


/* global navi
-------------------------------------------------------------------------- */

#nav_global {
	font-weight: 500;
	text-align: left;
}

#nav_global > ul > li {
	position: relative;
}
#nav_global > ul > li.sp {
	display: none;
}

#nav_global li a {
	padding: 1em;
	border-top: 1px solid #4d6099;
	display: block;
}
#nav_global li:last-child a {
	border-bottom: 1px solid #4d6099;
}

#nav_global li a:hover,
#nav_global li a.current {
	background: #4d6099;
	color: #fff;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#nav_global {
		margin-top: 60px;
		margin-bottom: 100px;
	}

	#nav_global > ul > li.sp {
		display: block;
	}

	#nav_global li a {
		padding: 1em;
		font-size: 131%; /* 17px */
	}
	#nav_global li.sp a {
		background: #f2f2f2;
	}
	#nav_global li.sp a:hover,
	#nav_global li.sp a.current {
		background: #4d6099;
		color: #fff;
	}
}


/* global navi (child)
-------------------------------------------------------------------------- */

#nav_global li.nav_global_sub > a {
	background-image: url(../img/common/icon/arrow_b.svg);
	background-position: right 12px center;
	background-repeat: no-repeat;
	background-size: 6px;
}
#nav_global li.nav_global_sub > a:hover {
	background-image: url(../img/common/icon/arrow_w.svg);
}

#nav_global li.nav_global_sub ul {
	width: 0;
	height: 100%;
	padding-top: 203px;
	background: rgba(255,255,255,.75);
	font-size: 86%; /* 12px */
	-moz-transition: width .2s ease-out;
	-webkit-transition: width .2s ease-out;
	transition: width .2s ease-out;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 227px;
}

#nav_global li.nav_global_sub ul a,
#nav_global li.nav_global_sub:hover ul {
	width: 226px;
}

#nav_global li.nav_global_sub ul a {
	color: #333;
}
#nav_global li.nav_global_sub ul a:hover,
#nav_global li.nav_global_sub ul a.current {
	background: #4d6099;
	color: #fff;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#nav_global li.nav_global_sub > a {
		background-image: url(../img/common/icon/plus.svg);
		background-position: right 24px center;
		background-size: 10px;
	}
	#nav_global li.nav_global_sub > a:hover {
		background-image: url(../img/common/icon/plus.svg);
	}
	#nav_global li.nav_global_sub > a.current {
		background-image: url(../img/common/icon/minus.svg);
	}

	#nav_global li.nav_global_sub ul {
		width: 100%;
		height: auto;
		padding-top: 0;
		background: none;
		font-size: 100%; /* 17px */
		-moz-transition: initial;
		-webkit-transition: initial;
		transition: initial;
		overflow: hidden;
		position: relative;
		top: 0;
		left: 0;
		display: none;
	}

	#nav_global li.nav_global_sub ul a,
	#nav_global li.nav_global_sub:hover ul {
		width: 100%;
	}

	#nav_global li.nav_global_sub ul a {
		background: rgba(77,96,153,.7); /* #4d6099 70% */
		color: #fff;
	}
	#nav_global li.nav_global_sub ul a:hover {
		background: ;
		color: #fff;
	}
	#nav_global li.nav_global_sub ul a:last-child {
		border-bottom: none;
	}
}


/* global navi (toggle)
-------------------------------------------------------------------------- */

#nav_global_toggle {
	height: 32px;
	cursor: pointer;
	display: none;
	position: fixed;
	top: 24px;
	right: 20px;
}
#nav_global_toggle > div {
	width: 32px;
	position: relative;
}
#nav_global_toggle span {
	width: 100%;
	height: 4px;
	background: #3e3a39;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	display: block;
	position: absolute;
	left: 0;
}

#nav_global_toggle span:nth-child(1) {
	top: 0;
}
#nav_global_toggle span:nth-child(2) {
	top: 11px;
}
#nav_global_toggle span:nth-child(3) {
	top: 22px;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#sidebar {
		width: 100%;
		height: 100%;
		margin-top: 75px;
		background: #fff;
		-webkit-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		position: fixed;
		right: -100%;
		top: 0;
	}

	#nav_global_toggle {
		display: block;
	}

	/* nav open */
	.open {
		overflow: hidden;
	}
	.open #sidebar  {
		-webkit-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
	}

	/* #nav_global_toggle close */
	.open #nav_global_toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.open #nav_global_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav_global_toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	/* z-index */
	#sidebar {
		z-index: 300;
	}
	#nav_global_toggle {
		z-index: 400;
	}


}


/* sub navi
-------------------------------------------------------------------------- */

#nav_sub {
	margin-top: 10px;
}

#nav_sub ul li {
	margin: 0 10px;
	font-size: 72%; /* 10px */
	display: inline-block;
}

#nav_sub ul li img {
	height: 24px;
	margin-right: 6px;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#nav_sub {
		width: 100%;
		margin-top: 0;
		border-bottom: 1px solid #4d6099;
		position: absolute;
		top: 61px;
		left: 0;
		zoom: 1;
	}
	#nav_sub:after {
		content:"";
		display: block;
		clear: both;
	}

	#nav_sub ul li {
		width: calc(50% - 1px);
		margin: 0;
		border-right: 1px solid #4d6099;
		font-size: 116%; /* 15px */
		display: block;
		float: left;
	}
	#nav_sub ul li:last-child {
		border-right: none;
	}

	#nav_sub ul li a {
		padding: 15px 0;
		background: #fff;
		display: block;
	}

	#nav_sub ul li img {
		height: 30px;
		margin-right: 6px;
	}
}


/* banner
-------------------------------------------------------------------------- */

#nav_bnr {
	margin-top: 50px;
}

#nav_bnr ul {
	width: 216px;
	margin: 0 auto;
}

#nav_bnr ul li {
	margin-bottom: 5px;
}
#nav_bnr ul li img {
	width: 100%;
}

#nav_bnr ul li.pamphlet a {
	padding: 1.25em 0;
	background: #203880;
	color: #fff;
	font-weight: 500;
	line-height: 1;
	vertical-align: middle;
	display: block;
}
#nav_bnr ul li.pamphlet a img {
	width: 10px;
	margin-right: 5px;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#nav_bnr {
		display: none;
	}
}



/* footer (sp)
========================================================================== */

#sp-footer {
	display: none;
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#sp-footer {
		display: block;
		zoom: 1;
	}
	#sp-footer:after {
		content:"";
		display: block;
		clear: both;
	}

	#sp-nav_bnr ul li.pamphlet a {
		height: 45px;
		background: #203880;
		color: #fff;
		font-size: 93%; /* 12px */
		font-weight: 500;
		line-height: 45px;
		vertical-align: middle;
		display: block;
	}
	#sp-nav_bnr ul li.pamphlet a img {
		width: 10px;
		margin: -3px 5px 0 0;
	}

	#sp-nav_bnr ul li.bnr_left,
	#sp-nav_bnr ul li.bnr_right {
		width: calc(50% - 12px);
		border-bottom: 1px solid #203880;
		float: left;
	}
	#sp-nav_bnr ul li.bnr_left {
		padding: 8px 4px 8px 8px;
		float: left;
	}
	#sp-nav_bnr ul li.bnr_right {
		padding: 8px 8px 8px 4px;
		float: right;
	}
	#sp-nav_bnr ul li.bnr_left img,
	#sp-nav_bnr ul li.bnr_right img {
		width: 100%;
		max-width: 240px;
	}

	#sp-nav_bnr ul li.sns {
		width: 50%;
		padding: 5px 0;
		float: left;
	}
	#sp-nav_bnr ul li.sns a {
		padding: 5px 0;
		display: block;
	}
	#sp-nav_bnr ul li.sns a:first-child {
		border-right: 1px solid #e6e6e6;
	}
	#sp-nav_bnr ul li.sns img {
		height: 24px;
	}
}




/* footer
========================================================================== */

footer {
	margin: 0 0 0 226px;
	padding: 60px 0 15px;
	background: #e0e0e0;
	border-top: 1px solid #4d6099;
	text-align: left;
	position: relative;
}

#nav_footer {
	width: 904px;
	margin: 0 auto 65px;
	zoom: 1;
}
#nav_footer:after {
	content:"";
	display: block;
	clear: both;
}

#nav_footer dl {
	width: 210px;
	height: 260px;
	padding-left: 15px;
	border-left: 1px solid #666;
	float: left;
}

#nav_footer dl dt {
	margin-top: 35px;
	font-weight: 500;
	line-height: 1;
}
#nav_footer dl dt:first-child {
	margin-top: 0;
}
#nav_footer dl dt a {
	color: #203880;
}

#nav_footer dl dt.apph {
	font-size: 86%; /* 12px */
	font-weight: 400;
}
#nav_footer dl dt.apph a {
	padding-right: 18px;
	background: url(../img/common/icon/external.svg) no-repeat center right;
	background-size: 14px;
	color: #3e3a39;
}

#nav_footer dl dd {
	font-size: 86%; /* 12px */
	line-height: 1;
}

#nav_footer dl dd ul {
	margin-top: 1em;
}
#nav_footer dl dd ul li {
	margin-bottom: 1em;
}

#nav_footer dl dd ul li a {
	color: #3e3a39;
}

#nav_footer address {
	width: 226px;
	font-size: 86%; /* 12px */
	float: right;
}
#nav_footer address img {
	width: 74px;
	margin-bottom: 30px;
	display: block;
}
#nav_footer address strong {
	margin-bottom: 1em;
	font-weight: 500;
	display: block;
}
#nav_footer address span {
	line-height: 1.8;
	display: block;
}

/* pc (small) */
@media only screen and (min-width: 1024px) and (max-width: 1199px) {
	#nav_footer {
		width: 718px;
		padding: 0 40px;
	}

	#nav_footer dl {
		width: 150px;
		padding-left: 10px;
	}
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	footer {
		margin: 0;
		padding: 40px 0 15px;
		border-top: none;
	}

	#nav_footer {
		width: auto;
		margin: 0 auto 25px;
	}

	#nav_footer dl.sp-hide {
		display: none;
	}

	#nav_footer dl {
		width: auto;
		height: auto;
		padding-left: 0;
		border-left: none;
		text-align: center;
		float: none;
	}

	#nav_footer dl dt {
		margin-top: 0;
		font-size: 93%; /* 12px */
		font-weight: 400;
		display: inline-block;
	}
	#nav_footer dl dt:before {
		content: "｜";
	}
	#nav_footer dl dt:last-child:after {
		content: "｜";
	}

	#nav_footer dl dt.apph a {
		padding-right: 0;
		background: none;
		color: #203880;
	}

	#nav_footer address {
		width: 325px;
		margin: 32px auto 0;
		font-size: 93%; /* 12px */
		float: none;
	}
	#nav_footer address img {
		width: 78px;
		margin-right: 35px;
		float: left;
	}
	#nav_footer address strong {
		margin-bottom: 12px;
		font-size: 124%; /* 16px */
	}
}


/* copyright
-------------------------------------------------------------------------- */

#copyright {
	width: 904px;
	margin: 0 auto;
	font-size: 86%; /* 12px */
	text-align: right;
	clear: both;
}
#copyright br {
	display: none;
}

/* pc (small) */
@media only screen and (min-width: 1024px) and (max-width: 1199px) {
	#copyright {
		width: 100%;
		text-align: center;
	}
}

/* phones & tablet */
@media only screen and (max-width: 1023px) {
	#copyright {
		width: auto;
		font-size: 93%; /* 12px */
		text-align: center;
	}
	#copyright br {
		display: block;
	}
}


/* page up
-------------------------------------------------------------------------- */

#pageup {
	position: fixed;
	bottom: 0;
	right: 0;
    z-index: 10000;
}
#pageup img {
	width: 30px;
}



/* print
========================================================================== */

@media only print {
	body {
		background: #fff;
		color: #000;
	}
}