@charset "utf-8";


/* pc
----------------------------------------------- */

@media print, screen and (min-width:1000px) {


	/* section
	----------------------------------------------- */

	section article {
		text-align: center;
	}

	section .copy {
		text-align: center;
	}
	section .copy span,
	section .copy em {
		display: block;
		font-style: normal;
		letter-spacing: 0.05em;
	}
	section .copy span {
		position: relative;
		font-size: 18px;
		font-weight: 500;
	}
	section .copy span:first-child {
		padding: 0 0 15px;
	}
	section .copy span:first-child:after {
		display: block;
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		margin: 0 0 0 -311px;
		width: 622px;
		height: 1px;
		background-color: #323232;
	}
	section .copy span:last-child {
		margin: 10px 0 0;
		font-size: 20px;
	}
	section .copy em {
		margin: 15px 0 0;
		font-size: 28px;
	}

	section .button {
		margin-top: 50px;
	}


	/* entrynav
	----------------------------------------------- */

	#entrynav {
		margin: 80px 0 0;
		padding: 80px 0;
		background: rgb(50,150,255);
	}
	#entrynav ul {
		display: flex;
		justify-content: space-between;
		margin: auto;
		width: 960px;
	}
	#entrynav li {
		position: relative;
		width: 220px;
	}
	#entrynav li a {
		display: block;
		position: relative;
		height: 250px;
		border-radius: 4px;
		background-color: #fff;
		overflow: hidden;
	}
	#entrynav li a:after {
		display: block;
		content: "";
		position: absolute;
		left: 50%;
		bottom: 25px;
		margin: 0 0 0 -16px;
		width: 32px;
		height: 20px;
		background-image: url(../../entry/images/entrynav_arrow.png);
		background-size: 32px 20px;
	}
	#entrynav li span {
		display: block;
	}
	#entrynav li .title {
		margin: 20px 0 0;
		color: #3296ff;
		font-size: 14px;
		font-weight: 700;
		text-align: center;
	}
	#entrynav .wanted {
		position: absolute;
		top: -15px;
		right: -10px;
	}
	
	/* hover */

	#entrynav li a .image {
		transition-property: opacity;
		transition-duration: 0.25s;
	}
	#entrynav li a:after {
		transition-property: transform;
		transition-duration: 0.25s;
	}

	#entrynav li a:hover .image {
		opacity: 0.7;
	}
	#entrynav li a:hover:after {
		transform: translateY(5px);
	}


	/* parttime
	----------------------------------------------- */

	#parttime {
		padding: 80px 0;
		text-align: center;
		background: rgb(235,240,245);
	}


	/* graduates
	----------------------------------------------- */

	#graduates {
		padding: 80px 0;
		color: #fff;
		text-align: center;
		background: rgb(50,150,255);
	}
	
	#graduates.graduates2025 {
		background-color: #fff;
		color: #323232;
	}

	#graduates .content {
		padding: 35px 0 0;
	}
	#graduates .content p {
		padding: 15px 0 0;
		font-size: 15px;
		line-height: 25px;
	}


	/* career
	----------------------------------------------- */

	#career {
		padding: 80px 0;
		text-align: center;
		background: rgb(235,240,245);
	}


	/* internship
	----------------------------------------------- */

	#internship {
		padding: 80px 0;
		text-align: center;
		background: rgb(50,200,100);
	}
	#internship .title,
	#internship .title .label {
		color: #fff;
	}


	/* require
	----------------------------------------------- */
	
	.require {
		margin: 50px auto 0;
		padding: 50px 0;
		width: 940px;
		text-align: left;
		background: white;
		border-radius: 4px;
	}
	.require h4 {
		margin: 0 50px;
		padding: 0 0 15px;
		color: rgb(50,200,100);
		font-size: 20px;
		font-weight: 700;
		border-bottom: 1px solid rgb(50,200,100);
	}
	.require h4 span {
		color: rgb(50,50,50);
		font-size: 15px;
		font-weight: 500;
	}
	.require h5 {
		margin: 45px 50px 0;
		font-size: 18px;
		font-weight: 400;
	}
	.require h5 span {
		color: rgb(130,130,130);
		font-weight: 700;
	}
	.require .table {
		margin: 25px 50px 0;
	}
	.require table {
		width: 100%;
		border: 1px solid rgb(220,220,220);
	}
	.require th,
	.require td {
		padding: 10px 25px;
		font-size: 15px;
		font-weight: 400;
		line-height: 25px;
		text-align: left;
		vertical-align: top;
		border-top: 1px solid rgb(220,220,220);
	}
	.require th {
		width: 16%;
		border-right: 1px dotted rgb(220,220,220);
		background: rgb(245,245,245);
	}
	.require td {
		width: 84%;
	}


	/* closed
	----------------------------------------------- */
	
	.closed {
		margin: 50px auto 0;
		padding: 50px 0 45px;
		width: 940px;
		color: #323232;
		background: white;
	}
	.closed h4 {
		color: rgb(50,200,100);
		font-size: 25px;
		font-weight: normal;
	}
	.closed p {
		padding: 15px 0 0;
		font-size: 15px;
		line-height: 25px;
	}


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


		/* entrynav
		----------------------------------------------- */
	
		#entrynav li a:after {
			background-image: url(../../entry/images/entrynav_arrow@2x.png);
		}


	}


}


/* mobile
----------------------------------------------- */

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


	/* section
	----------------------------------------------- */

	section article {
		text-align: center;
	}

	section .copy {
		margin: 0 25px;
		text-align: center;
	}
	section .copy span,
	section .copy em {
		display: block;
		font-style: normal;
	}
	section .copy span {
		position: relative;
		font-size: 15px;
		font-weight: 500;
		line-height: 20px;
	}
	section .copy span:first-child {
		padding: 0 0 15px;
	}
	section .copy span:first-child:after {
		display: block;
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		margin: 0 0 0 -135px;
		width: 270px;
		height: 1px;
		background-color: #323232;
	}
	section .copy span:last-child {
		margin: 10px 0 0;
		font-size: 15px;
		line-height: 20px;
	}
	section .copy em {
		margin: 15px 0 0;
		font-size: 20px;
		line-height: 25px;
	}

	section .button {
		margin-top: 50px;
	}


	/* entrynav
	----------------------------------------------- */

	#entrynav {
		margin: 50px 0 0;
		padding: 40px 0 50px;
		background: rgb(50,150,255);
	}
	#entrynav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: auto;
		padding: 0 25px;
		max-width: 590px;
	}
	#entrynav li {
		position: relative;
		margin: 10px 0 0;
		width: calc(50% - 5px);
	}
	#entrynav li a {
		display: block;
		position: relative;
		padding: 0 0 60px;
		height: calc(100% - 60px);
		border-radius: 4px;
		background-color: #fff;
		overflow: hidden;
	}
	#entrynav li a:after {
		display: block;
		content: "";
		position: absolute;
		left: 50%;
		bottom: 20px;
		margin: 0 0 0 -16px;
		width: 32px;
		height: 20px;
		background-image: url(../../entry/images/entrynav_arrow@2x.png);
		background-size: 32px 20px;
	}
	#entrynav li span {
		display: block;
	}
	#entrynav li .image img {
		width: 100%;
		height: auto;
	}
	#entrynav li .title {
		margin: 20px 0 0;
		color: #3296ff;
		font-size: 14px;
		font-weight: 700;
		text-align: center;
		line-height: 24px;
	}
	#entrynav .wanted {
		position: absolute;
		top: -15px;
		right: -10px;
	}


	/* parttime
	----------------------------------------------- */

	#parttime {
		padding: 50px 25px;
		text-align: center;
		background: rgb(235,240,245);
	}


	/* graduates
	----------------------------------------------- */

	#graduates {
		padding: 50px 25px;
		color: #fff;
		text-align: center;
		background: rgb(50,150,255);
	}
	#graduates .content {
		margin: auto;
		max-width: 590px;
		padding: 35px 0 0;
	}
	#graduates .content p {
		padding: 15px 0 0;
		font-size: 15px;
		line-height: 25px;
	}
	#graduates .content img {
		max-width: 100%;
		height: auto;
	}


	/* career
	----------------------------------------------- */

	#career {
		padding: 50px 25px;
		text-align: center;
		background: rgb(235,240,245);
	}


	/* internship
	----------------------------------------------- */

	#internship {
		padding: 50px 25px;
		text-align: center;
		background: rgb(50,200,100);
	}
	#internship .title,
	#internship .title .label {
		color: #fff;
	}


	/* require
	----------------------------------------------- */
	
	.require {
		margin: 50px auto 0;
		padding: 0 0 25px;
		max-width: 590px;
		text-align: left;
		background: white;
		border-radius: 4px;
	}
	.require h4 {
		margin: 0 25px;
		padding: 25px 0 15px;
		color: rgb(50,200,100);
		font-size: 18px;
		font-weight: 700;
		line-height: 25px;
		border-bottom: 1px solid rgb(50,200,100);
	}
	.require h4 span {
		display: block;
		margin: 5px 0 0;
		color: rgb(50,50,50);
		font-size: 15px;
		font-weight: 500;
		line-height: 20px;
	}
	.require h5 {
		margin: 25px 25px 0;
		font-size: 15px;
		font-weight: 400;
	}
	.require h5 span {
		display: block;
		margin: 0 0 10px;
		color: rgb(130,130,130);
		font-weight: 700;
	}
	.require .table {
		margin: 25px 25px 0;
	}
	.require table {
		width: 100%;
		border: 1px solid rgb(220,220,220);
	}
	.require th,
	.require td {
		padding: 5px 10px;
		font-size: 15px;
		font-weight: 400;
		line-height: 25px;
		text-align: left;
		vertical-align: top;
		border-top: 1px solid rgb(220,220,220);
	}
	.require th {
		width: 25%;
		white-space: nowrap;
		border-right: 1px dotted rgb(220,220,220);
		background: rgb(245,245,245);
	}
	.require td {
		width: 75%;
	}


	/* closed
	----------------------------------------------- */
	
	.closed {
		margin: 50px auto 0;
		padding: 50px 0 45px;
		max-width: 590px;
		color: #323232;
		background: white;
	}
	.closed h4 {
		margin: 0 25px;
		color: rgb(50,200,100);
		font-size: 25px;
		font-weight: normal;
		line-height: 30px;
	}
	.closed p {
		margin: 0 25px;
		padding: 15px 0 0;
		font-size: 15px;
		line-height: 25px;
	}


}


/* tablet
----------------------------------------------- */

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

