@charset "UTF-8";

/* ページ内リンク位置調整 */
#message, #access { 
  padding-top: 110px;
  margin-top: -110px;

  @media (width <= 1024px) {
    padding-top: 76px;
    margin-top: -76px;
  }
}
#overview { 
  @media (width <= 1024px) {
    padding-top: 20px;
    margin-top: -20px;
  }
}

/*--------------------------------------------
  intro
---------------------------------------------*/
.intro {
  padding-bottom: 5%;

  @media (width <= 1024px) {
    padding-bottom: 10%;
  }
  @media (width <= 767px) {
    padding-bottom: 25%;
  }

  h2 {
    margin: 6% 0 3%;

    @media (768px <= width <= 1024px) {
      margin: 13% 0 5%;
    }
    @media (width <= 767px) {
      margin: 0 0 5%;
    }
  }
  .txt_box {
    padding-bottom: 1.5%;

    @media (width <= 767px) {
      padding-bottom: 5%;
    }
  }
  .name {
    font-size: 2rem;
    text-align: right;
    font-family: "Noto Serif JP", serif;
    font-style: normal;
    margin-top: 20px;

    @media (width <= 767px) {
      font-size: 1.7rem;
      margin-top: 5%;
    }

    span {
      margin-left: 24px;
      font-size: 2.6rem;
      font-weight: bold;

      @media (width <= 767px) {
        font-size: 2.4rem;
      }
    }
  }
}

.bg {
  background-color: #F2F2F2;
}

/*--------------------------------------------
  会社概要
---------------------------------------------*/
.overview {
  padding: 7% 0 6%;

  @media (768px <= width <= 1024px) {
    padding: 10% 0 5%;
    margin-bottom: 6%;
  }
  @media (width <= 767px) {
    padding: 15% 0 20%;
  }


  .information_list {

    li:not(:last-child) {
      margin-bottom: 6%;
    }

    .ttl {
      font-size: 3.4rem;
      font-weight: bold;
      line-height: 1.4;
      margin-bottom: 4%;

      @media (width <= 767px) {
        font-size: 2.4rem;
        margin-bottom: 8%;
      }
    }

    .list_wrap {
      padding: 5% 7% 5.5%;
      background-color: #FFF;

      @media (width <= 767px) {
        padding: 8% 5% 10%;
      }

      .items {
        border-bottom: solid 3px #0F5CA8;
        padding-bottom: 3%;

        @media (width <= 767px) {
          padding-bottom: 8%;
        }

        &.aic {
          align-items: center;
        }

        &:not(:last-child) {
          margin-bottom: 3%;

          @media (width <= 767px) {
            margin-bottom: 8%;
          }
        }

        .item_ttl {
          font-size: 2rem;
          font-weight: bold;
          color: #0F5CA8;
          width: 23%;

          @media (768px <= width <= 1024px) {
            width: 30%;
          }
          @media (width <= 767px) {
            width: 100%;
          }
        }
        .item_txt {
          width: 77%;

          @media (768px <= width <= 1024px) {
            width: 70%;
          }
          @media (width <= 767px) {
            width: 100%;
            margin-top: 10px;
          }

          dt {
            line-height: 2;

            @media (width <= 767px) {
              margin-top: 0.5em;
              line-height: 1.6;
            }
          }

          .border_list {
            .txt {
              position: relative;
              padding-left: 40px;

              &::before {
                position: absolute;
                background-color: #0F5CA8;
                width: 20px;
                height: 1px;
                content: "";
                display: block;
                top: 50%;
                left: 0;
                transform: translateY(-50%);
              }
            }
          }
        }
        .mb1 { margin-bottom: 1%; }
        .mb2 { margin-bottom: 2%; }
        .ml3 { margin-left: 3%; }
        .ml4 { margin-left: 4%; }
      }   
    }
  }
}

/*--------------------------------------------
  ACCESS
---------------------------------------------*/
.access {
  padding-bottom: 15%;

  @media (width <= 1024px) {
    padding-bottom: 30%;
  }

  .ttl {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 2%;
    font-family: "Roboto";

    @media (width <= 767px) {
      font-size: 2.4rem;
      margin-bottom: 8%;
    }
  }

  .map_wrap {
    position: relative;
    width: 100%;
    padding-top: 50%;
    overflow: hidden;

    @media (width <= 767px) {
      padding-top: 75%;
    }

    iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }
  }
  
  /* iframe {
    width: 100%;
    height: 600px;

    @media (768px <= width <= 1024px) {
      height: 400px;
    }
    @media (width <= 767px) {
      height: 300px;
    }
  } */

  .address {
    margin-top: 21px;

    @media (width <= 1024px) {
      margin-top: 6%;
    }
  }
}