/* ボタンアニメーション */
.btnAnimation-01 {
  opacity: 0.5;
  transition: all 0.3s ease;
}

.btnAnimation-02 {
  opacity: 1;
  transition: all 0.3s ease;
}

/* ふわっと */

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeUpTrigger001 {
  opacity: 0;
}
/* 共通 */
body {
  font-family: "Noto Sans JP", sans-serif;
  color: black;
  background-color: #f5f5f5;
  margin: 0;
  box-sizing: border-box;
}

/* ヘッダー＝＝＝＝＝＝＝＝＝＝＝＝ */
#wed {
  display: flex;
  height: 100px;
}
#nav {
  width: 80%;
  display: flex;
  align-items: center;
}

#nav-logo > a {
  font-size: 36px;
  color: black;
  text-decoration: none;
  margin: 0 100px;
  letter-spacing: 0.3em;
}

#nav-menu > a {
  font-size: 18px;
  color: black;
  text-decoration: none;
  margin-right: 25px;
}

#inquiry {
  width: 20%;
  background-color: black;
  display: flex;
}

#inquiry > a {
  font-size: 18px;
  color: white;
  text-decoration: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* メインビジュアルf */

#main-visual {
  width: 100%;
  height: calc(100vh - 100px);
}

#main-photo {
  width: 100%;
  height: 100%;
  /* 画像のサイズ調整 */
  object-fit: cover;
  object-position: center center;
}

/* メイン */

/* news --------------------*/
#news {
  margin: 100px auto 0 auto;
  max-width: 1060px;
  padding: 0 20px;
}

#news-title {
  height: 180px;
}
#news-title > h1 {
  font-size: 36px;
  font-weight: lighter;
  margin: 0;
  max-width: 400px;
  display: inline-block;
  position: relative;
  letter-spacing: 0.3em;
}

/* 下線 */
#news-title > h1::before {
  background-color: black; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -70px; /* 線の位置 */
  content: "";
  height: 2px; /* 線の高さ */
  left: 35%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-120%); /* 線の中央寄せ */
  width: 40px; /* 線の長さ */
}

#news-title > h2 {
  font-size: 18px;
  font-weight: lighter;
  margin: 0;
}

/* ニュースの項目 */
#news-item {
  display: flex;
}

#news-item h2,
h3 {
  font-weight: lighter;
  font-size: 18px;
}

#news-item span {
  background-color: black;
  color: white;
  padding: 0 10px;
  font-size: 16px;
}

#news-first {
  flex: 1;
  padding: 0 30px 0 0;
  font-weight: lighter;
}

#news-second {
  flex: 1;
  padding: 0 30px 0 30px;
  border-left: 1px solid;
  border-right: 1px solid;
}

#news-third {
  flex: 1;
  padding: 0 0 0 30px;
}

/* ABOUT--------------------- */
#about {
  margin-top: 100px;
  width: 100%;
}

#about > div {
  display: flex;
}

#about-left {
  flex: 3;
  height: 400px;
}
#about-photo {
  height: 400px;
  /* 画像サイズ調整 */
  object-fit: cover;
  object-position: center center;
}

#about-right {
  flex: 2;
}

#about-right > div {
  padding: 200px 40px 0 40px;
}

#about-right p {
  margin: 0;
  font-size: 18px;
}

#about-title {
  height: 180px;
}
#about-title > h1 {
  font-size: 36px;
  font-weight: lighter;
  margin: 0;
  max-width: 400px;
  display: inline-block;
  position: relative;
  letter-spacing: 0.3em;
}

/* 下線 */
#about-title > h1::before {
  background-color: black; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -70px; /* 線の位置 */
  content: "";
  height: 2px; /* 線の高さ */
  left: 30%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-120%); /* 線の中央寄せ */
  width: 40px; /* 線の長さ */
}

#about-title > h2 {
  font-size: 18px;
  font-weight: lighter;
  margin: 0;
}

/* BUSINNES ----------------*/
#business {
  margin: 100px auto 0 auto;
  max-width: 1060px;
  padding: 0 30px;
}

#business-title {
  height: 180px;
}
#business-title > h1 {
  font-size: 36px;
  font-weight: lighter;
  margin: 0;
  max-width: 400px;
  display: inline-block;
  position: relative;
  letter-spacing: 0.3em;
}

/* 下線 */
#business-title > h1::before {
  background-color: black; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -70px; /* 線の位置 */
  content: "";
  height: 2px; /* 線の高さ */
  left: 20%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-120%); /* 線の中央寄せ */
  width: 40px; /* 線の長さ */
}

#business-title > h2 {
  font-size: 18px;
  font-weight: lighter;
  margin: 0;
}

#business-flex {
  display: flex;
  justify-content: center;
}

#business-flex img {
  /* 画像サイズ調整 */
  object-fit: cover;
  object-position: center center;
}

#business-flex h2 {
  margin-top: 0;
}

#business-left {
  margin: 140px 30px 0 0;
  width: 400px;
}

#photo01 {
  width: 100%;
}

#photo02 {
  width: 100%;
  margin-top: 50px;
}

#business-right {
  margin: 0 0 0 30px;
  width: 400px;
}

#photo03 {
  width: 100%;
}

#photo04 {
  width: 100%;
  margin-top: 50px;
}

#business-flex h2 {
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  font-size: 18px;
}

#business-flex h2::before {
  background-color: black; /* 横線の色 */
  content: "";
  height: 2px; /* 横線の高さ */
  width: 0.5em; /* 横線の長さ */
  margin-right: 15px; /* 文字との余白 */
}

/* COMPANY----------------- */
#company {
  margin: 100px auto 100px auto;
  max-width: 1000px;
}

#company-flex {
  display: flex;
}

#company-left {
  background-color: white;
  width: 60%;
  padding: 75px 50px;
}

#company-title {
  height: 180px;
}
#company-title > h1 {
  font-size: 36px;
  font-weight: lighter;
  margin: 0;
  max-width: 400px;
  display: inline-block;
  position: relative;
  letter-spacing: 0.3em;
}

/* 下線 */
#company-title > h1::before {
  background-color: black; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -70px; /* 線の位置 */
  content: "";
  height: 2px; /* 線の高さ */
  left: 20%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-120%); /* 線の中央寄せ */
  width: 40px; /* 線の長さ */
}

#company-title > h2 {
  font-size: 18px;
  font-weight: lighter;
  margin: 0;
}

.info {
  display: flex;
  flex-wrap: wrap;
}

.info dt {
  width: 20%;
  margin: 10px 0 0 0;
}

.info dt:first-of-type {
  margin: 0 0 0 0;
}

.info dd {
  width: 75%;
  margin: 10px 0 0 0;
}

.info dd:first-of-type {
  margin: 0 0 0 0;
}

#company > div {
  position: relative;
}

#company-img {
  height: 400px;
  max-width: 50%;
  padding-left: 20px;
  position: absolute;
  top: 110px;
  right: 0;
}

#company-img > img {
  height: 100%;
  /* 画像サイズ調整 */
  object-fit: cover;
  object-position: center center;
}

/* フッター＝＝＝＝＝＝＝＝＝＝＝*/
footer {
  background-color: white;
}

footer > div {
  max-width: 1060px;
  padding: 0 30px 30px 30px;
  margin: 0 auto 0 auto;
}
#footer-flex {
  display: flex;
  justify-content: space-between;
}

#footer-flex > div > h1 {
  font-size: 36px;
  font-weight: lighter;
  margin: 0;
  letter-spacing: 0.3em;
  display: flex;
  align-items: center;
  height: 100%;
}

#adress {
  font-size: 18px;
  font-weight: lighter;
  margin: 50px 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

#adress > p {
  margin: 0;
  font-weight: lighter;
}

footer > div > p {
  font-size: 14px;
  font-weight: lighter;
  margin: 0;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝スマホ用スタイル＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

@media screen and (max-width: 900px) {
  /* ヘッダー＝＝＝＝＝＝＝＝＝＝ */

  #wed {
    display: block;
    margin: 10px 20px;
  }

  #nav {
    display: block;
    width: 100%;
  }

  #nav-logo > a {
    margin: 0;
  }

  #inquiry {
    display: none;
  }

  /* メイン＝＝＝＝＝＝＝＝＝＝＝ */

  #main-visual {
    width: 100%;
    height: calc(100vh - 120px);
  }

  #main-photo {
    /* 画像のサイズ調整 */
    object-position: center right;
  }

  /* NEWS＝＝＝＝＝＝＝＝＝＝＝＝ */
  /* ニュースの項目 */
  #news-item {
    display: block;
  }

  #news-first {
    flex: 1;
    padding: 0 30px 0 0;
    font-weight: lighter;
  }

  #news-second {
    flex: 1;
    padding: 0 0 0 0;
    margin: 30px 0;
    border-left: 0px solid;
    border-right: 0px solid;
  }

  #news-third {
    flex: 1;
    padding: 0 0 0 0;
  }

  /* ABOUT=================== */

  #about > div {
    display: block;
  }

  #about-photo {
    width: 100%;
  }

  #about-right > div {
    padding: 20px 20px 0 20px;
  }

  /* BUSINESS================ */

  #business {
    padding: 0 20px;
  }

  #business-flex {
    display: block;
  }

  #business-flex h2 {
    margin-top: 0;
  }

  #business-left {
    margin: 0;
    width: initial;
  }

  #photo01,
  #photo02,
  #photo03,
  #photo04 > div {
    text-align: center;
  }

  #business-right {
    margin: 50px 0 0 0;
    width: initial;
  }

  /* COMPANY================ */

  #company {
    margin: 100px auto 0 auto;
    padding: 0 20px;
  }
  #company-flex {
    display: block;
  }

  #company-left {
    width: initial;
    padding: 30px 20px;
  }

  #company-img {
    height: 400px;
    max-width: initial;
    padding-left: 0;
    position: static;
    margin-top: 20px;
  }

  #company > div {
    position: static;
  }

  #company-img > img {
    width: 100%;
  }

  .info {
    display: block;
  }

  .info dt {
    margin: 20px 0 0 0;
    width: 25%;
  }

  .info dd {
    margin: 5px 0 0 20px;
  }

  .info dd:first-of-type {
    margin: 5px 0 0 20px;
  }

  .blank {
    display: none;
  }

  /* フッター＝＝＝＝＝＝＝＝＝＝ */

  #footer-flex {
    display: block;
  }

  footer > div {
    padding: 30px;
  }

  #adress {
    margin: 0 0;
  }

  footer > div > p {
    margin: 40px 0 0 0;
  }
}
