@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,800;1,800&display=swap');
@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#000;}
a:visited{text-decoration:none; color:#000;}
a:hover{text-decoration:none; color:#000;}
a:active{text-decoration:none; color:#000;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1270px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }

body { min-width: 1200px; font-size: 16px; line-height: 1.75;letter-spacing: .1em; color: #000; background-color: #fff;   font-family: "Noto Sans JP", sans-serif;font-optical-sizing: auto; font-weight: 400; font-style: normal; overflow-x: hidden; }
header { position: fixed; left: 0; top: 0; width: 100%; z-index: 100; padding: 0 30px; transition: .3s; }
header .logo img { width: 320px; }
header .wrap { display: flex; justify-content: space-between; align-items: center; margin: 20px 0; }
header .gnav ul { display: flex; align-items: center; }
header .gnav ul li { padding: 0 20px; }
header .gnav ul a { padding: 30px 0; display: block; font-size: 14px; color: #fff; position: relative; transition: .3s; }
header .gnav ul .contact-btn { padding: 0; padding-left: 20px; }
header .gnav ul .contact-btn a { display: flex; align-items: center; justify-content: space-between; padding: 10px 30px; background: #ffb600; border: 1px solid #ffb600; border-radius: 30px; }
header .gnav ul .contact-btn a .more-text { font-size: 14px; color: #fff; margin-right: 15px; }
header .gnav ul .contact-btn a .circle-arrow { position: relative; width: 28px; height: 28px; border-radius: 50%; background: #fff; }
header .gnav ul .contact-btn a .circle-arrow:before { content: ""; width: 8px; height: 8px; border-top: 2px solid #ffb600; border-right: 2px solid #ffb600; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }
header .gnav ul .contact-btn a:hover { background: #fff; }
header .gnav ul .contact-btn a:hover .more-text { color: #ffb600; }
header .gnav ul .contact-btn a:hover .circle-arrow { background: #ffb600; }
header .gnav ul .contact-btn a:hover .circle-arrow:before { border-color: #fff; }
header .menu-trg-area { position: fixed; top: 15px; right: 15px; margin: auto; display: none; width: 40px; height: 40px; background: none; border-radius: 3px; cursor: pointer;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 33px; height: 22px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 2px; background-color:#ffb600 ; }
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 10px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -10px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -10px;}
.header-action { background-color: #fff; }
.header-action .gnav ul a{ color: #000; }

.f-content { padding: 80px 0 75px; display: flex; align-items: center; justify-content: space-between; }
.f-content .f-logo { margin-bottom: 20px; }
.f-content .f-list { display: flex; align-items: center; }
.f-content .f-list li { padding: 0 20px; }
.f-content .f-list li a { padding: 30px 0; display: block; font-size: 14px; color: #fff; position: relative; }
.copyright { font-size: 11px; letter-spacing: .11em; line-height: 1.53; text-align: center; color: #fff; padding-bottom: 15px; }
.page_top { position: fixed; bottom: 10%; right: 3%; z-index: 100; }

/* font */
.color-white { color: #fff; }

/* common */
.category_ttl .main { font-size: 40px; font-style: italic; font-family: "Noto Sans", sans-serif; font-optical-sizing: auto; font-weight: 800; font-variation-settings: "wdth" 100; letter-spacing: .2em; margin-bottom: 20px; }
.category_ttl .sub { font-size: 21px; }
.lead-sentence { font-size: 24px; }
.more-btn a { display: flex; align-items: center; justify-content: space-between; padding: 10px 30px; background: #ffb600; border-radius: 30px; transition: .3s; }
.more-btn a .more-text { font-size: 14px; color: #fff; margin-right: 15px; }
.more-btn a .circle-arrow { position: relative; width: 28px; height: 28px; border-radius: 50%; background: #fff; }
.more-btn a .circle-arrow:before { content: ""; width: 8px; height: 8px; border-top: 2px solid #ffb600; border-right: 2px solid #ffb600; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }
.more-btn a:hover { background: #fff; border: 1px solid #ffb600; }
.more-btn a:hover .more-text { color: #ffb600; }
.more-btn a:hover .circle-arrow { background: #ffb600; }
.more-btn a:hover .circle-arrow:before { border-color: #fff; }

/* top-fv */
#home .fv_slider .bg .catch { text-shadow: 0px 0px 6px #000; }
.fv_slider .bg { position: relative; }
.fv_slider .bg .catch { position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); }
.fv_slider .bg .catch-main { font-size: 40px; color: #fff; text-align: center; font-weight: bold; margin-bottom: 10px; }
.fv_slider .bg .catch-sub { font-size: 24px; color: #fff; text-align: center; }
.fv_slider .bg figure { padding-top: 0; height: 100vh; min-height: 600px; }
.fv_notice { display: block; background: #fff; width: 480px; position: absolute; bottom: 0; right: 0; padding: 20px 10px 30px 45px; }
.fv_notice:before { content: ""; width: 0 ; height: 0; border-top: 12px solid #ffb600; border-left: 12px solid #ffb600; border-bottom: 12px solid transparent; border-right: 12px solid transparent; position: absolute; top: 0; left: 0; }
.fv_notice .notice_date { font-size: 14px; color: #828282; margin-bottom: 5px; }
#home .fv_slider .bg .catch-main { padding-bottom: 30px; margin-bottom: 30px; position: relative; }
#home .fv_slider .bg .catch-main:before { content: ""; width: 200px; height: 4px; background: #f6e544; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; }

/* top-aboutus */
.top-aboutus .category_ttl { color: #fff; }
.top-aboutus .lead-sentence { color: #fff; text-align: center; }
.ttl-about-block { padding: 50px 0 150px; }
.about-flex{ display: flex; align-items: center; justify-content: space-between; height: 200px; }
.about-flex .about-ttl { width: 50%; height: 100%; border-right: 1px solid #fff; display: flex; align-items: center; justify-content: start; }
.about-flex .about-lead { width: 50%; height: 100%; display: flex; align-items: center; justify-content: end; }
.about-content { margin-top: -100px; }
/* .about-content .about-inner { height: 370px; } */
.about-content .about-wrap { display: flex; align-items: center; justify-content: center; height: 100%; position: relative; }
.about-content .about-wrap:before { content: ""; width: 0; height: 0; border-top: 25px solid #ffb600; border-left: 25px solid #ffb600; border-bottom: 25px solid transparent; border-right: 25px solid transparent; position: absolute; top: 0; left: 0; }
.about-content .about-text p { font-size: 18px; }
.about-content .about-right-images img { height: 100%; object-fit: cover; }

/* top-movie */
.top-movie { margin-top: 150px; }
.top-movie .movie { padding-top: 56.25%; position: relative; }
.top-movie .movie iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%; }
.top-movie p { margin-top: 10px; }

/* top-service */
.top-service { margin-top: 150px; position: relative; }
.top-service .category_ttl { color: #ffb600; }
.images-flex { display: flex; }
.images-flex .images-left { position: absolute; top: 60px; left: 0; z-index: 20; }
.images-flex .images-right { position: absolute; top: -30px; right: 0; }
.images-flex .images-clip { width: 55%; }
.images-flex .images-clip img {	clip-path: polygon(0% 20%, 100% 0, 100% 80%, 0 100%); width: 100%; height: 750px; object-fit: cover; }
.gray-content { margin-top: 430px; padding: 290px 0 100px; }
.gray-content .lead-sentence { text-align: center; }

/* top-works */
.top-works { padding: 80px 0; overflow: hidden; }
.top-works .more-btn a { background: #fff; justify-content: center; }
.top-works .more-btn a .more-text { color: #ffb600; }
.top-works .more-btn a .circle-arrow { background: #ffb600; }
.top-works .more-btn a .circle-arrow:before { border-color: #fff; }
.top-works .more-btn a:hover { background: #ffb600; border: 1px solid #fff; }
.top-works .more-btn a:hover .more-text { color: #fff; }
.top-works .more-btn a:hover .circle-arrow { background: #fff; }
.top-works .more-btn a:hover .circle-arrow:before { border-color: #ffb600; }
.top-works .wrapper { display: flex; }
.top-works .titles { width: 535px; display: flex; align-items: center; justify-content: center; position: relative; z-index: 2; margin-right: 15px; }
.top-works .titles .works-left { width: 203px; }
.top-works .contents { width: calc(100% - 535px); position: relative; }
.works-slider * { overflow: visible !important; }
.works-slider .slick-slide { padding: 0 15px; }
.works-card { width: 535px; max-width: 100%; transition: .3s; position: relative; }
.works-card .works-scale .works-mask { opacity: 0; position: absolute; top: 0; right: 0; left: 0; bottom: 0; z-index: 1; background-color: rgba(0, 0, 0, 0.6); transition: all 0.3s ease-out; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.works-card .works-scale .works-mask .title { color: #fff; font-size: 25px; font-weight: bold; }
.works-card:hover .works-scale .works-mask { opacity: 1; }
.works-card .works-scale { overflow: hidden !important; }
.works-card .works-scale .photo { position: relative;background-size: cover;background-position: center; height: 500px; transition: all 0.3s ease-out; }
.works-card:hover .works-scale .photo { transform: scale(1.1); }
.works-card .text { border: 1px solid #c6c6c6; border-top: none; padding: 30px 15px 45px; }
.tags { display: flex; flex-wrap: wrap; margin-right: -15px; margin-bottom: 10px; max-height: 78px; overflow: hidden; }
.tag-block { background-color: #F6FAFA; display: inline-block; font-size: 16px; padding: 3px 15px; margin-right: 9px; margin-bottom: 5px; transition: .3s; }
.tag-block:hover { background-color: #00AED9; color: #fff !important; }
.works-card .text .naiyou { display: block; padding: 0 15px; }
.works-card .text .title { font-size: 24px;font-weight: bold;margin-bottom: 20px;line-height: 1.5;letter-spacing: .01em; }
.works-card .details { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden !important; }

/* top-recruit */
.top-recruit .category_ttl { color: #ffb600; }
.recruit-flex { display: flex; align-items: center; padding: 170px 0; }
.recruit-flex .recruit-left { width: 35%;display: flex; align-items: center; justify-content: end; }
.recruit-flex .recruit-left-content { width: 215px; margin-right: 115px; }
.recruit-flex .recruit-right { width: 65%; display: flex; }
.recruit-flex .recruit-right .images-item { width: calc(100% / 3); position: relative; }
.recruit-flex .recruit-right .images-item:before {content: "";width: 0;height: 0;border-top: 30px solid #ffb600;border-left: 30px solid #ffb600;border-bottom: 30px solid transparent;border-right: 30px solid transparent;position: absolute;top: 0;left: 0;}
.recruit-flex .recruit-right .images-item img { object-fit: cover; height: 100%; }
.recruit-flex .more-btn a { justify-content: center; }

/* top-company */
.company-wrap { width: 480px; color:#fff; padding: 150px 0; }
.company-wrap .more-btn a { background: none; border: 1px solid #fff; padding: 5px 20px; width: 200px; }
.company-wrap .more-btn a .circle-arrow { background: none; border: 1px solid #fff; }
.company-wrap .more-btn a .circle-arrow:before { border-color: #fff; color: #000; }
.company-wrap .more-btn a:hover { background: #fff; }
.company-wrap .more-btn a:hover .more-text { color: #000; }
.company-wrap .more-btn a:hover .circle-arrow {border-color: #000;}
.company-wrap .more-btn a:hover .circle-arrow::before {border-color: #000;}

/* top-contact */
.top-contact { padding: 90px 0 130px; }
.top-contact .category_ttl { color: #ffb600; margin-bottom: 40px; }
.top-contact .category_ttl .sub { width: 60px; height: 5px; background: #c9c9c9; margin: 0 auto; }
.contact-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; }

/* kasou-common */
.kasou_slider .kasou_fv { position: relative; }
.kasou_slider .kasou_fv .catch { position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); display: flex ;	flex-direction: column;	align-items: center; justify-content: center; }
.kasou_slider .kasou_fv figure { padding-top: 0; height: 440px!important; min-height: 0;  }
.kasou_slider .kasou_fv .catch .catch-main { font-size: 60px; color: #fff; letter-spacing: .2em; font-style: italic; font-family: "Noto Sans", sans-serif; font-optical-sizing: auto; font-weight: 800; font-variation-settings: "wdth" 100; margin-bottom: 0; }
.kasou_slider .kasou_fv .catch .catch-sub { font-size: 21px; color: #fff; text-align: center; }
.bread { margin-top: 30px; margin-bottom: 80px; }
.bread ul { display: flex; align-items: center; }
.bread ul li { padding-right: 40px; position: relative; }
.bread ul li:after { content: ""; width: 8px; height: 8px; border-top: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg); position: absolute; top: 0; bottom: 0; right: 20px; margin: auto; }
.bread ul li:last-child:after { content: none; }
.bread ul li a { font-size: 14px; padding: 30px 0; }
.sec_ttl { font-size: 32px; font-weight: 700; }
.parallax_box { position: relative; height: 700px; overflow: hidden; }
.parallax-image { position: absolute; top: 0; left: 0; width: 100%; height: 130%; transform: translateY(0); will-change: transform; object-fit: cover; }

/* service */
.service_top { text-align: center; }
.common-padding { padding: 90px 0 150px; }
.section-service1 dl { display: flex; }
.section-service1 dt { width: 125px; font-weight: normal; }
.section-service1 dd { width: calc(100% - 125px); text-indent: -1em; padding-left: 1em; }

/* works */
#works .kasou_slider .kasou_fv figure { height: 600px !important; }
.works-ttl { font-size: 26px; font-weight: bold; margin-bottom: 30px; padding-left: 30px; position: relative; } 
.works-ttl:before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: #ffb600; position: absolute; top: 0; bottom: 0; left: 0; margin: auto; }
.works-tab { display: flex; align-items: center; justify-content: center; }
.works-tab li { margin: 0 10px; min-width: 160px; }
.works-tab li a { display: block; width: 100%; padding: 10px 20px; color: #ffb600; text-align: center; font-size: 14px; background: #fff; border: 1px solid #ffb600; border-radius: 30px; transition: .3s; }
.works-tab li a.active { color: #fff; background: #ffb600; }
.works-tab li a:hover { color: #fff; background: #ffb600; }
.works-content { margin-bottom: 90px; }
.works-content .works-card { width: 100%; }
.works-content .works-card .photo { height: 220px; }
.works-content .tag-block { font-size: 12px; }
.works-content .works-card .text .title { font-size: 18px; }
/* .construction-table { margin-bottom: 80px; height: 500px; overflow-y: scroll; }
.construction-table table { width: 100%; border-collapse: collapse; }
.construction-table table .construction-left { width: 35%; }
.construction-table table .construction-right { width: 65%; }
.construction-table table th { background: #f5f5f5; font-size: 20px; font-weight: bold; text-align: center; }
.construction-table table th,
.construction-table table td { border: 1px solid #ddd; padding: 10px; }
.construction-table table td .beginning { width: 120px; }
.construction-table table td .end { width: 120px; text-align: right; }
.construction-table table td a { text-decoration: underline; } */
.construction-list { margin-bottom: 80px; height: 500px; overflow-y: scroll; }
.construction-list ul li { display: flex; align-items: center; border-bottom: 1px solid #dddddd; padding: 30px 0; }
.construction-list ul li a { text-decoration: underline; transition: .3s; }
.construction-list ul li a:hover { opacity: .5; }
.construction-list ul li .kouki { width: 260px; margin-right: 30px; color: #878787; }
.construction-list ul li .kouki .beginning { width: max-content; }
.construction-list ul li .kouki .between { margin: 0 5px; }
.construction-list ul li .kouki .end { width: max-content; }
.construction-list ul li .kouzimei { width: calc(100% - 290px); font-size: 18px; display: flex; align-items: center; justify-content: space-between; }
.arrows { position: relative ; margin-left: 80px; }
.arrows:before { content: ""; width: 70px; height: 25px; border-radius: 20px; background: #ffb600; position: absolute; top: 0; bottom: 0; right: 0; margin: auto; transition: .3s; }
.arrows::after { content: ""; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); position: absolute; right: 32px; top: 0; bottom: 0; margin: auto; transition: .3s; }

/* recruit */
#recruit .kasou_slider .kasou_fv .catch { text-shadow: 0px 0px 6px #000; }
#recruit .kasou_fv figure { height: 800px!important; }
#recruit .catch-text { font-size: 60px; color: #fff; font-weight: bold; margin-top: 20px; text-align: center; white-space: nowrap; }
#recruit .more-btn { display: flex; align-items: center; justify-content: center; }
#recruit .more-btn a { width: 260px; padding: 15px 30px; }
.section-loop { margin-bottom: 100px; }
.loop-card { display: flex; align-items: center; justify-content: center; height: auto; padding: 0 15px; }
.loop-card img { display: block; object-fit: contain; }
.loop-slider .slick-track { display: flex; align-items: center; }
.recruit-catch { font-size: 36px; line-height: 1.6667; margin-bottom: 40px; }
.num_list li { border-bottom: 1px solid #dddddd; margin-bottom: 10px; }
.recruit-slider .slick-dots { bottom: initial; top: -45px; text-align: right; }
.recruit-slider .slick-dots li { width: 8px; height: 8px; }
.recruit-slider .slick-dots li button { padding: 0; width: 8px; height: 8px; }
.recruit-slider .slick-dots li button:before { width: 8px; height: 8px; font-size: 8px; }
.recruit-slider .slick-dots li.slick-active button:before { color: #ffb600; }
.section-kankyou { padding: 80px 0; }
.section-kankyou .kankyou-ttl { font-size: 26px; font-weight: 700;text-align: center; padding-bottom: 10px; position: relative; }
.section-kankyou .kankyou-ttl:before { content: ""; width: 115px; height: 5px; background: #ffb600; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; }
.section-kankyou .kankyou-kinds { font-size: 20px; font-weight: 700; border-bottom: 1px solid #e2e2e2; padding-left: 20px; margin-bottom: 30px; position: relative; }
.section-kankyou .kankyou-kinds:before { content: ""; width: 15px; height: 15px; background: #ffb600; border-radius: 50%; position: absolute; top: 0; bottom: 0; left: 0; margin: auto; }
.cut-images .images-flex { display: flex; height: 470px; }
.cut-images .images-flex .images-left { position: absolute; top: 0; left: 0; z-index: 20; clip-path: polygon(0% 0%, 100% 0, 60% 100%, 0 100%); }
.cut-images .images-flex .images-right { position: absolute; top: 0; right: 0; clip-path: polygon(40% 0%, 100% 0, 100% 100%, 0 100%); }
.cut-images .images-flex .images-clip { width: 60%; }
.cut-images .images-flex .images-clip img { width: 100%; height: 470px; object-fit: cover; clip-path: none; }
.section-reqirements { padding: 90px 0 100px; }
.section-reqirements .category_ttl { color: #ffb600; }
.reqirements-dl { width: 65%; }
.reqirements-dl dl { display: flex; border-bottom: 1px solid #ddd; }
.reqirements-dl dl:first-child { border-top: 1px solid #ddd; }
.reqirements-dl dt { width: 200px; background: #f5f5f5; font-size: 18px; font-weight: bold; padding: 30px 40px; display: flex; align-items: center; justify-content: center; }
.reqirements-dl dd { width: calc(100% - 200px); background: #fff; padding: 30px 35px; }
.table_images { width: 30%; }
.recruit-bottom { display: flex; }
.recruit-bottom .half { width: 50%; display: flex; flex-wrap: wrap; }
.recruit-bottom .half img { width: 50%; object-fit: cover; }
.recruit-bottom .half.wide img { width: 100%; }
  
/* company */
.section-message .category_ttl { color: #ffb600; }
.section-gaiyou { padding: 85px 0 70px; }
.section-gaiyou .ttl-sentence { display: flex; align-items: start; }
.section-gaiyou .ttl-sentence .l_ttl { font-size: 24px; font-weight: 700; padding: 0 200px 0 40px; position: relative; }
.section-gaiyou .ttl-sentence .l_ttl:before { content: ""; width: 20px; height: 20px; border-radius: 50%; background: #ffb600; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; }
.section-gaiyou .ttl-sentence .l_ttl:after { content: ""; width: 130px; height: 1px; background: #000; position: absolute; top: 0; bottom: 0; left: 165px; margin: auto; }
.section-gaiyou .ttl-sentence .r-sentence { font-size: 20px; font-weight: 700; }
.gaiyou-dl dl { display: flex; align-items: center; border-bottom: 1px solid #dddddd; }
.gaiyou-dl dl:first-child { border-top: 1px solid #dddddd; }
.gaiyou-dl dt { width: 230px; padding: 30px 40px; font-size: 18px; font-weight: bold; }
.gaiyou-dl dd { width: calc(100% - 230px); padding: 30px 0; }
.gaiyou-dl dd ul li { display: flex; align-items: center; }
.gaiyou-dl dd ul li .history-date { width: 135px; }
.gaiyou-dl dd ul li .history-text { width: calc(100% - 135px); }
.line_images { display: flex; }
.line_images img { width: 25%; }
.section-access .category_ttl { color: #ffb600; }
.section-access iframe { width: 100%; height: 100%; vertical-align: bottom; }
.section-access .access-text { padding: 140px 0 140px 70px; font-size: 20px; font-weight: 700; color: #fff; }
.daihyo { display: flex; align-items: end; justify-content: end; }
.daihyo img { width: 25%; }
.daihyo img.name { width: 35%; }

/* entry */
.section-form .category_ttl { color: #ffb600; }
.form_under { text-align: center; }

/* news */
#news .tab-button { flex-wrap: wrap; }
#news .tab-button li.active { color: #fff; background: #ffb600; }
#news .tab-button li { margin: 0 10px; min-width: 160px ; padding: 10px 20px; color: #ffb600; text-align: center; font-size: 14px; background: #fff; border: 1px solid #ffb600; border-radius: 30px; transition: .3s; }
#news .tab-button li:hover { color: #fff; background: #ffb600; }
.news_list { margin-bottom: 70px; }
.news_list li { border-bottom: 1px solid #dddddd; }
.news_list li a { display: flex; padding: 30px 0; position: relative; }
.news_list li a:before { content: ""; width: 70px; height: 25px; border-radius: 20px; background: #ffb600; position: absolute; top: 0; bottom: 0; right: 0; margin: auto; transition: .3s; }
.news_list li a::after { content: ""; width: 8px; height: 8px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); position: absolute; right: 32px; top: 0; bottom: 0; margin: auto; transition: .3s; }
.news_list li a .news-date { width: 130px; padding-right: 30px; color: #878787; word-break: break-all; }
.news_list li a .news-text { width: calc(100% - 130px); font-size: 18px; padding-right: 80px; }
.news_list li a:hover::before { background: #fff; border: 1px solid #ffb600; }
.news_list li a:hover::after { border-color: #ffb600; }
.page-nav-num { display: flex; align-items: center; }
.page-nav-num li { margin-right: 10px; }
.page-nav-num li a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #ffb600; color: #ffb600; }
.page-nav-num li a.active .num { color: #fff; }
.page-nav-num li a.active { background: #ffb600; }
.page-nav-num li a.active .num { color: #fff; }
.page-nav-num li a:before { width: 15px; height: 15px; }
.page-nav-num li a.prev,
.page-nav-num li a.next { border: none; }
.page-nav-num li a.prev:before { content: ""; border-top: 2px solid #000; border-left: 2px solid #000; transform: rotate(-45deg); display: block; }
.page-nav-num li a.next:before { content: ""; border-top: 2px solid #000; border-right: 2px solid #000; transform: rotate(45deg); display: block; }

/* news-single */
.section-news-single .news-date { color: #878787; }
.section-news-single .news-text { font-size: 32px; font-weight: bold; }
.next_btn { display: flex; align-items: center; justify-content: center; text-align: center; }
.next_btn a { display: flex; align-items: center; justify-content: center; width: 250px; height: 50px; font-size: 14px; background: #ffb600; border: 1px solid #ffb600; color: #fff; border-radius: 30px; text-align: center; transition: .3s; }
.next_btn a:hover { background: #fff; color: #ffb600; }
.wp-post img { width: 60%; }

/* works-single */
.section-works-single .tags .tag-block { pointer-events: none; }
.addthumb-slider .thumb img { width: 100%; height: auto; }
.thumbnail-slider { margin-top: 12px; }
.thumbnail-slider .slick-track { transform: unset !important; width:100% !important; display: flex; flex-wrap: wrap; }
.thumbnail-slider .thumb { width: calc(100% / 4) !important; cursor: pointer; margin-bottom: 12px; padding-right: 12px; }
.thumbnail-slider .thumb:nth-child(4n) { padding-right: 0; }
.thumbnail-slider .thumb img{ width: 100%; height: 150px !important; object-fit: cover; }

/* contact */
::placeholder{ color: #c1c1c1; }
.contact-dl dl { display: flex; align-items: center; padding: 30px 0; border-bottom: 1px solid #dddddd; }
.contact-dl dl dt { width: 310px; font-size: 18px; padding-left: 30px; }
.contact-dl dl dd { width: calc(100% - 310px); }
.contact-dl dl dd .contact-radio { display: flex; gap: 30px; width: 100%; }
.contact-dl dl dd .contact-radio span { display: block; }
.contact-dl dl dd .contact-radio label input { margin-right: 5px; }
.contact-dl dl dd .contact-radio label span { width: 100%; font-size: 20px; }
.contact-dl dl dd input:not(.contact-radio label input) { width: 100%; padding: 15px 30px; background: #f5f5f5; color: #000; border: none; }
.contact-dl dl dd textarea { width: 100%; padding: 35px 30px; background: #f5f5f5; color: #000; border: none; }
.contact-dl dl dd .textarea-h-full { height: 440px; }
.contact-dl dl dd .address-area { width: 100%; }
.contact-dl dl dd .prefectures-area { width: 200px; margin-right: 50px; }
.contact-dl dl dd .prefectures-area .select-wrap { position: relative; }
.contact-dl dl dd .prefectures-area .select-wrap:after { content: ""; width: 10px; height: 10px; border-top: 1px solid #000; border-right: 1px solid #000; transform: rotate(135deg); position: absolute; top: 0; bottom: 0; right: 20px; margin: auto; }
.contact-dl dl dd .prefectures-area select { width: 200px; padding: 15px 30px; border: none; background: #f5f5f5; appearance: none; color: #000 !important; }
.contact-dl dl dd .address-detail-area { width: calc(100% - 250px); }
.contact-dl .requied { font-size: 12px; color: #c90e0e; padding: 15px 30px; }
.contact-radio label { display: flex; align-items: center; }
.def-link { width: 250px; padding: 15px; background: #ffb600; border: 1px solid #ffb600; color: #fff; font-size: 14px; border-radius: 30px; cursor: pointer; transition: .3s; }
.def-link:hover { background: #fff; color: #ffb600; }
span.wpcf7-spinner { display: block; margin: 10px auto; }
.wpcf7-list-item { margin: 0 !important; }
#autozip { opacity: 0; pointer-events: none; }
#contact .more-btn { width: 320px; }

@media (max-width: 1024px) {
	header .logo img { width: 220px; }
}

@media (max-width: 767px) {
	body { min-width: 375px; font-size: 14px }
	header { padding: 0 15px; background: rgba(255,255,255,.9); }
	header .wrap { height: 60px; margin: 10px 0; }
	header .logo img { width: 200px; }
	header .gnav { position: fixed; left: 0; top: 0; width: 100%; top: 80px; background: rgba(255,255,255,.9) ; height: 100vh; opacity: 0; visibility: hidden; transition: .3s; }
	header .gnav.active { opacity: 1; visibility: visible; }
	header .gnav ul { display: block; padding: 50px 30px; }
	header .gnav ul li { padding-left: 0; padding-right: 0; margin-bottom: 15px; }
	header .gnav ul li:before { display: none; }
	header .gnav ul li a { padding: 15px 0; border-bottom: 1px solid #E0E2E3; font-weight: bold; position: relative; }
	header .gnav ul .contact-btn { padding: 10px; }
	header .menu-trg-area { display: block; }

	.f-content { padding: 40px 0; flex-direction: column; align-items: initial; }
	.f-content .f-list { flex-wrap: wrap; gap: 20px; margin-top: 20px; }
	.f-content .f-list li { width: calc((100% - 20px) / 2); padding: 0; }
	.f-content .f-list li a { padding: 10px 0; border-bottom: 1px solid #fff; font-size: 13px; }
	.copyright { font-size: 10px; }
	.page_top { bottom: 6%; }

	/* common */
	.category_ttl .main { font-size: 25px; margin-bottom: 10px; }
	.category_ttl .sub { font-size: 15px; }
	.lead-sentence { font-size: 16px; }
	.more-btn a .more-text { font-size: 12px; }

	/* top-fv */
	.top-fv { padding-top: 80px; }
	.top-fv .bg figure { height: 500px; padding-top: 0; }
	.fv_slider .bg .catch { width: 90%; }
	.fv_slider .bg .catch-main { font-size: 25px; }
	.fv_slider .bg .catch-sub { font-size: 16px; }
	.fv_notice { width: 100%; position: static; padding: 10px 10px 10px 40px; }
	.fv_notice .notice_date { margin-bottom: 0; }
	#home .fv_slider .bg .catch-main { padding-bottom: 20px; margin-bottom: 20px; }
	#home .fv_slider .bg .catch-main:before { width: 150px; height: 3px; }

	/* top-aboutus */
	.ttl-about-block { padding: 20px 0 80px; }
	.about-flex { flex-direction: column; }
	.about-flex .about-ttl { width: 100%; justify-content: center; border-right: none; border-bottom: 1px solid #fff; }
	.about-flex .about-lead { width: 100%; justify-content: center; }
	.about-content { margin-top: -70px; }
	.about-content .about-wrap:before { border-top: 15px solid #ffb600; border-left: 15px solid #ffb600; border-bottom: 15px solid transparent; border-right: 15px solid transparent; }
	.about-content .about-inner { height: 100%; }
	.about-content .about-text { padding: 30px; }
	.about-content .about-text p { font-size: 14px; }
	.about-content .about-right-images img { height: 292px; width: 100%; }

	/* top-movie */
	.top-movie { margin-top: 60px; }
	.top-movie p { margin-top: 5px; font-size: 12px; }

	/* top-service */
	.top-service { margin-top: 70px; }
	.images-flex .images-clip img { height: 400px; }
	.images-flex .images-left { top: 45px; }
	.images-flex .images-right { top: 0; }
	.gray-content { margin-top: 200px; padding: 200px 0 60px; }

	/* top-works */
	.top-works { padding: 50px 0; }
	.top-works .wrapper { flex-direction: column; }
	.top-works .titles { width: 100%; height: 300px; margin-right: 0; margin-bottom: 10px; }
	.top-works .contents { width: 100%; }
	.works-slider .slick-slide { padding: 0 5px; }
	.works-card .photo { height: 200px; }
	.works-card .text { padding: 15px 15px 30px; }
	.works-card .text .naiyou { padding: 0; }
	.works-card .text .title { font-size: 18px; margin-bottom: 10px; }
	.tags { gap: 5px; margin-right: 0; max-height: none; }
	.tag-block { font-size: 14px; padding: 5px; width: max-content; margin-right: 0; margin-bottom: 0; }
	.works-card .works-scale .photo { height: 300px; }

	/* top-recruit */
	.recruit-flex { flex-direction: column; padding: 80px 0; }
	.recruit-flex .recruit-left { width: 100%; margin-bottom: 20px; justify-content: center; }
	.recruit-flex .recruit-left-content { margin-right: 0; }
	.recruit-flex .recruit-right { width: 100%; flex-wrap: wrap; }
	.recruit-flex .recruit-right .images-item { padding: 0 10px; }
	.recruit-flex .recruit-right .images-item:before { left: initial; }
	.recruit-flex .recruit-right .images-item img { height: 430px; width: 100%; }

	/* top-company */
	.top-company { position: relative; }
	.top-company:before { content: ""; width: 100%; height: 100%; position: absolute; top:0 ; left: 0; bottom: 0; margin: auto; background: linear-gradient(to right, rgba(0, 0, 0, 0.3) ,transparent); }
	.company-wrap { padding: 80px 0; width: 100%; }
	.company-wrap .more-btn a { width: 180px; }

	/* contact */
	.top-contact { padding: 50px 0; }
	.top-contact .category_ttl .sub { width: 40px; }
	.top-contact .category_ttl { margin-bottom: 25px; }
	.top-contact .num-images { text-align: center; }
	.top-contact .num-images img { width: 60%; }

	/* kasou-common */
	.kasou_slider { margin-top: 80px; }
	.kasou_slider .kasou_fv figure { height: 300px!important; }
	.kasou_slider .kasou_fv .catch { width: 90%; }
	.kasou_slider .kasou_fv .catch .catch-main { font-size: 30px; }
	.kasou_slider .kasou_fv .catch .catch-sub { font-size: 16px; }
	.bread { margin-top: 15px; margin-bottom: 40px; }
	.bread ul { flex-wrap: wrap; }
	.bread ul li { padding-right: 20px; }
	.bread ul li:after { right: 10px; width: 6px; height: 6px; }
	.bread ul li a { font-size: 12px; padding: 15px 0; }
	.sec_ttl { font-size: 25px; }

	/* service */
	.service_top { text-align: left; }
	.parallax_box { height: 500px; }
	.common-padding { padding: 45px 0; }
	.section-service1 dl { padding: 10px 0; border-bottom: 1px solid #dddd; }
	.section-service1 dt { width: 70px; }
	.section-service1 dd { width: calc(100% - 70px); }

	/* works */
	.works-tab { flex-wrap: wrap; justify-content: initial; }
	.works-tab li { margin: 0 5px 10px 5px; min-width: 162px; }
	.works-tab li a { font-size: 13px; }
	.works-content { margin-bottom: 45px; }
	.works-ttl { margin-bottom: 15px; padding-left: 20px; font-size: 22px; }
	.works-ttl:before { width: 15px; height: 15px; }
	/* .construction-table { overflow-x: scroll; height: 400px; margin-bottom: 40px; }
	.construction-table table { width: 600px; }
	.construction-table table th { font-size: 16px; }
	.construction-table table .construction-left { width: 25%; }
	.construction-table table .construction-right { width: 75%; }
	.construction-table table td .beginning { width: 100px; }
	.construction-table table td .end { width: 100px; } */
	.construction-list { height: 270px; margin-bottom: 40px; }
	.construction-list ul li { flex-direction: column; align-items: start; padding: 15px 0; }
	.construction-list ul li .kouki { width: 100%; margin-right: 0; margin-bottom: 5px; }
	.construction-list ul li .kouzimei { width: 100%; font-size: 16px; }
	.arrows { margin-left: 60px; }
	.arrows:before { width: 50px; }
	.arrows::after { right: 22px; }

	/* recruit */
	#works .kasou_slider .kasou_fv figure { height: 300px !important; }
	#recruit .kasou_fv figure { padding-top: 67.5% !important; height: 0 !important; }
	#recruit .catch-text { font-size: 25px; margin-top: 10px; }
	.section-loop { margin-bottom: 50px; }
	.loop-card { padding: 0 10px; }
	.recruit-catch { font-size: 25px; margin-bottom: 20px; }
	.cut-images .images-flex { height: 200px; }
	.cut-images .images-flex .images-clip img { height: 200px; }
	.section-kankyou { padding: 50px 0; }
	.section-kankyou .kankyou-ttl { font-size: 22px; }
	.section-kankyou .kankyou-ttl:before { width: 90px; }
	.section-kankyou .kankyou-kinds { font-size: 18px; margin-bottom: 15px; }
	.section-kankyou .kankyou-kinds:before { width: 13px; height: 13px; }
	.section-reqirements { padding: 50px 0; }
	.reqirements-dl { width: 100%; }
	.reqirements-dl dl { flex-direction: column; }
	.reqirements-dl dt { width: 100%; font-size: 16px; padding: 15px; justify-content: start; }
	.reqirements-dl dd { width: 100%; padding: 15px; }
	.table_images { width: 100%; }
	.recruit-bottom { flex-direction: column; }
	.recruit-bottom .half { width: 100%; }

	/* company */
	.section-gaiyou { padding: 50px 0; }
	.section-gaiyou .ttl-sentence { flex-direction: column; }
	.section-gaiyou .ttl-sentence .l_ttl { font-size: 20px; padding: 0 0 0 25px; margin-bottom: 10px; }
	.section-gaiyou .ttl-sentence .l_ttl:before { width: 15px; height: 15px; }
	.section-gaiyou .ttl-sentence .l_ttl:after { width: 60px; left: 120px; }
	.section-gaiyou .ttl-sentence .r-sentence { font-size: 14px; }
	.gaiyou-dl dl { flex-direction: column; }
	.gaiyou-dl dt { width: 100%; font-size: 16px; padding: 15px 15px 10px 15px; }
	.gaiyou-dl dd { width: 100%; padding: 0 15px 15px 15px; }
	.gaiyou-dl dd ul li { flex-direction: column; align-items: start; margin-bottom: 20px; }
	.gaiyou-dl dd ul li .history-date { width: 100%; }
	.gaiyou-dl dd ul li .history-text { width: 100%; }
	.line_images { flex-wrap: wrap; }
	.line_images img { width: 50%; }
	.section-access iframe { height: 300px; }
	.section-access .access-text { padding: 30px; font-size: 16px; }
	.daihyo img { width: 30%; }

	/* entory */
	.form_under { text-align: initial; }

	/* news */
	#news .tab-button li { font-size: 13px; margin: 0 5px 10px 5px; min-width: 162px }
	.news_list { margin-bottom: 35px; }
	.news_list li a { flex-direction: column; padding: 15px 0; }
	.news_list li a .news-date { width: 100%; margin-bottom: 5px; }
	.news_list li a .news-text { width: 100%; font-size: 16px; padding-right: 60px; }
	.news_list li a:before { width: 50px; }
	.news_list li a::after { right: 22px; }

	/* news-single */
	.section-news-single .news-text { font-size: 22px; }
	.wp-post img { width: 100%; }

	/* works-single */
	.thumbnail-slider { margin-top: 10px; }
	.thumbnail-slider .thumb { width: calc(100% / 3) !important; margin-bottom: 10px; padding-right: 10px; }
	.thumbnail-slider .thumb:nth-child(3n) { padding-right: 0; }
	.thumbnail-slider .thumb img { height: 90px !important; }	
	.thumbnail-slider .thumb:nth-child(4n) { padding-right: 10px; }
	.thumbnail-slider .thumb:nth-child(3n) { padding-right: 0; }

	/* contact */
	.contact-dl dl { flex-direction: column; align-items: start; padding: 20px 0 ; }
	.contact-dl dl dt { width: 100%; padding-left: 0; margin-bottom: 10px; font-size: 16px; }
	.contact-dl dl dd { width: 100%; }
	.contact-dl dl dd .contact-radio { flex-direction: column; gap: 15px; }
	.contact-dl dl dd .contact-radio label span { width: 100%; font-size: 16px; }
	.contact-dl dl dd input { padding: 15px; }
	.contact-dl dl dd textarea { padding: 15px; }
	.contact-dl dl dd .textarea-h-full { height: 200px; }
	.contact-dl .requied { padding-left: 10px; }
	.contact-dl dl dd .address-area { width: max-content; margin-right: 20px; }
	.contact-dl dl dd .address-area input { width: 150px; }
	.contact-dl dl dd .prefectures-area { width: max-content; margin-right: 0; }
	.contact-dl dl dd .prefectures-area select { width: 150px; padding: 15px; }
	.contact-dl dl dd .prefectures-area .select-wrap:after { right: 20px; width: 8px; height: 8px; }
	.contact-dl dl dd .address-detail-area { width: 100%; }
	#contact .more-btn { width: 280px; }
	@supports (-webkit-touch-callout: none) { input[type="radio"] { transform: scale(0.6);} }
}

.top-aboutus .ttl-about-block,
.top-works .titles,
*[style*="background:#ffb600"],
*[style*="background: #ffb600"],
footer { background-color: #ffb600!important; transform: initial!important; }

.tab-button { display: flex; justify-content: center; margin-bottom: 20px; }
.tab-button li { list-style: none; padding: 10px 20px; cursor: pointer; background-color: #f0f0f0; margin-right: 5px; }
.tab-button li.active { background-color: #ffb600; color: #fff; }
.tab-list ul { display: none; }
.tab-list ul.active { display: block; }