@charset "UTF-8";
/* CSS Document */

/* ------------------------------
    サブビジュアル
-------------------------------- */

#sub_visual {
  & .sub_mv {
    position: relative;
    height: 43rem;
    display: flex;
    align-items: center;
    top: 10rem;
    overflow: visible;
  }
  & .sub_mv::after {
    position: absolute;
    content: "";
    background: url(../images/second/sub_mv_parts.png) no-repeat right center/cover;
    width: 23rem;
    height: 46rem;
    top: -1.8rem;
    right: 0;
  }
  /* 管理・清掃衛生管理*/
  & .facility_mv {
    background: url(../images/second/facility_mv.png) no-repeat right center/contain;
  }
  /* 建築設計*/
  & .design_mv {
    background: url(../images/second/design_mv.png) no-repeat right center/contain;
  }
  /* 都市計画・資産活用*/
  & .planning_mv {
    background: url(../images/second/planning_mv.png) no-repeat right center/contain;
  }
  /* 資産価値最大化のご提案*/
  & .value_mv {
    background: url(../images/second/value_mv.png) no-repeat right center/contain;
  }
  /* 実績紹介*/
  & .results_mv {
    background: url(../images/second/results_mv.png) no-repeat right center/contain;
  }
  /* 個人情報保護方針*/
  & .privacy_mv {
    background: url(../images/second/privacy_mv.png) no-repeat right center/contain;
  }
  /* 会社案内*/
  & .company_mv {
    background: url(../images/second/company_mv.png) no-repeat right center/contain;
  }
  /* お問い合わせ*/
  & .contact_mv {
    background: url(../images/second/contact_mv.png) no-repeat right center/contain;
  }
  & .mv_inner {
    width: 100%;
    text-align: center;
    color: #fff;
  }
  & h1 {
    font-size: clamp(4rem, 1.016rem + 6.21vw, 8rem);
    font-family: var(--font-mincho);
    line-height: 1;
    color: var(--color-green);
    position: relative;
    padding-left: 5%;
    font-style: italic;
  }
  & h1 span {
    display: block;
    font-size: clamp(3rem, 1.508rem + 3.1vw, 5rem);
    margin-top: 3rem;
    color: var(--color-black);
    font-style: normal;
  }
  & h1::before {
    content: "";
    position: absolute;
    top: 60%;
    left: 0;
    width: 20rem;
    height: 1px;
    background-color: var(--color-green);
  }
  & h1::after {
    content: "";
    position: absolute;
    top: 59%;
    left: 5%;
    width: 20rem;
    height: 10px;
    background-color: var(--color-green);
  }
  /* サブキャッチ2行用 */
  & .planning_mv h1::before {
    top: 73%;
  }
  & .planning_mv h1::after {
    top: 72%;
  }

  @media screen and (max-width: 769px) {
    & .sub_mv {
      top: 0;
      height: 30rem;
    }
    & .sub_mv::after {
      top: 0;
      right: 0;
      width: 15rem;
      height: 30rem;
    }
    & h1 {
      font-size: clamp(4.2rem, 10vw, 6rem);
      line-height: 1;
    }
    & h1 span {
      font-size: clamp(3rem, 4vw, 4rem);
      margin-top: 2rem;
      text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.4), 1px 1px 0px rgba(255, 255, 255, 0.4);
      font-weight: bold;}
    }
    & h1::before {
      width: 18rem;
    }
    & h1::after {
      height: 5px;
      width: 18rem;
    }
  @media screen and (max-width: 740px) {
    & .sub_mv {
      height: 20rem;
      background-position-x: 13rem;
    }
    & .sub_mv::after {
      right: -5rem;
      width: 10rem;
      height: 20rem;
    }
    & h1::before {
      top: 58%;
      width: 10rem;
    }
    & h1::after {
      top: 56%;
      width: 10rem;
    }
     /* サブキャッチ2行用 */
  & .planning_mv h1::before,.design_mv h1::before,.facility_mv h1::before,.value_mv h1::before {
    top: 71%;
  }
  & .planning_mv h1::after,.design_mv h1::after,.facility_mv h1::after,.value_mv h1::after {
    top: 69%;
  }
}
}

/* #sub_visualスマホ用  */
@media screen and (max-width: 740px) {
  #sub_visual {
    overflow: hidden;
  }
}

/* ================================
    下層ページ 共通箇所
================================ */
h2 {
  position: relative;
  padding-bottom: 2rem;
  color: var(--color-green);
  text-align: center;
}
h2::before {
  position: absolute;
  color: var(--color-black);
  font-family: var(--font-mincho);
  font-style: italic;
  top: 50%;
  font-size: 2rem;
  left: 0;
  right: 0;
  margin: auto;
}
h3 {
  position: relative;
  color: var(--color-green);
}

.about p {
  max-width: 750px;
  margin: auto;
  line-height: 1.9;
  font-size: 1.8rem;
}
.about .section_inner {
  padding-top: 25rem;
}
.about h2 {
  text-align: center;
  font-size: 3.6rem;
  padding-bottom: 3rem;
  color: var(--color-black);
  line-height: 1.4;
}
@media screen and (max-width: 769px) {
  .about .section_inner {
    padding-top: 15%;
  }
  .about p {
    width: 100%;
  }
}
@media screen and (max-width: 740px) {
  .about h2 {
    font-size: 2.8rem;
    padding-bottom: 2rem;
    line-height:1.3 ;
  }
  .about p {
    font-size: 1.5rem;
  }
}

/* ================================
    管理・清掃衛生管理　facility ページ
================================ */

#facility_page {
  /* 清掃サービス（ポイント）*/
  & .point {
    background-color: var(--color-whitesmoke);
  }
  & .point .section_inner {
    max-width: 1300px;
    position: relative;
  }
  & .point .flex {
    align-items: center;
  }
  & .point_box {
    background-color: var(--color-white);
    padding: 3em 10rem 3em 3em;
    width: 75rem;
    margin-right: 2rem;
  }
  & .point_img {
    width: 60rem;
    margin-left: -10rem;
  }
  & .point_box li {
    border-bottom: 1px solid var(--color-black);
    counter-increment: mycounter;
    padding: 3rem 0;
  }
  & .point_box li:nth-last-of-type(1) {
    border: none;
  }
  & .point_box h3 {
    padding-bottom: 1rem;
  }
  & .point_box .num {
    display: inline-block;
    width: 5.2rem;
    height: 5.2rem;
    margin-right: 1.5rem;
    padding: 0.5rem;
    font-size: 1rem;
    font-weight: normal;
    text-align: center;
    background-color: var(--color-gray);
    color: #fff;
    vertical-align: middle;
  }
  & .point_box .num:after {
    display: block;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    content: "" counter(mycounter, decimal-leading-zero);
  }

  /* 清掃メニュー*/
  & .menu {
    background-color: var(--color-green);
    padding: 10rem 0;
  }
  & .menu .section_inner {
    background-color: var(--color-white);
  }
  & .menu h2 {
    padding-bottom: 5rem;
  }
  & .menu h2::before {
    content: "MENU";
  }
  & .menu_list {
    max-width: 960px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
  }
  & .menu_list li {
    background-color: rgba(0, 66, 22, 0.2);
    padding: 1rem;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.5;
    min-height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  & .note {
    text-align: center;
    margin-top: 3rem;
    font-size: 1.4rem;
    color: var(--color-gray);
  }
  /* SP */
  @media screen and (max-width: 740px) {
    & .menu_list {
      grid-template-columns: 1fr;
    }
    & .point_box {
      order: 2;
      margin: 0;
      width: 100%;
      padding: 5%;
    }
    & .point_box li {
      padding: 2rem 0;
    }
    & .point_img {
      width: 100%;
      margin: 0;
    }
    & .menu_list li {
      min-height: auto;
    }
    & .note {
    text-align: justify;
  }
  }
}

/* ================================
    建築設計　design ページ
================================ */

#design_page {
  & .design {
    background-color: var(--color-whitesmoke);
  }
  & .design__contents {
    margin-bottom: 10rem;
    counter-increment: mycounter;
  }
  & .design__contents:last-of-type {
    margin-bottom: 0;
  }
  & .design__contents.contents01 {
    background-color: var(--color-white);
    padding: 5rem;
  }
  & .design__contents .flex_txt {
    background-color: var(--color-white);
    padding: 5rem;
  }
  & .design__contents h3 {
    padding-bottom: 0;
  }
  & .design__contents h3 .num {
    display: inline-block;
    width: 10rem;
    height: 10rem;
    margin-right: 1em;
    padding: 0em 0.5em 0.5em 0.5em;
    font-size: 2rem;
    font-weight: normal;
    text-align: center;
    color: #999;
    vertical-align: middle;
  }
  & .design__contents h3 .num:after {
    display: block;
    font-size: 6rem;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    content: "" counter(mycounter, decimal-leading-zero);
  }
  & .design__contents:nth-of-type(even) .flex_txt {
    order: 2;
  }

  & .flex_txt {
    width: 55%;
  }
  & .flex_img {
    width: 45%;
  }
  & .contents__detail {
    flex-wrap: wrap;
    margin-top: 5rem;
  }
  & .contents__detail .detail {
    width: 49%;
    margin-bottom: 2rem;
  }
  & .contents__detail .detail:nth-last-of-type(-n + 2) {
    margin-bottom: 0;
  }
  & .contents__detail h4 {
    color: var(--color-green);
    padding: 0.5rem;
    border: 1px solid var(--color-green);
    width: 45%;
    text-align: center;
    min-height: 4.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  & .contents__detail p {
    width: 52%;
    font-size: 1.3rem;
    line-height: 1.5;
  }
  @media screen and (max-width: 769px) {
    & .design__contents.contents01 {
      padding: 2rem;
    }
    & .design__contents .flex_txt {
      padding: 2rem;
    }
    & .flex {
      align-items: center;
    }
    & .contents__detail h4 {
      min-height: 6rem;
    }
  }
  /* SP */
  @media screen and (max-width: 740px) {
    & .flex_txt {
      width: 100%;
      order: 2;
    }
    & .flex_img {
      width: 100%;
    }
    & .design__contents {
      margin-bottom: 8%;
    }
    & .design__contents h3 .num {
      width: 5rem;
      height: 7rem;
      font-size: 1.3rem;
      padding: 0;
    }
    & .design__contents h3 .num:after {
      font-size: 4rem;
    }
    & .design__contents {
      margin-bottom: 5rem;
    }
    & .contents__detail {
      margin-top: 3rem;
    }
    & .contents__detail .detail {
      width: 100%;
    }
    & .contents__detail .detail:nth-last-of-type(-n + 2) {
      margin-bottom: 2rem;
    }
    & .contents__detail h4 {
      padding: 1rem;
      width: 100%;
      margin-right: 0;
    }
    & .contents__detail h4 {
      min-height: auto;
    }
    & .contents__detail p {
      margin-top: 1rem;
      font-size: 1.4rem;
      width: 100%;
    }
  }
}

/* ================================
    都市計画・資産活用　planning ページ
================================ */

#planning_page {
  & .planning {
    background-color: var(--color-green);
    padding: 10rem 0;
  }
  & .planning .section_inner {
    background-color: var(--color-white);
  }
  & .planning h2 {
    padding-bottom: 8rem;
    font-size: 3rem;
    line-height: 1.3;
  }
  & .planning h2::before {
    content: "Q&A";
  }
  & .planning_box {
    width: 960px;
    flex-wrap: wrap;
    margin: 0 auto 5rem;
  }
  & .planning__contents {
    width: 50%;
    counter-increment: mycounter;
    padding: 4rem 3rem;
    border-bottom: 1px solid var(--color-green);
  }
  & .planning__contents:nth-of-type(odd) {
    border-right: 1px solid var(--color-green);
  }
  & .planning__contents:nth-last-of-type(1) {
    border-bottom: none;
  }

  & .planning__contents h3 {
    font-size: 2rem;
    display: flex;
    line-height: 1.3;
    position: relative;
    padding-right: 8rem;
  }
  & .planning__contents h3:after {
    content: "";
    position: absolute;
    width: 7rem;
    height: 7rem;
    top: -10%;
    right: 0;
  }
  & .planning__contents.contents01 h3:after {
    background: url(../images/second/planning_img01.png) no-repeat right center/cover;
  }
  & .planning__contents.contents02 h3:after {
    background: url(../images/second/planning_img02.png) no-repeat right center/cover;
  }
  & .planning__contents.contents03 h3:after {
    background: url(../images/second/planning_img03.png) no-repeat right center/cover;
  }
  & .planning__contents.contents04 h3:after {
    background: url(../images/second/planning_img04.png) no-repeat right center/cover;
  }
  & .planning__contents.contents05 h3:after {
    background: url(../images/second/planning_img05.png) no-repeat right center/cover;
  }
  & .planning__contents.contents06 h3:after {
    background: url(../images/second/planning_img06.png) no-repeat right center/cover;
  }
  & .planning__contents.contents07 h3:after {
    background: url(../images/second/planning_img07.png) no-repeat right center/cover;
  }

  & .planning__contents .num {
    display: inline-block;
    width: 5rem;
    height: 5rem;
    margin-right: 1rem;
    padding: 0.8rem 0.5em 0em 0.5em;
    font-weight: normal;
    text-align: center;
    background-color: var(--color-black);
    color: #fff;
    vertical-align: middle;
  }
  & .planning__contents .num:after {
    display: block;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    content: "" counter(mycounter, decimal-leading-zero);
  }
  & .banner_area {
    width: 960px;
    margin: auto;
    min-height: 280px;
    background: url(../images/second/planning_banner.jpg) no-repeat right center/cover;
    padding: 9rem 3rem 3rem 3rem;
  }
  & .banner_area h3 {
    font-size: 5.2rem;
    color: #ead854;
    text-align: center;
  }
  & .banner_area h3::before {
    content: "Value Enhancement";
    position: absolute;
    color: var(--color-white);
    font-style: italic;
    top: -50%;
    font-size: 2.4rem;
    left: 0;
    right: 0;
    margin: auto;
  }
  & .banner_area a {
    font-family: var(--font-mincho);
    color: var(--color-white);
    font-size: 2rem;
    display: block;
    padding: 1.5rem 0;
    width: 480px;
    margin: auto;
    position: relative;
    text-align: center;
    border: 1px solid #ead854;
    transition: color 0.5s ease;
    z-index: 2;
  }
  & .banner_area a:after {
    content: "";
    position: absolute;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #ead854;
    border-right: 0;
    top: 40%;
    right: 1rem;
  }
  & .banner_area a:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #ead854;
    transform: scaleX(0);
    transform-origin: left;
    transition: all 0.4s ease;
    transition-property: transform;
    z-index: -1;
}
  & .banner_area a:hover:before {
    transform: scaleX(1);
    transform-origin: left;
  }
  & .banner_area a:hover {
    opacity: 1;
    color: var(--color-green);
    z-index: 1;
  }
  & .banner_area a:hover:after {
    border-left: 10px solid var(--color-green);
  }

  @media screen and (max-width: 769px) {
    & .planning_box {width: 100%;}
    & .planning__contents  {padding: 4rem 2rem;}
    & .banner_area {width: 100%;}
  }
  /* SP */
  @media screen and (max-width: 740px) {
    & .planning h2 {font-size:clamp(2rem, 10vw, 2.6rem); padding-bottom: 3rem;}
    & .planning h2::before {top: 80%;}
    & .planning__contents {width: 100%; padding: 3rem 0;}
    & .planning__contents:nth-of-type(odd) {border-right:none;}
    & .planning__contents h3 {padding-right: 6rem; letter-spacing: -1px;}
    & .planning__contents h3:after {width: 5rem; height: 5rem; top: 5%;}
    & .banner_area {background-position: center center; padding: 8rem 3rem 3rem 3rem;}
    & .banner_area a {width: 100%; line-height: 1.2; font-size: 1.8rem; padding: 0.5rem 0;}
    & .banner_area h3 {font-size: 4rem;}
    & .banner_area h3::before {font-size: 2rem; top:-25%;}
  }
}

/* ================================
    資産価値最大化のご提案　value ページ
================================ */

#value_page {
  & .value {
    background-color: var(--color-green);
    padding: 10rem 0;
  }
  & .value .section_inner {
    text-align: center;
    background-color: var(--color-white);
  }
  & .value h2 {
    padding-bottom: 8rem;
    font-size: 3rem;
    line-height: 1.3;
  }
  & .value h3 {
    padding-bottom: 4rem;
    font-size: 2rem;
    text-align: center;
    line-height: 1.3;
    color: var(--color-black);
  }
  & .text_inner {
    max-width: 750px;
    margin: 0 auto 8rem auto;
  }
  & .value img {
    max-width: 900px;
    margin: 0 auto;
  }
  @media screen and (max-width:740px){
    & .value h2 {
    padding-bottom: 3rem;
    font-size: 2.6rem;
  }
  & .value h3 {
    padding-bottom: 2rem;
    font-size: 1.8rem;
    text-align: justify;
  }
}
}

/* ================================
    実績紹介　results ページ
================================ */
#results {background:var(--color-whitesmoke);position: relative; margin-top: 10rem;}
#results h2 {max-width: 1100px; font-size: 5rem; position: relative; padding-bottom: 3rem; margin: auto;}
#results h2::before {content: "Results";font-size: 10rem; font-style: italic; color: var(--color-green); position: absolute; top:-12rem;}
#results .results_contents {width: 31%; margin-bottom: 6rem; }
#results .results_contents .flex {flex-wrap: wrap;}
#results .results_contents_category {margin: 1.5rem 0; width: 100%;}
#results .results_contents_category span {border: 1px solid var(--color-green); background-color: var(--color-white); color: var(--color-green); padding: 0.4rem 2rem; margin-right: 1rem; border-radius: 5px;} 
#results .results_contents_name {font-family:  var(--font-mincho); font-size: 1.8rem;}
#results .results_contents_name span.time {display: block; color: var(--color-gray); font-family: var(--font-gothic); font-size: 1.5rem;}
#results .link_btn {margin: 3rem auto 0;}
#results .flex {flex-wrap: wrap;}

@media screen and (max-width:940px){
    #results h2 {font-size: clamp(2.4rem, 0.877rem + 6.5vw, 4rem); }
    #results h2::before {font-size:clamp(5rem, 2.145rem + 12.18vw, 8rem);top:-120%;}
    #results .section_inner {padding: 18% 5% 10%;}
    #results .results_contents_name {font-size: 1.5rem;}
}
@media screen and (max-width:740px){
    #results .flex.slider {display: block;}
    #results .results_contents {width: 100%; margin-bottom: 3rem;}
    #results .results_contents {margin-bottom: 3rem;}
}

/* ================================
    個人情報保護方針　privacy ページ
================================ */

#policy_page {
  & .policy { margin: 20rem 0 8rem ;}
  & .section_inner {background:var(--color-whitesmoke); max-width: 1100px; padding: 10rem;}
  & .policy h2 { margin-top: 4rem; font-size: 2rem; text-align: left; color: var(--color-black);}
@media screen and (max-width: 769px) {
  & .policy {margin: 15% 5% ;}
  & .policy .section_inner {padding: 10% 5%;}
 }
@media screen and (max-width: 740px) {
  & .policy .section_inner {padding: 4rem 3rem;}
  & .policy { margin: 8rem 0;}
}
}
/* ================================
    会社案内　Company ページ
================================ */

#company_page {
  & .section_inner { padding: 20rem 0 10rem;text-align: center;} 

  & .company h2{
    padding-bottom: 8rem;
  }
  & .company h2::before {
    content: "CORPORATE PROFILE";
    top: 40%;
  }
  & .company_box {width: 100%;}
  & .company__contents th,.company__contents td {padding: 2.5rem 2rem; border-bottom:1px solid var(--color-gray) ; line-height: 1.5;}
  & .company__contents th {width:30%;}
  /* & .company__contents td {width:70%;} */

  & .access {padding: 10rem 0 ; background:var(--color-whitesmoke);}
  & .access h2::before {
    content: "ACCESS";
  }
  & .access h2,.access h3,.access p {text-align: center;}
  & .access h3 {padding: 5rem 0 1rem;font-size: 2.4rem;}
  & .access p {padding-bottom: 1rem; line-height: 1.5;}
  & .access .section_inner {padding: 0;}

@media screen and (max-width: 769px) {
  & .section_inner {padding: 15% 5%;}
 }
@media screen and (max-width: 740px) {
  & .company h2{padding-bottom: 15%;}
  & .company h2::before {top:45%; }
  & .access {padding: 15% 0;}
  & .access h3 {padding: 3rem 0 0.4rem;font-size: 2rem;}
  & .company__contents th {width: 26%; padding: 2rem 1rem;}
  & .company__contents td {padding: 2rem 1rem;}
}
  
}

/* ================================
    お問い合わせ　contact ページ
================================ */
#contact_page {
  & .contact {
    margin: 20rem 0 8rem ;
  }
  & .contact h2{
    padding-bottom: 4rem ;
  }
  & .contact h2::before {
    content: "CONTACT FORM";
    top: 60%;
  }
  /* & .section_inner {margin: 10rem auto 0 auto; text-align: center;} */
  & .section_inner {background:var(--color-whitesmoke); max-width: 1100px; padding: 10rem;text-align: center;}
  & p {text-align: center; padding-top: 3rem;}
  & a.privacy {display: inline-block; margin: 3rem auto 0; color: var(--color-green); text-decoration: underline;}
  /* & a.link_btn {margin: 1rem auto 10rem;} */
  & a.link_btn {margin: 2rem auto 0;}
@media screen and (max-width: 769px) {
  & .contact {margin: 15% 5% ;}
  & .section_inner {padding: 10% 5%;}
 }
  @media screen and (max-width: 740px) {
  & p {text-align: justify; }
}

}

