@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:400,700&display=swap&subset=latin-ext');

@font-face {
	font-family: 'Palanquin Dark';
	font-style: normal;
	font-weight: 500;
	src: url('../fonts/PalanquinDark-Medium.woff2') format('woff2'),
		url('../fonts/PalanquinDark-Medium.woff') format('woff');
}

@font-face {
	font-family: 'Palanquin Dark R';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/PalanquinDark-Regular.woff2') format('woff2'),
		url('../fonts/PalanquinDark-Regular.woff') format('woff');
}

/* ▼------- Header -------▼ */
#header {
	width: 100%;
	height: 65px;
	position: fixed;
	top: 0;
	z-index: 9999;
	background: #FFF;
}

	#header #headerInner {
		width: 100%;
		max-width: 980px;
		margin: 0 auto;
		padding: 0;
		display: flex;
	}

	#header #siteTitle {
		width: 30.6%;
		margin: 0;
		padding: 15px 0 0 0;
		box-sizing: border-box;
	}

		#header #siteTitle a {
			display: flex;
			justify-content: flex-start;
			align-content: center;
			align-items: center;
		}

		#header #siteTitle .logo {
			width: 18%;
		}

			#header #siteTitle .logo img {
				width: 100%;
			}

		#header #siteTitle .line {
			width: 2.6%;
			z-index: 9;
			margin: -10px 0 0 8px;
		}

			#header #siteTitle .line img {
				width: 100%;
			}

		#header #siteTitle .title {
			width: 79.4%;
			margin-left: -5px;
			font-family: 'Palanquin Dark', sans-serif;
			font-size: 28px;
			font-size: 2.8rem;
			line-height: 1em;
			font-weight: 500;
			letter-spacing: normal;
			text-align: left;
			background: linear-gradient(to right, #333333 0%,#999999 50%,#333333 100%);
			-webkit-background-clip: text;
			color: transparent;
		}

		@media all and (-ms-high-contrast: none){
			#header #siteTitle .title {
				background: none;
				color: #333;
				font-family: 'Palanquin Dark', sans-serif;
				font-weight: 500;
			}
		}

		@supports (-ms-ime-align:auto) {
			#header #siteTitle .title {
				background: none;
				color: #333;
				font-family: 'Palanquin Dark', sans-serif;
				font-weight: 500;
			}
		}

		#header #siteTitle a {
			text-decoration: none;
			color: #333;
		}

		#header #siteTitle a:hover {
			color: #333;
		}

	#header #gnav {
		width: 69.4%;
	}

		#header #gnav nav {
			width: 100%;
			display: flex;
			justify-content: flex-start;
		}

		#header ul.mainMenu {
			width: 85.3%;
			margin: 0;
			padding: 0 20px 0 0;
			box-sizing: border-box;
			display: flex;
			justify-content: flex-end;
			align-content: center;
			align-items: center;
		}

			#header ul.mainMenu li {
				width: auto;
				font-size: 13px;
				font-size: 1.3rem;
				line-height: 1em;
				text-align: center;
				padding: 2px 10px;
				position: relative;
				border-left: 1px solid #666;
				color: #666;
			}

				#header ul.mainMenu li:last-child {
					border-right: 1px solid #666;
				}

				#header ul.mainMenu li:hover {
					color: #E50112;
					-webkit-transition: 0.2s ease-in-out;
					-moz-transition: 0.2s ease-in-out;
					-o-transition: 0.2s ease-in-out;
					transition: 0.2s ease-in-out;
				}

				#header ul.mainMenu li a {
					width: 100%;
					display: block;
					text-decoration: none;
					color: #666;
				}

				#header ul.mainMenu li a:hover {
					text-decoration: none;
					color: #E50112;
				}

				#header ul.mainMenu li .current {
					color: #E50112;
					font-weight: bold;
				}

					#header ul.mainMenu li .current a {
						color: #E50112;
						font-weight: bold;
					}


		#header ul.subMenu {
			width: 150px;
			margin: 0;
			padding: 0;
			position: absolute;
			top: 25px;
			display: none;
		}

			#header ul.subMenu li {
				width: 100%;
				margin: 0;
				padding: 0;
				box-sizing: border-box;
				border: none !important;
			}

				#header ul.subMenu li a {
					width: 100%;
					display: inline-block;
					padding: 13px 0;
					background: rgba(255,220,203,1.00);
					color: #333;
					box-sizing: border-box;
				}

				#header ul.subMenu li a:hover {
					background: #E50112;
					color: #FFF;
				}

		#header ul.mainMenu li:hover ul.subMenu {
			display: inline-block;
			margin: 0;
			padding: 0;
			background: rgba(255,220,203,1.00);
		}

			#header ul.mainMenu li:hover ul.subMenu:before {
				content: "";
				position: absolute;
				top: -20px;
				left: 50%;
				margin-left: -10px;
				border: 10px solid transparent;
				border-bottom: 10px solid rgba(255,220,203,1.00);
			}

		#header ul.subMenu li i {
			font-size: 85%;
		}

	#header .entry {
		width: 14.7%;
	}

		#header .entry a {
			width: 100%;
			height: 65px;
			background: #E50112;
			color: #fff;
			font-size: 18px;
			font-size: 1.8rem;
			line-height: 1em;
			font-family: 'Palanquin Dark', sans-serif;
			font-weight: 400;
			letter-spacing: 1px;
			text-shadow: 0 0 2px #666;
			text-align: center;
			text-decoration: none;
			padding: 21px 0 0 0;
			box-sizing: border-box;
			display: block;
		}

		@media all and (-ms-high-contrast: none){
			#header .entry a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		@supports (-ms-ime-align:auto) {
			#header .entry a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		#header .entry a:hover {
			background: #008CD5;
		}

	#nav_toggle{
		display: none;
	}

/* ▼------- Contents Title -------▼ */

#titleArea {
	width: 100%;
	height: 230px;
	margin: 65px 0 0 0;
}

	#titleArea .titleAbout,
	#titleArea .titleWork,
	#titleArea .titleStaff,
	#titleArea .titleSystem,
	#titleArea .titleRecruit {
		width: 100%;
		height: 230px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#titleArea .titleAbout {
		background: url("../../about/img/titleAbout.png") center top no-repeat;
		background-size: cover;
	}

	#titleArea .titleWork {
		background: url("../../work/img/titleWork.png") center top no-repeat;
		background-size: cover;
	}

	#titleArea .titleStaff {
		background: url("../../staff/img/titleStaff.png") center top no-repeat;
		background-size: cover;
	}

	#titleArea .titleSystem {
		background: url("../../system/img/titleSystem.png") center top no-repeat;
		background-size: cover;
	}

	#titleArea .titleRecruit {
		background: url("../../recruit/img/titleRecruit.png") center top no-repeat;
		background-size: cover;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {

		#titleArea .titleAbout {
			background: url("../../about/img/titleAbout@2x.png") center top no-repeat;
			background-size: cover;
		}

		#titleArea .titleWork {
			background: url("../../work/img/titleWork@2x.png") center top no-repeat;
			background-size: cover;
		}

		#titleArea .titleStaff {
			background: url("../../staff/img/titleStaff@2x.png") center top no-repeat;
			background-size: cover;
		}

		#titleArea .titleSystem {
			background: url("../../system/img/titleSystem@2x.png") center top no-repeat;
			background-size: cover;
		}

		#titleArea .titleRecruit {
			background: url("../../recruit/img/titleRecruit@2x.png") center top no-repeat;
			background-size: cover;
		}

	}

#titleArea2 {
	width: 100%;
	height: 450px;
	margin: 65px 0 0 0;
}

	#titleArea2 .titleSymposium {
		width: 100%;
		height: 450px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: url("../../staff/img/titleSymposium.png") center top no-repeat;
		background-size: cover;
		position: relative;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
		#titleArea2 .titleSymposium {
			background: url("../../staff/img/titleSymposium@2x.png") center top no-repeat;
			background-size: cover;
		}
	}

	#titleArea .titleBox {
		width: auto;
		background: rgba(255,255,255,0.8);
		padding: 2% 5% 2.3% 5%;
		box-sizing: border-box;
		box-shadow: 0 0 10px #999;
	}

	#titleArea2 .titleBox {
		width: 450px;
		background: rgba(255,255,255,0.8);
		margin: 0 auto;
		padding: 30px 20px 33px 20px;
		box-sizing: border-box;
		box-shadow: 0 0 10px #999;
		position: absolute;
		bottom: -60px;
		left: 0;
		right: 0;
	}

		#titleArea .titleBox .en,
		#titleArea2 .titleBox .en {
			text-align: center;
			font-family: 'Palanquin Dark', sans-serif;
			font-size: 40px;
			font-size: 4rem;
			line-height: 1em;
			font-weight: 500;
			letter-spacing: 2px;
			background: linear-gradient(to right, #333333 0%,#999999 50%,#333333 100%);
			-webkit-background-clip: text;
			color: transparent;
		}

		@media all and (-ms-high-contrast: none){
			#titleArea .titleBox .en,
			#titleArea2 .titleBox .en {
				background: none;
				color: #333;
				font-family: 'Palanquin Dark', sans-serif;
				font-weight: 500;
			}
		}

		@supports (-ms-ime-align:auto) {
			#titleArea .titleBox .en,
			#titleArea2 .titleBox .en {
				background: none;
				color: #333;
				font-family: 'Palanquin Dark', sans-serif;
				font-weight: 500;
			}
		}

			#titleArea2 .titleBox .en:before,
			#titleArea .titleBox .en:before {
				content:"";
				display: inline-block;
				width: 16px;
				height: 13px;
				background: url("../img/titleIcon.png") 0 0 no-repeat;
				background-size: 16px 13px;
				position: relative;
				top: -6px;
				padding-right: 10px;
			}

			@media only screen and (-webkit-min-device-pixel-ratio: 2) {
				#titleArea .titleBox .en:before,
				#titleArea2 .titleBox .en:before {
					background: url("../img/titleIcon@2x.png") 0 0 no-repeat;
					background-size: 16px 13px;
				}
			}

		#titleArea .titleBox .jp,
		#titleArea2 .titleBox .jp {
			text-align: center;
			font-size: 14px;
			font-size: 1.4rem;
			line-height: 1em;
			letter-spacing: 2px;
			margin: 10px 0 0 0;
			font-weight: normal;
			color: #666;
		}

/* ▼------- Topic Path -------▼ */
#topicPath {
	width: 100%;
	margin: 25px 0;
	padding: 0;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: left;
}

/* ▼------- Page Inner Link -------▼ */
#innerLink {
	width: 100%;
	margin: 0 0 30px 0;
	padding: 15px 0;
	border-top: 1px solid #CCC;
}

	#innerLinkWrap {
		width: 100%;
		max-width: 980px;
		margin: 0 auto;
		padding: 0;
		position: relative;
		overflow: hidden;
	}

		#innerLinkWrap ul {
			width: auto;
			margin: 0;
			padding: 0;
			display: flex;
			justify-content: flex-end;
		}

			#innerLinkWrap ul li {
				width: auto;
				margin: 0 0 0 20px;
			}

				#innerLinkWrap ul li a {
					color: #666;
					text-decoration: none;
				}

				#innerLinkWrap ul li a:hover {
					color: #008CD5;
				}

				#innerLinkWrap ul li i {
					margin: 0 5px 0 0;
					color: #E50112;
				}

				#innerLinkWrap ul li a:hover i {
					color: #008CD5;
				}

/* ▼------- wrap -------▼ */
#wrap {
	width: 100%;
	max-width: 980px;
	margin: 0 auto 50px auto;
	padding: 0;
	position: relative;
	overflow: hidden;
}

/* パンくず用 */
#tpWrap {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
}

/* 背景があるブロック用 */
#conWrap {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}

/* 背景があるブロック用（下の余白なし） */
#conWrapB0 {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 80px 0 0 0;
	position: relative;
	overflow: hidden;
}

/* 背景があるブロック用（食い込ませる） */
#conWrap2 {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 0 0 80px 0;
	position: absolute;
	top: -30px;
	left: calc((100% - 980px) / 2);
}

/* 背景があるブロック用（左寄せ） */
#conWrap3 {
	width: auto;
	margin: 0 calc((100% - 980px) / 2) 0 0;
	padding: 40px 0;
	position: relative;
	overflow: hidden;
}

/* 背景があるブロック用（右寄せ） */
#conWrap4 {
	width: auto;
	margin: 0 0 0 calc((100% - 980px) / 2);
	padding: 40px 0;
	position: relative;
	overflow: hidden;
}



/* ▼------- Background -------▼ */

/* 左上Uのみ */
#bg01 {
	width: 100%;
	min-height: 380px;
	margin: 0 0 50px 0;
	padding: 0;
	position: relative;
}

	#bg01:before {
		content: '';
		display: inline-block;
		position: absolute;
		width: 480px;
		height: 380px;
		left: calc(((100% - 980px) / 2) - 110px);
		top: 0;
		background: url("../img/conTitleBg.png") left top no-repeat;
		background-size: 100%;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
		#bg01:before {
			background: url("../img/conTitleBg@2x.png") left top no-repeat;
			background-size: 100%;
		}
	}

/* ベージュバック＋右上四角 */
#bg02 {
	width: 100%;
	min-height: 380px;
	margin: 100px 0 50px 0;
	padding: 0;
	position: relative;
	background: linear-gradient(90deg, #FAF4EB 80%, #FFF 20%);
}

	#bg02:before {
		content: '';
		display: inline-block;
		position: absolute;
		width: 480px;
		height: 380px;
		left: calc(((100% - 980px) / 2) - 110px);
		top: 0;
		background: url("../img/conTitleBg.png") left top no-repeat;
		background-size: 100%;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
		#bg02:before {
			background: url("../img/conTitleBg@2x.png") left top no-repeat;
			background-size: 100%;
		}
	}

	#bg02:after {
		content: '';
		display: inline-block;
		position: absolute;
		width: 35%;
		height: 300px;
		right: 0;
		top: -50px;
		background: linear-gradient(to right, rgba(251,210,213,0.3) 0%,rgba(221,250,225,0.3) 50%,rgba(190,229,255,0.3) 100%);
	}

/* ベージュバック＋右上U */
#bg03 {
	width: 100%;
	min-height: 380px;
	margin: 100px 0 50px 0;
	position: relative;
	background: linear-gradient(90deg, #FAF4EB 80%, #FFF 20%);
}

	#bg03:before {
		content: '';
		display: inline-block;
		position: absolute;
		width: 480px;
		height: 380px;
		right: 0;
		top: -50px;
		background: url("../img/conTitleBg.png") left top no-repeat;
		background-size: 100%;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
		#bg03:before {
			background: url("../img/conTitleBg@2x.png") left top no-repeat;
			background-size: 100%;
		}
	}

/* ベージュバック（左80%） */
#bg04 {
	width: 100%;
	min-height: 380px;
	margin: 0 0 50px 0;
	padding: 0;
	position: relative;
	background: linear-gradient(90deg, #FAF4EB 80%, #FFF 20%);
}

/* ベージュバック（右80%） */
#bg05 {
	width: 100%;
	min-height: 380px;
	margin: 0 0 50px 0;
	padding: 0;
	position: relative;
	background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 20%, #FAF4EB 20%, #FAF4EB 100%);
}

/* グラデバック（左80%） */
#bg06 {
	width: 100%;
	min-height: 380px;
	margin: 0 0 50px 0;
	padding: 0;
	position: relative;
	background: linear-gradient(to right, rgba(251,210,213,0.3) 0%,rgba(221,250,225,0.3) 40%,rgba(190,229,255,0.3) 80%,rgba(255,255,255,0.3) 80%,rgba(255,255,255,0.3) 100%);
}

/* グラデバック（右80%） */
#bg07 {
	width: 100%;
	min-height: 380px;
	margin: 0 0 50px 0;
	padding: 0;
	position: relative;
	background: linear-gradient(to left, rgba(251,210,213,0.3) 0%,rgba(221,250,225,0.3) 40%,rgba(190,229,255,0.3) 80%,rgba(255,255,255,0.3) 80%,rgba(255,255,255,0.3) 100%);
}

/* 右上Uのみ */
#bg08 {
	width: 100%;
	min-height: 300px;
	margin: 0 0 50px 0;
	padding: 0;
	position: relative;
}

	#bg08:before {
		content: '';
		display: inline-block;
		position: absolute;
		width: 480px;
		height: 380px;
		right: calc(((100% - 980px) / 2) - 110px);
		top: -76px;
		background: url("../img/conTitleBg.png") left top no-repeat;
		background-size: 100%;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
		#bg08:before {
			background: url("../img/conTitleBg@2x.png") left top no-repeat;
			background-size: 100%;
		}
	}









/* ▼------- Contents Title -------▼ */

/* 左上　英語画像併記 */
.conTitleWrap {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}

	.conTitle,
	.conTitle2 {
		width: auto;
		margin: 0;
		padding: 0;
	}

		.conTitleEn,
		.conTitleEn2 {
			width: auto;
			margin: 0 0 45px 0;
			padding: 0;
			position: relative;
			display: block;
		}

			.conTitleEn:after {
				content: '';
				position: absolute;
				left: 50%;
				bottom: -20px;
				display: inline-block;
				width: 60px;
				height: 2px;
				-webkit-transform: translateX(-50%);
				transform: translateX(-50%);
				background-color: #999;
			}

		.conTitleTxt {
			width: auto;
			margin: 0;
			padding: 0;
			text-align: center;
			color: #E50112;
			font-size: 20px;
			font-size: 2rem;
			line-height: 1em;
			font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", 'Meiryo', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
			font-weight: 400;
			letter-spacing: 2px;
		}

	.conLead {
		width: auto;
		margin: 0;
		padding: 0;
	}

/* センター寄せ（日本語のみ） */
.conTitleN {
	width: 100%;
	margin: 0 0 50px 0;
	padding: 0;
	text-align: center;
	color: #E50112;
	font-size: 30px;
	font-size: 3rem;
	line-height: 1.6em;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", 'Meiryo', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	letter-spacing: 2px;
}

/* 中見出し */
.catTitle {
	width: 100%;
	margin: 0 0 25px 0;
	padding: 0 0 5px 0;
	text-align: left;
	border-bottom: 1px solid #E50112;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.8em;
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", 'Meiryo', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	letter-spacing: 2px;
}




/* ▼------- Button -------▼ */
.backBtn,
.backBtnJp {
	width: 250px;
	margin: 0 auto;
}

.backBtnJpW {
	width: 500px;
	margin: 0 auto;
}

	.backBtn a {
		width: 100%;
		display: block;
		background: url("../img/entryArrowWhite.png") right 25px no-repeat #E50112;
		border: 2px solid #E50112;
		color: #FFF;
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 1em;
		font-family: 'Palanquin Dark', sans-serif;
		font-weight: 400;
		text-align: center;
		text-decoration: none;
		padding: 18px 0 22px 0;
		box-sizing: border-box;
	}

		@media all and (-ms-high-contrast: none){
			.backBtn a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		@supports (-ms-ime-align:auto) {
			.backBtn a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

	.backBtnJp a,
	.backBtnJpW a {
		width: 100%;
		display: block;
		background: url("../img/entryArrowWhite.png") right 25px no-repeat #E50112;
		border: 2px solid #E50112;
		color: #FFF;
		font-size: 20px;
		font-size: 2rem;
		line-height: 1em;
		font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", 'Meiryo', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-weight: 400;
		letter-spacing: 1px;
		text-align: center;
		text-decoration: none;
		padding: 18px 0 22px 0;
		box-sizing: border-box;
	}

	.backBtn a:hover,
	.backBtnJp a:hover,
	.backBtnJpW a:hover {
		border: 2px solid #008CD5;
		color: #008CD5;
		background: url("../img/entryArrowBlue.png") right 25px no-repeat #FFF;
	}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {

		.backBtn a,
		.backBtnJp a,
		.backBtnJpW a {
			background: url("../img/entryArrowWhite@2x.png") right 25px no-repeat #E50112;
			background-size: 48px 11px;
		}

		.backBtn a:hover,
		.backBtnJp a:hover,
		.backBtnJpW a:hover {
			background: url("../img/entryArrowBlue@2x.png") right 25px no-repeat #FFF;
			background-size: 48px 11px;
		}

	}





/* ▼------- Footer -------▼ */
#entry {
	width: 100%;
	height: 200px;
	margin: 0;
	padding: 60px 0;
	box-sizing: border-box;
	background: url("../img/entryBg.png") center top no-repeat;
	background-size: cover;
}

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
		#entry {
			background: url("../img/entryBg@2x.png") center top no-repeat;
			background-size: cover;
		}
	}

	#entry .entryBtn {
		width: 250px;
		margin: 0 auto;
		position: relative;
	}

		#entry .joinus {
			position: absolute;
			z-index: 99;
			left: -55px;
			top: -35px;
		}

		#entry a {
			width: 100%;
			display: block;
			background: url("../img/entryArrow.png") right 25px no-repeat rgba(255,255,255,0.8);
			border: 2px solid #E50112;
			color: #E50112;
			font-size: 26px;
			font-size: 2.6rem;
			line-height: 1em;
			font-family: 'Palanquin Dark', sans-serif;
			font-weight: 400;
			text-align: center;
			text-decoration: none;
			padding: 18px 0 22px 0;
			box-sizing: border-box;
			position: relative;
		}

		@media all and (-ms-high-contrast: none){
			#entry a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		@supports (-ms-ime-align:auto) {
			#entry a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		#entry a:hover {
			border: 2px solid #008CD5;
			color: #FFF;
			background: url("../img/entryArrowWhite.png") right 25px no-repeat #008CD5;
		}

		@media only screen and (-webkit-min-device-pixel-ratio: 2) {
			#entry a {
				background: url("../img/entryArrow@2x.png") right 25px no-repeat rgba(255,255,255,0.8);
				background-size: 48px 11px;
			}

			#entry a:hover {
				background: url("../img/entryArrowWhite@2x.png") right 25px no-repeat #008CD5;
				background-size: 48px 11px;
			}
		}

/* ▼------- Page Top -------▼ */
#pageTop {
	position: fixed;
	bottom: 2%;
	right: 4%;
	width: 14px;
	height: 123px;
	z-index: 999;
}

	#pageTop a {
		width: 100%;
		height: 100%;
		z-index: 999;
		text-decoration: none;
	}

		#pageTop a img {
			width: 100%;
		}

	#pageTop a:hover {
		opacity: 0.5;
	}

/* ▼------- Footer -------▼ */
footer {
	width: 100%;
	margin: 0;
	padding: 40px 0 50px 0;
	background: #FAF4EB;
}

	footer .copyright {
		width: 100%;
		font-size: 14px;
		font-size: 1.4rem;
		letter-spacing: 2px;
		text-align: center;
		color: #666;
		font-family: 'Roboto', sans-serif;
	}

		footer .copyright .logo {
			width: 84px;
			margin: 0 auto 15px auto;
		}

			footer .copyright .logo img {
				width: 100%;
			}

/* ▼------- Contact -------▼ */
#contact {
	display: none;
}

/* ▼------- Table Style -------▼ */
.normalTable {
	width: 100%;
	margin: 0 0 30px 0;
	text-align: left;
	border-right: 3px solid #CCC;
	border-top: 3px solid #CCC;
	border-bottom: 3px solid #CCC;
	box-sizing: border-box;
}

	.normalTable th {
		width: 20%;
		margin: 0;
		padding: 20px 0;
		box-sizing: border-box;
		border-bottom: 1px solid #CCC;
		border-left: 3px solid #CCC;
		text-align: center;
		font-weight: normal;
		background: #FAF4EB;
		vertical-align: top;
	}

		.normalTable th span.fontS {
			font-size: 70% !important;
			line-height: 1.2em !important;
		}

	.normalTable td {
		width: 80%;
		margin: 0;
		padding: 20px;
		box-sizing: border-box;
		border-bottom: 1px solid #CCC;
		border-left: 1px solid #CCC;
		background: #FFF;
		vertical-align: top;
	}


/* ▼------- Common Style -------▼ */

.spOnly {
	display: none !important;
}

p.photo img {
	width: auto;
}

p.photo2 img {
	width: auto;
}

p.photo80 img {
	width: 80%;
}

div.photo img {
	width: 100%;
}

.alC {
	text-align: center;
}

.alCPc {
	text-align: center;
}

.alLSpT {
	text-align: center;
}

.alR {
	text-align: right;
}

.alL {
	text-align: left;
}

.flR {
	float: right;
	padding: 0 0 10px 20px;
}

.flL {
	float: left;
	padding: 0 20px 10px 0;
}

.flC {
	margin: 0 auto;
	text-align: center;
}

.halfL {
	width: 48%;
	float: left;
}

.halfR {
	width: 48%;
	float: right;
}

.halfC {
	width: 50% !important;
	margin: 0 25%;
}

.flRRes {
	float: right;
	padding: 0 0 10px 20px;
}

.flLRes {
	float: left;
	padding: 0 20px 10px 0;
}

.fontS {
	font-size: 85% !important;
	line-height: 1.8em !important;
}

.fontSS {
	font-size: 75% !important;
	line-height: 1.8em !important;
}

.fontGo {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fontMin {
	font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", sans-serif;
}

.fontSR {
	font-size: 80% !important;
	line-height: 1.8em !important;
	color: #D00000 !important;
}

.fontRed {
	color: #D00000 !important;
}

.fontBold {
	font-weight: bold !important;
}

.mrgnT0 {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.mrgnT120 {
	padding-top: 120px !important;
}

.mrgnT200 {
	padding-top: 200px !important;
}

.mrgnT50 {
	padding-top: 50px !important;
}

.mrgnT20 {
	padding-top: 20px !important;
}

.mrgnT30 {
	padding-top: 30px !important;
}

.mrgnB80 {
	padding-bottom: 80px !important;
}

.mrgnB150 {
	padding-bottom: 150px !important;
}

.mrgnB10 {
	padding-bottom: 10px !important;
	margin-bottom: 0 !important;
}

.mrgnB20 {
	padding-bottom: 20px !important;
	margin-bottom: 0 !important;
}

.mrgnB30 {
	padding-bottom: 30px !important;
	margin-bottom: 0 !important;
}

.mrgnB40 {
	padding-bottom: 40px !important;
	margin-bottom: 0 !important;
}

.mrgnB50 {
	padding-bottom: 50px !important;
	margin-bottom: 0 !important;
}

.mrgnB0 {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.mrgnB00 {
	margin-bottom: 0 !important;
}

.linkImg {
	width: 40%;
	margin: 0 auto 20px auto;
}

	.linkImg img {
		width: 100%;
		object-fit: cover;
	}

	.linkImg a:hover img {
		opacity: 0.8;
	}

.wShadow {
	text-shadow: 
		white 1px 1px 0, white -1px -1px 0,
		white -1px 1px 0, white 1px -1px 0,
		white 0px 1px 0, white 0-1px 0,
		white -1px 0 0, white 1px 0 0;
}

span.kei {
	letter-spacing: -1px;
}

@media screen and (min-width: 769px) and ( max-width: 1080px) {

	#header #headerInner {
		width: 95%;
		max-width: auto;
		margin: 0 0 0 5%;
	}

	#header #siteTitle {
		padding: 18px 0 0 0;
	}

		#header #siteTitle .title {
			font-size: 20px;
			font-size: 2rem;
		}

			#header ul.mainMenu li {
				padding: 2px 5px;
			}

		#header ul.subMenu {
			top: 30px;
		}

			#header ul.subMenu li {
				padding: 0;
			}

	#contact {
		display: none;
	}

	#wrap {
		width: 90%;
		max-width: auto;
		margin: 0 5% 50px 5%;
	}

	#tpWrap {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
	}

	#conWrap {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
	}

	#conWrapB0 {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
	}

	#conWrap2 {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
		left: 0;
	}

	#conWrap3 {
		width: 95%;
		margin: 0 5% 0 0;
	}

	#conWrap4 {
		width: 95%;
		margin: 0 0 0 5%;
	}

	#bg01:before,
	#bg02:before {
		left: 0;
	}

	#bg08:before {
		right: 0;
	}


	p.photo img {
		width: 100%;
		object-fit: cover;
	}

	.alLSpT {
		text-align: left;
	}

}


@media screen and (max-width: 768px) {

	#header #headerInner {
		width: 90%;
		max-width: auto;
	}

	#header #siteTitle {
		width: 80%;
		padding: 20px 0 0 0;
	}

		#header #siteTitle .logo {
			width: 10%;
			display: flex;
			align-items: center;
		}

			#header #siteTitle .logo img {
				max-width: 50px;
			}

		#header #siteTitle .title {
			font-size: 20px;
			font-size: 2rem;
		}

	#header #gnav {
		display: none;
		width: 50%;
		height: 100vh;
		position: absolute;
		top: 65px;
		right: 0;
		z-index: 999;
		background: rgba(255,255,255,0.95);
		box-shadow: 0 10px 10px #999;
	}

		#header #gnav nav {
			width: 100%;
			flex-wrap: wrap;
		}

		#header ul.mainMenu {
			width: 100%;
			padding: 0;
			justify-content: center;
			flex-wrap: wrap;
		}

			#header ul.mainMenu li {
				width: 100%;
				margin: 0;
				padding: 15px 0;
				border-left: none;
				border-top: 1px solid #CCC;
			}

				#header ul.mainMenu li:last-child {
					border-right: none;
				}

		#header ul.subMenu {
			width: 100%;
			position: absolute;
			left: -100%;
			top: 0;
			z-index: 1000;
		}

			#header ul.mainMenu li:hover ul.subMenu:before {
				content: "";
				position: absolute;
				top: 5px;
				left: 100%;
				border: 20px solid transparent;
				border-left: 20px solid rgba(255,220,203,1.00);
			}

			#header ul.subMenu li {
				padding: 0;
				border-bottom: none;
			}

	#header .entry {
		width: 100%;
	}

	#nav_toggle {
		display: block;
		width: 40px;
		height: 40px;
		position: absolute;
		top: 13px;
		right: 3%;
		z-index: 100;
		background: #FFF;
		padding: 10px;
		box-sizing: border-box;
	}

	#nav_toggle div {
		position: relative;
	}

	#nav_toggle span {
		display: block;
		height: 2px;
		background: #E50112;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}

	#nav_toggle span:nth-child(1){
		top: 0px;
	}

	#nav_toggle span:nth-child(2){
		top: 8px;
	}

	#nav_toggle span:nth-child(3){
		top: 16px;
	}
	
	.open #nav_toggle span:nth-child(1) {
		top: 8px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open #nav_toggle span:nth-child(3) {
		top: 8px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	footer {
		padding: 30px 0 80px 0;
		position: relative;
	}

		footer .copyright {
			font-size: 12px;
			font-size: 1.2rem;
			letter-spacing: 1px;
		}

	#pageTop {
		bottom: 6.5%;
		right: 5%;
	}

	#contact {
		display: block;
		width: 100%;
		margin: 0;
		padding: 10px 5%;
		box-sizing: border-box;
		background: rgba(255,255,255,0.80);
		position: fixed;
		z-index: 99;
		bottom: 0;
		left: 0;
		right: 0;
		box-shadow: 0 -3px 5px rgba(206,206,206,0.50);
	}

		#contact a {
			width: 50%;
			margin: 0 auto;
			padding: 5px 0 6px 0;
			display: block;
			background: url("../img/entryArrow.png") right 15px no-repeat rgba(255,255,255,0.8);
			background-size: 24px 6px;
			border: 2px solid #E50112;
			color: #E50112;
			font-size: 26px;
			font-size: 2.6rem;
			line-height: 1em;
			font-family: 'Palanquin Dark', sans-serif;
			font-weight: 400;
			text-align: center;
			text-decoration: none;
			box-sizing: border-box;
			position: relative;
		}

		@media all and (-ms-high-contrast: none){
			#contact a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		@supports (-ms-ime-align:auto) {
			#contact a a {
				font-family: 'Palanquin Dark R', sans-serif;
				font-weight: 400;
			}
		}

		#contact a:hover {
			border: 2px solid #008CD5;
			color: #FFF;
			background: url("../img/entryArrowWhite.png") right 15px no-repeat #008CD5;
			background-size: 24px 6px;
		}

		@media only screen and (-webkit-min-device-pixel-ratio: 2) {
			#contact a {
				background: url("../img/entryArrow@2x.png") right 15px no-repeat rgba(255,255,255,0.8);
				background-size: 24px 6px;
			}

			#contact a:hover {
				background: url("../img/entryArrowWhite@2x.png") right 15px no-repeat #008CD5;
				background-size: 24px 6px;
			}
		}

	#titleArea {
		height: 200px;
	}

		#titleArea .titleAbout,
		#titleArea .titleWork,
		#titleArea .titleStaff,
		#titleArea .titleSystem,
		#titleArea .titleRecruit {
			height: 200px;
		}

		#titleArea .titleBox {
			padding: 5% 8% 5.3% 8%;
		}

			#titleArea .titleBox .en {
				font-size: 30px;
				font-size: 3rem;
			}

				#titleArea .titleBox .en:before {
					top: -3px;
				}

			#titleArea .titleBox .jp {
				font-size: 16px;
				font-size: 1.6rem;
			}



	#titleArea2 {
		height: 200px;
	}

		#titleArea2 .titleSymposium {
			height: 200px;
			background: url("../../staff/img/titleSymposiumSp.png") center top no-repeat;
			background-size: 100% auto;
		}

		@media only screen and (-webkit-min-device-pixel-ratio: 2) {
			#titleArea2 .titleSymposium {
				background: url("../../staff/img/titleSymposiumSp@2x.png") center top no-repeat;
				background-size: 100% auto;
			}
		}

		#titleArea2 .titleBox {
			width: 80%;
			padding: 30px 0 33px 0;
		}

			#titleArea2 .titleBox .en {
				font-size: 30px;
				font-size: 3rem;
			}

				#titleArea2 .titleBox .en:before,
				#titleArea .titleBox .en:before {
					top: -3px;
				}

			#titleArea2 .titleBox .jp {
				font-size: 16px;
				font-size: 1.6rem;
			}

	#topicPath {
		display: none;
	}

	#innerLink {
		margin: 20px 0;
		padding: 0;
		border-top: none;
	}

		#innerLinkWrap {
			width: 90%;
			max-width: auto;
			margin: 0 5%;
		}

			#innerLinkWrap ul {
				width: 100%;
				justify-content: space-between;
				flex-wrap: wrap;
			}

				#innerLinkWrap ul li {
					width: 50%;
					margin: 0 0 10px 0;
					text-align: center;
				}

	.backBtn,
	.backBtnJp,
	.backBtnJpW {
		width: 80%;
	}

	#entry {
		padding: 60px 14%;
	}

		#entry .entryBtn {
			width: 100%;
		}

			#entry .joinus {
				left: -35px;
				top: -30px;
			}

				#entry .joinus img {
					width: 80%;
				}

	#wrap {
		width: 90%;
		max-width: auto;
		margin: 0 5% 30px 5%;
	}

	#conWrap {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
		padding: 60px 0 40px 0;
	}

	#conWrapB0 {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
		padding: 60px 0 0 0;
	}

	#conWrap2 {
		width: 90%;
		max-width: auto;
		margin: 0 5%;
		padding: 0 0 40px 0;
		left: 0;
	}

	#conWrap3 {
		width: 95%;
		margin: 0 5% 0 0;
		padding: 30px 0;
	}

	#conWrap4 {
		width: 95%;
		margin: 0 0 0 5%;
		padding: 30px 0;
	}

	#bg01 {
		min-height: 190px;
	}

	#bg02 {
		min-height: 190px;
		background: linear-gradient(90deg, #FAF4EB 90%, #FFF 10%);
	}

		#bg01:before,
		#bg02:before {
			width: 240px;
			height: 190px;
			left: 0;
		}

		#bg02:after {
			width: 30%;
			height: 120px;
		}

	#bg03,
	#bg04 {
		min-height: 190px;
		background: linear-gradient(90deg, #FAF4EB 90%, #FFF 10%);
	}

		#bg03:before {
			width: 240px;
			height: 190px;
		}

	#bg05 {
		min-height: 190px;
		background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 10%, #FAF4EB 10%, #FAF4EB 100%);
	}

	#bg06 {
		min-height: 190px;
		background: linear-gradient(to right, rgba(251,210,213,0.3) 0%,rgba(221,250,225,0.3) 40%,rgba(190,229,255,0.3) 90%,rgba(255,255,255,0.3) 90%,rgba(255,255,255,0.3) 100%);
	}

	#bg07 {
		min-height: 190px;
		background: linear-gradient(to left, rgba(251,210,213,0.3) 0%,rgba(221,250,225,0.3) 40%,rgba(190,229,255,0.3) 90%,rgba(255,255,255,0.3) 90%,rgba(255,255,255,0.3) 100%);
	}

	#bg08 {
		min-height: 190px;
	}

		#bg08:before {
			width: 240px;
			height: 190px;
			right: 0;
			top: 0;
		}

	.conTitleWrap {
		width: 100%;
		margin: 0 0 30px 0;
		padding: 0;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}

		.conTitle {
			width: 100%;
			margin: 0 0 30px 0;
		}

		.conTitle2 {
			width: 100%;
			margin: 0;
		}

			.conTitleEn2 {
				margin: 0;
			}

				.conTitleEn img,
				.conTitleEn2 img {
					width: 60%;
				}

		.conLead {
			width: 100%;
			text-align: left;
		}

	.conTitleN {
		margin: 0 0 40px 0;
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 1.6em;
		text-align: left;
	}

	.catTitle {
		margin: 0 0 20px 0;
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 1.5em;
	}

	.normalTable th {
		width: 100%;
		display: block;
		margin: 0;
		border-bottom: none;
	}

	.normalTable td {
		width: 100%;
		display: block;
		margin: 0;
		border-bottom: none;
		border-left: 3px solid #CCC;
	}








	.pcOnly {
		display: none !important;
	}

	.spOnly {
		display: inline !important;
	}

	p.photo img {
		width: 100%;
		object-fit: cover;
	}

	p.photo2 img {
		width: 100%;
		object-fit: cover;
	}

	p.photo80 img {
		width: 100%;
		object-fit: cover;
	}

	div.photo img {
		width: 100%;
		object-fit: cover;
	}

	.alCPc {
		text-align: left !important;
	}

	.alLSpT {
		text-align: left;
	}

	.flRRes {
		float: none;
		padding: 10px 0 20px 0;
		width: 100%;
	}

	.flLRes {
		float: none;
		padding: 10px 0 20px 0;
		width: 100%;
	}

	.halfL {
		width: 100%;
		float: none;
		margin-bottom: 20px;
	}

	.halfR {
		width: 100%;
		float: none;
	}

	.halfC {
		width: 100% !important;
		margin: 0;
	}

	img.photo50 {
		width: 50% !important;
		object-fit: cover;
		padding: 0 25% 5px 25%;
	}

	.linkImg {
		width: 90%;
		margin: 0 auto 20px auto;
	}

	.sp_mrgnB0 {
		margin-bottom: 0 !important;
	}


}


