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

/*container*/
@media (max-width:767.98px){
.container-xs{
max-width:500px;
}
}
@media (max-width:575.98px){
.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{
max-width:500px;
width:96%;
}
}
@media (min-width:768px){
.container-lg{
max-width:930px;
}
}
@media (min-width:992px){
.container{
max-width:930px;
}
}
/*gridのgutter調整*/
.row-0{
    margin-left:-5px;
    margin-right:-5px;
 
    > div{
        padding-right:5px;
        padding-left:5px;
    }
}
/*BASE*/
body{
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-size:16px;
background:#f1f0ef;
color:#424140;
letter-spacing:.03rem;
-webkit-font-smoothing: antialiased;
line-height:1.9;
margin-top:62px;
}
h1,h2,h3,h4,h5{
margin:0;
padding:0;
}
h1{
bottom:50px;
font-size:11px;
line-height: 1.7;
}
h2,h3,h4,h5{
line-height:1.6;
font-weight:500;
}
h6 {
font-size:2rem;/*20px*/
}

@media screen and (max-width: 640px) {/* 640px以下でスマホ画面時*/
h7 {
font-size:1.6rem;/*16px*/
}

}
p{
margin-bottom:0;
}
ul li{
list-style:none;
}
a{
color:#917a5a;
text-decoration:none;
transition: 0.5s;
}
a:hover{
opacity: 0.7;
color:#917a5a;
}
.a-link{
padding-top: 80px;
margin-top:-80px;
}

.font-weight-500{
font-weight:500;
}
.lh-xl{
line-height:2;
}
.lh-l{
line-height:2;
}
.size-s{
font-size: 15px;
}
.size-md-s{
font-size:14px;
line-height:1.7;
}
.size-l{
font-size: 17px;
}
.title-s{
font-size:18px;
}
.title-sm{
font-size:20px;
}
.title-m{
font-size:20px;
}
.title-ml{
font-size:22px;
}
.title-l{
font-size:24px;
}
.title-gl{
font-size:30px;
line-height:1.4;
}
.palt{
font-feature-settings: "palt";
}
.border{
border-color:#ddd!important;
}
hr{
opacity:1;
border-top:1px solid #ddd;
margin:0;
}
hr.title-border{
border-top:1px solid #857c67;
width:30%;
}
.tel{
font-size:32px;
}
.tel small{
font-size:23px;
}
.justify{
text-align:justify;
}
ul{
margin:0;
padding:0;
}
.justify{
text-align: justify;
}
.p-05{
padding:0.5px;
}
@media (min-width: 576px){
body{
margin-top:80px;
}
h1{
bottom:50px;
}
.a-link{
padding-top: 110px;
margin-top:-110px;
}
.size-l{
font-size: 18px;
}
.title-s{
font-size:20px;
}
.title-m{
font-size:24px;
}
.title-sm{
font-size:22px;
}
.title-ml{
font-size:27px;
}
.title-l{
font-size:34px;
}
.title-gl{
font-size:39px;
}
.lh-xl{
line-height:2.5;
}
}
@media (min-width: 768px){
.size-md-s{
font-size:15px;
}
}

/*カラー*/
.font-min{
font-family: 'Noto Serif JP', serif;
}
.font-g{
font-family: 'Vollkorn', serif;
letter-spacing: 0;
}
.text-gold{
color:#77674a;
}
.text-black{
color:#333333;
}
.text-white,.text-white a{
color:#fff;
}
.bg-white{
background:#fff;
}
.bg-grad{
background: #f1f0ef;
}
.bg-grad_main{
margin-top:90px;
padding-top:60px;
background: linear-gradient(180deg, #e3e0dc 0%, #e3e0dc 35%, #f1f1f1 35%, #f1f1f1 100%);
}
.bg-grad_sub{
margin-top:70px;
padding-top:40px;
background: linear-gradient(180deg, #e3e0dc 0%, #e3e0dc 150px, #f1f1f1 150px, #f1f1f1 100%);
}
.bg-grad_white{
background: linear-gradient(180deg, #f1f1f1 0%, #f1f1f1 130px, #fff 130px, #fff 100%);
}
.seotext_05 {
background:linear-gradient(transparent 50%, #afeeee 0%);
}
/*ボタン*/

.btn{
padding:0;
font-weight:500;
border-radius: 100vh;
transition:0.5s;
font-size: 15px;
}
a.btn-black{
position:relative;
background-image: linear-gradient(#424140, #424140);
background-size: 100% 100%;
background-position: right bottom;
background-repeat:no-repeat;
border:1px solid #424140;
}
a.btn-black:hover{
background-size: 0% 100%;
opacity: 1;
border:1px solid #424140;
}
a.btn-main{
max-width:300px;
height:54px;
line-height:54px;
}
a.btn-sub{
max-width:250px;
width:100%;
height:42px;
line-height: 40px;
}
a.btn-footer{
background: #fff;
width:100%;
height:68px;
line-height:68px;
box-shadow: 0 0 4px rgba(0,0,0,0.5);
}
a.btn-footer:hover{
opacity:0.8;
box-shadow: 0 0 1px rgba(0,0,0,0.5);
}
.btn-border{
color:#7f7159;
background-image: linear-gradient(90deg, #7f7159, #7f7159);
background-repeat: no-repeat;
background-position: left bottom;
background-size: 100% 1px;
text-decoration: none;
transition: background-size 0.5s;
}
.btn-border:hover {
background-size: 0 1px;
}
@media (min-width:576px){
a.btn-black{
max-width:360px;
}
a.btn-footer{
font-size:16px;
}
}

.btn-black:after{
content: "";
position: absolute;
top: 50%;
right: 20px;
width:12px;
height: 12px;
border-right: 1px solid;
border-bottom: 1px solid;
-webkit-transform: translateY(-50%) rotate(-45deg);
-ms-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
}
.btn-sub:after{
content: "";
position: absolute;
top: 46%;
right: 20px;
width:10px;
height: 10px;
border-right: 1px solid;
border-bottom: 1px solid;
transform: translateY(-50%) rotate(45deg);
}



/*ナビバー*/************************************************************
.logo{
width:165px;
padding:10px 0;
}
.navbar{
transition: 1s;
padding:0px;
margin:0;
}
.navbar-collapse{
background:#fff;
}
.navbar ul li{
text-align:center;
width:100%;
border-bottom: 1px solid #e3e0dc;
}
.navbar ul li:last-child{
border-bottom: 0px solid #e3e0dc;
}
.navbar ul li a{
font-size:17px;
color:#424140;
}
.navbar-contact{
width:110px;
height: 40px;
line-height: 38px;
font-size:15px;
background:#424140;
}

.navbar-contact:hover{
color:#fff;
opacity:0.8;
}
nav[data-js-scroll="true"] {
background-color: #f1f0ef;
}

nav[data-js-scroll="true"] .filter {
filter: invert(68%);
}
@media (min-width:576px){
.logo{
width:196px;
padding:15px 0;
}
.navbar-contact{
width:156px;
height: 44px;
line-height: 42px;
}
}
@media (min-width:992px){
.navbar{
padding:0;
box-shadow: 0 2px 4px rgba(0,0,0,0);
background: transparent;
}
.navbar-collapse{
background:none;
}
.navbar ul li{
width:auto;
padding-right: 10px;
padding-left: 10px;
border-bottom: 0px solid #cccccc;
}
.navbar{
height:80px;
}
.navbar ul li a{
font-size:15px;
}
}
@media (min-width:1200px){
.navbar-contact{
width:180px;
}
.navbar ul li{
padding-right: 15px;
padding-left: 15px;
}
}
#input{
display: none;
}
.header-close-button{
margin: 0 auto;
width: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: #888888;
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);
}
.header-close-button{
width:60px;
height: 46px;
}
@media (min-width:576px){
.header-close-button{
width:70px;
height: 60px;
}
}
/* breadcrumb */
.breadcrumb{
font-size: 14px;
letter-spacing: 0;
}
.breadcrumb a{
color:#333;
}

#top::before{
content: "";
width:210px;
height:70vh;
background:#a19a88;
position:absolute;
top:-80px;
z-index:-2;
}
#top::after{
background:url(img/top-back_sp.jpg) right center;
background-size: cover;
content: "";
max-width:1400px;
min-width: 87%;
height:70vh;
position:absolute;
top:0;
right:0;
z-index:-1;
}
#top .d-flex{
height:70vh;
font-size:36px;
line-height: 1.6;
letter-spacing: 0;
}
#top .d-flex div{
margin-left:5%;
}
.top-title h2{
font-size:23px;
}
.top-title h2 b{
font-size:20px;
font-weight: 600;
}
@media (min-width:576px){
#top::before{
width:300px;
height:675px;
}
#top::after{
background:url(img/top-back.jpg) right center;
background-size: cover;
max-width:1400px;
min-width: 87%;
height:650px;
}
#top .d-flex{
height:650px;
font-size:54px;
line-height: 1.5;
}
#top .d-flex div{
margin-left:10%;
}
.top-title h2{
font-size:30px;
}
.top-title h2 b{
font-size:28px;
}
}
@media (min-width:992px){
.top-title h2{
font-size:34px;
}
.top-title h2 b{
font-size:32px;
}
}


/* page-title */
#page-title::before{
content: "";
width:210px;
height:190px;
background:#a19a88;
position:absolute;
top:-62px;
z-index:-2;
}
#page-title::after{
background:#dfddd6;
content: "";
width:94%;
height:170px;
position:absolute;
top:0;
right:0;
z-index:-1;
}
#page-title h2{
font-size:26px;
letter-spacing:0.5rem;
}
#page-title span,.top-title span{
color:#7f7159;
}
#page-title,#page-title .container{
height:170px;
}
.page-pd{
padding:40px 0 70px;
}

@media (min-width:576px){
.page-pd{
padding:60px 0 90px;
}
#page-title h2{
font-size:32px;
}
#page-title::before{
top:-80px;
width:300px;
height:308px;
}
#page-title::after,#page-title,#page-title .container{
height:260px;
}
}
@media (min-width:768px){
#page-title::after{
width:97%;
}
#page-title span::before,.top-title span::before{
border-top:1px solid #7f7159;
content: "";
display: block;
width:100px;
margin-right:16px;
}
}
@media (min-width:992px){
#page-title h2{
font-size:38px;
}
#page-title::after{
width:95%;
}
}
@media (min-width:1200px){
#page-title::after{
width:92%;
}
}

/* top */
.p-about{
padding:15px 15px;
}
.p-about p{
letter-spacing: 0;
}

/* company */
.company-img{
object-fit: cover;
height: 280px;
}
table.main-t.contact-t th{
width: 34%;
}
@media (max-width:767.98px) {
table.main-t.contact-t td{
padding-right:0;
padding-left:0;
}
table.main-t.contact-t th{
width: 100%;
}
}
.form-control{
background:#fff!important;
border-radius: 1px;
padding:13px 10px;
color:#333;
}

@media (min-width:576px){
.company-img{
height: 380px;
}
}
@media (min-width:992px){
.form-control{
padding:10px 15px;
}
.flame{
position:relative;
}
.flame::before,
.flame::after {
position: absolute;
width: 150px;
height: 70px;
content: '';
}
.flame::before {
border-left: solid 1px #a19a88;
border-top: solid 1px #a19a88;
top: 0;
left: 0;
}
.flame::after {
border-right: solid 1px #a19a88;
border-bottom: solid 1px #a19a88;
bottom: 0;
right: 0;
}
}

/* recruit */
.recruit-img{
object-fit: cover;
height: 200px;
}
table.recruit-t th{
background: #dfddd6;
border-bottom: 1px solid #fff;
}
table.recruit-t tr:last-child th{
border-bottom: 0px solid #fff;
}

table.main-t th{
font-weight:500;
text-align: right;
padding:20px 35px 20px 10px;
vertical-align: middle;
width:25%;
}
table.main-t td{
padding:20px 35px 20px 35px;
}

table.con-t th{
font-weight:500;
text-align: right;
padding:15px 30px 15px 5px;
vertical-align: middle;
width:25%;
}
table.con-t td{
padding:15px 30px 15px 30px;
}

table.company-t li{
line-height:1.6;
}
::placeholder {
color: #7f7f7f!important;
font-size: 16px
}
@media (max-width:767.98px) {
table.main-t th,table.main-t td{
width:100%;
display:block;
}
table.main-t th{
padding:10px;
text-align:center;
}
table.main-t td{
padding:20px 15px;
}
table.main-t tr:last-child td{
border-bottom:0px solid #ddd;
}
table.con-t th,table.con-t td{
width:100%;
display:block;
}
table.con-t th{
padding:5px;
text-align:center;
}
table.con-t td{
padding:10px 10px;
}
table.con-t tr:last-child td{
border-bottom:0px solid #ddd;
}
table.company-t th{
background: #cecabf;
}
}
@media (min-width:576px){
.recruit-img{
height: 260px;
}
}

/* other */
.other-text p{
font-size:15px;
text-align: justify;
}
.other-info p{
line-height: 1.5;
}
.other-text h2{
padding-top:25px;
}
.bg-grad_other{
background: linear-gradient(180deg, #e3e0dc 0%, #e3e0dc 110px, #f1f1f1 110px, #f1f1f1 100%);
}
.a-map::before{
content:"";
background: url(img/geo.svg) no-repeat;
background-size:contain;
height: 18px;
width:14px;
display: inline-block;
vertical-align: middle;
margin-right:5px;
}
@media (min-width:992px){
.other-text h2{
padding-top:70px;
}
.bg-grad_other{
background: linear-gradient(180deg, #e3e0dc 0%, #e3e0dc 155px, #f1f1f1 155px, #f1f1f1 100%);
}
}

/* works */
.works div{
width:100%;
font-size:17px;
border-bottom:1px solid #ddd;
padding:15px 10px;
}
@media (min-width:768px){
.works div{
width:48%;
padding:28px 5px;
font-size:18px;
}
}

/* service */
#service-list{
background:url(img/list.jpg) center center;
background-size:cover;
padding:50px 0;
margin:30px 0 30px;
}
a.btn-black.btn-wide{
max-width:400px;
height:64px;
line-height: 64px;
}
.other-service{
line-height: 2.5;
}
.other-service span{
display:block;
}
.border-other{
border-top:1px solid #a19a88;
}
@media (min-width: 576px){
a.btn-black.btn-wide{
font-size: 16px;
}
#service-list{
padding:64px 0;
margin:50px 0 50px;
}
}
@media (min-width: 768px){
.border-other{
border-left:1px solid #a19a88;
border-top:0px solid #a19a88;
height: 100%;
}
}

/* crane */
table.crane-t thead{
background: #a19a88;
color:#fff
}
table.crane-t thead th{
text-align: center;
font-weight:500;
border-right:1px solid #fff;
}

table.crane-t thead th:last-child{
border-right:0px solid #fff;
width:100px;
}

table.crane-t td{
text-align: center;
border-right:1px solid #ddd;
padding-top:12px;
padding-bottom:12px;
}
table.crane-t tr:nth-child(even){
background:#f5f5f5;
}
table.crane-t a{
text-decoration: underline;
}
a.under{
text-decoration: underline;
}
a.under_map{
text-decoration: underline;
}
a.under_map::before{
content:"";
background: url(img/geo.svg) no-repeat;
background-size:contain;
height: 18px;
width:14px;
display: inline-block;
vertical-align: middle;
margin-right:5px;
}
table.crane-t a::before{
content:"";
background-size:contain;
height: 19px;
width:15px;
display: inline-block;
margin-right:5px;
position:relative;
top:3px;
}
table.crane-t a.pdf-icon::before{
background: url(img/pdf.svg) no-repeat;
}
table.crane-t a.cad-icon::before{
background: url(img/cad.svg) no-repeat;
}
.crane-img{
height: 100%;
object-fit: cover;
}
.other-img{
height: 280px;
object-fit: cover;
}
.table-wrap {
overflow-x: scroll;

}
.crane-t {
width: 100%;
min-width: 600px;
border-collapse: collapse;
}
@media (min-width: 768px){
.crane-img{
height: 200px;
}
.other-img{
height: 300px;
}
table.crane-t thead th:last-child{
width:16%;
}
}

/* 記号絵文字? */
div0 {
  content: '';
  width: 10px;
  height: 5px;
  border-left: 2px solid #25AF01;
  border-bottom: 2px solid #25AF01;
  transform: rotate(-45deg);
}


/* contact */
.tel-border{
border-top:1px solid #ddd;
border-bottom:1px solid #ddd;
padding:15px 0 25px;
}
mark{
padding:0px 8px 3px;
background:#333;
color:#fff;
font-size:12px;
font-weight:500;
}
.submit,.reset {
color: #fff !important;
font-size: 17px;
font-weight: 500;
height: 58px;
line-height: 58px;
max-width: 280px;
max-width:300px;
width:100%;
display: block;
border: 0;
margin: 30px auto 0;
}
.submit{
background:#8f8269;
}
.submit:hover {
background: #e7e7df;
}
.reset {
background:#424140;
}
.reset:hover {
background: #555555;
}

/* footer */
footer{
background:#424140;
}
#footer-link{
background:#aaa496;
}
.footer-link-img{
object-fit: cover;
height:160px;
}
#footer-link a:hover .am-r img{
transform: translatex(0.2rem);
}
.footer-link-title{
background:#aaa496;
width:60%;
font-size:15px;
letter-spacing: 2px;
font-weight: 500;
padding-top:8px;
}
.footer-link-title::before{
content: "";
flex-grow: 1;
border-top:1px solid #e7e7df;
margin:0 20px;
}
#footer-contact{
background:url(img/contact-back.jpg) center center;
background-size:cover;
}

footer{
font-size:15px;
}
.footer-logo{
width:196px;
}
footer hr{
border-top:1px solid #333333;
height:2px;
}
.copy{
font-size:11px;
margin-top:60px;
}
footer ul{
width:40%;
}
.footer-list{
width:350px;
}
@media (min-width:576px) {
footer ul{
width:auto;
}
.footer-list{
width:auto;
}
.copy{
margin-top:45px;
}
}

/* form */
.form_section input#zip1 {
display: inline-block;
width: 60px;
text-align:center;
}
.form_section input#zip2 {
display: inline-block;
width: 80px;
text-align:center;
}
.form_section .aria-select{
width:130px;
margin-right:6px;
text-align: center;
}

.form_section select {
outline: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 1px;
display: block;
cursor: pointer;
border:0;
text-align: center;
background:none;
color:#424140;
}
.select-box01 select {
width: 100%;
padding: 6px 15px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid #ced4da;
background: #fff;
border-radius: 0;
font-size:17px;
}
.add-line {
font-size:14px;
padding:4px 10px;
transition:.3s;
border:1px solid #ccc;
color:#222;
background:#eee;
outline: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.add-line:hover {
box-shadow:none;
}
.year{
margin-right:5px;
}
.month,.day{
margin:0px 5px;
}
.r-list{
max-width:156px;
}
.r-list .year{
width:53px;
}
.r-list .month,.r-list .day{
width:46px;
}
.t-list .year{
width:50%;
}
.t-list .month,.t-list .day{
width:25%;
}
.age{
width:100px;
}

/* ローディング画面 アニメーション */
.scroll-top{
animation: topin 1s forwards;
}
@keyframes topin {
0% {transform: translate(-50px);}
100% {transform: translate(0px);}
}
.scroll{
opacity: 0;
visibility: hidden;
transform: translatey(60px);
transition: all 1s;
}

.js-fade{
opacity: 1;
visibility: visible;
transform: translatex(0px);
}
.open-animation{
animation: fadein 1.5s forwards;
}

@keyframes fadein {
0% {opacity: 0.3}
100% {opacity: 1}
}
