@charset "utf-8";
/*

heder
gnav
footer
fnav
layour

*/


/* base ----------------------------------------- */

/* base - a */



html {
	cursor: auto;
	font-size: 16px;
}
body {
	margin: 0;
	padding: 0;
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.75;
}
@media screen and (min-width: 768px) {
	body {
		font-size: 16px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	body {
		font-size: 14px;
	}
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	body {
		font-size: 16px;
		/* letter-spacing: 0.1em; */
	}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
	body {
		font-size: 14.5px;
	}
}





@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}





/* layout -------------------------------------- */





/* Individual ------------------------- */
/* class - a */
a.notlink,
a.nolink {
	cursor: default;
}
a.notlink:hover,
a.nolink:hover {
	text-decoration: none;
}

/* class - span */
span.small {
	font-size: 75%;
}


@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		cursor: default;
		text-decoration: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}



/* body > header --------------------------------------- */
/* @media screen and (min-width: 1025px) { */
@media screen and (min-width: 1025px) {
	#header {
		position: fixed;
		width: 100%;
		padding: 0 20px;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 1px 1px rgba(64, 64, 64, 0.1);
		z-index: 101;
		transition: all 500ms ease;
	}
	#header::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: block;
		z-index: 33;
	}
	#header > .inner {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		width: 1200px;
		max-width: 100%;
		height: 70px;
		margin: 0 auto;
		padding: 0 0 0;
		transition: all 500ms ease;
	}
	body.compact #header > .inner {
		height: 70px;
	}
	#header .logo {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 360px;
		height: 100%;
		z-index: 33;
	}
	#header .logo img {
		width: 100%;
		max-width: 300px;
		height: auto;
		max-height: 57px;
	}
	#header .recruit {
		position: relative;
		width: 95px;
		padding-left: 1px;
		z-index: 33;
	}
	#header .mail {
		position: relative;
		width: 95px;
		padding-left: 1px;
		z-index: 33;
	}
	
	#header .spcont {
		display: none;
	}
	
}
/* @media screen and (max-width: 1024px) { */
@media screen and (max-width: 1024px) {
	#header {
		position: fixed;
		width: 100%;
		padding: 0 0;
		background: rgba(255, 255, 255, 0.5);
		box-shadow: 0 3px 3px rgba(64, 64, 64, 0.1);
		z-index: 101;
		transition: all 500ms ease;
	}
	#header > .inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 50px;
		padding: 0 15px;
	}
	#header > .inner .logo {
		height: 26px;
	}
	#header > .inner .logo img {
		height: 100%;
		width: auto;
	}
	#header > .inner > .mail,
	#header > .inner > .recruit {
		display: none;
	}
	#header .spcont {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	#header .spcont a {
		display: flex;
		align-items: center;
		font-size: 26px;
	}
	#header .spcont a + a {
		margin-left: 20px;
	}
	#header .spcont .tel {
		color: #0086d1;
	}
	#header .spcont .mail {
		color: #0086d1;
	}
	#header .spcont .tel img {
		display: block;
		width: 24px;
		height: auto;
	}
	#header .spcont .mail img {
		display: block;
		width: 28px;
		height: auto;
	}
	
	body.spnav #header .sp_nv_btn {
		position: relative;
		display: block;
		width: 28px;
		height: 28px;
	}
	body.spnav #header .sp_nv_btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background: #0086d1;
		transition: all 250ms ease;
	}
	body.spnav #header .sp_nv_btn span:nth-of-type(1) {
		top: 20%;
	}
	body.spnav #header .sp_nv_btn span:nth-of-type(2) {
		top: 50%;
	}
	body.spnav #header .sp_nv_btn span:nth-of-type(3) {
		top: 80%;
	}
	body.spnav #header .sp_nv_btn.close span:nth-of-type(1) {
		top: 50%;
		transform: rotateZ(-45deg)
	}
	body.spnav #header .sp_nv_btn.close span:nth-of-type(2) {
		opacity: 0;
	}
	body.spnav #header .sp_nv_btn.close span:nth-of-type(3) {
		top: 50%;
		transform: rotateZ(45deg);
	}
	
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}



/* gnavi ---------------------------------------- */
#gnav {
	z-index: 33;
}
#gnav a[target="_blank"]::after {
}
#gnav a:hover {
	text-decoration: none;
}
/* @media screen and (min-width: 1025px) { */
@media screen and (min-width: 1025px) {
	#gnav {
		width: calc(100% - 360px - 112px - 95px);
		height: 70px;
		padding: 0 20px;
		transition: all 500ms ease;
	}
	body.compact #gnav {
	}
	#gnav > .inner {
		width: 1200px;
		max-width: 100%;
		height: 100%;
		margin: 0 auto;
		padding-left: 0;
		padding-right: 0;
	}
	#gnav > .inner > ul {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		height: 100%;
		padding: 10px 0;
		transition: all 500ms ease;
	}
	#gnav > .inner > ul > li {
		padding: 0.2em 0.66em;
	}
	
	body.compact #gnav > .inner > ul {
		padding: 5px 0;
	}
	#gnav > .inner > ul > li > a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		color: #000;
		z-index: 33;
	}
	#gnav > .inner > ul > li > a.active,
	#gnav > .inner > ul > li:hover a {
		color: #0086d1;
	}
	
	
	#gnav li .sbox {
		/* display: none; */
		display: flex;
		position: fixed;
		top: -100px;
		left: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		height: 0;
		padding: 14px 0 0;
		/* box-shadow: 0 3px 3px rgba(64, 64, 64, 0.1); */
		opacity: 0;
		z-index: -10;
		overflow: hidden;
		transition: opacity 500ms ease 20ms, height 500ms ease 10ms;
	}
	#gnav li.mouseenter .sbox {
		top: 44px;
		height: auto;
		opacity: 1;
		z-index: 20;
	}
	body.compact #gnav li .sbox,
	body.compact #gnav li.mouseenter .sbox {
		top: 44px;
	}
	#gnav li .sbox::before,
	#gnav li.mouseenter .sbox::before {
		content: "";
		display: block;
		width: 100%;
		height: 12px;
	}
	
	#gnav li .sbox .wrap,
	#gnav li.mouseenter .sbox .wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		padding: 20px 20px 15px;
		background: #ddd;
	}
	#gnav li .sbox .wrap > ul,
	#gnav li.mouseenter .sbox .wrap > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		
	}
	
	#gnav li .sbox .wrap > ul > li > a,
	#gnav li.mouseenter .sbox .wrap > ul > li > a {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		width: 280px;
		margin: 10px;
		padding: 0 0 5px;
		/* border: 1px solid #0086d1; */
		background: #ffffff;
		color: #000;
		font-size: 14px;
		letter-spacing: -0.05em;
		/* box-shadow: 2px 2px 0 #eee; */
		transition: all 250ms ease;
	}
	#gnav li .sbox .wrap > ul > li > a:hover,
	#gnav li.mouseenter .sbox .wrap > ul > li > a:hover {
		background: #0086d1;
		color: #fff;
	}
	
	#gnav li .sbox a,
	#gnav li.mouseenter .sbox a {
		color: #000;
	}
	
	#gnav li .sbox .wrap > ul > li > a > span,
	#gnav li.mouseenter .sbox.wrap  > ul > li > a > span {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 40px;
		padding: 0.3em 0.5em 0.1em;
		line-height: 1;
	}
	
	#gnav li .sbox .wrap > ul > li > a > .img + span,
	#gnav li.mouseenter .sbox.wrap  > ul > li > a > .img + span {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 30px;
		padding: 0.1em 0.5em 0.1em;
		line-height: 1;
	}
	
	#gnav .sbox .img {
		display: block;
		width: auto;
		margin-bottom: 7px;
	}
	#gnav .sbox .img img {
		display: block;
		height: 100%;
		width: auto;
	}
	#gnav li .sbox .img,
	#gnav li.mouseenter .sbox .img {
		width: 100%;
		background: #fff;
	}
	#gnav li .sbox .img img,
	#gnav li.mouseenter .sbox .img img {
		width: 100%;
		height: auto;
	}
	#gnav li .sbox a,
	#gnav li.mouseenter .sbox a {
		color: #000;
	}
	
	
}
@media screen and (max-width: 1024px) {
	#gnav {
		position: fixed;
		top: 50px;
		left: 0;
		width: 0;
		height: 100vh;
		padding: 0 0 120px;
		/* display: none; */
		background: #eee;
		color: #0086d1;
		opacity: 1;
		z-index: -1;
		overflow: hidden;
		transition: all 200ms ease;
	}
	#gnav.hide {
		/* display: none; */
		/* height: 0; */
		width: 0;
	}
	#gnav.show {
		position: fixed;
		/* display: block; */
		width: 100vw;
		padding: 0 0 120px;
		opacity: 1;
		z-index: 22;
	}
	#gnav > .inner {
		height: calc(100vh - 50px);
		overflow-y: auto;
	}
	#gnav > .inner > ul {
		width: 100vw;
		margin-bottom: 120px;
		border-bottom: 1px solid #ccc;
	}
	#gnav ul li {
		border-bottom: 1px solid #ccc;
	}
	#gnav a {
		display: flex;
		padding: 0.75em 1em;
		color: #0086d1;
		line-height: 1;
	}
	#gnav a:hover {
		text-decoration: none;
	}
	#gnav li li a {
		padding-left: 1.25em;
	}
	#gnav li li a::before {
		content: "・";
		display: inline-block;
		margin-right: 0.33em;
	}
	#gnav li li li a {
		padding-left: 2.0em;
	}
	#gnav li li li a::before {
		content: "-";
	}
	#gnav .sbox {
		border-top: 1px solid #ccc;
	}
	#gnav .ssbox {
		border-top: 1px solid #ccc;
	}
	#gnav ul li:last-of-type {
		border-bottom: none;
	}
	
	#gnav .sbox .img {
		display: block;
		display: none;
		width: 96px;
		margin-right: 10px;
	}
	#gnav .sbox .img img {
		display: block;
		width: 100%;
		height: auto;
	}
	
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}



/* body > footer --------------------------------------- */
#footer {
	border-top: 1px solid #0086d1;
}
#footer .contact .tel a,
#footer .contact .fax {
	display: flex;
	align-items: center;
	color: #000;
}
#footer .contact .tel .ge {
	font-size: 110%;
}
#footer .contact .tel a:hover,
#footer .contact .mail a:hover {
	text-decoration: none;
}
.copyright {
	margin: 0 0 5em;
	text-align: center;
	color: #000;
}
#footer .top {
}
#footer .middle {
	background: #1da1f2;
}
@media screen and (min-width: 768px) {
	#footer {
		padding-top: 7px;
	}
	#footer .top {
		margin-bottom: 9px;
	}
	#footer .top > .inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		width: 1200px;
		max-width: 100%;
		margin: 0 auto;
		padding: 10px 40px;
	}
	#footer .logo {
		width: 342px;
		margin: 15px 20px;
	}
	#footer .logo img {
		width: 100%;
	}
	#footer .top .badge_box {
		display: flex;
		align-content: flex-end;
		align-items: flex-end;
		margin: 15px 0;
	}
	#footer .top .badge_box ul {
		display: flex;
	}
	#footer .top .badge_box ul li {
		margin: 10px 5px;
		align-self: center;
	}
	#footer .top .badge_box ul li + li {
	}
	#footer .top .icon_box {
		display: flex;
		align-content: flex-end;
		align-items: flex-end;
		width: 220px;
		margin: 15px 0;
	}
	#footer .top .icon_box ul {
		display: flex;
	}
	#footer .top .icon_box ul li + li {
		margin-left: 5px;
	}
	#footer .contact {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin: 15px 0;
	}
	#footer .contact > div {
		margin: 0 5px;
	}
	#footer .contact img {
		display: block;
		margin-right: 0.5em;
	}
	#footer .tel a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 45px;
		padding: 0.25em 20px;
		font-size: 22px;
		color: #000;
		letter-spacing: 0.1em;
		transition: all 250ms ease;
	}
	#footer .mail a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 45px;
		padding: 0.25em 20px;
		font-size: 16px;
		letter-spacing: 0;
		color: #000;
		transition: all 250ms ease;
	}
	#footer .mail a:hover {
		color: #0086d1;
	}
	
	#footer .middle {
		padding: 40px 0 20px;
	}
	
	#footer .bottom {
		background: #124193;
		color: #fff;
	}
	#footer .bottom .copyright {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 50px;
		color: #fff;
	}
	
	.gototop {
		position: fixed;
		bottom: 15px;
		right: 15px;
		font-size: 50px;
		color: #0086d1;
		color: rgba(0, 0, 0, 0.5);
		text-shadow: 0 0 0 rgba(255, 255, 255, 0.8);
		line-height: 1;
		z-index: 100;
	}
	
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	#footer .top .tel {
		font-size: 24px;
	}
	#footer .contact {
		flex-wrap: wrap;
	}
	#footer .contact .cominfo {
		 width: 100%;
		 text-align: center;
	 }
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	#footer .top {
		margin-bottom: calc(7 / 768 * 100vw);
	}
	#footer .top > .inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 0 auto;
		padding: 25px 20px;
	}
	#footer .top .logo {
		width: 360px;
		max-width: 100%;
	}
	#footer .top .addr {
		font-size: 14px;
	}
	#footer .top .badge_box {
		width: 100%;
		margin: 15px 0;
	}
	#footer .top .badge_box ul {
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: 100%;
	}
	#footer .top .badge_box ul li {
		display: flex;
		justify-content: center;
		max-width: 140px;
	}
	#footer .top .badge_box ul li + li {
		margin-left: 5px;
	}
	#footer .top .icon_box {
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: 100%;
		margin: 15px 0;
	}
	#footer .top .icon_box ul {
		display: flex;
		align-content: center;
	}
	#footer .top .icon_box ul li + li {
		margin-left: 5px;
	}
	#footer .top .contact {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 15px 0;
	}
	#footer .top .contact .cominfo {
		width: 100%;
	}
	#footer .top .contact .cominfo .addr {
		width: 100%;
		text-align: center;
		margin: 0 0 1.5em;
	}
	#footer .top .contact .cominfo .addr span {
		display: inline-block;
	}
	#footer .top .tel img,
	#footer .top .mail img {
		display: block;
		margin-right: 0.5em;
		height: 20px;
		width: auto;
	}
	#footer .top .tel a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 180px;
		margin: 5px 5px;
		max-width: 100%;
		font-size: 18px;
	}
	#footer .top .mail a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 180px;
		max-width: 100%;
		margin: 5px 5px;
		font-size: 18px;
		color: #000;
	}
	#footer .middle {
	}
	#footer .bottom {
		background: #124193;
		color: #fff;
	}
	.copyright {
		padding: 1em 0;
		font-size: 13px;
		letter-spacing: 0;
		color: #fff;
	}
	
	.gototop {
		position: fixed;
		bottom: 15px;
		right: 15px;
		font-size: 32px;
		color: #0086d1;
		text-shadow: 0 0 1px rgba(255, 255, 255, 0.2);
		line-height: 1;
		z-index: 100;
	}
	
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
	#footer .top .badge_box ul {
	    flex-wrap: wrap;
	}
	#footer .top .badge_box ul li {
	    display: flex;
	    justify-content: center;
	    flex-basis: 50%;
	    max-width: 140px;
	}
	#footer .top .badge_box ul .sns {
	    display: flex;
	    justify-content: center;
	    flex-basis: 30%;
	    max-width: 140px;
	    padding-top: 15px;
	}
}




/* #fnav --------------------------------------- */
#fnav {
	display: flex;
	justify-content: center;
	width: 100%;
}
#fnav .inner ul li li::before {
	content: "・";
	display: inline-block;
}
#fnav a {
	color: #fff;
}
#fnav .wide {
	letter-spacing: -0.1em;
}
@media screen and (min-width: 768px) {
	#fnav {
		width: 1200px;
		max-width: 100%;
		margin: 0 auto;
		padding: 0 20px 0 60px;
	}
	#fnav > ul {
		/* width: 20%; */
		margin: 15px 1.5em;
	}
	#fnav > ul > li > a {
		display: inline-block;
		padding: 0 0 0 0.5em;
		font-size: 14px;
		line-height: 1.2;
		/* border-left: 2px solid #0086d1; */
	}
	#fnav > ul ul {
		padding-left: 0.5em;
	}
	#fnav > ul ul li::before {
		content: "-";
		margin-right: 0.25em;
		display: inline-block;
		color: #fff;
	}
	#fnav > ul ul ul li::before {
		content: "・";
		display: inline-block;
		margin-right: 0.5em;
		color: #fff;
	}
	#fnav > ul ul a {
		font-size: 14px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	#fnav {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		max-width: 480px;
		margin: 0 auto;
		padding: 0 20px;
		color: #fff;
	}
	#fnav > ul {
		width: calc(50% - 20px);
		/* min-width: 50%; */
		padding: 25px 0;
		margin-left: 5px;
		margin-right: 5px;
	}
	#fnav > ul > li > a {
		display: inline-block;
		padding: 0 0 0 0.5em;
		font-size: 14px;
		line-height: 1.2;
		letter-spacing: -0.1em;
		/* border-left: 2px solid #0086d1; */
	}
	#fnav a span {
		display: inline-block;
	}
	#fnav > ul ul li {
		position: relative;
		padding-left: 1.0em;
	}
	#fnav > ul ul li::before {
		content: "-";
		position: absolute;
		left: 0;
		display: inline-block;
		margin-right: 0.25em;
	}
	#fnav > ul ul ul li::before {
		content: "・";
		position: absolute;
		left: 0;
		display: inline-block;
		margin-right: 0.5em;
	}
	#fnav > ul ul a {
		font-size: 13px;
		letter-spacing: -0.1em;
	}
	
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
	#fnav > ul > li > a {
		font-size: 11px;
	}
	#fnav > ul ul a {
		font-size: 10px;
	}
}





.section > .inner > section:not(.none_m) {
	margin-top: 2em;
}
.section > .inner > section:not(.none_m) > section:not(.none_m) {
	margin-top: 2em;
}
p + section {
	margin-top: 2em;
}
.sec_sub {
	margin-top: 1.5em;
}
.sec_sub + .grid,
img + .grid,
.table_wrap + .grid {
	margin-top: 1.5em;
}
main > article > .section > .inner section:not(.none_m) + section:not(.none_m) {
	margin-top: 4em;
}
@media screen and (min-width: 768px) {
	main {
		padding-top: 70px;
	}
	body.compact main {
		padding-top: 70px;
	}
	main > article > .section:not(.none_m) {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	main > article > .section:not(.wide) > .inner {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 20px;
	}
	h2 + .grid,
	h3 + .grid {
		margin-top: 60px;
	}
	h2 + p + .grid,
	h3 + p + .grid {
		margin-top: 60px;
	}
	section + .grid {
		margin-top: 3em;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	main {
		padding-top: 50px;
	}
	main > article > .section:not(.none_m) {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	main > article > .section:not(.wide) > .inner {
		padding: 0 25px;
	}
	main > article > .section {
		overflow-x: hidden;
	}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}


main h1 {
	position: relative;
	margin: 0 0 0.5em;
	font-weight: 200;
}
main h2 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0.75em;
	padding: 0.25em 0 0.25em 0em;
	align-items: center;
	font-weight: normal;
	line-height: 1.2;
}
main h2.type2 {
	flex-wrap: wrap;
	justify-content: center;
	padding: 1em 0 1em;
	padding: 0.25em 0.75em 0.25em;
	background-position: center bottom;
	background-size: 170px auto;
}
main h2.type2 + p {
	margin-bottom: 20px;
	text-align: center;
}
main h2 .en {
	display: flex;
	align-items: center;
	width: 100%;
	margin-bottom: 0.25em;
	/* font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif; */
	font-size: 46%;
	color: #0086d1;
}
main h2 .en {
	order: 1;
}
main h2:not(.type2) .en::after {
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	margin-left: 1em;
	background: #0086d1;
}
main h2.type2 .en {
	order: 1;
	justify-content: center;
}
main h2.type2 .en::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	margin-right: 1em;
	background: #0086d1;
}
main h2.type2 .en::after {
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	margin-left: 1em;
	background: #0086d1;
}
main h2 .jp {
	order: 2;
}

main h2 .en.fs16 {
	font-size: 16px
}
main h3 {
	display: flex;
	/* flex-wrap: wrap; */
	align-items: center;
	margin: 0 0 0.5em;
	color: #0086d1;
	font-weight: normal;
	line-height: 1.2em;
}
/* main h3::before {
	content: "";
	display: inline-block;
	width: 2em;
	height: 1px;
	margin-right: 0.25em;
	background: #0086d1;
} */
main h3.small::before {
	width: 1em;
}
main h3.type3 {
	padding-left: 0;
	border-left: none;
	color: #0086d1;
}
main h3 .en {
	display: block;
	width: 100%;
	font-size: 75%;
}
main h4 {
	margin: 2em 0 0.5em;
	font-weight: normal;
	line-height: 1.25em;
}
@media screen and (min-width: 768px) {
	main h1 {
		font-size: 30px;
	}
	main h2 {
		font-size: 36px;
	}
	main h3 {
		font-size: 24px;
	}
	main h4 {
		font-size: 20px;
	}
}
@media screen and (min-width: 1025px) {
	main h1 {
		font-size: 80px;
	}
	main h2 {
		font-size: 36px;
	}
	main h3 {
		font-size: 30px;
	}
	main #history h3 {
		font-size: 20px;
	}
	main h4 {
		font-size: 24px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	main h1 {
		font-size: 28px;
	}
	main h2 {
		font-size: 22px;
	}
	main h2::before {
		width: 35px;
	}
	main h3 {
		font-size: 18px;
		font-weight: bold;
	}
	main h4 {
		font-size: 16px;
		font-weight: bold;
	}
	main h2.type2 {
		padding: 0.25em 1em 0.25em;
	}
	main h2 .en {
		text-align: center;
	}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}





/* btnblock */
.btnblock {
	display: flex;
	justify-content: space-around;
}
.btnblock.center {
	justify-content: center;
}
.btnblock.between {
	justify-content: space-between;
}
.btnblock.start {
	justify-content: flex-start;
}
.btnblock.end {
	justify-content: flex-end;
}
@media screen and (min-width: 768px) {
	.btnblock {
		margin-top: 3em;
	}
	.btnblock.pc_center {
		justify-content: center;
	}
	.btnblock.pc_between {
		justify-content: space-between;
	}
	.btnblock.pc_start {
		justify-content: flex-start;
	}
	.btnblock.pc_end {
		justify-content: flex-end;
	}
	.img + .btnblock {
		margin-top: 1em;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	.btnblock {
		flex-wrap: wrap;
		margin-top: 1em;
	}
	.btnblock.sp_center {
		justify-content: center;
	}
	.btnblock.sp_between {
		justify-content: space-between;
	}
	.btnblock.sp_start {
		justify-content: flex-start;
	}
	.btnblock.sp_end {
		justify-content: flex-end;
	}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}



/* table_wrap */
@media screen and (max-width: 767px) {
	.table_wrap {
		overflow-x: auto;
	}
	.table_wrap table {
		width: auto;
		min-width: 100%;
	}
	.table_wrap table th,
	.table_wrap table td {
		width: auto;
		padding: 5px;
	}
	.table_wrap:not(.type2) table th,
	.table_wrap:not(.type2) table td {
		font-size: 75%;
	}
	.table_wrap table th,
	.table_wrap table td {
		letter-spacing: -0.05em;
	}
	.table_wrap table .line-break {
		white-space: normal;
		word-wrap: break-word;
	}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}




/* table1 */
.table1 {
	width: 100%;
	font-size: 14px;
}
.table1 th,
.table1 td {
	padding: 1em 0.5em;
	
}
.table1 th {
	font-weight: normal;
	color: #000;
	text-align: left;
}
.table1 td {
	/* border-left: 1px solid #15017b; */
}
.table1.thr th { text-align: right }
.table1.thc th { text-align: center }
.table1.thnowrap th { white-space: nowrap }
@media screen and (min-width: 768px) {
	.table1 {
		border-collapse: separate;
		border-spacing: 0 25px;
		/* border-top: 1px solid #ccc; */
	}
	.table1 th {
		padding: 0.25em 0.5em;
		line-height: 1.25;
	}
	.table1 td {
		padding: 0.25em 0.5em 0.25em 1.5em;
		border-left: 1px solid #1da1f2;
		line-height: 1.6;
	}
	.table1.spcol1 th {
		text-align: left;
	}
	.table1.pcthr th { text-align: right }
	.table1.pcthc th { text-align: center }
	.table1.pcthnowrap th { white-space: nowrap }
}

	.scholarship{
	width: 110px;
}


@media screen and (max-width: 767px) {
	.table1.spcol1 {
		position: relative;
		border-top: 1px solid #1da1f2;
	}
	.table1.spcol1 th,
	.table1.spcol1 td {
		display: block;
	}
	.table1.spcol1 th {
		position: relative;
		text-align: left;
		/* border-bottom: 1px solid #eee; */
	}
	.table1.spcol1 td {
		padding: 0.5em 0.5em 1.0em;
		border-bottom: 1px solid #1da1f2;
	}
	.table1.spthr th { text-align: right }
	.table1.spthc th { text-align: center }
	.table1.spthnowrap th { white-space: nowrap }
}


/* table2 */
.table2 {
	width: 100%;
	border-top: 1px solid #0086d1;
	border-left: 1px solid #0086d1;
	font-size: 14px;
}
.table2 th,
.table2 td {
	padding: 0.5em 0.5em;
	border-bottom: 1px solid #0086d1;
	border-right: 1px solid #0086d1;
	/*vertical-align: top;*/
	text-align: center;
}
.table2 th {
	border-bottom: 1px solid #eee;
	border-right: 1px solid #eee;
	background: #0086d1;
	text-align: left;
	font-weight: normal;
	color: #fff;
	text-align: center;
}
.table2.thr th { text-align: right }
.table2.thc th { text-align: center }
.table2.thnowrap th { white-space: nowrap }
@media screen and (min-width: 768px) {
	.table2.pcthr th { text-align: right }
	.table2.pcthc th { text-align: center }
	.table2.pcthnowrap th { white-space: nowrap }
	.table2.pctdl td { text-align: left }
	.table2.pctdr td { text-align: right }
	.table2.pctdc td { text-align: center }
}
@media screen and (max-width: 767px) {
	.table2.spcol1 th,
	.table2.spcol1 td {
		display: block;
		border-left: 1px solid #ddd;
	}
	.table2.spcol1 th {
		border-bottom: none;
	}
	.table2.spcol1 td {
		padding: 0.5em 0.5em 1.0em;
	}
	.table2.spthr th { text-align: right }
	.table2.spthc th { text-align: center }
	.table2.spthl th { text-align: left }
	.table2.spthnowrap th { white-space: nowrap }
	.table2.sptdl td { text-align: left }
	.table2.sptdr td { text-align: right }
	.table2.sptdc td { text-align: center }
}

/* table3 */
.table3 {
	width: 100%;
	
	
}
.table3 th,
.table3 td {
	padding: 1.25em 0.5em;
	border-bottom: 15px solid #fff;
    border-top: 6px solid #fff;
	
}
.table3 th {
	border-right: 1px solid #ccc;
	text-align: right;
	font-weight: normal;
	color: #262626;
    padding-right: 20px;
    font-size:20px;
}
.table3.thr th { text-align: right }
.table3.thc th { text-align: center }
.table3.thnowrap th { white-space: nowrap }
@media screen and (min-width: 768px) {
	.table3.pcthr th { text-align: right }
	.table3.pcthc th { text-align: center }
	.table3.pcthnowrap th { white-space: nowrap }
}
@media screen and (max-width: 767px) {
	.table3 th {
		border-right: none;
		font-size:18px;
	
}
	.table3.spcol1 th,
	.table3.spcol1 td {
		display: block;
		border-bottom: 1px solid #ddd;
	}
	.table3.spcol1 th {
		border-bottom: none;
	}
	.table3.spcol1 td {
		padding: 0.5em 0.5em 1.0em;
	}
	.table3.spthr th { text-align: right }
	.table3.spthc th { text-align: center }
	.table3.spthl th { text-align: left }
	.table3.spthnowrap th { white-space: nowrap }
}




/* btn0 */
.btn0 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 320px;
	max-width: 100%;
	height: 62px;
	color: #0086d1;
	border: 1px solid #0086d1;
	background: #fff;
	text-decoration: none;
	overflow: hidden;
	cursor: pointer;
	transition: all 250ms ease;
}
.btn0:hover {
	text-decoration: none;
	background: #0086d1;
	color: #fff;
}
.btn0 span {
	position: relative;
	text-decoration: none;
	color: #0086d1;
}
.btn0:hover span {
	color: #fff;
}
.btn0 span.ge {
	font-size: 150%;
}
.btn0 > div {
	width: 100%;
	text-align: center;
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}







/*  --------------------------------------- */
.conttitle {
	position: relative;
	width: 100%;
	position: relative;
	overflow: hidden;
	transition: all 500ms ease;
	background: #000;
	color: #fff;
}
.conttitle .inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
}
.conttitle .inner h1 {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif;
	line-height: 1;
}
.conttitle .inner h1 .jp {
	order: 2;
	display: block;
	width: 100%;
	margin: 0.5em 0;
	letter-spacing: 0.1em;
	text-align: center;
	/* font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif; */
	color: #fff;
	
}
.conttitle .inner h1 .en {
	order: 1;
	display: block;
	width: 100%;
	font-size: 200%;
	font-weight: 500;
	/* font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "メイリオ", Meiryo, serif; */
	text-align: center;
	letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
	.conttitle {
		padding: 0 20px;
	}
	.conttitle .inner {
		position: relative;
		display: flex;
		align-items: center;
		align-content: center;
		width: 1200px;
		max-width: 100%;
		height: 364px;
		margin: 0 auto;
	}
	.conttitle .inner h1 {
		font-size: 30px;
	}
	.conttitle .inner h1 .en {
		font-size: 20px;
		letter-spacing: 0;
	}
	.conttitle .inner h1 .jp {
		font-size: 36px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	/* .conttitle {
		height: 339px;
		padding: 50px 0 0;
	}
	.conttitle::before {
		top: 50px;
		left: 0;
		width: 100%;
		height: calc(339px - 50px);
	} */
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	.conttitle {
		padding: 0 20px;
	}
	.conttitle .inner {
		position: relative;
		display: flex;
		align-items: center;
		align-content: center;
		width: calc(670 / 750 * 100vw);
		height: calc(390 / 750 * 100vw);
		margin: 0 auto;
		padding-top: 60px;
		background: url(../../yashima-k/img/common/h1_bg.jpg) center center / cover no-repeat;
	}
	.conttitle .inner h1 {
		font-size: calc(46 / 750 * 100vw);
	}
	.conttitle .inner h1 .en {
		letter-spacing: 0;
		font-size: calc(25 / 750 * 100vw);
	}
	.conttitle .inner h1 .jp {
		font-size: calc(46 / 750 * 100vw);
	}
	/* .conttitle {
		height: calc(897 / 1564 * 100vw);
		padding: 50px 0 0;
	}
	.conttitle::before {
		top: 50px;
		width: 100%;
		height: calc((897 / 1564 * 100vw) - 50px);
	}
	.conttitle .inner {
		width: 100%;
		padding: 0 20px;
	} */
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}



/* breadcrumblist1 ------------------------------- */
main > article > .breadcrumblist1 {
	position: relative;
	margin: 0;
	padding: 0.2em 0;
	color: #333;
	z-index: 2;
}
main .breadcrumblist1 > .inner {
	width: 100%;
	margin: 0 auto;
}
main .breadcrumblist1 ul li {
	padding: 0;
	font-size: 85%;
	letter-spacing: 0;
}
main .breadcrumblist1 a, .breadcrumblist1 a:hover {
	color: #333;
	letter-spacing: 0;
}
.breadcrumblist1 ul {
	display: flex;
	flex-wrap: wrap;
	padding: 0 0;
}
main .breadcrumblist1 ul li::before {
	content: "/";
	margin: 0 .5em;
	color: #aaa;
	font-family: Arial, -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'æ¸¸ã‚´ã‚·ãƒƒã‚¯  Medium', meiryo, 'ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯', sans-serif;
	line-height: 1.5;
}
main .breadcrumblist1 ul li:first-child::before {
	content: "";
	margin: 0;
}
@media screen and (min-width: 768px) {
	main .breadcrumblist1 > .inner {
		max-width: 1200px;
		margin-top: 0.5em;
		margin-bottom: 0.5em;
	}
	.breadcrumblist1 ul {
		padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.breadcrumblist1 ul {
		padding: 0 20px;
	}
}




/*  */
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}




/*  --------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}




/*  --------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}




/*  --------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}



.center {
	text-align: center;
}

.right {
	text-align: right;
}

.mt20 {
	margin-top: 20px;
}
.mt40 {
	margin-top: 40px;
}

.mt80 {
	margin-top: 80px;
}
.mb0 {
	margin-bottom: 0px;
}
.mincho {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}
.fs26 {
	font-size: 26px;
}
.fs12 {
	font-size: 12px;
}

.fs14 {
	font-size: 14px;
}

.fs20 {
	font-size: 20px;
}

.pcolor {
	color: #6789DA;
}


.scrolldown1 {
  position:absolute;
  left:50%;
  bottom:320px;
  height:50px;
}


.scrolldown1 span{
  position: absolute;
  left:-15px;
  top: -15px;
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 30px;
  background: #eee;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}

/*  --------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (min-width: 1025px) {
}
@media screen and (max-width: 767px) {
	.fs20 {
	font-size: 16px;
		}
	
	.scrolldown1 {
   bottom:20px;
}
}
@media screen and (min-width: 481px) and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
}