@charset "UTF-8";

/* -----------------------------
  変数定義
----------------------------- */
:root {
    /* カラー */
    --color-primary: #F8F0E5;
    --color-secondary: #A6BCBA;
    --color-accent: #BCB1A6;
    --color-text: #000000;
    --color-link: #006ad6;
    --color-white: #fff;
    --color-gray: #9d9d9d;
    --color-footer: #A6BCBA;
    
    /* レイアウト */
    --width-content: 550px; /* メインコンテンツの最大幅などに使用想定 */
    --width-narrow: 770px; /* やや狭いコンテンツ幅 */
    --space-unit: 10px;
    --space-section: 50px;
    --space-wrap:20px; /* paddingなどに使用 */
    --pc-breakpoint: 960px; /* PC表示に切り替えるブレークポイント */
    
    /* その他 */
    --duration: 0.7s;
}

/* -----------------------------
  ベース
----------------------------- */
body {
    font-family: "Yu Gothic","游ゴシック Medium","Yuji Syuku","Yu Mincho","YuMincho","游明朝体","游ゴシック体","ヒラギノ角ゴ Pro W3", sans-serif;
    overflow-x: hidden; /* 横スクロール防止 */
    background-color: var(--color-primary);
    width: 100%;
    color: var(--color-text); /* 基本の文字色を指定 */
}
.background1 {
    padding-top: 45px;
    background-image: url(../img/sp_background_1.webp);
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    max-width: 100%;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
    vertical-align: middle; /* 画像下の余白対策 */
}

/* -----------------------------
  レイアウト (スマホファースト)
----------------------------- */
.container {
  width: 100%;
  /* PC表示で display: flex; を適用 */
}
.wrapper { /* メインコンテンツ内の左右パディング用 */
  width: 100%;
  max-width: var(--width-content); /* コンテンツ幅制限 */
  margin: 0 auto;
  position: relative;
  padding: 0 var(--space-wrap);
  box-sizing: border-box;
}

.wrapper2 { /* wrapperより広い場合など */
  width: 100%;
  max-width: var(--width-narrow); /* コンテンツ幅制限 */
  margin: 0 auto;
  padding: 0 var(--space-wrap);
  box-sizing: border-box;
}

/* --- 左サイドバー --- */
.l_aside {
  width: 50%; /* スマホでは全幅 */
  /* PC表示で width: 50%; position: sticky; など */
}
.slider_wrap {
  width: 100%; /* 親要素いっぱいに広がる */
  /* PC表示で height: 100%; など */
  box-sizing: border-box;
}
.slider img { /* スライダー内の画像 */
  width: 100%;
  height: auto; /* 高さを自動調整 */
  object-fit: cover; /* アスペクト比を保ちつつコンテナを埋める */
}
/* 左サイドのスライダーに高さを指定 (例) */
.l_aside .slider img {
  height: 300px; /* スマホ時の高さを指定 */
}

/* --- 右メインエリア --- */
.main-area {
  width: 100%; /* スマホでは全幅 */
  /* PC表示で width: 50%; */
  display: flex;
  flex-direction: row-reverse;
}
/* main要素の幅指定は削除 (デフォルトで親要素の100%) */



/* -----------------------------
  共通コンポーネント
----------------------------- */
.sec-ttl {
  font-size: 28px;
  font-weight: normal;
  text-align: center;
  font-family: "Yuji Syuku";
  padding-bottom: calc(var(--space-section) * 0.8); /* 少し詰める */
}

.lead {
  font-size: 14px;
  line-height: 1.7; /* line-height は単位なし推奨 */
  text-align: center;
  font-family: "游ゴシック Medium";
  padding-bottom: 30px;
}

.more{
  font-size: 16px;
  font-family: "Yuji Syuku";
  padding-bottom: 30px;
  display: flex; /* ボタン配置用に flex を使うと便利 */
    justify-content: center; /* 中央寄せ (デフォルト) */
}

/* more ボタンを右寄せにする場合 */
.more.align-right {
  justify-content: flex-end;
}


.serif-01 {
  font-size: 14px;
  font-family: "游明朝体";
  padding-bottom: var(--space-unit);
}

.serif-02 {
  font-size: 28px;
  font-family: "游明朝体";
  padding-bottom: calc(var(--space-section) * 0.4); /* 少し詰める */
}

.sans-serif-01 {
  font-size: 14px;
  line-height: 1.8; /* line-height は単位なし推奨 */
  font-family: "游ゴシック Medium";
  padding-bottom: var(--space-unit);
}

/* ボタン (btn002-04) スタイル */
.btn002-04 {
  width: 100%;
  max-width: 180px;
  height: 60px;
  padding: 0 25px 0 10px;
  position: relative;
  text-decoration: none;
  display: inline-flex; /* インライン要素として配置しつつ中身をflexに */
  justify-content: space-between;
  align-items: center;
  border-radius: 9999px;
  color: var(--color-footer);
  background-color: var(--color-white);
  border: 1px solid var(--color-footer);
  transition: all 0.4s ease;
  margin-left: 60%;
}

/* 矢印アイコン */
.btn002-04 .arrow {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background-color: var(--color-footer);
  border-radius: 40px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.btn002-04 .arrow span {
  position: relative;
  right: 2px;
  width: 16px;
  height: 6px;
  border-bottom: 1px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  transform: skew(45deg);
  transition: all 0.3s ease;
}

/* ホバーアニメーション */
.btn002-04:hover {
  color: var(--color-white);
  background-color: var(--color-footer);
}

.btn002-04:hover .arrow {
  background-color: var(--color-white);
}
.btn002-04:hover .arrow span {
  border-color: var(--color-footer);
}

/* ホバー制御 */
@media (hover: hover) and (pointer: fine) {
  .btn-primary:hover,
  .btn-secondary:hover,
  .pagetop a:hover {
      opacity: 0.7;
  }
}

@media (hover: none) or (pointer: coarse) {
  /* タッチデバイスでの即時反応 */
  .btn-primary:active,
  .btn-secondary:active,
  .pagetop a:hover {
      opacity: 1;
  }
}

/* -----------------------------
  ヘッダー
----------------------------- */
.header {
  /* スマホでは特別なスタイルは不要かも */
  /* PC表示で position: fixed; など調整 */
  padding-bottom: var(--space-unit); /* header自体のpaddingは不要かも */
}

/* ロゴ (メインエリア内) */
.logo {
  text-align: center; /* スマホでは中央寄せ */
  /* padding-top: var(--space-unit); */
  display: none;
}

.logo img {
  margin: 0;
  width: 100px;
}



.main-area {
  background: transparent;
  margin: 0;
  font-family: arial;
  width: 100vw;
  height: 100vh;
  animation: bugfix infinite 1s;
  -webkit-animation: bugfix infinite 1s;
}

@keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
  /* ナビゲーションメニュー */
  .menu {
    /* スマホではハンバーガーメニュー等にするのが一般的 */
    /* 現状は position: fixed; で常に表示 */
    position: fixed;
    top: 0; /* 上からの位置 */
    height: 100%;
    z-index: 100;
    padding-top: 100px; /* 上部の余白 */
    background-image: url(../img/unsplash_X8DhUTO4MYE.jpg);
    padding-right: 10px;
    padding-left: 10px;
    box-sizing: border-box;
    width: 25%;
  }
  
  .menu-list {
    /* リストのスタイルリセット */
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .menu-item {
    margin-bottom: 20px;
  }
  
  .menu-link {
    font-size: 16px; /* スマホ用に調整 */
    font-family: "Yuji Syuku";
    text-decoration: none;
    color: var(--color-text);
    display: block; /* クリック範囲を広げる */
    padding: 5px;
  }
  
  @media screen and (min-width: 960px) {
  .menu-item a{
      display: inline-block;
      color:#000000;
      font-size:120%;
      text-decoration:none;
      position: relative;
      transition: .3s;
  }
  .menu-item a::after{
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 0;
    height: 1px;
    background-color: #000000;
    transition: .3s;
    transform: translateX(-50%);
  }
  .menu-item a:hover::after{
    width: 100%;
  }
}
  /* テキストブラーアニメーション */
@keyframes text-blur {
  0% { filter: blur(0); }
  50% { filter: blur(2px); } /* 少し弱めに */
  100% { filter: blur(0); }
}



/* メインビジュアル (右エリア用スライダー) */
.top {
  margin-bottom: var(--space-section);
}
.center_img {
  margin-bottom: var(--space-section);
}
.center_img .slider img {
  border-radius: 70px 10px 70px 10px;
  /* border-radius: 250px 250px 10px 10px;  */
  /* border: solid 2px var(--color-footer); */
}
.center_img > .slider {
  position: relative;
  overflow: hidden;
}

.copy {
  position: absolute;
  display: block;
  z-index: 150;
}
h1 {
  font-weight: normal;
  margin: 0.4em 0;
  color: #99ADAB;
  /* color: var(--color-text); */
  font-weight: normal;
  font-family: "Yuji Syuku";
  line-height: 3rem;
  left: 50%;
}
h1 { font-size: 2rem; }


/* -----------------------------
  セクション01: Story
----------------------------- */
.sec-01 {
  margin-bottom: var(--space-section);
}

.surround {
  background-color:rgba(255,255,255,0.6);
  border-radius:40px; /* スマホ用に調整 */
  padding-top: var(--space-wrap); /* 上にもpadding */
    padding-bottom: var(--space-wrap); /* 下にもpadding */
}
.background4 {
  background-image: url(../img/motif_black.webp);
  background-repeat: no-repeat;
  background-position: 85% 60%;
  background-size: 15%;
}
.sec-01 h2 {
  padding-top: 20px;
}

/* リード文の行数制限 (JSでの制御がより確実) */
.line-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 5; /* スマホでは少し多めに表示 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-bottom: 0;
}
.sec-01 .more {
  margin-top: 20px; /* リード文との間に余白 */
  justify-content: flex-end; /* ボタンを右寄せ */
  padding-right: 20px; /* 右端の余白 */
}


/* -----------------------------
  セクション02: Products
----------------------------- */
.sec-02 {
  margin-bottom: 50px;
}

.sec-2 > .wrapper {
  max-width: 100%; /* productsではwrapper幅制限を解除 */
  padding: 0;
  
}

.products-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.products-list li {
  position: relative;
  list-style: none;
}

.sec-02 h2 {
  text-align: left;
  padding-bottom: 0;
}
.products-list {
  width: 100%;
}

.menu-01 {
  width: 48%;
  height: 100%;
  background-color: var(--color-secondary);
  border-top-left-radius: 150px;
  border-top-right-radius: 150px;
  padding: 11px;
}

.menu-02 {
  width: 48%;
  height: 100%;
  background-color: var(--color-accent);
  border-top-left-radius: 150px;
  border-top-right-radius: 150px;
  padding: 11px;
}
.menu-01 .menu-02 img {
  width: 100%;
  max-width: 278px;
}

.menu-txt {
  text-align: center;
  font-family: "游ゴシック Medium";
  font-size: 13px;
  color:var(--color-primary);
  padding-top: var(--space-unit);
  padding-bottom: var(--space-wrap);
}
.products-txt {
  text-align: center;
  font-family: "游ゴシック Medium";
  font-size: 13px;
  color:var(--color-text);
  padding-top: var(--space-unit);
  padding-bottom: var(--space-wrap);
}

.left {
  margin-top: 100px;
}

/* -----------------------------
  セクション03: Shop & Contact
----------------------------- */

.sec-03 {
  background-color: var(--color-primary);
  padding-top: var(--space-section);
  padding-bottom: var(--space-section);
}

.sec-03 .wrapper2 { /* wrapperクラスでも良いかも */
  max-width: var(--width-narrow);
  margin: 0 auto;
  padding: 0 var(--space-wrap);
}

.sec-03 h2 {
  text-align: left;
  padding-bottom: calc(var(--space-section) * 0.8);
}

.sec-03 h2:nth-of-type(2) { /* Contactタイトル */
  padding-top: var(--space-section); /* Shopとの間に余白 */
}

.box-list {
  margin-bottom: var(--space-section);
}

.box {
  display: flex;
  flex-direction: column; /* スマホでは縦積み */
  gap: var(--space-wrap);
}

.box-content {
  text-align: center; /* テキスト中央寄せ */
  order: 2; /* スマホでは画像を先にする場合 */
}
.box-content p {
  text-align: center;
}
.box-content > div > .serif-01 {
  margin-right: 27px;
}
.box-content > div > .lead {
  padding-bottom: 5px;
  margin-right: 27px;
}
.box article { /* 住所の部分 */
  padding-bottom: 5px;
}

.box-img {
  width: 100%;
  max-width: 400px; /* スマホでの最大幅 */
  margin: 0 auto; /* 中央寄せ */
  order: 1; /* スマホでは画像を先に */
}
.box-img img {
  border-radius: 10px; /* 少し角丸 */
}

.sec-03 .more {
  justify-content: center;
}

/* Contactエリア */
.contact {
  display: flex;
  flex-direction: column; /* スマホでは縦積み */
  align-items: center; /* 中央寄せ */
  gap: var(--space-wrap);
  font-family: "Yuji Syuku";
}


/* -----------------------------
  セクション04: News & SNS
----------------------------- */

.background2 {
  background-image: url(../img/pc_background_2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: auto;
}

.sec-04 h2 {
  padding-top: 50px;
}

a {
  text-decoration: none;
  color: var(--color-text);
  font-size: 14px;
}

a > p {
  font-family: "游ゴシック Medium";
  font-size: 14px;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news_list_item {
  padding: 45px 0;
  background-color: var(--color-white);
  border-radius: 34px;
  margin-bottom: 35px;
  }

  .news_list_last {
    margin-bottom: 90px;
  }

  .news_list_item a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    }
    
    .news_list_date {
    font-size: 13px;
    font-family: "游ゴシック Medium";
    display: flex;
    margin-right: 30px;
    justify-content: center;
    align-items: center;
    }

.sns {
  background-color: rgba(200, 179, 155, 0.6);
  border-radius: 34px;
  padding: var(--space-wrap);
  margin: 0 auto; /* 中央寄せ */
  max-width: calc(var(--width-content) / 1.5); /* Newsより少し狭く */
  padding-left: 16%;
  margin-bottom: 30px;
  font-family: "Yuji Syuku";
}

.sns-list {
  display: flex;
  align-items: center;
  align-content: flex-start;
  width: 200px;
  line-height: 50px;
  gap: 20px; /* アイコンとテキストの間 */
}

.sns-list:hover {
  animation: text-blur 0.5s;
}

/* アニメーション設定 */
@keyframes text-blur {
  0% {
    filter: blur(0);
  }
  50% {
    filter: blur(4px); /* ぼかしの強さ */
  }
  100% {
    filter: blur(0);
  }
}

.sns-list img {
  width: 36px;
  margin: 0;
}



/* -----------------------------
  フッター
----------------------------- */

.footer-nav {
  width: 100%;
  margin: 0 auto;
}

.footer-back {
  background-color: var(--color-footer);
  width: 85%;
  border-top-left-radius: 100px;
  height: 360px;
  padding-top: 40px;
  background-image: url(../img/motif_beige.webp);
  background-repeat: no-repeat;
  background-size: 17%;
  background-position: 85% 75%;
  box-sizing: border-box;
  margin-right: 0;
  margin-left: auto;
}

small {
  color: var(--color-primary);
  font-family: "游ゴシック Medium";
  font-size: 14px;
  margin-left: 30%;
}

.copyright >a > p {
  color: var(--color-primary);
  font-family: "游ゴシック Medium";
  font-size: 14px;
  margin-bottom: 20px;
  margin-left: 30%;
}

.footer-logo img {
  display: block;
  width: 100%;
  max-width: 120px;
  margin-bottom: 40px;
  margin-left: 29%;
}

/* アニメーション関連のCSS */
.f-up {
  opacity: 0;
}

.f-up.fadeup {
  animation: fadeupanime 1s forwards;
}

@keyframes fadeupanime {
  from {
      opacity: 0;
      transform: translateY(50px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}



/* -----------------------------
    menu.html
  ----------------------------- */
  .background3 {
    background-image: url(../img/sp_background_3.webp);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .products-page {
    position: relative;
    overflow: hidden;
  }
  .products-page > img {
    padding:60px 0 30px 0;
    width: 100%;
  }
  .menu-ttl {
    font-size: 28px;
    font-weight: normal;
    text-align: left;
    font-family: "Yuji Syuku";
    padding-bottom: calc(var(--space-section) * 0.8); /* 少し詰める */
    position: absolute;
    top: 50%;
    left: 5%;
  }

  .cookie-ttl {
    font-size: 22px;
    font-weight: normal;
    text-align: center;
    font-family: "Yuji Syuku";
    padding-bottom: calc(var(--space-section) * 0.8); /* 少し詰める */
  }

  .cookie-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .products-item {
    width: 47%;
  }

  /* -----------------------------
    story.html
  ----------------------------- */

  .story-ttl {
    font-size: 28px;
    font-weight: normal;
    text-align: center;
    font-family: "Yuji Syuku";
    padding-bottom: calc(var(--space-section) * 0.8); /* 少し詰める */
    padding-top: calc(var(--space-section) * 0.8);
  }

  .main-txt {
    padding-bottom: calc(var(--space-section));
    padding-top: calc(var(--space-section));
  }

  .story_img {
    padding-bottom: var(--space-section);
    border-style: solid 10px var(--color-footer);
  }

  video {
    width: 90%;
    height: 100%;
    border-radius: 250px 250px 0px 0px;
    display: block;
    margin: 0 auto;
    border: solid 2px var(--color-footer)
  }
  
/* =============================
  PC表示用スタイル (例: 960px以上)
============================= */
@media screen and (min-width: 960px) {

  /* -----------------------------
    レイアウト (PC)
  ----------------------------- */
  .container {
      display: flex;
  }

  /* --- 左サイドバー (PC) --- */
  .l_aside {
    display: block;
      width: 50%;
      height: 100vh; /* 画面の高さに */
      position: relative;
  }
  .slider_wrap {
      height: 100vh; /* 親要素いっぱいに */
      position: fixed;
      z-index: -1;
      width: 50%;
  }
  .l_aside .slider img {
      height: 100vh; 
  }
  

  /* --- 右メインエリア (PC) --- */
  .main-area {
      width: 50%;
  }
  main {
    width: 75%;
  }

  .slider_wrap .slick-slide img {
    opacity: 0;
  }
  .slider_wrap .slick-slide.slick-active img {
    animation: scaleChange 20s;
  }

  @keyframes scaleChange {
    0% {
      transform: scale(1.25);
      opacity: 1;
    }
    100% {
      transform: scale(1);
      opacity: 0;
    }
  }

  /* -----------------------------
      ヘッダー (PC)
    ----------------------------- */
    .header {
      width: 25%;
    }

    .l-logo {
      display: block;
      position: absolute;
      top: 5%;
      left: 3%;
      width: 100px;
      position: fixed;
    }

    .logo {
      display: none;
    }
  
}

/* -----------------------------
  レスポンシブ - タブレット
----------------------------- */
@media screen and (min-width: 768px) and (max-width: 1199px) {

  .wrapper {
    width: 100%;
  max-width: var(--width-narrow); /* コンテンツ幅制限 */
  margin: 0 auto;
  padding: 0 var(--space-wrap);
  box-sizing: border-box;
  }

  .main-area {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }

  .menu {
    width: 100%;
  }

  .main {
    width: 70%;
  }

  header {
    width: 30%;
  }

  aside {
    display: none;
  }
  .l-logo {
    display: none;
  }
  .logo {
    display: block;
  }

  .sns {
  background-color: rgba(200, 179, 155, 0.6);
  border-radius: 34px;
  padding: var(--space-wrap);
  margin: 0 auto; /* 中央寄せ */
  max-width: calc(var(--width-content) / 1.5); /* Newsより少し狭く */
  padding-left: 18%;
  margin-bottom: 30px;
  font-family: "Yuji Syuku";
  }

  /* ボタン (btn002-04) スタイル */
.btn002-04 {
  width: 100%;
  max-width: 180px;
  height: 60px;
  padding: 0 25px 0 10px;
  position: relative;
  text-decoration: none;
  display: inline-flex; /* インライン要素として配置しつつ中身をflexに */
  justify-content: space-between;
  align-items: center;
  border-radius: 9999px;
  color: var(--color-footer);
  background-color: var(--color-white);
  border: 1px solid var(--color-footer);
  transition: all 0.4s ease;
  margin-left: 60%;
}

/* 矢印アイコン */
.btn002-04 .arrow {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  background-color: var(--color-footer);
  border-radius: 40px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.btn002-04 .arrow span {
  position: relative;
  right: 2px;
  width: 16px;
  height: 6px;
  border-bottom: 1px solid var(--color-white);
  border-right: 2px solid var(--color-white);
  transform: skew(45deg);
  transition: all 0.3s ease;
}

/* ホバーアニメーション */
.btn002-04:hover {
  color: var(--color-white);
  background-color: var(--color-footer);
}

.btn002-04:hover .arrow {
  background-color: var(--color-white);
}
.btn002-04:hover .arrow span {
  border-color: var(--color-footer);
}

.background2 {
  background-image: url(../img/sp_background_2.webp);
  background-repeat: no-repeat;
  background-size: cover;
}


}

/* -----------------------------
  レスポンシブ - スマートフォン
----------------------------- */
@media screen and (max-width: 767px) {
  body {
    background-color: var(--color-primary);
  }
  .wrapper {
    width: 100%;
  }

  .logo {
    display: block;
    margin-bottom: 30px;
  }

  .l-logo {
    display: none;
  }

  .l_aside {
    display: none;
  }

  .background1 {
    padding-top: 20px;
  }
  
  h1 { 
    font-size: 1.5rem;
    line-height: 2.5rem;
  
  }
  
   /* ハンバーガーメニュー */
    body {
    font-family: "Yuji Syuku";
    margin: 0;
    padding: 0;
    background: transparent;
  }
  /* メニューのスタイル */
  .menu {
    position: fixed;
    top: 0;
    right: -100%; /* 初期状態では画面の外に隠れている */
    width: 50%;
    height: 100%;
    background-color: var(--color-footer);
    color: #000;
    transition: right 0.3s ease; /* スライドインのアニメーション */
    padding: 20px;
    box-sizing: border-box;
    z-index: 9999;
  }
  
  /* メニューが開いているとき */
  .menu.open {
    right: 0;
  }
  
  /* ボタンのスタイル */
  .hamburger {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    cursor: pointer;
    z-index: 20;
  }
  
  .hamburger span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #000;
    margin: 5px 0;
    transition: 0.4s;
  }
  
  /* バツ印に変化するスタイル */
  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  
  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
  }
  
  /* メニューリストのスタイル */
  .menu ul {
    list-style-type: none;
    padding: 0;
    margin-top: 80px;
  }
  
  .menu li {
    padding: 20px 0;
    border-bottom: 1px solid #444;
  }
  
  .menu li a {
    color: #000;
    text-decoration: none;
    display: block;
  }


  .line-clamp {
    padding-right: 30px;
    padding-left: 30px;
    
  }

  .btn002-04 {
    margin-left: 30%;
  }

  .sns {
    width: 60%;
    padding-left: 11%;
  }

  .vew {
    padding-top: 30px;
  }

  /* products */

  .sec-02 > .wrapper > .sec-ttl {
    margin-bottom: 40px;
    text-align: center;
  }
  .products-list {
    display: flex;
    flex-direction: column;
    
  }
  
  .products-list li {
    position: relative;
    list-style: none;
  }
  
  .sec-02 h2 {
    text-align: left;
    padding-bottom: 0;
  }
  .products-list {
    width: 100%;
    margin-left: 5%;
  }
  
  .menu-01 {
    width: 90%;
    height: 100%;
    background-color: var(--color-secondary);
    border-top-left-radius: 150px;
    border-top-right-radius: 150px;
    padding: 11px;
    margin-bottom: 30px;
  }
  
  .menu-02 {
    width: 90%;
    height: 100%;
    background-color: var(--color-accent);
    border-top-left-radius: 150px;
    border-top-right-radius: 150px;
    padding: 11px;
    margin-bottom: 30px;
  }
  .menu-01 .menu-02 img {
    width: 100%;
    max-width: 278px;
  }
  
  
  .left {
    margin-top: 0;
  }


  /* フッター */

  .footer-logo > img {
    margin-left: 20%;
    width: 120px;
  }
  .copyright > a > p {
    margin-left: 22%;
  }
  small {
    margin-left: 22%;
  }
  .background2 {
    background-image: url(../img/sp_background_2.webp);
    background-repeat: no-repeat;
    background-size: cover;
  }

}
