* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* これも追加しておくと便利です */
  
}

html, body {
  min-height: 100vh; /* ← ここを変更！ */
  background-color: #d8ecf0;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  position: relative;
  text-align:center;
  overflow-x: hidden;
}

.key-visual {
  padding: 100px;
  box-sizing: border-box;
}

.key-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.description {
  text-align: center;
  padding: 60px 20px;
  background-color: #e6f6f9;
}

.description h1 {
  font-size: 3rem;
  margin-top: 0px;
  margin-bottom: 20px;
  color: #333;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}

.description p {
  font-size: 1.5rem;
  color: #555;
  width: 1800px;
  max-width: 90%;
  margin: 0 auto;
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}

.description img {
  padding-top:50px;
  width: 60%;
  height: auto;
}




.sunflower {
  display: flex;
  flex-direction: column; /* 要素を縦に並べる */
  align-items: center; /* 要素を水平方向に中央寄せ */
  width: 100%;
  background-color: #FAFAD8;
}

.top-row {
  display: flex;
  width: 100%;
  justify-content: space-around; /* これに変更 */
  align-items: center;
  flex-wrap: nowrap; /* 子要素を折り返さない（デフォルト値ですが、明示的に指定）*/
  padding-top: 30px; /* 調整してください */
}


.div1 img {
  border-radius: 50%;
  object-fit: cover;
  max-width: 200px; /* 画像の最大幅を設定 */
  height: auto;
}

.div2 {
  font-family: "Zen Antique";
  font-weight: normal;
  max-width: 50%; /* 親要素の半分の幅に制限 */
  word-break: break-word; /* 単語の途中でも改行できるようにする */
  line-height: normal; /* 行の高さを自動調整に戻す */
  height: auto; /* 高さを自動調整に戻す */
}

.top-row .div2 {
font-family: "Zen Antique";
font-weight: normal;
font-size: 30px;
color: #585a69;
}


/* div3を右寄せにして、内側に隙間を作る */
.div3 {
  font-family: "Zen Kaku Gothic Antique";
  font-size: 28px;
  color: #333;
  margin-top: 20px; /* 上にスペースを作成 */
  margin-bottom: 20px; /* 下にスペースを作成 */
}

.div4 img {
  /* ここに画像を中央寄せするスタイルを追加 */
  display: block; /* 画像をブロック要素にして */
  margin: 0 auto; /* 中央寄せにする */
  width: 70%;
  height: auto;
  padding-bottom: 30px;
}

.glass_sake {
  display: flex;
  flex-direction: column; /* 要素を縦に並べる */
  align-items: center; /* 要素を水平方向に中央寄せ */
  width: 100%;
  background-color: #e6f6f9;
}

/* 画像のスタイルを修正 */
.div5 img{
  border-radius: 50%;
  object-fit: cover;
  max-width: 200px; /* 画像の最大幅を設定 */
  height: auto;
}

/* div6を左寄せにして、内側に隙間を作る */
.div6 {
  font-family: "Zen Antique";
  font-weight: normal;
  max-width: 50%; /* 親要素の半分の幅に制限 */
  word-break: break-word; /* 単語の途中でも改行できるようにする */
  line-height: normal; /* 行の高さを自動調整に戻す */
  height: auto; /* 高さを自動調整に戻す */
}

.top-row .div6 {
font-family: "Zen Antique";
font-weight: normal;
font-size: 30px;
color: #585a69;
}

/* div7を左寄せにして、内側に隙間を作る */
.div7 {
  font-family: "Zen Kaku Gothic Antique";
  font-size: 28px;
  color: #333;
  margin-top: 20px; /* 上にスペースを作成 */
  margin-bottom: 20px; /* 下にスペースを作成 */
}

.div8 img{
  /* ここに画像を中央寄せするスタイルを追加 */
  display: block; /* 画像をブロック要素にして */
  margin: 0 auto; /* 中央寄せにする */
  width: 70%;
  height: auto;
  padding-bottom: 30px;
}

.explain{
padding: 20px; 
display: grid;
width: 100%; /* 最大幅 */
height: fit-content;
background: #fafad8;
padding-top: 50px;
padding-bottom: 50px;
text-align:center;
margin-bottom: 0px; 
}

.explain h2 {
  font-family: "Zen Kaku Gothic Antique";
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 50px;
  color: #333;
}

.explain ul {
  list-style: disc; /* リストの先頭に黒丸を表示 */
  text-align: center; /* リスト全体を中央に配置 */
  display: inline-block; /* ulの幅を内容に合わせる */
  font-family: "Zen Kaku Gothic Antique";
  color: #333;
  margin-top: 20px;;
}

.explain li {
  list-style-position: inside; /* 黒丸をテキストの内側に配置 */
  font-size: 1.2rem;
  font-weight: normal;
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}

.sub-visual {
  padding: 0px;
  box-sizing: border-box;
  position: relative;
}

.sub-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  
}

.art_collection {
  z-index: 2;
  position: absolute; /* fixedからabsoluteに戻す */
  top: 92%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 55%;
}

.art_collection img {
  width: 100%;    /* 親要素（.art_collection）に対しての幅 */
  height: auto;
  object-fit: cover;
  display: block;
  margin: 0 auto; /* 内部の画像を水平方向に中央配置（不要な可能性あり） */
  position: fixed;
} 

footer {
  text-align: center;
  font-family: "Zen Antique Soft", sans-serif;
  font-weight: normal;
  font-size: 25px;
  color: #585a69;
  width: 100%;
  padding: 20px 0;
  bottom: 0px;
  margin: 0;
  background-color: #d8ecf0;
}

footer p a {
  text-decoration: none;
  color: inherit;
}

img:hover {
  opacity: 0.5;
}

h1:hover,h2:hover {
  color: rgb(231, 150, 121);
  opacity: 0.7;
}

/* スマートフォン用 */
@media (max-width: 767px) {
  /* スマートフォン用のスタイル */
.key-visual {
  padding: 5px;
  box-sizing: border-box;
}

.description h1 {
  font-size: 2rem;
}

.description p {
  font-size: 0.8rem;
  letter-spacing: -0.05rem;
  width: auto;
  max-width: 95%;
}

.description img {
  padding-top:70px;
  width: 90%;
  height: auto;
}

.div1 img, .div5 img {
  max-width: 100px; /* 画像の最大幅を設定 */
  height: auto;
}

.top-row .div2, .top-row .div6 {
    font-size: 11.5px;
  } 

  .div3, .div7 {
    font-size: 11px;
  }

.div4 img, .div8 img{
  width: 50%;
  height: auto;
}

.explain h2 {
  font-size: 0.9rem;
  letter-spacing: -0.05rem;
  font-weight: bold;
}

.explain li {
  font-size: 0.6rem;
  letter-spacing: -0.05rem;
}

.art_collection img {
  width: 105%;    /* 親要素（.art_collection）に対しての幅 */
  height: auto;
  padding-top: 10px;
} 

footer {
    font-size: 10.5px ;
  }
}

/* タブレット用 */
@media (min-width: 768px) and (max-width: 1023px) {
  /* タブレット用のスタイル */
  .key-visual {
  padding: 10px;
  box-sizing: border-box;
}

  .top-row .div2, .top-row .div6 {
    font-size: 22px;
  }
  .div3, .div7 {
    font-size: 20px;
  }
  .explain h2{
    font-size: 1.5rem;
    font-weight: bold ;
  }
  
  footer {
    font-size: 20px ;
  }
}


