Web白描

Webデザインの勉強 - 演習

課題08 宅配朝食サービス

課題08 宅配朝食サービス 完成例

記述ポイント
  • スマートフォンでは、「ロゴ」を「ホームボタン」の替わりに設定し、メニューからは削除
  • ナビゲーションは、押しやすい間隔で配置
  • ボタン(CTA)を、角丸ではなくスマートフォンの横幅いっぱいにして押しやすくする
  • 画像は、スマートフォンで見やすい大きさに変更

style.css

@charset "UTF-8";

/* -------------------------------------------
  reset
------------------------------------------- */
*, *::before, *::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
html {
  font-size: 100%;
}


/* -------------------------------------------
  body
------------------------------------------- */
body {
  background-color: #fff;
  color: #333;
  font-size: 1.0rem;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  line-height: 1.7;
  overflow-x: hidden;
}


/* -------------------------------------------
  layout
------------------------------------------- */
.container {
  width: min(90%, 1240px);
  margin: 0 auto;
}


/* -------------------------------------------
  header
------------------------------------------- */
.header {
  width: 100%;
  height: auto;
  padding: 30px 0 50px;
  text-align: center;
}
  header > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
    .header h1 {
      color: #0f9969;
      font-size: 44px;
      font-weight: 700;
    }

@media screen and (max-width: 767px) {
  header > .container {
    display: block;
  }
}


/* -------------------------------------------
  nav
------------------------------------------- */
.gnav > ul {
  display: flex;
  justify-content: center;
}
  .gnav li {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
  }
  .gnav li > a {
    display: block;
    padding: 6px 16px;
  }
  .gnav li > a:hover, .current {
    background-color: #0f9969;
    color: #fff;
  }

@media screen and (max-width: 767px) {
  header > .container {
    display: block;
  }
  .gnav > ul li:first-child {
    display: none;
  }
  .gnav li > a {
    padding: 6px 10px;
  }
}


/* -------------------------------------------
  main
------------------------------------------- */
.main {
  margin-bottom: 70px;
}
  .hero > .container {
    display: flex;
    gap: 40px;
  }

/* ---------- description ---------- */
.description {
  width: 42%;
}
  .description h2 {
    font-size: 44px;
    font-family: serif;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 25px;
  }
  .description p {
    font-size: 18px;
    margin-bottom: 35px;
  }
  /* CTA */
  .cta {
    display: flex;
  }
  .cta li a {
    display: inline-block;
    padding: 8px 26px;
    border: 2px solid #076343;
    border-radius: 50px;
    font-weight: 600;
    text-align: center;
    transition-duration: .3s;
  }
    .cta li:first-child a {
      background-color: #076343;
      color: #fff;
      margin: 0 15px 10px 0;
    }
    .cta li:first-child a:hover {
      background-color: #0f9969;
      border: 2px solid #0f9969;
      color: #fff;
    }
    .cta a:last-child:hover {
      background-color: #fff;
      border: 2px solid #fff;
      color: #222222;
      box-shadow: 0 0 10px #21212160;
    }

/* ---------- main_visual ---------- */
.main_visual {
  width: 78%;
  margin-right: -20%;
}
  .main_visual > img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
    object-position: left bottom;
  }

@media screen and (max-width: 767px) {
  .main {
    margin-bottom: 30px;
  }
  .hero > .container {
    display: block;
  }
  .description {
    width: 100%;
  }
  .main_visual {
    width: 100%;
    margin-right: 0;
  }
  .main_visual > img {
    width: 100%;
    height: 40vh;
  }
  .cta {
    display: block;
  }
  .cta li a {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    border-radius: 0;
    font-weight: 600;
    transition-duration: .3s;
  }
}


/* -------------------------------------------
  footer
------------------------------------------- */
.footer ul {
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}
  .footer li > a {
    display: block;
    padding: 2px 16px 0;
    border-bottom: 2px solid transparent;
    color: #0f9969;
  }
  .footer li > a:hover {
    border-bottom: 2px solid #0f9969;
  }
  .copy {
    margin-bottom: 20px;
    text-align: center;
  }

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>宅配朝食サービス</title>
<link rel="icon" href="favicon.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Noto+Sans+JP:wght@100..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
</head>
<body>

<!-- header -->
<header class="header">
  <div class="container">
    <h1 class="logo"><a href="index.html">foodie.</a></h1>
    <nav class="gnav">
      <ul>
        <li><a href="#" class="current">ホーム</a></li>
        <li><a href="#">メニュー</a></li>
        <li><a href="#">プラン</a></li>
        <li><a href="#">料金</a></li>
        <li><a href="#">店舗</a></li>
      </ul>
    </nav>
  </div><!-- /.container -->
</header>
<!-- /header -->

<!-- main -->
<main class="main">
    <section class="hero">
      <div class="container">
        <div class="description">
          <h2>朝は、<br>手軽で美味しい<br>朝食を</h2>
          <p>プランを 1 つ選択し、配達時間を入力すると
            、<br>家から出ることなくおいしい料理をお楽しみいただけます。</p>
          <ul class="cta">
            <li><a href="#">今すぐ注文</a></li>
            <li><a href="#">詳細を見る</a></li>
          </ul><!-- /.cta -->
        </div><!-- /.description -->
        <div class="main_visual">
          <img src="img/main.webp" alt="">
        </div><!-- /.main_visual -->
      </div><!-- /.container -->
    </section>
</main>
<!-- /main -->

<!-- footer -->
<footer class="footer">
  <div class="container">
    <ul>
      <li><a href="#">twitter</a></li>
      <li><a href="#">Instagram</a></li>
      <li><a href="#">YouTube</a></li>
    </ul>
    <p class="copy"><small>&copy; foodie.</small></p>
  </div><!-- /.container -->
</footer>
<!-- /footer -->

</body>
</html>

課題07 Girly Style

課題07 Girly Style 完成例

記述ポイント
  • 文字を読みやすいバランスに変更

style.css

@charset "UTF-8";

/* ----------------------------------------
  reset
---------------------------------------- */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
html {
  font-size: 100%;
}


/* ----------------------------------------
  body
---------------------------------------- */
body {
  background-color: #fff;
  color: #333;
  font-size: 1.0rem;
  font-family: Arial, sans-serif;
  line-height: 1.0;
}


/* ----------------------------------------
  header
---------------------------------------- */
.header {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #fff;
  background-image: url(../img/bg_img.webp);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  color: #fff;
  font-family: serif;
  font-weight: bold;
  text-align: center;
}
  .header h1 {
    margin-bottom: 20px;
    font-size: 3.125rem;
  }
  .header p {
    font-size: 1.25rem;
  }

@media screen and (max-width: 767px) {
  .header h1 {
    margin-bottom: 10px;
    font-size: 2.5rem;
  }
  .header p {
    font-size: 1.0rem;
  }
}

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GIRLY SITE</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
  <header class="header">
    <div class="container">
      <h1>キュートな瞬間</h1>
      <p>あなたの心をつかむ、可愛いデザイン</p>
    </div><!-- /.container -->
  </header>
</body>
</html>

課題06 旬の野菜便

課題06 旬の野菜便 完成例

記述ポイント
  • 横並びを縦並びに変更するために、メディアクエリ内で「display: block;」を指定する
  • 文字サイズを読みやすい大きさに変更
  • 画像の幅を100%に変更
  • ボタン(CTA)を、角丸ではなくスマートフォンの横幅いっぱいにして押しやすくする

style.css

@charset "UTF-8";

/* -------------------------------------------
  reset
------------------------------------------- */
* {
  margin: 0;
  padding:0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
html {
  font-size: 100%;
}


/* -------------------------------------------
  body
------------------------------------------- */
body{
  color: #333;
  font-size: 1.0rem;
  font-family: "Shippori Mincho", serif;
  line-height: 1.0rem;
  letter-spacing: -0.01rem;
}


/* -------------------------------------------
  layout
------------------------------------------- */
.container {
  width: min(92%, 960px);
  margin: 0 auto;
}


/* -------------------------------------------
  header
------------------------------------------- */
.header {
  border-bottom: 6px solid #128100;
}
.header > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 0;
  text-align: center;
}
  h1{
    color: #128100;
    font-size: 1.75remx;
  }
  nav > ul{
      display: flex;
      justify-content: center;
      gap: 30px;
      font-family: sans-serif;
  }
    nav > ul li{
        list-style: none;
        font-size: 1.0rem;
        font-weight: 700;
        color: #128100;
    }

@media screen and (max-width: 767px) {
  .header > .container {
    display: block;
    padding: 20px 0;
  }
  h1 {
    margin-bottom: 30px;
  }
}


/* -------------------------------------------
  main
------------------------------------------- */
.main {
  padding-bottom: 60px;
}
  .key_visual > img {
    width: 100%;
    height: 600px;
    object-fit: cover;
  }
  h2 {
    margin: 40px 0;
    color: #128100;
    font-size: 2.18rem;
    line-height: 1.2;
    text-align: center;
  }
    h2::first-line {
      color: #3d3d3d;
      font-size: 1.75rem;
      display: block;
    }

.description {
  display: flex;
  gap: 40px;
  margin: 40px auto;
}
  .description img {
    width: 48%;
    object-fit: cover;
  }
  .description-block {
    margin-right: 50px;
  }
  .description h3 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .description p {
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    text-align: justify;
  }

@media screen and (max-width: 767px) {
  .description{
    display: block;
  }
  .description img{
    width: 100%;
    margin-bottom: 30px;
  }
  .description h3{
    font-size: 1.5rem;
    margin-bottom: 16px;
    text-align: center;
  }
  .description p{
    margin: 0;
    font-size: 1.0rem;
    line-height: 1.6;
    text-align: justify;
  }
}

/* ---------- CTA ---------- */
.cta > ul {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.cta_btn a {
  display: block;
  padding: 16px 30px;
  border: 2px solid transparent;
  border-radius: 50px;
  color: #fff;
  font-size: 1.125rem;
  font-family: sans-serif;
  text-align: center;
  cursor: pointer;
}
.buy-btn a {
  background-color: #FFA726;
  border: 2px solid #FFA726;
}
  .buy-btn a:hover {
    background-color: #fff;
    border: 2px solid #FFA726;
    color: #FFA726;
  }
.detail-btn a {
  background-color: #128100;
}
  .detail-btn a:hover {
    background-color: #fff;
    border: 2px solid #128100;
    color: #128100;
  }

@media screen and (max-width: 767px) {
  .cta > ul {
    display: block;
    justify-content: center;
    gap: 40px;
  }
  .cta_btn a {
    margin-bottom: 20px;
    border-radius: 0;
    
  }
}


/* -------------------------------------------
  footer
------------------------------------------- */
footer {
    background-color: #128100;
    text-align: center;
    padding: 18px 0 13px;
}
footer .footer-title{
    color: #fff;
    font-size: 1.75rem;
}
footer .copyright{
    color: #fff;
    font-size: 0.75rem;
    margin-top: 10px;
}

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex">
<title>【コーディング練習】旬の野菜便</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
</head>
<body>

<!-- header -->
<header class="header">
  <div class="container">
    <h1>旬の野菜便</h1>
    <nav class="gnav">
      <ul>
        <li>旬の野菜便について</li>
        <li>お問い合わせ</li>
      </ul>
    </nav>
  </div><!-- /.container -->
</header>
<!-- /header -->

<!-- main -->
<main class="main">
  <div class="key_visual">
    <img src="img/vegetables.webp" alt="">
  </div><!-- /.key_visual -->
  <div class="container">
    <section class="message">
      <h2>いつでもそばに<br>
        美味しい野菜を</h2>
      <div class="description">
        <img src="img/smoothie.webp" alt="">
        <div class="text_block">
          <h3>取れたての新鮮な野菜</h3>
          <p>旬の野菜便はいつでも取れたての新鮮な野菜を配送。だから届いてもすぐにおいしく、生のままでも食べることが出来ます。<br>
          普段から野菜不足だなと感じる日本人は多いものの、あまり多く食べられないのが現実。<br>
          私たちは、野菜の定期便で野菜不足の生活をしっかりサポート。1日に必要な野菜を全てお届け。<br>
          自由に調理するもよし、そのまま食べるもよし。野菜をふんだんに取り入れた生活で、健康な毎日を。</p>
        </div><!-- /.text_block -->
      </div><!-- /.description -->
    </section>
    <div class="cta">
      <ul>
        <li class="cta_btn buy-btn"><a>ご購入はこちら</a></li>
        <li class="cta_btn detail-btn"><a>詳しく見る</a></li>
      </ul>
    </div><!-- /.cta -->
  </div><!-- /.container -->
</main>
<!-- /main -->

<!-- footer -->
<footer>
  <div class="footer-title">旬の野菜便</div>
  <p class="copyright">© 2024 旬の野菜便</p>
</footer>
<!-- /footer -->

</body>
</html>

課題05 スペインの魅力

課題05 スペインの魅力 完成例

記述ポイント
  • 横並びを縦並びに変更するために、メディアクエリ内で「display: block;」を指定する
  • lead文の幅と画像の幅を変更

style.css

@charset "UTF-8";

/* ---------------------------------------
  reset
--------------------------------------- */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}


/* ---------------------------------------
  body
--------------------------------------- */
body {
  background-color: #fff;
  color: #333;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.0;
}


/* ---------------------------------------
  layout
--------------------------------------- */
.container {
  width: min(92%, 960px);
  margin: 0 auto;
}


/* ---------------------------------------
  header
--------------------------------------- */
.header h1 {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 50vh;
  margin-bottom: 30px;
  padding-top: 100px;
  background: url(../img/00.webp) no-repeat center center;
  background-size: cover;
  color: #fff;
}
.lead {
  width: 960px;
  margin: 0 auto;
  padding: 0 7em;
  line-height: 1.6;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .lead {
    width: 100%;
    padding: 0 2em;
  }
}

/* ---------------------------------------
  main
--------------------------------------- */
.main {
  padding-top: 60px;
}
.attract {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 60px;
}
.attract > img {
  width: 40%;
}
.attract:nth-last-of-type(even) {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .attract {
    display: block;
  }
  .attract > img {
    width: 100%;
    margin-bottom: 20px;
  }
}

/* ------------ text_block ------------ */
.text_block h2 {
  margin-bottom: 20px;
  padding-bottom: 6px;
  border-bottom: 2px solid #66a2f2;
  color: #cd4914;
}
.text_block p {
  margin-bottom: 20px;
  line-height: 1.7;
  text-align: justify;
}
.text_block dl {
  padding: 2em;
  background-color: #e4f4f7;
  border-radius: 8px;
  line-height: 1.6;
}
  .text_block dt {
    font-size: 18px;
    font-weight: bold;
  }
  .text_block dd {
    margin-bottom: 10px;
  }


/* ---------------------------------------
  footer
--------------------------------------- */
.footer {
  padding: 20px 0;
  background-color: #000;
  color: #fff;
  text-align: center;
}

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>【コーディング練習】スペインの魅力</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!-- header -->
<header class="header">
  <h1>スペインの魅力を巡る旅</h1>
  <p class="lead">バルセロナのアントニ・ガウディの建築やセビリアの情熱的なフラメンコ、地元の美味しいタパスを楽しむことで、スペインの文化とアートに深く触れることができました。<br>各地での体験を通じて、心に残る思い出とともに、カメラマンとしての視点も広がる素晴らしい旅となりました。</p>
</header>
<!-- /header -->

<!-- main -->
<main class="main">
  <div class="container">
    <section class="attract">
      <img src="img/01.webp" alt="サグラダ・ファミリア">
      <div class="text_block">
        <h2>バルセロナのアートと建築</h2>
        <p>バルセロナでは、アントニ・ガウディの傑作であるサグラダ・ファミリアを訪れ、その壮大さに圧倒されました。街中に点在するカラフルな建築物をカメラで捉えながら、独特のデザインや歴史的背景に触れることができ、アートの魅力を再確認しました。</p>
        <dl>
          <dt>サグラダ・ファミリアの壮大さ:</dt>
          <dd>未完成の大聖堂の独特なデザインとその歴史的背景</dd>
          <dt>グエル公園の色彩:</dt>
          <dd>鮮やかなタイルと自然との調和が生み出す幻想的な景観</dd>
          <dt>カサ・ミラの曲線美:</dt>
          <dd>自然を模した流れるような形状と、内部の革新的な設計</dd>
        </dl>
      </div><!-- /.text_block -->
    </section>
    <section class="attract">
      <img src="img/02.webp" alt="フラメンコ">
      <div class="text_block">
        <h2>スペインの味覚と交流</h2>
        <p>旅の締めくくりには、地元のタパスやパエリアを味わい、スペインの豊かな食文化を体験しました。地元の人々との交流を通じて、温かい思い出が生まれ、私のカメラマンとしての視点も広がりました。スペインの旅は、心に残る素晴らしい経験となりました。</p>
        <dl>
          <dt>多様なタパスの種類:</dt>
          <dd>地域ごとの特色あるタパスの紹介とその味わい</dd>
          <dt>地元の居酒屋の雰囲気:</dt>
          <dd>地元の人々との交流を楽しむアットホームな環境</dd>
          <dt>タパスの食文化:</dt>
          <dd>食事を通じての社交や、スペインの食文化の重要性</dd>
        </dl>
      </div><!-- /.text_block -->
    </section>
    <section class="attract">
      <img src="img/03.webp" alt="パエリア">
      <div class="text_block">
        <h2>セビリアの文化と情熱</h2>
        <p>セビリアでは、フラメンコの生演奏に心を奪われ、情熱的な踊りに魅了されました。また、アルカサルの美しい庭園を散策し、歴史的な雰囲気を楽しみました。カメラを片手に、これらの瞬間を記録し、セビリアの文化に深く触れることができました。</p>
        <dl>
          <dt>セビリアのフラメンコショー:</dt>
          <dd>本場の情熱的なパフォーマンスとその魅力</dd>
          <dt>フラメンコの歴史:</dt>
          <dd>音楽とダンスの起源や文化的背景についての理解</dd>
          <dt>観客との一体感:</dt>
          <dd>パフォーマンス中の観客とのインタラクションや感情の共有</dd>
        </dl>
      </div><!-- /.text_block -->
    </section>
  </div><!-- /.container -->
</main>
<!-- /main -->

<!-- footer -->
<footer class="footer">
  <p><small>&copy; 田中景子</small></p>
</footer>
<!-- /footer -->
</body>
</html>

課題04 NEWS

課題04 NEWS 完成例

記述ポイント
  • 横並びを縦並びに変更するために、メディアクエリ内で「display: block;」を指定する

style.css

@charset "UTF-8";

/* ------------------------------------------
  reset
------------------------------------------ */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}
html {
  scroll-behavior: smooth;
}


/* ------------------------------------------
  body
------------------------------------------ */
body {
  background-color: #fff;
  color: #333;
  font-size: 16px;
  font-family:  "Poppins", "Noto Sans JP", sans-serif;
  line-height: 1.0;
}


/* ------------------------------------------
  layout
------------------------------------------ */
.container {
  width: min(90%, 960px);
  margin: 0 auto;
}


/* ------------------------------------------
  header
------------------------------------------ */
.header {
  padding: 20px 0 24px;
  text-align: center;
}
.header > .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .header {
    padding: 10px 0 16px;
  }
  .header > .container {
    display: block;
  }
  h1 {
    margin-bottom: 10px;
  }
}


/* ------------------------------------------
  nav
------------------------------------------ */
.gnav > ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
  .gnav li > a {
    display: block;
    justify-content: center;
    padding: 6px 20px;
  }


/* ------------------------------------------
  main
------------------------------------------ */
.key_visual {
  margin-bottom: 100px;
}
  .key_visual > img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
    object-position: center center;
  }
.news, .twitter {
  margin-bottom: 40px;
}
.news {
  display: flex;
  gap: 4%;
}
h2 {
  position: relative;
  width: 30%;
  font-size: 48px;
  margin-bottom: 30px;
}
.news > h2::after {
  content: "ニュース";
  position: absolute;
  left: 0;
  top: 50px;
  font-size: 14px;
}
.twitter > h2::after {
  content: "ツイッター";
  position: absolute;
  left: 0;
  top: 50px;
  font-size: 14px;
}
dl {
  width: 70%;
}
  dt {
    margin-bottom: 10px;
    font-weight: bold;
  }
  dd {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #aaa;
  }

@media screen and (max-width: 767px) {
  .key_visual {
    margin-bottom: 40px;
  }
  .news, .twitter {
    display: block;
  }
  dl {
    width: 100%;
  }
    dd {
      margin-bottom: 10px;
      padding-bottom: 6px;
    }
}

  
/* ------------------------------------------
  footer
------------------------------------------ */
.footer {
  padding: 20px 0;
  background-color: #000;
  color: #fff;
  text-align: center;
}

index.html

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Code NEWS</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!-- header -->
<header class="header">
  <div class="container">
    <h1>The Code NEWS</h1>
    <nav class="gnav">
      <ul>
        <li><a href="#news">NEWS</a></li>
        <li><a href="#twitter">Twitter</a></li>
      </ul>
    </nav>
  </div><!-- /.container -->
</header>
<!-- /header -->

<!-- main -->
<main class="main">
  <div class="key_visual">
    <img src="img/hero.webp" alt="">
  </div><!-- /.key_visual -->
  <div class="container">
    <section class="news">
      <h2 id="news">NEWS</h2>
      <dl>
        <dt><time datetime="2024-10-10">2024.10.10</time></dt>
        <dd>ホームページをリニューアルしました。</dd>
        <dt><time datetime="2024-10-10">2024.10.10</time></dt>
        <dd>ホームページをリニューアルしました。</dd>
        <dt><time datetime="2024-10-10">2024.10.10</time></dt>
        <dd>ホームページをリニューアルしました。</dd>
        <dt><time datetime="2024-10-10">2024.10.10</time></dt>
        <dd>ホームページをリニューアルしました。</dd>
      </dl>
    </section>
    <section class="twitter">
      <h2 id="twitter">Twitter</h2>
      <a class="twitter-timeline" data-dnt="true" href="https://twitter.com/1234web?ref_src=twsrc%5Etfw" data-height="500px">Tweets by 1234web</a>
      <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 
    </section>
  </div><!-- /.container -->
</main>
<!-- /.main -->

<!-- footer -->
<footer class="footer">
  <p><small>© The Code NEWS Inc.</small></p>
</footer>
<!-- /footer -->
</body>
</html>