@media (max-width: 1800px) {
    #mainCatchWrap {
        min-height: fit-content;
    }
}

/* =========================
   Smartphone Responsive (override)
   追記推奨: index.css の一番下
   ========================= */
@media (max-width: 767.98px) {
/* 横スクロール事故の予防 */
html, body {
  overflow-x: hidden;
}

/* 画像は基本はみ出さない */
img, svg, video, iframe {
  max-width: 100%;
  height: auto;
}
}

/* --- 768px以下（スマホ〜小型タブ） --- */
@media (max-width: 767.98px) {
    .pc-only{ display: none; }

  /* 背景の見え方をスマホ向けに調整 */
  body{
      background-image: none;
  }

  /* ファーストビュー */
  #mainCatchWrap{
    min-height: auto;
    padding-bottom: 4.5rem;
    background-position: top 0 center;
    background-size: cover; /* 100% auto だと縦横比で崩れやすい */
/*    background-position: top 7.5vh center;
    background-size: auto 73vh;*/
  }

  #earthSymbolWrap{
    width: 92%;
    margin: 1.25rem auto;
  }

  /* ロゴとCPはスマホでは“絶対配置”をやめて縦積み */
  #top_kumalogo{ top:1rem;  }
  #top_kumalogo,
  #top_cplist{
    position: absolute;
    /*display: block;*/
    width: 86% !important;
    max-width: 360px;
    margin: 0.75rem 7% auto;
  }
    #top_cplist{
        left: auto;
        right: auto;
        left: 0;
    }

  /* info画像（右下のやつ）も絶対配置をやめて中央に */
  #info2026Tip{
    position: static;
    display: block;
    width: min(320px, 86%);
    margin: 1.25rem auto 0;
    right: auto;
    bottom: auto;
  }

  /* Aboutのキャラ（左に飛び出してるやつ）を中央配置に */
  #about_char{
            position: absolute;
            width: 20vw;
            max-height: fit-content;
            margin: 1.25rem auto 0;
            left: auto;
            bottom: auto;
            display: inline-block;
            max-width: 25vw;
            right: -1rem;
            top: -5rem;
  }

  /* 浮遊ドットは小さく＆操作を邪魔しない */
  #dotEarth{
    width: 96px;
    pointer-events: none;
    opacity: .55;
  }
  #dotSharaku{
    width: 22vw;
    right: 6%;
    bottom: .5rem;
  }

  #top_catch{ width: 100% !important; }
  #top_catch_h2{ margin-top: 4vh; margin-bottom: 1.25rem; }
  #about_title{ 
      padding-top: 0rem;
margin: auto;
    margin-top: 7rem;
    position: relative;
    z-index: 2;
  }
  section#news{ padding-top: 3.5rem; }
  section#movie{ margin-top: auto; }
  #sns{ margin-top: 2rem; }

  /* 見出し下線（太すぎるので細く） */
  .section-title2 > h2{
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom-width: 6px;
  }

  /* 動画枠：ボーダー23pxはスマホだと窮屈なので軽量化 */
  .videoTip{
    margin: 0 auto 4rem;
    border-width: 10px;
    border-radius: 12px;
  }
  .videoTip+.videoTip{
      margin-top: 4rem;
  }

  /* Newsカード：角丸・枠をスマホ用に */
  .newsTipInner{
    border-width: 6px;
    border-radius: 18px;
  }
  .newsTipInner img.newsImg{
    max-height: 10rem;
    border-radius: 12px 12px 0 0;
  }

  /* 装飾の気象画像はスマホでは非表示のほうが安全 */
  #meteoLeft,
  #meteoRight{
    display: none;
  }
  
  #footMenuWrap a{
      line-height:1.2;
      display:block;
  }
  #navmenu i{
      background: white;
        padding: 0.2rem 0.5rem;
        border-radius: 0.4rem;
  }
  
    .mobile-nav-toggle {
        color: #000;
        position: absolute;
        font-size: 32px;
        top: 10px;
        right: 15px;
        margin-right: auto;
    }
    #footMenuWrap .footMenuDivide{ display: none; }
    #footMenuWrap  a{  }
    #footMenuWrap  a:before{ 
        content: url(../img/common/dot_arrow7.svg); 
             height: 2rem;
        margin: auto 1rem;
        display: inline-block;
        object-fit: cover;
        width: 1rem;
        zoom: 0.5;                        
    }
    
    #footAddressWrap{
        justify-content: center;
    }
    #footAddressWrap .address{
        text-align: center;
    }
    #footCopyRight{ font-size: smaller; margin-top: 2rem; }
    #footCopyRight > br{ display: none; }
    #footSNScontainer a{ position: relative; top:1.5rem; }
    #footSNScontainer img.footSnsIcon{ max-height: 3rem; margin: auto 0.25rem; }
    #footSNScontainer{ top:1.5rem; }
    #footSNScontainer{
    background: white url(../img/common/honetsuki_white.jpg) center bottom no-repeat;
            background-size: 158vw auto;
            background-position: left -18vw bottom -9vh;
  }

    main.main > section{
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .spFontSize2{
        font-size: large;
    }
    #go_download{ margin: 1rem auto 2rem; }
    #moreNewsBtn,
    #contactForCustomer{ margin-top: 2rem; }
    #topAboutWrap{
        background-position: top 2rem center;
        background-size: auto 46vh;
    }
    #don { top:2rem; }
    #defModal .modal-dialog{ max-width: 96vw; }
    #topAboutWrapInner{
        background: url(../img/index/left_niku@2x-min.png) left 0rem top 27vh, url(../img/index/right_niku-min.png) right 0rem top 2rem;
        background-repeat: no-repeat;
        background-size: 15%, 21%;
    }
    #about_exp{ margin-top: 3rem; margin-bottom: 1rem; }
    #about_txt{ line-height: 1.5; }
    p.newsTitle{ text-align: left; }
    #footLogo{ padding-bottom: 1.5rem; }
    h2 > img.w-50{ width: 80% !important; }
    
    h2#othPageTitle{
        width: 100%;
        font-size: 3.5rem;
    }
    #othTiltleWrap{ padding-bottom: 0; }
    #othMainContainer > #othMainInner{ margin-left: -1rem; margin-right: -1rem; }
    #othMainInner div.wakuCol{ padding-left: 2rem; padding-right: 2rem; }
    #spCpCatch{ margin-bottom: 1.5rem; }
    
    #sns iframe.instagram-media { min-height: 45vh; }
}


/* --- 576px以下（小さめスマホ） --- */
@media (max-width: 575.98px){
  #top_kumalogo,
  #top_cplist{ width: 92%; }

  .navmenu ul{
    /*inset: 60px 12px 12px 12px;*/ 
    inset: 50px 12px 12px 12px;
  }
}
