/* ============================================================
   MOBILE.CSS - スマホ専用スタイルシート（max-width:768px のみ）
   media="(max-width:768px)" でロード前提なので !important 不要
   ============================================================ */

/* GLOBAL */
html,body{overflow-x:hidden;}
body{font-size:14px;}
img,video{max-width:100%;height:auto;}

/* ========== HEADER ========== */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  flex-wrap:wrap;
  gap:6px;
  padding:8px 12px;
  background:rgba(255,255,255,0.98);
}
.header .logo{
  font-size:15px;letter-spacing:0.15em;
  align-self:center;
}
.nav{
  display:flex;
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  gap:0;padding:0;margin:0;
  background:transparent;
  position:static;width:100%;height:auto;
  box-shadow:none;
  flex-wrap:nowrap;
  align-items:center;
}
.nav::-webkit-scrollbar{display:none;}
.nav a{
  flex-shrink:0;
  padding:8px 10px;
  font-size:11px;letter-spacing:0.08em;
  color:var(--navy);
  white-space:nowrap;
  border-bottom:none;
  line-height:1.4;
  display:inline-flex;align-items:center;
  vertical-align:middle;
}
.nav .nav-cta{
  background:var(--navy) !important;
  color:#fff !important;
  padding:8px 12px !important;border-radius:2px !important;
  font-size:11px !important;font-weight:600 !important;
  margin-left:0 !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  letter-spacing:0.08em !important;
  line-height:1.4 !important;
  vertical-align:middle !important;
  height:auto !important;
  align-self:center !important;
}
.nav-toggle,.nav-overlay{display:none;}

/* ========== HERO ========== */
.hero{
  padding:100px 0 40px;
  min-height:auto;
}
.hero-bg-glow{display:none;}
.hero-inner{
  display:flex;flex-direction:column;
  gap:20px;
  padding:0 16px;
  max-width:100%;width:100%;margin:0;
}
.hero-image{order:1;width:100%;display:flex;justify-content:center;}
.hero-image img{
  height:auto;max-height:240px;width:auto;max-width:75%;
  object-fit:contain;
}
.hero-text{order:2;text-align:center;}
.hero-title{
  font-size:26px;line-height:1.5;
  letter-spacing:0.04em;
  margin-bottom:18px;
}
.hero-title br{display:none;}
.hero-title .accent{display:block;margin-top:8px;}
.hero-eyebrow{
  font-size:9px;letter-spacing:0.3em;
  margin-bottom:14px;
}
.hero-brand{
  font-size:18px;letter-spacing:0.16em;
  padding-bottom:10px;margin:0 auto 16px;
}
.hero-sub{
  font-size:12px;line-height:1.85;letter-spacing:0;
  margin:0 0 22px;
  padding:0 16px;
  max-width:none;
  text-align:left;
}
.hero-sub br{display:initial;}
.hero-sub span{
  display:block;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  margin-bottom:0;
}
.hero-cta{
  display:flex;flex-direction:row;
  justify-content:center;align-items:center;
  gap:20px;flex-wrap:nowrap;
  width:100%;
}
.hero-cta .btn{
  display:inline-flex;width:auto;
  justify-content:center;
  padding:8px 0;font-size:11px;letter-spacing:0.08em;
  gap:6px;
  min-width:auto;white-space:nowrap;
}

/* ========== SECTION COMMON ========== */
.section,.facts,.products-top,.results-cta,.partner,.media,.contact,.product,.story,.principle{
  padding:48px 16px;
}
.section-inner,.facts-inner,.products-top-inner,.results-cta-inner,
.partner-inner,.media-inner,.contact-inner,.story-inner,.principle-inner{
  padding:0;max-width:100%;
}
.section-label,.label,.eyebrow,.facts-label{
  font-size:9px;letter-spacing:0.22em;
  margin-bottom:10px;
}
.section-title,.facts-title,.results-cta-title{
  font-size:24px;line-height:1.4;
  margin-bottom:24px;
  text-align:center;
}
.section-title br,.facts-title br{display:initial;}
.section-title small{
  font-size:0.45em;display:block;
  margin-top:6px;letter-spacing:0.1em;
}

/* ========== PAGE HERO ========== */
.page-hero{
  padding:90px 16px 24px;
  text-align:center;
}
.page-hero .eyebrow{font-size:9px;}
.page-hero h1{font-size:28px;margin-bottom:8px;}
.page-hero p{font-size:12px;line-height:1.7;}
.page-hero p br{display:initial;}

/* ========== NEWS（最新お知らせ・お知らせ一覧） ========== */
.news-list{max-width:100%;}
.news-item{
  display:flex;flex-direction:column;
  align-items:center;
  gap:6px;padding:14px 12px;
  border:1px solid var(--gray-200);
  margin-bottom:8px;
  background:#fff;
  text-align:center;
}
.news-item:active{background:var(--gray-50);}
.news-arrow{display:none;}
.news-date{font-size:11px;color:var(--gold-dark);}
.news-tag{
  font-size:9px;padding:3px 8px;
  width:fit-content;letter-spacing:0.2em;
}
.news-title{
  font-size:11px;line-height:1.5;letter-spacing:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  width:100%;
}
.news-title br{display:none;}
.news-cta{text-align:center;margin-top:18px;}

/* ========== PRODUCTS HIGHLIGHT (Top) ========== */
.products-grid{
  display:flex;flex-direction:column;
  gap:24px;
}
.product-card{
  padding:16px;
  align-items:stretch !important;
  text-align:left !important;
}
.product-card .visual{
  aspect-ratio:auto;height:240px;
  display:flex;align-items:center;justify-content:center;
  width:100%;
}
.product-card .visual img{
  max-height:220px;max-width:80%;
  width:auto;height:auto;object-fit:contain;
}
.product-card .tag{font-size:9px;align-self:flex-start !important;}
.product-card h3{font-size:18px;margin-top:10px;}
.product-card p{font-size:12px;line-height:1.7;max-width:none;}

/* ========== PRODUCT DETAIL（商品紹介ページ） ========== */
.product{
  padding:16px 16px 24px !important;
  width:100%;max-width:100%;
  box-sizing:border-box;overflow:hidden;
}
.product-inner{
  display:flex !important;flex-direction:column !important;
  gap:12px;
  grid-template-columns:1fr !important;
  width:100%;max-width:100%;
  padding:0 !important;margin:0 !important;
  box-sizing:border-box;
}
.product-visual{
  width:100%;max-width:100%;
  aspect-ratio:auto;
  height:auto;min-height:0 !important;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;padding:0;
  box-sizing:border-box;
}
.product-visual img{
  height:auto;width:auto;
  max-width:80%;max-height:280px;
  object-fit:contain;
  display:block;
}
.product-content{
  width:100%;max-width:100%;padding:0;margin:0;
  box-sizing:border-box;text-align:center;
}
.product-content .label{
  font-size:10px;letter-spacing:0.2em;
  margin-bottom:12px;
  display:inline-block;
}
.product-content h2{
  font-size:24px;line-height:1.4;margin-bottom:16px;
  text-align:center;
  letter-spacing:0.04em;
  word-break:keep-all;
  overflow-wrap:break-word;
}
.product-content h2 small{
  font-size:0.5em;display:block;
  margin-top:8px;letter-spacing:0.08em;
}
.product-content .lead{
  font-size:10.5px;line-height:1.95;
  letter-spacing:0;
  margin:0 auto 20px;
  text-align:left;padding:0 16px;
  max-width:330px;
  word-break:keep-all;overflow-wrap:break-word;
}
.product-content .lead br{display:initial;}
.product-cta{
  display:flex;flex-direction:row;
  justify-content:center;gap:14px;
  flex-wrap:wrap;
}
.product-cta .btn{
  width:auto;justify-content:center;
  padding:8px 0;font-size:12px;
}
.product-links{
  display:flex;flex-direction:row;
  justify-content:center;align-items:center;
  gap:14px;margin-top:18px;
  flex-wrap:nowrap;
}
.product-link{font-size:11px;white-space:nowrap;}

/* 水滴ライトNEOの順序：画像を上に */
#suiteki-light-neo .product-content{order:2;}
#suiteki-light-neo .product-visual{order:1;}

/* ========== PRINCIPLE（光る原理） ========== */
.principle{
  padding:40px 16px !important;
  width:100%;max-width:100%;
  box-sizing:border-box;overflow:hidden;
}
.principle-inner{
  width:100%;max-width:100%;
  padding:0;margin:0;
  box-sizing:border-box;
}
.principle-body{
  display:flex !important;flex-direction:column;
  gap:24px;
  grid-template-columns:1fr !important;
  width:100%;max-width:100%;
  padding:0;margin:0;
}
.principle-head{text-align:center;margin-bottom:20px;}
.principle-lead{font-size:12px;padding:0 4px;}
.principle-text{width:100%;max-width:100%;padding:0;text-align:center;}
.principle-h3{
  font-size:20px;line-height:1.4;margin-bottom:14px;
  letter-spacing:0.04em;
}
.principle-h3 small{
  font-size:0.5em;display:block;
  margin-top:6px;letter-spacing:0.08em;
}
.principle-desc{
  font-size:10.5px;line-height:1.95;
  margin-bottom:14px;
  text-align:left;padding:0 4px;
  letter-spacing:0;
  word-break:keep-all;overflow-wrap:break-word;
}
.principle-desc br{display:initial;}
.principle-note{font-size:10px;padding:0 4px;text-align:left;}
.principle-visual{
  padding:0;width:100%;max-width:100%;
}
.principle-visual img{
  width:100%;max-width:100%;height:auto;
  box-shadow:0 10px 30px rgba(10,24,40,0.1);
}
.principle-visual .principle-patent{
  font-size:11px;text-align:center;
  margin-top:8px;width:100%;
}

/* ========== FACTS（販売実績） ========== */
.facts{padding:48px 16px;}
.facts-header{text-align:center;margin-bottom:28px;}
.facts-grid{
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:0 !important;
  border-top:1px solid var(--gray-200) !important;
}
.fact{
  padding:20px 8px !important;
  border-right:1px solid var(--gray-200) !important;
  border-bottom:1px solid var(--gray-200) !important;
  border-top:none !important;border-left:none !important;
  text-align:center;
}
.fact:last-child{border-right:none !important;}
.fact-number{font-size:16px !important;letter-spacing:-0.03em;line-height:1.3;white-space:nowrap;}
.fact-unit{font-size:0.55em;}
.fact-label{font-size:10px !important;line-height:1.6 !important;margin-top:6px;}
.fact-label br{display:none;}
.facts-note{
  font-size:10px;line-height:1.6;
  text-align:center;margin-top:20px;padding:0 4px;
}

/* ========== CROWDFUNDING ========== */
.crowdfunding-image{max-width:100%;margin:0 auto;}
.crowdfunding-image img{width:100%;height:auto;}
.crowdfunding-text{
  font-size:12px;line-height:1.8;
  text-align:center;margin:18px auto 0;padding:0 4px;
}
.crowdfunding-text br{display:initial;}
.crowdfunding-note{
  font-size:10px;line-height:1.6;
  text-align:center;padding:0 4px;margin-top:8px;
}

/* ========== COLLAB（BTTF） ========== */
.collab-images{
  display:flex;justify-content:center;
  max-width:100%;padding:0 4px;
}
.collab-images img{
  width:100%;height:auto;
  max-width:100%;
}
.collab-text{
  font-size:9.5px;line-height:1.9;
  letter-spacing:-0.02em;
  text-align:center;margin-top:18px;padding:0;
  word-break:keep-all;overflow-wrap:break-word;
}
.collab-text br{display:initial;}
.collab-note{font-size:10px;text-align:center;margin-top:8px;}

/* ========== MEDIA（公的機関/メディア掲載） ========== */
.media{padding:48px 16px;}
.media h2{
  font-size:24px;text-align:center;
  margin-bottom:24px;
}
.media-list{
  display:flex !important;flex-direction:column;
  gap:32px;
  grid-template-columns:1fr !important;
}
.media-card{
  display:flex;flex-direction:column;align-items:center;
  padding:0;
}
.media-card .thumb{
  width:auto;max-width:88%;
  max-height:380px;
  margin:0 auto 14px;
  padding:0;
  border:1px solid var(--gray-200);
  box-shadow:0 8px 24px rgba(10,24,40,0.08);
}
.media-card .date{font-size:11px;}
.media-card h3{
  font-size:12px;line-height:1.6;
  text-align:center;padding:0 6px;margin-top:6px;
}
.media-card h3 br{display:none;}

/* ========== ON AIR（テレビ放送） ========== */
.onair-slider{margin-bottom:20px;}
.video-wrap{margin-bottom:12px;}
.video-wrap video{width:100%;height:auto;}
.onair-current{
  font-size:11px;line-height:1.6;
  text-align:center;padding:0 8px;
}
.onair-current br{display:none;}
.onair-link{display:inline-block;margin-top:4px;font-size:10px;}
.onair-list{
  display:flex;flex-direction:column;
  gap:6px;
}
.onair-item{
  display:flex;align-items:center;gap:8px;
  padding:12px 14px;text-align:left;
  background:#fff;border:1px solid var(--gray-200);
}
.onair-date{font-size:10px;color:var(--gold-dark);flex-shrink:0;}
.onair-name{font-size:12px;line-height:1.5;flex:1;}
.onair-play{font-size:10px;flex-shrink:0;}

/* ========== STORY（能登半島） ========== */
.story{padding:48px 16px;}
.donation-message{
  font-size:13px;line-height:1.9;
  text-align:center;padding:0 4px;
}
.donation-message br{display:initial;}
.donation-cert{max-width:100%;margin:24px auto 0;padding:0;}
.donation-cert > a{
  padding:12px;
  box-shadow:0 8px 24px rgba(10,24,40,0.08);
}
.donation-purpose,.donation-date{
  font-size:11px;text-align:center;
}

/* ========== PARTNER（取引先募集） ========== */
.partner{padding:40px 16px;}
.partner-grid{
  display:flex !important;flex-direction:column;
  gap:14px;
}
.partner-card{
  padding:16px 12px;
  border:1px solid var(--gray-200);
}
.partner-card .num{
  font-family:'Inter',sans-serif;
  font-size:11px;letter-spacing:0.3em;
  color:var(--gold-dark);font-weight:600;
  margin-bottom:8px;
}
.partner-card h3{
  font-size:16px;margin-bottom:8px;
}
.partner-card p{
  font-size:12px;line-height:1.7;
}
.partner-grid .partner-card:nth-child(2) p{
  font-size:11px;
  letter-spacing:-0.04em;
  white-space:nowrap;
  overflow-x:visible;
}
.partner-cta{text-align:center;margin-top:20px;}

/* ========== ABOUT（会社情報・沿革） ========== */
.info-table{margin:0;max-width:100%;}
.info-row{
  display:flex !important;flex-direction:column;
  gap:4px;padding:14px 0;
  grid-template-columns:1fr !important;
}
.info-row dt{
  font-size:10px;letter-spacing:0.2em;
  color:var(--gold-dark);
}
.info-row dd{font-size:13px;line-height:1.7;}
.info-row dd br{display:initial;}

.history{max-width:100%;margin:0;padding-left:0;}
.history-item{
  display:flex !important;flex-direction:column;
  gap:4px;padding:12px 6px;
  grid-template-columns:1fr !important;
}
.history-date{font-size:11px;}
.history-text{font-size:12px;line-height:1.7;}
.history-text br{display:initial;}
.history .history-item:nth-child(8) .history-text{
  font-size:11px;
  letter-spacing:-0.06em;
  white-space:nowrap;
  overflow-x:visible;
}

.office-image img{width:100%;}

/* ========== USAGE（使い方） ========== */
.usage-steps{
  display:flex !important;flex-direction:column;
  gap:24px;
  grid-template-columns:1fr !important;
}
.usage-step{padding:16px;text-align:center;}
.usage-step img{max-width:200px;margin:0 auto 10px;}
.usage-step .step-num{font-size:10px;}
.usage-step h4{font-size:15px;margin-bottom:4px;}
.usage-step p{font-size:12px;}
.usage-step p br{display:initial;}
.usage-notes p{font-size:11px;line-height:1.6;}

/* ========== CONTACT ========== */
.contact{padding:40px 16px;}
.contact-lead{
  font-size:12px;line-height:1.8;
  text-align:center;
}
.contact-grid{
  display:flex !important;flex-direction:column;
  gap:12px;max-width:100%;
  grid-template-columns:1fr !important;
}
.contact-card{
  padding:20px 14px;text-align:center;
}
.contact-card-label{
  font-size:10px;letter-spacing:0.25em;
  margin-bottom:6px;
}
.contact-card-value{
  font-size:14px;letter-spacing:0.03em;
  word-break:break-all;
}

/* ========== FORM（contact.html） ========== */
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],
textarea,select{
  font-size:16px;
  padding:10px 12px;
  width:100%;
}

/* ========== FOOTER ========== */
.footer{padding:36px 16px 20px;}
.footer-inner{padding:0;max-width:100%;}
.footer-top{
  display:flex !important;flex-direction:column;
  gap:24px;margin-bottom:24px;
  grid-template-columns:1fr !important;
}
.footer-logo{font-size:16px;}
.footer-col h4{font-size:10px;letter-spacing:0.25em;margin-bottom:10px;}
.footer-col li{font-size:12px;margin-bottom:6px;}
.footer-col p{font-size:12px;line-height:1.8;}
.footer-col p br{display:initial;}
.footer-bottom{
  display:flex;flex-direction:column;
  gap:8px;
  font-size:10px;
  padding-top:18px;
}

/* ========== EDIT UI（モバイルでは完全非表示） ========== */
.edit-toolbar,.color-sidebar,#color-sidebar,.edit-modal,#edit-modal,#img-sizer{
  display:none;visibility:hidden;pointer-events:none;
}

/* ========== UTILITIES ========== */
.btn{
  justify-content:center;
  white-space:nowrap;
}

/* ============================================
   実績ページ 個別調整
   ============================================ */
/* 認定文章の<br>はスマホでも有効化（東京都の/福岡市の/で改行） */
.media-card h3 br{display:initial;}
.media-card h3{
  font-size:11px;line-height:1.7;
  padding:0 4px;
}

/* クラウドファンディング注記の<br>も有効化 */
.crowdfunding-note br{display:initial;}
.crowdfunding-note{font-size:10px;line-height:1.7;}

/* テレビ放送：ABC番組名を1行に */
.onair-item{padding:10px 12px;}
.onair-name{
  font-size:11px;line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  min-width:0;
}
.onair-date{font-size:10px;}

/* 能登半島 タイトルを1行に */
.story h2{
  font-size:18px;letter-spacing:0.04em;
  white-space:nowrap;
}
.story .label{font-size:9px;}

/* 寄付メッセージ：確実に3行に収める */
.donation-message{
  font-size:9.5px !important;line-height:1.85 !important;
  padding:0 4px !important;
  letter-spacing:-0.02em !important;
  text-align:center !important;
  word-break:keep-all !important;
  overflow-wrap:break-word !important;
}
.donation-message br{display:initial !important;}

/* ============================================
   再審査の指摘を一括修正
   ============================================ */

/* 🔴 HEROの順序：水滴ライト商品名 → WATER DROP LIGHT → キャッチ → 説明 */
.hero-text{
  display:flex;flex-direction:column;
}
.hero-text .hero-brand{order:1;}
.hero-text .hero-eyebrow{order:2;}
.hero-text .hero-title{order:3;}
.hero-text .hero-sub{order:4;}
.hero-text .hero-cta{order:5;}

/* HERO画像を大きく */
.hero-image img{max-height:280px;max-width:88%;}

/* 🔴 partner-headの巨大マージン削減 */
.partner-head{margin-bottom:24px;text-align:center;}
.partner-head .label{margin-bottom:6px;}
.partner-head h2{font-size:22px;margin-bottom:10px;line-height:1.4;}
.partner-head p{
  font-size:9px;line-height:1.9;
  letter-spacing:-0.04em;
  padding:0;
  text-align:center;
  white-space:normal;
  word-break:break-all;
  overflow-wrap:break-word;
}
.partner-head p br{display:initial;}

/* 🔴 facts数字のはみ出し対策 */
.fact-number{font-size:22px;letter-spacing:-0.03em;}
.fact-unit{font-size:0.45em;}

/* 🔴 story（能登半島）h2を1行禁止解除 */
.story h2{
  font-size:17px;letter-spacing:0.02em;
  white-space:normal;line-height:1.4;
}

/* 🔴 onair番組名のellipsis解除（読めない問題） */
.onair-name{
  white-space:normal;
  text-overflow:clip;overflow:visible;
  line-height:1.5;
}

/* 🔴 about.html 最上部の.section がヘッダーに隠れる対策 */
.section:first-of-type{padding-top:90px;}
.about-page .section:first-of-type,
body > main > .section:first-of-type{padding-top:90px;}

/* 🔴 contact.html フォームのモバイル調整 */
.form-row{margin-bottom:14px;}
.form-row label{
  font-size:11px;letter-spacing:0.15em;
  margin-bottom:4px;display:block;
  color:var(--gold-dark);
}
.form-row textarea{min-height:110px;}
.form-submit{margin-top:20px;}
.form-submit .btn,
.form-submit button{
  width:100%;
  padding:14px 12px !important;
  font-size:13px;
  justify-content:center;
}
.contact h2{font-size:24px;}

/* 🟡 principle セクションタイトル「水でLEDが点灯する原理とは？」を1行に */
.principle .section-title,
#principle .section-title{
  font-size:20px;letter-spacing:0.02em;
}

/* 🟡 principle図を上、説明文を下 */
.principle-body .principle-text{order:2;}
.principle-body .principle-visual{order:1;}

/* 🟡 principle特許番号を中央 */
.principle-visual .principle-patent{text-align:center;}

/* 🟡 商品h2のsmall文字を少し大きく見やすく */
.product-content h2 small{
  font-size:0.5em;letter-spacing:0.08em;
}

/* 🟡 認定文（最後の長い行）を3行になりにくく */
.media-card h3{font-size:10.5px;line-height:1.7;}

/* 🟡 news-item をtag/dateを同一行に */
.news-item{gap:8px;padding:12px;}
.news-item .news-date{font-size:10px;}
.news-item .news-tag{font-size:9px;margin-bottom:2px;}

/* 🟡 privacy.html 長文の調整 */
.legal-body h3{font-size:15px !important;margin:22px 0 8px !important;}
.legal-body h2{font-size:18px !important;}
.legal-body p,.legal-body li{font-size:13px !important;line-height:1.85 !important;}
.legal-body .updated{font-size:11px;}

/* 🟢 ナビ右端フェード（スクロールヒント） */
.header{position:relative;}
.header::after{
  content:"";
  position:absolute;right:0;bottom:0;
  width:24px;height:36px;
  background:linear-gradient(to left,rgba(255,255,255,1),rgba(255,255,255,0));
  pointer-events:none;
}

/* 🟢 about オフィス画像の枠 */
.office-image img{
  border-radius:4px;
  box-shadow:0 4px 16px rgba(10,24,40,0.08);
}

/* 🟢 フッター住所のはみ出し対策 */
.footer-col li{word-break:break-word;}

/* 🟢 partner-card 番号サイズ */
.partner-card .num{font-size:12px;}

/* 🟢 contact-card内のinfo@... が改行されないように */
.contact-card-value{
  word-break:break-all;
  font-size:13px;
}

/* ============================================================
   モバイル全体スッキリ調整（ハンバーガー化＋余白削減）
   ============================================================ */
@media(max-width:768px){
  /* ========== HEADER ハンバーガー化 ========== */
  .header{
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:10px 14px !important;
    height:48px;
    flex-wrap:nowrap !important;
  }
  .header::after{display:none;}
  .header .logo{
    font-family:'Shippori Mincho',serif !important;
    font-size:14px !important;letter-spacing:0.15em !important;
    font-weight:700 !important;
    margin:0 !important;
  }

  /* チェックボックス本体は非表示 */
  .nav-toggle-check{
    position:absolute !important;opacity:0 !important;
    width:0;height:0;pointer-events:none;
  }

  /* ハンバーガーボタン（label化、3本線） */
  .nav-toggle{
    display:flex !important;flex-direction:column;justify-content:space-around;
    width:28px;height:24px;
    background:transparent;border:none;cursor:pointer;
    padding:3px 0;
    margin-left:auto;
    position:relative;z-index:200;
  }
  .nav-toggle span{
    display:block;width:100%;height:2px;
    background:var(--navy);
    transition:transform .3s, opacity .3s;
    border-radius:1px;
  }
  .nav-toggle-check:checked ~ .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .nav-toggle-check:checked ~ .nav-toggle span:nth-child(2){opacity:0;}
  .nav-toggle-check:checked ~ .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

  /* ナビ：スライドメニュー化 */
  .nav{
    position:fixed !important;top:0;right:-100% !important;
    width:75% !important;max-width:300px !important;height:100vh !important;
    flex-direction:column !important;
    background:#fff !important;
    padding:70px 24px 24px !important;
    gap:0 !important;
    transition:right .3s ease !important;
    z-index:150 !important;
    box-shadow:-10px 0 30px rgba(0,0,0,0.1) !important;
    overflow-x:hidden !important;overflow-y:auto !important;
    align-items:flex-start !important;
  }
  .nav-toggle-check:checked ~ .nav{right:0 !important;}
  .nav a{
    display:block !important;
    width:100% !important;
    padding:14px 0 !important;
    font-size:13px !important;letter-spacing:0.1em !important;
    border-bottom:1px solid var(--gray-200) !important;
    color:var(--navy) !important;
    white-space:normal !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    text-decoration:none !important;
    position:relative !important;
    z-index:160 !important;
  }
  .nav a:active{background:var(--gray-100) !important;}
  .nav a:last-child{border-bottom:none !important;}
  .nav .nav-cta{
    background:var(--navy) !important;color:#fff !important;
    margin-top:16px !important;
    padding:12px 16px !important;
    border-radius:2px !important;
    text-align:center !important;
    border-bottom:none !important;
    justify-content:center !important;
  }

  /* オーバーレイ（label化） */
  .nav-overlay{
    display:block !important;
    position:fixed;inset:0;
    background:rgba(0,0,0,0.4);
    opacity:0;visibility:hidden;
    transition:opacity .3s, visibility .3s;
    z-index:140;
    cursor:pointer;
  }
  .nav-toggle-check:checked ~ .nav-overlay{opacity:1;visibility:visible;}

  /* ========== HEROの上下余白削減 ========== */
  .hero{
    padding:0 0 8px !important;
    min-height:auto !important;
    margin-top:0 !important;
  }
  .hero-inner{
    gap:0 !important;padding:0 20px !important;
  }
  .hero-image{
    margin:-30px 0 -100px !important;padding:0 !important;
    line-height:0 !important;
    min-height:0 !important;height:auto !important;
  }
  .hero-image img{
    max-height:420px !important;max-width:100% !important;width:100% !important;height:auto !important;
    display:block !important;margin:0 auto !important;
    object-fit:contain !important;
  }

  /* HEROテキスト：左にキャッチ、右に「水滴ライト／WATER DROP LIGHT」 */
  .hero-text{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-areas:
      "title brand"
      "title eyebrow"
      "sub sub"
      "cta cta" !important;
    column-gap:16px !important;row-gap:6px !important;
    align-items:center !important;
    text-align:left !important;
    margin:0 !important;
  }
  .hero-title{
    grid-area:title;align-self:center !important;
    text-align:left !important;
    font-size:19px !important;line-height:1.55 !important;
    margin:0 !important;
  }
  .hero-title br{display:initial !important;}
  .hero-title .accent{display:block;margin-top:2px;}
  .hero-brand{
    grid-area:brand;align-self:end !important;
    margin:0 !important;text-align:center !important;
    font-size:20px !important;letter-spacing:0.16em !important;
    padding-bottom:8px !important;
    border-bottom:1px solid var(--gold,#bfa264) !important;
    width:80% !important;justify-self:center !important;
  }
  .hero-eyebrow{
    grid-area:eyebrow;align-self:start !important;
    margin:6px 0 0 !important;text-align:center !important;
    font-size:10px !important;letter-spacing:0.3em !important;
    color:var(--gold,#bfa264);
    transform:none !important;
  }
  .hero-sub{
    grid-area:sub;text-align:left !important;
    margin:14px 0 0 !important;
    padding:0 16px !important;
    max-width:none !important;
  }
  .hero-sub span{display:block !important;text-align:left !important;}
  .hero-cta{
    grid-area:cta;
    justify-content:flex-start !important;
    margin:24px 0 0 !important;
    padding:0 16px !important;
  }

  /* ========== お知らせ枠を小さく ========== */
  .news-list{padding:0 !important;}
  .news-item{
    padding:10px 12px !important;
    gap:4px !important;
    margin-bottom:6px !important;
    border-width:1px !important;
  }
  .news-date{font-size:10px !important;margin-bottom:0 !important;}
  .news-tag{
    font-size:8px !important;
    padding:2px 6px !important;
    margin-bottom:2px !important;
  }
  .news-title{font-size:11px !important;line-height:1.5 !important;}
  .news-cta{margin-top:12px !important;}

  /* ========== 全体セクション余白を縮小 ========== */
  .section,.facts,.products-top,.results-cta,.partner,.media,.contact,.product,.story,.principle{
    padding:32px 16px !important;
  }
  .section-title,.facts-title,.results-cta-title{
    margin-bottom:18px !important;font-size:22px !important;
  }
  .page-hero{padding:24px 16px 8px !important;}
  .page-hero h1{font-size:24px !important;}
  .page-hero .eyebrow{margin-bottom:4px !important;}
  .page-hero p{margin-top:6px !important;}
  .footer{padding:28px 16px 16px !important;}
}

/* ===== 最終調整：HERO余白削減 + お知らせ枠縮小 ===== */
@media(max-width:768px){
  /* お知らせ枠を統一サイズに */
  .news-list{
    max-width:100% !important;
    padding:0 !important;
  }
  .news-item{
    width:330px !important;
    max-width:calc(100% - 16px) !important;
    margin:0 auto 6px !important;
    padding:8px 14px !important;
    gap:3px !important;
    box-sizing:border-box !important;
  }
  .news-title{
    width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* ===== ハンバーガーメニューのリンクを確実にタップ可能に ===== */
@media(max-width:768px){
  .nav a{
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:rgba(168,138,78,0.3) !important;
    -webkit-touch-callout:none;
    user-select:none;
  }

}
