@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');

/*container*/
@media (max-width:575.98px){
.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{
max-width:500px;
}
}
@media (min-width:992px){
.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{
max-width:924px;
}
}

/*ナビバー*/
.bg-dred{
background:#c1101d;
}
.bg-ddred{
background:#aa0924;
}
.bg-gray{
background:#f4f4f4;
}
.bg-twhite{
background:rgba(255,255,255,0.85);
}
.bg-dgray{
background:#aaa;
}
.navbar{
padding:0;
border-bottom:1px solid #d3161f;
font-weight:500;
}
.navbar-brand img{
width:140px;
}

.navbar ul li{
border-bottom:1px solid #333;
width:100%;
}
.navbar ul li a{
font-size:16px;
display:block;
}

.navbar ul li a:hover{
background:#222;
-webkit-transition: 0.5s;
transition: 0.5s;
}

.navbar-brand{
margin:0;
padding:0px 12px;
}
.brand-text-main{
font-size:16px;
}
.brand-text{
font-size:12px;
}
.header-tel{
font-size:18px;
}
.header-tel_sp{
padding:0 12px;
}
.header-contact_sp{
font-size:13px;
}
.header-tel_sp .bi{
font-size:22px;
}
.header-contact_sp .bi{
font-size:17px;
}
.navbar-collapse{
background-color:#000;
}
.navbar-contact a.bg-dred:hover{
background:#000;
-webkit-transition: 0.5s;
transition: 0.5s;
}
.navbar-contact a.bg-ddred:hover{
background:#000;
-webkit-transition: 0.5s;
transition: 0.5s;
}

@media (min-width:576px){
.navbar-brand img{
width:190px;
}
.header-tel_sp .bi{
font-size:16px;
}
.navbar-brand{
padding:0px 18px;
}
}
@media (min-width:768px){
.bg-lred{
background:#e01928;
height:84px;
}
.navbar ul li:not(:last-child){
border-right:1px solid rgba(255,255,255,0.3);
}
.navbar-contact a{
width:200px;
display:block;
height:42px;
line-height:42px;
}

.header-tel_sp{
font-size:18px;
padding:0 18px;
}

.header-contact_sp{
font-size:15px;
}
.navbar-brand{
padding:0px 30px;
}
}

@media (min-width:992px){
.navbar-brand{
padding:0px 30px;
}
.navbar-collapse{
background-color:transparent;
}
.navbar ul li{
border-bottom:0px solid #333;
}
.navbar ul li a{
font-size:15px;
}
.navbar ul li a:hover{
color:#fcd0d0;
}
.navbar ul li a:hover{
background:transparent;
}
}

#input{
display: none;
}
.header-close-button{
margin: 0 auto;
width:60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
}
.header-close-button span, .header-close-button span:before, .header-close-button span:after {
position: relative;
height: 2px;
width: 28px;
background: #f9192f;
display: block;
content: '';
}
.header-close-button span:before{
top:-12px;
}
.header-close-button span:after{
bottom: -11px;
}
#input:checked ~ .header-close .header-close-button span:before{
top: 0;
transform: rotateZ(-90deg);
}
#input:checked ~ .header-close .header-close-button span{
top: 0;
transform: rotateZ(45deg);
}
#input:checked ~ .header-close .header-close-button span:after{
top: 0;
transform: rotateZ(-45deg) scale(0);
}

@media (min-width:768px){
.header-close-button{
width:70px;
height: 70px;
}
}

/* page-title */
#page-title{
background: linear-gradient(70deg, #555555, #222222);
margin-top:61px;
padding:20px 0 40px;
}
#page-title h2{
font-size:27px;
letter-spacing:3px;
}
.page-company-name{
font-size:16px;
border-bottom:2px solid #d3161f;
letter-spacing:1px;
}
.page-company-name span{
font-size:17px!important;
}

@media (min-width:576px){
#page-title{
padding:40px 0 45px;
}
#page-title h2{
font-size:33px;
}
#page-title span{
font-size:22px;
}
.page-company-name{
font-size:24px;
}
.page-company-name span{
font-size:24px!important;
}
}

@media (min-width:992px){
#page-title{
margin-top:84px;
}
#page-title{
padding:60px 0 65px;
}
}
/* footer */
footer{
background:#474747;
}
footer p{
line-height:1.7;
}
footer ul li a:hover{
color:#888;
}
.footer-logo{
width:190px;
}
footer hr{
background-color:#555555;
border-top:1px solid #2b2b2b;
height:2px;
}
.copy{
font-size:11px;
color:#999;
font-weight:500;
margin-top:60px;
}
#footer-contact h3{
font-size:22px;
}
#footer-contact hr{
border-color:#fff;
}
#footer-contact a.text-red:hover{
color:#333;
}
#footer-contact .bi{
font-size:50px;
line-height:1;
}
a.sns_btn{
height:80px;
width:410px;
border: 4px solid #e2e2e2;
-webkit-transition: .3s;
transition: .3s;
}
a.sns_btn:hover{
border: 4px solid #555555;
}

@media (min-width:768px) {
.copy{
margin-top:45px;
}
}
@media (max-width: 991.98px){
a.sns_btn{
max-width:100%;
}
}


/*BASE*/
body{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
background:#ffffff;
font-size:15px;
color:#000;
-webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5{
margin:0;
padding:0;
}
h1{
bottom:3rem;
font-size:11px;
color:#999;
}
p{
margin-bottom:0;
line-height:1.9;
}
ul li{
list-style:none;
}
.size-xs{
font-size:13px;
}
a{
color:#1d54a7;
text-decoration:none;
}
.a-link{
padding-top: 70px;
margin-top:-70px;
}
.font-weight-700{
font-weight:700;
}
.font-weight-600{
font-weight:600;
}
.font-weight-500{
font-weight:500;
}
.lh-xl{
line-height:2.2;
}
.lh-s{
line-height:1.7;
}

hr{
margin:0;
padding:0;
opacity:1;
}
hr.border-black{
border-color:#bbb;
}

ul{
margin:0;
padding:0;
}
ul.list-style-outside{
list-style-position:outside;
margin-left:20px;
list-style-type: square;
}

.justify{
text-align: justify;
}

.tel{
font-size:25px;
letter-spacing:1px;
font-weight:700;
}

.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 32px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-moz-font-feature-settings: 'liga';
-moz-osx-font-smoothing: grayscale;
display: inline-flex;
vertical-align: middle;
}

@media (min-width: 576px){
.tel{
font-size:29px;
}
.lh-xl{
line-height:2.3;
}
.a-link{
padding-top: 100px;
margin-top:-100px;
}
}

/*カラー*/
.text-white{
color:#fff;
}
.text-white a{
color:#fff;
}
.text-black{
color:#000000;
}
.text-lgray{
color:#888;
}
.text-gray,a.text-gray{
color:#444;
}
.text-red{
color:#d3161f;
}
.text-j{
font-family: 'Noto Serif JP', serif;
}
.text-n{
font-family: 'Noto Sans JP', sans-serif;
}
.text-justify{
text-align:justify;
}
.bg-lgray{
background:#f7f7f7;
}
.bg-red{
background:#d3161f;
}
.bg-wwhite{
background:rgba(255,255,255,0.9);
}
.marker{
background: linear-gradient(transparent 60%, #fcf0d2 60%);
font-weight:500;
}

/*タイトル 文字の大きさ*/
.size-s{
font-size:14px;
}

.size-ms{
font-size:15px;
}

.title-s{
font-size:19px;
}
.title-m{
font-size:23px;
}
.title-l{
font-size:23px;
}
.title-xs{
font-size:16px;
}
.border-title{
border-bottom:2px solid #eee;
padding-bottom:10px;
}
.border-title h2{
border-bottom:2px solid #e01928;
display:inline;
letter-spacing:1px;
padding-bottom:8px;
}
.border-title h2 small{
font-size:14px;
}
.title-xl{
font-size:32px;
}
h2.en-title{
font-size:16px;
}
@media (min-width: 576px){
.size-ms{
font-size:15px;
}

.title-m{
font-size:26px;
}
.title-l{
font-size:29px;
}
.title-xl{
font-size:40px;
}
.border-title h2 small{
font-size:17px;
}
}

@media (min-width: 768px){
.size-ms{
font-size:14px;
}
}

/*ボタン*/
a.btn-main{
max-width: 300px;
height: 58px;
line-height: 58px;
letter-spacing: 2px;
text-align: center;
border-radius: 100vh;
-webkit-transition: .3s;
transition: .3s;
border:1px solid #fff;
}
a.btn-main:hover{
background:rgba(255,255,255,0.1)
}

#recruit a.btn-main{
border:1px solid #d3161f;
letter-spacing: 0px;
}

#recruit a.btn-main:first-child{
font-size:18px;
}

#recruit a.btn-main:hover{
color:#000;
}


a.am-r{
font-size:14px;
color:#d3161f;
font-weight:700;
}
.am-r img {
transition: all 0.3s ease 0s;
}
.am-r:hover img {
transform: translatex(0.4rem);
}
@media (min-width: 576px){
a.btn-main{
width: 380px;
height: 58px;
line-height: 58px;
letter-spacing: 3px;
}
}
/*home*/
#top .d-flex{
background:url(img/top.jpg) 83% center;
height:100vh;
background-size:cover;
}
.top-text-shadow{
text-shadow: 1px 1px #000;
text-shadow: rgba(0,0,0,0.6) 1px 1px 5px, rgba(0,0,0,0.6) -1px 1px 5px,
rgba(0,0,0,0.6) 1px -1px 5px, rgba(0,0,0,0.6) -1px -1px 5px;
}
#top h2{
font-size:19px;
display:inline-block;
border-bottom:2px solid #d3161f;
}
#top h2 span{
font-size:20px;
}
#top .top-copy{
font-size:29px;
}
#top .e-copy{
font-size:16px;
text-shadow: 1px 1px #fff;
}
.main-text-bg{
background-color:#14171b;
}
#top .op{
width:100%;
bottom:470px;
left:0;
}
.op img{
width:280px;
}

@media (min-width: 576px){
#top .op{
bottom:315px;
width:auto;
}
.op img{
width:350px;
}
#top h2{
font-size:20px;
}
#top h2 span{
font-size:21px!important;
}
#top .top-copy{
font-size:47px;
}
#top{
background:url(img/top.jpg) 80% center;
background-size:cover;
}
#top .d-flex{
background:none;
height:600px;
}
.main-text-bg{
background-color:rgba(0,0,0,0.5);
}
.main-text p{
font-size:17px;
line-height:2.4;
}
}

@media (min-width: 767px){
#top .op{
bottom:230px;
left:5%;
}
.op img{
width:420px;
}

#top h2{
font-size:27px;
}
#top h2 span{
font-size:29px!important;
}
#top .top-copy{
font-size:54px;
}
#top .e-copy{
font-size:24px;
}
#top .d-flex{
height:660px;
}
#top{
background:url(img/top.jpg) 80% center;
background-size:cover;
}
}

@media (min-width: 992px){
.op img{
width:500px;
}
}

#top-service ul li{
list-style-position: outside;
list-style-type: disc;
padding-bottom:7px;
}
#top-service{
background:linear-gradient(#fff 0 20%, #bb131a 20% 100%);
}

#top-service .inner{
padding:20px 20px;
}

#top-service .under-m{
margin-bottom:-40px;
z-index:100;
position:relative;
z-index:1;
}

@media screen and (min-width:576px) and ( max-width:991.98px) {
.j-p{
padding-top:12px;
}
}

@media (min-width: 768px){
#top-service .under-m{
text-shadow: rgba(255,255,255,0.6) 1px 1px 5px, rgba(255,255,255,0.6) -1px 1px 5px,
rgba(255,255,255,0.6) 1px -1px 5px, rgba(255,255,255,0.6) -1px -1px 5px;
}
#top-service{
background:linear-gradient(#fff 0 50%, #bb131a 50% 100%);
}
#top-service .col-md-6{
padding:1px;
}
#top-service .inner{
padding:30px 40px;
}
}
#top-company img{
width:132px;
}
#top-company{
background: url(img/back-img.jpg) center center;
background-size: cover;
background-attachment: scroll;
}
#footer-contact{
background: #14171b;
}

#top-company .row a{
color:#000;
}
#top-company .row a:hover{
background:rgba(255,255,255,0.85)
}
#top-company .col-md-4{
padding:1px 25px;
}

#top-company hr{
border-color:#e01928;
width:45px;
margin:10px auto;
}

#top-recruit .top-recruit-img {
background: url(img/top-recruit.jpg) bottom center;
background-size: cover;
height: 320px;
}

.service2-img {
background: url(img/service2_.jpg) bottom center;
background-size: cover;
height: 280px;
}

#service01{
background:linear-gradient(#fff 0 70%, #bb131a 70% 100%);
}

#service01 ul li{
list-style-position: outside;
list-style-type: disc;
padding-bottom:9px;
line-height:1.8;
}

#service01 .row{
border:1px solid #fff;
}
#service01 h3{
font-size:17px;
}

#service03 h3{
font-size:21px;
}
#service03{
background: url(img/service03_back.jpg) bottom center;
background-size: cover;
}
#service03 p span{
color:#c1101d;
font-weight:500;
}
.safety-title{
border-left:3px solid #c1101d;
background:rgba(255,255,255,0.5);
letter-spacing:0px;
}
@media (min-width: 576px){
.safety-flame{
background:rgba(255,255,255,0.7);
}
#service01 .top-recruit-img{
height:520px;
}
.service2-img {
height: 380px;
}
#service01{
background:linear-gradient(#fff 0 55%, #bb131a 55% 100%);
}
#service01 h3{
font-size:20px;
}

#service03 h3{
font-size:25px;
}

#top-recruit .top-recruit-img{
height:380px;
}
#top-company,#footer-contact{
background: url(img/back-img.jpg) bottom center;
background-size: cover;
background-attachment: fixed;
}
}
@media (min-width: 768px){
#top-company .col-md-4{
padding:1px;
}
}
/*company*/
#company{
padding:60px 0 0;
}
.policy{
border-bottom:1px dotted #bbb;
}
.policy div{
width:100%;
font-size:17px;
}

.ceo{
font-size:18px;
letter-spacing:1px;
}
.ceo small{
font-size:15px;
}
.ceo img{
max-width:220px;
}

.cp-small{
font-size:14px;
}

table.company-table{
background:#fff;
}
.company-table td,.company-table th{
padding:1.5rem 2rem;
border-bottom:1px solid #ccc;
}

table th{
font-weight:500;
}
.company-table th{
background:#bb131a;
color:#fff;
width:28%;
}

@media (max-width: 767.98px){
.company-table th,.company-table td{
width:100%;
display:block;
}
.company-table th{
padding:0.5rem 1rem;
border-bottom:0px solid #ccc;
}
.company-table td{
padding:1.2rem 1rem;
border-bottom:0px solid #ccc;
}
}

@media (min-width: 576px){
.policy div{
font-size:20px;
}
.cp-small{
font-size:17px;
}
}

@media (min-width: 576px){

}

@media (min-width: 992px){
.policy div{
width:50%;
}
.ceo img{
max-width:100%;
}
}

/*recruit*/
#recruit{
padding:60px 0;
}

table.recruit-table{
background:#f8f8f8;
}
table.recruit-table p{
line-height:1.6;
}

table ul{
margin-left:25px;
}

table ul li{
list-style-position: outside;
list-style-type: circle;
padding-bottom:7px;
}

/*contact*/
#contact{
padding:60px 0 90px;
}
.tel-border{
border-top:1px solid #d3161f;
border-bottom:1px solid #d3161f;
display:inline-block;
}
table.contact-table{
background:#eee;
border:0;
border-collapse: separate;
border-spacing:0px;
}

.contact-table td,.contact-table th{
padding:1.5rem 2rem;
border-bottom:1px solid #ccc;
border-top:1px solid #fff;
}
#contact mark{
font-size:11px;
padding:1px 5px;
}

::placeholder {
color:#999999!important;
}

.contact-table .form-control{
border-radius: 0px;
padding:9px 12px;
font-size:16px;
}

.contact-table th{
width:33%;
}

td.contact-privacy{
padding:35px 80px;
background:#f4f4f4;
}

.submit {
color: #fff !important;
font-size: 15px;
font-weight: 500;
height: 70px;
line-height: 70px;
width: 300px;
display: block;
border-radius: 0;
border: 0;
transition: .5s;
margin:30px auto 10px;
}

.submit.reset{
background-color: #aaa;
}
.submit.reset:hover{
background-color: #bbb;
}
.submit:hover{
background-color: #333;
}


@media (max-width: 991.98px){
.contact-table td{
display:block;
width:100%;
padding:1.2rem 1.8rem;
}
.contact-table th{
display:block;
width:100%;
padding:0.8rem 0rem;
background:#ddd;
}
td.contact-privacy{
padding:35px 40px;
}
}
@media (max-width: 767.98px){
.contact-table td{
padding:1.2rem 0.6rem;
}
td.contact-privacy{
padding:35px 20px;
}
}
@media (max-width: 575.98px){
.submit {
width: 90%;
}
}

@media (max-width: 991.98px){
a.navbar-contact{
width:230px;
display:block;
height:42px;
line-height:42px;
-webkit-transition: 0.5s;
}
}


/* ローディング画面 アニメーション */
.open-animation{
animation: fadein 1.5s forwards;
}
@keyframes fadein {
0% {opacity: 0.3}
100% {opacity: 1}
}
@keyframes anim {
0% {
transform: translateX(0px);
}
100% {
transform: translateX(8px);
}
}
#logo_loader {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: 1100;
background-color: #fff;
}
#logo_loader .f_logo {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width: 130px;
height: 148px;
text-align: center;
color: #fff;
}
#logo_loader .f_logo img {
width: 100%;
height: auto;
animation: loadLogo 1s;
}
@keyframes loadLogo {
0% {opacity: 0}
50% {opacity: 1;z-index: 0;}
}
#logo_loader.open {
animation-name: slideOut;
animation-fill-mode: forwards;
animation-duration: 1s;
animation-delay: 1.7s;
}
@keyframes slideOut {
0% {opacity: 0.7}
100% {opacity: 0;z-index: 0;}
}
@media (max-width: 575.98px){
#logo_loader .f_logo {
width: 90px;
height: 103px;
}
}
.left-scroll{
opacity: 0;
visibility: hidden;
transform: translatex(50px);
transition: all 1s;
}
.scroll{
opacity: 0;
visibility: hidden;
transform: translatey(100px);
transition: all 1s;
}
.js-fade{
opacity: 1;
visibility: visible;
transform: translatex(0px);
}