@charset "utf-8";

.l-pgTtl__txt:before {
  background-image: url("../image/pgttl_bg.jpg");
}

/*----------------------------------------------------------------------------------------------------

  会社概要
  
----------------------------------------------------------------------------------------------------*/
.sec-gaiyou {
  padding-top: var(--block-space-l);
  padding-bottom: var(--block-space-max);
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.gaiyou-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit:cover;";
}
.gaiyou-tbl {
  width: 100%;
  border-collapse: separate;
  border-top: 1px solid rgba(var(--rgb-black40),0.2);
}
.gaiyou-tbl th,
.gaiyou-tbl td {
  border-bottom: 1px solid rgba(var(--rgb-black40),0.2);
  padding: 1em;
  vertical-align: top;
  text-align: left;
}
.gaiyou-tbl th {
  font-weight: 400;
  white-space: nowrap;
}
.gaiyou-tbl address {
  display: inline-block;
  padding-bottom: 0.5em;
}
@media print, screen and (min-width:641px) {
  .sec-gaiyou {
    box-sizing: content-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .gaiyou-photo {
    width: 28%;
  }
  .gaiyou-photo img {
    max-height: 550px;
    object-position: 15% bottom;
    font-family: "object-fit:cover; object-position: 15% bottom;";
  }
  .gaiyou {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 8%;
  }
  .gaiyou-tbl th {
    width: 25%;
  }
}
@media screen and (max-width:640px) {
  .gaiyou-photo {
    height: calc(300 / 640 * 100vw);
    min-height: 160px;
  }
  .gaiyou {
    padding-top: var(--block-space-m);
  }
  .gaiyou-tbl th {
    width: 15%;
  }
}

/*----------------------------------------------------------------------------------------------------

  代表設計士より
  
----------------------------------------------------------------------------------------------------*/
.sec-message {
  background-color: var(--color-black50);
  padding-top: var(--block-space-l);
  padding-left: var(--side-space);
  padding-right: var(--side-space);
}
.message {
  width: 100%;
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  padding-top: var(--block-space-m);
  text-align: left;
}
.message .photo {
  position: relative;
  margin-top:  calc(-1 * var(--block-space-s));
}
.message .photo:before {
  content: "";
  height: calc(100% - var(--block-space-s));
  position: absolute;
  bottom: 0;
  background-color: var(--color-black60);
}
.message .photo img {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width:641px) {
  .message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
  }
  .message .photo {
    width: 30%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
  .message .photo:before {
    width: 100%;
    left: 0;
  }
  .message .photo img {
    position: absolute;
    left: -10%;
    top: 0;
  }
  .message .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-right: 10%;
    padding-bottom: var(--block-space-max);
  }
}
@media screen and (max-width:640px) {
  .sec-message {
    padding-bottom: var(--block-space-max);
  }
  .message {
    margin-top: var(--block-space-min);
  }
  .message .photo {
    overflow: hidden;
  }
  .message .photo:before {
    width: 80%;
    left: 50%;
    transform: translateX(-50%);
  }
  .message .photo .inner {
    width: 60%;
    max-width: 320px;
    height: calc(330 / 640 * 100vw);
    min-height: 170px;
    margin-left: auto;
    margin-right: auto;
  }
  .message .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    font-family: "object-fit:cover; object-position: top;";
  }
  .message .txt {
    padding-top: var(--block-space-s);
  }
}

/*----------------------------------------------------------------------------------------------------

  アクセス
  
----------------------------------------------------------------------------------------------------*/
.sec-access {
  padding-top: var(--block-space-l);
  padding-bottom: var(--block-space-l);
  padding-left: var(--side-space);
  padding-right: var(--side-space);
}

/*--------------------------------------------------------------------------------
  道順
--------------------------------------------------------------------------------*/
.access-route {
  width: 100%;
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.route {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.route .col {
  padding-top: var(--block-space-m);
}
.route p {
  padding-top: 1em;
}
@media print,screen and (min-width:641px) {
  .route {
    margin-left: -6%;
  }
  .route .col {
    width: calc((100% / 2) - 6%);
    margin-left: 6%;
  }
}

/*--------------------------------------------------------------------------------
  MAP
--------------------------------------------------------------------------------*/
.access-map {
  padding-top: var(--block-space-m);
}
.access-map .gmap {
  width: 100%;
  height: 70vh;
}
.access-map .gmap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  vertical-align: bottom;
}
@media print,screen and (min-width:641px) {
  .access-map .gmap {
    max-height: 600px;
    min-height: 500px;
  }
}
@media screen and (max-width:640px) {
  .access-map .gmap {
    max-height: 400px;
    min-height: 300px;
  }
}
