@charset "UTF-8";

body {
    font-size: 15px;
    font-family: 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Open Sans", osaka, Arial, Verdana, sans-serif;
    color: rgb(0, 0, 0);
}

a:hover {
    opacity: 0.65;
}

/* ヘッダー */


.header-inner {
    max-width: 1280px;
    height: 90px;
    padding: 0 40px;
    display: flex;
    margin: 0 auto;
}
.area_logo_header .logo {
    display: block;
    margin: 30px 30px;
    width: 250px;
}

.nav_header {
    margin-left: auto;
    padding-top: 45px;
}
.list_nav_header {
    display: flex;
}

.list_nav_header li {
    margin-left: 20px;
}


.list_nav_header li + li {
    border-left: 1px solid rgba(100, 100, 100);
    padding-left: 20px;
}

.list_nav_header li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  letter-spacing: 0.1em;
}

.list_nav_header li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}

.list_nav_header li a:hover::after{
  transform: scale(1, 1)
}

.header-img {
    width: 100%;
    height: 570px;
    object-fit: cover;
}

a {
    text-decoration: none;
    color: black;
}

/* ハンバーガーメニュー */

/* @media screen and (min-width: 768px){
.hamburger {
    display: none;
}

.hamburger span {
    display: none;
}
} */


/* slick  */

.full div {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 600px;
    margin: 0;
    box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.16);
    position: relative;
  }
  .full div.img01 {
    background-image: url(../img/header_img4.jpg);
  }
  .full div.img02 {
    background-image: url(../img/front01.jpg);
  }
  .full div.img03 {
    background-image: url(../img/header_img3.jpg);
  }
  .full .slick-dots {
      bottom: 4%;
      z-index: +1;
  }

  .img01 h2 {
      font-size: 3.5rem;
      font-weight: bold;
      color: #fff;
      text-align: center;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
      position: absolute;
      /* text-shadow: 1px 1px 24px gray; */
  }

  .img02 h2 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff;
    text-shadow: black 1px 1px 8px;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    position: absolute;
    /* text-shadow: 1px 1px 24px gray; */
}
.img03 h2 {
    font-size: 3.5rem;
    font-weight: bold;
    color: black;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    position: absolute;
    /* text-shadow: 1px 1px 24px gray; */
}


@media screen and (min-width:769px){

.globalMenuSp {
    display: none;
}

.br-sp{
  display: none;
}

}


/* トップスローガン */


.slogan-inner {
    max-width: 980px;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.slogan_ttl {
    text-align: center;
}

.slogan_ttl h2 {
    display:inline-block;
    font-size: 2rem;
    position: relative;
    padding-bottom: 10px;
    font-weight: 600;
    text-align: center;
    border-bottom: 4px solid #000;
}

/* .sub-ttl {
    font-family: 'Quicksand', sans-serif;
    color: red;
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 50px;
} */


.slogan-inner .contents {
  width: 80%;
    margin: 30px auto;
    font-size: 1.1rem;;
    line-height: 1.6rem;
    margin-bottom: 30px;
    padding: 0 40px;

}

/* トップ会社案内 */

.area_home_about{
    padding-top: 100px;
    padding-bottom: 100px;
}

.about-inner {
    width: 980px;
    margin: 0 auto;
    position: relative;
    
}

.imageLeft {
    display: flex;
    margin: 0 auto;
}

.about-img {
    margin-top: 30px;
    border-radius: 10px;
    width: 700px;
    position: absolute;
    z-index: 1;
}
.about-text {
    width: 450px;
    padding: 40px;
    position: absolute;
    right: 0;
    background:white;
    z-index: 2;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.ttl-en {
    font-family: 'Quicksand', sans-serif;
    font-size: 70px;
    opacity: 0.2;
}

.about-text h3 {
    font-size: 2rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid gray;
  }

  .about-text .contents {
      line-height: 1.5rem;
  }
  
.p-btn {
    margin-top: 20px;
}


.p-btn a {
    display: block;
    position: relative;
    width: 220px;
    height: 45px;
    border:1px solid black;
    text-align: center;
    margin: 0 auto;
    align-items: center;
    padding: 13px;
}

.p-btn a:before,.p-btn a:after{
	content: '';
	position: absolute;
	background: black;
}

.p-btn a:before {
	top: 27px;
	right: 15px;
	height: 1px;
	width: 15px;
}

.p-btn a:after {
	top: 24px;
	right: 14px;
	height: 1px;
	width: 8px;
	transform: rotate(45deg);
}

.p-btn a:hover {
    enable-background: black;
	opacity:0.65;
}


/* トップ業務案内 */

.area_home_work{
    margin-top: 500px;
    padding-top: 100px;
    padding-bottom: 100px;
}

.work-inner {
    width: 980px;
    margin: 0 auto;
    position: relative;

}

.imageRight {
    display: flex;
    margin: 0 auto;
}

.work-text {
    width: 450px;
    padding: 40px;
    position: absolute;
    background:white;
    z-index: 2;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.work-img {
    margin-top: 30px;
    width: 700px;
    border-radius: 10px;
    right: 0;
    position: absolute;
}

.work-text h3 {
    font-size: 2rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid gray;
  }

  .work-text  .contents {
    line-height: 1.5rem;
}


/* トップ施工例 */
.area_home_gallery {
    margin-top: 600px;
    background-color: #fff4d2;
    padding-top: 100px;
    padding-bottom: 100px;
}

.gallery-inner {
    width: 980px;
    margin: 0 auto;
}

.flex-box {
  margin-bottom: 40px;
	display: flex;
}

.g-img {
  width: 24%;
text-align: center;
  margin-right: 10px;
  
}


.g-img img {
  width: 100%;
  height: 200px;
  object-fit: cover; 
}


.gallery-inner h3 {
  font-size: 2rem;
  margin-bottom: 30px;
  text-align: center;
}

.gallery-inner .ttl-en {
    font-family: 'Quicksand', sans-serif;
    font-size: 70px;
    opacity: 0.2;
    text-align: center;
}

/* アクセス */

.gmap-inner {
    margin: 0 auto;
    padding-top: 50px;
}

.gmap-inner .ttl-en {
    font-family: 'Quicksand', sans-serif;
    font-size: 70px;
    opacity: 0.2;
    text-align: center;
}

.gmap-inner h3 {
    font-size: 2rem;
    margin-bottom: 30px;
    text-align: center;
  }

  /* フッター */
footer {
    background-color: #E0E0E0;
}

footer h4 {
    font-weight: 600;
    margin-bottom: 20px;
}

footer .container {
    width: 1028px;
    margin: 0 auto;
    padding: 30px;
    display: flex;
}

footer .footerLeft {
    width: 33.3333%;
    margin: 20px;
}

.footerLeft .contents {
    margin-top: 20px;
    line-height: 1.5rem;
}

footer .footerRight {
    width: 33.3333%;
    margin: 20px;
    padding-top: 50px;
}

footer .footerRight li {
    margin-bottom: 5px;
}

footer .footernav {
    width: 33.3333%;
    margin: 20px;
    padding-top: 50px;
}

footer .footernav  li {
    margin-bottom: 20px;
}

footer .copy {
    text-align: center;
    padding-bottom: 50px;

}

.footer_logo {
  text-align: center;
  padding-bottom: 20px;
}

/* アバウトページ */

.mv_img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.pro-inner {
    max-width: 980px;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.pro_ttl {
    text-align: center;
}

.pro_ttl h2 {
    display:inline-block;
    font-size: 2rem;
    position: relative;
    padding-bottom: 10px;
    font-weight: 600;
    text-align: center;
    border-bottom: 4px solid #000;
}

.area_pro .contents {
    margin: 50px auto 30px;
    line-height: 1.5rem;
    padding: 0 40px;
}

.area_pro .signature {
  text-align: right;
  font-weight: 700;
  padding: 0 40px;
}

.area_pro_profile {
  width: 80%;
  margin: 0 auto;
}

.area_pro_profile .profile_img {
  padding: 0 40px;
  margin-top: 50px;
}

.area_pro_profile .profile_img img {
  width: 300px;
  height: 300px;
  object-fit: cover;
}

.philo-inner {
    max-width: 980px;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.philo_ttl {
    text-align: center;
}

.philo_ttl h2 {
    display:inline-block;
    font-size: 2rem;
    position: relative;
    padding-bottom: 10px;
    font-weight: 600;
    text-align: center;
    border-bottom: 4px solid #000;
}

/* .sub-ttl {
    font-family: 'Quicksand', sans-serif;
    color: red;
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 50px;
} */

.area_pro_philo {
  width: 80%;
  margin: 0 auto;
}

.area_philo .contents {
    margin-top: 50px;
    line-height: 1.5rem;
    margin-bottom: 30px;
    padding: 0 40px;
}

/* 会社概要テーブル */
.company_table {
  width: 980px;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 50px;
}

.company_table h3 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }

table.table01 {
	border-collapse:collapse;
	border-spacing: 0;
}
table.table01 tr th {
	color:#2DAA6E;
	font-weight:500;
	vertical-align:middle;
	white-space: nowrap;
	padding: 25px 20px;
	border-bottom: 1px solid #2DAA6E;
    text-align: center;
}
table.table01 tr:first-child th {
	border-top: 1px solid #2DAA6E;
}
table.table01 tr td {
	width: 100%;
	padding: 25px 20px;
	border-bottom: 1px solid #CCC;
}
table.table01 tr:first-child td {
	border-top: 1px solid #CCC;
}

/* 施工実績ページ */

.gallery_text_inner {
    max-width: 980px;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.gallery_text_ttl {
    text-align: center;
}

.gallery_text_ttl h2 {
    display:inline-block;
    font-size: 2rem;
    position: relative;
    margin-bottom: 50px;
    padding-bottom: 10px;
    font-weight: 600;
    text-align: center;
    border-bottom: 4px solid #000;
}

.area_text_gallery .contents {
    margin-top: 50px;
    line-height: 1.5rem;
    margin-bottom: 30px;
    padding: 0 40px;
}

.g-img p {
    text-align: center;
    padding-top: 5px;
    padding-bottom: 20px;
}

/* workページ */

.work-inner {
    max-width: 980px;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.work_ttl {
    text-align: center;
}

.work_ttl h2 {
    display:inline-block;
    font-size: 2rem;
    position: relative;
    padding-bottom: 10px;
    font-weight: 600;
    text-align: center;
    border-bottom: 4px solid #000;
    margin-bottom: 40px;
}

.area_work .container {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}

.area_work .container_item {
  width: 50%;
  padding-bottom: 40px;
  padding-right: 40px;
}

.area_work .container_item h3{
  font-size: 1.2rem;
    font-weight: 600;
    padding-bottom: 10px;
}

.area_work .container_item  p {
  line-height: 1.5rem;
}

.feature-inner {
  max-width: 980px;
  padding-top: 100px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 50px;
}

.feature_ttl {
  text-align: center;
}

.feature_ttl h2 {
  display:inline-block;
  font-size: 2rem;
  position: relative;
  padding-bottom: 10px;
  font-weight: 600;
  text-align: center;
  border-bottom: 4px solid #000;
  margin-bottom: 40px;
}

.area_feature .container {
  display: flex;
  margin-top: 100px;
}

.area_feature .container_img {
  width: 50%;
  height: 300px;
  object-fit: cover;
}

.area_feature .container_img img {
  width: 100%;
}

.area_feature .container_text {
  width: 50%;
  padding: 0 40px;
}

.area_feature .container_text h3{
  font-size: 1.2rem;
    font-weight: 600;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
}

.area_feature .container_text p {
  line-height: 1.5rem;
  margin-top: 20px;
}

.contact-inner {
  max-width: 980px;
  padding-top: 100px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 50px;
}

.contact_box {
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact_box .contact_text {
  margin-right: 40px;
  font-weight: 600;
  line-height: 2rem;
  text-align: center;
}

.contact_box .contact_text span {
  font-size: 2rem;
}

/* お問合せフォーム */
.area_form .form_inner{
    max-width: 980px;
    padding-top: 100px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 50px;
}