#hero {
  position: relative;
  background-color: transparent;
  z-index: 1;
}
#hero h1 {
  position: absolute;
  width: 29.739vw;
  max-width: 571px;
  top: 13.2vw;
  left: 32.8vw;
}

@media (max-width: 991px) {
  #hero {
    margin-top: 63px;
  }
}
@media (max-width: 375px) {
  #hero h1 {
    positon: absolute;
    width: 45vw;
    top: 8.5vw;
    left: 25vw;
  }
}
@media (min-width: 992px) {
  #header {
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    width: 100%;
    max-width: 1310px;
    height: 90px;
    position: sticky;
    top: 0;
  }
}
@media (-ms-high-contrast: none) and (min-width: 992px) {
  *::-ms-backdrop,
  #header {
    position: relative;
  } /* IE11 */
}
.slide {
  width: 100%;
}

#message h2 {
  width: 30.33vw;
  max-width: 182px;
}
#message ul {
  width: 100%;
  max-width: 566px;
}
#message ul li {
  width: 23.5vw;
  max-width: 141px;
}

.block-width {
  width: 100vw;
  max-width: 1330px;
  margin: 0 auto;
}

#philosophy,
#works,
#workflow,
#information {
  width: 100%;
}
#philosophy .block-width,
#works .block-width,
#workflow .block-width,
#information .block-width {
  position: relative;
}

#workflow {
  margin-bottom: 2.5rem;
}
@media (max-width: 767px) {
  #workflow {
    margin-bottom: 4.5vw;
  }
}

#works {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 767px) {
  #works {
    margin-bottom: 4.5vw;
  }
}

@media (min-width: 1331px) {
  #philosophy {
    background: url("../img/index/bg01.jpg") top center no-repeat;
    height: 590px;
  }
  #works {
    background: url("../img/index/bg02.jpg") top center no-repeat;
    height: 960px;
  }
  #workflow {
    background: url("../img/index/bg-workflow.jpg") top center no-repeat;
    height: 590px;
  }
  #information {
    background: url("../img/index/bg03.jpg") top center no-repeat;
    height: 590px;
  }
}
#architectural_design {
  background: url("../img/index/bg_architectural_design.jpg") top center no-repeat;
}
@media (min-width: 1331px) {
  #architectural_design {
    height: 590px;
  }
}

#real_estate {
  background: url("../img/index/bg_real_estate.jpg") top center no-repeat;
}
@media (min-width: 1331px) {
  #real_estate {
    height: 590px;
  }
}

#cmpm {
  background: url("../img/index/bg-cmpm.jpg") top center no-repeat;
}
@media (min-width: 1331px) {
  #cmpm {
    height: 590px;
  }
}

#business_intro {
  background: #333;
  width: 100%;
}

#business_intro .mx-auto {
  box-sizing: border-box;
  height: 340px;
  display: flex;
  align-items: end;
  justify-content: center;
  margin-bottom: 0;
}
@media (max-width: 991px) {
  #business_intro .mx-auto {
    height: 25vh;
  }
}

#business_intro .mx-auto img {
  margin-bottom: 2.5%;
}
@media (max-width: 991px) {
  #business_intro .mx-auto img {
    width: 25.5%;
  }
}

/* panel-black */
.panel-black {
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  text-align: center;
  width: 55vw;
}
.panel-black .content-links {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 45vw;
  padding-top: 2em;
}
.panel-black h2 {
  font-size: calc(1.0625rem + (1vw - 3.75px) * 1.6561);
  letter-spacing: 0.1rem;
  color: #fff;
  margin-bottom: 0.5em;
}
@media (min-width: 1160px) {
  .panel-black h2 {
    font-size: 30px;
  }
}
.panel-black p {
  color: #b19b4d;
  font-size: calc(0.75rem + (1vw - 3.2px) * 0.9524);
  font-family: "Noto Serif JP", serif;
  margin-bottom: 3em;
}
@media (min-width: 1160px) {
  .panel-black p {
    font-size: 20px;
  }
}
.panel-black .entry {
  width: 7em;
  margin: 0 auto;
}

#architectural_design, #real_estate, #cmpm {
  width: 100%;
}
#architectural_design .block-width, #real_estate .block-width, #cmpm .block-width {
  height: 590px;
  display: flex;
  align-items: center;
  justify-content: start;
}
@media (max-width: 991px) {
  #architectural_design .block-width, #real_estate .block-width, #cmpm .block-width {
    justify-content: center;
    height: 50vh;
  }
}
#architectural_design .panel-black, #real_estate .panel-black, #cmpm .panel-black {
  background: rgba(177, 155, 77, 0.9) !important;
}
#architectural_design .panel-black p, #real_estate .panel-black p, #cmpm .panel-black p {
  color: #FFF;
}

#real_estate .block-width {
  justify-content: end;
}
@media (max-width: 991px) {
  #real_estate .block-width {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  #philosophy .panel-black,
  #works .panel-black {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #philosophy .panel-black .content-links p,
  #works .panel-black .content-links p {
    margin-bottom: 1em;
  }
}
@media (min-width: 768px) {
  .panel-black {
    width: 38vw;
    max-width: 400px;
  }
  .panel-black .content-links {
    height: 38vw;
    max-height: 400px;
    padding-top: 4em;
  }
  #philosophy .panel-black {
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateX(-50%);
    transform: translateY(-50%);
  }
  #works .panel-black {
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateX(-50%);
    transform: translateY(-50%);
  }
}
@media (min-width: 1331px) {
  .panel-black {
    width: 400px;
  }
  .panel-black .content-links {
    height: 400px;
  }
  #philosophy .panel-black {
    top: 95px;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translate(0, 0);
  }
  #works .panel-black {
    top: 30%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translate(0, 0);
  }
}
#information .panel-black, #workflow .panel-black {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#information .panel-black .content-links, #workflow .panel-black .content-links {
  padding-top: 0;
}
#information .panel-black .content-links .logo-white, #workflow .panel-black .content-links .logo-white {
  width: 16.97vw;
  max-width: 163px;
  margin: 0 auto 0.5em;
}
@media (min-width: 768px) {
  #information .panel-black .content-links .logo-white, #workflow .panel-black .content-links .logo-white {
    margin-bottom: 2em;
  }
}
#information .panel-black .content-links h2, #workflow .panel-black .content-links h2 {
  margin-bottom: 0;
}
#information .panel-black .content-links p, #workflow .panel-black .content-links p {
  margin-bottom: 1em;
}
@media (min-width: 768px) {
  #information .panel-black .content-links p, #workflow .panel-black .content-links p {
    margin-bottom: 3em;
  }
}

.main-pages {
  padding-top: 120px;
}
@media (max-width: 991px) {
  .main-pages {
    padding-top: 63px;
  }
}

/* sp-navi */
.sp_top_navi {
  display: none;
}
@media (max-width: 991px) {
  .sp_top_navi {
    display: block;
  }
}

.sp_top_navi ul {
  display: grid;
  grid-template-columns: repeat(3, auto);
  margin: 1em 0 0 0;
  padding: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.sp_top_navi ul li {
  list-style-type: none;
  font-size: 16px;
  padding: 0.75em 0;
  border-right: 1px solid #ccc;
  text-align: center;
}

.sp_top_navi ul li:last-of-type {
  border: none;
}

.sp_top_navi ul li a {
  color: #000;
}/*# sourceMappingURL=index.css.map */