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

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

/* slick */
.carousel {
  margin-top: 50px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.carousel-img {
  width: 60vh;
  margin: 0 10px;

  /* 画像のサイズ調整 */
  object-fit: cover;
  object-position: center center;
}

/* slickのカスタマイズ */

.slick-dots li button:before {
  content: "⚫︎";
  transform: scale(1.5);
}

/* モーダル */
.modaal-close:after,
.modaal-close:before {
  background-color: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background-color: #666;
}

.modaal-gallery-item-wrap {
  max-width: 80vw;
  max-height: 80vh;
}

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

/* ヘッダー */
header {
  display: flex;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
#nav {
  max-width: 1000px;
  margin-top: 50px;
}

#nav > a {
  font-size: 28px;
  color: black;
  text-decoration: none;
  display: flex;
  justify-content: left;
}

/* メインビジュアル */
#main-photo {
  margin-top: 10px;
  display: flex;
  justify-content: center;

  /* 画像のサイズ調整 */
  object-fit: cover;
  object-position: center center;
}

/* INDEX */
#index {
  margin-top: 50px;
}

#index > div {
  background-color: white;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

#index-name {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 10px;
}

#index-name > h1 {
  font-weight: 700;
  font-size: 20px;
  margin: 0;
}

#index-name > ol {
  padding: 0;
  list-style: decimal;
  margin-bottom: 0;
}

#index-name > ol > li {
  padding-bottom: 20px;
  margin-left: 20px;
}

/* DETAIL */
#detail {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
}

#index > h1 {
  font-weight: 700;
  font-size: 20px;
  margin: 0;
}

#detail-flex {
  display: flex;
}

#detail-flex > img {
  width: 270px;
  /* 画像のサイズ調整 */
  object-fit: cover;
  object-position: center center;
}

#introduction {
  margin: 0 0 0 50px;
}

#introduction > h2 {
  font-size: 20px;
  font-weight: 700;
  border-bottom: 1px solid;
  margin: 0;
  padding: 0 0 20px 0;
  border-color: rgba(186, 181, 181, 0.4);
}

#introduction > dl {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
}

#introduction dl dt {
  width: 25%;
  margin-bottom: 5px;
}

#introduction dl dt:last-of-type {
  margin-bottom: 0;
}

#introduction dl dd {
  width: 75%;
  margin: 0;
}

#introduction > div > p {
  font-size: 14px;
  border-top: 1px solid;
  border-color: rgba(186, 181, 181, 0.4);
  padding: 20px 0 20px 0;
  margin: 0;
}

#introduction > a {
  font-size: 14px;
  color: black;
}

#introduction > a:hover {
  opacity: 0.5;
  /* 要素の不透明度 */
}

footer > p {
  margin-top: 50px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  font-size: 10px;
}

/* =================
スマホ用スタイル
=================== */
@media screen and (max-width: 1024px) {
  header,
  #main-photo,
  #index > div,
  #detail,
  footer > p {
    padding-left: 20px;
    padding-right: 20px;
  }

  #detail-flex {
    flex-direction: column;
  }

  #detail-flex > img {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    /* 画像のサイズ調整 */
    object-fit: cover;
    object-position: center center;
  }

  #introduction {
    margin: 50px 0 0 0;
  }
}
