@charset "UTF-8";
/* ////////////////////////////
建築部門 建築実績ギャラリー
//////////////////////////// */

.inner_1000 {
  max-width:1000px;
  width: 90%;
  margin: 0 auto;
}
.inner_800 {
  max-width:800px;
  width: 90%;
  margin: 0 auto;
}
#content_Wrap a {
  color: #000;
}

#content_Wrap {
  padding: 0px ;
  margin-top: 116px;
}
#content_Wrap p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
}

.title_Box_Wrap {
  padding: 60px 0 0;
  border-bottom:5px solid #ffb400;
  background: #efefef;
  position: relative;
  overflow: hidden;
}
.title_Box {
  padding: 0 0 60px;
}
.title_Box div {
  text-align: left;
  padding: 0 0 20px;
}
#content_Wrap .title_Box div img {
  width:auto;
  height: 76px;
  object-fit: contain;
}
#content_Wrap .title_Box p {
  color:#ffb400;
  font-size: 26px;
  letter-spacing: 0.06em;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 900;
  font-style: normal;
}
#content_Wrap .title_img {
  max-width: 450px;
  width:94%;
  animation: fadeIn 0.8s ease-in-out;

  position: absolute;
  right:5%;
  bottom:-5px;
}


@keyframes fadeIn {
  from {
  opacity: 0;
  transform: translateY(130px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



.results_Wrap {
  padding: 60px 0;
}
ul.results_List {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
ul.results_List li {
  width: calc((100% - 6%) / 3);
  margin-right: 3%;
  margin-bottom: 3%;
}
ul.results_List li:nth-child(3n) {
  margin-right: 0;
}
ul.results_List li figure {
  box-shadow: 7px 7px #ffb400;
  border-radius: 10px;
  margin-bottom: 10px;
}
ul.results_List li figure img {
  border-radius: 10px;
}
ul.results_List li p {
  font-size: clamp(13px, 1.2876vw + 3.1245px, 16px);
  line-height: 1.6;
}
ul.results_List li p small {
  font-size: 70%;
  color:#9fa0a0;
}


/* モーダル
------------------------*/
.modal__trigger {
  display: block;
  cursor: pointer;
  transition: .3s;
}
.modal__trigger:hover {
  opacity: .5;
  transition: .3s;
}
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
}
.modal__layer {
  height: 100%;
  background: rgba(0, 0, 0, .6);
  cursor: pointer;
}
.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(100% - 40px), 900px);
  height: calc(100% - 40px);
  background: #FFF;
  border:2px solid #ffb400;
  border-radius: 10px;
}
.modal__inner {
  position: relative;
  overflow-y: scroll;
  height: 100%;
  padding: 80px;
}
.modal__close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  cursor: pointer;
  transition: opacity .6s;
}
.modal__close:hover {
  opacity: .6;
}
.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  background: #ffb400;
  content: '';
}
.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* モーダル内のコンテンツ */
.modal__content {
  padding: 20px 0 40px;
}
.modal__content img{
  width: 100%;
  height: auto;
}
.modal__content .container{
  max-width: 100%!important;
  width: 90%!important;
  margin: 0 auto;
}
.modal__content .container .swiper {
  width: 100%!important;
  max-width: 100%!important;
}
.swiper-button-next, .swiper-button-prev {
  color: #fff!important;
}

.modal__content .modal_txt {
  width:90%;
  margin: 0 auto;
}

.modal__content .modal_txt h4 {
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: 30px 0;
  /* text-align: center; */
}
.modal__content .modal_txt h4.en {
  line-height: 1.3;
  letter-spacing: 0.1em;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  text-align: center;
  /* color: #fff; */
}
.modal__content .modal_txt .trip9 {
  /* max-width: 227px; */
  max-width: 181px;
  margin: -15px auto 30px;
}
.modal__content .modal_txt p {
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.modal__content .modal_txt p span {
  font-size: 1.5em;
  display: block;
  margin-bottom: 0.5em;
}
.modal__content .modal_txt p + p {
  margin-top: 20px;
}
/* .modal__content .modal_txt p:not(:last-of-type) {
  margin-bottom: 0.5em;
} */
.modal__content .modal_txt p a {
  /* color: #fff; */
  text-decoration: underline;
}

.modal__content .modal_txt div {
  padding: 20px 0 0;
}
.modal__content .modal_txt dl {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0.5em;
  font-size: 13px;
}
.modal__content .modal_txt dl dt {
  width:6em;
}
.modal__content .modal_txt dl dd {

}

/*ios safariでswiper navigationがz-indexバグ対処*/
.swiper-button-next,
.swiper-button-prev{
  transform:translate3d(0,0,0);
}
/*safariでswiper navigationが後ろに行くバグ対処*/



a[href^="tel:"]{
  pointer-events: none;
}

/* @keyframes rightToLeft {
0% {
  transform: translate(200px, -100px);
  opacity: 0;
}
100% {
  transform: translate(0);
  opacity: 1;
}
} */


/*=========================================================================================================
tab
=========================================================================================================*/
@media screen and (max-width: 1440px) {

}



/*=========================================================================================================
sp
=========================================================================================================*/
@media screen and (max-width: 767px) {

  #content_Wrap {
    padding: 0px;
    margin-top: 77px;
  }

  .title_Box_Wrap {
    padding: 60px 0 0;
    position: relative;
    overflow: hidden;
  }
  .title_Box {
    padding: 0 0 60px;
  }
  .title_Box div {
    text-align: left;
    padding: 0 0 20px;
  }
  #content_Wrap .title_Box div img {
    width:auto;
    height: 50px;
    object-fit: contain;
  }
  #content_Wrap .title_Box p {
    font-size: 16px;
  }
  #content_Wrap .title_img {
    max-width: 100%;
    width:60%;

    position: absolute;
    right:5%;
    bottom:-5px;
  }


  .results_Wrap {
    padding: 60px 0;
  }
  ul.results_List {
    display: flex;
    justify-content:space-between;
  }
  ul.results_List li {
    width: calc((100% - 6%) / 2);
    margin-right: 0;
    margin-bottom: 3%;
  }
  ul.results_List li figure {
    box-shadow: 5px 5px #ffb400;
    border-radius: 6px;
    margin-bottom: 10px;
  }
  ul.results_List li figure img {
    border-radius: 6px;
  }



a[href^="tel:"]{
  pointer-events: auto;
}

}




/* モーダル
------------------------*/

/* 高さ990px未満 */
@media screen and (max-height: 990px) {
  .modal__inner {
    padding: 40px;
  }
  .modal__content .container{
    max-width: 100%;
    width:100%;
  }
  .modal__content .container{
    width: 90%!important;
    max-width: 100%!important;
    margin: 0 auto;
  }
  .modal__content .modal_txt h4 {
    font-size: 22px;
    margin: 20px 0;
  }
  .modal__content .modal_txt h4.en {
    line-height: 1.2;
  }
  .modal__content .modal_txt .trip9 {
    /* max-width: 227px; */
    max-width: 160px;
    margin: -10px auto 20px;
  }
  .modal__content .modal_txt p {
    font-size: 13px;
    line-height: 1.4;
  }
}
/* 高さ990px未満 */
/* 高さ720px未満 */
@media screen and (max-height: 720px) {
  .modal__inner {
    padding: 20px;
  }
  .modal__content .container{
    /* max-width: 500px; */
    max-width: 100%;
    width:100%;
  }
  .modal__content .modal_txt h4 {
    font-size: 20px;
  }
  .modal__content .modal_txt .trip9 {
    max-width: 145px;
  }
  .modal__content .modal_txt p {
    font-size: 13px;
    line-height: 1.4;
  }
}
/* 高さ720px未満 */

@media screen and (max-width: 750px) {

  /*モーダル*/
  .modal__container {
    width: min(calc(100% - 20px), 900px);
    height: calc(100% - 20px);
  }
  .modal__inner {
    padding: 50px 10px 10px;
  }

  /* モーダル内のコンテンツ */
  .modal__content .modal_txt h4 {
    font-size: 18px;
    margin: 20px 0;
  }
  .modal__content .modal_txt .trip9 {
    max-width: 140px;
    margin: -10px auto 20px;
  }
  .modal__content .modal_txt p {
    font-size: 13px;
  }
  .modal__content .modal_txt p span {
    font-size: 1.5em;
  }
}

/* 幅767px未満 */
@media screen and (max-width: 767px) {

  .modal__content .container{
    width: 100%!important;
    max-width: 100%!important;
    margin: 0 auto;
  }

}
