@charset "utf-8";
/*
 *  共通
 */

html {
	font-size:10px;
}
body {
	background: #264993;
	color:#000;
	width: 100%;
	min-height: 100vh;
	font-family: 'Noto Sans','Noto Sans JP', sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.6;
	letter-spacing:0;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
}
a {
	color:#264993;
	display:inline-block;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-decoration: none;
}
a:focus {
	outline:none;
}
a:link{
	color:#264993;
	text-decoration: none;
}
a:visited{
	color: #264993;
	text-decoration: none;
}
a:hover{
	color:#264993;
	text-decoration: underline;
}
a:active{
	color:#264993;
	text-decoration: underline;
}
img {
	line-height: 0;
	border: 0;
	width:100%;
	max-width:none;
	vertical-align:bottom;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
img::selection {
	background-color: transparent;
}
table {
	width:100%;
	table-layout: fixed;
}
a.button {
	text-decoration: none;
}
.button {
	transition: all 0.3s;
}
.button:hover,
.button:active  {
	filter: brightness(1.2);
}
.button-arrow {
	display: inline-block;
	position: relative;
	padding:5px 0 5px 35px;
	font-size:2rem;
	line-height: 1.2;
}
.button-arrow:before {
	content: '';
	position: absolute;
	background-repeat: no-repeat;
	background-image: url(../img/icon-arrow.png);
	background-size:contain;
	width:28px;
	height:28px;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	background-color: #fff;
	border-radius: 34px;
}
.button-arrow:hover:before{
	background-color: #fff100;
}
.shadow {
	filter: drop-shadow(4px 4px 3px rgba(0, 0, 0, 0.5));
	will-change: filter;
}
.wft {
	font-family: 'Tilt Warp', sans-serif;
}
.wfk {
	font-family: 'Kumbh Sans', sans-serif;
}
.wfg {
	font-family: 'Noto Sans','Noto Sans JP', sans-serif;
}
.line-top,
.line-bottom {
	background-size: 10px 3px;
	background-repeat: repeat-x;
	background-position: center;
	background-image: linear-gradient(to right, #264993, #264993 3px, transparent 3px, transparent);
}
.line-top {
	background-position:top;
}
.line-bottom {
	background-position:bottom;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	font-size: 0;
	line-height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
.cleartxt {
	text-indent: -99999%;
	text-decoration: none;
	overflow: hidden;
	white-space: nowrap;
}
.clr{
	clear:both;
}
.text-center {
	text-align: center;
}
@media print, screen and (min-width: 728px) {
	img {
		width:auto;
		max-width: 100%;
	}
	.button-arrow {
		padding-left:40px;
		font-size:2.4rem;
	}
	.button-arrow:before {
		width:33px;
		height:33px;
	}
}
/* layout */
body > .wrapper ,
header ,
main ,
footer {
	width:100%;
	padding:0;
	margin:0;
	position:relative;
	z-index: 0;
}
body > .wrapper {
	margin:24px 0;
	background-color: #e9ecf5;
}
header {
	z-index:2;
}
main {
	z-index:1;
}
.container {
	width:auto;
	margin:0 auto;
	position:relative;
	padding:0 10px;
	overflow: hidden;
}
@media print, screen and (min-width: 728px) {
	.container {
		padding:0 20px;
	}
}
@media print, screen and (min-width: 1025px){
	.container {
		max-width:1200px;
	}
}

/* s.header */
header {
	height:104px;
}
header .logo {
	padding:0;
	margin:17px 0;
	width:215px;
}
header nav {
	opacity:0;
	text-align:center;
	width: 290px;
	height:100%;
	padding: 100px 0 0;
	background:#264993;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
	overflow-y:scroll;
	transform: translate(290px);
	transition:transform 0.5s;
}
header nav.open {
	opacity:0.9;
	transform: translateZ(0);
}
header nav .menu > a {
	display: block;
	padding:1em;
	font-size:1.6rem;
	font-weight: 600;
	color:#fff;
	line-height: 1.4;
	text-decoration: none;
	transition: all 0.3s;
}
header nav .menu > a br {
	display: none;
}
header nav .menu-graduate > a {
	background-color: #4d4397;
}
header nav .menu-career > a {
	background-color: #00a85f;
}
header nav .menu-events > a {
	background-color: #e95433;
}
header nav .menu > .index {
	cursor: default;
}
header nav .menu > .link:hover,
header nav .menu > .link:active {
	font-weight: 700;
}
header nav ul {
	display: block;
	background:#fff;
	padding:12px 10px 10px;
}
header nav li {
	position: relative;
	padding:0;
	margin:0;
	background-size: 7px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}
header nav li:first-child:before {
	content: '';
	position: absolute;
	width:100%;
	height:2px;
	top:-2px;
	left:0;
	background-size: 7px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
}
header nav .menu-graduate li,
header nav .menu-graduate li:first-child:before {
	background-image: linear-gradient(to right, #4d4397, #4d4397 2px, transparent 2px, transparent);
}
header nav .menu-career li,
header nav .menu-career li:first-child:before {
	background-image: linear-gradient(to right, #00a85f, #00a85f 2px, transparent 2px, transparent);
}
header nav li a {
	display:block;
	position:relative;
	padding:1em 0;
	font-size:1.6rem;
	font-weight: 500;
	line-height:1.4;
	text-decoration:none;
}
header nav li a span {
	display: block;
	font-size:0.75em;
}
header nav .menu-graduate li a {
	color:#4d4397;
}
header nav .menu-career li a {
	color:#00a85f;
}
header nav li a:hover,
header nav li a:active {
	text-decoration: none;
	font-weight: 700;
}
header .menu-trigger {
	display: inline-block;
	width: 36px;
	height: 29px;
	vertical-align: middle;
	cursor: pointer;
	position: fixed;
	top: 62px;
	right: 24px;
	z-index: 100;
	transform: translateX(0);
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
header .menu-trigger span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #333;
	transition: all 0.5s;
	border-radius:10px;
}
header .menu-trigger.active span {
 	background-color: #fff;
}
header .menu-trigger span:nth-of-type(1) {
 	top: 0;
}
header .menu-trigger.active span:nth-of-type(1) {
 	transform: translateY(12px) rotate(-45deg);
}
header .menu-trigger span:nth-of-type(2) {
 	top: 12px;
}
header .menu-trigger.active span:nth-of-type(2) {
 	opacity: 0;
}
header .menu-trigger span:nth-of-type(3) {
 	bottom: 0;
}
header .menu-trigger.active span:nth-of-type(3) {
 	transform: translateY(-12px) rotate(45deg);
}
@media print, screen and (min-width: 728px) {
	header {
		height:170px;
	}
	header .container {
		display: flex;
		overflow: visible;
	}
	header .logo {
		width:274px;
		margin:40px 0;
	}
	header nav {
		position: relative;
		display:flex;
		align-items: center;
		flex:1;
		margin:0 0 0 3%;
		padding:0;
		background:transparent;
		overflow-y:visible;
		width:auto;
		height:auto;
		z-index:0;
		left:auto;
		right:auto;
		left:0;
		top:0 !important;
		transform:none;
		opacity:1;
		transition: all 0s;
	}
	header nav .menu {
		position: relative;
		width:31.3%;
		margin:0 0 0 2%;
	}
	header nav .menu > a {
		padding:10px 0;
	}
	header nav .menu > a br{
		display: inline;
	}
	header nav .menu > .index {
		cursor:pointer;
	}	
	header nav .menu > a:hover,
	header nav .menu > a:active {
		filter:brightness(1.2);
	}
	header nav ul {
		display: block;
		position: absolute;
		z-index:999;
		width:100%;
		min-width:215px;
		height:0;
		overflow: hidden;
		left:0;
		top:100%;
		padding: 0;
		margin:6px 0 0;
		opacity: 0;
		box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.4);
		transition: opacity 0.3s;
	}
	header nav ul.open {
		height:auto;
		opacity: 1;
		padding:10%;
	}
	header nav li {
		margin:0;
		padding:0;
	}
	header nav li a {
		padding:10px 0;
	}
	header .menu-trigger {
		display:none;
	}
}
@media print, screen and (min-width: 1025px){
	header .container {
		padding:0 40px;
	}
	header .logo {
		margin:40px 0 0;
	}
	header nav {
		margin:40px 0 0 14%;
	}
	header nav .menu > a {
		font-size:2rem;
		font-weight:500;
		padding:7px 0;
	}
	header nav .menu > a br{
		display: none;
	}
}
.main-image {
	position:relative;
	margin:0 auto;
	padding-top:30px;
	width:100%;
	max-width:940px;
	overflow:hidden;
}
.main-image > .main-slider {
	position:relative;
	width:100%;
}
.main-image > .main-slider li {
	position: relative;
	text-align: center;
}
@media print, screen and (min-width: 728px) {
	.main-image {
		padding-top:60px;
	}
}
main > .breadcrumbs {
	background-color: #c1cce0;
	overflow-x: auto;
}
main > .breadcrumbs > .container {
	display: table;
	width:100%;
}
main > .breadcrumbs > .container > * {
	display: table-cell;
	padding:10px 0;
	font-size:1.4rem;
	line-height: 1.3;
	color:#000;
	white-space: nowrap;
	vertical-align: middle;
}
main > .breadcrumbs > .container > *:last-child {
	width:100%;
}
@media print, screen and (min-width: 728px) {
	main > .breadcrumbs > .container {
		display: flex;
		align-items: center;
		min-height:54px;
	}
	main > .breadcrumbs > .container > * {
		padding:3px 0;
		font-size:1.6rem;
		white-space: normal;
	}
	main > .breadcrumbs > .container > *:last-child {
		flex:1;
	}
}
@media print, screen and (min-width: 1025px) {
	main > .breadcrumbs > .container {
		padding:0 40px;
	}
	main > .breadcrumbs > .container > * {
		font-size:1.8rem;
	}
}
main > .container > .title {
	padding:30px 0 0;
	text-align: center;
	font-family: 'Tilt Warp',sans-serif;
	font-size:4rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.025em;
	color:#264993;
}
main > .container > .title span {
	display: block;
	font-size:2rem;
	transform:scale(0.8, 1);
	padding:0;
}
main > .container > .title span:last-child {
	padding:0.3em 0 0;
}
main > .container > .title span:first-child {
	padding:0 0 0.1em;
}
@media print, screen and (min-width: 728px) {
	main > .container > .title {
		padding-top:60px;
		font-size:8rem;
	}
	main > .container > .title span {
		font-size:4.8rem;
	}
}
.section {
	position: relative;
	margin:0 auto;
	padding:40px 0 0;
}
.section:first-child {
	padding-top:30px;
}
.section:last-child {
	padding-bottom:40px;
}
.section > .title {
	position: relative;
	margin:0;
	padding:0;
	font-size:2.4rem;
	font-weight:700;
	line-height:1.4;
	text-align:center;
	color:#264993;
}
.section > .title.invert {
	padding:0.5em;
	background-color: #264993;
	font-size:1.8rem;
	color:#fff;
}
.section > .text {
	position: relative;
	margin:20px 0 0;
	padding:0;
	font-size:1.6rem;
	font-weight:500;
}
.section > .box {
	position: relative;
	margin:30px 0 0;
}
.section > .image {
	position: relative;
	margin:20px auto 0;
	text-align: center;
}
.section > .group-button {
	margin:0 -10px;
	padding:10px 0 0;
	font-size:0;
	text-align:center;
}
.list-box {
	font-size:0;
	text-align:center;
}
.list-box > li {
	position:relative;
	display:inline-block;
	vertical-align: top;
}
.list-bullet > li,
.list-double > li,
.list-square > li,
.list-notice > li {
	padding-left:1em;
}
.list-bullet > li:before,
.list-double > li:before,
.list-square > li:before,
.list-notice > li:before {
	content:'';
	position:absolute;
	left:0;
}
.list-bullet > li:before {
	content:'●';
}
.list-double > li:before {
	content:'◎';
}
.list-square > li:before {
	content:'■';
}
.list-notice  > li:before{
	content:'※';
}
.section > *:first-child {
	margin-top:0 !important;
}
.popup-hidden {
	display: none;
}
@media print, screen and (min-width: 728px) {
	.section {
		padding-top:60px;
		max-width:940px;
	}
	.section:first-child {
		padding-top:60px;
	}
	.section:last-child {
		padding-bottom:60px;
	}
	.section > .title {
		font-size:3.6rem;
	}
	.section > .title.invert {
		padding:10px;
		font-size:2.4rem;
	}
	.section > .text {
		margin:30px 0 0;
		font-size:2rem;
	}
	.section > .box {
		margin:30px 0 0;
	}
	.section > .image {
		margin:30px 0 0;
	}
	.section > .group-button {
		margin:0 -15px;
	}
}
@media print, screen and (min-width: 1025px){
	
}
footer .logo {
	width:274px;
	margin:0 auto;
}
footer .introduction {
	margin:26px auto 0;
	padding:0;
	font-size:0;
	text-align: center;
}
footer .introduction li {
	display: inline-block;
	vertical-align: middle;
	width:100%;
	margin:0;
	padding:0;
	color:#000;
	font-size:1.5rem;
	line-height:1.4;
}
footer .introduction .tel,
footer .introduction .fax {
	width:auto;
	padding-left:1em;
}
footer .copyright {
	margin:0;
	padding:12px 0 30px;
	color:#000;
	font-size:1.2rem;
	line-height:1.4;
	text-align: center;
}
@media print, screen and (min-width: 728px){
	footer .logo {
		width:312px;
	}
}
@media print, screen and (min-width: 1025px){
	footer .introduction .zip,
	footer .introduction .address1,
	footer .introduction .address2 {
		width:auto;
		padding-left:1em;
	}
}
.vd,.vt,.hm {
	display:none !important;
}
.hd,.ht,.vm {
	display:inherit !important;
}
br.vd,br.hd,br.vt,br.htbr.vm,br.vm {
	line-height:0 !important;
}
@media print, screen and (min-width: 728px){
	.vd,.ht,.vm {
		display:none !important;
	}
	.hd,.vt,.hm {
		display:inherit !important;
	}
}
@media print, screen and (min-width: 1025px){
	.hd,.vt,.vm {
		display:none !important;
	}
	.vd,.ht,.hm {
		display:inherit !important;
	}
}
/* print */
@media print {
	body{
		-webkit-print-color-adjust: exact;
	}
	#ToolBar {
		display:none !important;
	}
	.section > div {
		page-break-inside:avoid;
	}
}
@page {
	size: A4 portrait;
	margin-left:   0;
 	margin-right:  0;
 	margin-top:    10mm;
 	margin-bottom: 10mm;
}
