@charset "utf-8";
/* CSS Document */

/* Ryoetsu denki
-----------------------------------------------------*/
#contents {
	background: url("image/bg.png");
	padding: 30px 0 70px;
}

.vertical {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1.4;
}

/* ==============================================
    main-visual-area
============================================== */
#main-visual-area {
	position: relative;
	/*height: 77vh;*/
	height: 46vw;
}
#main-visual {
	/*background: url("image/top_main_photo.jpg") no-repeat right top / cover;*/
	background-position: right top;
	background-size: cover;
	background-repeat: no-repeat;
	width: 92%;
	/*height: 70vh;*/
	height: 42vw;
	transition: 0.5s;
	opacity: 0;
	animation: mainVisual 2s ease forwards 0.5s;
}

@keyframes mainVisual {
	0% {}
	100% { opacity: 1; }
}


#main-copy-area {
	visibility: hidden;
	transform: translateX(300px);
	opacity: 1;
	animation: mainCopy 0.5s ease forwards 1s;
}
@keyframes mainCopy {
	0% { visibility: visible;}
	100% { opacity: 1;visibility: visible; transform: translateX(0);}
}

#main-copy {
	position: absolute;
	left: 46vw;
	bottom: -4vw;
	background: #db0f21;
	width: 60%;
	/*height: 58vh;*/
	height: 35vw;
	margin-left: 25.5vw;
	transition: 0.5s;
}
#main-copy::before {
	content: "";
	position: absolute;
	top: 0;
	left: -12.25vw;
	background: #db0f21;
	transform: skewX(-35deg);
	/*width: 40.6vh;
	height: 58vh;*/
	width: 24.5vw;
	height: 35vw;
	transition: 0.5s;

}


#main-copy p {
	position: absolute;
	bottom: 12%;
	left: -5vw;
	color: #fff;
	font-size: 56px;
	line-height: 1.4;
	font-weight: 900;
}
#main-copy p::after {
	content: "";
	display: block;
	position: absolute;
	top: -30px;
	right: -170px;
	width: 150px;
	height: 150px;
	background: url("image/icon_stand.svg") 0 0 / contain;
}




#sub-visual-area {
	position: relative;
}

#sub-visual {
	background: url("image/top_sub_photo.jpg") no-repeat right top / cover;
	width: 46.9vw;
	height: 35vw;
	/*visibility: hidden;
	transform: translateX(-300px);
	opacity: 1;
	animation: subVisual 0.5s ease forwards 2s;*/
}
/*@keyframes subVisual {
	0% { visibility: visible;}
	100% { opacity: 1;visibility: visible; transform: translateX(0);}
}*/

#sub-copy p {
	font-size: 42px;
	font-weight: 900;
	color: #fff;
	position: absolute;
	top: 10%;
	left: 12vw;
}


#ryoetsu-data {
	position: absolute;
	top: 0;
	left: 46.9vw;
	/*right: 0;*/
	width: 53vw;
	height: 35vw;
}
#ryoetsu-data .wrap {
	
}
#ryoetsu-data figure {
	position: absolute;
	top: 0;
	left: 12vw;
	background: url("image/top_p_office.jpg") no-repeat 0 0 / cover;
	width: 32vw;
	height: 22vw;
}


#ryoetsu-data h2 {
	font-size: 38px;
	font-weight: 900;
	line-height: 1.4;
	position: absolute;
	top: 6vw;
	left: 5vw;
	z-index: 1;
}

#ryoetsu-data h2::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -80px;
	width: 70px;
	height: 70px;
	background: url("image/icon_stand_b.svg") 0 0 / contain;
}

#ryoetsu-data p {
	font-size: 1.125em;
	color: #2e2e2e;
	position: absolute;
	left: -14vw;
	bottom: 3vw;
	width: 18vw;
}
#ryoetsu-data ul {
	list-style: none;
	position: absolute;
	left: 5vw;
	bottom: -40px;
	display: flex;
}
#ryoetsu-data li {
	width: 180px;
}
#ryoetsu-data li img {
	border: 1px solid #2d2d2d;
}
#ryoetsu-data li:nth-child(2) {
	margin-top: 20px;
}
#ryoetsu-data li:nth-child(3) {
	margin-top: 40px;
}

#ryoetsu-data  ul.scrollin li {
	opacity : 0;
	visibility: hidden;
	transition: 0.5s;
	transform: translateY(50px);
	margin-left: 2px;
}
#ryoetsu-data  ul.scrollin.active li {
	opacity : 1;
	visibility: visible;
	transform: translateY(0);
}

#ryoetsu-data  ul.scrollin.active li:nth-child(1) {
	transition-delay: 0.2s;
}
#ryoetsu-data  ul.scrollin.active li:nth-child(2) {
	transition-delay: 0.4s;
}
#ryoetsu-data  ul.scrollin.active li:nth-child(3) {
	transition-delay: 0.6s;
}


@media screen and (min-width: 1500px) {

}
@media screen and (max-width: 1300px) {
	#sub-copy p {
		font-size: 32px;
		top: 5%;
	}
	#ryoetsu-data li {
		width: 12vw;
	}
}
@media screen and (max-width: 1200px) {
	#main-copy p {
		font-size: 48px;
	}
	#main-copy p::after {
		width: 10vw;
		height: 10vw;
		right: -11vw;
	}
	#sub-copy p {
		font-size: 30px;
	}
	#ryoetsu-data h2 {
		font-size: 30px;
		left: 10vw;
	}
	#ryoetsu-data ul {
		left: 10vw;
	}
	#ryoetsu-data p {
		font-size: 1.000em;
		width: 22vw;
		bottom: 0;
	}
	#ryoetsu-data figure {
		left: inherit;
		right: 0;
	}

}

@media screen and (max-width: 1000px) {
	#main-copy p::after {
		width: 8vw;
		height: 8vw;
		right: -13vw;
	}
	#main-copy p {
		font-size: 36px;
	}
	#sub-copy p {
		font-size: 23px;
	}
	#ryoetsu-data h2 {
		font-size: 22px;
	}
}

@media screen and (max-width: 700px) {
	#main-visual-area {
		height: 65vw;
	}
	#main-visual {
		height: 60vw;
	}
	#main-copy {
		left: 50vw;
		height: 46vw;
	}
	#main-copy::before {
		left: -20vw;
		width: 50vw;
		height: 46vw;
	}
	#main-copy p {
		font-size: 22px;
	}
	#main-copy p::after {
		width: 6vw;
		height: 6vw;
		right: -3vw;
		top: -25px;
	}
	
	#sub-visual {
		width: 80%;
		height: 20vw;
		margin-bottom: 30px;
		display: flex;
		align-items: center;
	}
	#sub-copy p {
		font-size: 18px;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
		position: inherit;
		padding: 0 20px;
	}
	
	#ryoetsu-data {
		position: inherit;
		top: inherit;
		left: inherit;
		/*right: 0;*/
		width: 100%;
		height: auto;
	}
	#ryoetsu-data h2 {
		font-size: 22px;
		position: relative;
		top: inherit;
		left: inherit;
		float: left;
		margin: 30px 10px;
		/*width: 30%;*/
	}
	#ryoetsu-data .sub {
		float: right;
		width: 70%;
		margin-bottom: 20px;
	}
	#ryoetsu-data h2::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: -45px;
		width: 35px;
		height: 35px;
	}
	#ryoetsu-data p {
		position: inherit;
		top: inherit;
		bottom: inherit;
		left: inherit;
		width: 100%;
		
	}
	#ryoetsu-data figure {
		position: inherit;
		top: inherit;
		left: inherit;
		width: 100%;
		height: auto;
		padding-top: 72%;
	}
	#ryoetsu-data ul {
		position: relative;
		left: inherit;
		bottom: inherit;
		clear: both;
		margin: 20px 5% 0;
	}
	#ryoetsu-data li {
		width: 33.3333%;
	}
	
}

/* ==============================================
    company-section
============================================== */
#company-section {
	margin-top: 60px;
	margin-bottom: 40px;
}

#company-section ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
}
#company-section li {
	width: 50%;
}
#company-section li.works {
	margin-top: 80px;
}

#company-section li .box {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: 290px;
}
#company-section li .box figure {
	width: 508px;
}
#company-section li.company .box figure {
	margin-right: -115px;
}
#company-section li.works .box figure {
	margin-left: -115px;
}
#company-section li .box div {
	width: 100%;
	flex: 1;
}
#company-section li p {
	width: 30vw;
	margin-top: 10px;
	margin-left: 20%;
	font-size: 1.125em;
	color: #2e2e2e;
}


#company-section li.company .box div {
	background: #db0f21;
}

#company-section li.works .box div {
	background: #0958a5;
}
#company-section li.works .box div {
	order: 2;
}
#company-section li.works .box figure {
	order: 1;
}


#company-section li h2 {
	font-size: 2.250em;
	font-weight: 900;
	color: #fff;
	position: absolute;
	top: 40px;
}
#company-section li.company h2 {
	right: 500px;
}
#company-section li.works h2 {
	left: 500px;
}

#company-section li h2::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -80px;
	width: 70px;
	height: 70px;
	background: url("image/icon_stand.svg") 0 0 / contain;
}
#company-section li a {
	color: #fff;
	display: block;
	position: relative;
}
#company-section li a::after {
	content: "";
	display: block;
	background: url("image/arrow3_w.svg") no-repeat 0 0 / contain;
	width: 50px;
	height: 50px;
	bottom: 50px;
	position: absolute;
	z-index: 1;
	transition: .2s;
}
#company-section li.company a::after {
	right: 60%;
}
#company-section li.works a::after {
	left: 60%;
}

@media screen and (min-width: 700px) {
	#company-section li a:hover::after {
		transform: translateX(4px);
	}
}



@media screen and (max-width: 1200px) {
	#company-section li.company h2 {
		right: 60%;
	}
	#company-section li.works h2 {
		left: 65%;
	}
	#company-section li p {
		width: 40vw;
		margin-left: 10px;
		margin-right: 10px;
		font-size: 1.000em;
	}
	#company-section li.works p {
		text-align: right;
	}
}

@media screen and (max-width: 1000px) {
	/*#company-section li {
		width: 48%;
	}
	#company-section li.works {
		margin-top: 40px;
	}
	#company-section li .box {
		height: 200px;
	}
	

	#company-section li.company .box figure {
		margin-right: -15%;
	}
	#company-section li.works .box figure {
		margin-left: -15%;
	}
	
	
	#company-section li .box figure {
		width: auto;
	}
	#company-section li .box figure img {
		width: auto;
		height: 100%;
	}*/
	
	#company-section li.company h2 {
		right: inherit;
		left: 10px;
	}
	#company-section li.works h2 {
		left: inherit;
		right: 70px;
	}
	#company-section li h2::after {
		right: -60px;
		width: 50px;
		height: 50px;
	}
	#company-section li a::after {
		width: 40px;
		height: 40px;
		bottom: 25px;
	}
	#company-section li.company a::after {
		right: inherit;
		left: 10px;
	}
	#company-section li.works a::after {
		left: inherit;
		right: 10px;
	}
	#company-section li p {
		width: 35vw;
		font-size: 0.938em;
	}
}

@media screen and (max-width: 700px) {
	#company-section ul {
		display: block;
	}
	#company-section li {
		width: 100%;
		margin: 0 0 10px 0 !important;
	}
	#company-section li a::after {
		width: 30px;
		height: 30px;
		bottom: 10px;
	}
	#company-section li h2 {
		font-size: 1.429em;
		top: 10px;
		writing-mode: horizontal-tb;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: horizontal-tb;
	}
	#company-section li.works h2 {
		right: 40px;
	}
	#company-section li h2::after {
		right: -35px;
		width: 30px;
		height: 30px;
	}
	#company-section li .box {
		height: auto;
	}
	#company-section li .box figure {
		width: 50%;
	}
	#company-section li.company .box figure {
		margin-right: 0;
	}
	#company-section li.works .box figure {
		margin-left: 0;
	}
	#company-section li p {
		width: 100%;
		margin: 0;
		padding: 10px;
	}
}




/* ==============================================
    interview-section
============================================== */
#interview-section {
	margin-bottom: 90px;
}

#interview-section .interview-head {
	text-align: center;
	margin-bottom: 30px;
}

#interview-section .interview-head h2 {
	font-size: 2.250em;
	font-weight: 900;
	margin-bottom: 30px;
}
#interview-section .interview-head p {
	font-size: 1.125em;
}


#interview-section .btn_more {
	text-align: center;
}
#interview-section .btn_more a {
	font-size: 1.375em;
	font-weight: 900;
	color: #0958a5;
	display: inline-block;
	background: #fff;
	padding: 20px 150px;
	border: 1px solid #0958a5;
	position: relative;
}
#interview-section .btn_more a::after {
	content: "";
	display: block;
	background: url("image/arrow3_b.svg") no-repeat 0 0 / contain;
	width: 36px;
	height: 36px;
	position: absolute;
	top: 50%;
	right: 25px;
	margin-top: -18px;
	transition: .2s;
}
@media screen and (min-width: 701px) {
	#interview-section .btn_more a:hover::after {
		transform: translateX(4px);
	}
}

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

}

/* ==============================================
    menu-section
============================================== */
#menu-section {
	margin-bottom: 90px;
}

#menu-section ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
}
#menu-section li {
	width: 46%;
}
#menu-section li a {
	position: relative;
	display: block;
}

#menu-section li a::after {
	content: "";
	display: block;
	background: #fff url("image/arrow3_r.svg") no-repeat center center / 54px 54px;
	width: 100px;
	height: 100px;
	position: absolute;
	right: -50px;
	bottom: 0;
	transition: .2s;
}
@media screen and (min-width: 701px) {
	#menu-section li a:hover::after {
		transform: translateX(4px);
	}
}

#menu-section li h2 {
	font-size: 2.125em;
	font-weight: 900;
	color: #fff;
	background: #2d2d2d;
	padding: 25px 20px 50px;
}
#menu-section li figure {
	width: 100%;
	height: 200px;
	background: url("image/top_p_message.jpg") no-repeat center center / cover;
	margin-left: 50px;
	margin-top: -40px;
}


@media screen and (max-width: 1000px) {
	#menu-section li h2 {
		font-size: 1.625em;
		margin-right: 5%;
	}
	#menu-section li a::after {
		width: 60px;
		height: 60px;
		right: 0px;
	}
	#menu-section li figure {
		width: 95%;
		height: 160px;
		margin-left: 5%;
	}
}


@media screen and (max-width: 700px) {
	#menu-section ul {
		display: block;
	}
	#menu-section li {
		width: 100%;
		margin-bottom: 20px;
	}
}



/* ==============================================
    entry-section
============================================== */
#entry-section ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
}

#entry-section li {
	width: 50%;
}
#entry-section li.btn_graduates a {
	background: #db0f21;
	margin-right: 10px;
	position: relative;
}
#entry-section li.btn_career a {
	background: #0958a5;
	margin-left: 10px;
}

#entry-section li a {
	display: block;
	height: 295px;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	padding: 30px 50px;
	position: relative;
}
#entry-section li a p {
	font-size: 2.500em;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	display: block;
	width: 5em;
	text-align: center;
}

#entry-section li a p span {
	display: block;
	text-align: center;
	width: 100%;
	padding: 3px;
	border: 1px solid #fff;
	margin-top: 10px;
	letter-spacing: 0;
	text-indent: 0;
	font-weight: 0.9em;
}

#entry-section li a figure {
	position: absolute;
	top: 0;
	right: 0;
}

@media screen and (max-width: 1200px) {
	#entry-section li a {
		padding: 30px 20px;
	}
	#entry-section li a p {
		font-size: 2.000em;
	}
}
@media screen and (max-width: 1000px) {
	#entry-section li a {
		height: 20vw;
	}
	#entry-section li a p {
		font-size: 1.750em;
	}
	#entry-section li {
		overflow-x: hidden;
	}
	#entry-section li a figure {
		right: -6vw;
	}
	#entry-section li a figure img {
		width: auto;
		height: 20vw;
	}
}

@media screen and (max-width: 700px) {
	#entry-section ul {
		display: block;
	}

	#entry-section li {
		width: 100%;
	}
	#entry-section li a {
		margin: 0 0 20px 0 !important;
	}
	#entry-section li a p {
		width: auto;
		text-align: left;
	}
	#entry-section li a p span {
		display: inline-block;
		width: auto;
		margin: 0 0 0 10px;
	}
	#entry-section li a figure {
		right: 0;
	}
}
