/*!
global > color
------------------------------
*/
/*!
global > mixin
------------------------------
*/
#wrapper {
  overflow: unset;
}

@media screen and (min-width: 768px) {
  .c_flex {
    display: flex;
    justify-content: center;
    width: calc(100% + clamp(
        1.25rem,
        4.6296296296vw + -0.9722222222rem,
        2.5rem
    ));
    margin-left: clamp(
        -1.25rem,
        -2.3148148148vw + 0.4861111111rem,
        -0.625rem
    );
  }
}
.c_flex .c_box {
  margin: 30px auto;
}
@media screen and (min-width: 768px) {
  .c_flex .c_box {
    max-width: 360px;
    margin: clamp(
        0.625rem,
        2.3148148148vw + -0.4861111111rem,
        1.25rem
    );
  }
}

.p_architectural .c_mv02 .c_mv02__ttl__txt {
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .p_architectural .c_ttl02 {
    font-size: clamp(
        1.5rem,
        1.9230769231vw + 0.5769230769rem,
        2.5rem
    );
  }
}
@media screen and (min-width: 768px) {
  .p_architectural .c_ttl03 {
    font-size: clamp(
        1.125rem,
        0.7211538462vw + 0.7788461538rem,
        1.5rem
    );
  }
}
@media screen and (min-width: 768px) {
  .p_architectural .c_ttl04 {
    font-size: clamp(
        1rem,
        0.4807692308vw + 0.7692307692rem,
        1.25rem
    );
  }
}
@media screen and (min-width: 768px) {
  .p_architectural .c_txt20 {
    font-size: clamp(
        1rem,
        0.9259259259vw + 0.5555555556rem,
        1.25rem
    );
  }
}
.p_architectural01 {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p_architectural01__inner {
    display: flex;
    align-items: flex-start;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .p_architectural01__sidebar {
    position: sticky;
    z-index: 2;
    top: 120px;
    width: clamp(
        13.125rem,
        9.2592592593vw + 8.6805555556rem,
        15.625rem
    );
    padding: 57px 0px 110px clamp(
        1.25rem,
        9.2592592593vw + -3.1944444444rem,
        3.75rem
    );
  }
}
.p_architectural01__label {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  background-color: #fcfcf7;
  border-radius: 8px 0 8px 0;
  color: #f00000;
  font-size: 1rem;
  font-family: "Inter", sans-serif;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.4;
  display: inline-flex;
  justify-content: center;
  padding: 5px 5px;
  text-align: center;
  min-width: 100px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__label {
    min-width: 110px;
    padding: 7px 7px 3px 10px;
    font-size: clamp(
        1rem,
        0.4807692308vw + 0.7692307692rem,
        1.25rem
    );
    border-radius: 16px 0 16px 0;
  }
}
.p_architectural01__label__num {
  display: inline-block;
  font-size: 1.5rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0.03em;
  position: relative;
  flex-shrink: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p_architectural01__label__num {
    top: 1px;
    margin-right: 6px;
    font-size: clamp(
        1.5rem,
        0.9615384615vw + 1.0384615385rem,
        2rem
    );
  }
}
.p_architectural01__label__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  padding-top: 6px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__label__txt {
    padding-top: clamp(
        0.5rem,
        0.4807692308vw + 0.2692307692rem,
        0.75rem
    );
  }
}
@media screen and (min-width: 768px) {
  .p_architectural01__content {
    width: calc(100% - clamp(
        13.125rem,
        9.2592592593vw + 8.6805555556rem,
        15.625rem
    ));
    padding: 18px 0 0 0;
  }
}
.p_architectural01__content01 {
  border-radius: 8px;
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01 {
    border-radius: 16px;
    margin-bottom: 48px;
  }
}
.p_architectural01__content01:last-child {
  margin-bottom: 0;
}
.p_architectural01__content01 .scrollable {
  overflow: auto;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01 .scrollable {
    margin-left: -80px;
    margin-left: clamp(-80px, 1400px - 100vw, 0px);
    margin-right: -80px;
    margin-right: clamp(-80px, 1400px - 100vw, 0px);
  }
}
.p_architectural01__content01_chart {
  width: 768px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01_chart {
    width: 100%;
  }
}
.p_architectural01__content01__inner {
  padding: 40px 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01__inner {
    display: flex;
    align-items: flex-start;
    padding: 57px clamp(
        2.5rem,
        2.7777777778vw + 1.1666666667rem,
        3.5625rem
    ) 57px clamp(
        10.625rem,
        11.6013071895vw + 5.056372549rem,
        15.0625rem
    );
  }
}
.p_architectural01__content01__img {
  width: 60px;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01__img {
    margin: 0;
    width: clamp(
        3.75rem,
        2.614379085vw + 2.4950980392rem,
        4.75rem
    );
    padding-bottom: 0;
    padding-top: 26px;
    position: absolute;
    left: clamp(
        3.75rem,
        5.0653594771vw + 1.318627451rem,
        5.6875rem
    );
    top: calc(50% + 7px);
    transform: translateY(-50%);
  }
}
.p_architectural01__content01__txt {
  width: 100%;
}
.p_architectural01__content01.item02 .p_architectural01__content01__img {
  width: 86px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01.item02 .p_architectural01__content01__img {
    width: clamp(
        5.375rem,
        3.2679738562vw + 3.806372549rem,
        6.625rem
    );
    left: clamp(
        2.5rem,
        4.0849673203vw + 0.5392156863rem,
        4.0625rem
    );
    top: calc(50% + 13px);
    transform: translateY(-50%);
  }
}
.p_architectural01__content01.item03 .p_architectural01__content01__img {
  width: 80px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01.item03 .p_architectural01__content01__img {
    width: clamp(
        5rem,
        3.2679738562vw + 3.431372549rem,
        6.25rem
    );
    left: clamp(
        2.8125rem,
        5.2287581699vw + 0.3026960784rem,
        4.8125rem
    );
    top: calc(50% + 2px);
    transform: translateY(-50%);
  }
}
.p_architectural01__content01.item04 .p_architectural01__content01__img {
  width: 120px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content01.item04 .p_architectural01__content01__img {
    width: clamp(
        7.5rem,
        9.8039215686vw + 2.7941176471rem,
        11.25rem
    );
    left: clamp(
        1.5625rem,
        1.3071895425vw + 0.9350490196rem,
        2.0625rem
    );
    top: calc(50% - 7px);
    transform: translateY(-50%);
  }
}
.p_architectural01__content02 {
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content02 {
    padding-top: 44px;
  }
}
.p_architectural01__content02__caption {
  z-index: 2;
  color: #f00000;
  font-size: 1.25rem;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
  display: inline-block;
  text-align: center;
  margin-bottom: 9px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content02__caption {
    font-size: clamp(
        1.375rem,
        0.7211538462vw + 1.0288461538rem,
        1.75rem
    );
    margin-bottom: 9px;
  }
}
.p_architectural01__content02 .c_ttl04 {
  color: #f00000;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__content02 .c_ttl04 {
    margin-bottom: 10px;
  }
}
.p_architectural01__img {
  margin: 50px 0;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__img {
    position: absolute;
    width: clamp(
        21.25rem,
        41.4663461538vw + 1.3461538462rem,
        42.8125rem
    );
    right: clamp(
        2.5rem,
        6.4903846154vw + -0.6153846154rem,
        5.875rem
    );
    top: clamp(
        -11.75rem,
        -17.7884615385vw + 6.0384615385rem,
        -2.5rem
    );
    margin: 0;
    padding: 0;
  }
}
.p_architectural01__item {
  max-width: 1120px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p_architectural01__item {
    padding: 60px 0 12px 0;
  }
}
.p_architectural01__item .c_ttl03 {
  line-height: 1.8;
  color: #f00000;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__item .c_ttl03 {
    margin-bottom: 25px;
  }
}
.p_architectural01__item .c_ttl03:last-child {
  margin-bottom: 0;
}
.p_architectural01__item .c_txt {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__item .c_txt {
    margin-bottom: 38px;
  }
}
.p_architectural01__item .c_txt:last-child {
  margin-bottom: 0;
}
.p_architectural01__list {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 30px;
  padding: 20px 0 0 0;
}
@media screen and (min-width: 768px) {
  .p_architectural01__list {
    grid-template-columns: 1fr 1fr;
    grid-gap: clamp(
        1.25rem,
        4.6296296296vw + -0.9722222222rem,
        2.5rem
    );
    padding: 56px 0 0 0;
  }
}
.p_architectural01__list__img {
  aspect-ratio: 450/253.13;
  border-radius: 8px;
  position: relative;
  z-index: 1;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__list__img {
    border-radius: 16px;
    margin-bottom: 17px;
  }
}
.p_architectural01__list__img img {
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__list__img img {
    border-radius: 16px;
  }
}
.p_architectural01__list__caption {
  position: absolute;
  left: -1px;
  top: -1px;
  z-index: 2;
  background-color: #fcfcf7;
  border-radius: 8px 0 8px 0;
  color: #f00000;
  font-size: 1.25rem;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
  display: inline-block;
  padding: 5px 5px;
  text-align: center;
  min-width: 50px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__list__caption {
    min-width: 50px;
    padding: 5px 5px;
    font-size: clamp(
        1.375rem,
        0.7211538462vw + 1.0288461538rem,
        1.75rem
    );
    border-radius: 16px 0 16px 0;
  }
}
.p_architectural01__list .c_ttl04 {
  color: #f00000;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__list .c_ttl04 {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .p_architectural01__box {
    width: 100%;
    max-width: calc(50% + 675px);
    margin-right: 0;
    margin-left: auto;
  }
}
.p_architectural01__box:nth-child(2) {
  position: relative;
  z-index: 1;
  padding: 50px 0;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box:nth-child(2) {
    padding: 0;
  }
}
.p_architectural01__box:nth-child(2)::after {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #fdf2e0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box:nth-child(2)::after {
    right: 0;
  }
}
.p_architectural01__box01 {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  padding: 0 20px 50px 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01 {
    flex-direction: row;
    max-width: 1090px;
    padding: clamp(
        11.25rem,
        20.8333333333vw + 1.25rem,
        16.875rem
    ) clamp(
        1.25rem,
        9.2592592593vw + -3.1944444444rem,
        3.75rem
    ) 32px clamp(
        1.25rem,
        4.8076923077vw + -1.0576923077rem,
        3.75rem
    );
  }
}
.p_architectural01__box01__img {
  width: 70%;
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01__img {
    position: relative;
    left: -10px;
    margin: 0;
    width: clamp(
        12.5rem,
        64.8148148148vw + -18.6111111111rem,
        30rem
    );
  }
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01__img_ele {
    top: 16px;
  }
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01__img_mec {
    top: 15px;
    left: -8px;
  }
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01__img_arc {
    top: 15px;
    left: 20px;
  }
}
.p_architectural01__box01__img_arc img {
  width: 420px;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01__content {
    width: calc(100% - clamp(
        12.5rem,
        64.8148148148vw + -18.6111111111rem,
        30rem
    ));
    padding: 27px 0 0 clamp(
        1.25rem,
        2.3148148148vw + 0.1388888889rem,
        1.875rem
    );
  }
}
.p_architectural01__box01__content .c_ttl02 {
  color: #f00000;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box01__content .c_ttl02 {
    margin-bottom: clamp(
        1.25rem,
        1.9230769231vw + 0.3269230769rem,
        2.25rem
    );
  }
}
.p_architectural01__box01__content .c_txt20 {
  font-weight: 400;
  text-align: justify;
}
.p_architectural01__box02 {
  position: relative;
  z-index: 1;
  background-color: #fcfcf7;
  border-radius: 8px;
  padding: 40px 20px;
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box02 {
    border-radius: 16px;
    padding: 59px clamp(
        2.5rem,
        9.2592592593vw + -1.9444444444rem,
        5rem
    );
    margin-top: 60px;
    margin-bottom: 107px;
    margin-right: 20px;
    margin-left: 0;
  }
}
.p_architectural01__box02 .c_ttl02 {
  color: #f00000;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box02 .c_ttl02 {
    margin-bottom: 36px;
  }
}
.p_architectural01__box02 .c_ttl04 {
  letter-spacing: 0.01em;
  line-height: 1.8;
}
.p_architectural01__box03 {
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box03 {
    padding: 20px clamp(
        2.5rem,
        6.9444444444vw + -0.8333333333rem,
        4.375rem
    ) 115px clamp(
        2.5rem,
        2.3148148148vw + 1.3888888889rem,
        3.125rem
    );
  }
}
.p_architectural01__box03 .c_ttl02 {
  color: #f00000;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box03 .c_ttl02 {
    margin-bottom: 36px;
  }
}
.p_architectural01__box03 .c_ttl04 {
  letter-spacing: 0.01em;
  line-height: 1.8;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box03 .c_ttl04 {
    margin-bottom: 65px;
  }
}
.p_architectural01__box03 .c_ttl03 {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p_architectural01__box03 .c_ttl03 {
    margin-bottom: 18px;
  }
}
.p_architectural02 {
  text-align: center;
  padding: 20px 0 60px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p_architectural02 {
    padding: 46px 0 61px;
  }
}
.p_architectural02 .c_ttl02 {
  color: #f00000;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p_architectural02 .c_ttl02 {
    margin-bottom: 49px;
  }
}
.p_architectural .c_project01 {
  margin-top: -13px;
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .p_architectural .c_project01 {
    padding-bottom: 122px;
  }
}
/*# sourceMappingURL=architectural.css.map */
