@charset "UTF-8";
*,
*::before,
*::after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

body {
  font-size: 16px;
  margin: 0;
	color: #121212;
  font-family: 'Noto Sans JP', sans-serif;}

p{line-height: 2; letter-spacing: 0.05em;}

a {
	color: #121212;
	display: block;
  text-decoration: none; }

li {
  list-style: none; }

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 110px 0; }

img {
  width: 100%;
  height: auto; }

.hidden{overflow: hidden; position: relative;}

/*ヘッダー*/
header {
  position: fixed;
  top: 0;
  height: 70px;
  width: 100%;
  z-index: 100; }
  header .header_inner {
    display: flex;
    justify-content: space-between;
	  height: 70px;
	  align-items: center;
    flex-wrap: nowrap; }
    header .header_inner #logo {
      margin: auto 0; 
		margin-left: 5%;}
      header .header_inner #logo a {
        display: block; }
        header .header_inner #logo a img {
          width: 250px; }
      header .header_inner #pc_navi nav ul.pc_nav_li {
        display: flex;;
        flex-wrap: nowrap;
        padding: 0;
        margin: 0;
        align-items: center; }
header .header_inner #pc_navi nav ul.pc_nav_li li{
	padding: 0 20px;
}
header .header_inner #pc_navi nav ul.pc_nav_li li:nth-child(1){padding-right: 50px;}
        header .header_inner #pc_navi nav ul.pc_nav_li li a {
          display: block;
          position: relative; }
header .header_inner .cta_btn a{padding: 15px 0; width: 220px; background: #FE9734; font-weight: bold; text-align: center; border-radius: 50px; color: #fff!important;}
header .header_inner li.tell a p{font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 30px; line-height: 1.5; padding-left: 30px; position: relative;}
header .header_inner li.tell a p::before{position: absolute; content: ""; background: url("./img/tell_icon.png") no-repeat center; background-size: cover; width: 25px; height: 25px; top: 12px; left: 0px;}
header .header_inner li.tell a p span{display: block; font-size: 10px; font-weight: normal;}
header .header_inner #pc_navi nav ul.pc_nav_li li.cta_btn a{display: flex; justify-content: center; align-items: center;}
header .header_inner li.cta_btn a .tel_icon{background: url("./img/mail.png") no-repeat center; background-size: cover; width: 25px; height: 25px; margin-right: 10px;}


      header .header_inner .head_btn a {
        display: block;
        color: #fff;
		  padding-top: 15px;
        height: 80px; }
        header .header_inner .head_btn a img {
          width: 30px;
          height: auto; }
        header .header_inner .head_btn a p {
          font-size: 12px;
			color: #fff;
          margin-top: 0; }

header .header_inner #pc_navi nav ul.pc_nav_li li a.circle::after{position: absolute; content: ""; width: 30px; height: 30px; background: #FE9734; border-radius: 50%; top: -3px; left: -40px;}
header .header_inner #pc_navi nav ul.pc_nav_li li a.circle::before{position: absolute; content: ""; width: 0; height: 0; border-left: 10px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent; top: 50%; left: -28px; z-index: 1; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); border-radius: 2px;} 

/*ファーストビュー*/
#kv{
	height: 155vh;
	width: 100%;
	position: relative;
	overflow: hidden;
}
#kv::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  content: "";
  background: -moz-linear-gradient(top,rgba(239,250,221,1),rgba(109,164,211,0));
  background: -webkit-linear-gradient(top,rgba(239,250,221,1),rgba(109,164,211,0));
  background: linear-gradient(to bottom,rgba(239,250,221,1),rgba(109,164,211,0));
}
#kv .text-box {
  position: absolute;
  top: 35%;
  left: 50%;
  width: 100%;
	max-width: 1100px;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
	margin: 0 auto;
}
#kv .title {
  font-size: 48px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #121212;
	margin: 0 auto;
}
#kv .title span{display: block; width: 300px; height: auto; margin: 0 auto;}
#kv .title strong{display: block;}
#kv .title b{
    background: #71A324;
    color: #fff;
    font-size: 20px;
    display: inline-block;
    padding: 5px 60px;
    border-radius: 20px;
}
#kv .kv_img{position: absolute;}
#kv .kv_left_top{width: 23%; top: 15%; left: 3%; z-index: 1;}
#kv .kv_left_top::after{position: absolute; content: ""; background: transparent; width: 135px; height: 135px; border-radius: 50%; top: -60px; right: -80px; opacity: 0.1; z-index: -1; border: 10px solid #71A324;}
#kv .kv_left_bottom{width: 40%; bottom: 16%; left: 10%; z-index: 1;}
#kv .kv_left_bottom::after{position: absolute; content: ""; background: #71A324; width: 213px; height: 213px; border-radius: 50%; top: -100px; left: -80px; opacity: 0.1; z-index: -1;}
#kv .kv_right_top{width: 25%; top: 10%; right: 3%; z-index: 1;}
#kv .kv_right_top::after{position: absolute; content: ""; background: #71A324; width: 240px; height: 240px; border-radius: 50%; bottom: -100px; right: -40px; opacity: 0.1; z-index: -1;}
#kv .kv_right_bottom{width: 30%; bottom: 30%; right: -5%; z-index: 1;}
#kv .kv_right_bottom::after{position: absolute; content: ""; background: transparent; width: 135px; height: 135px; border-radius: 50%; bottom: 60px; left: -100px; opacity: 0.1; z-index: -1; border: 10px solid #71A324;}


/*about*/
#about{
	position: relative;
	padding: 110px 0 80px;
}
#about .wrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#about .wrap .img_area{width: 25%;}
#about .wrap .img_area img{height: 100%; object-fit: cover; border-radius: 0 10px 60px 0;}
#about .wrap .img_area.right_img img{border-radius: 60px 0 0 10px;}
#about .wrap .img_area.right_img{position: relative;}
#about .wrap .img_area.right_img::after{position: absolute; content: ""; background: #71A324; width: 213px; height: 213px; border-radius: 50%; top: -100px; left: -80px; opacity: 0.1; z-index: -1;}
#about .wrap .about_txt{width: 40%; text-align: center; padding: 100px 0;}
#about .wrap .about_txt h2{color: #71A324; font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em;}
#about .wrap .about_txt h2 span{color: #141414; font-size: 14px; display: block; letter-spacing: normal;}
#about .wrap .about_txt p{line-height: 2.5; padding: 40px 0;}

.more_btn{background: #fff; border: 1px solid #DDDDDD; border-radius: 80px; width: 280px; text-align: center; position: relative; padding: 15px 0; margin: 0 auto;}
.more_btn::after{position: absolute; content: ""; width: 60px; height: 60px; background: #FE9734; border-radius: 50%; top: 5px; right: 5px;}
.more_btn::before{position: absolute; content: ""; width: 0; height: 0; border-left: 15px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; top: 50%;right: 25px; z-index: 1; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); border-radius: 2px;}
.more_btn p{font-weight: bold; padding: 0!important; line-height: 2.5!important;}

.dli-caret-circle-fill-right::before {
  content: '';
  color: #fff;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.18em 0.31177em;
  border-left-color: currentColor;
  border-right: 0;
  transform: translateX(15%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

#reason .inner .reason_tt_head{display: flex;align-items: center; margin-bottom: 50px; position: relative;}
#reason .inner .reason_tt_head h2{color: #71A324; font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em; width: 35%;}
#reason .inner .reason_tt_head::after{position: absolute; content: ""; background: transparent; width: 135px; height: 135px; border-radius: 50%; top: -60px; left: -80px; opacity: 0.1; z-index: -1; border: 10px solid #71A324;}
#reason .inner .reason_tt_head h2 span{color: #141414; font-size: 14px; display: block; letter-spacing: normal;}
#reason .wrap_content{display: flex; flex-wrap: wrap; justify-content: space-between;}
#reason .wrap_content .content{width: 30%; margin-bottom: 30px;}
#reason .wrap_content .content .photo{position: relative;}
#reason .wrap_content .content .photo span {font-family: 'Montserrat', sans-serif; color: #71A324; font-size: 105px; text-align: right; display: block; font-weight: 600; line-height: 0.7; margin-top: -40px; opacity: 0.3;
}
#reason .wrap_content .content h3{font-size: 22px; margin-bottom: 15px; margin-top: -25px;}


/*施工事例*/
#work{position: relative;}
#work::after{position: absolute; content: ""; background: #D0D6C6; opacity: 0.3; width: 90%; height: 100vh; top: 0; right: 0; border-radius: 60px 10px 60px 10px; z-index: -1;}
#work::before{position: absolute; content: ""; background: transparent; width: 170px; height: 170px; border-radius: 50%; bottom: 110px; left: 60px; opacity: 0.1; z-index: -1; border: 15px solid #71A324;}
#work .inner{padding-bottom: 0;}
#work .inner .work_tt_head{display: flex;align-items: center; margin-bottom: 50px; padding-left: 80px;}
#work .inner .work_tt_head h2{color: #71A324; font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em; width: 35%;}
#work .inner .work_tt_head h2 span{color: #141414; font-size: 14px; display: block; letter-spacing: normal;}
#work .more_btn{margin: 0 0 0 auto; padding: 15px 0;}
#work .work_slider{padding-bottom: 270px;}
#work　.slider{margin: 0 auto; max-width: 500px; width: 80%;}
#work .slider-item{margin: 0 10px;}
#work .slider-item .icacht img{border-radius: 20px 20px 0 0 ;}
#work .slider-item .content{background: #fff; border-radius: 0 0 20px 20px; padding: 40px 30px;}
#work .slider-item .content .color{font-size: 14px; font-weight: 600; font-family: 'Montserrat', sans-serif; color: #71A324;}
#work .slider-item .content h3{font-size: 20px; padding: 5px 0 10px;}

#contact{background: #71A324; margin: 0 5px; border-radius: 60px 10px 60px 10px;}
#contact .inner{}
#contact .inner .cta_tt_head{text-align: center; color: #fff;}
#contact .inner .cta_tt_head h2{font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em;}
#contact .inner .cta_tt_head h2 span{font-size: 14px; display: block; letter-spacing: normal;}
#contact .inner .cta_tt_head p{padding-top: 40px;}
#contact .inner .cta_wrap{display: flex; justify-content: space-between; flex-wrap: wrap; text-align: center; color: #fff; margin-top: 100px;}
#contact .inner .cta_wrap .cta_box{width: 46%; border: 1px solid #fff; border-radius: 30px; padding: 75px 0 50px; position: relative;}
#contact .inner .cta_wrap .cta_box .bold{font-size: 24px; font-weight: bold; padding-bottom: 18px;}
#contact .inner .cta_wrap .cta_box a{background: #fff; color: #71A324; font-size: 22px; font-weight: bold; border-radius: 80px; padding: 20px; width: 300px; margin: 30px auto 0; font-family: 'Montserrat', sans-serif;}
#contact .inner .cta_wrap .cta_box .icon{position: absolute; top: 0; left: 50%; background: #71A324; border-radius: 50%; border: 1px solid #fff; padding: 10px; width: 100px; height: 100px; -webkit-transform: translate(-50%,-50%); -moz-transform: translateX(-50%,-50%); transform: translateX(-50%,-50%);}
#contact .inner .cta_wrap .cta_box .icon img{width: 60%; position: relative; top: 20%;}
#contact .inner .cta_wrap .cta_box.mail .icon img{width: 75%;}
#contact .inner .cta_wrap .cta_box.mail a{background: #FE9734; color: #fff; position: relative; font-size: 16px;}
#contact .inner .cta_wrap .cta_box.mail a::after{position: absolute; content: ""; width: 0; height: 0; border-left: 15px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; top: 50%;right: 25px; z-index: 1; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); border-radius: 2px;}

/*フッター*/
footer{overflow: hidden; position: relative;}
  footer .inner {
    display: flex;
    justify-content: space-between;
	  align-items: center;
    flex-wrap: wrap; }
    footer .inner .com_info {
		display: flex;
		align-items: center;
      width: 35%; }
      footer .inner .com_info img.logo {
        width: 310px; }
footer .inner .com_info a.insta{background: #71A324; width: 40px; padding: 8px 13px; border-radius: 50%; margin-left: 20px;}
footer .inner .com_info a.insta img{width: 15px;}
    footer .inner .footer_right {
      width: 50%; }
      footer .inner .footer_right ul{
		  display: flex;
		  justify-content: flex-end;
        padding: 0; }
        footer .inner .footer_right ul li {
			padding-left: 80px;
          }
          footer .inner .footer_right ul li a{
            position: relative;
			  font-weight: normal;}

footer .inner .footer_right ul li a::after{position: absolute; content: ""; width: 30px; height: 30px; background: #FE9734; border-radius: 50%; top: -3px; left: -40px;}
footer .inner .footer_right ul li a::before{position: absolute; content: ""; width: 0; height: 0; border-left: 10px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent; top: 50%; left: -28px; z-index: 1; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); border-radius: 2px;} 

footer .inner .footer_right a.privacy{padding-top: 30px; font-size: 14px; text-decoration:underline; text-align: right;}
footer .inner .footer_right p.copyright{font-size: 12px; padding-top: 18px; font-family: 'Montserrat', sans-serif; text-align: right;}

/*TOP以外header*/
header.sub_header .header_inner{height: auto;}
header.sub_header .header_inner #logo{background: #fff; border-radius: 0 0 30px 30px; margin: 0; padding: 30px 20px;}
header.sub_header .header_inner #pc_navi nav ul.pc_nav_li li a{color: #fff;}

/*各ページKV*/
.sub_kv{background: url("./img/about_right.jpg") no-repeat center; position: relative; height: 500px; background-size: cover; border-radius: 0 0 60px 0;}
.sub_kv::after{position: absolute; content: ""; width: 100%; height: 500px; background: rgba(35,47,11,0.6); border-radius: 0 0 60px 0;}
.sub_kv h1{position: absolute; top: 50%; left: 10%; color: #fff; font-size: 68px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em; z-index: 1;}
.sub_kv h1 span{font-size: 16px; display: block; letter-spacing: normal;}
.work_kv{background: url("./img/work_head.jpg") no-repeat center; background-size: cover;}
.contact_kv{background: url("./img/contact.png") no-repeat center; background-size: cover;}
.privacy_kv{background: url("./img/privacy-policy.png") no-repeat center; background-size: cover;}

/*代表挨拶*/
#msg .inner h2{color: #71A324; font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em;}
#msg .inner h2 span{color: #141414; font-size: 14px; display: block; letter-spacing: normal;}
#msg .inner .msg_wrap{margin-top: 45px; display: flex; justify-content: space-between; flex-wrap: wrap;}
#msg .inner .msg_wrap .content{width: 55%;}
#msg .inner .msg_wrap .content p{line-height: 2.5;}
#msg .inner .msg_wrap .content p.ceo_name{font-weight: bold; font-size: 20px; margin-top: 40px;}
#msg .inner .msg_wrap .ceo_pic{width: 40%; position: relative;}
#msg .inner .msg_wrap .ceo_pic::after{position: absolute; content: ""; background: #71A324; width: 245px; height: 245px; border-radius: 50%; top: -100px; right: -80px; opacity: 0.1; z-index: -1;}

/*強み*/
#strength .inner{padding-bottom: 0;}
#strength .inner .strength_tt_head{text-align: center;}
#strength .inner h2{color: #71A324; font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em; position: relative; display: inline-block;}
#strength .inner h2 span{color: #141414; font-size: 14px; display: block; letter-spacing: normal;}
#strength .inner h2::after{position: absolute; content: ""; background: transparent; width: 130px; height: 130px; border-radius: 50%; top: -40px; right: -60px; opacity: 0.1; z-index: -1; border: 12px solid #71A324;}
#strength .inner .strength_content .strength_wrap{display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; margin-top: 60px;}
#strength .inner .strength_content .strength_wrap .img_area{width: 40%;}
#strength .inner .strength_content .strength_wrap:nth-child(1) .img_area{position: relative;}
#strength .inner .strength_content .strength_wrap:nth-child(1) .img_area::after{position: absolute; content: ""; background: #71A324; width: 245px; height: 245px; border-radius: 50%; top: -100px; left: -80px; opacity: 0.1; z-index: -1;}
#strength .inner .strength_content .strength_wrap:nth-child(3) .img_area{position: relative;}
#strength .inner .strength_content .strength_wrap:nth-child(3) .img_area::after{position: absolute; content: ""; background: transparent; width: 130px; height: 130px; border-radius: 50%; bottom: -60px; right: -30px; opacity: 0.1; z-index: -1; border: 10px solid #71A324;}
#strength .inner .strength_content .strength_wrap .content{width: 55%;}
#strength .inner .strength_content .strength_wrap .content .color{font-size: 14px; font-weight: 600; font-family: 'Montserrat', sans-serif; color: #71A324;}
#strength .inner .strength_content .strength_wrap .content h3{font-size: 30px; padding: 15px 0 30px;}
#strength .inner .strength_content .strength_wrap .content p{line-height: 2.5;}

/*会社概要*/
#overview{position: relative;}
#overview .inner{padding-top: 200px;}
#overview::after{position: absolute; content: ""; background: #71A324; width: 230px; height: 230px; border-radius: 50%; top: 20px; right: -30px; opacity: 0.1; z-index: -1;}
#overview .inner h2{color: #71A324; font-size: 56px; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1em; text-align: center;}
#overview .inner h2 span{color: #141414; font-size: 14px; display: block; letter-spacing: normal;}
.table{margin-top: 50px;}
.table table{width: 100%; border-collapse: collapse;}
.table table th, .table table td{border: 1px solid #ddd; padding: 30px;}
.table table th{background-color: #F1F3EE; font-weight: normal; text-align: left; padding-left: 40px;}

/*ヘッダースクロール*/
header .header_inner #pc_navi nav ul.pc_nav_li.headerColorScroll li a {
  color: #141414;
  transition: color 0.3s ease-out;
}

/*パンクズりすと*/
.breadcrumbs .inner .breadcrumbs{display: flex;}
.breadcrumbs .inner{padding: 50px 0 0;}
.breadcrumbs .inner{display: flex; font-size: 14px; align-items: center;}
.breadcrumbs .inner a{position: relative; text-decoration: underline; padding-right: 40px;}
.breadcrumbs .inner a::after{position: absolute; content: ""; width: 20px; height: 1px; background: #D0D0D0; top: 50%; right: 10px;}

/*コンタクトページ*/
.contact_main .inner{max-width: 950px;}
.contact_main .inner .cta_tell_content{background: #F0F5E7; padding: 50px 40px; border-radius: 10px;}
.contact_main .inner .cta_tell_content p.bold{font-weight: bold; font-size: 26px; padding-bottom: 15px;}
.contact_main .inner .cta_tell_content .cta_tell_wrap{display: flex; justify-content: space-between; flex-wrap: wrap;}
.contact_main .inner .cta_tell_content .cta_tell_wrap p.txt{width: 60%; position: relative;}
.contact_main .inner .cta_tell_content .cta_tell_wrap p.txt::after{position: absolute; content: ""; width: 1px; height: 140px; background: #DDDDDD; top: -30px; right: -25px;}
.contact_main .inner .cta_tell_content .cta_tell_wrap a{width: 30%;}
.contact_main .inner .cta_tell_content .cta_tell_wrap a p{font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 45px; line-height: 1.3; position: relative; text-align: center;}
.contact_main .inner .cta_tell_content .cta_tell_wrap a p::before{position: absolute; content: ""; background: url("./img/tell_icon.png") no-repeat center; background-size: cover; width: 30px; height: 30px; top: 15px; left: -40px;}
.contact_main .inner .cta_tell_content .cta_tell_wrap a p span{display: block; font-size: 12px; font-weight: normal; font-family: 'Noto Sans JP', sans-serif;}
.contact_main .inner .content_txt{text-align: center; margin-top: 20px;}
.contact_main .inner .content_txt p.small{font-size: 12px; padding-top: 15px;}

/*thanksページ*/
.thanks_content{text-align: center;}
.thanks_content h3{font-size: 32px;}
.thanks_content p{padding: 20px 0 50px;}

/*プライバシーポリシー*/
.privacy_content h4{font-size: 28px; padding: 15px 0; border-top: 1px solid #070707; border-bottom: 1px solid #070707; margin: 80px 0 30px;}
.privacy_content ul{padding-left: 20px;}
.privacy_content ul li{list-style: disc; line-height: 2;}
.privacy_content .blank{padding-top: 40px;}
.privacy_content .paragraph{padding-left: 20px;}
.privacy_content .subheading{padding-left: 40px;}
.privacy_content .info{padding-top: 40px;}

/*コンタクトフォーム*/
/* template01 */
.form__wrap {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.wpcf7 .template01 div.form__row {
  margin: 0;
  padding: 0;
  margin-top: 40px;
}
.wpcf7 .template01 div.form__row.row-privacy {
  margin-top: 3.5em;
  text-align: center;
}
.wpcf7 .template01 div.form__row.row-privacy a{display: inline-block;  color: #4E80CE;}
.wpcf7 .template01 div.form__row.row-submit {
  margin-top: 3em;
  text-align: center;
}
.wpcf7 .template01 p.form__label,
.wpcf7 .template01 p.form__body {
  margin: 0;
  margin-bottom: .5em;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .template01 p.form__label{font-size: 18px; font-weight: bold;}
.wpcf7 .template01 p.form__label label {
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wpcf7 .template01 div.form__row p.small{font-size: 12px;}

/* テキストフィールド */
.wpcf7 .template01 input[type=text],
.wpcf7 .template01 input[type=tel],
.wpcf7 .template01 input[type=email],
.wpcf7 .template01 input[type=url],
.wpcf7 .template01 input[type=date],
.wpcf7 .template01 input[type=number],
.wpcf7 .template01 textarea {
  width: 100%;
  margin: 0;
  padding: 20px;;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: none;
  background-color: #fff!important;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}
/* テキストフィールド フォーカス時 */
.wpcf7 .template01 input[type=text]:focus,
.wpcf7 .template01 input[type=tel]:focus,
.wpcf7 .template01 input[type=email]:focus,
.wpcf7 .template01 input[type=url]:focus,
.wpcf7 .template01 input[type=date]:focus,
.wpcf7 .template01 input[type=number]:focus,
.wpcf7 .template01 textarea:focus {
  outline: 0;
  border: 1px #080808 solid;
}
/* 送信ボタン */
.wpcf7 .template01 .submit-btn {
  position: relative;
  width: 300px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  margin-left: auto;
  margin-right: auto;
}
.wpcf7 .template01 input[type="submit"] {
  cursor: pointer;
  width: 300px;
  max-width: 100%;
  padding: 20px;
  border-radius: 80px;;
  box-shadow: none;
  border: 1px solid #FE9734;
  background-color: #FE9734;
  color: #fff;
  text-align: center;
  box-sizing: border-box;
  transition: opacity .25s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	font-weight: bold;
	font-size: 16px;
}
.wpcf7 .template01 input[type="submit"]:disabled {
  cursor: not-allowed;
  box-shadow: none!important;
  border: 1px solid #f8f8f8!important;
  background-color: #f8f8f8!important;
  color: #999!important;
}
.wpcf7 .template01 input[type="submit"]:hover {
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
  transition: opacity .25s, background-color .25s;
}
.wpcf7 .template01 input[type="submit"]:focus {
  outline: 1px #eee solid;
  border: 1px #080808 solid;
}
.wpcf7 .template01  span.wpcf7-list-item {
  margin: 0 1em .2em 0;
}
.wpcf7 .template01 .ajax-loader {
  display: block;
}
::placeholder {
  color: #afafaf;
}
@media only screen and (max-width: 768px) {
  .wpcf7 .template01 span.wpcf7-list-item {
    display: block;
  }
}

/*施工事例*/

.news_category .wrap {
  justify-content: flex-start; }
  .news_category .wrap li {
    margin-right: 10px;
    border: 1px solid #DDDDDD;
    box-sizing: border-box;
    border-radius: 4px; }
    .news_category .wrap li a {
      font-size: 14px;
      line-height: 100%;
      padding: 10px 15px; }
      .news_category .wrap li a:hover {
        opacity: 0.7; }

.news_page .wrap {
	display: flex;
  flex-wrap: wrap; 
	align-items: center;
  margin: 0; }
  .news_page .wrap li {
	  width: 30%;
    margin: 50px 1.6% 0; }
.news_page .wrap li .img_area img{border-radius: 10px;}
.news_page .wrap li .text_area{margin-top: 20px;}
.news_page .wrap li .text_area .wrap{justify-content: flex-start;}
.news_page .wrap li .text_area p.category{font-size: 12px; border-radius: 60px; padding: 4px 15px; border: 1px solid #707070; margin-right: 12px;}
.news_page .wrap li .text_area h4{font-size: 22px; padding: 10px 0;}

  .design .inner .design_one .wrap .wrap_list:nth-child(3) {
    margin-top: 50px; }

/*タブのスタイル*/
.tab_item {
  margin-right: 10px;
  border: 1px solid #1D1D1D;
  box-sizing: border-box;
  border-radius: 60px;
  font-size: 20px;
  line-height: 100%;
	display: inline-block;
  padding: 10px 40px; }

.tab_item:hover {
  opacity: 0.75; }

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none; }

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden; }

/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#news-post:checked ~ #news-post_content,
#employeeinterview:checked ~ #employeeinterview_content,
#entrepreneurinterview:checked ~ #entrepreneurinterview_content,
#prerelease:checked ~ #prerelease_content {
  display: block; }

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background: #333;
  color: #fff; }

/*個別投稿*/
.single_main .sub_inner{max-width: 900px; margin: 0 auto; padding: 80px 0;}
.single_main .sub_inner .wrap{display: flex; justify-content: flex-start; align-items: center;}
.single_main .sub_inner .wrap p{font-size: 14px;}
#slider img{margin-bottom: 25px;}
.single_main .sub_inner .wrap .category{border-radius: 60px; padding: 4px 20px; border: 1px solid #707070; margin-right: 12px;}
.single_main .sub_inner h4{font-size: 40px; padding: 10px 0 20px;}
.single_main .table table th{width: 30%;}
.single_main .sub_inner .content{padding-bottom: 60px; border-bottom: 1px solid #DDDDDD;}
.single_main .sub_inner .content .table{margin-bottom: 80px;}
.single_main .sub_inner .content img{border-radius: 10px;}
.single_main .sub_inner .content p{margin: 30px 0;}
.single_main .sub_inner .content .table p{margin: 0;}
.single_main .sub_inner .content h2{font-size: 28px; padding: 0 0 15px 20px; border-bottom: 1px solid #71A324; position: relative;}
.single_main .sub_inner .content h2::before{position: absolute; content: ""; width: 12px; height: 12px; background: #71A324; border-radius: 50%; top: 15px; left: 0;}
#thumbnail_slider li img{width: 98%!important; margin: 0 auto;} 
.slick-arrow {
  bottom: 0;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  width: 30px;
}
.slick-prev{
  left: -40px;
}
.slick-next{
  right: -40px;
}
.slick-arrow {
	transition: all  0.5s;
	position: absolute;
	transform: translateY(-50%);
	z-index: 10;
	width: 70px;
    left: -40px;
    margin: 0;
    top: 50%;
}
.slick-arrow:hover{
	cursor: pointer;
	opacity: 0.7;
}
.slick-prev{
	right: 100%;
}
.slick-next{
	left: 100%;
}
#slider img.slick-arrow{margin-bottom: 0;}
#slider img.next-arrow.slick-arrow{right: -40px; left: auto; transform: rotate(180deg); top: 45%;}

/*次の記事を読む*/
.single_main .more_btn{margin-top: 30px;}
#prevNextPost{display: flex; justify-content: space-between; padding-top: 60px;}
#prevNextPost .prev_post_area, #prevNextPost .next_post_area{width: 30%;}
#prevNextPost h4{font-size: 22px; padding: 5px 0 15px;}
#prevNextPost img{border-radius: 10px; height: 100%; object-fit: cover;}
#prevNextPost .prev_post_area a{font-weight: bold; height: 35%;}
#prevNextPost .next_post_area a{text-align: right; font-weight: bold; height: 35%;}
#prevNextPost .prev_post_area .wrap, #prevNextPost .next_post_area .wrap{padding-top: 10px;}
.item-time{font-size: 12px;}
#prevNextPost .wrap .category{border-radius: 60px; padding: 4px 20px; border: 1px solid #707070; margin-right: 12px; font-size: 12px; font-weight: bold;}

.category_post .inner{padding-top: 80px;}

@media (max-width: 1024px) {
  #pc_navi {
    display: none; }

  .line_btn {
    display: none; }

  header {
    height: 70px; }

  header .header_inner {
    height: 70px; }

  header .header_inner #logo a {
    width: 12rem; }
	
	header.sub_header .header_inner #logo{padding: 20px;}
	
	header .header_inner #logo{margin-left: 20px;}

  header .header_inner #logo a img {
    width: 100%;}

  #nav-toggle {
    position: fixed;
    top: 10px;
    right: 15px;
	  height: 60px;
    cursor: pointer;
    background: #fff;
    width: 60px;
    border-radius: 20px;
	  z-index: 1000;
    cursor: pointer; }
    #nav-toggle > div {
      position: relative;}
    #nav-toggle span {
      width: 8px;
    height: 8px;
    left: 0;
		top: 26px;
    border-radius: 50%;
    display: block;
    background: #71A324;
      position: absolute;
      transition: transform .4s ease-in-out, top .3s ease; }
      #nav-toggle span:nth-child(1) {left: 10px;}
      #nav-toggle span:nth-child(2) {left: 26px;}
      #nav-toggle span:nth-child(3) {left: 42px;}
	#nav-toggle span:nth-child(4) {width: 0; left: 10px;}
	#nav-toggle span:nth-child(5) {width: 0; left: 42px;}

	.open header .header_inner #logo{
		position: relative;
    z-index: 1000;
    background: #fff;
    padding: 20px;
    margin: 0;
    border-radius: 0 0 30px 30px;
	}
  .open #nav-toggle span {
    background: #71A324; }
    .open #nav-toggle span:nth-child(1) {
      top: 15px;}
    .open #nav-toggle span:nth-child(3) {
      top: 15px;}
	.open #nav-toggle span:nth-child(4) {
		top: 37px;
		width: 8px;
		height: 8px;}
	.open #nav-toggle span:nth-child(5) {
		top: 37px;
		width: 8px;
		height: 8px;}
		

  #gloval-nav {
    background: #71A324;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding-top: 150px;
    z-index: 990;
    display: flex;
    visibility: hidden;
    font-size: 20px;
    opacity: 0;
    transition: opacity .4s ease, visibility .4s ease; }
	
	#gloval-nav nav{width: 100%;}

  #gloval-nav a {
    display: block;
    color: #fff;
    text-decoration: none;
	  text-align: center;
    padding: 10px 0;}
  #gloval-nav ul {
    list-style: none;
    padding: 0; }
	#gloval-nav li.cta_btn{margin: 60px 0 30px;}
	#gloval-nav li.cta_btn p{position: relative;}
	#gloval-nav li.cta_btn p::after{position: absolute; content: ""; width: 0; height: 0; border-left: 16px solid #fff; border-top: 6px solid transparent; border-bottom: 6px solid transparent; top: 50%; right: 5%; z-index: 1; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); border-radius: 2px; z-index: 100;}
	#gloval-nav li.cta_btn a{width: 80%; margin: 0 auto;}
	#gloval-nav li.cta_btn a .tel_icon{display: none;}
	header .header_inner li.tell a p{font-size: 40px;}
	header .header_inner li.tell a p span{font-size: 14px;}
	header .header_inner .cta_btn a{font-size: 18px;}
	#gloval-nav a.circle{position: relative; left: 90%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); transform: translateX(-50%); text-align: justify;}
	#gloval-nav a.circle::after{position: absolute; content: ""; width: 30px; height: 30px; background: #FE9734; border-radius: 50%; top: 15px; left: -40px;  z-index: 99;}
   #gloval-nav a.circle::before{position: absolute; content: ""; width: 0; height: 0; border-left: 10px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent; top: 50%; left: -28px; z-index: 1; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); border-radius: 2px; z-index: 100;} 
	#gloval-nav li.cta_btn a{padding: 20px 0;}
	header .header_inner #gloval-nav li.tell a p::before{background: url(./img/tel_white.png) no-repeat center; background-size: cover; width: 35px; height: 35px; top: 15px; left: 15%;}
	#gloval-nav ul li a.insta{width: 60px; margin: 0 auto;}

  /* open */
  .open {
    overflow: hidden; }
    .open #gloval-nav {
      visibility: visible;
      opacity: 1; }
    .open #gloval-nav ul {
      padding: 0; }
    .open #gloval-nav li {
      opacity: 1;
      transform: translateX(0);
      transition: transform 1s ease, opacity .9s ease; }}

@media (max-width: 599px) {
	.inner {
    margin: 0 20px; padding: 80px 0;}
	
	/*TOPページ*/
	#kv{position: relative; overflow: hidden; height: 110vh;}
	#kv .text-box{top: 40%;}
	#kv .title{font-size: 28px;}
	#kv .title b{font-size: 14px; padding: 5px 20px;}
	#kv .title span{width: 200px;}
	#kv .kv_left_top{width: 40%; top: 12%; left: 0;}
	#kv .kv_left_top::after {width: 90px; height: 90px; top: -40px; right: -40px;}
	#kv .kv_right_top {width: 45%; top: 6%; right: 0;}
	#kv .kv_right_top::after {width: 140px; height: 140px; bottom: -40px; right: -40px;}
	#kv .kv_left_bottom {width: 70%; bottom: 15%; left: -15%;}
	#kv .kv_left_bottom::after {width: 150px; height: 150px; top: -80px; left: 30px;}
	#kv .kv_right_bottom {width: 50%; bottom: 25%; right: -18%;}
	#kv .kv_right_bottom::after {width: 80px; height: 80px; bottom: -40px; left: 25px;}
	#kv::after{height:30%;}
	
	/*私たちについて*/
	#about{padding-top: 0;}
	#about .wrap .about_txt{order: 1; width: 100%; padding: 0; margin: 0 20px;}
	#about .wrap .img_area.left_img{order: 2; width: 45%; padding-top: 80px;}
	#about .wrap .img_area.right_img{order: 3; width: 45%; padding-top: 80px;}
	#about .wrap .about_txt h2{font-size: 40px;}
	#about .wrap .img_area.right_img::after {width: 120px; height: 120px; top: 0; left: auto; right: -30px;}
	#about .wrap .img_area img{height: 150%;}
	
	/*reason*/
	#reason .inner .reason_tt_head{flex-wrap: wrap; justify-content: center;}
	#reason .inner .reason_tt_head h2{width: 100%; font-size: 40px; text-align: center; margin-bottom: 50px;}
	#reason .inner .reason_tt_head::after{width: 100px; height: 100px; left: 0;}
	#reason .wrap_content .content{width: 100%;}
	#reason .wrap_content .content h3{font-size: 20px;}
	#reason .wrap_content .content .photo span{margin-top: -45px; font-size: 90px;}
	
	/*work*/
	#work{padding-bottom: 280px;}
	#work .inner .work_tt_head{padding: 0;}
	#work .inner .work_tt_head h2{width: 100%; font-size: 40px; text-align: center; padding: 0;}
	#work::after{width: 95%; height: 100vh;}
	#work .more_btn{position: absolute; bottom: 20%; padding: 15px 0; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); transform: translateX(-50%);}
	#work .work_slider {padding-bottom: 0;}
	#work::before {width: 100px; height: 100px; bottom: 60px; left: -20px; border: 10px solid #71A324;}
	
	/*subページ*/
	.sub_kv, .sub_kv::after{height: 400px;}
	.sub_kv h1{font-size: 45px; left: 35px;}
	
/*aboutページ*/
	#msg .inner .msg_wrap .ceo_pic, #msg .inner .msg_wrap .content, #strength .inner .strength_content .strength_wrap .img_area, #strength .inner .strength_content .strength_wrap .content{width: 100%;}
	#msg .inner .msg_wrap .ceo_pic{order: 1;}
	#msg .inner .msg_wrap .content{order: 2; margin-top: 40px;}
	#msg .inner h2, #strength .inner h2{font-size: 40px;}
	#msg .inner .msg_wrap .ceo_pic::after{width: 150px; height: 150px;}
	/*強み*/
	#strength{position: relative; overflow: hidden;}
	#strength .inner .strength_content .strength_wrap{position: relative; margin-left: 15px;}
	#strength .inner .strength_content .strength_wrap .content .color{position: absolute; transform: rotate(90deg); left: -65px; top: 35px;}
	#strength .inner .strength_content .strength_wrap:nth-child(1) .img_area::after{width: 150px; height: 150px; bottom: -30px; top: auto;}
	#strength .inner .strength_content .strength_wrap .content h3{font-size: 20px; padding: 15px 0;}
	#strength .inner .strength_content .strength_wrap:nth-child(3) .img_area::after{width: 100px; height: 100px; bottom: -30px; right: -50px;}
	#strength .inner h2::after{width: 100px; height: 100px; top: -25px;}
	
	/*会社概要*/
	#overview .inner{padding-top: 160px;}
	#overview .inner h2, #contact .inner .cta_tt_head h2{font-size: 40px;}
	#overview::after{width: 130px; height: 130px; top: auto; bottom: -65px;}
	.table table th,  .table table td{display: block; border: none;}
	.table table th{background: #fff; border-top: 1px solid #ddd; padding-bottom: 0; padding-left: 20px;}
	.table table td{padding-top: 8px; padding-left: 20px;}
	.table table td.border{border-bottom: 1px solid #ddd;}
	
	/*問い合わせ*/
	#contact{margin-top: 0;}
	#contact .inner .cta_tt_head p{font-size: 14px;}
	#contact .inner .cta_wrap .cta_box{width: 100%;}
	#contact .inner{margin: 0 10px;}
	#contact .inner .cta_wrap .cta_box.mail{margin-top: 100px;}
	
	/*footer*/
	footer .inner .com_info{width: 100%; flex-wrap: wrap; justify-content: center;}
	footer .inner .com_info a{width: 100%; text-align: center;}
	footer .inner .com_info img.logo{width: 250px;}
	footer .inner .com_info a.insta{margin-left: 0; margin-top: 20px;}
	footer .inner .footer_right{width: 100%; margin-top: 30px;}
	footer .inner .footer_right ul{flex-wrap: wrap; position: relative; left: 40%;}
	footer .inner .footer_right ul li{width: 100%; padding: 20px 0; font-size: 16px;}
	footer .inner .footer_right ul li a::before{top: 50%;}
	footer .inner .footer_right ul li a::after{top: -3px;}
	footer .inner .footer_right a.privacy, footer .inner .footer_right p.copyright{text-align: center;}
	.contact_main .inner .cta_tell_content .cta_tell_wrap p.txt, .contact_main .inner .cta_tell_content .cta_tell_wrap a{width: 100%;}
	.contact_main .inner .cta_tell_content .cta_tell_wrap a{padding-top: 50px;}
	.contact_main .inner .content_txt{text-align: left;}
	
	/*コンタクトページ*/
	.contact_main .inner .cta_tell_content{padding: 30px 20px;}
	.contact_main .inner .cta_tell_content p.bold{font-size: 24px; text-align: center;}
	.contact_main .inner .cta_tell_content .cta_tell_wrap a p::before{width: 35px; height: 35px; left: 0;}
	.contact_main .inner .cta_tell_content .cta_tell_wrap a p{padding-left:30px;}
	.contact_main .inner .cta_tell_content .cta_tell_wrap p.txt::after{height: 1px; top: auto; left: 0; bottom: -30px; width: 98%;}
	
	/*施工事例*/
	.news_page .wrap li{width: 47%; margin-left: 1%; margin-right: 1%;}
	.tab_item{font-size: 16px; margin-top: 10px;}
	.news_page .wrap li p.date{font-size: 12px;}
	.news_page .wrap li .text_area h4{font-size: 18px;}
	.news_page .wrap li .text_area p.category{padding: 3px 10px; font-size: 10px; margin-right: 8px;}
	
	/*プライバシーポリシー*/
	.privacy_content h4{font-size: 22px;}
	
	/*個別投稿*/
	.single_main .sub_inner{margin: 0 20px;}
	.slick-arrow{width: 50px; left: -20px;}
	#slider img.next-arrow.slick-arrow{top: 40%; right: -20px;}
	.single_main .table table th{width: 100%; font-size:18px;}
	.single_main .sub_inner .content img{border-radius: 5px;}
	#prevNextPost .prev_post_area, #prevNextPost .next_post_area{width: 48%;}
	#prevNextPost .next_post_area a, #prevNextPost .prev_post_area a{font-size: 14px;}
	#prevNextPost .wrap .category{padding: 0 5px; font-size: 10px; border-radius: 40px;}
	.single_main .sub_inner h4{font-size: 30px;}
	.single_main .sub_inner .content h2{font-size: 22px;}
	#prevNextPost h4{font-size: 18px;}
	.single_main .sub_inner .wrap p{font-size: 10px;}
  }
@media (min-width: 1025px) {
	header{padding-top: 20px;}
	header.sub_header{padding-top: 0;}
  #sp_navi {
    display: none; } }
@media (min-width: 600px) {
	.sp{display: none;}
  .pc_none {
    display: none; }}
@media (max-width: 599px) {
	.pc{display: none;}
   }


/*# sourceMappingURL=style.css.map */
