@charset "utf-8";
/*
Theme Name: 
Theme URI: テーマのホームサイトのURL
Description: テーマの説明
Author: 作者の名前
Author URI: 作者のサイトのURL
Version: バージョン
*/

/*ーーー
 全体
ーーー*/
html {
  font-size: 62.5%;
}
@media (min-width: 751px) {
  a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  }
}
@font-face {
  font-family: "DIN Condensed";
  src: url("font/DIN Condensed.woff") format("woff");
}
body{
  min-width: 100rem;
  word-break: break-all;
  font-family: 'Noto Sans JP','メイリオ',sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #262626;
  line-height: 1.6;
}
img{
  max-width: 100%;
  height: auto;
}
.container{
  max-width: 130rem;
  margin: 0 auto;
  -webkit-margin: 0 auto;
  padding-left: 5rem;
  padding-right: 5rem;
  -webkit-padding-left: 5rem;
  -webkit-padding-right: 5rem;
}
.l-section{
  margin:0 0 16rem;
}
.sp{
  display: none;
}
.ttl{
  font-size: 7.2rem;
  text-align: center;
  letter-spacing: 0.05em;
  font-family: "DIN Condensed",'メイリオ',sans-serif;
  line-height: 0.623;
  padding-bottom: 2rem;
}
.subTtl{
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  color: #95c439;
  letter-spacing: 0.05em;
  line-height: 1.75;
  padding-bottom: 2rem;
}
.largeTxt{
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
}
.txt{
  text-align: justify;
  margin-bottom: 3rem;
  font-feature-settings: "palt";
  letter-spacing: 0.1rem;
}
.fade{
  transform: translateY(3rem);
  opacity: 0;
  transition: all 1.5s;
}
.fade.visible{
  opacity: 1;
  transform: translateY(0);
}
.scrollBar{
  position: absolute;
  left: -5%;
  line-height: 1;
  top: 50%;
}
.scrollImg{
  height: 7.6rem;
  animation: scrollAnime 1.5s linear infinite;
}
.scrollBar span{
  writing-mode: vertical-lr;
}
@keyframes scrollAnime {
	0% {
		transform:translateY(-4rem);
    opacity: 0.3;
	}
  40%{
    opacity: 1;
  }
	100% {
		transform: translateY(4rem);
	}
}
@-webkit-keyframes scrollAnime {
	0% {
		transform:translate(-1.5rem,1rem);
    opacity: 0.3;
	}
  40%{
    opacity: 1;
  }
	100% {
		transform: translate(-1.5rem,9rem);
	}
}
.moreBtn a{
  display: block;
  width: 30rem;
  height: 6.5rem;
  margin: 5rem auto;
  background-image: url(img/btn.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.8s;
}
.moreBtn a:hover{
  background-image: url(img/btnHover.jpg);
  transition: 0.8s;
}
/*ーーーー
 header
ーーーー*/
#header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100vw;
}
.headerWrap{
  display: flex;
  background-color: #95c439;
}
h1{
  width:27.5rem;
}
.headLogo{
  padding: 2.8rem 3.5rem;
}
.headerInner{
  width: 70%;
}
.headerNav{
  display: flex;
  justify-content: flex-end;
}
.headerNav li{
  position: relative;
  border-right: rgba(33,33,33,0.2) 0.1rem solid;
  padding: 3.7rem 0;
  width: 22rem;
}
.headerNav li a{
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.headerNav li:last-of-type{
  background-color: #262626;
  color: #fff;
}
.headerNav li p{
  padding-left: 1rem;
}
.arrowImg{
  width: 1rem;
  height:2rem;
}
.mailImg{
  width: 3rem;
  height:2rem;
}
.headerNav li::after{
  content:'';
  display: block;
  position:absolute;
  transform:scaleX(0);
  width: 100%;
  height:0.32rem;
  bottom:0;
  left:0;
  background-color:#95c439;
  transform-origin:bottom right;
  transition:transform .4s cubic-bezier(.86,0,.07,1)
}
.headerNav li:hover::after{
  transform:scaleX(1);
  transform-origin:bottom left;
}
.hamburger{
  display: none;
  position: absolute;
  width: 2.8rem;
  height: 2.8rem;
  right: 15%;
  top: 3%;
  z-index: 1000;
  cursor: pointer;
}
.hamburger.active span{
  background-color: #fff;
}
.hamburger span {
  position: absolute;
  height: 0.36rem;
  width: 4.8rem;
  border-radius: 999rem;
  transition: .3s;
  z-index: 99;
  background-color: #fff;
}
.hamburger span:nth-of-type(1) {
  top: 0.4rem;
}
.hamburger span:nth-of-type(2) {
  top: 1.6rem;
}
.hamburger span:nth-of-type(3) {
  top: 2.8rem;
}
.hamburger.active span:nth-of-type(1) {
  top: 1rem;
  transform: rotate(30deg);
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  top: 1rem;
  transform: rotate(-30deg);
}

/*ーーーーー
  fullview
ーーーーーー*/
.topFade{
  width: 100vw;
  position: relative;
  margin-bottom: 13rem;
}
.topFade-slick{
  margin-inline: auto;
  overflow: hidden; /* 画像がはみ出ないようにする */
}
.tfSlick{
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1); /* 縮小率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
/*ーーーー
  about
ーーーーー*/
.topAbout .ttl,
.topAbout .subTtl,
.topAbout .txt{
  text-align: left;
  padding-bottom: 0;
}
.aboutBackground{
  position: relative;
  z-index: -1;
  max-width: 120rem;
  margin-top: -17rem;
}
.aboutVerticalTxt{
  position: absolute;
  font-size: 12rem;
  color: rgba(154,205,50,0.3);
  font-family: "DIN Condensed",'メイリオ',sans-serif;
  writing-mode: vertical-lr;
  height: 102.7rem;
  top: -20%;
  right: -7%;
}
/*ーーーーーー
  category
ーーーーーーー*/
#category{
  padding-top: 5rem;
}
.categoryWrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: flex-end;
}
.categoryContent{
  width: calc(80%/2);
}
.categoryContentUnder{
  width: calc(99%/3);
}
.categoryName{
  display: flex;
  justify-content: center;
  align-items: center;
}
.categoryName .largeTxt{
  padding-left: 1rem;
  position: relative;
}
.topCategoryImg{
  display: flex;
  justify-content: center;
  padding-bottom: 1.6rem;
}
.categoryContentUnder:nth-of-type(3) img,
.categoryContentUnder:nth-of-type(4) img{
  max-width: 90%;
}
.categoryContentUnder:nth-of-type(5) img{
  max-width: 80%;
}
.categoryName .largeTxt::after{
  content:'';
  display: block;
  position:absolute;
  transform:scaleX(0);
  width: 100%;
  height:0.24rem;
  bottom:-20%;
  left:0;
  background-color:#95c439;
  transform-origin:bottom right;
  transition:transform .4s cubic-bezier(.86,0,.07,1)
}
.categoryContent:hover .categoryName .largeTxt::after,
.categoryContentUnder:hover .categoryName .largeTxt::after{
  transform:scaleX(1);
  transform-origin:bottom left;
}

/*ーーーーーー
  infomation
ーーーーーーー*/
.topInfo{
  background-image: url(img/topInfo.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 12rem 0 7rem;
  position: relative;
}
.topInfo .scrollBar{
  left: 5%;
}
.infoList{
  padding-bottom: 0.5rem;
  border-bottom: solid 0.07rem #95c439;
  margin: 1rem auto 0;
  max-width: 80rem;
  transition: 0.8s;
}
.infoList:hover{
  background-color: rgba(154,205,50,0.3);
  transition: 0.8s;
}
.infoList a{
  display: flex;
}
.infoList_cat,
.infoList_date,
.infoList_ttl{
  margin-left: 1em;
}
.topInfo_listWrapper{
  height: 30rem;
  overflow: scroll;
}
/*ーーーーー
  machine
ーーーーーー*/
.topMachine .txt{
  text-align: center;
}
.topMachine_slick{
  margin-bottom: 12.5rem;
}
.machineBtn{
  transition: 0.8s;
}
.machineBtn:hover{
  transition: 0.8s;
  background-color: rgba(154,205,50,0.3);
}
.machineBtn figure img{
  padding: 1.5rem;
}
.machineBtn figcaption{
  text-align: center;
  padding-bottom: 1.5rem;
}
.slick-prev{
  background-image: url(img/right.svg);
}
.slick-prev:hover{
  translate: -1rem;
  transition: 0.8s;
}
.slick-next{
  background-image: url(img/left.svg);
  right: -3%;
}
.slick-next:hover{
  translate: 1rem;
  transition: 0.8s;
}
.slick-next,
.slick-prev{
  background-repeat: no-repeat;
  background-size: cover;
  width: 3.5rem;
  height: 6.5rem;
  transition: 0.8s;
}
/*ーーーーー
  service
ーーーーーー*/
.topServiceWrap{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.topServiceImg{
  width: 50%;
}
.topServiceTextArea{
  width: 45%;
}
.topServiceTextArea .ttl,
.topServiceTextArea .subTtl{
  text-align: left;
}
.topServiceTextArea .subTtl{
  padding: 0;
}
/*ーーーーー
  contact
ーーーーーー*/
.topContact{
  background-image: url(img/footerContact.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100vw;
  margin-bottom: 0;
}
.topContact .ttlWrapper{
  padding-top: 9rem;
}
.topContact .ttl,
.topContact .subTtl,
.topContact .txt,
.contactLink .largeTxt{
  text-align: left;
}
.topContact .subTtl,
.contactLink .largeTxt{
  color: #fff;
}
.topContact .txt{
  max-width: 92rem;
  border-bottom: #262626 solid 0.1rem;
  padding-bottom: 3rem;
}
.contactLink{
  display: flex;
  flex-wrap: nowrap;
  max-width: 95rem;
}
.mail{
  margin-left: 10rem;
}
.telLink,
.mailLink{
  position: relative;
  font-size: 7.2rem;
  line-height: 0.623;
  font-family: "DIN Condensed",'メイリオ',sans-serif;
  display: flex;
  align-items: baseline;
  padding: 3rem 0;
}
.mailLink{
  align-items: center;
  padding: 2rem 2rem 2rem 0;
}
.contactLine{
  width: 0.1rem;
  height: 4.8rem;
  background-color: #262626;
  margin: 0 2rem;
}
.telLink img{
  width: 4.8rem;
  height: 4.8rem;
}
.mailLink img{
  width: 4.8rem;
}
.mailLinkBtn a{
  display: block;
  width: 30rem;
  height: 6.5rem;
  background-image: url(img/contactBtn.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.8s;
}
.mailLinkBtn a:hover{
  background-image: url(img/contactBtnHover.jpg);
  transition: 0.8s;
}

/*ーーーーー
 backbutton
ーーーーーー*/
.backToTop{
  display: flex;
  width: 7rem;
  height: 7rem;
  border: 0.2rem solid #fff;
  border-radius: 3.5rem;
  position: fixed;
  bottom: 7rem;
  right: 10rem;
  z-index: 9;
  transition: none;
  background-color: #95c439;
  flex-wrap: wrap;
  justify-content: center;
}
.backToTop i {
  color: #fff;
  width: 100%;
  text-align: center;
  line-height: 7rem;
  font-size: 2rem;
}
.backToTop.fixed{
  position: relative;
  margin-bottom: -4rem;
  margin-left: auto;
  margin-top: -3rem;
}
/*ーーーーー
  footer
ーーーーーー*/
.footer{
  background-image: url(img/footer.jpg);
  background-repeat: no-repeat;
  background-position: left;
  background-size: cover;
  color: #fff;
  width: 100vw;
  position: relative;
  left: 0;
  padding-bottom: 5rem;
  margin-top: -0.1rem;
}
.footWrap{
  display: flex;
  justify-content: space-between;
  padding-top: 1.5rem;
}
.footerLeft{
  width: 35%;
  padding-top: 10rem;
  margin-right: 6.7rem;
}
.footerLogo{
  width: 20rem;
  padding-bottom: 2rem;
}
.footerRight{
  width: 65%;
  border-left: 0.1rem solid #fff;
  margin-top: 8rem;
  padding-left: 6rem;
  position: relative;
}
.footerNabiList ul{
  display: flex;
  flex-wrap: wrap;
}
.footerNabiList li{
  line-height: 2.2;
  font-size: 2.4rem;
  font-weight: 700;
  width: calc(99%/3);
}
.footerNabiList li a{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.footerNabiList .arrowImg{
  margin-right: 1rem;
}
.footerCategoryList{
  padding-left: 2rem;
  width: 45%;
}
.footerCategoryList li{
  font-size: 1.6rem;
  font-weight: 400;
  width: calc(100%/2);
}
.copyright{
  position: absolute;
  left: 55%;
  bottom: 20%;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
}
/*ーーーーーーーーー
下層ページ-共通項目
ーーーーーーーーーー*/
.pageTopview{
  position: relative;
}
.pageTtlWrapper .ttl,
.pageTtlWrapper .subTtl{
  color: #fff;
  position: absolute;
}
.pageTtlWrapper .ttl{
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-shadow: 0 0 1rem rgba(38, 38, 38, 1);
}
.pageTtlWrapper .subTtl{
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-shadow: 0 0 1rem rgba(38, 38, 38, 1);
}
/*ーーーーーーーーー
下層ページ-company
ーーーーーーーーーー*/
.greetingWrap{
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}
.greetingTextArea .largeTxt{
  font-size: 3.6rem;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: left;
  padding-bottom: 3rem;
}
.greetingImg{
  width: 45%;
}
.greetingTextArea{
  width: 50%;
}
.underLine{
  position: relative;
}
.underLine::before{
  content: '';
  position: absolute;
  background-color: #fff034;
  width: 31rem;
  height: 1.8rem;
  z-index: -1;
  bottom: -10%;
}
.ceo{
  text-align: right;
}
.company{
  margin-top: 20rem;
}
.companyInfo{
  max-width: 90rem;
  margin: 3rem auto;
  display: flex;
  flex-wrap: wrap;
  border: #262626 solid 0.1rem;
}
.companyInfo dt{
  width: 25%;
  background-color: #262626;
  color: #fff;
  padding: 3rem;
  border-bottom: #fff solid 0.1rem;
}
.companyInfo dt:last-of-type,
.companyInfo dd:last-of-type{
  border-bottom:none;
}
.companyInfo dd{
  width: 75%;
  padding: 3rem 0 3rem 3rem;
  border-bottom: #262626 solid 0.1rem;
}
iframe{
  display: block;
  margin: 10rem auto 0;
}
/*ーーーーーーーーー
下層ページ-service
ーーーーーーーーーー*/
.service{
  margin-top: -8rem;
}
.serviceTxt{
  max-width: 84rem;
  margin: 0 auto 8rem;
}
.serviceList{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.serviceImg{
  width: calc(95%/3);
  margin-right: 3rem;
}
.serviceImg:nth-of-type(3n){
  margin-right:0;
}
.serviceImg .txt{
  padding-top: 2rem;
  text-align: center;
}
/*ーーーーーーーーー
下層ページ-info
ーーーーーーーーーー*/
.information,
.singleNews{
  margin: 16rem auto;
}
.infoContentWrap{
  max-width: 98rem;
  margin:10rem auto;
}
.singleHead{
  width: 20rem;
  border-bottom: dashed 0.1rem #95c439;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.singleContent{
  margin:2rem auto;
  padding-left: 3rem;
}
.backBtn{
  width: 23rem;
  height: 4.8rem;
  margin: 5rem auto;
  background: #95c439;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: ease 0.8s;
}
.backBtn:hover{
  color: #95c439;
  background: #fff;
  border: 0.2rem solid #95c439;
  transition: ease 0.8s;
}

/*ーーーーーーーーー
下層ページ-machine
ーーーーーーーーーー*/
.machineList .txt{
  text-align: center;
  margin: -8rem 0 8rem;
}
.categoryBtn{
  width: calc(90%/3);
}
.categoryImg figcaption{
  text-align: center;
  padding: 2rem 0;
}
.categoryWrapper{
  position: relative;
  padding-top: 5rem;
}
.singleMachines{
  display: flex;
  justify-content: space-between;
  margin: 3rem auto 10rem;
}
.machines_mainImg{
  width: 57.5%;
}
.machines_mainImg img{
  border: #95c439 solid 0.1rem;
  padding: 1rem;
}
.machines_imgList{
  width: 41.5%;
  border: #95c439 solid 0.1rem;
  padding: 1rem 0 1rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
}
.machines_singleImgList {
  width: 40%;
  padding: 2rem;
  box-sizing: border-box;
  position: relative;
}
.machines_imgList_inner .slick-track {
  transform: translate3d(0,0,0) !important;
  width: 100% !important;
}
.machines_imgList_inner li {
  margin-bottom: 1rem;
  margin-right: 1rem;
  width: calc(96%/2) !important;
}
.machines_imgList_inner li:nth-child(even){
  margin-right: 0;
}
.machinesTtl,
.machines_imgList p {
  text-align: center;
  margin-top: 3rem;
}
.machineDetailBlock tr{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  border: 0.1rem solid #95c439;
  width: 98%;
}
.machineDetailBlock th{
  width: 28%;
  border-bottom: 0.1rem solid #95c439;
  border-right: 0.1rem solid #95c439;
  padding: 0.5rem;
}
.machineDetailBlock td{
  width: 22%;
  border-bottom: 0.1rem solid #95c439;
  border-right: 0.1rem solid #95c439;
  padding: 0.5rem;
}
.machineDetailBlock td:nth-of-type(even){
  border-right:none;
}
.machineDetailBlock th:last-of-type{
  border-bottom: none;
}
.machineDetailBlock td:last-of-type{
  border-bottom: none;
  border-right:none;
}
.machine .mailLinkBtn a{
  margin: 0 auto;
  background-image: url(img/contactBtnGR.jpg);
}
.machine .mailLinkBtn a:hover{
  background-image: url(img/contactBtnHover.jpg);
  transition: 0.8s;
}
/*ーーーーーーーーー
下層ページ-omt
ーーーーーーーーーー*/
.omt .txt{
  max-width: 80rem;
  margin: 0 auto;
}
.omtLogin{
  padding-bottom: 8rem;
  border-bottom: #191919 solid 0.1rem;
}
.omtImg{
  max-width: 80rem;
  margin: 0 auto;
  margin-bottom: 8rem;
}
.mtgLink{
  background-color: #95c439;
  color: #fff;
  width: 40rem;
  height: 5.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 4rem auto;
}
.omtDL{
  margin-top: 8rem;
}
.omtDL .subTtl{
  color: #191919;
}
.zoomWrap{
  max-width: 96rem;
  margin: 4rem auto 12rem;
  display: flex;
  justify-content: space-between;
}
.zoomImg{
  margin-right: 4.8rem;
}
.zoomDL{
  margin-top: 8rem;
}
.zoomDL .mtgLink{
  margin-top: 0;
}
/*ーーーーーーーーー
下層ページ-contact
ーーーーーーーーーー*/
.Required{
  color: #dc000c;
}
input,
textarea{
  border: #595757 0.06rem solid;
  padding: 1rem;
  background-color: #fff;
  width: 100%;
}
textarea{
  width: 100%;
}
.contactForm{
  max-width: 90rem;
  margin: 8rem auto;
}
.contactTxt{
  padding-left: 3rem;
  margin: 2rem auto;
}
.contactForm dl{
  display: flex;
  flex-wrap: wrap;
  margin: 3rem auto;
  align-items: center;
  justify-content: center;
  border: #191919 0.1rem solid;
  background-color: #f9f9f9;
}
.contactForm dt{
  width: 30%;
  padding:3rem;
  background-color: #ddd;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  border-bottom: #fff solid 0.1rem;
}
.contactForm dt:last-of-type{
  border-bottom: none;
  padding: 10rem 3rem;
}
.contactForm dd:last-of-type{
  border-bottom: none;
}
.contactForm dd{
  width: 70%;
  padding: 2.45rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  box-sizing: border-box;
  border-bottom: #fff solid 0.1rem;
  align-items: center;
}
.contactForm dd:nth-of-type(5){
  padding: 3rem;
}
.contactForm dd:nth-of-type(5) span{
  width: 30%;
}
.contactForm dd:nth-of-type(5) label>input{
  width: 10%;
}
.privacyHead{
  text-align: center;
  margin-top: 10rem;
}
.privacyTxt{
  background-color: #f9f9f9;
  height: 30rem;
  overflow: scroll;
  border: #191919 solid 0.1rem;
  margin: 1rem auto;
  padding: 1rem;
}
.privacyAgree_wrapper{
  text-align: center;
  margin-top: 5rem;
}
.mwform-checkbox-field input{
  width: 5%;
}
.submit-btn{
  width: 23rem;
  height: 4.8rem;
  margin: 5rem auto;
  background: #262626;
  color: #fff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: ease 0.8s;
}
.submit-btn:hover{
  background: #fff;
  border: 0.2rem solid #95c439;
  transition: ease 0.8s;
}
[type="submit"] {
  cursor: pointer;
  border: transparent;
  background-color: transparent;
  color: #fff;
}
.submit-btn:hover [type="submit"]{
  color: #95c439;
}
.mw_wp_form_confirm{
  padding-bottom: 8rem;
}
.mw_wp_form_confirm .privacyHead,
.mw_wp_form_confirm .privacyTxt,
.mw_wp_form_confirm .privacyAgree,
.mw_wp_form_confirm .contactTxt{
  display: none;
}
.mw_wp_form_confirm .contact dl dt{
  width: 30%;
}
.mw_wp_form_confirm .contact dl dd{
  width: 70%;
}
.mw_wp_form_complete{
  padding-bottom: 8rem;
  text-align: center;
}
.mw_wp_form_complete h3{
  font-size: 2rem;
  padding-bottom: 2rem;
}
.contact.decoration::after{
  top: auto;
  bottom: -30rem;
}


