@charset "utf-8";
/*
	Last Update:2021/05/10
	Auther: iw
*/
/*===================================================================
	top
===================================================================*/
#main_visual { }
#main_visual > .row > div { height:calc(90vh - 130px); }
#main_visual > .row > div:last-child { display:flex; flex-direction:column; justify-content:space-between; }
#main_visual #video { height:100%; object-fit:cover; }
@media (max-width:991px) {
	#main_visual > .row > div { height:auto; }
	#main_visual #video { display:block; max-height:50vh; width:100%; }
}

#main_text { height:310px; position:relative; }
#main_text .main_text_content { display:inline-block; padding:0 15px; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:490px; max-width:100%; }
#main_text h2 { margin-bottom:20px; }
#main_text h2 > span { display:block; line-height:1.4; }
#main_text h2 > span.english { font-weight:bold; color:#2C72BD; font-size:2.75em; }
#main_text h2 > span.japanese { font-weight:bold; color:#2B2B2B; font-size:2.25em; }
#main_text p { font-size:1.25em; margin-bottom:20px; }
#main_text a { display:inline-block; width:160px; padding-right:20px; background:url(../asset_company/image/layout/icon_arrow_right.png) no-repeat right center; }
@media (max-width:1199px) {
	#main_text h2 > span.english { font-size:2.5em; }
	#main_text h2 > span.japanese { font-size:2em; }
	#main_text p { font-size:1.1em; }
}
@media (max-width:991px) {
	#main_text { padding:40px 0; height:auto; min-height:310px; }
}
@media (max-width:575px) {
	#main_text h2 > span.english { font-size:2em; }
}

#main_slides { height:calc(100% - 310px); letter-spacing:-1em; }
#main_slides .slide { position:relative; height:100%; width:50%; display:inline-block; letter-spacing:normal; padding-bottom:0; vertical-align:bottom; }
#main_slides .slide .slick-list { height:100%; }
#main_slides .slide .slick-list .slick-track { height:100%; }
#main_slides .slide a { margin-right:40px; transition:.2s; }
#main_slides .slide a:hover { opacity:.8!important; }
#main_slides .slide .img_back { height:100%; padding-bottom:0; background-color:rgba(0, 0, 0, 0.32); background-blend-mode:darken; }
#main_slides .slide span { position:absolute; width:100%; text-align:center; color:#fff; top:50%; transform:translateY(-50%); font-size:1.25em; }
@media (max-width:991px) {
	#main_slides .slide .img_back { height:50vw; }
}
@media (max-width:575px) {
	#main_slides .slide span { font-size:1em; }
	#main_slides .slide a { margin-right:15px; }
}

#main_slides .slide .slick-dots { background:#fff; display:inline-block; position:absolute; top:0; right:0; left:auto; bottom:auto; height:20px; width:auto; padding:0 10px; }
#main_slides .slide .slick-dots li { padding:10px; }
#main_slides .slide .slick-dots li button { position:absolute; top:0; left:0; }
#main_slides .slide .slick-dots li button:before { content:""; height:6px; width:6px; border-radius:50%; border:1px solid #c9c9c9; top:50%; left:50%; transform:translate(-50%, -50%); }
#main_slides .slide .slick-dots li.slick-active button:before { background-color:#0046a4; border-color:#0046a4; }
@media (max-width:991px) {
	#main_slides .slide { padding-bottom:0; vertical-align:top; }
}

#top_topic { height:50px; }
#top_topic dl { display:table; width:100%; }
#top_topic dl > * { display:table-cell; vertical-align:middle; height:50px; }
#top_topic dl > dt { background:#0046a4; color:#fff; width:160px; text-align:center; }
#top_topic dl > dd { background:#F8F8F8; }
#top_topic dl > dd .news_unit { padding:0 20px; width:calc(100% - 50px)!important; }
#top_topic dl > dd .news_unit .date { color:#9F9F9F; padding-right:20px; }
#top_topic dl > dd .news_unit a { color:#404040; font-weight:bold; }
@media (max-width:991px) {
	#top_topic { height:auto; }
	#top_topic dl > dt { width:auto; padding:0 15px; }
	#top_topic dl > dd { padding:5px 0; }
	#top_topic dl > dd .news_unit .date { display:block; }
}

#top_service { }
#top_service .our_service { margin-bottom:40px; }
#top_service .our_service .top_bg_wrap { position:relative; }
#top_service .our_service .top_bg_wrap .top_bg { position:absolute; display:block; content:""; background:#1A1B1C; width:100vw; height:75%; bottom:0; left:0; z-index:-10; transform:translate(40px, 40px); }
#top_service .our_service .top_bg_wrap .top_bg::before { content:""; position:absolute; width:120%; height:100%; background-color:rgba(255, 255, 255, 0.5); transition:.75s linear; left:-120%; }
#top_service .our_service a { display:block; }
#top_service .our_service a:hover .top_bg_wrap .top_bg::before { left:100%; }
#top_service .our_service .img_box { padding-bottom:80%; background:no-repeat center center / cover; }

#top_service .our_service .top_service_contents { margin-top:40px; height:100%; }
#top_service .our_service h3 { display:flex; flex-direction:column; justify-content:flex-end; height:25%; font-weight:bold; font-size:2.5em; }
#top_service .our_service .text { display:flex; flex-direction:column; justify-content:center; margin-bottom:40px; position:relative; height:75%; color:#fff; }
#top_service .our_service .text p { line-height:2; margin-bottom:20px; font-size:1.1em; }
#top_service .our_service .text .learn_more { color:#fff; letter-spacing:2px; padding:10px 20px 10px 0; width:150px; background:url(../asset_company/image/layout/icon_arrow_right9.png) no-repeat center right; }
@media (max-width:991px) {
	#top_service .our_service h3 { color:#fff; }
	#top_service .our_service .top_bg_wrap .top_bg { transform:translate(20px, 10px); }
	#top_service .our_service .top_service_contents { padding-left:40px; }
}
@media (max-width:991px) and (min-width:768px) {
	#top_service .our_service .img_box { padding-bottom:50%; }
}

#top_service .links .links_unit { position:relative; background:#F8F9FA url(../asset_company/image/layout/icon_arrow_right2.png) no-repeat right 15px center; margin-bottom:30px; text-align:center; padding:0 30px 30px 30px; overflow:hidden; }
#top_service .links .links_unit::before { content:""; display:block; top:0; left:-120%; position:absolute; width:120%; height:100%; background:rgba(0, 0, 0, 0.1); transition:.5s; }
#top_service .links a:hover .links_unit::before { left:100%; }
#top_service .links .links_unit img { width:160px; }
#top_service .links .links_unit .text { display:flex; flex-direction:column; justify-content:center; align-items:center; font-size:1.1em; line-height:1.4; margin:0 -15px; }

#top_about .about_contents { position:relative; }
#top_about .about_company { position:absolute; top:0; right:0; max-width:50%; padding:50px 30px; z-index:100; }
#top_about .about_company a { display:inline-block; width:150px; background:url(../asset_company/image/layout/icon_arrow_right.png) no-repeat center right; letter-spacing:2px; }
#top_about .about_company p { margin-bottom:30px; }
#top_about a.message_link { display:inline-block; width:75%; padding-bottom:60px; }
#top_about .message { display:flex; }
#top_about .message .img_box { position:relative; width:66.667%; padding-bottom:66.667%; height:0!important; background:no-repeat center center / cover; }
#top_about .message .img_box .img_back { position:absolute; top:0; left:0; width:100%; height:100%; }
#top_about .message .bg_gray { position:absolute; display:block; width:100%; height:50%; background:#F8F9FA; bottom:0; left:0; transform:translate(50%, 60px); z-index:-10; overflow:hidden; }
#top_about .message .bg_gray::before { content:""; display:block; top:0; left:-120%; position:absolute; width:120%; height:100%; background:rgba(0, 0, 0, 0.1); transition:.75s; }
#top_about a.message_link:hover .message .bg_gray::before { left:100%; }
#top_about .message .text_parent { width:33.333%; display:flex; flex-direction:column; justify-content:flex-end; }
#top_about .message .text_parent .text { transform:translateY(60px); height:50%; display:flex; flex-direction:column; justify-content:center; padding-left:30px; }
#top_about .message .text_parent .text .main { font-size:1.5em; margin-bottom:20px; font-weight:bold; }
#top_about .message .text_parent .text .sub { font-size:.8em; }
@media (max-width:991px) {
	#top_about .about_contents { text-align:center; }
	#top_about .about_company { position:relative; max-width:100%; padding:0 0 50px; display:inline-block; margin:0 auto; text-align:left; }
	#top_about a.message_link { width:100%; padding-bottom:0; }
	#top_about .message .img_box { width:40%; padding-bottom:40%; height:0!important; }
	#top_about .message .text_parent { width:60%; justify-content:center; }
	#top_about .message .text_parent .text { transform:translateY(0); text-align:left; padding-left:15px; }
	#top_about .message .bg_gray { width:calc(100vw - 30px); height:100%; bottom:0; left:0; transform:translate(0, 0); }
}


#top_story .story_text { display:inline-block; text-align:left; margin-bottom:60px; }
#top_story .story_text p { margin-bottom:30px; }
#top_story .story_text a { display:inline-block; letter-spacing:2px; width:150px; background:url(../asset_company/image/layout/icon_arrow_right.png) no-repeat center right; }
#top_story .photo_unit a { display:block; }
#top_story .photo_unit .img_box { position:relative; overflow:hidden; }
#top_story .photo_unit .img_box .img_back { height:0; padding-bottom:80%; background:no-repeat center center / cover; }
#top_story .photo_unit .img_box .story_bg { position:absolute; top:0; left:-100%; width:100%; height:100%; background:rgba(0, 0, 0, 0.5); transition:.5s; }
#top_story .photo_unit a:hover .img_box .story_bg { left:0; }
#top_story .photo_unit .img_box span { position:absolute; top:50%; left:0; transform:translate(-50%,-50%); color:#fff; letter-spacing:-.5em; opacity:0; transition:.5s; width:100%; text-align:center; }
#top_story .photo_unit a:hover .img_box span { opacity:1; letter-spacing:2px; left:50%; }
#top_story .photo_unit p { font-weight:bold; }
#top_story .photo_unit._large { height:100%; position:relative; }
#top_story .photo_unit._large a { position:absolute; width:100%; top:50%; transform:translateY(-50%); }
@media (max-width:991px) {
	#top_story .photo_unit:not(._large) { margin-bottom:30px; }
	#top_story .photo_unit._large a { position:relative; transform:translateY(0); }

}

#top_office h3 { background:#fff; font-size:4em; letter-spacing:.2rem; font-weight:bold; z-index:10; position:absolute; line-height:100px; }
#top_office .links { position:relative; padding-top:100px; }
#top_office li a { background:url(../asset_company/image/layout/icon_arrow_right2.png) no-repeat right center / 20px; display:inline-block; padding:10px 25px 10px 0; }
#top_office .img_box { background:no-repeat center center / cover; padding-bottom:45%; }
@media (max-width:767px) {
	#top_office h3 { font-size:2.5em; line-height:50px; }
	#top_office .links { padding-top:50px; }
	#top_office ul { display:inline-block; padding:15px 15px 0 0; background:#fff; }
	#top_office li a { padding:3px 25px 3px 0; }
	#top_office .img_box { margin-top:50px; padding-bottom:0; height:calc(100% - 50px); }
}

#top_recruit .recruit_contents { position:relative; }
#top_recruit .recruit_contents { position:relative; }
#top_recruit .recruit_contents h3 { position:absolute; top:0; right:0;  letter-spacing:-1em; font-size:0; z-index:50; }
#top_recruit .recruit_contents h3 > * { letter-spacing:normal; display:inline-block; font-size:52px; }
#top_recruit .recruit_contents h3 .white { color:#fff; width:120px; padding-right:10px; text-align:right; }
#top_recruit .recruit_contents h3 .black { color:#1A1B1C; width:140px; padding-left:5px; }
#top_recruit .recruit_text { position:relative; width:calc(100% - 140px); background:#1A1B1C; color:#fff; padding:40px 170px 40px 40px; margin-bottom:90px; overflow:hidden; }
#top_recruit a .recruit_text::before { content:""; position:absolute; width:120%; height:100%; background-color:rgba(255, 255, 255, 0.5); transition:.75s; top:0; left:-120%; }
#top_recruit a:hover .recruit_text::before { left:100%; }
#top_recruit .recruit_text h4 { font-size:2em; line-height:1.4; margin-bottom:20px; }
#top_recruit .recruit_text p { margin-bottom:30px; }
#top_recruit .recruit_text .learn_more { color:#fff; letter-spacing:2px; display:inline-block; padding:10px 20px 10px 0; width:150px; background:url(../asset_company/image/layout/icon_arrow_right9.png) no-repeat center right; }
#top_recruit .recruit_contents .img_box { position:absolute; bottom:-90px; right:0; width:260px; height:260px; background:url(../asset_company/image/contents/top/image6.jpg) no-repeat center center / cover; }
@media (min-width:992px) {
	#top_recruit .recruit_contents h3 { width:100%; text-align:right; }
	#top_recruit .recruit_contents h3 .black { text-align:left; }
}
@media (max-width:767px) {
	#top_recruit .recruit_contents h3 { position:relative; }
	#top_recruit .recruit_contents h3 > * { width:auto!important; padding:0!important; }
	#top_recruit .recruit_contents h3 .white { color:#1A1B1C; }
	#top_recruit .recruit_text { width:calc(100% - 15px); padding:40px 15px 120px; }
	#top_recruit .recruit_contents .img_box { width:190px; height:190px; }
}

#top_pickup a.learn_more,
#top_news a.learn_more { display:inline-block; letter-spacing:2px; width:120px; background:url(../asset_company/image/layout/icon_arrow_right.png) no-repeat center right; text-align:left; }

#top_contact .contact_contents { position:relative; padding:60px 40px; background:#F8F9FA url(../asset_company/image/layout/icon_arrow_right.png) no-repeat right 40px center; overflow:hidden; }
#top_contact a .contact_contents::before { content:""; display:block; top:0; left:-120%; position:absolute; width:120%; height:100%; background:rgba(0, 0, 0, 0.1); transition:.75s; }
#top_contact a:hover .contact_contents::before { left:100%; }
#top_contact .contact_contents h3 { font-size:2.5em; margin-bottom:20px; }
@media (max-width:575px) {
	#top_contact .contact_contents { padding:60px 15px; background-position:right 15px center; }

}

.top_hl { text-align:center; display:block; padding-top:45px; margin-bottom:60px; }
.top_hl > * { display:block; margin:0 auto; }
.top_hl .main { font-size:3em; line-height:1.4; padding-bottom:5px; }
.top_hl .sub { font-size:.8em; }

.top_hl_circle { position:relative; width:240px; height:240px; border-radius:120px; margin:0 auto -120px; }
.top_hl_circle > .top_hl { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; }
