.loadingBox { width: 100%; height: 100%; position: fixed; background: white; z-index: 99999999999; }
.loadingBox #bodymovin { position: absolute; top: 48%; left: 50%; transform: translateY(-50%) translateX(-50%); margin: auto; }

#top .header_gNav { background: rgba(0, 0, 0, 0.6); }

#top .header_gNav a { border-bottom: transparent 3px solid; }
#top .header_gNav a:hover { border-bottom: #DC000C 3px solid; }

.topMv { width: 100%; }
.topMv img { width: 100%; }
.topMv .topMv_inner { margin: auto; position: absolute; left: 12%; top: 11%; }
@media only screen and (max-width: 1200px) { .topMv .topMv_inner { left: 15%; } }
@media only screen and (max-width: 768px) { .topMv .topMv_inner { left: 5%; bottom: 10%; top: auto; } }
.topMv .topMv_text { font-size: 14px; color: white; letter-spacing: 7px; font-weight: bold; }
@media only screen and (max-width: 768px) { .topMv .topMv_text { font-size: 12px; } }
.topMv .topMv_title { margin-top: 15px; font-size: 63px; color: black; text-transform: uppercase; font-family: "Bebas Neue", cursive; line-height: 1.2; }
@media only screen and (max-width: 1420px) { .topMv .topMv_title { font-size: 45px; } }
@media only screen and (max-width: 1150px) { .topMv .topMv_title { font-size: 30px; } }
@media only screen and (max-width: 1000px) { .topMv .topMv_title { font-size: 20px; } }
@media only screen and (max-width: 768px) { .topMv .topMv_title { font-size: 53px; color: white; } }
@media only screen and (max-width: 480px) { .topMv .topMv_title { margin-top: 8px; font-size: 45px; } }
@media only screen and (max-width: 375px) { .topMv .topMv_title { font-size: 35px; } }
.topMv .global_red { color: #DC000C; font-weight: 500; }
.topMv .yokozurashi { margin-left: 50px; }
@media only screen and (max-width: 768px) { .topMv .yokozurashi { margin-left: 70px; } }
.topMv .topMvNews { width: 50%; padding: 15px 30px; position: absolute; bottom: 0px; background: #111111; }
@media only screen and (max-width: 768px) { .topMv .topMvNews { width: 100%; } }
.topMv .topMvNews::before { content: url(/img/news_arrow.svg); top: 15px; right: 15px; position: absolute; }
@media only screen and (max-width: 768px) { .topMv .topMvNews::before { top: 25px; } }
.topMv .topMvNews_title { margin-right: 20px; font-size: 16px; color: white; display: inline-block; font-family: "Oswald", sans-serif; letter-spacing: 1px; }
@media only screen and (max-width: 768px) { .topMv .topMvNews_title { display: block; } }
.topMv .topMvNews_text { margin-right: 20px; color: #D6D6D6; display: inline-block; letter-spacing: 1px; }
@media only screen and (max-width: 768px) { .topMv .topMvNews_text { font-size: 12px; margin-right: 12px; } }
.topMv .topMvNews_time { color: #818181; font-family: "Oswald", sans-serif; display: inline-block; }
.topMv a { color: #D6D6D6; transition: all .5s ease-in-out; }
.topMv a:hover { color: #DC000C; transition: all .5s ease-in-out; }

.aboutBox_title { width: 50%; }
@media only screen and (max-width: 768px) { .aboutBox_title { width: 100%; } }

.aboutBox { margin: 100px auto 0px; overflow: hidden; }
@media only screen and (max-width: 768px) { .aboutBox { margin: 80px auto 0px; } }
.aboutBox .aboutBox__textBox { padding-left: 10%; float: left; width: 47%; }
@media only screen and (max-width: 768px) { .aboutBox .aboutBox__textBox { margin-top: 40px; padding-left: 5%; } }
.aboutBox .aboutBox_text { margin-top: 40px; line-height: 2.7; }
@media only screen and (max-width: 768px) { .aboutBox .aboutBox_text { margin-top: 25px; font-size: 12px; line-height: 1.7; } }
.aboutBox .aboutBox_subTitle { width: 460px; margin-top: 35px; padding: 10px 25px; background: #333333; font-size: 18px; color: #fafafa; letter-spacing: 6px; font-weight: bold; }
@media only screen and (max-width: 1100px) { .aboutBox .aboutBox_subTitle { width: 100%; } }
@media only screen and (max-width: 768px) { .aboutBox .aboutBox_subTitle { width: 260px; margin-top: 23px; font-size: 14px; padding: 10px 3px 10px 10px; position: relative; z-index: 99; letter-spacing: 2px; } }
.aboutBox .aboutBox_linkList { width: 100%; margin-top: 50px; overflow: hidden; }
.aboutBox .aboutBox_linkList img { width: 100%; }
@media only screen and (max-width: 768px) { .aboutBox .aboutBox_linkList { width: 95%; margin: 30px auto 0px; } }
.aboutBox .aboutBox_linkList li { width: 45%; margin-right: 25px; display: inline-block; vertical-align: top; }
@media only screen and (max-width: 768px) { .aboutBox .aboutBox_linkList li { width: 49%; margin-right: 2%; } }
.aboutBox .aboutBox_linkList li:last-child { margin-right: 0; }
.aboutBox a .aboutBox_text { margin-top: 20px; padding-left: 21px; font-size: 16px; color: #333333; letter-spacing: 2px; line-height: 1.7; position: relative; }
@media only screen and (max-width: 768px) { .aboutBox a .aboutBox_text { font-size: 12px; line-height: 1.6; } }
.aboutBox a .aboutBox_text::before { content: ""; width: 7px; height: 3px; top: 11px; left: 3px; display: block; background: #DC000C; position: absolute; }
@media only screen and (max-width: 768px) { .aboutBox a .aboutBox_text::before { top: 6px; } }
.aboutBox .aboutBox_photoBox { float: right; width: 50%; padding: 450px 0px; background: url(/img/about_img.jpg) center center no-repeat; background-size: cover; opacity: 0; }
@media only screen and (max-width: 768px) { .aboutBox .aboutBox_photoBox { padding: 200px 0px; } }

.aboutBox_photo { position: relative; overflow: hidden; }
.aboutBox_photo img { transition: all .5s ease-in-out; }
.aboutBox_photo:hover img { transform: scale(1.1); transition-duration: 0.3s; transition: all .5s ease-in-out; }
.aboutBox_photo::after { content: url(/common/img/btn_arrow_mini.svg); bottom: 0px; right: 0; position: absolute; width: 43px; height: 43px; }

@media only screen and (max-width: 768px) { .aboutBox_photo img { width: 100%; } }

.titleBox { overflow: hidden; }
@media only screen and (max-width: 768px) { .titleBox { padding: 0px 5%; } }

.titleBox_title { max-width: 375px; margin-top: 10px; padding-right: 55px; font-size: 100px; color: #DC000C; font-weight: bold; text-transform: uppercase; font-family: "Bebas Neue", cursive; letter-spacing: 2px; line-height: 0.9; float: left; position: relative; border-right: solid 1px #818181; }
@media only screen and (max-width: 1350px) { .titleBox_title { width: 40%; } }
@media only screen and (max-width: 1040px) { .titleBox_title { float: none; width: 100%; border: none; } }
@media only screen and (max-width: 768px) { .titleBox_title { font-size: 80px; letter-spacing: 1px; }
  .titleBox_title::after { content: ""; width: 40px; height: 1px; background: #cbcbcb; position: absolute; bottom: -25px; left: 0px; } }

.titleBox_jaText { display: block; color: black; font-size: 16px; letter-spacing: 4px; }

.titleBox_text { width: 72%; margin-top: 8px; padding-left: 50px; font-size: 16px; color: #333333; line-height: 2.1; float: left; }
@media only screen and (max-width: 1650px) { .titleBox_text { width: 60%; } }
@media only screen and (max-width: 1040px) { .titleBox_text { float: none; padding-left: 0; width: 100%; margin-top: 25px; } }
@media only screen and (max-width: 768px) { .titleBox_text { font-size: 12px; position: relative; margin-top: 50px; } }

.baseWidth { max-width: 1440px; width: 85%; margin: auto; }

.businessBox { width: 95%; margin: 125px 0 0 auto; background: #e2e2e2; transition-duration: 0.3s; }
@media only screen and (max-width: 768px) { .businessBox { width: 100%; margin: 40px 0 0 auto; } }
.businessBox a:hover .business_photo img { transform: scale(1.1); transition: all .7s ease-in-out; }
.businessBox .business_photo { overflow: hidden; }
.businessBox .business_photo img { transition: all .7s ease-in-out; }
.businessBox .businessBox_inner { max-width: 1660px; width: 91%; padding: 100px 0px; margin: auto; }
@media only screen and (max-width: 768px) { .businessBox .businessBox_inner { width: 100%; padding: 60px 0px 0px; } }
.businessBox .business_jaText { display: block; color: black; font-size: 16px; letter-spacing: 4px; }
.businessBox .business_linkList { margin: 0px -55px 0px; text-align: center; display: flex; flex-wrap: wrap; justify-content: center; }
@media only screen and (max-width: 1040px) { .businessBox .business_linkList { margin: 0px -25px 0px; } }
@media only screen and (max-width: 768px) { .businessBox .business_linkList { margin: 30px 0px 0px; background: black; } }
.businessBox .business_linkList li { width: 33.3333%; padding: 0px 3%; font-size: 16px; }
@media only screen and (max-width: 1040px) { .businessBox .business_linkList li { padding: 80px 25px 0px; } }
@media only screen and (max-width: 768px) { .businessBox .business_linkList li { width: 50%; padding: 0px; margin-top: 0px !important; } }
.businessBox .business_linkList li:nth-child(1) { margin-top: 60px; padding-top: 0; }
.businessBox .business_linkList li:nth-child(2) { margin-top: 90px; padding-top: 0; }
.businessBox .business_linkList li:nth-child(3) { margin-top: 130px; padding-top: 0; }
.businessBox .business_linkList li:nth-child(4) { margin-top: 50px; padding-top: 0; }
.businessBox .business_linkList li:nth-child(5) { margin-top: 80px; padding-top: 0; }
.businessBox .business_linkList li:nth-child(6) { margin-top: 110px; padding-top: 0; }
.businessBox .business_linkList li a { width: 100%; display: block; position: relative; }
.businessBox .business_linkList li a::before { bottom: -8px; right: 0; position: absolute; content: ""; width: 7px; height: 3px; background: #DC000C; bottom: 28px; left: 15px; }
.businessBox .business_linkList li a::after { bottom: -8px; right: 0; position: absolute; content: url(/img/arrow.svg); }
@media only screen and (max-width: 768px) { .businessBox .business_linkList li a::after { content: url(/img/arrow_sp.svg); bottom: -7px; } }
.businessBox .business_text { position: absolute; left: 35px; bottom: 15px; color: white; letter-spacing: 0px; }
@media only screen and (max-width: 1150px) { .businessBox .business_text { left: 25px; font-size: 15px; } }

.works { width: 100%; margin-top: 190px; padding: 105px 0px; background: #333333; }
@media only screen and (max-width: 768px) { .works { margin-top: 0px; padding: 80px 0px; } }
.works .titleBox_title { width: 25%; font-size: 120px; padding-right: 50px; }
@media only screen and (max-width: 1450px) { .works .titleBox_title { width: 35%; } }
@media only screen and (max-width: 768px) { .works .titleBox_title { width: 100%; font-size: 80px; position: relative; }
  .works .titleBox_title::after { content: ""; width: 40px; height: 1px; background: #cbcbcb; position: absolute; bottom: -25px; left: 0px; } }
.works .titleBox_jaText { color: white; }
.works .titleBox_text { width: 75%; margin-top: 20px; color: white; }
@media only screen and (max-width: 1450px) { .works .titleBox_text { width: 60%; } }
@media only screen and (max-width: 768px) { .works .titleBox_text { width: 100%; margin-top: 55px; } }
.works .titleBox { width: 85%; margin: auto; color: white; }
@media only screen and (max-width: 768px) { .works .titleBox { width: 100%; } }
.works .titleBox_title { color: white; }
.works .business_jaText { font-size: 16px; }
@media only screen and (max-width: 768px) { .works .global_btn { width: 95%; } }

.workListBox { margin-top: 45px; overflow: hidden; height: 100%; }
.workListBox .workListBox_bigEria { height: 100%; width: 80%; float: left; box-sizing: border-box; background-repeat: no-repeat; background-position: center; background-size: cover; }
@media only screen and (max-width: 768px) { .workListBox .workListBox_bigEria { float: none; width: 100%; } }
.workListBox .workListBox_thumList { width: 19%; float: right; box-sizing: border-box; }
@media only screen and (max-width: 768px) { .workListBox .workListBox_thumList { float: none; width: 100%; } }
@media only screen and (max-width: 768px) { .workListBox .workListBox_thumList { width: 95%; margin: 20px auto 0px; } }
.workListBox .workListBox_thumList li { margin-top: 10px; cursor: pointer; background-size: cover; background-repeat: no-repeat; background-position: center; padding: 100px 0px; transition: all .7s ease-in-out; }
.workListBox .workListBox_thumList li:hover { opacity: 0.4; transition: all .7s ease-in-out; }
@media only screen and (max-width: 768px) { .workListBox .workListBox_thumList li { width: 24%; margin-top: 0; margin-right: 1.3%; padding: 30px 0px; display: inline-block; }
  .workListBox .workListBox_thumList li:last-child { margin-right: 0; } }
.workListBox .workListBox_thumList li:first-child { margin-top: 0; }

.bgTextBox { width: 100%; height: 100%; background: linear-gradient(179.9736692208deg, rgba(255, 255, 255, 0) 25.466155811%, rgba(255, 255, 255, 0.0333333333) 27.7458492976%, rgba(0, 0, 0, 0.9958333333) 86.2579821201%, black 86.2579821201%); position: relative; padding: 416px 0px; }
@media screen and (max-width: 768px) { .bgTextBox { padding: 130px 0px; background-color: inherit; } }

.bgTextBox_inner { width: 80%; margin: auto; position: absolute; left: 8%; bottom: 40px; }
@media only screen and (max-width: 768px) { .bgTextBox_inner { font-size: 16px; left: 4%; bottom: 20px; } }

.bgTextBox_title { color: white; font-size: 20px; font-family: "Bebas Neue", cursive; }
@media only screen and (max-width: 768px) { .bgTextBox_title { font-size: 16px; } }

.bgTextBox_text { color: white; font-size: 20px; }
@media only screen and (max-width: 768px) { .bgTextBox_text { font-size: 16px; } }

.recruitBox { padding: 115px 0px 110px; background: url(/img/recruit_bg@2x.jpg) center center no-repeat; background-size: cover; }
@media screen and (max-width: 768px) { .recruitBox { background-size: cover; } }
@media only screen and (max-width: 768px) { .recruitBox { padding: 100px 0px; } }
.recruitBox .recruitBox_inner { max-width: 1440px; width: 90%; margin: auto; }
.recruitBox .recruitBox_title { font-size: 40px; color: #333333; letter-spacing: 2px; font-weight: normal; font-family: "Yu Mincho", "YuMincho"; }
@media only screen and (max-width: 768px) { .recruitBox .recruitBox_title { font-size: 32px; line-height: 1.4; } }
.recruitBox .recruitBox_enText { font-size: 34px; font-family: "Bebas Neue", cursive; color: #DC000C; display: block; }
@media only screen and (max-width: 768px) { .recruitBox .recruitBox_enText { margin-bottom: 13px; } }
.recruitBox .recruitBox_text { margin-top: 20px; font-size: 16px; line-height: 2; }
@media only screen and (max-width: 768px) { .recruitBox .recruitBox_text { font-size: 12px; } }
.recruitBox .global_btn { margin: 30px 0 0; }

.threeLink { background: #9b0008; }
.threeLink .threeLink_inner { max-width: 1440px; width: 90%; margin: auto; padding: 105px 0px 100px; }
@media only screen and (max-width: 768px) { .threeLink .threeLink_inner { padding: 80px 0px; } }
.threeLink .threeLink_list { margin: 0px -65px; }
@media only screen and (max-width: 1040px) { .threeLink .threeLink_list { margin: 0px -35px; } }
.threeLink li { width: 33.333%; padding: 0px 65px; display: inline-block; overflow: hidden; }
.threeLink li a p { color: white; }
@media only screen and (max-width: 1040px) { .threeLink li { padding: 0px 35px; } }
@media only screen and (max-width: 768px) { .threeLink li { width: 100%; height: 100%; margin-top: 10px; display: block; }
  .threeLink li:first-child { margin-top: 0; } }
.threeLink li .threeLink_photo { overflow: hidden; }
.threeLink li a:hover .threeLink_photo img { transition: all .5s ease-in-out; transform: scale(1.2); }
.threeLink li .threeLink_photo img { position: relative; transition: all .5s ease-in-out; }
.threeLink li .threeLink_photo img::after { content: url(/img/arrow.svg); bottom: 0px; right: 0px; z-index: 99; }
@media only screen and (max-width: 768px) { .threeLink li .threeLink_photo { width: 40%; float: left; } }
.threeLink a { color: white; }
.threeLink .threeLink_text { margin-top: 15px; margin-left: 20px; font-size: 16px; letter-spacing: 1px; position: relative; }
@media only screen and (max-width: 768px) { .threeLink .threeLink_text { width: 60%; margin: 0; padding: 0px 32px; float: right; background: #6e0005; display: flex; }
  .threeLink .threeLink_text span { margin: auto 0px; } }
.threeLink .threeLink_text::after { content: url(/common/img/maru_arrow.svg); position: absolute; top: 50%; right: 10px; transform: translateY(-50%) translateX(-50%); margin: auto; display: none; }
@media only screen and (max-width: 768px) { .threeLink .threeLink_text::after { display: block; } }
.threeLink .threeLink_text::before { content: ""; width: 7px; height: 3px; background: white; display: block; top: 12px; position: absolute; left: -19px; }
@media only screen and (max-width: 768px) { .threeLink .threeLink_text::before { position: absolute; top: 50%; left: 18px; transform: translateY(-50%) translateX(-50%); margin: auto; } }

.cb { clear: both; }

.aboutBox .photoAnime { animation-name: photoAnime; animation-duration: 2s; position: relative; opacity: 1; }

@keyframes photoAnime { 0% { clip-path: inset(0 0 100% 0); transform: scale(1.25); opacity: 0; }
  100% { clip-path: inset(0 0 0 0); transform: scale(1); opacity: 1; } }
#top .footerContactBox { display: none; }

.redbg { background-color: #111; background-image: url(/common/img/img_2020.svg); background-position: center center; padding: 60px 0 100px; background-size: 560px auto; }
@media only screen and (max-width: 768px) { .redbg { background-size: 90% auto; } }
.redbg p { font-weight: normal; text-align: center; margin-top: 20px; color: white; }
.redbg .small { margin-top: 10px; }
.redbg .name { max-width: 160px; margin: 20px auto 0; }
@media only screen and (max-width: 768px) { .redbg .name { width: 37%; } }

small { font-size: 80%; }

.topMv_inner2 { overflow: hidden; transition: all .7s ease-in-out; background: white; }

.topMv_inner2 img { overflow: hidden; transition: all .7s ease-in-out; opacity: 1; }

.topMvAnime img { animation: topMvAnime 3.4s linear 0s; }

@keyframes topMvAnime { 0% { transform: scale(1.4); opacity: 0; }
  5% { opacity: 0; filter: blur(25px); }
  75% { filter: blur(0px); }
  85% { opacity: 1; }
  100% { transform: scale(1); opacity: 1; } }
