@charset "UTF-8";

body#top .wrap{
	width: 90%;
	max-width: 1280px;
}

/*画像切り替え*/
#top_img{
	position: relative;
    padding-top: 80px;
	margin:0 auto;
}
#top_img::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.15);
	pointer-events: none;
	mix-blend-mode: multiply;
}
#top_img h2{
	position: absolute;
	right: 35%;
	top: calc(50% + 100px);
	transform: translateY(calc(-50% - 50px));
	z-index: 2;
	text-align: left;
	font-size: 2.25em;
	color: #fff;
	letter-spacing: 0.15em;
	white-space: nowrap;

	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.3));

	opacity: 0;
	animation: fade-in 1s forwards 1s;
}
@keyframes fade-in{
	0%{
		opacity: 0;
		transform: translateY(calc(-50% - 60px));
	}
	100%{
		opacity: 1;
		transform: translateY(calc(-50% - 50px));
	}
}

#top_img .slider{
	width: calc(100% /3);
	height: 480px;
	position: relative;
	overflow: hidden;
}
#top_img .slick-list,#top_img .slick-track{
	height: 100%;
}
#top_img img{
	max-width:100%;
}
#top_img .slider::before,#top_img .slider::after{
	content: "";
	position: absolute;
	height: 100%;

	right: 0;
	top: 0;
	z-index: 1;
	background: #1b52aa;
}
#top_img .slider::before{
	width: 0;
	animation: slide_bl 0.5s linear 0s;
}
#top_img .slider::after{
	width: 100%;
	opacity: 0;
	animation: slide_bg 0.5s linear 0s;
}

main section.fl_box > h2{
	margin-top: 0;
	white-space: nowrap;
}
section.fl_box{
	padding: 60px 0;
	justify-content: space-between;
}
section.fl_box > h2{
	width: 20%;
	border-right: 2px solid #E2E7EB;
}
section.fl_box > div{
	width: 50%;
}
section.fl_box > div.btn{
	width: 20%;
}

#top_concept{
	margin-bottom: 0;
}
#top_concept .message{
	padding-top: 60px;
	margin-bottom: 20px;
	background: #1b52aa;
	position: relative;
}
#top_concept .message::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: url(../images/bg_noise.gif) repeat;
	mix-blend-mode: plus-lighter;
	opacity: 0.2;
}
#top_concept .message h2.wrap{
	margin-top: 0;
	padding: 25px 15px 10px 15px;
	text-align: center;
	font-size: 180%;
	background: #fff;
	max-width: 980px;
	position: relative;
	z-index: 1;
}
#top_concept .message h2 em{
	font-weight: bold !important;
	color:#1b52aa;
}
#top_concept .message h2.wrap::before{
	content: "WATANABEGUMI";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -35px;
	font-size: 50%;
	color: rgba(255,255,255,0.5)
}

#top_concept .fl_box{
	align-items: center;
	margin-bottom: 60px;
}
#top_concept .fl_box > div{
	width: 40%;
}
#top_concept #greeting{
	width: 48%;
	margin-bottom: 0;
}

#top_business{
	background: rgb(255,255,255);
	background: linear-gradient(-30deg, rgba(255,255,255,1) 50%, rgba(196,231,250,0.6) 100%);
	position: relative;
}
#top_business::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background: url(../images/bg_noise.gif) repeat;
	mix-blend-mode: plus-lighter;
	opacity: 0.4;
}
#top_business section.fl_box{
	margin-bottom: 0;
	position: relative;
	z-index: 1;
}
#top_business .f_min a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #1b52aa;
	background: #fff;
	width: 90%;
	margin: 50px auto;
	height: 160px;
	overflow: hidden;
}
#top_business .f_min a:hover{
	background: rgba(182,208,221,0.2);
}
#top_business .f_min a span{
	display: block;
	position: relative;
	padding:0 80px 0 6%;
}
#top_business .f_min a span::before,
#top_business .f_min a span::after{
	content: "";
	position: absolute;
	right: 0;
	height: 1px;
	border-top: 1px solid #1b52aa;
	transition: all ease .3s;
}
#top_business .f_min a span::before{
	top: calc(50% + 6px);
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
}
#top_business .f_min a span::after{
	top: calc(50% + 10px);
	transform: translateY(-50%);
	display: block;
	width: 70px;
}
#top_business .f_min a:hover span::before,
#top_business .f_min a:hover span::after{
	right: -15px;
}
#top_business .f_min a em{
	color: #1b52aa;
	font-size: 150%;
}
#top_business .f_min a span small{
	display: block;
	font-size: 80%;
	color: #283338;
}
#top_business .f_min a div{
	width: 50%;
	overflow: hidden;
	position: relative;
}
#top_business .f_min a div img{
	transition: all ease 5s;
}
#top_business .f_min a:hover div img{
	transform: scale(1.1);
}
#top_business p.ani{
	display: table;
	position: relative;
	padding: 2px 10px;
}
#top_business p.ani strong{
	font-weight: normal;
	color: #fff;
	font-size: 130%;
	position: relative;
	z-index: 1;
}
#top_business p.ani::before,#top_business p.ani::after{
	content: "";
	position: absolute;
	top: 0;
	height: 100%;
	background: #1b52aa;
}
#top_business p.ani::before{
	width: 0;
	left: 0;
	animation: ani_midashi 0.7s forwards 0.6s;
}
#top_business p.ani::after{
	width: 0;
	animation: ani_midashi_after 0.65s linear 0s;
	z-index: 1;
}
@keyframes ani_midashi{
	0%{
		width: 0%;
		opacity: 0;
	}
	10%{
		opacity: 1;
	}
	100%{
		width: 100%;
		opacity: 1;
	}
}
@keyframes ani_midashi_after{
	0%{
		width: 0;
		left: 0;
	}
	50%{
		width: 100%;
	}
	100%{
		left: auto;
		right: 0;
		width: 0;
	}
}
#top_business .fl_box div p em{
	color: #1b52aa;
	font-weight: bold;
}

#top_works .fl_box{
	justify-content: space-between;
}
#top_works .fl_box.wrap{
	padding: 100px 0 50px 0;
	position: relative;
	z-index: 1;
}
#top_works .fl_box section{
	width: 25%;
}
#top_works .fl_box .fl_box{
	width: 60%;
	flex-wrap: wrap;
}
#top_works article{
	width: 48%;
	margin-bottom: 50px;
}
#top_works{
	position: relative;
}
#top_works::before{
	content: "";
	position: absolute;
	width: calc(50% - 25%);
	height: 60px;
	background: #fff;
	left: 0;
	top: 100px;
	z-index: 1;
}
#top_works::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	pointer-events: none;

	width: 100%;
	height: 100%;
	background: url(../images/bg_works.jpg) no-repeat left 20%;
	background-size: 100% auto;
}
#top_works .fl_box section h2{
	background: #fff;
	margin-top: 0;
	margin-bottom: 50px;
	text-align: center;
	color: #1b52aa;
	padding: 10px;
	height: 60px;
}

#top_works article a{
	display: block;
}
#top_works article span{
	display: inline-block;
	font-size: 90%;
	color: rgba(255,255,255,0.5);
}
#top_works article span::before{
    content: "｜";
    vertical-align: middle;
}
#top_works article span:nth-child(2){
	margin-left: 0.5em;
}
#top_works article em{
	font-weight: bold;
	color: #fff;
	transition: all ease .3s;
}
#top_works article a:hover em{
	opacity: .5;
}
#top_works article figure{
	aspect-ratio: 3 / 2;
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
}
#top_works article figure img{
	transition: all ease 5s;
}
#top_works article a:hover figure img{
	transform: scale(1.2);
}
#top_works article figcaption{
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	pointer-events: none;
	background: #1b52aa;
	color: #fff;
	text-align: center;
	padding: 2px 15px;
	font-size: 90%;
}
#top_works article figure::before,#top_works article figure::after{
	content: "";
	position: absolute;
	height: 100%;

	right: 0;
	top: 0;
	z-index: 1;
	background: rgba(255,255,255,0.6);
}
#top_works article a:hover figure::before{
	width: 0;
	animation: slide_bl 0.4s linear 0s;
}
#top_works article a:hover figure::after{
	width: 100%;
	opacity: 0;
	animation: slide_bg 0.4s linear 0s;
}


#top_news{
	margin: 100px auto;
}
#top_news h2{
	text-align: center;
}
#top_news .news_box{
	background: rgba(182,208,221,0.2);
	padding: 30px 0;
}
#top_news .btn a{
	margin: 30px auto 0 auto;
	max-width: 240px;
}
#top_news .news_box > li a div.fl_box{
	align-items: center;
	margin-bottom: 2em;
}
#top_news .news_box > li a span{
	font-size: 90%;
	color: #1b52aa;
}
#top_news .news_box > li a span:not(:first-of-type)::before{
	content: "｜";
    vertical-align: middle;
}

#top_recruit{
	color: #fff;
}
#top_recruit figure{
	height: 400px;
	overflow: hidden;
}

@media screen and (max-width: 999px){ /* tablet */
	#top_img{
		padding-top: 60px;
	}
	section.fl_box{
		flex-wrap: wrap;
	}
	section.fl_box > h2{
		width: 30%;
	}
	section.fl_box > div{
		width: 65%;
	}
	section.fl_box > div.btn{
		width: 100%;
		margin-top: 30px;
	}
	section.fl_box > div.btn a{
		margin: 0 auto;
	}

	#top_concept .fl_box{
		flex-direction: column;
		justify-content: center;
	}
	#top_concept .fl_box > div{
		width: 80%;
		margin-bottom: 40px;
	}
	#top_concept #greeting{
		width: 100%;
	}

	#top_business .f_min a div{
		width: 45%;
	}
}

@media screen and (min-width: 0px) and (max-width: 600px){ /* smart */
	#top_img{
		padding-top: 60px;
	}
	#top_img .slider{
		width: 100%;
		height: 20vh;
	}
	#top_img h2{
		right: 40%;
	}

	section.fl_box > h2{
		border-right: none;
		text-align: center;
		margin-bottom: 20px;
	}
	section.fl_box > div{
		margin-bottom: 20px;
	}
	section.fl_box > h2,
	section.fl_box > div,
	section.fl_box > div.btn{
		width: 100%;
	}

	#top_concept #greeting h2{
		text-align: center;
	}

	#top_business .f_min a{
		height: 200px;
		flex-direction: column-reverse;
	}
	#top_business .f_min a span{
		padding:20px 60px 20px 10px;
	}
	#top_business .f_min a span::after{
		width: 50px;
	}
	#top_business .f_min a:hover span::before,
	#top_business .f_min a:hover span::after{
		right: -10px;
	}


	#top_works::after{
		height: 50%;
		background: url(../images/bg_works.jpg) no-repeat left 20% #1b52aa;
	}

	#top_works .fl_box section,
	#top_works .fl_box .fl_box{
		width: 100%;
	}
	#top_works .fl_box.wrap{
		padding: 0 0 30px 0;
		margin-top: 30px;
	}
	#top_works::before{
		display: none;
	}
	#top_works .fl_box section,
	#top_works .fl_box section h2{
		margin-bottom: 30px;
	}

	#top_news .news_box{
		padding: 15px 0;
	}

	#top_recruit figure{
		height: 200px;
	}
	#top_recruit figure img{
		transform: scale(1.5);
	}
}