@charset "UTF-8";



/* フォント設定
-------------------------------------------------- */

@font-face{
	font-family: 'FontAwesome';
	src: url("/recruit/assets/fonts/fontawesome-webfont.eot?v=4.5.0");
	src: url("/recruit/assets/fonts/fontawesome-webfont.eot?#iefix&v=4.5.0") format("embedded-opentype"),
	url("/recruit/assets/fonts/fontawesome-webfont.woff2?v=4.5.0") format("woff2"),
	url("/recruit/assets/fonts/fontawesome-webfont.woff?v=4.5.0") format("woff"),
	url("/recruit/assets/fonts/fontawesome-webfont.ttf?v=4.5.0") format("truetype"),
	url("/recruit/assets/fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular") format('svg');
	font-weight: normal;
	font-style: normal;
}

.fa{
	font-style: normal;
}
.fa:before{
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin-right: 5px;
	color: #999;
}

.fa-youtube-play:before {
  content: "\f16a";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-instagram:before {
  content: "\f16d";
}



/* ユーティリティ
-------------------------------------------------- */

.valiable_image {
	width:100%;
	height:auto;
}

.button a {
	display:block;
	color:#FFF;
	background-color:#a4002c;
	text-align:center;
	font-size:25px;
	line-height:1em;
	font-weight:400;
	border-radius:4px;
	border:1px #a4002c solid;
	transition: all 0.2s ease;
}

.button a:hover {
	text-decoration:none;
	color:#a4002c;
	background-color:#fff;
}


@media only screen and (min-width:1px) and (max-width:768px){
	
	.button a {
		display:block;
		color:#FFF;
		background-color:#a4002c;
		text-align:center;
		font-size:16px;
		line-height:1em;
		font-weight:400;
		border-radius:4px;
		border:1px #a4002c solid;
		transition: all 0.2s ease;
	}
	
	.button a:hover {
		text-decoration:none;
		color:#a4002c;
		background-color:#fff;
	}
	
}



/* スクロールアニメーション
-------------------------------------------------- */

.slideInLeft {
    opacity: 0;
}
.ready .slideInLeft {
    transform: translateY(30px);
    transition: opacity 1.0s ease, transform 1.0s ease;
}
.ready .slideInLeft-end {
    opacity: 1;
    transform: translateY(0px);
}

.slideInRight {
    opacity: 0;
}
.ready .slideInRight {
    transform: translateY(30px);
    transition: opacity 1.0s ease, transform 1.0s ease;
}
.ready .slideInRight-end {
    opacity: 1;
    transform: translateY(0px);
}

/*
.textLoadLeft {
	transform-origin: top left;
	transform:scaleX(0);
}

.ready .textLoadLeft {
	transform:scaleX(0);
    transition: transform 0.5s ease;
}

.ready .textLoadLeft-end {
	transform:scaleX(1);
}
*/

@keyframes passing-bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}

@keyframes passing-txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}

.passing .passing-box {
	display: block;
}

.passing .passing-bar {
	position: relative;
	display: inline-block;
	/*　後ほど解説　*/
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.passing .passing-bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	/* 任意の値 */
	background: #000;
}
.passing .passing-txt {
	display:block;
	opacity: 0;
	/* 後ほど解説 */
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.passing.move .passing-bar:before {
	-webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
	animation: passing-bar 1s ease 0s 1 normal forwards;
}
.passing.move .passing-txt {
	-webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
	animation:passing-txt 0s ease .5s 1 normal forwards;
}


/* メインエリア
-------------------------------------------------- */

.wrap-graduate-01 {
	background:url(../images/graduate/bg_main.jpg) no-repeat center top;
	background-size:cover;
	overflow-x:hidden;
	padding-bottom:90px;
}

#graduate-main {
	max-width: 1190px;
	margin: 0 auto;
	padding: 0 15px;
	height:2170px;
	position:relative;
}

#graduate-main h1 ,
#graduate-main p {
	font-family: 'Noto Serif JP', serif;
}

#graduate-main h1 > span ,
#graduate-main p > span {
	display:table;
	margin-top:9px;
}

#graduate-main span.bg-red {
	color:#ffffff;
	background-color:#a4002c;
}

#graduate-main span.bg-white {
	color:#000000;
	background-color:#ffffff;
}

#graduate-main #txt-catch-01 {
	position:absolute;
	left:27%;
	top:290px;
	z-index:13;
	font-size:32px;
	font-weight:400;
	line-height:1.25em;
}

#graduate-main #txt-catch-01 > span:nth-child(2) {
	font-size:74px;
	line-height:1.1em;
	letter-spacing:-0.1em;
}

#graduate-main .passing-txt {
	padding:5px 10px 7px;
}

#graduate-main #txt-catch-01 > span:nth-child(2) .passing-txt {
	padding:7px 10px 12px;
}

#graduate-main #txt-catch-02 {
	position:absolute;
	left:15px;
	top:946px;
	z-index:12;
	font-size:45px;
	font-weight:600;
	line-height:1.25em;
}

#graduate-main #txt-catch-03 {
	position:absolute;
	left:39%;
	top:1700px;
	z-index:11;	
	font-size:26px;
	font-weight:600;
	line-height:1.25em;
}

#graduate-main ul li {
	position:absolute;
}

#graduate-main ul li img.text {
	position:absolute;
	left:50px;
	top:-20px;
	z-index:20;
}

#graduate-main ul li#pct_04 img.text {
	left:-60px;
	top:-25px;
}

#graduate-main ul li#pct_01 {
	left:50%;
	top:0;
	margin-left:226px;
}
#graduate-main ul li#pct_02 {
	right:50%;
	top:105px;
	margin-right:-86px;
}
#graduate-main ul li#pct_03 {
	left:50%;
	top:398px;
	margin-left:226px;
}
#graduate-main ul li#pct_04 {
	right:50%;
	top:658px;
	margin-right:-86px;
}
#graduate-main ul li#pct_05 {
	left:50%;
	top:950px;
	margin-left:148px;
}
#graduate-main ul li#pct_06 {
	right:50%;
	top:1280px;
	margin-right:248px;
}
#graduate-main ul li#pct_07 {
	left:50%;
	top:1320px;
	margin-left:-10px;
}
#graduate-main ul li#pct_08 {
	right:50%;
	top:1738px;
	margin-right:54px;
}

#graduate-sub {
	max-width: 1190px;
	margin: 0 auto;
	padding: 0 15px;
}

#graduate-sub > .inner {
	background-color:#ffffff;
	padding:60px;
	font-size:16px;
	font-weight:400;
	line-height:2em;
}

#graduate-sub div.photo {
	width:55.58%;
}

#graduate-sub .block_01 .photo {
	float:left;
}

#graduate-sub .block_01 p {
	margin:0 0 0 55.58%;
	padding:0 0 0 60px;
}

#graduate-sub .block_02 {
	margin-top:60px;
}

#graduate-sub .block_02 .photo {
	float:right;
}

#graduate-sub .block_02 p {
	margin:0 55.58% 0 0;
	padding:0 60px 0 0;
}

#graduate-sub p strong {
	color:#a4002c;
	font-weight:600;
}


@media only screen and (min-width:1px) and (max-width:768px){
	
	.wrap-graduate-01 {
		background:url(../images/graduate/bg_main.jpg) no-repeat center top;
		background-size:cover;
		overflow-x:hidden;
		padding-bottom:45px;
	}
	
	#graduate-main {
		max-width: 1190px;
		margin: 0 auto;
		padding: 0 15px;
		height:1228px;
		position:relative;
	}
	
	#graduate-main h1 ,
	#graduate-main p {
		font-family: 'Noto Serif JP', serif;
	}
	
	#graduate-main h1 > span ,
	#graduate-main p > span {
		display:table;
		margin-top:5px;
	}
	
	#graduate-main span.bg-red {
		color:#ffffff;
		background-color:#a4002c;
	}
	
	#graduate-main span.bg-white {
		color:#000000;
		background-color:#ffffff;
	}
	
	#graduate-main #txt-catch-01 {
		position:absolute;
		left:0;
		top:202px;
		z-index:13;
		font-size:14px;
		font-weight:400;
		line-height:1.25em;
	}
	
	#graduate-main #txt-catch-01 span:nth-child(2) {
		font-size:28px;
		line-height:1.1em;
		letter-spacing:-0.1em;
	}
	
	#graduate-main .passing-txt {
		padding:5px 10px 7px;
	}
	
	#graduate-main #txt-catch-01 > span:nth-child(2) .passing-txt {
		padding:4px 10px 6px;
	}
		
	#graduate-main #txt-catch-02 {
		position:absolute;
		left:0;
		top:457px;
		z-index:12;
		font-size:16px;
		font-weight:600;
		line-height:1.25em;
	}
	
	#graduate-main #txt-catch-03 {
		position:absolute;
		left:0;
		top:819px;
		z-index:11;	
		font-size:14px;
		font-weight:600;
		line-height:1.25em;
	}
	
	#graduate-main ul li {
		position:absolute;
	}
	
	#graduate-main ul li img.text {
		position:absolute;
		left:130px;
		top:-12px;
		z-index:20;
		width:50px;
	}

	#graduate-main ul li img {
		width:100%;
		height:auto;
	}
	
	#graduate-main ul li#pct_04 img.text {
		width:56px;
		left:70px;
		top:-12px;
	}
	
	#graduate-main ul li#pct_01 {
		left:50%;
		top:0;
		margin-left:-17px;
		width:184px;
		z-index:8;

		width:240px;
	}
	#graduate-main ul li#pct_02 {
		right:50%;
		top:45px;
		margin-right:-70px;
		width:230px;
		z-index:7;

		top:59px;
		width:300px;
	}
	#graduate-main ul li#pct_03 {
		left:40%;
		top:205px;
		margin-left:60px;
		width:100px;
		z-index:6;

		top:270px;
		width:170px;
	}
	#graduate-main ul li#pct_04 {
		right:50%;
		top:250px;
		margin-right:-32px;
		width:192px;
		z-index:5;

		top:325px;
		width:250px;
	}
	#graduate-main ul li#pct_05 {
		left:50%;
		top:420px;
		margin-left:-58px;
		width:190px;
		z-index:4;

		top:546px;
		width:247px;
	}
	#graduate-main ul li#pct_06 {
		right:50%;
		top:529px;
		margin-right:28px;
		width:191px;
		z-index:3;

		top:687px;
		width:248px;
	}
	#graduate-main ul li#pct_07 {
		left:50%;
		top:584px;
		margin-left:-10px;
		width:181px;
		z-index:2;

		top:759px;
		width:235px;
	}
	#graduate-main ul li#pct_08 {
		right:50%;
		top:790px;
		margin-right:-103px;
		width:183px;
		z-index:1;

		top:1027px;
		width:238px;
	}
	
	#graduate-main ul li#pct_08 img.text {
		left:25px;
	}
	
	#graduate-sub {
		max-width: 1190px;
		margin: 0 auto;
		padding: 0 15px;
	}
	
	#graduate-sub > .inner {
		background-color:#ffffff;
		padding:15px;
		font-size:14px;
		font-weight:400;
		line-height:2em;
	}
	
	#graduate-sub div.photo {
		width:auto;
	}
	
	#graduate-sub .block_01 .photo {
		float:left;
	}
	
	#graduate-sub .block_01 p {
		margin:0;
		padding:0;
	}
	
	#graduate-sub .block_02 {
		margin-top:15px;
	}
	
	#graduate-sub .block_02 .photo {
		float:right;
	}
	
	#graduate-sub .block_02 p {
		margin:0;
		padding:0;
	}
	
	#graduate-sub p strong {
		color:#a4002c;
		font-weight:600;
	}
	
}



/* メインエリア以外（ページ下半分）
-------------------------------------------------- */

.wrap-graduate-02 {
	max-width: 1190px;
	margin: 0 auto;
	padding: 0 15px;
}

.sec-graduate-contents {
	clear:both;
	margin-top:90px;
}

.sec-graduate-contents.sec-graduate-small {
	padding:0 70px;
}

.sec-graduate-contents h2 {
	font-size:35px;
	font-weight:500;
	line-height:1.33em;
	text-align:center;
}

.sec-graduate-contents p.txt-sec-lead {
	text-align:center;
	margin-top:30px;
	font-size:16px;
	line-height:2em;
}

.calender {
	margin-top:30px;
	border:1px #cccccc solid;
}

.sec-graduate-contents h2 span {
	display:block;
}

.sec-graduate-contents h2 span.main {
}

.sec-graduate-contents h2 span.sub {
	color:#a4002c;
	font-size:15px;
	line-height:1.33em;
	font-weight:500;
	margin-top:10px;
}

.sec-graduate-contents .tbl-base {
	margin-top:50px;
}

.graduate_selection_flow {
}

.graduate_selection_flow li {
	box-sizing:border-box;
	margin-top:40px;
	background-color:#f5f5f2;
	padding:35px 50px 35px 170px;
	position:relative;
}

.graduate_selection_flow li .number {
	position:absolute;
	box-sizing:border-box;
	font-size:22px;
	font-weight:500;
	color:#fff;
	background-color:#a4002c;
	left:54px;
	top:18px;
	width:74px;
	height:74px;
	border-radius:50%;
	text-align:center;
	vertical-align:middle;
	padding-top:20px;
}

.graduate_selection_flow li:after {
	position:absolute;
	content:"";
	left:90px;
	top:0;
	bottom:-40px;
	width:2px;
	background-color:#a4002c;
}

.graduate_selection_flow li:nth-child(1):after {
	top:20px;
}

.graduate_selection_flow li:last-child:after {
	bottom:auto;
	height:20px;
}

.graduate_selection_flow li h3 {
	font-size:28px;
	font-weight:400;
	line-height:1.5em;
}

.graduate_selection_flow li h3 span.time {
	float:right;
	font-size:20px;
	vertical-align:bottom;
}

.graduate_selection_flow li h4 {
	font-size:15px;
	font-weight:600;
	line-height:1.5em;
	margin-top:30px;
}

.graduate_selection_flow li p  {
	font-size:15px;
	font-weight:600;
	line-height:1.5em;
	margin-top:30px;
}

.graduate_selection_flow li dl.txt-belongings {
	font-size:15px;
	font-weight:500;
	line-height:1.5em;
	border-top: 1px #cccccc solid;
	margin-top:5px;
}

.graduate_selection_flow li dl.txt-belongings dt {
	width:170px;
	clear:both;
	float:left;
	padding:14px 0 12px;
}

.graduate_selection_flow li dl.txt-belongings dd {
	border-bottom: 1px #cccccc solid;
	padding:14px 0 12px 200px;
}

.graduate_selection_flow li div.txt-belongings-p {
	font-size:15px;
	font-weight:500;
	line-height:1.5em;
	border-top: 1px #cccccc solid;
	border-bottom: 1px #cccccc solid;
	margin-top:5px;
}

.graduate_selection_flow li div.txt-belongings-p p {
	font-weight:500;
	padding:14px 0 12px;
	margin:0;
}

.sec-graduate-ranking {
}

.sec-graduate-ranking figure {
	margin-top:20px;
}

.sec-graduate-ranking figcaption {
	text-align:right;
	font-size:11px;
	line-height:1.33em;
	margin-top:5px;
}

.button-graduate {
	margin-top:80px;
}

.button-graduate a {
	box-sizing:border-box;
	width:70%;
	margin:auto;
	padding:35px;
}

.sec-sns-button {
	background-color:#f5f5f2;
	margin-top:90px;
}

.sec-sns-button > .inner {
	max-width: 1190px;
	margin: 0 auto;
	padding: 40px 15px 60px;
}

.sec-sns-button h2 {
	font-size:35px;
	font-weight:500;
	line-height:1.33em;
	text-align:center;
}

.sec-sns-button ul {
	width:auto;
	margin:40px -15px 0;
}

.sec-sns-button li {
	width:33.33%;
	float:left;
}

.sec-sns-button li a {
	display:block;
	margin:0 15px;
	text-align:center;
	color:#000;
	border:1px #666666 solid;
	background-color:#fff;
	padding:15px;
	font-size:16px;
	line-height:1.33em;
	vertical-align:middle;
	transition: all 0.2s ease;
}

.sec-sns-button li a:hover {
	border:1px #a4002c solid;
	text-decoration:none;
}

.sec-sns-button li a i.fa-external-link {
	margin-left:5px;
	font-size:15px;
}

.sec-sns-button li a i.fa-twitter ,
.sec-sns-button li a i.fa-instagram ,
.sec-sns-button li a i.fa-youtube-play {
	font-size:26px;
	vertical-align:middle;
}
.sec-sns-button li a i.fa-twitter:before {
	color:#1da1f2;
}
.sec-sns-button li a i.fa-instagram {
	color: #FF8C00;
	background: -webkit-linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%) no-repeat;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sec-sns-button li a i.fa-youtube-play:before {
	color:#ff0000;
}

.tbl-base th,
.tbl-base td{
	font-size: 15px;
	line-height: 1.8em;
	font-weight: normal;
}


@media only screen and (min-width:1px) and (max-width:1024px){
}/* endMedia */
@media only screen and (min-width:1px) and (max-width:1024px){
}/* endMedia */
@media only screen and (min-width:1px) and (max-width:768px){
	
	.wrap-graduate-02 {
		max-width: 1190px;
		margin: 0 auto;
		padding: 0 15px;
	}
	
	.sec-graduate-contents {
		clear:both;
		margin-top:50px;
	}
	
	.sec-graduate-contents.sec-graduate-small {
		padding:0;
	}
	
	.sec-graduate-contents h2 {
		font-size:28px;
		font-weight:400;
		line-height:1.33em;
		text-align:center;
	}
	
	.sec-graduate-contents p.txt-sec-lead {
		text-align:center;
		margin-top:30px;
		font-size:13px;
		line-height:1.67em;
	}
	
	.calender {
		margin-top:30px;
		border:1px #cccccc solid;
	}
	
	.sec-graduate-contents h2 span {
		display:block;
	}
	
	.sec-graduate-contents h2 span.main {
	}
	
	.sec-graduate-contents h2 span.sub {
		color:#a4002c;
		font-size:14px;
		line-height:1.33em;
		font-weight:500;
		margin-top:5px;
	}
	
	.sec-graduate-contents .tbl-base {
		margin-top:25px;
	}
	
	.graduate_selection_flow {
	}
	
	.graduate_selection_flow li {
		box-sizing:border-box;
		margin-top:20px;
		background-color:#f5f5f2;
		padding:20px 20px 20px 70px;
		position:relative;
	}
	
	.graduate_selection_flow li .number {
		position:absolute;
		box-sizing:border-box;
		font-size:18px;
		font-weight:500;
		color:#fff;
		background-color:#a4002c;
		left:15px;
		top:15px;
		width:37px;
		height:37px;
		border-radius:50%;
		text-align:center;
		vertical-align:middle;
		padding-top:5px;
		z-index:2;
	}
	
	.graduate_selection_flow li:after {
		position:absolute;
		content:"";
		left:32px;
		top:0;
		bottom:-40px;
		width:2px;
		background-color:#a4002c;
	}
	
	.graduate_selection_flow li:nth-child(1):after {
		top:20px;
	}
	
	.graduate_selection_flow li:last-child:after {
		bottom:auto;
		height:20px;
	}
	
	.graduate_selection_flow li h3 {
		font-size:16px;
		font-weight:500;
		line-height:1.5em;
	}
	
	.graduate_selection_flow li h3 span.time {
		display:block;
		float:none;
		font-size:14px;
		vertical-align:bottom;
	}
	
	.graduate_selection_flow li h4 {
		font-size:14px;
		font-weight:500;
		line-height:1.5em;
		margin-top:10px;
	}
	
	.graduate_selection_flow li p  {
		font-size:14px;
		font-weight:500;
		line-height:1.5em;
		margin-top:10px;
	}
	
	.graduate_selection_flow li dl.txt-belongings {
		font-size:14px;
		font-weight:600;
		line-height:1.5em;
		border-top: 1px #cccccc solid;
		margin-top:5px;
	}
	
	.graduate_selection_flow li dl.txt-belongings dt {
		width:auto;
		clear:both;
		float:none;
		padding:14px 0 0;
	}
	
	.graduate_selection_flow li dl.txt-belongings dd {
		border-bottom: 1px #cccccc solid;
		padding:5px 0 12px 0;
		font-weight:400;
	}

	.graduate_selection_flow li div.txt-belongings-p {
		font-size:14px;
		font-weight:600;
		line-height:1.5em;
		border-top: 1px #cccccc solid;
		margin-top:5px;
	}
	
	.graduate_selection_flow li div.txt-belongings-p p {
		font-weight:600;
		width:auto;
		clear:both;
		float:none;
		padding:14px 0 0;
	}
	
	.sec-graduate-ranking {
	}
	
	.sec-graduate-ranking figure {
		margin-top:20px;
	}
	
	.sec-graduate-ranking figcaption {
		text-align:left;
		font-size:10px;
		line-height:1.33em;
		margin-top:5px;
	}
	
	.button-graduate {
		margin-top:40px;
	}
	
	.button-graduate a {
		box-sizing:border-box;
		width:auto;
		margin:auto;
		padding:13px;
	}
	
	.sec-sns-button {
		background-color:#f5f5f2;
		margin-top:40px;
	}
	
	.sec-sns-button > .inner {
		max-width: 1190px;
		margin: 0 auto;
		padding: 20px 15px 30px;
	}
	
	.sec-sns-button h2 {
		font-size:28px;
		font-weight:500;
		line-height:1.33em;
		text-align:center;
	}
	
	.sec-sns-button ul {
		width:auto;
		margin:20px -3px 0;
	}
	
	.sec-sns-button li {
		width:33.33%;
		float:left;
	}
	
	.sec-sns-button li a {
		display:block;
		margin:0 3px;
		text-align:center;
		color:#000;
		border:1px #666666 solid;
		background-color:#fff;
		padding:8px 5px;
		font-size:11px;
		line-height:1.33em;
		vertical-align:middle;
	}
	
	.sec-sns-button li a i.fa-external-link {
		margin-left:5px;
		font-size:15px;
		display:none;
	}
	
	.sec-sns-button li a i.fa-twitter ,
	.sec-sns-button li a i.fa-instagram ,
	.sec-sns-button li a i.fa-youtube-play {
		font-size:18px;
		vertical-align:middle;
	}
	.sec-sns-button li a i.fa-twitter:before {
		color:#1da1f2;
	}
	.sec-sns-button li a i.fa-instagram {
		color: #FF8C00;
		background: -webkit-linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%) no-repeat;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
	.sec-sns-button li a i.fa-youtube-play:before {
		color:#ff0000;
	}
	
	.tbl-base th,
	.tbl-base td{
		font-size: 13px;
		line-height: 1.8em;
		font-weight: normal;
	}
		
	
}/* endMedia */
