@charset "utf-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

* {
    padding: 0;
    margin: 0;
    list-style: none;
}

body{
    font-family: "Noto Sans CJK JP", sans-serif;
    font-size: 20px;
    color: #262626;
    font-weight: 400;
    line-height: 2;
    text-align: justify;
}
main{padding-top: 70px;}
.bk-area{
    width: 100%;
    height: 100vh;
    background-image: url(../image/bk-logo01.png); 
    background-repeat: no-repeat;
    background-position: 120% 0%;
    background-size: contain;
    position: fixed;
    z-index: -1;
    overflow: hidden;
}

/* ハンバーガー--------------------------------------------- */
.hamburger {
    display: none;
    position: fixed;
    /* border-radius: 50%; */
    background-color: #FFF; 
    text-align: center;
    top: 5px;
    right: 5px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    transition: 0.5s;
    border: 1px solid #13ab95;
    /* box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .5); */
    z-index: 999;
  }
  .inner_line {
    display: block;
    position: absolute;
    left: 10px;
    width: 30px;
    height: 3px;
    background-color: #000000;
    transition: 0.1s;
    border-radius: 4px;
  }
  .inner_line-0 {
    display: block;
    position: absolute;
    left: 10px;
    width: 30px;
    height: 3px;
    background-color: #13ab95;
    transition: 0.1s;
    border-radius: 4px;
  }
  #line1 {top: 10px;}
  #line2 {top: 23px;}
  #line3 {bottom: 10px;}
  .in{transform: translateX(100%);}
  .line_1,.line_2,.line_3{background: #13ab95;}
  .line_1 {transform: rotate(-45deg);top: 23px!important;}/*-45度回転させる*/
  .line_2 {opacity: 0;}
  .line_3 {transform: rotate(45deg);bottom: 23px!important;}/*45度回転させる*/
/* ヘッダー----------------------------------------------- */
.header-area{
    position: fixed;
    width: 100%; 
    display: flex; 
    justify-content: space-between;
    z-index: 900;
    background-color:rgba(255,255,255,0.5);
    height: 70px;
    vertical-align: middle;
}
.header-logo{padding: 20px 0; margin-left: 20px; width: 15%;}
.header-logo img{width: 100%;}
.header-nav{padding: 20px 0; width: 40%; padding-right: 20px;}
.ul-nav{display: flex; justify-content: space-between;}
.ul-nav li{font-weight: 500; font-size: 15px; width: 13%; text-align: center;}
.ul-nav li:hover{background-color: #13ab941a; font-style: italic;}
.ul-nav li a{color: #262626; text-decoration: none;}

/* トップページ---------------------------------------------------------------------------- */
#main-view h1{
    font-size: 0;
    position: absolute;
    top: 25%;
    z-index: 500;
    width: 80%;
}
#main-view h1 img{width: 100%;}
/* ---------スライダー---------------------------------------------------------------------- */
/* メインスライド */
.top-slide-slider{
    width: 100%;
    height: 100vh;
    overflow: hidden;
}
.top-swiper-wrapper {
    background-color: #000000;
}
.top-swiper-slide {
    width: 100%;
	color: #ffffff;
}
.top-swiper-slide{
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.swiper-pagination-bullet-active{
    /* 丸の色を強制変更 */
    background: #000000!important;
}
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 7s linear 0s normal both;
}
@keyframes zoomUp{
    0% {transform: scale(1);}
    100% {transform: scale(1.2);}
}
.swiper-img img{height: 100%;}
.sub-slide{width: 100% ; height: 327px; overflow: hidden;}
.works-img img{width: 100%;}
.swiper-wrapper {transition-timing-function: linear;}



#about{
    width: 100%; 
    margin-top: 200px; 
}
.about-area{display: flex; align-items: center; width: 1500px;}
.about-img{width: 500px; height: 1000px; background-color: #13ab95; overflow: hidden;}
.about-text{margin-left: 200px; width: 600px;}
.about-text h2{font-size: 45px; color: #445050; line-height: 1.2; font-weight: 500;}
.about-text p{margin-top: 50px;}
.rec-btn{margin-top: 100px;}
.rec-btn img{width: 100%;}

#company{margin-top: 200px; width: 100%;}
.chara-img01{width:115px ; position: relative; left: 70%}
.chara-img02{width:115px; position: relative;  left: 30%;}
.chara-img01 img,.chara-img02 img{vertical-align: bottom; width: 100%;}
.border01{height: 150px; border-left:1px solid #262626 ; position: relative; left: 50%; top: -300px;}
.para-area,.para-area03{
    width: 1500px; 
    height: 600px; 
    display: flex; 
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.para-area{background-image: url(../image/company-img01.jpg);}
.para-area03{background-image: url(../image/health-img01.jpg);}
.para-area02{
    width: 1500px; 
    height: 600px; 
    display: flex; 
    align-items: center;
    background-image: url(../image/rec-img01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.para-text-area{width: 600px; margin: 0 auto;}
.para-text-area h2{font-size: 45px; color: #FFF; font-weight: 400;}
.para-text-area p{color: #FFF; font-weight: 300;}
.btn01{width: 350px; border: 1px solid #FFF; border-radius: 30px; margin-top: 50px; text-align: center;}
.btn02{width: 350px; border: 2px solid #13ab95; border-radius: 30px; margin: 50px auto ; text-align: center;}
.btn01 a,.btn02 a,.btn03 a{text-decoration: none;}
.btn02 a{color: #13ab95; width: 350px;}

#company-02{margin-top: 200px; }
.company-02-area{width: 1000px; margin: 0 auto;}
.company-02-area h2{font-size: 35px; line-height: 1.2; color:#445050 ; font-weight: 500; text-align: center;}
.company-02-area p{width: 800px; margin: 50px auto 0;}
.ul-company{display: flex; justify-content: space-between; margin-top: 80px;}
.ul-company li{width: 30%; 
    height: 270px; 
    display: flex; 
    align-items: center; 
    text-align: center; 
    justify-content: center;  
    background-color: #13ab95;
    border-radius: 15px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    font-size: 25px;
    color: #FFF;
    font-weight: 500;
}
.ul-company li:nth-child(1){background-image: url(../image/suv-img01.jpg);}
.ul-company li:nth-child(2){background-image: url(../image/suv-img02.jpg);}
.ul-company li:nth-child(3){background-image: url(../image/suv-img03.jpg);}
.right-side{display: flex; justify-content: end;}
#recruit{margin-top: 200px; width: 100%;}
.drone{
    width: 150px;
    position: relative;
    animation: drone-01 2s  ease-in-out infinite;
    z-index: 500;
    top: 50px;
    left: 100px;
}
.drone img{width: 100%;}
@keyframes drone-01{
    0%{transform:translateY(1em);}
    50%{transform:translateY(0em);}
    100%{transform:translateY(1em);}
}

#works{width: 100%; margin-top: 250px;}
#works h2{font-size: 40px; color: #445050; font-weight: 700; text-align: center; margin-bottom: 30px; letter-spacing: 10px;}
#news{
    width: 100%; 
    background-color: #dddddd; 
    padding: 50px 0; 
    margin-top: 300px; 
    background-image: url(../image/kenko-03.png);
    background-repeat: no-repeat;
    background-position: 110% 0%;
    background-size: contain;
}
#news h2{font-size: 40px; color: #445050; font-weight: 700; text-align: center; letter-spacing: 10px;}
.news-area{width: 1000px; margin: 30px auto;}
.ul-news{width: 100%; display: flex; justify-content:center; flex-wrap: wrap; gap: 5%;}
.ul-news li{width: 30%;}
.ul-news li h3{font-size: 18px;}
.ul-news li a{text-decoration: none; color: #262626;}
.ul-news li p{font-size: 15px; line-height: 1.5;}
.news-img{width: 100%; height: 200px; overflow: hidden; border-radius: 5px;}
.news-img img{width: auto; height: 100%;}
.ul-news li time{font-size: 13px;}
#contact{padding: 150px 0;}
.contact-area{
    width: 1000px; 
    margin: 0 auto; 
    height: 280px; 
    background-image: url(../image/contact-img.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    display: flex; 
    align-items: center;
    border-radius: 15px;
}
.contact-text{width: 600px; margin: 0 auto;}
.contact-text h2{text-align: center; font-size: 30px; color: #FFF; border-bottom: 2px solid #FFF;}
.contact-text p{font-size: 20px; color: #FFF; text-align: center;}
.contact-text p span{font-size: 35px;}
.btn03{width: 350px; border: 1px solid #FFF; border-radius: 30px; margin: 10px auto 0; text-align: center;}
footer{width: 100%; background-color: #13ab95; padding: 30px 0; text-align: center;}
footer p{font-size: 15px; line-height: 1.5; color: #FFF;}
footer p small{font-size: 12px;}

/* 会社概要ページ-------------------------------------------------------------------------- */
#sub-view{width: 100%; height: 350px; background-color: #dddddd; overflow: hidden;}
#sub-view img{width: 100%;}
.sub-title{width: 100%; text-align: center; position: absolute; top: 200px;}
.sub-title h1{font-size: 50px; color: #FFF; line-height: 0.8; letter-spacing: 10px;}
.sub-title h1 span{font-size: 16px;}
#mission{width: 100%; padding: 80px 0;}
.mission-area{width: 1000px; margin: 0 auto;}
.mission-area h2,
#message h2,
#profile h2,
.mail-form-area h2,
.health-area h2
{font-size: 16px; color: #13ab95; text-align: center; font-weight: 300;}
.mission-area h2 span,#message h2 span,#profile h2 span,.mail-form-area h2 span,.health-area h2 span
{font-size: 40px; color: #445050; font-weight: 700;}
.ul-mission{display: flex; justify-content: space-between; width: 100%; flex-wrap: wrap; row-gap: 35px; margin-top: 80px;}
.ul-mission li{width: 48%; font-size: 30px; color: #13ab95; border: 1px solid #13ab95; padding: 20px 0; text-align: center; border-radius: 3px;}

#policy{
    display: flex; 
    width: 100%; 
    height: 600px;  
    background-image: url(../image/company/policy-bk.jpg); 
    background-repeat: no-repeat; 
    background-size: cover; 
    background-color: #13ab95; 
    align-items: center;
}
.policy-area{display: flex; width: 800px; margin: 0 auto; text-align: center; color: #FFF; flex-direction: column; row-gap: 50px;}
.policy-text h2{font-size: 16px; border-bottom: 1px solid #FFF;}
.policy-text h2 span{font-size: 35px; line-height: 1; letter-spacing: 10px;}
.policy-text p{margin-top: 15px; font-size: 30px; line-height: 1.2;}

#message{width: 100%; padding: 80px 0;}
.message-area{width: 1000px; margin: 100px auto 0; display: flex; justify-content: space-between; align-items: end;}
.message-text{width: 75%;}
.message-text p span{font-weight: 500; }
.message-text h3{font-size: 30px; color: #445050;}
.message-img{width: 20%;}
.message-img p{font-size: 15px; text-align: center;}
.message-img img{width: 100%;}
#profile{width: 100%; padding: 80px 0;}
.profile-area{width: 1000px; margin: 50px auto;}
.dl-profile{width: 100%; display: flex; flex-wrap: wrap;}
.dl-profile dt{width: 20%; padding: 10px 0; border-bottom: 1px solid #13ab95; color: #13ab95; font-weight: 500;}
.dl-profile dd{width: 80%; padding: 10px 0; border-bottom: 1px solid #13ab95;}
.map{margin-top: 50px;}

/* 健康経営------------------------------------------------------------------------------ */
#health{width: 100%; padding: 80px 0;}
.health-area{width: 1000px; margin: 0 auto;}
.health-about{border: 1px solid #13ab95; padding: 50px 0; margin-top: 100px;}
.health-about h3{font-size: 0; width: 300px; margin: 0 auto;}
.health-about h3 img{width: 100%;}
.health-about p{width: 600px; margin: 30px auto 0; line-height: 1.5;}
#health-action{width: 100%; background-color: #d0eeea; padding: 80px 0;}
.health-action-area{width: 1000px; margin: 0 auto;}
.health-action-area h3{text-align: center; font-size: 30px;}
.ul-helth-action{display: flex; justify-content: space-between; margin-top: 30px;}
.ul-helth-action li{width: 30%;}
.ul-helth-action li img{width: 100%;}
.ul-helth-action li p span{font-size: 20px; color: #13ab95; font-weight: 500;}
.ul-helth-action li p{margin-top: 10px; font-size: 16px; line-height: 1.5;}

/* 事業内容------------------------------------------------------------------------------ */
#service-about{padding: 80px 0;}
.service-about-area{width: 1000px; margin: 0 auto;}
.service-about-area h2{font-size: 35px; color: #445050; text-align: center; line-height: 1.3;}
.service-about-area p{margin-top: 80px;}
#civil-engineering{
    width: 100%; 
    display: flex; 
    align-items: center; 
    background-color: #13ab95; 
    padding: 200px 0;
    background-image: url(../image/service/service-bk01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.civil-engineering-area{width: 600px; color: #FFF; margin: 0 auto;}
.civil-engineering-area h2{font-size: 50px; text-align: center; letter-spacing: 10px;}
.civil-engineering-area img{width: 100%; margin-top: 50px;}
#other-service{width: 100%; padding: 80px 0; background-color: #d0eeea;}
.other-service-area{width: 1000px; margin: 0 auto;}
.other-service-area h2{font-size: 30px; color: #445050; text-align: center;}
.ul-other{display: flex; justify-content: space-between; margin-top: 50px;}
.ul-other li{
    width: 48%; 
    height: 200px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 25px; color: #FFF; 
    font-weight: 500;
    letter-spacing: 10px;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 5px;
}
.ul-other li:nth-child(1){background-image:url(../image/service/service-img02.jpg) ;}
.ul-other li:nth-child(2){background-image:url(../image/service/service-img03.jpg) ;}

/* お問合せ------------------------------------------------------------------------------- */
#contact02{padding: 150px 0; position: relative;}
.contact-area02{
    width: 800px; 
    margin: 0 auto; 
    height: 280px; 
    display: flex; 
    align-items: center;
    border-radius: 5px;
    background-color: #13ab95;
}
.contact-text02{width: 600px; margin: 0 auto;}
.contact-text02 h2{text-align: center; font-size: 30px; color: #FFF; border-bottom: 2px solid #FFF;}
.contact-text02 p{font-size: 20px; color: #FFF; text-align: center;}
.contact-text02 p span{font-size: 35px;}
#mail-form{width: 100%; padding: 80px 0; background-color: #d0eeea;}
.mail-form-area{width: 800px; margin: 0 auto;}
.kenko-img02{width: 200px; position: absolute; right: 15%; bottom: 0px;}
.kenko-img02 img{width: 100%;}
.dl-form{display: flex; flex-wrap: wrap; margin-top: 150px; justify-content: space-between;}
.dl-form dt{width: 30%; padding: 20px 0; border-bottom: 1px dotted #13ab95;}
.dl-form dt span{font-size: 13px; background-color:#e60012; padding: 3px; color: #FFF; margin-left: 10px;}
.dl-form dd{width: 70%; padding: 10px 0; border-bottom: 1px dotted #13ab95;}
.dl-form dd textarea{border: solid 1px #ccc; width: 100%; padding: 3px;}
.dl-form dd input[type="text"]{
    width: 100%;
    border: solid 1px #ccc;
    line-height: 2;
    padding: 3px;
}
.mail-btn{
    text-align: center;
}
.mail-btn input{
    line-height: 2;
    width: 250px;
    margin: 50px 0;
}
input[type="submit"] {
    font-family:'Noto Sans Japanese', sans-serif ;
    font-size: 25px;
    font-weight: 500;
    color:  #13ab95;
    border:2px solid #13ab95 ;
    border-radius: 30px;
}
input[type="submit"]:hover{
    background-color: #13ab95;
    color: #FFF;
}
.note{font-size: 15px; margin-top: 30px;}
#rec02{width: 100%; padding: 80px 0;}
.rec-btn-area{width: 600px; margin: 0 auto;}
.rec-btn-area img{width: 100%;}

/* 施工実績-------------------------------------------------------------------------- */
#works02{width: 100%; padding: 80px 0;}
.archive-area{width: 1000px; margin: 0 auto;}
.archive-area h2{font-size: 35px; color: #445050; text-align: center; letter-spacing: 5px;}
.ul-archive{width: 100%; display: flex; justify-content: space-between; margin-top: 80px; flex-wrap: wrap; row-gap: 50px;}
.ul-archive li{width: 30%; line-height: 1.2;}
.archive-img{width: 100%; height: 200px; overflow: hidden; margin-bottom: 10px; border: 1px solid #13ab95; border-radius: 5px;}
.archive-img img{width: auto; height: 100%;}
.ul-archive:after{content:""; display: block; width:30%;}
.blog-title{font-size: 15px;}
#works-page{width: 1000px; padding: 80px 0; margin: 0 auto; display: flex; justify-content: space-between; flex-direction: row-reverse;}
.blog-sidebar{width: 25%;}
.blog-sidebar h2{font-size: 20px;}
.ul-sidebar{font-size: 18px; line-height: 1.2;}
.ul-sidebar li{border-bottom: 1px dotted #445050; padding: 10px 0;}
.ul-sidebar li a{text-decoration: none; color: #262626;}
.blog-date{font-size: 13px;}
.archive-page{width: 65%;}
.archive-page h2{border-bottom: 2px solid #13ab95; font-size: 25px; color: #445050; margin-bottom: 20px;}
.archive-page p{font-size: 18px; color: #262626; margin-top: 20px;}
.archive-page img{width: 100%;}
.ul-archive-date{font-size: 13px; margin-bottom: 5px;}
.ul-archive-text{font-size: 15px;}
.ul-archive-h3{font-size: 18px; margin-bottom: 15px;}
.pc-hide{display: none;}
.sp-hide{display: block;}
/* ------------------------------------------------------------------------------------
700PX以下
------------------------------------------------------------------------------------ */
@media (max-width: 700px) {
body{font-size: 15px; line-height: 1.8;}
.pc-hide{display: block;}
.sp-hide{display: none;}
 /* .header-logo{display: none;} */
 .header-area{background-color: #FFF;}
 main{padding-top:0 ;}
 #main-view{width: 100%;}
 .bk-area{background-size: cover; background-position: 0% 0%; overflow: hidden;}
.hamburger{display: block;}
.header-nav{transform: translateY(-100vh);}
.nav-active{width: 100%; height: 100vh; background-color:rgba(19, 171, 149, 0.8) ; position: absolute; transform: translateY(0);}
.header-logo{width:200px; padding: 30px 0;}
.ul-nav{width: 80%; margin: 50px auto; flex-direction: column;}
.ul-nav li {
    width: 100%; 
    font-size: 20px; 
    padding: 20px 0;
    border-bottom: 2px solid #FFF;
}
.ul-nav li a{color: #FFF;}
#main-view h1{width: 100%;}
#about{width: 80%; margin: 0 auto; padding: 30px 0;} 
.about-area{width: 100%;}
.about-img{display: none;}
.about-text{width: 100%; margin-left: 0;}
.about-text h2{font-size: 20px; text-align: center;}
.rec-btn{margin-top: 50px;}
.para-area,.para-area03{width: 100%;}
.para-text-area{width: 70%;}
.para-text-area h2{font-size: 20px; text-align: center; margin-bottom: 20px;}
.chara-img01{width: 70px; right: 5%;}
.btn01{width: 80%; margin: 50px auto 0; padding: 20px 0;}
#company{margin-top: 50px;}
#company-02{margin-top: 30px;}
.company-02-area{width: 80%; margin: 0 auto;}
.company-02-area h2{font-size: 20px;}
.company-02-area p{width: 80%; margin: 30px auto 0;}
.ul-company{flex-direction: column; align-items: center; row-gap: 20px; margin-top: 30px;}
.ul-company li{width: 80%; height: 100px; font-size: 20px;}
.btn02{width: 80%; margin: 50px auto 0; padding: 20px 0;}
.chara-img02{width: 70px; left: 5%;}
.drone{top: -20px;}
#works{margin-top: 20px;}
#works h2{font-size: 20px;}
.sub-slide{height: 200px;}
#recruit{margin-top: 50px;}
#news{margin-top: 50px; background-position: 120% 50%;}
#news h2{font-size: 20px;}
.news-area{width: 70%;}
.ul-news{width: 100%; flex-direction: column; margin: 0 auto; row-gap: 30px;}
.ul-news li{width: 100%; border-bottom: 1px solid #262626; padding: 20px 0;}
.ul-news li h3{font-size: 16px;}
.contact-area{width: 90%;}
.contact-text{width: 80%;}
.btn03{width: 100%;}
#contact{padding: 50px 0;}
footer img{width: 80%;}
.sub-title{top: 180px;}
.sub-title h1{font-size: 25px;}
.sub-title h1 span{font-size: 13px;}
#mission{padding: 30px 0;}
.mission-area{width: 80%;}
.ul-mission{margin-top: 30px;}
.ul-mission{row-gap: 15px;}
.ul-mission li{font-size: 20px;}
.policy-area{width: 80%;}
.mission-area h2 span, #message h2 span, #profile h2 span, .mail-form-area h2 span,.health-area h2 span{font-size: 25px;}
.policy-text p{font-size: 20px; line-height: 1.8;}
#message{padding: 30px 0;}
.message-area{width: 80%; margin: 30px auto 0; flex-direction: column;}
.message-text{width: 100%;}
.message-text h3{font-size: 20px; text-align: center; line-height: 1.5; margin-bottom: 30px;}
.message-img{width: 50%; margin: 30px auto; line-height: 1.4;}
.policy-text h2 span{font-size: 25px;}
#profile{padding: 30px 0;}
.profile-area{width: 80%;}
.dl-profile dt{width: 100%; text-align: center;}
.dl-profile dd{width: 100%;}

.service-about-area{width: 80%;}
.service-about-area h2{font-size: 20px;}
#service-about{padding: 30px 0;}
.service-about-area p{margin-top: 30px;}
#civil-engineering{padding: 100px 0;}
.civil-engineering-area{width: 80%;}
.civil-engineering-area h2{font-size: 30px;}
#other-service{padding: 20px 0 50px;}
.other-service-area{width: 80%; }
.other-service-area h2{font-size: 25px;}
.ul-other{margin-top: 20px;}
.ul-other li{font-size: 18px; letter-spacing: 0; height: 150px;}
#contact02{padding: 30px 0;}
.contact-area02{width: 80%;}
.kenko-img02{display: none;}
.contact-text02{width: 90%;}
.mail-form-area{width: 80%;}
#mail-form{padding: 30px 0;}
.dl-form{margin-top: 50px;}
.dl-form dt{width: 100%; border-bottom: none; padding: 30px 0 10px;}
.dl-form dd{width: 100%;}
input[type="submit"]{font-size: 20px;}
#rec02{padding: 30px; width: 80%;}
.rec-btn-area{width: 100%; margin: 0 auto;}
#works02{padding: 30px 0;}
.archive-area h2{font-size: 25px;}
.archive-area{width: 70%;}
.ul-archive{margin-top: 30px;}
.ul-archive li{width: 100%;}
.blog-sidebar{display: none;}
#works-page{width: 80%; padding: 30px 0;}
.archive-page{width: 100%;}
.archive-page h2{font-size: 18px;}
.archive-page p{font-size: 15px; margin-top: 0;}

.health-area{width: 80%; margin: 0 auto;}
.health-about h3{width: 80%;}
.health-about p{width: 80%;}
.health-action-area{width: 70%;}
#health-action{padding: 30px 0;}
.ul-helth-action{flex-direction: column; row-gap: 50px;}
.ul-helth-action li{width: 100%;}
.health-action-area h3{font-size: 20px;}

}