    @charset "utf-8";


    /* カスタム変数（プロパティ） */			
    :root{			
    --kuro: rgb(46, 47, 34);	
    --pinkfont:rgb(185, 99, 28);
    --yellow:rgb(156, 149, 121);
    --blue:rgb(163, 231, 186);
    --violet:rgba(197, 154, 197, 1);
    --pink:rgb(138, 193, 179);
    --ivory:rgb(244, 243, 240);
    --green:rgb(91, 121, 103);
    --gray: rgb(100,100,100);

    --size3L:54px;
    --sizeLL:30px;			
    --sizeL:24px;			
    --sizeM:20px;			
    --sizeS:16px;
    --sizeSS:14px;
    --sizeSSS:12px;	
    --space3L: 80px; 
    --spaceLL: 60px;
    --spaceL: 40px;
    --spaceM: 24px;
    --spaceS: 16px;
    --spaceXS: 8px;
    }			

    /* ========== 基本レイアウト（スマホ前提） ========== */

    /* 全体の横幅をスマホで気持ちよく。PCでも中央に細長く表示 */

    /* ========== 共通レイアウト ========== */

    body > header,
    body > main,
    body > footer {
      width: min(100%, 420px);  
      margin: 0 auto;
      padding: var(--spaceXS) var(--spaceS);
    }

    body {
      color: var(--kuro);
      font-size: var(--sizeS);
      line-height: 1.8;
      background: var(--ivory);
    }

    /* セクション共通 */
    .about-sec,
    .news-card,
    .menu-sec,
    .calendar-sec,
    .access-sec 

    {
      margin: var(--spaceM) 0;
      padding: var(--spaceS);
    }

    /* ========== ヘッダー ========== */

      .site-header{
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .site-logo-link{
      display: block;
      flex-shrink: 0;
    }

    .site-logo{
      display: block;
      width: 80px;
      height: auto;
    }

    .site-title{
      flex: 1;
      margin: 0 var(--spaceS);
    }

    .site-title a{
      display: block;
    }

    .site-title img{
      display: block;
      width: 100%;
      max-width: 250px;
      height: auto;
    }



    /* タイトル */

    /* ===== Typography ===== */

    h1{
      font-size: var(--sizeLL);
      margin-bottom: var(--spaceM);
    }

    main h2{
      font-size: var(--sizeL);
      margin: var(--spaceS) 0 var(--spaceM);
      text-align:center;
      color: var(--yellow);
    }

    h3{
      font-size: var(--sizeM);
      margin-bottom: var(--spaceS);
    }

    h4{
      font-size: var(--sizeS);
      margin-top: var(--spaceXS);
      margin-bottom: var(--spaceXS);

    }


    h1,
    h2,
    h3,
    h4{
      font-weight:600;
      letter-spacing:.05em;
    }

    p{
      margin-bottom:var(--spaceS);
    }



    /* ========== max-widthでフィット ========== */

    /* 画像のはみ出し防止の保険（全画像） これは消したらNG*/
    img { max-width: 100%; height: auto;}


    /*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NEWS^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */

    .news-list{
      list-style: none;
      margin: 0;
      padding: 0;
    }

    .news-list li{
      display:flex;
      gap:var(--spaceS);
      align-items:flex-start;
      margin-bottom: var(--spaceS);
    }

    .news-list img{
      width:110px;
      height:110px;
      object-fit:cover;
      flex-shrink:0;
    }

    .news-text{
      flex:1;
    }

    .news-text time{
      display:block;
      margin-bottom:var(--spaceXS);
      font-size:var(--sizeSS);
      color:var(--green);
    }

    .news-text a{
      display:block;
      color:var(--kuro);
      text-decoration:none;
      font-weight:600;
      line-height:1.5;
    }

    .news-more{
      margin: var(--spaceM) 0 0;
      text-align: right;
    }

    /* リンクボタン */
    .news-more a{ 
      color: var(--green);
      font-size: var(--sizeSS);
      font-weight: 700;
      text-decoration: none;
    }

    .news-label{
        display:block;
    }





    /*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ menu^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */

    .menu-sec img{
      border-radius: 0%;
      margin-bottom: var(--spaceS);
    
    }

    .menu-sec h3{
    margin-top: var(--spaceL);
    }

    .menu-sec h4{  
      display: flex;
      align-items: center;
      
    }



    .menu-icon{
      width: 22px;
      height: 22px;
      margin-right: var(--spaceXS);
      display: block;
      flex-shrink: 0;
      margin-bottom: 0;
      transform: translateY(7px);

    }



    .menu-time{
      font-size: var(--sizeS);
      color: var(--green);
      margin-bottom: var(--spaceXS);
    }

    .menu-description{
      font-size: var(--sizeSS);
      line-height: 1.6;
      color: var(--gray);
    }

      .menu-note{
      font-size: var(--sizeSSS);
      line-height: 1.6; 
        color: var(--gray);
        }


    .menu-set li{
        background:rgb(228, 239, 226);
        border-radius: 12px;
        padding: var(--spaceS);
        margin-bottom: var(--spaceM);


    }

    .menu-head{
      
        display:flex;
        justify-content:space-between;
        align-items:center;
      
    } 



    .menu-head h4{
        margin: 0;
      
    }

    .menu-head .more{
        text-decoration: none;
        color: var(--green);   /* お好みの色 */
        font-size: var(--sizeS);
      
    }


    /* food page */
    .menu-set h4{  
      display: flex;
      align-items: center;
      
    }

    .menu-icon2{
      width: 35px;
      height: 35px;
      margin-right: var(--spaceXS);
      display: block;
      flex-shrink: 0;
      margin-bottom: 0;
      transform: translateY(2px);

    }



    /* リンクボタン */
    .menu-sec a{
      color: var(--green);
      font-size: var(--sizeSS);
      font-weight: 700;
      text-decoration: none;
    }

    /* トップページからそれぞれFOOD/DRINK/CAKE シートに飛ぶのはこちら */
    .menu-sec a{
    display: block; 
    text-align: right;
    }




    /* ===== Access page ===== */
    .map-embed{
      border-radius:12px;
      overflow:hidden;
      box-shadow:0 4px 14px rgba(0,0,0,.08);
      margin:var(--spaceXS) 0 var(--spaceS);
    }
    /* ネイティブ対応：アスペクト比で自動伸縮 */
    .map-embed iframe{
      width:100%;
      aspect-ratio: 16 / 9;
      height:auto;
      border:0;
    }


    .access-info{
        display: grid;
        grid-template-columns: 110px 1fr;
        row-gap: 8px;
        column-gap: 12px;
    }

    .access-info dt{

      
        font-size: var(--sizeSS);
        font-weight: normal;
    }


    .access-info dd{

        margin: 0;
        font-size: var(--sizeSS);
    }




    /* ===== Select Item  page ===== */

    .select-items{
      padding: var(--spaceL) var(--spaceS);
    }

    .select-photo img{
      width: 100%;
      display: block;
    }

    .select-text{
      margin-top: var(--spaceM);
      text-align: left;
      line-height: 2;
    }

    .more{
      display: block;
        text-align: right;
        margin-top: var(--spaceS);
    }

    /* リンクボタン */
    .select-items a{
      color: var(--green);
      font-size: var(--sizeSS);
      font-weight: 700;
      text-decoration: none;
    }


    /* ===== SNSアイコン ===== */
    .sns-links{
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 30px 0 20px;
    }

    .sns-links img{
      width: 40px;   /* お好みで調整 */
      height: 40px;
    }

    /* ===== フッター ===== */
    .site-footer{
      text-align: center;
      padding: 20px 0;
    }


    /* 各ページに移動 */
    /* drink  food  cake 共通　menu-detail menu-group*/

    /* topへもどる リンク  */
    .page-link
    {
      
        text-align: center;
    }

    .page-link a{
        color: var(--kuro);
        text-decoration: none;
        font-size: var(--sizeSS);
        letter-spacing: .05em;
    }

    .page-link a:hover{
        opacity: .7;
    }

    .menu-detail{
        padding: 0 var(--spaceS);
      margin-bottom:var(--spaceLL);
    }

    .menu-detail h3{
    margin-top: var(--spaceM);
    margin-bottom: var(--spaceS);
    color: var(--pinkfont);
    }

    .menu-detail h4{
    margin-top: var(--spaceL);

    }

    .menu-group{
      margin-bottom: var(--spaceL);
    }

    .menu-group:last-child{
        margin-bottom: 0;
    }


    .menu-detail dt{
        font-size: var(--sizeS);
        font-weight: 600;
        margin-top: var(--spaceS);
    }


    .menu-detail dd{
        font-size: var(--sizeS);
        color: var(--gray);
        line-height: 1.8;
        margin: 4px 0 14px;
    }


    /* food 説明部分 */
    .food-detail{
        display: block;
    }

    .food-detail dt{
        font-size: var(--sizeSS);
        margin-top: 0;
    }

    .food-detail dd{
        margin-top: 0;
        margin-bottom: 0;
        line-height: 1.6;
        color: var(--gray);
        font-size: var(--sizeSS);
    }


    .price-list {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      row-gap: var(--spaceM);
      margin: 0 0 var(--sizeM );

    }

    .price-list dt,
    .price-list dd {
      margin: 0;
      padding: 0;
      font-size: var(--sizeS);
      line-height: 1.6;
    }

    .price-list dt {
      font-weight: 600;
    }

    .price-list dd {
      padding-left: var(--spaceS);
      font-weight: 400;
      color: var(--gray);
      text-align: right;
      white-space: nowrap;
    }


    .takeout-item p {
      margin-top: var(--spaceXS);
      line-height: 1.8;
    }


    .takeout-menu-name {
      display: inline-block;
      margin-top: var(--spaceXS);
    }







    /* cakepage */

    .cake-menu img{
      display: block;
      margin-bottom: var(--spaceL);
    }

    .cake-menu dl{
      margin-top: var(--spaceL);
      margin-bottom: var(--sizeSSS);

    }

    .cake-menu h3{
    margin-top: var(--spaceL);
    }

    .cake-menu .menu-description{
    margin-top: 0;  
    }

    .cake-menu h4 {
      display: flex;
      align-items: center;
      margin-top: var(--spaceL);
    }

    .cake-menu .menu-icon3 {
      width: 20px;
      height: 20px;
      margin-right: var(--spaceXS);
      margin-bottom: 0;
      flex-shrink: 0;
      transform: none;
    }


    /* news  */

    .info-content{
      display: flex;
      align-items: flex-start;
      gap: var(--spaceS);
    }

    .info-images{
      width: 45%;
      display: flex;
      flex-direction: column;
      gap: var(--spaceXS);
    }

    .info-images img{
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      display: block;
    }

    .info-text{
      flex: 1;
    }

    .info-imasges-2  img{
    margin-bottom: var(--spaceS);

    }





    /* COMPANY PROFILE */

    .company-list {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      row-gap: var(--spaceM);
      margin: 0 0 var(--sizeM );

    }

    .company-list dt,
    .company-list dd {
      margin: 0;
      padding: 0;
      font-size: var(--sizeS);
      line-height: 1.6;
    }

    .company-list dt {
      font-weight: 600;
    }

    .company dd {
      padding-left: var(--spaceS);
      font-weight: 400;
      color: var(--gray);
      text-align: left;
      white-space: nowrap;
    }

    .company-img img{
    margin-bottom: var(--spaceS);
    }


    /* ===== Hamburger / Drawer (mobile first) ===== */
    .menu-btn{
      margin-left: var(--spaceXS); width:32px; height:24px; position:relative;
      border:0; background:transparent; padding:0; cursor:pointer;
    }
    .menu-btn span{
      position:absolute; left:0; right:0; height:2px; background:var(--kuro);
      border-radius:2px; transition:transform .25s ease, opacity .2s ease, top .25s ease;
    }
    .menu-btn span:nth-child(1){ top:2px; }
    .menu-btn span:nth-child(2){ top:11px; }
    .menu-btn span:nth-child(3){ top:20px; }
    .menu-btn.is-open span:nth-child(1){ top:11px; transform:rotate(45deg); }
    .menu-btn.is-open span:nth-child(2){ opacity:0; }
    .menu-btn.is-open span:nth-child(3){ top:11px; transform:rotate(-45deg); }

    .nav-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:30; }
    .nav-drawer{
      position:fixed; top:0; right:0; width:min(78%,320px); height:100vh;
      background:var(--ivory); box-shadow:-8px 0 30px rgba(0,0,0,.12);
      transform:translateX(100%); transition:transform .25s ease; z-index:40; padding:20px 16px;
    }
    .nav-drawer.open{ transform:translateX(0); }
    .nav-drawer ul{ list-style:none; margin:0; padding:0; }
    .nav-drawer li{ border-bottom:1px solid rgba(0,0,0,.08); }
    .nav-drawer a{ display:block; padding:14px 6px; color:var(--kuro); text-decoration:none; font-weight:700; }
    .nav-drawer a:hover{ opacity:.85; }

    body.nav-lock{ overflow:hidden; }


    .pc-br {
      display: none;
    }

    /* ========================================
      NEWS 秋のイラスト
    ======================================== */

    .autumn-illust {
      text-align: center;
      margin-top: var(--spaceL);
    }

    .autumn-illust img {
      width: 100%;
      max-width: 700px;
      height: auto;
    }


  /* DOG'S Morning フォトギャラリー */
  .dog-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spaceXS);
    margin: var(--spaceM) 0;
  }

  .dog-gallery img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
  }

  /* ========================================
    季節のおすすめドリンク
  ======================================== */

  .seasonal-drink {
    margin-bottom: 60px;
  }

  .seasonal-drink-photos {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin: 25px 0 30px;
  }

  .seasonal-drink-item img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  .seasonal-drink-name {
    margin-top: 12px;
    font-size: 0.9em;
    font-weight: bold;
    line-height: 1.5;
  }

  .seasonal-drink-name span {
    display: block;
  }

  .seasonal-drink-note {
    margin-top: 6px;
    font-size: 0.75em;
    line-height: 1.6;
  }

  .menu-note {
    display: block;
    margin-top: 4px;
    font-size: 0.78em;
    font-weight: normal;
    line-height: 1.6;
  }



    /* ==================================================
      PC版 ここからはPC用のおおきさにする
    ================================================== */

    @media screen and (min-width: 1025px) {

      /* ---------- 全体 ---------- */

      body > header,
      body > main,
      body > footer {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
      }

      .sp-br {
      display: none;
    }
    .pc-br {
        display: inline;
      }





      /* ---------- HEADER ---------- */

      .site-header {
        display: flex;
        align-items: center;
        padding: var(--spaceS) var(--spaceL);
      }



      /* ハンバーガーを非表示 */

      .menu-btn {
        display: none;
      }


      /* ---------- PC NAV ---------- */

      .nav-drawer {
        position: static;
        width: 100%;
        height: auto;
        padding: 0 var(--spaceL);
        background: transparent;
        box-shadow: none;
        transform: none;
      }

      .nav-drawer ul {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: var(--spaceM);
      }

      .nav-drawer li {
        border-bottom: none;
      }

      .nav-drawer a {
        padding: var(--spaceS) 0;
        font-size: var(--sizeSS);
        font-weight: 600;
        white-space: nowrap;
      }



    /* ---------- PC ヘッダー調整 ---------- */

    .site-header {
        max-width: 1000px;
        margin: 0 auto;
        padding: var(--spaceS) var(--spaceL);

        justify-content: center;
        gap: var(--spaceM);
      }

      .site-logo {
        width: 110px;
      }

      .site-title {
        flex: 0 0 auto;
        margin: 0;
      }

      .site-title img {
        width: 350px;
    max-width: none;

      }



    /* ---------- PC ナビ ---------- */

    .nav-drawer {
        max-width: 1000px;
        margin: 0 auto var(--spaceM);
        padding: 0;
      }

      .nav-drawer ul {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: var(--spaceL);
      }



    /* ---------- PC スライダー ---------- */

    .bx-wrapper {
      max-width: 1000px !important;
      margin: 0 auto var(--spaceL) !important;
    }


    /* ---------- PC スライダーの高さ ---------- */

    .pickup-slider img {
      width: 100%;
      height: 560px;
      object-fit: cover;
    }

    /* ---------- PC ABOUT ---------- */

    .about-sec {
      max-width: 800px;
      margin: var(--spaceLL) auto;
      padding: var(--spaceM) var(--spaceL);
    }

    .about-sec p {
      font-size: var(--sizeS);
      line-height: 2;
    }


    /* ---------- PC NEWS ---------- */

    .news-card {
      max-width: 800px;
      margin: var(--spaceLL) auto;

    }

    .news-list {
      max-width: 650px;
    }

    .news-more {
      max-width: 800px;
      margin: var(--spaceM) 0 0;
      text-align: right;

    }

    .news-list img {
      width: 180px;
      height: 180px;

    }

    /* ---------- PC SET MENU ---------- */

    .menu-set ul {
      display: flex;
      gap: var(--spaceM);
    }

    .menu-set li {
      flex: 1;
      margin-bottom: 0;
    }

    .menu-note {
      margin-top: var(--spaceS);
    }

    /* ---------- PC REGULAR MENU ---------- */

    .regular-menu ul {
      display: flex;
      gap: var(--spaceM);
    }

    .regular-menu li {
      flex: 1;
      min-width: 0;
    }

    .regular-menu li img {
      width: 100%;
      height: 250px;
      object-fit: cover;
      display: block;
    }

    /* ---------- PC SELECT ITEMS ---------- */

    .select-wrap {
      display: flex;
      align-items: center;
      gap: var(--spaceLL);
    }

    .select-photo {
      width: 58%;
    }

    .select-text {
      width: 42%;
      margin-top: 0;
    }

    .select-photo img {
      width: 100%;
      display: block;
    }

    /* アクセス＋カレンダー */
    .access-calendar-wrap {
        display: flex;
        gap: var(--spaceL);
        align-items: flex-start;
        width: 100%;


      }

      .access-sec,
      .calendar-sec {
        flex: 1 1 0;
        width: 0;
        min-width: 0;
      
      }

      .map-embed,
      .calendar-sec img {
        width: 100%;
        max-width: 100%;
        display: block;
      }

      .map-embed iframe {
        width: 100%;
        height: 320px;
        aspect-ratio: auto;
      }

      .calendar-sec img {
        height: auto;
      }

    .menu-main-img {
      width: 100%;
      max-width: 900px;
      height: 450px;
      object-fit: cover;
      margin: 0 auto;
      display: block;
    }

    
    /* ---------- PC DRINK MENU ---------- */

  .menu-detail {
    display: block;
    max-width: 900px;
    margin: var(--spaceL) auto;
  }


  /* ===== 季節のおすすめ ===== */

  .seasonal-drink {
    width: 100%;
    margin-bottom: var(--spaceLL);
  }


  /* 左：写真2商品　右：その他4商品 */

  .seasonal-drink-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spaceLL);
    align-items: start;
    width: 100%;
  }


  /* 左側の写真2枚 */

  .seasonal-drink-photos {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spaceL);
  margin: 0;
}

  .seasonal-drink-item {
    min-width: 0;
  }

  .seasonal-drink-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
  }


  /* 商品名＋価格 */

  .seasonal-drink-name {
    display: block;
    margin-top: var(--spaceS);
    font-size: var(--sizeS);
    font-weight: 600;
    line-height: 1.5;
  }

  .seasonal-drink-name span:first-child {
    display: block;
    white-space: nowrap;
  }

  .seasonal-drink-name span:last-child {
    display: block;
    white-space: nowrap;
    margin-top: 2px;
  }



  /* 写真商品の説明 */

  .seasonal-drink-note {
    margin-top: var(--spaceXS);
    font-size: var(--sizeSSS);
    line-height: 1.6;
    color: var(--gray);
  }


  /* 右側4商品 */

  .seasonal-drink-list {
    min-width: 0;
  }

  .seasonal-drink-list .price-list {
    width: 100%;
    max-width: none;
  }

/* 季節の猫イラスト */

.seasonal-cats {
  margin-top: var(--spaceL);
  text-align: center;
}

.seasonal-cats img {
  width: 75%;
  max-width: 300px;
  height: auto;
}







  /* ===== 通常ドリンク ===== */

  .regular-drink-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spaceLL);
    align-items: start;
  }

  .regular-drink-layout .drink-category {
    min-width: 0;
  }

  .regular-drink-layout .price-list {
    width: 100%;
    max-width: none;
  }



    /* ---------- PC MORNING ---------- */
    #morning {
        display: block;
      }

      #morning > h3 {
        width: 100%;
        margin-bottom: var(--spaceM);
      }

      #morning .menu-set {
        display: flex;
        gap: var(--spaceL);
        align-items: flex-start;
      }

      .morning-photo,
      .morning-text {
        flex: 1;
        min-width: 0;
      }

      .morning-text {
        padding-top: 110px;
      }




    /* ---------- PC LUNCH 3列 ---------- */

    .lunch-3col {
      display: flex;
      gap: var(--spaceM);
      align-items: flex-start;
    }

    .lunch-3col .menu-group {
      flex: 1;
      min-width: 0;
    }

    .lunch-3col .menu-group img {
      width: 100%;
      height: 250px;
      object-fit: cover;
      display: block;
    }

    /* ---------- PC TAKEOUT 2列 ---------- */


    #takeout {
      display: block;
      max-width: 1000px;
      margin: var(--spaceLL) auto;

    }

    #takeout > h3 {
      width: 100%;
      margin-bottom: var(--spaceM);
    }

    .takeout-2col {
      display: flex;
      gap: var(--spaceL);
      align-items: flex-start;
    }

    .takeout-item {
      flex: 1;
      min-width: 0;
    }

    #takeout .price-list {
      width: 100%;
      max-width: none;
      display: grid;
      grid-template-columns: 1fr auto;
    }

    #takeout .price-list dd {
      margin: 0;
      padding-left: var(--spaceS);
      text-align: right;
    }


    /* ---------- PC CAKE MENU ---------- */

    .cake-menu {
      display: block;
      max-width: 1000px;
      margin: var(--spaceLL) auto;
    }

    .cake-3col {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--spaceL) var(--spaceM);
    }

    .cake-item {
      min-width: 0;
    }

    .cake-item img {
      width: 100%;
      height: 280px;
      object-fit: cover;
      display: block;
    }





    /* Classicと限定の間 */

    .cake-menu > h3 {
      margin-top: var(--spaceLL);
      margin-bottom: var(--spaceM);
    }


    /* Cake Set */

    .cake-set {
      margin-top: var(--spaceLL);
    }

    .cake-text-only {
      margin-top: 80px;
    }

    .limited-3col {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--spaceM);
    }

    .limited-item {
      min-width: 0;
    }

    .limited-item img {
      width: 100%;
      height: 280px;
      object-fit: cover;
      display: block;
    }

    /* ---------- PC COMPANY PROFILE ---------- */

    .company-wrap {
      display: flex;
      align-items: flex-start;
      gap: var(--spaceLL);
      max-width: 1000px;
      margin: var(--spaceL) auto var(--spaceLL);
    }

    /* 左：会社情報 */
    .company-info {
      width: 55%;
      margin: 0;
      padding: 0;
    }

    /* 会社情報の表 */
    .company-list {
      display: grid;
      grid-template-columns: 120px 1fr;
      column-gap: var(--spaceM);
      row-gap: var(--spaceM);
      margin: 0;
    }

    .company-list dt,
    .company-list dd {
      margin: 0;
      padding: 0;
      font-size: var(--sizeS);
      line-height: 1.6;
    }

    .company-list dt {
      font-weight: 600;
    }

    .company-list dd {
      color: var(--gray);
      text-align: left;
      white-space: nowrap;
    }

    /* 右：イラスト */
    .company-img {
      width: 40%;
      margin-top: -50px;
    }

    .company-img img {
      display: block;
      width: 100%;
      max-width: 380px;
      height: auto;
      margin: 0 auto;
    }


    /* ---------- PC SELECT ITEMS 詳細 ---------- */

    .select-feature {
      display: flex;
      align-items: flex-start;
      gap: var(--spaceLL);
      margin-bottom: var(--spaceLL);
    }

    /* SELECTページのmenu-detailは縦並びに戻す */
    .menu-detail:has(.select-feature) {
      display: block;
      max-width: 1000px;
      margin: var(--spaceLL) auto;
    }

    /* ドリップパック */
    .select-feature-photo {
      width: 55%;
    }

    .select-feature-text {
      width: 45%;
      min-width: 0;
    }

    .select-feature-photo img {
      width: 100%;
      height: auto;
      display: block;
    }


    /* その他の商品 */
    .select-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--spaceLL) var(--spaceL);
    }

    .select-item {
      min-width: 0;
    }

    .select-item img {
      width: 100%;
      height: 320px;
      object-fit: cover;
      display: block;
      margin-bottom: var(--spaceS);
    }


    /* ---------- PC NEWS DETAIL ---------- */

    article.news-detail {
      width: 800px;
      max-width: calc(100% - 80px);
      margin: var(--spaceLL) auto;
      padding: 0;
    }

    /* タイトル */
    article.news-detail > h2 {
      width: 100%;
      margin: 0 0 var(--spaceM);
      text-align: center;
    }

    /* 日付 */
    article.news-detail > time {
      display: block;
      width: 100%;
      margin-bottom: var(--spaceXS);
    }

    /* 写真＋文章 */
    article.news-detail .news-row {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--spaceL);
      align-items: start;
      margin: 0 auto var(--spaceLL);
    }

    /* 写真 */
    article.news-detail .news-photo {
      width: 100%;
    }

    article.news-detail .news-photo img {
      display: block;
      width: 100%;
      height: auto;
    }

    /* 文章 */
    article.news-detail .news-text {
      width: 100%;
      min-width: 0;
    }




  /* DOG'S Morning フォトギャラリー */
  .dog-gallery {
    gap: var(--spaceS);
    margin: var(--spaceL) 0;
  }

  .dog-gallery img {
    height: 300px;
  }






    /* これはPCのおわりここまでに入れること */

    }
