@charset "UTF-8";
/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #fff;
  font-size: 3.846vw;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  /*font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
  /*font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
  /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
  /*font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;*/
  -webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 420px) {
  html {
    font-size: 18px;
  }
}
a {
  color: #3A3A3A;
  display: block;
}

#wrapper {
  width: 100%;
  height: 100%;
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  width: 100%;
  padding: 0 1rem;
}

.container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.m_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.s_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.is_pc {
  display: none;
}

.is_hidden_tab {
  display: none;
}
.is_hidden_tab.and_sp {
  display: block;
}

.objectCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.inertia {
  -webkit-overflow-scrolling: touch;
}

.preload * {
  transition: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ 共通 ▼
//
///////////////////////////////////////////////////*/
main {
  background: #1D1D1D;
}

.en {
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.05em;
}

.contact_btn {
  width: 20rem;
  position: relative;
}
.contact_btn::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: -1.6rem;
  margin: auto 0;
  width: 4.6666666667rem;
  height: 0.7rem;
  background: url(../images/common/btn_arrow01.png) no-repeat center/contain;
  animation: btnHover-out 0.5s ease forwards;
}
.contact_btn a,
.contact_btn button {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  background: #CB5733;
  border: solid 2px #CB5733;
  padding: 1.6rem 0;
  margin: 0 auto 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
}
header .header_inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
header .header_inner .logo {
  line-height: 1;
  width: 4.6666666667rem;
  display: flex;
  align-items: center;
}
header .header_inner .logo a {
  width: 100%;
}
header .header_inner .logo a img {
  display: block;
  width: 100%;
  height: auto;
}
header .header_inner nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 87.18%;
  height: 100vh;
  background: rgba(29, 29, 29, 0.98);
  transition: 0.3s;
  padding-top: 11.84vh;
  padding-left: 1.3333333333rem;
  padding-right: 1.3333333333rem;
}
header .header_inner nav.active {
  right: 0;
}
header .header_inner nav figure {
  width: 33.82%;
  margin: 0 auto 2rem;
}
header .header_inner nav ul li a {
  color: #fff;
  width: 100%;
  padding: 1rem 0;
  text-align: center;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: normal;
}
header .header_inner nav ul li a span {
  display: block;
  font-size: 1.2rem;
}
header .header_inner nav ul li.contact_btn {
  position: relative;
  margin: 2rem auto 0;
}
header .header_inner nav ul li.contact_btn::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 4rem;
  height: 0.7rem;
  background: url(../images/common/btn_arrow01.png) no-repeat center/contain;
}
header .header_inner nav ul li.contact_btn a {
  width: 93.33%;
  margin: 0 auto 0 0;
  font-size: 1.0666666667rem;
  padding: 1.6rem 0;
  background: #CB5733;
}
header .header_inner .menu_open {
  width: 3.2rem;
  height: 3.2rem;
  position: relative;
}
header .header_inner .menu_open span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  width: 40%;
  height: 1px;
  transition: 0.3s;
}
header .header_inner .menu_open span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(8px);
}
header .header_inner .menu_open span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}
header .header_inner .menu_open span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-8px);
}
header .header_inner .menu_open.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header .header_inner .menu_open.active span:nth-of-type(2) {
  opacity: 0;
}
header .header_inner .menu_open.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター ▼
//
///////////////////////////////////////////////////*/
footer {
  background: #1D1D1D;
  border-top: solid 1px #fff;
}
footer .footer_in {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 3.2rem 0 3.7333333333rem;
}
footer .footer_in .logo a figure {
  width: 7.6666666667rem;
  height: 7.6666666667rem;
}
footer .footer_in .logo a .name {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: #fff;
  margin: 1.0666666667rem 0 0;
}
footer .footer_in .nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3.6rem 0 0;
}
footer .footer_in .nav li {
  font-weight: 500;
  line-height: 2;
  position: relative;
}
footer .footer_in .nav li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 1px;
  height: 1.2rem;
  background: #bbb;
}
footer .footer_in .nav li:last-of-type::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 1.2rem;
  background: #bbb;
}
footer .footer_in .nav li a {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  color: #bbb;
  padding: 0 0.8rem;
  position: relative;
}
footer .footer_in .contact_btn02 {
  width: 13.3333333333rem;
  font-size: 0.8666666667rem;
  line-height: 2;
  color: #bbb;
  text-align: center;
  border: solid 1px #bbb;
  padding: 1.3333333333rem 0.6666666667rem;
  margin: 3.2rem 0 0;
}
footer .copyright {
  border-top: solid 1px #fff;
  padding: 1.0666666667rem 0;
}
footer .copyright .center_txt {
  font-size: 0.6666666667rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01 ▼
//
///////////////////////////////////////////////////*/
.top01 {
  background: #000;
}
.top01 .mv {
  height: 100vh;
  display: flex;
  flex-direction: column;
}
.top01 .mv .box_left,
.top01 .mv .box_right {
  width: 100%;
  height: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top01 .mv .box_left .inner,
.top01 .mv .box_right .inner {
  width: 69.23%;
  height: 79.62%;
}
.top01 .mv .box_left .inner a,
.top01 .mv .box_right .inner a {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
}
.top01 .mv .box_left .inner a::before,
.top01 .mv .box_right .inner a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.4;
}
.top01 .mv .box_left .inner a .txt_box,
.top01 .mv .box_right .inner a .txt_box {
  position: absolute;
  bottom: 7.73%;
  left: 0;
  right: 0;
  margin: 0 auto;
  color: #fff;
  text-align: center;
}
.top01 .mv .box_left .inner a .txt_box .txt,
.top01 .mv .box_right .inner a .txt_box .txt {
  font-weight: 700;
  line-height: normal;
  margin: 0 0 0.6666666667rem;
}
.top01 .mv .box_left .inner a .txt_box .txt span,
.top01 .mv .box_right .inner a .txt_box .txt span {
  font-size: 1.2rem;
}
.top01 .mv .box_left .inner a .txt_box .txt h2,
.top01 .mv .box_right .inner a .txt_box .txt h2 {
  font-size: 0.8rem;
}
.top01 .mv .box_left .inner a .txt_box .circle,
.top01 .mv .box_right .inner a .txt_box .circle {
  width: 6.6666666667rem;
  height: 6.6666666667rem;
  margin: 0 auto;
  border: solid 2px #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top01 .mv .box_left .inner a .txt_box .circle span,
.top01 .mv .box_right .inner a .txt_box .circle span {
  font-size: 0.6666666667rem;
  font-weight: 700;
}
.top01 .mv .box_left {
  position: relative;
}
.top01 .mv .box_left::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/top/left_bg.jpg) no-repeat center/cover;
  opacity: 0.15;
}
.top01 .mv .box_left .inner {
  position: relative;
}
.top01 .mv .box_left .inner::before {
  position: absolute;
  z-index: 3;
  content: "";
  bottom: -0.4333333333rem;
  left: -1.3333333333rem;
  width: 2.9333333333rem;
  height: 13.4333333333rem;
  background: url(../images/top/left_img01_sp.png) no-repeat center/contain;
}
.top01 .mv .box_left .inner::after {
  position: absolute;
  z-index: 3;
  content: "";
  top: -0.4333333333rem;
  right: -0.4333333333rem;
  width: 2rem;
  height: 2rem;
  background: url(../images/top/left_img02_sp.png) no-repeat center/contain;
}
.top01 .mv .box_right {
  position: relative;
}
.top01 .mv .box_right::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/top/right_bg.jpg) no-repeat center/cover;
  opacity: 0.15;
}
.top01 .mv .box_right .inner {
  position: relative;
}
.top01 .mv .box_right .inner::before {
  position: absolute;
  z-index: 3;
  content: "";
  top: -0.4333333333rem;
  right: -1.3333333333rem;
  width: 2.9333333333rem;
  height: 13.4333333333rem;
  background: url(../images/top/right_img01_sp.png) no-repeat center/contain;
}
.top01 .mv .box_right .inner::after {
  position: absolute;
  z-index: 3;
  content: "";
  bottom: -0.4333333333rem;
  left: -0.4333333333rem;
  width: 2rem;
  height: 2rem;
  background: url(../images/top/right_img02_sp.png) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA ▼
//
///////////////////////////////////////////////////*/
.cta .contact_area {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 4rem 3rem 2.6666666667rem;
  position: relative;
}
.cta .contact_area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/common/contact_img01_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
.cta .contact_area .contact_in {
  position: relative;
  z-index: 1;
}
.cta .contact_area .contact_in .section_ttl .en,
.cta .contact_area .contact_in .section_ttl .ja {
  text-align: center;
}
.cta .contact_area .contact_in .txt {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  margin: 1.3333333333rem 0 0;
}
.cta .contact_area .contact_in .contact_btn {
  margin: 2.5333333333rem auto 0;
}
.cta .access_area {
  padding: 2.1333333333rem 0 3.2rem;
}
.cta .access_area .access_in {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.cta .access_area .map {
  width: 100%;
  max-width: 650px;
  aspect-ratio: 9/7;
  margin: 0 auto;
}
.cta .access_area .map iframe {
  width: 100%;
  height: 100%;
}
.cta .access_area .txt_box {
  width: calc(100% - 1.3333333333rem);
  max-width: 650px;
  background: #fff;
  padding: 2rem;
  margin: -3.2rem auto 0;
  position: relative;
  z-index: 2;
}
.cta .access_area .txt_box .section_ttl .en,
.cta .access_area .txt_box .section_ttl .ja {
  text-align: center;
  color: #3A3A3A;
}
.cta .access_area .txt_box .address {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: #3A3A3A;
  margin: 1.6rem 0 0;
}
.cta .access_area .txt_box .address span {
  font-size: 0.8666666667rem;
  color: #CB5733;
  margin-right: 0.2666666667rem;
}
.cta .access_area .txt_box .contact_btn {
  width: min(18.6666666667rem, 300px);
  margin: 1.0666666667rem auto 0;
}
.cta .access_area .txt_box .contact_btn::before {
  right: -1.3333333333rem;
  background: url(../images/common/btn_arrow01_black.png) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通 ▼
//
///////////////////////////////////////////////////*/
.lower_mv {
  width: 100%;
  padding: 4.6666666667rem 1rem 0;
}
.lower_mv .left {
  max-width: 650px;
  margin: 0 auto;
  padding: 2.6666666667rem 0;
  position: relative;
}
.lower_mv .left .lower_ttl .en,
.lower_mv .left .lower_ttl .ja {
  display: block;
  font-weight: 700;
  color: #fff;
}
.lower_mv .left .lower_ttl .en {
  font-size: clamp(1.3333333333rem, 10.7692307692vw, 2.8rem);
  line-height: 1.5;
  letter-spacing: 0.021em;
  text-transform: uppercase;
}
.lower_mv .left .lower_ttl .ja {
  font-size: min(0.9333333333rem, 14.5px);
  line-height: 2;
  position: relative;
  padding-left: calc(100% - 10em - 0.6666666667rem);
}
.lower_mv .left .lower_ttl .ja::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #CB5733;
}
.lower_mv .left .lower_ttl .ja span {
  display: block;
  background: #1D1D1D;
  padding-left: 0.6666666667rem;
  position: relative;
  z-index: 1;
}
.lower_mv .left .intro {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  margin: 1.2rem 0 0;
}
.lower_mv .left .scroll {
  position: absolute;
  bottom: 4.8rem;
  right: 0;
  width: 6.0666666667rem;
  transform: rotate(-90deg);
  transform-origin: bottom right;
}
.lower_mv .left .scroll::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.8666666667rem;
  height: 1px;
  background: #fff;
  animation: scroll_ani 2s infinite;
  animation-fill-mode: both;
  z-index: 1;
}
.lower_mv .left .scroll p {
  width: fit-content;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.5;
  text-transform: uppercase;
  background: #1D1D1D;
  padding-left: 0.2666666667rem;
  position: relative;
  margin: 0 0 0 auto;
  z-index: 2;
}
@keyframes scroll_ani {
  0% {
    transform: translate(100%, 0);
    width: 2.8666666667rem;
  }
  50% {
    transform: translate(0, 0);
    width: 2.8666666667rem;
  }
  100% {
    transform: translate(0, 0);
    width: 0;
  }
}
.lower_mv .right {
  padding: 3rem 0;
  position: relative;
  z-index: 1;
}
.lower_mv .right::before {
  content: "";
  position: absolute;
  top: 0;
  right: -1rem;
  width: calc(100% - 1.8rem);
  height: 100%;
  z-index: -1;
  background: url(../images/consulting/mv_bg_sp.png) center/cover no-repeat;
}
.lower_mv .right figure {
  margin: 0 -1rem 0 0;
}
.lower_mv .right figure img {
  width: 100%;
  height: 100%;
}

.section_ttl .en,
.section_ttl .ja {
  display: block;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
.section_ttl .en {
  font-size: 2.1333333333rem;
  text-transform: uppercase;
  letter-spacing: normal;
}
.section_ttl .ja {
  font-size: 0.9333333333rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ コンサルティング01▼
//
///////////////////////////////////////////////////*/
.consulting01 .left .lower_ttl,
.consulting01 .left .intro {
  width: 78.3%;
  max-width: 340px;
}

/*///////////////////////////////////////////////////
//
//            ▼ ビルメンテナンス01▼
//
///////////////////////////////////////////////////*/
.building01 .left .lower_ttl,
.building01 .left .intro {
  width: 90%;
  max-width: 384px;
}
.building01 .right::before {
  background: url(../images/building/mv_bg_sp.png) center/cover no-repeat;
}

/*///////////////////////////////////////////////////
//
//            ▼ コンサルティング02 共通▼
//            ▼ ビルメンテナンス02 共通▼
//
///////////////////////////////////////////////////*/
.common_business02 {
  margin: 4rem 0 0;
}
.common_business02 .common_business02_in {
  display: flex;
  flex-direction: column;
  row-gap: 2.1333333333rem;
}
.common_business02 .common_business02_in .section_ttl {
  order: 1;
  width: 100%;
}
.common_business02 .common_business02_in .left {
  display: contents;
}
.common_business02 .common_business02_in .strength_list {
  order: 3;
  display: flex;
  flex-direction: column;
  row-gap: 1.3333333333rem;
}
.common_business02 .common_business02_in .strength_list .item .ttl {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 1.0666666667rem;
  position: relative;
}
.common_business02 .common_business02_in .strength_list .item .ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.6666666667rem;
  height: 0.2rem;
  background: #CB5733;
}
.common_business02 .common_business02_in .strength_list .item .txt {
  font-size: 0.8666666667rem;
  font-weight: 400;
  line-height: 2;
  margin: 0.6666666667rem 0 0;
}
.common_business02 .common_business02_in .strength_list .item .txt .orange {
  color: #CB5733;
}
.common_business02 .common_business02_in .strength_list .item .txt .line {
  font-weight: 700;
  border-bottom: solid 1px #fff;
}
.common_business02 .common_business02_in .right {
  order: 2;
  width: 100%;
}
.common_business02 .common_business02_in .right figure img {
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ ビルメンテナンス02▼
//
///////////////////////////////////////////////////*/
.building02 .common_business02_in .strength_list {
  order: 2;
}
.building02 .common_business02_in .right {
  order: 3;
}

/*///////////////////////////////////////////////////
//
//            ▼ コンサルティング03 共通▼
//            ▼ ビルメンテナンス03 共通▼
//
///////////////////////////////////////////////////*/
.common_business03 {
  margin: 4rem 0 0;
  position: relative;
}
.common_business03::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background: #fff;
}
.common_business03 .container {
  position: relative;
}
.common_business03 .container .section_ttl02 {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 2;
  text-transform: uppercase;
  padding-left: 3.1333333333rem;
  position: relative;
}
.common_business03 .container .section_ttl02::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.6666666667rem;
  height: 1px;
  background: #fff;
}
.common_business03 .container .scroll_bar {
  position: absolute;
  top: 2.1333333333rem;
  left: 1rem;
  width: 1px;
  height: 0;
  background: #fff;
}
.common_business03 .common_business03_in {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 0.6666666667rem;
  border-right: solid 1px #fff;
  padding: 1.3333333333rem 0.6666666667rem;
  position: relative;
}
.common_business03 .common_business03_in::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100vw;
  height: 1px;
  background: #fff;
}
.common_business03 .common_business03_in::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 0;
  background: #fff;
}
.common_business03 .common_business03_in .item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48.2352941176%;
  aspect-ratio: 55/58;
  min-height: 11.6rem;
  background: #fff;
  padding: 1.2rem 1.0666666667rem;
}
.common_business03 .common_business03_in .item .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.common_business03 .common_business03_in .item .inner figure {
  max-width: 4.8666666667rem;
}
.common_business03 .common_business03_in .item .inner figure img {
  width: 100%;
}
.common_business03 .common_business03_in .item .inner .txt {
  font-size: min(0.8666666667rem, 13.4px);
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  color: #3A3A3A;
  margin: 0.6666666667rem 0 0;
}
.common_business03 .common_business03_in .item:first-of-type {
  background: none;
  border: solid 1px #fff;
}
.common_business03 .common_business03_in .item:first-of-type .inner {
  width: 100%;
  height: 100%;
}
.common_business03 .common_business03_in .item:first-of-type .inner .sub_ttl {
  font-size: min(1rem, 15px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.08em;
}
.common_business03 .common_business03_in .item:first-of-type .inner .sub_ttl .orange {
  color: #CB5733;
}
.common_business03 .common_business03_in .item:nth-of-type(2) {
  padding: 0.92rem 1.0666666667rem;
}
.common_business03 .common_business03_in .item:nth-of-type(2) .inner figure {
  max-width: 4.4833333333rem;
}
.common_business03 .common_business03_in .item:nth-of-type(3) .inner figure {
  max-width: 3.85rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ ビルメンテナンス03▼
//
///////////////////////////////////////////////////*/
.building03 .common_business03_in .item:first-of-type {
  padding: 1.2rem 0.4666666667rem;
}
.building03 .common_business03_in .item:nth-of-type(2) .inner figure {
  max-width: 2.75rem;
}
.building03 .common_business03_in .item:nth-of-type(3) .inner figure {
  max-width: 5rem;
}
.building03 .common_business03_in .item:nth-of-type(4) .inner figure {
  width: 5.4193333333rem;
}
.building03 .common_business03_in .item:nth-of-type(5) .inner figure {
  width: 4.5333333333rem;
}
.building03 .common_business03_in .item:nth-of-type(6) .inner figure {
  width: 5.1333333333rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ コンサルティング04 共通▼
//            ▼ ビルメンテナンス04 共通▼
//
///////////////////////////////////////////////////*/
.common_business04 {
  width: 100%;
  margin: 4rem auto 0;
  padding: 0 0 1.4rem;
  position: relative;
}
.common_business04::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background: #fff;
}
.common_business04 .section_ttl {
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}
.common_business04 .common_business04_in {
  display: flex;
  flex-direction: column;
  row-gap: 0.6666666667rem;
  margin: 2.1333333333rem 0 0;
}
.common_business04 .common_business04_in .item {
  max-width: 650px;
  margin: 0 auto;
  padding: 1.4666666667rem 1rem;
  position: relative;
}
.common_business04 .common_business04_in .item::before {
  content: "";
  position: absolute;
  top: 0;
  width: 88.4615384615%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
}
.common_business04 .common_business04_in .item .inner {
  position: relative;
}
.common_business04 .common_business04_in .item .inner .scroll_bar {
  position: absolute;
  top: -2.2666666667rem;
  left: 0;
  width: 1px;
  height: 0;
  background: #fff;
}
.common_business04 .common_business04_in .item .inner figure {
  width: 83.3333333333%;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 1;
}
.common_business04 .common_business04_in .item .inner figure img {
  width: 100%;
}
.common_business04 .common_business04_in .item .inner .txt_box {
  width: 83.3333333333%;
  background: #fff;
  padding: 2rem;
  transform: translateY(-0.6666666667rem);
}
.common_business04 .common_business04_in .item .inner .txt_box .ttl {
  display: flex;
  align-items: center;
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  color: #3A3A3A;
}
.common_business04 .common_business04_in .item .inner .txt_box .ttl .nm {
  min-width: 3rem;
  font-size: 2.1333333333rem;
  color: #CB5733;
  margin-right: 0.5333333333rem;
}
.common_business04 .common_business04_in .item .inner .txt_box .txt {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  color: #3A3A3A;
}
.common_business04 .common_business04_in .item.item01::before {
  right: 0;
  background-image: url(../images/consulting/consulting04_img01bg_sp.png);
}
.common_business04 .common_business04_in .item.item02::before {
  left: 0;
  background-image: url(../images/consulting/consulting04_img02bg_sp.png);
}
.common_business04 .common_business04_in .item:last-of-type::before {
  right: 0;
  background-image: url(../images/consulting/consulting04_img03bg_sp.png);
}
.common_business04 .common_business04_in .item:last-of-type .inner .scroll_bar_last {
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  width: 1px;
  height: 0;
  background: #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ ビルメンテナンス04▼
//
///////////////////////////////////////////////////*/
.building04 .common_business04_in .item.item01::before {
  background-image: url(../images/building/building04_img01_bg_sp.png);
}
.building04 .common_business04_in .item.item02::before {
  background-image: url(../images/building/building04_img02_bg_sp.png);
}
.building04 .common_business04_in .item.item03::before {
  right: 0;
  background-image: url(../images/building/building04_img03_bg_sp.png);
}
.building04 .common_business04_in .item.item04::before {
  background-image: url(../images/building/building04_img04_bg_sp.png);
}
.building04 .common_business04_in .item:last-of-type::before {
  background-image: url(../images/building/building04_img05_bg_sp.png);
}

/*///////////////////////////////////////////////////
//
//            ▼ コンサルティング05 共通▼
//            ▼ ビルメンテナンス05 共通▼
//
///////////////////////////////////////////////////*/
.common_business05 {
  margin: 4rem 0 0;
}
.common_business05 .common_business05_in {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 0.6666666667rem;
  margin: 2.1333333333rem 0 0;
}
.common_business05 .common_business05_in .item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(48.6111111111%, 186px);
  min-height: 10.6666666667rem;
  aspect-ratio: 35/32;
  border: solid 1px #fff;
  padding: 1.4666666667rem;
}
.common_business05 .common_business05_in .item .inner .txt {
  font-size: min(0.8666666667rem, 12.9px);
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  margin: 0.6666666667rem 0 0;
}
.common_business05 .common_business05_in .item:first-of-type {
  margin: 0 25.695%;
}
.common_business05 .common_business05_in .item:first-of-type .inner figure {
  width: 4.2666666667rem;
  margin: 0 auto;
}
.common_business05 .common_business05_in .item:nth-of-type(2) .inner figure {
  width: auto;
  height: 4.5333333333rem;
  margin: 0 auto;
}
.common_business05 .common_business05_in .item:nth-of-type(2) .inner figure img {
  display: block;
  width: auto;
  height: 100%;
  margin: 0 auto;
}
.common_business05 .common_business05_in .item:last-of-type .inner figure {
  width: 3.9rem;
  margin: 0 auto;
}
.common_business05 .closing_sentence {
  padding: 3.3333333333rem 0 1.6333333333rem;
  margin: 3.2rem 0 0;
  position: relative;
  z-index: 1;
}
.common_business05 .closing_sentence::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: calc(100% + 0.6666666667rem);
  background: #fff;
  animation: scroll_ani02 2s infinite;
  animation-fill-mode: both;
}
.common_business05 .closing_sentence span {
  display: block;
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  background: #1D1D1D;
  padding: 0.6666666667rem 0 0.9333333333rem;
  position: relative;
  z-index: 2;
}
@keyframes scroll_ani02 {
  0% {
    transform: scale(0);
    transform-origin: top;
  }
  50% {
    transform: scale(1);
    transform-origin: top;
  }
  51% {
    transform: scale(1);
    transform-origin: bottom;
  }
  100% {
    transform: scale(0);
    transform-origin: bottom;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ ビルメンテナンス05▼
//
///////////////////////////////////////////////////*/
.building05 .common_business05_in .item {
  width: calc((100% - 0.6666666667rem) / 2);
}
.building05 .common_business05_in .item:first-of-type {
  margin: 0;
}
.building05 .common_business05_in .item:first-of-type .inner figure {
  width: 2.8333333333rem;
}
.building05 .common_business05_in .item:nth-of-type(2) .inner figure {
  width: 4.0426666667rem;
}
.building05 .common_business05_in .item:nth-of-type(3) .inner figure {
  width: 4.6333333333rem;
}
.building05 .common_business05_in .item:last-of-type .inner figure {
  width: 3.9666666667rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要01 ▼
//
///////////////////////////////////////////////////*/
.company01 .left .lower_ttl {
  width: 64%;
  max-width: 276px;
}
.company01 .left .lower_ttl .ja {
  padding-left: calc(100% - 4.5em - 0.6666666667rem);
}
.company01 .right::before {
  background: url(../images/company/mv_bg_sp.png) center/cover no-repeat;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要02 ▼
//
///////////////////////////////////////////////////*/
.company02 {
  margin: 3.3333333333rem 0 0;
}
.company02 .heading_ttl {
  font-size: 1.3333333333rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
  color: #fff;
}
.company02 .heading_ttl .orange {
  color: #CB5733;
}
.company02 .txt {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  margin: 2.1333333333rem 0 0;
}
.company02 .name {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: 0.8666666667rem;
  margin: 1.5333333333rem 0 0;
}
.company02 .name span:first-of-type {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  margin-top: 0.2rem;
}
.company02 .name span:last-of-type {
  width: 4.5333333333rem;
}
.company02 .name span:last-of-type img {
  display: block;
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 会社概要03 ▼
//
///////////////////////////////////////////////////*/
.company03 {
  margin: 3.7333333333rem 0 4.9333333333rem;
}
.company03 .company03_in {
  margin: 1.3333333333rem 0 0;
}
.company03 .company03_in .item {
  display: flex;
  align-items: stretch;
}
.company03 .company03_in .item dt,
.company03 .company03_in .item dd {
  font-size: 0.8666666667rem;
  font-weight: 500;
  line-height: 2;
  color: #fff;
  padding: 2.1333333333rem 0.6666666667rem 1.5333333333rem;
}
.company03 .company03_in .item dt {
  display: flex;
  align-items: center;
  width: 20%;
  min-width: 100px;
  border-bottom: solid 1px #CB5733;
}
.company03 .company03_in .item dd {
  width: 80%;
  border-bottom: solid 1px #fff;
}

/*///////////////////////////////////////////////////
//
//            ▼ 投稿エリア ▼
//
///////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ01 ▼
//
///////////////////////////////////////////////////*/
.contact01 .left .lower_ttl {
  width: 61%;
  max-width: 260px;
}
.contact01 .left .lower_ttl .ja {
  padding-left: calc(100% - 6em - 0.6666666667rem);
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ02 ▼
//
///////////////////////////////////////////////////*/
.contact02 {
  margin: 0 0 6.6666666667rem;
}
.contact02 .attention {
  margin: 3.3333333333rem 0 0;
}
.contact02 .attention .time {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 1.7333333333rem;
  position: relative;
}
.contact02 .attention .time::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.0666666667rem;
  height: 0.2rem;
  background: #CB5733;
}
.contact02 .attention .annotation {
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 2;
  margin: 1.0666666667rem 0 0;
  text-indent: -1em;
  padding-left: 1em;
}
.contact02 .attention .annotation .require {
  display: inline-block;
  width: 3.2rem;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
  border-radius: 0.1333333333rem;
  background: #CB5733;
  padding: 0.2666666667rem 0.2666666667rem 0.2666666667rem 0.8rem;
  margin: 0 0.1333333333rem;
}
.contact02 .form_box {
  margin: 2rem 0 0;
}
.contact02 .form_box form .item {
  margin: 2rem 0 0;
}
.contact02 .form_box form .item .inner:first-of-type {
  width: 100%;
}
.contact02 .form_box form .item .inner:first-of-type label {
  font-style: 1.0666666667rem;
  font-weight: 700;
}
.contact02 .form_box form .item .inner:last-of-type {
  margin: 0.6666666667rem 0 0;
}
.contact02 .form_box form .item .inner:last-of-type .require {
  display: inline-block;
  width: fit-content;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  border-radius: 0.1333333333rem 0.1333333333rem 0 0;
  background: #CB5733;
  padding: 0.2666666667rem 0.8rem;
}
.contact02 .form_box form .item .inner:last-of-type input,
.contact02 .form_box form .item .inner:last-of-type select,
.contact02 .form_box form .item .inner:last-of-type textarea {
  display: block;
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  border: solid 1px #a0a0a0;
  background: #fff;
  margin: 0;
  padding: 1.2666666667rem 1rem;
  transform: translateY(-4px);
}
.contact02 .form_box form .item .inner:last-of-type input ::placeholder,
.contact02 .form_box form .item .inner:last-of-type select ::placeholder,
.contact02 .form_box form .item .inner:last-of-type textarea ::placeholder {
  font-weight: 500;
  color: #a0a0a0;
}
.contact02 .form_box form .item .inner:last-of-type textarea {
  height: 16.2666666667rem;
}
.contact02 .form_box form .item .inner:last-of-type select {
  -webkit-appearance: none;
  appearance: none;
  color: #3A3A3A;
  background: url(../images/contact/arrow.svg) 96% center/1.4rem 0.8rem no-repeat #fff;
}
.contact02 .form_box form .item .inner:last-of-type select ::-ms-expand {
  display: none;
  /* デフォルトの矢印を非表示(IE用) */
}
.contact02 .form_box form .item:first-of-type {
  margin-top: 0;
}
.contact02 .form_box form .acceptance {
  width: fit-content;
  margin: 3.2rem auto 0;
}
.contact02 .form_box form .acceptance .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1.0666666667rem;
}
.contact02 .form_box form .acceptance .inner input {
  width: 1.6rem;
  height: 1.6rem;
  border: solid 2px #fff;
  border-radius: unset;
  background: none;
  position: relative;
  /* デフォルトのcssを非表示 */
  -webkit-appearance: none;
  appearance: none;
}
.contact02 .form_box form .acceptance .inner input ::-ms-expand {
  display: none;
  /* デフォルトのcssを非表示(IE用) */
}
.contact02 .form_box form .acceptance .inner input::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.4rem;
  width: 1.3333333333rem;
  height: 1.0666666667rem;
  background: url(../images/contact/check.svg) center/cover no-repeat;
  opacity: 0;
}
.contact02 .form_box form .acceptance .inner input:checked::before {
  opacity: 1;
}
.contact02 .form_box form .acceptance .inner label {
  font-size: 1.0666666667rem;
  font-weight: 700;
  line-height: 2;
}
.contact02 .form_box form .submit {
  margin: 1.3333333333rem auto 0;
}
.contact02 .form_box form .submit button {
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー ▼
//
///////////////////////////////////////////////////*/
.privacypolicy {
  margin: 3.2rem 0 0;
}
.privacypolicy h2 {
  font-size: 1.2666666667rem;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
.privacypolicy .box_in {
  height: 24.8666666667rem;
  color: #3A3A3A;
  background: #fff;
  overflow: scroll;
  padding: 1.6666666667rem 1rem;
  margin: 1.6rem 0;
}
.privacypolicy .box_in h1 {
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 2rem;
}
.privacypolicy .box_in h3 {
  font-size: 1.1rem;
  margin: 1.5rem 0 0;
}
.privacypolicy .box_in ol {
  margin: 0 0 1rem 1rem;
}
.privacypolicy .box_in ol li {
  list-style: decimal;
  margin: 0.5rem 0;
}
.privacypolicy .box_in ul {
  margin: 0 0 1rem 1rem;
}
.privacypolicy .box_in ul li {
  list-style: disc;
}
.privacypolicy .box_in ul li ol {
  margin: 0rem 0 1.5rem 1rem;
}
.privacypolicy .box_in ul li ol li {
  list-style: decimal;
}
.privacypolicy .box_in p {
  font-size: 1.0666666667rem;
  line-height: 2;
  margin: 0;
}
.privacypolicy .box_in .right {
  text-align: right;
}

/*///////////////////////////////////////////////////
//
//            ▼ サンクス01 ▼
//
///////////////////////////////////////////////////*/
.contact01 .left .lower_ttl {
  width: 74%;
  max-width: 268px;
}
.contact01 .left .lower_ttl .ja {
  padding-left: calc(100% - 16.5em - 0.6666666667rem);
}

/*///////////////////////////////////////////////////
//
//            ▼ サンクス02 ▼
//
///////////////////////////////////////////////////*/
.thanks02 {
  margin: 2rem 0 6.6666666667rem;
}
.thanks02 h2 {
  font-size: 1.2666666667rem;
  font-weight: 700;
  text-align: center;
  line-height: 2;
}
.thanks02 p {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  line-height: 2;
  margin: 2rem 0 0;
}
.thanks02 .contact_btn {
  margin: 2rem auto 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ（Contactform7） ▼
//
///////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////
//
//            ▼ 404 ▼
//
///////////////////////////////////////////////////*/
.page404 .catch_copy {
  height: 100vh;
  min-height: 650px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page404 .catch_copy .ttl {
  font-size: 1.8rem;
  margin-bottom: 0.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 検索フォーム ▼
//
///////////////////////////////////////////////////*/
.search {
  width: 100%;
  border: 1px solid #ddd;
}
.search form .search_inner {
  display: flex;
  justify-content: space-between;
  height: 3rem;
  align-items: center;
}
.search form .search_inner .input {
  width: calc(100% - 3rem);
  height: 100%;
}
.search form .search_inner .input input {
  border: none;
  padding: 0 1rem;
  width: 100%;
  height: 100%;
  font-size: 16px;
}
.search form .search_inner .submit {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 3rem;
  height: 3rem;
  color: #000;
}
.search form .search_inner .submit span {
  font-size: 1.2rem;
}

.post_none {
  text-align: center;
}

@media screen and (orientation: portrait) {
  /* 縦向き */
}
@media screen and (orientation: landscape) {
  /* 横向き */
}

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