/* 下層ページヘッダー */

.header_page {
  margin-top: 83px;
  height: 250px;
  width: 100%;
  background: url(../img/common/bg_header.jpg) no-repeat center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}

.header_pageTtl {
  text-align: center;
  font-size: 4rem;
}

@media (max-width: 768px) {
  .header_page {
    height: 100px;
  }
  .header_pageTtl {
    font-size: 2.4rem;
  }
}

/* 下層ページ共通 */

section {
  margin-bottom: 60px;
}

section:last-child {
  margin-bottom: 160px;
}

h2 {
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 2px solid #D7092F;
  margin-bottom: 50px;
}

h3 {
  font-size: 2rem;
  padding: 10px;
  background-color: #f8f8f8;
  font-weight: bold;
  margin-bottom: 20px;
}

h4 {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 20px;
  padding-left: 15px;
  border-left: 5px solid #D7092F;
}

h5 {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 15px 0;
}

@media (max-width: 768px) {
  section {
    margin-bottom: 40px;
  }
  section:last-child {
    margin-bottom: 80px;
  }
  h2 {
    font-size: 2rem;
    margin-bottom: 20px;
    padding-bottom: 5px;
  }
  h3 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    padding: 5px;
  }
  h4 {
    font-size: 1.6rem;
  }
}

/* 特長 */

#feature .menu h2 {
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
  padding-bottom: 10px;
  position: relative;
  margin-bottom: 40px;
  border-bottom: none;
}

#feature .menu h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background-color: #D7092F;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#feature .menu .btn {
  width: 270px;
  margin: 0 7px;
}

#feature .menu .btn a::after {
  content: "▼";
}

#feature .menu_bottom .btn a::after {
  content:"▲";
}

#feature .menu ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#feature .menu ul li:nth-of-type(4){
  width: 100%;
}

#feature .menu ul li:nth-of-type(5){
  width: 250px;
  margin-top: 20px;
}

#feature .menu ul li:nth-of-type(5) a{
  font-size: 1.4rem;
  padding: 10px 0;
}

.feature_wrap {
  margin-bottom: 60px;
}

.feature_conts {
  margin-bottom: 50px;
}

.feature_conts img{
  max-width: 390px;
  width: 100%;
}

.light_conts {
  display: flex;
  justify-content: space-between;
}

.light_conts img{
  width: 50%;
}

.light_conts p{
  max-width: 500px;
  margin-right: 30px;
}

.light_point {
  background-color: #F8F8F8;
  padding: 30px;
}

.light_point h4 {
  padding-left: 0;
  border-left: 0;
}

.light_point iframe {
  width: 50%;
  min-height: 400px;
  min-width: 570px;
}

.feature_img_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.feature_img_item {
  max-width: 390px;
  width: 24%;
  margin-bottom: 30px;
}

.feature_conts_img .feature_img_item img {
  width: 100%;
}

.feature_conts_img {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}

#other .feature_conts_img img {
  max-width: 500px;
  width: 100%;
}

.feature_conts_img img{
  max-width: 390px;
  width: 31%;
}

.feature_conts_img::after {
  content: "";
  display: block;
  width: 31%;
  max-width: 390px;
}

.feature_conts_img .feature_conts_img-easy {
  max-width: 60%;
  width: 100%;
}

/* 20221111 feature_conts_design 追加 / 鹿島 */
.feature_conts_design {
    counter-reset: num 0;
}
.feature_conts_design h3 {
    margin-top: 2em;
}
.feature_conts_design p {
    margin-top: 1.5em;
}
.feature_conts_design span::after {
    counter-increment: num 1;
    content: counter(num);
    
    display: inline-block;
    width: 1.4em;
    margin: 0 0.5em 0 3px;

    line-height: 1.4;
    text-align: center;
    color: #fff;
    
    background-color: #595757;
    border-radius: 50%;
}
.feature_conts_design span {
    display: inline-block;
}
/* feature_conts_design 追加ここまで */

@media (max-width: 955px) {
  #feature .menu ul {
    align-items: center;
  }
  #feature .menu ul li:nth-of-type(4) {
    display: none;
  }
  #feature .menu ul li:nth-of-type(5) {
    width: 160px;
    margin-top: 0;
  }
  #feature .menu .btn {
    margin: 0 3px;
    margin-bottom: 20px;
    width: 160px;
  }
  #feature .menu .btn a {
    padding-right: 5px;
  }
  #feature .menu .btn a::after {
    right: 8px;
  }
}

@media (max-width: 768px) {
  #feature .menu h2 {
    font-size: 2.4rem;
    margin-bottom: 30px;
  }
  .light_conts {
    display: block;
  }
  .light_conts img {
    width: 100%;
    margin-top: 30px;
  }
  .light_point {
    padding: 10px;
  }
  .light_point iframe {
    max-width: 100%;
    min-width: 100%;
    width: 100%;
  }
  .feature_conts_img {
    display: block;
  }
  .feature_conts_img img{
    max-width: 100%;
    width: 100%;
    margin-bottom: 20px;
  }
  .feature_conts_img .feature_conts_img-easy {
    max-width: 100%;
  }
  .feature_img_item {
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 500px) {
  .light_point iframe {
    min-height: 200px;
  }
  .feature_conts_design span {
    display: block;
  }
}

/* バリエーション */

.variation_conts {
  margin-bottom: 60px;
}

.variation_conts_listImg {
  max-width: 800px;
}

.variation_item {
  display: flex;
  justify-content: space-between;
}

.variation_item img{
  width: 50%;
}

.variation_item p{
  padding-right: 70px;
}

.variation_item_img_wrap {
  display: flex;
  justify-content: space-between;
  max-width: 600px;
  margin-top: 30px;
}

.variation_item_img_wrap img{
  width: 48%;
}

.variation_item_img {
  padding-right: 70px;
}

.variation_item_text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .variation_item {
    display: block;
  }
  .variation_item img{
    width: 100%;
    margin-top: 30px;
  }
  .variation_item p{
    padding-right: 0px;
  }
  .variation_item_img_wrap {
    display: block;
    max-width: 100%;
  }
  .variation_item_img_wrap img{
    width: 100%;
    margin-top: 30px;
  }
  .variation_item_img {
    padding-right: 0px;
  }
}

/* 納まり図一覧 */

.drawings_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

.drawings_item {
  width: 24%;
  text-align: center;
}

.drawings_item img{
  margin-bottom: 15px;
}

.drawings_item_ttl {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.drawings_item .btn{
  max-width: 250px;
  width: 100%;
}

.drawings_item .btn a::after {
  right: 5px;
}

.reference h2 {
  font-weight: normal;
  font-size: 2rem;
}

.reference_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}

.bim_wrap {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.bim_item {
  max-width: 390px;
  width: 31%;
  text-align: center;
}

.bim_item .btn {
  max-width: 270px;
  width: 100%;
}

.bim_item_ttl {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.bim_wrap::after {
  content: "";
  display: block;
  width: 31%;
  max-width: 390px;
}

.reference_item {
  max-width: 390px;
  width: 31%;
}

.reference_item:hover {
  cursor: pointer;
}

.reference_item img{
  margin-bottom: 15px;
}

.reference_item_ttl {
  text-align: center;
}

.reference_itemPop {
  display: none;
  width: 100%;
  height: 100vh;
  position:fixed;
  top: 0;
  left:0;
  background-color: rgba(0,0,0,0.6);
  z-index: 999;
}

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

.reference_itemPop-content {
  width:50%;
  height: auto;
  position: relative;
}

.reference_itemPop-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  background-color: #D7092F;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reference_itemPop-close:hover {
  cursor: pointer;
}

@media (max-width: 768px) {
  .drawings_wrap {
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  .drawings_item {
    width: 49%;
    margin-bottom: 30px;
  }
  .drawings_item .btn{
    width: 140px;
  }
  .drawings_item .btn a{
    font-size: 1.4rem;
  }
  .drawings_item .btn a::after{
    right: 5px;
  }
  .reference_wrap {
    display: block;
  }
  .reference_item {
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
    border: 1px solid #CCCCCC;
  }
  .reference_itemPop-content {
    width: 95%;
  }
}

/* 納まり図詳細 */

.drawings_img_wrap {
  display: flex;
  justify-content: space-between;
}

.drawings_img_left {
  width: 52%;
}

.drawings_img_right {
  width: 41%;
}

.drawings_img_left img:first-child {
  margin-bottom: 20px;
}

.drawings_img_right img:first-child {
  margin-bottom: 20px;
}

.drawings_img_left_small {
  max-width: 500px;
}

@media (max-width: 599px) {
  .drawings_img_wrap {
    display: block;
  }
  .drawings_img_left {
    width: 100%;
    margin-bottom: 30px;
  }
  .drawings_img_right {
    width: 100%;
  }
}

/* 開発ストーリー */

.story_head {
  margin-bottom: 70px;
}

.story_item {
  margin-bottom: 60px;
}

.story_item_conts {
  display: flex;
  align-items: flex-start;
}

.story_item_conts img{
  max-width: 300px;
  width: 25%;
  margin-right: 50px;
  object-fit: contain;
}

#story h2 {
  font-size: 1.8rem;
  padding-bottom: 15px;
  border-bottom: 1px solid #D7092F;
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .page-template-page-story .header_page {
    margin-bottom: 0px;
  }
  .story_head {
    margin-bottom: 40px;
  }
  .story_head.sp {
    display: none;
  }
}

@media (max-width: 599px) {
  .story_head.sp {
    display: block;
  }
  .story_item_conts {
    display: block;
  }
  .story_item_conts img{
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
}

/* ダウンロード 

.drawing_wrap {
  display: flex;
  justify-content: space-between;
}

.drawing_item {
  max-width: 390px;
  width: 31%;
  text-align: center;
}

.drawing_item img{
  margin-bottom: 15px;
}

.drawing_item_ttl {
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.drawing_item .btn {
  margin-bottom: 20px;
  max-width: 270px;
  width: 100%;
}

.drawing_item .btn a::after{
  content: "▼";
}

@media (max-width: 599px) {
  .drawing_wrap {
    display: block;
  }
  .drawing_item {
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid #D7092F;
  }
  .drawing_item:last-child {
    border-bottom: none;
  }
  .bim_wrap {
    display: block;
  }
  .bim_item {
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
  }
  .bim_wrap::after {
    display: none;
  }
}
*/
/* 施工事例一覧 */

.works_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.works_item {
  max-width: 390px;
  width: 31%;
  margin-bottom: 30px;
}

.works_item a{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.works_item_img {
  margin-bottom: 15px;
  overflow: hidden;
  width: 100%;
  max-height: 248px;
  background: #000;
}

.works_item_img img{
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: 0.3s all;
}

.works_item a:hover .works_item_img img{
  transform: scale(1.2);
  transition: 0.3s all;
  opacity: 0.6;
}

@media (max-width: 768px) {
  .works_wrap {
    margin-bottom: 40px;
  }
  .works_item {
    max-width: 100%;
    width: 49%;
  }
  .works_item p {
    font-size: 1.4rem;
    line-height: 1.2;
  }
}

/* 施工事例詳細 */

.single-works .wp-block-table td {
  padding: 10px;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
}

.single-works .wp-block-table tr:last-child td {
  border-bottom: 1px solid #CCCCCC;
}

.single-works .wp-block-table tr td:first-child {
  background-color: #F8F8F8;
  border-left: 1px solid #CCCCCC;
  border-right: none;
}

.single-works .wp-block-gallery::after {
  content: "";
  display: block;
  width: calc(33.33% - var(--gallery-block--gutter-size, 16px)*0.66667);
  margin-left: 16px;
}

@media (max-width: 768px) {
  .single-works .wp-block-table tr td:first-child {
    font-size: 1.4rem;
  }
  .single-works .pagination {
    display: block;
  }
  .single-works .pagination .btn{
    margin: 20px auto;
  }
}

/* 安全対策 */

.safety_mokuji {
  width: 60%;
  border: 1px solid #CCCCCC;
  padding: 32px;
  margin-bottom: 60px;
}

.safety_mokuji h2{
  margin-bottom: 20px;
  border-bottom: none;
}

.safety_mokuji ul li {
  margin-bottom: 20px;
}

.safety_mokuji ul li ul {
  padding-left: 30px;
  list-style: disc;
}

.safety_mokuji ul li a{
  justify-content: flex-start;
  border-bottom: 1px solid #D7092F;
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-size: 1.6rem;
  line-height: 1.2;
}

.safety_mokuji ul li ul li {
  margin-bottom: 0;
}

.safety_mokuji ul li ul li a{
  border-bottom: none;
  padding-bottom: none;
  margin-bottom: 0;
  font-size: 1.4rem;
}

.safety_mokuji ul li ul li:last-child a {
  margin-bottom: 15px;
}

.safety_contents {
  margin-bottom: 60px;
}

.safety_contents h3 {
  margin-top: 50px;
}

.safety_contents h4 {
  border-left: none;
  padding-left: 0;
}

.safety_contents img {
  max-width: 600px;
  margin: 20px 0;
}

.safety_contents_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.safety_contents_item {
  width: 49%;
  border: 1px solid #CCCCCC;
  padding: 14px 10px;
}

.safety_contents_item img{
  height: 205px;
  object-fit: contain;
  margin-top: 0;
}

.safety_contents_item_ttl {
  text-align: center;
  margin-bottom: 20px;
}

.safety_point_wrap {
  margin-top: 40px;
  border: 2px solid #D7092F;
  padding: 30px;
}

.safety_point_wrap ul li{
  font-weight: bold;
  line-height: 2;
  font-size: 1.8rem;
}

.safety_point_wrap ul li .caution{
  font-size: 1.8rem;
  margin-left: 10px;
  font-weight: 400;
}

.safety_bottom {
  text-align: center;
  margin-bottom: 160px;
}

.safety_bottom_text {
  font-weight: bold;
  line-height: 2;
  font-size: 2.2rem;
  margin-bottom: 40px;
}

.safety_bottom img{
  max-width: 750px;
  margin: 0 auto;
  margin-bottom: 60px;
}

@media (max-width: 768px) {
  .safety_mokuji {
    width: 100%;
    padding: 15px;
  }
  .safety_contents h3 {
    margin-top: 35px;
    font-size: 1.7rem;
  }
  .safety_contents_wrap {
    display: block;
  }
  .safety_contents_item {
    width: 100%;
    margin-bottom: 30px;
  }
  .safety_point_wrap {
    padding: 15px;
  }
  .safety_point_wrap ul li {
    font-size: 1.6rem;
  }
  .safety_point_wrap ul li .caution {
    font-size: 1.4rem;
  }
  .safety_bottom_text {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
  .safety_bottom {
    margin-bottom: 60px;
  }
}


/* お問い合わせ */

.page-id-21 main .inner {
  max-width: 1000px;
}

#mw_wp_form_mw-wp-form-48 p{
  text-align: center;
}

#mw_wp_form_mw-wp-form-48 table{
  width: 100%;
  margin: 40px 0 60px 0;
}

#mw_wp_form_mw-wp-form-48 table tr:last-child th{
  border-bottom: 1px solid #D7092F;
}

#mw_wp_form_mw-wp-form-48 table tr:last-child td{
  border-bottom: 1px solid #CCCCCC;
}

#mw_wp_form_mw-wp-form-48 table tr th{
  width: 100%;
  border-top: 1px solid #D7092F;
  padding: 20px 5px;
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}

#mw_wp_form_mw-wp-form-48 table tr th span{
  display: inline-block;
  font-size: 1.2rem;
  background-color: #D7092F;
  color: #fff;
  padding: 0 5px;
  margin-left: 10px;
  border-radius: 3px;
}

#mw_wp_form_mw-wp-form-48 table tr td{
  width: 70%;
  border-top: 1px solid #CCCCCC;
  padding: 10px 0;
}

#mw_wp_form_mw-wp-form-48 table tr td input,
#mw_wp_form_mw-wp-form-48 table tr td textarea{
  background-color: #F8F8F8;
  padding: 10px;
  border-radius: 5px;
  width: 100%;
}

#mw_wp_form_mw-wp-form-48 button {
  width: 320px;
  padding: 15px 0;
  background-color: #D7092F;
  color: #fff;
  border-radius: 10px;
  border: 2px solid #D7092F;
  transition: 0.3s all;
  font-size: 1.8rem;
  font-weight: bold;
}

#mw_wp_form_mw-wp-form-48 button:hover {
  background-color: #fff;
  color: #D7092F;
}

.mw_wp_form_input .confirm_text {
  display: none;
}

.mw_wp_form_input .contact_text {
  display: block;
}

.mw_wp_form_preview .contact_text {
  display: none;
}

.mw_wp_form_preview .confirm_text {
  display: block;
}

#mw_wp_form_mw-wp-form-48 .btn_back {
  width: 200px;
  padding: 10px 0;
  margin-top: 30px;
  background-color: #595757;
  border-color: #595757;
  font-size: 1.4rem;
}

#mw_wp_form_mw-wp-form-48 .btn_back:hover {
  color: #595757;
}

#mw_wp_form_mw-wp-form-48 .btn {
  margin-top: 30px;
}

@media (max-width: 768px) {
  #mw_wp_form_mw-wp-form-48 table {
    margin: 30px 0;
  }
  #mw_wp_form_mw-wp-form-48 table,
  #mw_wp_form_mw-wp-form-48 tbody,
  #mw_wp_form_mw-wp-form-48 tr,
  #mw_wp_form_mw-wp-form-48 th,
  #mw_wp_form_mw-wp-form-48 td {
    display: block;
  }
  #mw_wp_form_mw-wp-form-48 table tr th{
    width: 100%;
    padding: 10px 5px 0 5px;
    font-size: 1.6rem;
  }
  #mw_wp_form_mw-wp-form-48 table tr td{
    width: 100%;
    border-top: 0;
  }
  #mw_wp_form_mw-wp-form-48 button {
    width: 270px;
    padding: 12px 0;
  }
  #mw_wp_form_mw-wp-form-48 table tr:last-child th {
    border-bottom: 0;
  }
  #mw_wp_form_mw-wp-form-48 table tr:last-child td {
    border-color: #D7092F;
  }
}