@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
html { font-size: 10px; }
@media (max-width: 1280px) and (min-width: 960.5px) { html { font-size: 0.7814vw; } }
@media (max-width: 960px) and (min-width: 767.5px) { html { font-size: 1.30208vw; } }
@media (max-width: 767.5px) { html { font-size: 2.667vw; } }

*, :after, :before { box-sizing: border-box; margin: 0; padding: 0; }

body { font-size: 1.6rem; letter-spacing: 0; line-height: 175%; font-weight: 500; font-family: "Noto Sans JP", serif; }

.anchor_fixtop_1, .anchor_fixtop { display: block; position: relative; top: -8rem; width: 100%; visibility: hidden; }

.anchor_fixtop_1 { top: -25rem; }

#page_top { position: fixed; bottom: 10rem; right: 4rem; width: 10rem; height: 10rem; opacity: 0; border: 0; background: #FFFFFF; border-radius: 100%; font-size: 2.4rem; font-weight: 700; color: #838383; cursor: pointer; outline: none; z-index: 50; box-shadow: 0 0 0.9rem 0.2rem rgba(0, 0, 0, 0.2); }
#page_top.show { opacity: 1; }
#page_top.show:hover { opacity: 0.8; }
@media (max-width: 960px) { #page_top { right: 1.5rem; bottom: 2.5rem; width: 5rem; height: 5rem; font-size: 1.4rem; position: fixed; }
  #page_top.fixed { bottom: 2.5rem; } }

.wow_custom { opacity: 0; -webkit-transform: translate(0, 35px); transform: translate(0, 35px); transition: all 0.5s ease; }
.wow_custom.show { opacity: 1; -webkit-transform: none; transform: none; }

[class*="dflex"] { display: flex; flex-wrap: wrap; }

[class*="aic"] { align-items: center; }

[class*="aie"] { align-items: flex-end; }

[class*="ais"] { align-items: flex-start; }

[class*="jcc"] { justify-content: center; }

[class*="jcsb"] { justify-content: space-between; }

[class*="jcfe"] { justify-content: flex-end; }

[class*="fcolumn"] { flex-flow: column; }

a[href^="tel:"] { cursor: default; pointer-events: none; }
@media (max-width: 1024px) { a[href^="tel:"] { cursor: pointer; pointer-events: all; } }

[class*="grid"] { padding-left: 1.5rem; padding-right: 1.5rem; margin-left: auto; margin-right: auto; width: 100%; }

.grid-1200 { max-width: 123rem; }
.grid-1080 { max-width: 111rem; }

.txt-center { text-align: center; }

.txt-right { text-align: right; }

body, html { height: 100%; }

img { max-width: 100%; height: auto; vertical-align: top; overflow-clip-margin: inherit; }

a, button { color: inherit; text-decoration: none; }

input, textarea, button, select { outline: none; resize: none; }

.hv-o { transition: ease all 0.5s; }
.hv-o:hover { opacity: 0.8; }

.ho-main, .os-main { overflow: hidden; }

.os-y-hidden { overflow-y: hidden; }

.os-section { position: relative; }

.os-align-center { text-align: center; }

.u-sp { display: none; }

ul, ol { list-style: none; }

.is_hidden { display: none !important; }

@media (max-width: 767px) { [class*="grid"] { padding-left: 2rem; padding-right: 2rem; }
  .u-pc { display: none; }
  .u-sp { display: block; } }
/* Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }

.slick-track:before, .slick-track:after { display: table; content: ''; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; margin-left: auto; margin-right: 0; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

header { transition: all 0.35s; height: 6rem; }

.no_scroll { overflow: hidden; }

.scrollMenu { opacity: 0; margin-right: 3rem; transition: all 0.35s; position: relative; }
@media (max-width: 960.5px) { .scrollMenu { display: none; } }

.wp-block-header { padding: 1.6rem 3.2rem 1.6rem 2rem; position: fixed; top: 0; left: 0; background: url(../img/common/menu-bg.jpg); background-size: cover; width: 100%; z-index: 10; transition: all 0.35s; }
.wp-block-header .logo-humbar a { position: relative; display: inline-block; }
.wp-block-header .logo-humbar a .img-02 { position: absolute; top: 0; left: 0; }
@media (min-width: 960.5px) { .wp-block-header .logo-humbar a { padding-left: 11rem; }
  .wp-block-header .logo-humbar a::before { content: ""; position: absolute; width: 5rem; height: 4rem; top: 50%; left: 0; transform: translateY(-50%); background: url(../img/common/logo-txt.png) no-repeat center; background-size: contain; }
  .wp-block-header .logo-humbar a .img-02 { opacity: 0; } }
.wp-block-header .logo-humbar a img { width: 20rem; }

.wp-menu-list li { margin-left: 5rem; position: relative; }
.wp-menu-list li:first-child { margin-left: 0; }
.wp-menu-list li a { color: #FFFFFF; font-size: 1.8rem; font-weight: 700; line-height: 150%; letter-spacing: 0; position: relative; display: inline-block; }
@media (min-width: 961px) { .wp-menu-list li a { transition: all 0.35s; } }
@media (min-width: 961px) { .wp-menu-list li.privacy { display: none; }
  .wp-menu-list li:hover a { color: #cf522b; }
  .wp-menu-list li:hover a::before { width: 100%; } }
.wp-menu-list li.active > a { color: #cf522b; }
.wp-menu-list li.active > a::before { width: 100%; }
.wp-menu-list li ul { position: absolute; z-index: 10; top: 100%; padding-top: 1.8rem; left: 50%; transform: translateX(-50%); opacity: 0; pointer-events: none; }
@media (min-width: 961px) { .wp-menu-list li ul { transition: all 0.35s; } }
.wp-menu-list li ul li { margin-left: 0; margin-bottom: 1rem; }
.wp-menu-list li ul li:last-child { margin-bottom: 0; }
.wp-menu-list li ul li a { background: #FFF; width: 18rem; padding: 2.1rem 0; text-align: center; border-radius: .3rem; border: #cf522b solid .1rem; }
.wp-menu-list li ul li a::before { content: none; }
@media (min-width: 961px) { .wp-menu-list li ul li.active a, .wp-menu-list li ul li:hover a { color: #FFF !important; background: #cf522b; } }
@media (min-width: 961px) { .wp-menu-list li:hover ul { opacity: 1; pointer-events: all; } }
.wp-menu-gp { flex-flow: column; }

.txt-default-01 p { color: #949395; font-size: 1.4rem; font-weight: 400; line-height: 175%; letter-spacing: 0; }

@media (max-width: 960px) { header { height: 5rem; }
  .wp-block-header { background: #FFFFFF; padding: 0; }
  .wp-block-header .logo-humbar { padding: 1.1rem 1.2rem 1.1rem 1.8rem; }
  .wp-block-header .logo-humbar a { top: .4rem; }
  .wp-block-header .logo-humbar a img { width: 15rem; }
  .wp-block-header .logo-humbar { width: 100%; display: flex; justify-content: space-between; align-items: center; }
  #menu { display: block; position: relative; top: .2rem; }
  #menu > div { width: 3rem; height: 2.8rem; position: relative; display: flex; }
  #menu span { background: #B5B5B5; -webkit-transform: translateY(-50%) rotate(0deg); transform: translateY(-50%) rotate(0deg); position: absolute; width: 3rem; height: 3px; border-radius: 3px; -webkit-transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease; transition: top 0.1s ease 0.3s, background 0.1s ease 0.3s, -webkit-transform 0.3s ease; transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s; transition: top 0.1s ease 0.3s, transform 0.3s ease, background 0.1s ease 0.3s, -webkit-transform 0.3s ease; }
  #menu span:nth-child(1) { top: 0; }
  #menu span:nth-child(2) { top: calc(50% - .2rem); }
  #menu span:nth-child(3) { bottom: .1rem; }
  #menu .change span { -webkit-transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s; transition: top 0.1s ease, background 0.1s ease, -webkit-transform 0.3s ease 0.1s; transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease; transition: top 0.1s ease, transform 0.3s ease 0.1s, background 0.1s ease, -webkit-transform 0.3s ease 0.1s; }
  #menu .change span:nth-child(1) { top: 50%; -webkit-transform: translateY(-50%) rotate(315deg); transform: translateY(-50%) rotate(315deg); }
  #menu .change span:nth-child(2) { -webkit-transform: translateY(-50%) rotate(405deg); transform: translateY(-50%) rotate(405deg); display: none; }
  #menu .change span:nth-child(3) { top: 50%; -webkit-transform: translateY(-50%) rotate(405deg); transform: translateY(-50%) rotate(405deg); }
  .chane-x { display: inline-block; position: relative; cursor: pointer; }
  .wp-menu { display: none; width: 100%; background: #B5B5B5; }
  .wp-menu-gp { display: flex; flex-wrap: wrap; justify-content: center; }
  .wp-menu-01 { order: 1; margin-bottom: 0; }
  .wp-menu-02 { width: 100%; }
  .wp-menu-list { display: block; }
  .wp-menu-list li { margin-left: 0; position: relative; border-bottom: #FFFFFF solid .1rem; }
  .wp-menu-list li:last-child { border-bottom: 0; }
  .wp-menu-list li a { padding: 2rem; font-size: 1.6rem; display: block; background: url(../img/common/arrow-right.png) no-repeat center right 3rem; background-size: 1.2rem; }
  .wp-menu-list li a::before { height: .1rem; bottom: -0.1rem; z-index: 12; }
  .wp-menu-list li .menu-sub { position: absolute; background: #cf522b; width: 3rem; height: 3rem; top: 1.4rem; z-index: 1; right: 0; border-radius: 100%; }
  .wp-menu-list li .menu-sub::before { content: ""; position: absolute; width: 1.3rem; height: 0.9rem; top: 50%; left: 50%; transform: rotate(180deg) translate(50%, 50%); background: url(../img/common/page-top.png) no-repeat center; background-size: contain; transition: all 0.35s; }
  .wp-menu-list li .menu-sub.active::before { transform: translate(-50%, -50%); }
  .wp-menu-list li ul { display: none; position: relative; opacity: 1; pointer-events: all; padding-top: 0; }
  .wp-menu-list li ul li { margin-bottom: 1.5rem; border-top: #ccc solid .1rem; border-bottom: 0; }
  .wp-menu-list li ul li:last-child { margin-bottom: 0; }
  .wp-menu-list li ul li a { width: 100%; border: 0; }
  .wp-menu-contact a { width: 14rem; height: 5rem; font-size: 1.8rem; }
  .wp-menu-tel { font-size: 2.4rem; } }
.footer-wrap { background-color: #F6F6F6; padding: 5.2rem 0; }
.footer-wrap .txt-default-02 p { font-size: 1.4rem; font-weight: 500; text-align: center; }
@media (min-width: 960.5px) { .footer-wrap .follow-gp { display: none; } }

@media (max-width: 1280px) { .footer-wrap .txt-default-02 p { font-size: 1rem; } }
@media (max-width: 960px) { .footer-wrap { padding-bottom: 14.5rem; } .wp-contact-privacy p { line-height: 180%;} }
@keyframes fade_in { 0% { opacity: 0; }
  100% { opacity: 1; } }
.wp-top-anime { width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: 200; background: rgba(255, 255, 255, 0.3); background: #545b6a; transition: all 2s; }
.wp-top-anime-gp { position: absolute; bottom: -1.4rem; }
.wp-top-anime-gp-box.img { margin-bottom: 6.7rem; }
.wp-top-anime-gp-box.year { height: 9rem; position: relative; overflow: hidden; z-index: 10; animation: fadeIn_year 5s ease-in-out forwards; animation-delay: 0s; text-align: center; }
.wp-top-anime-gp-box.year .year-item { font-size: 8.4rem; color: #FFFFFF; line-height: 100%; }
.wp-top-anime.active { opacity: 0; pointer-events: none; }
.wp-top-anime::before { content: ""; position: absolute; width: 100%; height: 100%; z-index: 1; top: 0; left: 0; background: #545b6a; transition: all 0.35s; animation: collapseAnimation 6s forwards; /* Tổng thời gian 4s */ overflow: hidden; }
.wp-top-anime::after { content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: url(../img/top/Top_Main_Photo.png) no-repeat center; background-size: cover; opacity: 0; pointer-events: none; animation: fadeIn 8s ease-in-out forwards; animation-delay: 1s; transition: all 0.35s; }
.wp-top-anime h2 { color: #FFFFFF; font-size: 16.8rem; line-height: 100%; text-align: center; opacity: 0.6; animation: fadeIn_txt 2s ease-in-out forwards; }

@keyframes fadeIn_year { 0% { opacity: 1; }
   90% { opacity: 1; }
  100% { opacity: 0; } }
@keyframes fadeIn_txt { 0% { opacity: 0.6; }
  100% { opacity: 1; } }
@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes collapseAnimation { 0%, 25% { /* 3s đầu (75% của 4s) giữ nguyên */
height: 100%; }
  100% { height: 0; } }
.wp-block-mv { position: relative; }
.wp-block-mv img { width: 100%; }
.wp-block-mv-slide { position: relative; }
.wp-block-mv-slide p { position: absolute; top: 46%; left: 50%; transform: translateX(-50%); color: #FFF; font-size: 5rem; font-weight: 700; line-height: 130%; letter-spacing: 0; }
.wp-block-mv-slide .slick-dots { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); display: flex; }
.wp-block-mv-slide .slick-dots li { margin-right: 1.7rem; }
.wp-block-mv-slide .slick-dots li:last-child { margin-right: 0; }
.wp-block-mv-slide .slick-dots li.slick-active button { opacity: 1; }
.wp-block-mv-slide .slick-dots button { font-size: 0; height: 1.5rem; width: 1.5rem; border-radius: 100%; border: 0; background: #FFF; opacity: 0.5; transition: all 0.35s; cursor: pointer; }

.follow-gp { position: absolute; right: 3.5rem; bottom: 2.5rem; }
.follow-gp li { margin-right: 1.5rem; }
.follow-gp li:last-child { margin-right: 0; }
.follow-gp li a { position: relative; }
.follow-gp li a .img-01 { transition: all 0.35s; }
.follow-gp li a .img-02 { position: absolute; opacity: 0; top: 0; left: 0; transition: all 0.35s; }
.follow-gp li a img { height: 2.6rem; width: auto; }
.follow-gp li a.twitter img { height: 2.4rem; }
.follow-gp p { display: none; }

.top-gp-title { height: 74rem; background-repeat: no-repeat; background-position: center; background-size: cover; display: flex; align-items: center; justify-content: center; text-align: center; background-image: url(../img/top/busi-bg-01.jpg); }

.top-gp-01-txt { position: relative; }
.top-gp-01-txt .img { position: absolute; top: 2.2rem; left: -13.2rem; }
.top-gp-01.vs-02 .img { top: 0; }
.top-gp-01.vs-03 .img { left: 0; right: 0; top: -16.1rem; mix-blend-mode: multiply; text-align: center; }
.top-gp-01.vs-04 .img img { width: 34rem; }

.business-02 { padding: 7.4rem 0 5.7rem; }
.business-02 .company_img { width: calc(100% + 30px); border-bottom: 1.1px solid #acadae; text-align: center; margin-left: -15px; margin-bottom: 6rem; }
.business-02 .company_img img { margin-bottom: -1px; }
.business-02-gp { max-width: 1000px; margin: 0 auto; }
.business-title-01 { color: #707070; font-size: 4.4rem; font-weight: 700; line-height: 150%; letter-spacing: 1.2rem; padding-left: 10.5rem; }
.business-title-01.vs-02 { color: #FFFFFF; letter-spacing: 0; }
.business-title-01 .small { display: block; font-size: 2.9rem; margin-top: 1rem; }
.business-table-01 { width: 100%; }
.business-table-01 td { color: #707070; font-size: 2.2rem; font-weight: 500; line-height: 180%; letter-spacing: 0; vertical-align: top; padding-bottom: 2.5rem; }
.business-table-01 td:first-child { font-size: 4rem; width: 22rem; }
.business-table-01 td:last-child { padding-top: .3rem; }
.business-table-01 tr:first-child td { padding-bottom: 6.5rem; }
.business-list li { display: flex; flex-wrap: wrap; }
.business-list li span:first-child { width: 16rem; }
.business-list li span:last-child { width: calc(100% - 16rem); }
.business-list li .map { width: 100%; max-width: 450px; height: 450px; margin: 2rem 0; }

.facilities .top-gp-title { padding-top: 5.5rem; }
.facilities .business-title-01 { padding-left: 0; padding-right: .5rem; letter-spacing: 0; }
.facilities-title { color: #707070; font-size: 3.5rem; font-weight: 500; line-height: 170%; letter-spacing: 0; margin-bottom: 1.2rem; }
.facilities-wrap { padding: 12.3rem 0 10.7rem 14.8rem; position: relative; z-index: 1; }
.facilities-gp { margin-bottom: 7.4rem; }
.facilities-gp:last-child { margin-bottom: 0; }
.facilities-gp-box:first-child { width: calc(100% - 26.7rem); }
.facilities-gp-box:last-child { width: 26.7rem; padding-top: .6rem; }
.facilities-gp-box p { max-width: 52.5rem; }

.environmental .top-gp-title { text-align: left; justify-content: flex-start; }
.environmental .business-title-01 { padding-left: 16.7rem; }
.environmental-head { margin-bottom: 7rem; }
.environmental-wrap { padding-top: 8rem; padding-left: 15rem; padding-bottom: 12rem; }
.environmental-gp { margin-bottom: 6rem; }
.environmental-gp-box:first-child { width: calc(100% - 34rem); }
.environmental-gp-box:last-child { width: 34rem; }
.environmental-gp-box:last-child p { letter-spacing: -0.1rem; }
.environmental-field strong { display: block; }
.environmental-field-item:first-child { padding-top: .8rem; width: 24.8rem; }
.environmental-field-item:last-child { padding-left: 3rem; width: calc(100% - 24.8rem); }
.environmental-title { color: #707070; font-size: 2.8rem; font-weight: 700; line-height: 170%; letter-spacing: 0; margin-bottom: 1.7rem; }
.environmental-img { margin-bottom: 6rem; }
.environmental-img:last-child { margin-bottom: 0; }

.top-recruit { background: #006CB8; }
.top-recruit-title { color: rgba(239, 239, 239, 0.8); font-size: 24.2rem; font-weight: 700; line-height: 100%; letter-spacing: -0.9rem; margin-top: -6.8rem; margin-bottom: 2rem; }
.top-recruit a { color: #FFFFFF; font-size: 4rem; font-weight: 700; line-height: 100%; letter-spacing: 0; }
.top-recruit img { width: 100%; }

.wp-contact .top-gp-01 { padding-top: 22rem; }
.wp-contact-wrap { background: #EFEFEF; padding: 2.8rem 0 2rem; margin-bottom: 3.5rem; }
.wp-contact-gp { width: 100%; max-width: 900px; margin: 0 auto; }
.wp-contact-title-01 { color: #707070; font-size: 4rem; font-weight: 500; line-height: 170%; letter-spacing: 0; text-align: center; margin-bottom: 3.7rem; }
.wp-contact-list { margin-bottom: 2.4rem; justify-content: center; }
.wp-contact-list li { width: calc((100% / 3)); color: #FFFFFF; font-size: 1.6rem; font-weight: 500; line-height: 170%; letter-spacing: 0; position: relative; z-index: 0; height: 6.5rem; display: flex; align-items: center; justify-content: center; }
.wp-contact-list li::before { content: ""; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: #fff; z-index: -1; clip-path: polygon(0% 0%, calc(100% - 2.5rem) 0%, 100% 50%, calc(100% - 2.5rem) 100%, 0% 100%); }
.wp-contact-list li::after { content: ""; position: absolute; width: calc(100% - .2rem); height: calc(100% - .2rem); top: 50%; left: 50%; transform: translate(-50%, -50%); background: #D2D2D2; z-index: -1; clip-path: polygon(0% 0%, calc(100% - 2.5rem) 0%, 100% 50%, calc(100% - 2.5rem) 100%, 0% 100%); }
.wp-contact-list li:nth-child(1) { margin-right: -2.5rem; z-index: 2; width: 30.8rem; }
.wp-contact-list li:nth-child(2) { margin-right: -2.5rem; z-index: 1; width: 37.5rem; }
.wp-contact-list li:last-child { width: 26.6rem; }
.wp-contact-list li:last-child::before { clip-path: initial; }
.wp-contact-list li:last-child::after { clip-path: initial; }
.wp-contact-list li.active::after { background: #535353; }
.wp-contact p { color: #B5B5B5; font-size: 1.4rem; font-weight: 400; line-height: 170%; letter-spacing: 0; }
.wp-contact-head { margin-bottom: 1.2rem; }
.wp-contact-head p { text-align: center; }
.wp-contact-head p.error_text.error { color: #C1222A; }
.wp-contact-head .required { margin-right: 1rem; }
.wp-contact-table { width: 100%; border-spacing: 0; border-collapse: collapse; table-layout: fixed; }
.wp-contact-table td { color: #707070; font-size: 1.4rem; font-weight: 400; line-height: 170%; letter-spacing: 0; position: relative; padding-top: 2.2rem; padding-bottom: 2.2rem; }
.wp-contact-table td:first-child { width: 28rem; padding-left: 3rem; }
.wp-contact-table td:last-child { padding-left: 6rem; }
.wp-contact-table td:last-child span { background: #FFFFFF; border: #B5B5B5 solid 1px; display: block; min-height: 3rem; padding: .2rem 1.5rem; word-wrap: break-word; }
.wp-contact-table td .required { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.wp-contact .required { font-size: 1.2rem; color: #FFFFFF; background: #C1222A; letter-spacing: .4rem; display: inline-block; line-height: 150%; padding: 0 .5rem 0 .8rem; }
.wp-contact .required.vs-02 { background: #B5B5B5; }
.wp-contact .input-form { font-size: 1.4rem; font-family: "Noto Sans JP", serif; width: 100%; border-radius: 0; border: #B5B5B5 solid 1px; color: #707070; height: 3rem; padding: 0 1.5rem; }
.wp-contact .input-form::placeholder { color: #B5B5B5; }
.wp-contact .input-form.vs-02 { width: 19.5rem; }
.wp-contact .input-form.js_required.error { border-color: #C1222A; }
.wp-contact textarea.input-form { height: 20rem; padding-top: .8rem; padding-bottom: .8rem; }
.wp-contact-thanks { text-align: center; padding-bottom: 31rem; }
.wp-contact-privacy-head { text-align: center; margin-bottom: 1.6rem; }
.wp-contact-privacy p { color: #000000; line-height: 240%; }
.wp-contact-privacy-main { border: #B5B5B5 solid .1rem; height: 20rem; padding: 2rem 4rem; margin-bottom: 8rem; }
.wp-contact-btn * { color: #FFFFFF; font-size: 1.4rem; font-weight: 400; line-height: 180%; letter-spacing: 0; background: #707070; border: #707070 solid .1rem; width: 100%; max-width: 50rem; margin: 0 auto; display: flex; align-items: center; justify-content: center; height: 4rem; cursor: pointer; transition: all 0.35s; }
.wp-contact-btn *:hover { background: #FFFFFF; color: #707070; }
.wp-contact-btn {
  margin-bottom: 6rem;
}
.wp-contact-btn-gp { margin: 5rem 0; }
.wp-contact-btn-gp .wp-contact-btn { margin-bottom: 1.5rem; }
.wp-contact-btn-gp .wp-contact-btn:last-child { margin-bottom: 0; }

.txt-default-02 p { color: #707070; font-size: 2.2rem; font-weight: 400; line-height: 180%; letter-spacing: 0; }

@media (min-width: 1280.5px) { .wp-top-anime h2 { font-size: 10.2752vw; } }
@media (max-width: 1280px) and (min-width: 960.5px) { .wp-top-anime-gp { bottom: 0; }
  .wp-top-anime h2 { font-size: 12rem; } }
@media (max-width: 1200px) {
  .top-gp-01.vs-03 .img {
    top: -8.9rem;
  }
  .top-gp-01.vs-03 .img img {
    height: 80px;
  }

  .wp-contact .top-gp-01 { padding-top: 12rem; }
}
@media (max-width: 960px) { 
  .wp-top-anime-gp { bottom: 12rem; }
  .wp-top-anime-gp-box.year { height: 6.5rem; margin-bottom: 1rem; }
  .wp-top-anime-gp-box.year .year-item { font-size: 6rem; }
  .wp-top-anime h2 { font-size: 7.5rem; line-height: 150%; }
  .follow-gp { position: fixed; bottom: 0; left: 0; width: 100%; background: #707070; z-index: 5; padding: 2.5rem 0 1.3rem; }
  .follow-gp ul {
    display: none;
  }
  .follow-gp ul { justify-content: center; margin-bottom: .7rem; }
  .follow-gp p { display: block; text-align: center; color: #FFFFFF; font-size: 1.2rem; }
  .top-gp-title { height: 30rem; background-image: url(../img/top/busi-bg-02.jpg); }
  .wp-block-mv .slick-slide img { height: 30rem; object-fit: cover; }
  .wp-block-mv-slide p { font-size: 2.5rem; width: 100%; text-align: center; top: 40%; }
  .wp-block-mv-slide .slick-dots { display: none !important; }
  .wp-block-mv .follow-gp { display: none; }
  .txt-default-02 p { font-size: 1.8rem; line-height: 137%; }
  .business-title-01 { font-size: 3rem; padding-left: 0; }
  .business-title-01 .small { font-size: 1.7rem; margin-top: 0; }
  .business-02 { padding: 2.7rem 0 0; }
  .business-table-01 td { font-size: 1.6rem; float: left; width: 100%; line-height: 135%; }
  .business-table-01 td:first-child { text-align: center; border: #707070 solid .1rem; border-radius: .5rem; width: 100%; font-size: 24px; padding: 1rem 0; }
  .business-table-01 td:last-child { padding-top: 2rem; padding-bottom: 6rem; }
  .business-table-01 tr:first-child td:first-child { padding: 1rem 0; }
  .business-table-01 tr:first-child td:last-child { padding-top: 3rem; padding-bottom: 8rem; }
  .business-list li { line-height: 225%; }
  .business-list li span { letter-spacing: -0.1rem; }
  .business-list li span:first-child { width: 9rem; }
  .business-list li span:last-child { width: calc(100% - 9rem); font-weight: 400; }
  .facilities-title { font-size: 2.5rem; text-align: center; margin-bottom: 2.8rem; }
  .facilities-wrap { padding: 8rem 0; }
  .facilities-gp { margin-bottom: 1.3rem; }
  .facilities-gp-box:first-child { width: 100%; }
  .facilities-gp-box:last-child { width: 100%; padding-top: 8.5rem; }
  .facilities-gp-box:last-child img { width: 100%; aspect-ratio: 4 / 2.53; }
  .facilities .top-gp-title { padding-top: 0; }
  .environmental-title { font-size: 2.5rem; text-align: center; margin-bottom: .6rem; }
  .environmental-title span { font-size: 1.8rem; font-weight: 400; }
  .environmental-wrap { padding-top: 3.6rem; padding-left: 0; padding-bottom: 3.5rem; }
  .environmental-gp { margin-bottom: 8.5rem; }
  .environmental-gp-box:first-child { width: 100%; }
  .environmental-gp-box:last-child { width: 100%; }
  .environmental-gp-box:last-child p { letter-spacing: 0; line-height: 180%; margin-top: 2.1rem; }
  .environmental-field { margin-bottom: 4.8rem; }
  .environmental-field-item:first-child { width: 100%; margin-bottom: 2.4rem; }
  .environmental-field-item:last-child { width: 100%; padding-left: 0; }
  .environmental-field-item img { width: 100%; }
  .environmental-field-item p { line-height: 180%; }
  .environmental-img { margin-top: 1.3rem; margin-bottom: 3.5rem; }
  .environmental .top-gp-title { background-position: center right -1rem; text-align: center; }
  .environmental .business-title-01 { padding-left: 0; }
  .top-recruit { padding-bottom: 3rem; }
  .top-recruit-title { font-size: 8rem; margin-top: -3rem; letter-spacing: 0; }
  .top-recruit a { font-size: 2.5rem; }
  .wp-contact-gp { padding-left: 0; }
  .wp-contact-title-01 { font-size: 2.5rem; margin-bottom: 2rem; }
  .wp-contact-list { justify-content: center; }
  .wp-contact-list li:nth-child(1) { width: 26rem; }
  .wp-contact-list li:nth-child(2) { width: 26rem; }
  .wp-contact-list li:last-child { width: 26rem; padding-left: 1.6rem; }
  .wp-contact-table td { float: left; width: 100%; padding: 1.2rem 0; }
  .wp-contact-table td:first-child { width: 100%; padding-left: 0; }
  .wp-contact-table td:last-child { padding-left: 0; }
  .wp-contact-privacy-main { padding: 1.5rem 2rem; margin-bottom: 5rem; } }
@media (max-width: 767px) { .wp-top-anime-gp { overflow: hidden; width: 100%; }
  .wp-top-anime-gp-box.img { margin-bottom: 4rem; overflow: hidden; }
  .wp-top-anime-gp-box.img img { max-width: 60rem; margin-left: -11.2rem; object-fit: cover; }
  .wp-top-anime-gp-box.year { height: 3.5rem; }
  .wp-top-anime-gp-box.year .year-item { font-size: 3rem; }
  .wp-top-anime h2 { font-size: 3.8rem; }
  .business-list li .map { height: 200px; }
  .wp-contact-list li:nth-child(1) { width: 12rem; }
  .wp-contact-list li:nth-child(2) { width: 12rem; }
  .wp-contact-list li:last-child { width: 11rem; padding-left: 1.6rem; } 

  .top-gp-01.vs-03 .img {
    top: -2.8rem;
  }
  .top-gp-01.vs-03 .img img {
    height: 40px;
  }
  .wp-contact .top-gp-01 { padding-top: 3rem; }
}

.wp-recruit-01 { width: 100%; position: relative; }
.wp-recruit-01::before { content: ''; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); position: absolute; left: 0; top: 0; }
.wp-recruit-01 .rec-img-01 { width: 100%; font-size: 0; vertical-align: top; }
.wp-recruit-01_content { position: absolute; bottom: 32%; left: 50%; transform: translateX(-50%); z-index: 3; padding-left: 6rem; padding-right: 6rem; }
.wp-recruit-02 { width: 100%; position: relative; margin-top: -0.1rem; padding-top: 6.6rem; padding-bottom: 10rem; background-color: #006CB8; }
.wp-recruit-02_content { width: 100%; max-width: 68.5rem; margin-left: auto; margin-right: auto; position: relative; margin-top: 3.8rem; }
.wp-recruit-02_wrapper { position: relative; }
.wp-recruit-02 .title-img { position: absolute; left: 0; right: 0; top: -29rem; text-align: center; padding-left: 6rem; padding-right: 6rem; }
.wp-recruit-03 { width: 100%; position: relative; padding-top: 4.6rem; padding-bottom: 3rem; }
.wp-recruit-03_content { width: 100%; position: relative; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; margin-top: 3.8rem; }
.wp-recruit-04 { width: 100%; position: relative; padding-top: 4.6rem; padding-bottom: 10rem; background-color: #F6F6F6; }
.wp-recruit-04_content { width: 100%; position: relative; margin-top: 7.2rem; }
.wp-recruit-05 { width: 100%; position: relative; padding-top: 8rem; padding-bottom: 10rem; }
.wp-recruit-05_content { width: 100%; position: relative; padding-top: 8rem;}
.wp-recruit-05 .wp-workstyle-item-detail { display: flex; }
.wp-recruit-05 .wp-workstyle-item-detail div { width: 28.2rem; }
.wp-recruit-05 .wp-workstyle-item-detail div.full { width: 100%; padding-right: 0; }
.wp-recruit-05 .wp-workstyle-item-detail div.img { padding-top: 1.2rem; padding-bottom: .6rem; }
.wp-recruit-05 .wp-workstyle-heading { letter-spacing: .1rem !important; }
.wp-recruit-05 .wp-workstyle-text { letter-spacing: -0.1rem !important; }
.wp-recruit-06 { width: 100%; background-color: #F6F6F6; position: relative; padding-top: 8rem; padding-bottom: 10rem; }
.wp-recruit-06 .wp-workstyle-item { margin-bottom: 4rem; }
.wp-recruit-06 .wp-workstyle-item:last-child { margin-bottom: 0; }
.wp-recruit-06 .wp-workstyle-item-time { width: 24rem; }
.wp-recruit-06 .wp-workstyle-item-detail { padding-left: 0; width: calc(100% - 24rem); }
.wp-recruit-06 .wp-workstyle-item-time, .wp-recruit-06 .wp-workstyle-heading { line-height: 135% !important; }
.wp-recruit-06 .wp-workstyle-text { font-size: 1rem !important; line-height: 175% !important; letter-spacing: .1rem !important; }
.wp-recruit-button_01 { width: 40.8rem; height: 6.7rem; display: flex; align-items: center; justify-content: center; margin-left: auto; margin-right: auto; background-color: #000000; padding-bottom: .2rem; color: #ffffff; font-size: 3.1rem; font-weight: 700; line-height: 130%; letter-spacing: 0; }
.wp-recruit-title_01 { color: #ffffff; font-size: 7.4rem; font-weight: 700; line-height: 130%; letter-spacing: 0; }
.wp-recruit-title_header { width: 100%; position: relative; text-align: center; }
.wp-recruit-title_header-subtitle { margin-bottom: .3rem; display: block; color: #ffffff; font-size: 1.4rem; font-weight: 700; line-height: 130%; letter-spacing: 0; }
.wp-recruit-title_header-subtitle.vs-02 { color: #707070; }
.wp-recruit-title_header-main { color: #ffffff; font-size: 2.6rem; font-weight: 700; line-height: 130%; letter-spacing: 0; }
.wp-recruit-title_header-main.vs-02 { color: #707070; }
.wp-recruit-title_header-desc { width: 100%; text-align: center; margin-top: 4rem; color: #707070; font-size: 1.3rem; font-weight: 400; line-height: 200%; letter-spacing: 0; }
.wp-recruit-card { width: 100%; padding: 2.5rem 2.5rem 2.7rem; background-color: rgba(255, 255, 255, 0.1); }
.wp-recruit-card:not(:last-child) { margin-bottom: 4rem; }
.wp-recruit-card p { margin-top: 1.3rem; color: #ffffff; font-size: 1.3rem; font-weight: 400; line-height: 150%; letter-spacing: 0; }
.wp-recruit-card_header { width: 100%; margin-bottom: 1.6rem; display: flex; align-items: center; justify-content: flex-start; }
.wp-recruit-card_number { display: flex; align-items: center; justify-content: center; width: 5rem; height: 5rem; background-color: rgba(255, 255, 255, 0.2); border-radius: 100%; color: #ffffff; font-size: 2.3rem; font-weight: bold; line-height: 100%; letter-spacing: 0; }
.wp-recruit-card_title { width: calc(100% - 5rem); padding-left: 1rem; color: #ffffff; font-size: 2.1rem; font-weight: bold; line-height: 150%; letter-spacing: 0; }
.wp-recruit-feature { display: flex; width: 48%; max-width: 550px; margin-bottom: 4rem; }
.wp-recruit-feature_img { width: 22.5rem; }
.wp-recruit-feature_text { padding-left: 2.5rem; width: calc(100% - 22.5rem); }
.wp-recruit-feature_title { color: #707070; font-size: 1.7rem; font-weight: 700; line-height: 150%; letter-spacing: 0; display: block; border-top: 1px solid #707070; border-bottom: 1px solid #707070; padding-top: .85rem; padding-bottom: .85rem; margin-bottom: .8rem; }
.wp-recruit-feature_desc { padding-right: 4rem; color: #707070; font-size: 1.3rem; font-weight: 400; line-height: 150%; letter-spacing: 0; }
.wp-recruit-work { width: 100%; display: flex; align-items: center; margin-bottom: 8rem; position: relative; }
.wp-recruit-work:last-child { margin-bottom: 0; }
.wp-recruit-work_img { width: 60rem; }
.wp-recruit-work_img.vs-02 { order: 1; }
.wp-recruit-work_text { padding-left: 3rem; width: calc(100% - 60rem); }
.wp-recruit-work_text.vs-02 { order: 0; padding-left: 0; padding-right: 3rem; }
.wp-recruit-work_title { display: block; margin-bottom: 1.4rem; color: #707070; font-size: 2rem; font-weight: bold; line-height: 140%; letter-spacing: 0; }
.wp-recruit-work_desc { color: #707070; font-size: 1.3rem; font-weight: 400; line-height: 200%; letter-spacing: 0; }

.wp-workstyle-item { width: 100%; max-width: 70rem; margin-left: auto; margin-right: auto; display: flex; margin-bottom: 5.2rem; }
.wp-workstyle-item:last-child { margin-bottom: 0; }
.wp-workstyle-item-time { width: 19.5rem; color: #707070; font-size: 2.5rem; font-weight: 400; line-height: 180%; letter-spacing: 0; }
.wp-workstyle-item-detail { padding-left: 6rem; width: calc(100% - 19.5rem); }
.wp-workstyle-item .wp-workstyle-heading { word-break: break-all; color: #707070; font-size: 2.5rem; font-weight: 400; line-height: 180%; letter-spacing: 0; }
.wp-workstyle-item .wp-workstyle-text { word-break: break-all; color: #707070; font-size: 1.5rem; font-weight: 400; line-height: 170%; letter-spacing: 0; }

@media (max-width: 960px) { .wp-recruit-01 { position: relative; }
  .wp-recruit-01::before { content: ""; width: 100%; height: 100%; position: absolute; left: 0; bottom: 0; background: linear-gradient(0deg, #006cb8 0%, rgba(226, 238, 236, 0) 100%); }
  .wp-recruit-01 .rec-img-01 { height: 30rem; object-fit: cover; }
  .wp-recruit-01_content { bottom: -5.3rem; padding-bottom: 0rem; padding-left: 2rem; padding-right: 2rem; }
  .wp-recruit-02 { margin-top: -0.1rem; padding-top: 10rem; padding-bottom: 10rem; }
  .wp-recruit-02_content { width: 100%; max-width: 68.5rem; margin-left: auto; margin-right: auto; position: relative; margin-top: 3.8rem; }
  .wp-recruit-02_wrapper { position: relative; }
  .wp-recruit-03 { padding-top: 4.6rem; padding-bottom: 1rem; }
  .wp-recruit-03_content { width: 100%; position: relative; display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; margin-top: 3.8rem; }
  .wp-recruit-04 { padding-top: 4.6rem; padding-bottom: 6rem; }
  .wp-recruit-04_content { margin-top: 4rem; }
  .wp-recruit-05 { padding-bottom: 4.6rem; }
  .wp-recruit-05_content { padding-top: 4rem; }
  .wp-recruit-05 .wp-workstyle-item { background-color: #ffffff; border-radius: 1rem; margin-bottom: 2rem; padding-left: 2rem; padding-right: 2rem; }
  .wp-recruit-05 .wp-workstyle-item:last-child { margin-bottom: 0; }
  .wp-recruit-05 .wp-workstyle-item-detail { flex-wrap: wrap; }
  .wp-recruit-05 .wp-workstyle-item-detail div { width: 100%; }
  .wp-recruit-05 .wp-workstyle-item-detail div:first-child { padding-right: 0rem; width: 100%; }
  .wp-recruit-05 .wp-workstyle-item-detail div.img { padding-top: 1.5rem; padding-bottom: 0rem; }
  .wp-recruit-05 .wp-workstyle-text { letter-spacing: .1rem !important; }
  .wp-recruit-06 {
    padding-top: 4.6rem;
    padding-bottom: 6rem;
  }
  .wp-recruit-06 .wp-workstyle-item-time { color: #ffffff; padding: 1rem 1.5rem; background-color: #006CB8; margin-bottom: 1.5rem; }
  .wp-recruit-06 .wp-workstyle-text { font-size: 1.4rem !important; }
  .wp-recruit-button_01 { width: 100%; max-width: 34.5rem; height: 6rem; padding-bottom: .2rem; margin-top: 3rem; font-size: 2rem; }
  .wp-recruit-title_01 { font-size: 3rem; text-align: left; }
  .wp-recruit-title_header { width: 100%; position: relative; text-align: center; }
  .wp-recruit-title_header-subtitle { margin-bottom: .5rem; }
  .wp-recruit-title_header-main { font-size: 1.6rem; }
  .wp-recruit-title_header-desc { margin-top: 2rem; font-size: 1.4rem; line-height: 175%; }
  .wp-recruit-card { padding: 2.5rem 1.5rem 2.7rem; }
  .wp-recruit-card:not(:last-child) { margin-bottom: 2rem; }
  .wp-recruit-card p { margin-top: 1.3rem; font-size: 1.4rem; line-height: 175%; }
  .wp-recruit-card img { width: 100%; height: 10rem; object-fit: cover; }
  .wp-recruit-card_number { font-size: 2.2rem; }
  .wp-recruit-card_title { padding-left: 1.2rem; font-size: 2rem; }
  .wp-recruit-feature { flex-wrap: wrap; width: 100%; margin-bottom: 3.4rem; }
  .wp-recruit-feature_img { width: 100%; margin-bottom: 1.5rem; }
  .wp-recruit-feature_text { padding-left: 0rem; width: 100%; }
  .wp-recruit-feature_title { font-size: 1.8rem; padding-top: 1rem; padding-bottom: 1rem; margin-bottom: 1rem; }
  .wp-recruit-feature_desc { padding-right: 0px; line-height: 175%; font-size: 1.4rem; }
  .wp-recruit-work { flex-wrap: wrap; margin-bottom: 3.4rem; }
  .wp-recruit-work:last-child { margin-bottom: 0; }
  .wp-recruit-work_img { width: 100%; margin-bottom: 1.5rem; }
  .wp-recruit-work_img.vs-02 { order: 0; }
  .wp-recruit-work_text { padding-left: 0rem; width: 100%; }
  .wp-recruit-work_text.vs-02 { order: 1; padding-right: 0rem; }
  .wp-recruit-work_title { margin-bottom: 1rem; font-size: 1.8rem; }
  .wp-recruit-work_desc { font-size: 1.4rem; line-height: 175%; text-align: justify; }
  .wp-workstyle-item { max-width: 100%; flex-wrap: wrap; padding-left: 2rem; padding-right: 2rem; }
  .wp-workstyle-item-time { width: 100% !important; padding-left: 0rem; font-size: 1.8rem; }
  .wp-workstyle-item-detail { padding-left: 0rem; width: 100% !important; }
  .wp-workstyle-item .wp-workstyle-heading { font-size: 1.6rem; }
  .wp-workstyle-item .wp-workstyle-text { font-size: 1.4rem; line-height: 175%; } }

/*# sourceMappingURL=style.min.css.map */

section {
  padding: 10rem 1.5rem;
}

.s_ttl {
  color: #707070;
  font-size: 44px;
  font-weight: 700;
  text-align: center;
}
.s_ttl.ls {
  letter-spacing: 8px;
}

.sp {
  display: none;
}

@media (max-width: 768px) {
  section {
    padding: 6rem 1.5rem;
  }

  .s_ttl {
    font-size: 30px;
  }
  .s_ttl.ls {
    letter-spacing: 0;
  }
  
  .sp {
    display: inline-block;
  }
}



#message {
  min-height: 1000px;
  background-image: url(../img/top/message_bg.jpg);
  background-position: center;
  background-size: cover;
}
#message .section_ttl .ttl {
  text-align: center;
}

#message .cont {
  width: 100%;
  max-width: 810px;
  margin: 4rem auto 0;
}
#message .cont:not(:first-child) {
  margin-top: 8rem;
}
#message .cont .ttl {
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
#message .cont .txt {
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  line-height: 2.4;
}
#message .cont .txt p {
  margin-top: 30px;
}
#message .cont .sign {
  text-align: right;
  margin-top: 3rem;
}

#message .section_img {
  padding: 120px 20px 180px;
}
#message .section_img .img {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}

@media (max-width: 1200px) {
  #message .section_ttl .ttl img {
    height: 90px;
  }
}

@media (max-width: 768px) {
  #message .section_ttl .ttl img {
    height: 50px;
  }

  #message .cont:not(:first-child) {
    margin-top: 5rem;
  }
  #message .cont .ttl {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #message .cont .txt {
    font-size: 16px;
    line-height: 1.8;
  }
  #message .cont .txt p {
    margin-top: 15px;
  }
  #message .cont .sign img {
    width: 140px;
  }

  #message .section_img {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}


#company {
  background-color: #efefef;
}
#company section {
  padding-bottom: 18rem;
}

@media (max-width: 1200px) {
  #company section {
    padding-bottom: 10rem;
  }
}

@media (max-width: 768px) {
  #company section {
    padding-bottom: 6rem;
  }
}

#products {
  position: relative;
}
#products .ttl_img {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
}
#products .ttl_img:first-child {
  top: -15.8rem;
}
#products .ttl_img:last-child {
  bottom: 6rem;
}

#products section {
  background-repeat: no-repeat;
  position: relative;
}
#products section:first-of-type {
  height: 1040px;
  background-image: url(../img/top/products_bg01.jpg);
  background-position: center top;
}
#products section:last-of-type {
  height: 1200px;
  background-image: url(../img/top/products_bg02.jpg);
  background-position: center bottom;
  background-size: auto 1200px;
}

#products .s_ttl {
  color: #ffffff;
}
#products .cont {
  width: 100%;
  max-width: 780px;
  margin: 30rem auto 0;
}
#products .cont .ttl {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
#products .cont .txt {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.8;
}

#products .products_slide {
  margin-top: -24rem;
}
#products .products_slide .slide {
  width: calc(100% + 30px);
  margin-left: -15px;
}
#products .products_slide .slide li {
  margin: 10px;
}

@media (max-width: 1200px) {
  #products .ttl_img:first-child {
    top: -8.8rem;
  }
  #products .ttl_img:first-child img,
  #products .ttl_img:last-child img {
    height: 80px;
  }

  #products section:last-of-type {
    height: 800px;
    background-size: cover;
  }

  #products .cont {
    margin-top: 24rem;
  }
}

@media (max-width: 960px) {
  #products .ttl_img:first-child {
    top: -2.3em;
  }

  #products .ttl_img:first-child img,
  #products .ttl_img:last-child img {
    height: 40px;
  }
}

@media (max-width: 768px) {
  #products .ttl_img:first-child {
    top: -5rem;
  }

  #products section:first-of-type {
    height: 540px;
    background-size: cover;
  }

  #products .products_slide {
    margin-top: -10rem;
  }

  #products section:last-of-type {
    height: 540px;
  }

  #products .cont {
    margin-top: 3rem;
  }

  #products .cont .ttl {
    font-size: 20px;
    margin-bottom: 0;
  }
  #products .cont .txt {
    font-size: 16px;
  }

  #products .ttl_img:last-child {
    bottom: 2rem;
  }
}

#work {
  height: 400px;
  position: relative;
}
#work section {
  padding: 0;
}
#work .ttl_img {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 3;
}
#work .ttl_img img {
  height: 400px;
}

@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	to {
	  transform: translateX(-100%);
	}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: 400px;
}
.scroll-infinity__item>img {
  width: 100%;
}

@media (max-width: 1200px) {
  #work {
    height: 240px;
  }
  #work .ttl_img img {
    height: 240px;
  }
  .scroll-infinity__item {
    width: 240px;
  }

}

@media (max-width: 768px) {
  #work {
    height: 80px;
  }
  #work .ttl_img img {
    height: 80px;
  }
  .scroll-infinity__item {
    width: 80px;
  }

}

#equipment {
  margin-top: 21rem;
  position: relative;
}
#equipment .ttl_img:first-of-type {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: -15.5rem;
}
#equipment section {
  background-repeat: no-repeat;
  position: relative;
}
#equipment section:first-of-type {
  height: 1200px;
  background-image: url(../img/top/equipment_bg01.jpg);
  background-position: center top;
  background-size: auto 1200px;

}
#equipment section:last-of-type {
  min-height: 1800px;
  background-color: #1d242e;
  /*
  background-image: url(../img/top/equipment_bg02.jpg);
  background-position: center bottom;
  background-size: cover;
  */
}

#equipment .s_ttl {
  color: #ffffff;
}
#equipment .cont {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#equipment .cont .box {
  width: 32%;
  max-width: 280px;
  color: #ffffff;
  margin-bottom: 5rem;
}
#equipment .cont .img {
  margin-bottom: 2rem;
}
#equipment .cont .ttl {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}
#equipment .cont .txt {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
}

@media (max-width: 1200px) {
  #equipment {
    margin-top: 16rem;
  }
  #equipment .ttl_img:first-of-type {
    top: -8rem;
  }
  #equipment .ttl_img:first-of-type img {
    height: 90px;
  }

  #equipment section:first-of-type {
    height: 800px;
    background-size: cover;
  }
  #equipment section:last-of-type {
    min-height: 1600px;
  }

  #equipment .cont .ttl {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  #equipment {
    margin-top: 10rem;
  }
  #equipment .ttl_img:first-of-type img {
    height: 45px;
  }
  #equipment .ttl_img:first-of-type {
    top: -5rem;
  }

  #equipment section:first-of-type {
    height: 540px;
  }
  #equipment section:last-of-type {
    min-height: 1px;
  }


  #equipment .cont .box {
    width: 48%;
    margin-bottom: 3rem;
  }
  #equipment .cont .img {
    margin-bottom: 0.5rem;
  }
  #equipment .cont .ttl {
    font-size: 20px;
    margin-bottom: 0;
  }
  #equipment .cont .txt {
    font-size: 15px;
  }

}

#sustainability {
  background-image: url(../img/top/sustainability_bg.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 740px;
  padding-top: 740px;
  position: relative;
}
#sustainability .ttl_img {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: -12rem;
}

#sustainability .s_ttl {
  color: #ffffff;
  position: absolute;
  left: 0;
  right: 0;
  top: 120px;
}
#sustainability .cont {
  width: 100%;
  max-width: 1720px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
#sustainability .cont .box {
  width: calc(100% - 200px);
  max-width: 1390px;
  color: #707070;
  font-size: 22px;
}
#sustainability .cont .ttl {
  font-weight: 700;
  margin-bottom: 10px;
}
#sustainability .cont .txt {
  font-weight: 500;
  line-height: 1.8;
}
#sustainability .sdgs {
  width: 160px;
  height: 100px;
}
#sustainability .sdgs a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #70d55e;
  border-radius: 17px;
  color: #ffffff;
  font-size: 23px;
  font-weight: 700;
  text-align: center;
  line-height: 98px;  
}

@media (max-width: 1200px) {
  #sustainability {
    background-size: auto 480px;
    padding-top: 480px;
  }
  #sustainability .ttl_img {
    top: -5rem;
  }
  #sustainability .ttl_img img {
    height: 85px;
  }
}

@media (max-width: 768px) {
  #sustainability {
    background-size: auto 240px;
    padding-top: 240px;
  }
  #sustainability section {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  #sustainability .ttl_img {
    top: -4rem;
  }
  #sustainability .ttl_img img {
    height: 45px;
  }

  #sustainability .s_ttl {
    font-size: 18px;
    top: 30px;
  }

  #sustainability .cont .box {
    width: 100%;
  }
  #sustainability .cont .ttl {
    font-size: 20px;
  }
  #sustainability .cont .txt {
    font-size: 16px;
  }

  #sustainability .sdgs {
    margin-top: 20px;
  }
}


#recruit {
  background-image: url(../img/top/recruit_bg.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 230px;
  padding-top: 230px;
  position: relative;
}
#recruit .ttl_img {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 7.5rem;
}
#recruit section {
  padding-top: 3rem;
}


#recruit .s_ttl a {
  color: #006cb8;
}

#recruit a:hover {
  opacity: 0.8;
  transition: 0.5s;
}

@media (max-width: 1200px) {
  #recruit .ttl_img {
    top: 8.5rem;
  }
  #recruit .ttl_img img {
    height: 80px;
  }
}

@media (max-width: 768px) {
  #recruit {
    background-size: auto 160px;
    padding-top: 160px;
  }

  #recruit .ttl_img {
    top: 4.5rem;
  }
  #recruit .ttl_img img {
    height: 40px;
  }

}









