@charset "utf-8";
/* Tokyo Fine Chemical style
-----------------------------------------------------*/

/* ==============================================
    main-visual
============================================== */
#main-visual img {
	width: 100%;
}

/* slickの最初のちらつき解消に役立つかも */
.slider {
	opacity: 0;
	transition: .8s ease-in;
}
.slider.slick-initialized {
	opacity: 1;
}

#main-visual {
	position: relative;
	line-height: 0;
}
#main-catch {
	position: absolute;
	top: 50%;
	left: 5.7vw;
	transform: translateY(-50%);
	z-index: 9;
}

#main-catch strong {
	font-size: 2.125em;
	font-size: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #3c3c3c;
	display: block;
	margin-bottom: 30px;
}
#main-catch p {
	font-size: 1.125em;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.04em;
	color: #777777;
}

#main-catch,
#main-catch strong,
#main-catch p {
	opacity: 0;
	animation: 0.6s ease-in fadeIn forwards;
}

@keyframes fadeIn {
	0% {}
	100% { opacity: 1; }
}
#main-catch,
#main-catch strong {
	animation-delay: 1.0s;
}
#main-catch p {
	animation-delay: 1.6s;
}


@media screen and (max-width: 700px) {
	#main-catch {
		left: 0;
		background: rgba(255,255,255,0.6);
		padding: 20px 10px 20px 20px;
	}
	#main-catch strong {
		font-size: 1.786em;
	}
	#main-catch p {
		font-size: 0.929em;
	}
}


/* ==============================================
    common
============================================== */
section {
	padding: 40px 0 60px;
	margin-bottom: 0px;
}
section h1 {
	text-align: center;
	margin-bottom: 30px;
}
section h1 strong {
	font-size: 32px;
	line-height: 1;
	display: block;
	margin-bottom: 5px;
}
section h1 span {
	font-size: 14px;
	font-weight: 300;
	display: block;
}

@media screen and (max-width: 700px) {

}

/* ==============================================
    product
============================================== */
section#product {
	background: #deebf7;
}
section#product nav ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
}
section#product nav li {
	width: 100%;
	text-align: center;
}
section#product nav li img {
	width: 140px;
	transform-origin: bottom center;
	transition: .2s;
}
section#product nav li p {
	font-size: 14px;
	margin-top: 10px;
}
section#product nav li a {
	display: block;
	color: inherit;
}

section#product nav li a:hover {
	text-decoration: none;
	opacity: 1;
}

@media screen and (min-width: 769px) {
	section#product nav li a:hover img {
		transform: scale(1.05);
	}
}

@media screen and (max-width: 700px) {
	section#product nav {
		margin: 0 10vw;
	}
	section#product nav ul {
		flex-wrap: wrap;
		justify-content: center;
	}
	section#product nav li {
		width: 50%;
		margin-bottom: 40px;
	}
	section#product nav li img {
		width: 30vw;
	}
}

/* ==============================================
    news
============================================== */
section#news p.more {
	text-align: right;
}
section#news p.more a {
	font-size: 0.875em;
	color: inherit;
}
section#news p.more a::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url("image/arrow1_b.svg") no-repeat 0 0 / contain;
	vertical-align: middle;
	margin-right: 10px;
}
section#news p.more a:hover {
	text-decoration: none;
}



/* ==============================================
    main-menu
============================================== */
#main-menu .inner {
	width: 1360px;
}

#main-menu ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
#main-menu li {
	width: 50%;
}
#main-menu li.m_recruit {
	width: 100%;
}

#main-menu li a {
	display: flex;
	align-items: flex-end;
	background: url("image/top_m_company_bg.jpg") no-repeat center center / cover;
	height: 290px;
	padding: 0 10px 25px 70px;
	line-height: 32px;
	vertical-align: middle;
	color: #3c3c3c;
	position: relative;
}

#main-menu li.m_recruit {
	margin-top: 20px;
}

#main-menu li.m_company a {
	background-image: url("image/top_m_company_bg.jpg");
}
#main-menu li.m_rc a {
	color: #fff;
	background-image: url("image/top_m_rc_bg.jpg");
}
#main-menu li.m_recruit a {
	height: 325px;
	padding-bottom: 45px;
	background-image: url("image/top_m_recruit_bg.jpg");
}

#main-menu li a span {
	font-size: 2.2em;
}
#main-menu li a strong {
	font-size: 1em;
	font-weight: 300;
	margin-left: 36px;
}
#main-menu li a span::before {
	content: "";
	display: inline-block;
	background: url("image/arrow1_b.svg") no-repeat 0 0 / contain;
	width: 30px;
	height: 30px;
	margin-left: -30px;
	margin-right: 20px;
}
#main-menu li.m_rc a span::before {
	background-image: url("image/arrow1_w.svg");
}
#main-menu li a:hover {
	text-decoration: none;
	
}

@media screen and (max-width: 1360px) {
	#main-menu .inner {
		width: 100%;
	}
}

@media screen and (max-width: 700px) {
	#main-menu ul {
		flex-direction: column;
	}
	#main-menu li {
		width: 100%;
	}
	#main-menu li a {
		flex-direction: column;
		align-items: center;
		flex-wrap: wrap;
		height: 250px;
		padding: 100px 25px 0 25px;
	}
	#main-menu li.m_company a {
		background-image: url("image/top_m_company_bg_sp.jpg");
	}
	#main-menu li.m_rc a {
		color: #fff;
		background-image: url("image/top_m_rc_bg_sp.jpg");
	}
	#main-menu li.m_recruit a {
		height: 325px;
		padding-top: 70px;
		background-image: url("image/top_m_recruit_bg_sp.jpg");
	}
	#main-menu li a span {
		width: 100%;
	}
	#main-menu li a strong {
		width: 100%;
		margin-left: 0;
		padding-left: 32px;
	}
	#main-menu li a span::before {
		width: 22px;
		height: 22px;
		margin-left: 0px;
		margin-right: 10px;
	}
}
