@charset "utf-8";
/*
font-family: "Noto Serif JP";
font-weight: 700;
sans:400=Regular,700=Bold
*/
.btn{
  position: relative;
  border: 1px solid #43910E;
  background-color:#43910E;
  width: 260px;
  height: 50px;
  border-radius: 50px;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.btn a{
  display: block;
  color:#FFF;
  width: 260px;
  margin-top: -1px;
  font-size:18px;
  font-weight: 400;
  line-height: 52px;
  font-family: "Noto Serif JP";
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.btn:hover{
  background-color:#FFF;
}
.btn a:hover{
  color: #43910E;
}
.btn02{
  position: relative;
  border: 1px solid #FFF;
  background-color:#FFF;
  width: 260px;
  height: 50px;
  border-radius: 50px;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.btn02 a{
  display: block;
  color:#262626;
  width: 260px;
  margin-top: -1px;
  font-size:18px;
  font-weight: 400;
  line-height: 52px;
  text-align: center;
  font-family: "Noto Serif JP";
  font-weight: 400;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.btn02:hover{
  border: 1px solid #43910E;
  background-color:#43910E;
}
.btn02 a:hover{
  color: #FFF;
}
.none_br{
  display: none;
}
a[href^="tel:"] {
  pointer-events: none;
}

/* keyview */
#keyview{
  position: relative;
  width: 100%;
  height: 100svh;
  background-color: rgba(0, 0, 0, 0.4);
  overflow: hidden;
}
.key_img{
  width: 100%;
  height: 100svh;
  min-height: 100svh;
}
.slider{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  z-index: -10;
}
.slider img{
  width: 100%;
  min-width: 1200px;
}


/* スライダーのスタイルのために追加 */
.image {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.5s ease-in-out;
  z-index: 1;
  opacity: 0;
}

.image.active {
  opacity: 1;
}

.mask-image {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  clip-path: circle(0% at 0% 0%);
  /* 広がるスピード */
  transition: clip-path 2s ease-in-out;
  z-index: 2;
}

.mask-active {
  /* 円が画面全体に広がる */
  clip-path: circle(150% at 0% 0%);
}



.catch_copy{
}
.catch_copy h2{
  position: absolute;
  top:50%;
  left:50%;
  z-index: 2;
  transform:translateX(-50%) translateY(-50%);
  -webkit- transform:translateY(-50%);
  background: url(../images/txt_top_catch.png) no-repeat;
  background-size: 130px 334px;
  width: 130px;
  height: 334px;
  text-indent: -9999px; /* テキストを画面外に追い出す */
  overflow: hidden;
}
.catch_copy p{
  position: absolute;
  top:86%;
  left:50%;
  z-index: 2;
  transform:translateX(-50%) translateY(-50%);
  -webkit- transform:translateY(-86%);
  background: url(../images/txt_top_catch02.png) no-repeat;
  background-size: 430px 62px;
  width: 430px;
  height: 62px;
  color:#FFF;
  text-indent: -9999px; /* テキストを画面外に追い出す */
  overflow: hidden;
}

/*top_about*/
#top_about{
  width: 100%;
}
.about{
  width: 1280px;
  margin: 120px auto 125px;
}
.about_head{
  width: 100%;
  margin-bottom: 45px;
}
.about_head h3{
  position: relative;
  font-size: 36px;
  line-height: 1em;
  color: #2B2B2B;
  font-family: "Noto Serif JP";
  font-weight: 700;
}
.about_head h3::before{
  content: "";
  width: 60px;
  height: 2px;
  position: absolute;
  bottom: -35px;
  left: 0;
  background-color: #707070;
}
.about_head h3::after{
  content: "About us";
  position: absolute;
  bottom: -43px;
  left: 70px;
  font-size: 20px;
  line-height: 1em;
  color: #707070;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.about_cont{
  position: relative;
  width: 100%;
  height: 445px;
}
.about_img{
  position: absolute;
  top:0;
  left: 50%;
  width: 790px;
}
.about_txt{
  position: absolute;
  width: 550px;
  top: 50px;
  left: 0;
}
.about_txt p{
  font-size: 18px;
  line-height: 1.5em;
  color: #2b2b2b;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.about_txt ul{
  margin-top: 20px;
}
.about_txt ul li{
  font-size: 18px;
  line-height: 2em;
  color: #2b2b2b;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.about_txt ul li::before{
  content: '・';
}
.about_btn{
  margin: 35px auto 0;
}

/*list*/
#top_list{
  width: 100%;
  height: 768px;
  display: flex;
}
.list01{
  width: 33.3%;
  min-width: 450px;
  background-color: #BFB2A2;
}
.link-block{
  position: relative;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 768px;
  overflow: auto;
  cursor: pointer;
  transition: background-color 0.3s, box-shadow 0.3s;
}
.link-block:hover{
  background-color: rgba(0, 0, 0, 0.6); /* ホバー時に黒の半透明を表示 */
  width: 100%;
}
.link-block:hover::after{
  display: block;
  content: "";
  background: url(../images/top_arrow.png)no-repeat;
  background-size: cover;
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: 20px;
  right: 20px;
}
.list_cont h4{
  margin-top: 55px;
  font-size: 32px;
  text-align: center;
  line-height: 1em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 700;
}
.list_img{
  width: 350px;
  margin: 100px auto 0;
}
.list_img img{
  width: 100%;
}
.list_cont p{
  width: 415px;
  margin: 45px auto 0;
  font-size: 18px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.list_cont p span{
  display: block;
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.list02{
  background: url(../images/plumb_key_img.jpg) no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  width: 33.3%;
  min-width: 450px;
}
.link-block02{
  position: relative;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 768px;
  overflow: auto;
  cursor: pointer;
  transition: background-color 0.3s, box-shadow 0.3s;
}
.link-block02:hover{
  background-color: rgba(0, 0, 0, 0.6); /* ホバー時に黒の半透明を表示 */
  width: 100%;
}
.link-block02:hover::after{
  display: block;
  content: "";
  background: url(../images/top_arrow.png)no-repeat;
  background-size: cover;
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: 20px;
  right: 20px;
}
.list_cont02 h4{
  margin-top: 55px;
  font-size: 32px;
  text-align: center;
  line-height: 1em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 700;
}
.list_cont02 p{
  width: 415px;
  margin: 494px auto 0;
  font-size: 18px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.list_cont02 p span{
  display: block;
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.list03{
  background: url(../images/sten_key_img.jpg) no-repeat;
  background-size: cover;
  background-position: 40% 50%;
  width: 33.4%;
  min-width: 450px;
}
.link-block03{
  position: relative;
  text-decoration: none;
  display: block;
  width: 100%;
  height: 768px;
  overflow: auto;
  cursor: pointer;
  transition: background-color 0.3s, box-shadow 0.3s;
}
.link-block03:hover{
  background-color: rgba(0, 0, 0, 0.6); /* ホバー時に黒の半透明を表示 */
  width: 100%;
}
.link-block03:hover::after{
  display: block;
  content: "";
  background: url(../images/top_arrow.png)no-repeat;
  background-size: cover;
  width: 40px;
  height: 40px;
  position: absolute;
  bottom: 20px;
  right: 20px;
}

/*top_about*/
#top_service{
  width: 100%;
}
.service{
  position: relative;
  width: 1280px;
  height: 555px;
  margin: 125px auto 125px;
}
.service_head{
  position: absolute;
  top: -2em;
  left: 57%;
  width: 555px;
}
.service_head h3{
  position: relative;
  font-size: 32px;
  line-height: 1em;
  color: #2B2B2B;
  font-family: "Noto Serif JP";
  font-weight: 700;
}
.service_head h3::before{
  content: "";
  width: 60px;
  height: 2px;
  position: absolute;
  bottom: -35px;
  left: 0px;
  background-color: #707070;
}
.service_head h3::after{
  content: "Our services";
  position: absolute;
  bottom: -43px;
  left: 70px;
  font-size: 20px;
  line-height: 1em;
  color: #707070;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.service_cont{
  width: 100%;
  height: 445px;
}
.service_img{
  position: absolute;
  top:0;
  right: 50%;
  width: 685px;
}
.service_img img{
  width: 100%;
}
.service_txt{
  position: absolute;
  top:95px;
  left: 57%;
  width: 555px;
}
.service_txt p{
  text-align: center;
  font-size: 18px;
  line-height: 1.5em;
  color: #2b2b2b;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.service_btn{
  margin: 75px auto 0;
}

/* top_vacu */
#top_vacu{
  position: relative;
  width: 100%;
  height: 768px;
}
.vacu_wrap{
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  width: 50%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
.vacu_mov{
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  z-index: -1;
  width: 100%;
  height: 768px;
}
.vacu_mov video{
  width: 100%;
  min-width: 1366px;
}
.vacu_cont{
  width: 683px;
  margin: 50px 0 0;
}
.vacu_cont h3{
  text-align: center;
  font-size: 36px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 700;
}
.vacu_cont p{
  width: 610px;
  margin: 420px auto 40px;
  font-size: 18px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
.btn_list{
  display: flex;
  width: 540px;
  margin: 0 auto;
}
.vacu_btn{
  border-radius: 0;
}
.vacu_btn02{
  border-radius: 0;
  margin-left: 20px;
}

/* news */
#news{
  background-color: #FFF;
  width: 100%;
  padding: 100px 0 135px;
}
.news_wrap{
  background: url(../images/top_news_bg.jpg)no-repeat;
  background-size: cover;
  width: 1280px;
  height: 700px;
  margin: 0 auto;
}
.cont_news{
  background-color: rgba(0, 0, 0, 0.4);
  overflow: auto;
  width: 100%;
  height: 100%;
  position: relative;
}
.news_head{
  margin:0;
}
.news_btn{
  position: absolute;
  top:75px;
  right: 65px;
}
.news_btn .btn{
  width: 210px;
  margin:0 auto;
  border: 2px solid #FFF;
  background-color:#FFF;
}
.news_btn .btn a{
  width: 210px;
  color:#000;
}
.news_btn .btn:hover{
  background-color:#43910E;
}
.news_btn .btn:hover a{
  color:#fff;
}
#news h3{
  position: relative;
  margin: 80px 0 65px 65px;
  padding:0 0 0px;
  font-size: 36px;
  line-height: 1em;
  font-weight: 700;
  color: #FFF;
  font-family: "Noto Serif JP";
}
#news h3::before{
  content: "";
  width: 60px;
  height: 2px;
  position: absolute;
  bottom: 10px;
  left: 175px;
  background-color: #FFF;
}
#news h3::after{
  content: "Contact";
  position: absolute;
  bottom: 0px;
  left: 245px;
  font-size: 20px;
  line-height: 1em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
#news p{
  width: 730px;
  margin: 0px 0 0px 65px;
  font-size: 18px;
  line-height: 1.5em;
  color: #FFF;
  font-family: "Noto Serif JP";
  font-weight: 400;
}
#news ol{
  margin:120px auto 0;
  width: 1080px;
}
#news ol li{
  position: relative;
  border-bottom:1px solid #707070;
}
#news ol li:first-child{
  border-top:1px solid #707070;
}
#news ol li::after{
  position: absolute;
  top:21.5px;
  right:5px;
  content: "";
  background:url(../images/icon_arrow_b_news.png) no-repeat;
  background-size: cover;
  width: 6px;
  height: 7px;
}
#news ol li a{
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 5px 0 5px;
}
#news ol li a:hover{
  background-color: rgba(255, 255, 255, 0.5);
}
#news ol li time{
  margin: 0 0 0 10px;
  width:80px;
  height: 30px;
  line-height: 30px;
  color: #FFF;
}
#news ol li .category{
  margin:10px 30px;
  padding:0 10px;
  background-color:#43910E;
  color:#FFF;
  min-width: 100px;
  height:30px;
  line-height:30px;
  text-align: center;
  font-family: "Noto Serif JP";
  font-weight: 400;
}

/*スマホ*/
@media (max-width: 767px){
  .btn{
    position: relative;
    border: 2px solid #43910E;
    background-color:#43910E;
    width: 252px;
    height: 40px;
  }
  .btn a{
    display: block;
    color:#FFF;
    width: 252px;
    font-size:18px;
    font-weight: 400;
    line-height: 40px;
    font-family: "Noto Serif JP";
    font-weight: 400;
    text-align: center;
    text-decoration: none;
  }
  .btn:hover{
    background-color:#FFF;
  }
  .btn a:hover{
    color:#43910E;
  }
  .btn02{
    position: relative;
    border: 1px solid #FFF;
    background-color:#FFF;
    width: 252px;
    height: 40px;
  }
  .btn02 a{
    display: block;
    color:#262626;
    width: 252px;
    margin-top: -1px;
    font-size:18px;
    font-family: "Noto Serif JP";
    font-weight: 400;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
  }
  .btn02:hover{
    border: 1px solid #43910E;
    background-color:#43910E;
  }
  .btn02 a:hover{
    color: #FFF;
  }
  .none_br{
    display: block;
  }
  a[href^="tel:"] {
    pointer-events:auto;
  }
  /* keyview */
  #keyview{
    position: relative;
    width: 100%;
    height: 100svh;
  }
  #keyview{
    position: relative;
    width: 100%;
    height: 100svh;
    background-color: rgba(0, 0, 0, 0.4);
    overflow: hidden;
  }
  .key_img{
    width: 100%;
    height: 100svh;
    min-height: 100svh;
  }
  .slider{
    position: absolute;
    top: 0;
    left: -110%;
    width: 100%;
    height: 100svh;
    z-index: -10;
  }
  .slider img{
    width: 100%;
  }
  .catch_copy{
  }
  .catch_copy h2{
    position: absolute;
    top:50%;
    left:50%;
    z-index: 2;
    transform:translateX(-50%) translateY(-50%);
    -webkit- transform:translateY(-50%);
    background: url(../images/txt_top_catch.png) no-repeat;
    background-size: 109px 280px;
    width: 109px;
    height: 280px;
    text-indent: -9999px; /* テキストを画面外に追い出す */
    overflow: hidden;
  }
  .catch_copy p{
    position: absolute;
    top:86%;
    left:50%;
    z-index: 2;
    transform:translateX(-50%) translateY(-50%);
    -webkit- transform:translateY(-86%);
    background: url(../images/txt_top_catch02.png) no-repeat;
    background-size: 320px 46px;
    width: 320px;
    height: 46px;
    color:#FFF;
    text-indent: -9999px; /* テキストを画面外に追い出す */
    overflow: hidden;
  }
  /*top_about*/
  #top_about{
    width: 100%;
  }
  .about{
    width: calc(100% - 20px);
    margin: 50px auto 60px;
  }
  .about_head{
    width: 100%;
    margin-bottom: 20px;
  }
  .about_head h3{
    position: relative;
    width: 290px;
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
    line-height: 1em;
    color: #2B2B2B;
    font-family: "Noto Serif JP";
    font-weight: 700;
  }
  .about_head h3::before{
    content: "";
    width: 30px;
    height: 2px;
    position: absolute;
    bottom: -15px;
    left: auto;
    right: 80px;
    background-color: #707070;
  }
  .about_head h3::after{
    content: "About us";
    position: absolute;
    bottom: -20px;
    left: auto;
    right: 5px;
    font-size: 14px;
    line-height: 1em;
    color: #707070;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .about_cont{
    position: static;
    width: 100%;
    height: auto;
  }
  .about_img{
    position: static;
    top:auto;
    left: auto;
    width: 100%;
    margin-top: 40px;
  }
  .about_img img{
    width: 100%;
  }
  .about_txt{
    position: static;
    width: 100%;
    margin-top: 20px;
    top: auto;
    left: auto;
  }
  .about_txt p{
    font-size: 16px;
    line-height: 1.5em;
    color: #2b2b2b;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .about_txt ul{
    margin-top: 10px;
  }
  .about_txt ul li{
    font-size: 14px;
    line-height: 2em;
    color: #2b2b2b;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .about_txt ul li::before{
    content: '・';
  }
  .about_btn{
    margin: 35px auto 0;
  }
  /*list*/
  #top_list{
    width: 100%;
    height: auto;
    display: block;
  }
  .list01{
    background: url(../images/top_keyview01.jpg) no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    width: 100%;
    min-width: auto;
    background-color: #FFF;
  }
  .link-block{
    background-color: rgba(0, 0, 0, 0.55);
    position: relative;
    text-decoration: none;
    display: block;
    width: 100%;
    padding: 20px 0 20px;
    height: auto;
    overflow: hidden;
  }
  .link-block:hover{
    background-color: rgba(0, 0, 0, 0.8); /* ホバー時に黒の半透明を表示 */
    width: 100%;
  }
  .link-block:hover::after{
    display: none;
    content: "→";
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #C1F89A;
    font-size: 20px;
    line-height: 38px;
    font-family: "Noto Serif JP";
    font-weight: 400;
    white-space: nowrap;
  }
  .list_cont h4{
    margin-top: 0;
    font-size: 22px;
    text-align: center;
    line-height: 1em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 700;
  }
  .list_img{
    display: none
  }
  .list_cont p{
    width: calc(100% - 10px);
    margin: 100px auto 0;
    font-size: 16px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .list_cont p span{
    display: inline;
    margin-top: 0px;
    font-size: 16px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .list_cont br{
    display: none;
  }
  .list02{
    background: url(../images/plumb_key_img.jpg) no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    width: 100%;
    min-width: 0;
  }
  .link-block02{
    background-color: rgba(0, 0, 0, 0.55);
    position: relative;
    text-decoration: none;
    display: block;
    width: 100%;
    height: auto;
    padding: 20px 0 20px;
    overflow: hidden;
  }
  .link-block02:hover{
    background-color: rgba(0, 0, 0, 0.8); /* ホバー時に黒の半透明を表示 */
    width: 100%;
  }
  .link-block02:hover::after{
    display: none;
    content: "→";
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #C1F89A;
    font-size: 20px;
    line-height: 38px;
    font-family: "Noto Serif JP";
    font-weight: 400;
    white-space: nowrap;
  }
  .list_cont02 h4{
    margin-top: 0px;
    font-size: 22px;
    text-align: center;
    line-height: 1em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 700;
  }
  .list_cont02 p{
    width: calc(100% - 10px);
    margin: 100px auto 0;
    font-size: 16px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .list_cont02 p span{
    display: inline;
    margin-top: 0px;
    font-size: 16px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .list_cont02 br{
    display: none;
  }
  .list03{
    background: url(../images/sten_key_img.jpg) no-repeat;
    background-size: cover;
    background-position: 40% 50%;
    width: 100%;
    min-width: 0;
  }
  .link-block03{
    background-color: rgba(0, 0, 0, 0.55);
    position: relative;
    text-decoration: none;
    display: block;
    width: 100%;
    height: auto;
    padding: 20px 0 20px;
    overflow: hidden;
  }
  .link-block03:hover{
    background-color: rgba(0, 0, 0, 0.8); /* ホバー時に黒の半透明を表示 */
    width: 100%;
  }
  .link-block03:hover::after{
    display: none;
    content: "→";
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #C1F89A;
    font-size: 20px;
    line-height: 38px;
    font-family: "Noto Serif JP";
    font-weight: 400;
    white-space: nowrap;
  }
  .list_cont03 br{
    display: none;
  }
  /*top_about*/
  #top_service{
    width: 100%;
  }
  .service{
    position: relative;
    width: calc(100% - 10px);
    height: auto;
    margin: 60px auto 60px;
  }
  .service_head{
    position: static;
    top: auto;
    left: auto;
    width: 100%;
  }
  .service_head h3{
    position: relative;
    width: 360px;
    margin: 0 auto;
    font-size: 24px;
    line-height: 1em;
    color: #2B2B2B;
    text-align: center;
    font-family: "Noto Serif JP";
    font-weight: 700;
  }
  .service_head h3::before{
    content: "";
    width: 60px;
    height: 2px;
    position: absolute;
    bottom: -20px;
    left: auto;
    right: 115px;
    background-color: #707070;
  }
  .service_head h3::after{
    content: "Our services";
    position: absolute;
    bottom: -25px;
    left: auto;
    right: 15px;
    font-size: 14px;
    line-height: 1em;
    color: #707070;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .service_cont{
    width: 100%;
    height: auto;
  }
  .service_img{
    position: static;
    top:auto;
    right: auto;
    width: 100%;
    margin-top: 45px;
  }
  .service_img img{
    width: 100%;
  }
  .service_txt{
    position: static;
    top:auto;
    left: auto;
    width: 100%;
    margin-top: 20px;
  }
  .service_txt p{
    text-align: center;
    font-size: 16px;
    line-height: 1.5em;
    color: #2b2b2b;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .service_btn{
    margin: 35px auto 0;
  }
  /* top_vacu */
  #top_vacu{
    position: static;
    width: 100%;
    height: auto;
  }
  .vacu_wrap{
    position: static;
    top: auto;
    left: auto;
    z-index: auto;
    width: 100%;
    height: auto;
    background-color: rgba(0, 0, 0, 0.8);
  }
  .vacu_mov{
    position: static;
    top: auto;
    left: auto;
    object-fit: cover;
    z-index: 0;
    width: 100%;
    height: auto;
  }
  .vacu_mov video{
    width: 100%;
    min-width: 0;
  }
  .vacu_cont{
    width: calc(100% - 10px);
    margin: 0px auto 0;
    padding: 20px 0 20px;
  }
  .vacu_cont h3{
    text-align: center;
    font-size: 24px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 700;
  }
  .vacu_cont p{
    width: 100%;
    margin: 30px auto 30px;
    font-size: 16px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  .btn_list{
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .vacu_btn{
    margin: 0 auto;
    border-radius: 0;
  }
  .vacu_btn02{
    margin: 10px auto 0;
    border-radius: 0;
  }
  /* news */
  #news{
    background-color: #FFF;
    width: 100%;
    margin-top: -6px;
    padding: 0px 0 0px;
  }
  .news_wrap{
    background: url(../images/top_news_bg.jpg)no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding-bottom: 60px;
  }
  .cont_news{
    background-color: rgba(0, 0, 0, 0.4);
    overflow: auto;
    width: 100%;
    height: auto;
    position: static;
  }
  .news_head{
    margin:0;
  }
  .news_btn{
    position: static;
    top:auto;
    right: auto;
    margin-top: 30px;
  }
  .news_btn .btn{
    width: 252px;
    margin:0 auto;
    border: 2px solid #FFF;
    background-color:#FFF;
  }
  .news_btn .btn a{
    width: 252px;
    color:#000;
  }
  .news_btn .btn:hover{
    background-color:#43910E;
  }
  .news_btn .btn:hover a{
    color:#FFF;
  }
  #news h3{
    position: relative;
    margin: 0 0 40px 0;
    padding:60px 0 0 10px;
    font-size: 24px;
    line-height: 1em;
    font-weight: 700;
    color: #FFF;
    font-family: "Noto Serif JP";
  }
  #news h3::before{
    content: "";
    width: 60px;
    height: 2px;
    position: absolute;
    bottom: 5px;
    left: 120px;
    background-color: #FFF;
  }
  #news h3::after{
    content: "Contact";
    position: absolute;
    bottom: 0px;
    left: 190px;
    font-size: 14px;
    line-height: 1em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  #news p{
    width: calc(100% - 10px);
    margin: 0px auto 0px;
    font-size: 15px;
    line-height: 1.5em;
    color: #FFF;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }
  #news ol{
    margin:20px 10px 0;
    width:calc(100% - 20px);
  }
  #news ol li{
    position: relative;
    padding:10px 0;
    border-bottom:1px solid #707070;
    height: auto;
  }
  #news ol li:first-child{
    border-top:1px solid #707070;
  }
  #news ol li::after{
    position:static;
    top:21.5px;
    right:0;
    content: "";
    background:none;
    background-size: cover;
    width: auto;
    height: auto;
  }
  #news ol li a{
    display: block;
    align-items: center;
    text-decoration: none;
  }
  #news ol li a:hover{
    background-color: rgba(255, 255, 255, 0.5);
  }
  #news ol li time{
    margin:0;
    width:80px;
    height: 30px;
    line-height: 30px;
  }
  #news ol li .category{
    display: inline-block;
    margin: 0 10px 5px;
    padding:0 10px;
    background-color:#43910E;
    color:#fff;
    min-width: 100px;
    height:30px;
    line-height:30px;
    text-align: center;
    font-family: "Noto Serif JP";
    font-weight: 400;
  }




}

@media (max-width: 767px) and (orientation:landscape){
  /* keyview */
  #keyview{
    position: relative;
    width: 100%;
    height: 100svh;
  }
  #keyview{
    position: relative;
    width: 100%;
    height: 100svh;
    background-color: rgba(0, 0, 0, 0.4);
    overflow: hidden;
  }
  .key_img{
    width: 100%;
    height: 100svh;
    min-height: 100svh;
  }
  .slider{
    position: absolute;
    top: -50%;
    left: -40%;
    width: 100%;
    height: 100svh;
    z-index: -10;
  }
  .slider img{
    width: 100%;
  }
  .catch_copy{
  }
  .catch_copy h2{
    position: absolute;
    top:50%;
    left:50%;
    z-index: 2;
    transform:translateX(-50%) translateY(-50%);
    -webkit- transform:translateY(-50%);
    background: url(../images/txt_top_catch.png) no-repeat;
    background-size: 80px 205px;
    width: 80px;
    height: 205px;
    text-indent: -9999px; /* テキストを画面外に追い出す */
    overflow: hidden;
  }
  .catch_copy p{
    position: absolute;
    top:89%;
    left:50%;
    z-index: 2;
    transform:translateX(-50%) translateY(-50%);
    -webkit- transform:translateY(-86%);
    background: url(../images/txt_top_catch02.png) no-repeat;
    background-size: 280px 40px;
    width: 280px;
    height: 40px;
    color:#FFF;
    text-indent: -9999px; /* テキストを画面外に追い出す */
    overflow: hidden;
  }
  .image {
    position: absolute;
    width: 100%;
    height: 100svh;
    top: 50%;
  }
  .mask-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top:50%;
  }
}
