:root{
  --container: 1120px;
  --pad: 20px;
  --text: #111;
  --bg: #fff;
}

*{ box-sizing:border-box; }

body.wp-theme-hello-elementor{
  margin:0;
  color:var(--text);
  background:var(--bg);
  font-family:"Noto Serif JP", serif;
  font-weight:400;
}

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--pad);
}

/* Header */
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background:#fff;
  border-bottom: 1px solid #eaeaea;
}
.header-inner{
  height: 44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 0 var(--pad);
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:inherit;
}

.logo-mark{
  height:44px;
  width:auto;
  display:block;
}


@media (max-width:768px){
  .logo-mark{ height:40px; }
}

/* PC Nav */
.gnav--pc{ display:block; }
.gnav-list{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  gap: 18px;
}
.gnav-list a{
  text-decoration:none;
  color:inherit;
  font-weight:500;
}


/* Drawer */
.drawer{
  position: fixed;
  inset: 72px 0 0 0;
  background: rgba(0,0,0,.35);
}
.drawer nav{
  background:#fff;
  width:min(320px, 86%);
  height:100%;
  padding: 18px;
}
.drawer-list{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  flex-direction:column;
  gap: 14px;
}
.drawer-list a{ text-decoration:none; color:inherit; font-weight:600; }

/* Hero (高さは横幅連動) */
.hero{
  position:relative;
  width:100%;
  aspect-ratio: 1440 / 720; /* ←Figmaのヒーロー比率に合わせて変更 */
  overflow:hidden;
}
/*.hero img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}*/
.hero-copy{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  padding:0 20px;
  z-index:10;
  transform: translateY(-25%);
  
}
.hero-jp{
  margin:0 0 10px;
  font-size: clamp(22px, 3vw, 44px);
  font-weight:700;
  letter-spacing: .06em;
}
.hero-en{
  margin:0;
  font-size: clamp(12px, 1.6vw, 26px);
  font-weight:600;
  transform: translateX(-0.5em);
}
/* スライドレイヤー */
.hero-slider{
  position:absolute;
  inset:0;
  
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1.2s ease;
}

.hero-slide.is-active{
  opacity:1;
  z-index:1;
}

/* 画像基本（初期状態） */
.hero-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.10) translate(0,0);
  transition: transform 8s ease;
}

/* is-kenburns が付いたら動く（方向ごと） */
.hero-slide.is-kenburns.zoom-pan-1 img{ transform: scale(1.14) translate(-2%,-2%); }
.hero-slide.is-kenburns.zoom-pan-2 img{ transform: scale(1.14) translate( 2%,-2%); }
.hero-slide.is-kenburns.zoom-pan-3 img{ transform: scale(1.14) translate(-2%, 2%); }
.hero-slide.is-kenburns.zoom-pan-4 img{ transform: scale(1.14) translate( 2%, 2%); }
.hero-slide.is-kenburns.zoom-pan-5 img{ transform: scale(1.14) translate( 0%,-2%); }

/* （任意）滑らかさ向上 */
.hero-slide img{ will-change: transform; }
.hero-slide{ will-change: opacity; }

/* Intro */
.intro{
  background:#f5f5f5;
  padding:56px 0;
}

.intro-inner{
  text-align:center;
  font-size:18px;
  line-height:2;
  letter-spacing:.05em;
}

.intro-inner p{ margin:0; }
.intro-inner p + p{ margin-top:10px; }

/* PC：フォント大きく */
@media (min-width:769px){
  .intro-inner{
    font-size:22px;
  }
}

/* 文字単位 */
.intro-chars span{
  display:inline-block;
  opacity:0;
  transform: translateY(8px);
  transition: opacity 1.2s cubic-bezier(.22,.61,.36,1),
              transform 1.2s cubic-bezier(.22,.61,.36,1);
}

/* 表示 */
.intro-chars.is-visible span{
  opacity:1;
  transform: translateY(0);
}





/* Sections */
.section{
  padding: 80px 0;
}
.split{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  align-items:center;
  gap: 40px;
}
.split--reverse{
  grid-template-columns: .8fr 1.2fr;
}
.split--text-left{
  grid-template-columns: .8fr 1.2fr;
}
.split-images{
  display:grid;
  gap: 18px;
}
.split-images--two{
  grid-template-columns: 1fr 1fr;
}
.split-images img{
  width:100%;
  height: 240px;
  object-fit:cover;
  border-radius: 2px;
}
.title{
  margin:0;
  font-size: 34px;
  font-weight:600;
  display:inline-block;
  padding-bottom: 10px;
  border-bottom: 2px solid currentColor;
  letter-spacing: .05em;
  line-height:1.3;
}
/* セクション見出しを少しグレーに */
.section .title{
  color:#555;
  border-bottom-color:#555;
}

.split-title{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
@media (max-width:768px){

  .split{
    grid-template-columns:1fr;
  }

  .split-title{
    order:-1;
  }

}


/* Footer */
.site-footer{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  background:#f5f5f5 !important;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap: 30px;
  padding-bottom: 40px;
}
.footer-brand{
  max-width:420px;
}

.footer-logo{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  text-decoration:none;
}

.footer-logo-mark{
  height:40px;
  width:auto;
  display:block;
}

.footer-logo-name{
  height:26px;
  width:auto;
  display:block;
}

.footer-address{ font-size: 14px; line-height: 1.8; color:#333; }

.footer-nav-list{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  gap: 16px;
  flex-wrap:wrap;
}
.footer-nav-list a{ text-decoration:none; color:#333; font-weight:500; }

.footer-copy{
  text-align:center;
  font-size: 12px;
  padding: 16px 0;
  color:#666;
}

/* SP (390基準) */
@media (max-width: 768px){

  .gnav--pc{ display:none; }
  .hamburger{ display:block; }

  .hero{
    aspect-ratio: 390 / 520; /* ←SPで別比率にしたい場合のみ変更。基本はPCと同じでもOK */
  }

  .intro-inner{ font-size: 15px; }

  .section{ padding: 56px 0; }

  .split,
  .split--reverse{
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .split-images--two{
    grid-template-columns: 1fr;
  }

  .split-images img{
    height: 200px;
  }

  .title{ font-size: 26px; }

  .footer-inner{
    flex-direction:column;
  }
}

/* fade in */
.fade-in{
  opacity:0;
  transform: translateY(20px);
  transition: opacity .8s ease, transform .8s ease;
}

.fade-in.is-visible{
  opacity:1;
  transform: translateY(0);
}

/* リンク装飾を消す　*/
.title a{
  color: inherit;
  text-decoration: none;
}

.title a:hover{
  opacity: .7;
}


/* ===== Header Hamburger override ===== */
.site-header .hamburger{
  display:none;
  width:44px;
  height:44px;
  border:1px solid #ddd;
  background:#fff;
  border-radius:6px;
  padding:10px;
  box-sizing:border-box;
}

/* 押下・フォーカス時も白 */
.site-header .hamburger:hover,
.site-header .hamburger:focus,
.site-header .hamburger:active{
  background:#fff;
}

/* lines */
.site-header .hamburger span{
  display:block;
  width:100%;
  height:2px;
  background:#111;
  margin:6px 0;
}

/* SP only */
@media (max-width:768px){
  .site-header .hamburger{
    display:block;
  }
}


@media (max-width:768px){
  .footer-nav-list a{
    font-size:13px;
  }
}

/* =====================================
   Company Page
===================================== */

.company section{
  padding:80px 0;
}

.company section.company-hero{
  padding-top:30px;
}

/* 背景 */
.company-hero,
.company-history{
  background:#f5f5f5;
}

/* ヒーロー */
.page-title{
  text-align:center;
  font-size:32px;
  margin-top:0;
  margin-bottom:40px;
  font-weight:600;
  letter-spacing:.08em;
}

@media (max-width:768px){

.page-title{
  font-size:24px;
  margin-bottom:24px;
}

}

.company-hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.company-hero img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}

/* 会社概要 */
.company-info__grid{
  display:grid;
  grid-template-columns:1fr 220px;
  gap:48px;
}

/* 看板 */

.company-info__image{
  justify-self:end;
  margin-right:-10px;
}

.company-info__image img{
  width:100%;
  max-width:220px;
}

/* 各行 */
.company-info__list div{
  display:grid;
  grid-template-columns:140px 1fr;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid #e5e5e5;
}

/* 見出し */
.company-info dt{
  margin:0;
  font-weight:600;
}

/* 内容 */
.company-info dd{
  margin:0;
  line-height:2.4;
}

/* 沿革 */
.company-history__grid{
  display:grid;
  grid-template-columns:1fr 400px;
  gap:48px;
}

/* タイムライン線 */
.company-history__list{
  border-left:2px solid #ddd;
  padding-left:20px;
}

.company-history__list div{
  display:grid;
  grid-template-columns:80px 1fr;
  align-items:start;
  padding:10px 0;
  line-height:2;
  position:relative;
}

.company-history__list div::before{
  content:"";
  position:absolute;

  /* ここを調整 */
  left:-25px;

  top:50%;
  transform:translateY(-50%);
  width:8px;
  height:8px;
  background:#666;
  border-radius:50%;
}

/* 年 */
.company-history dt{
  margin:0;
  font-weight:600;
}

/* 内容 */
.company-history dd{
  margin:0;
}




/* ギャラリー */

.company section.company-gallery{
  background:#f5f5f5;
  padding:0;
}

.company-gallery img{
  width:100%;
  height:600px;
  display:block;
  object-fit:cover;
 
}

/* スマホ */
@media (max-width:768px){

.company-gallery img{
  height:240px;
}

}
/* タイトル */
.section-title{
  text-align:center;
  font-size:28px;
  margin-bottom:40px;
}

/* SP */
@media (max-width:768px){

.company section{
  padding:48px 0;
}

.company-hero__grid{
  grid-template-columns:1fr;
}

.company-info__grid{
  grid-template-columns:1fr 80px;
}

.company-history__grid{
  grid-template-columns:1fr;
}


.company-info__list div{
  grid-template-columns:1fr;
  gap:4px;
}

.company-info dt{
  font-weight:600;
  font-size:14px;
}

.company-info dd{
  font-size:14px;
}

.company-history__list div{
  grid-template-columns:1fr;
  gap:4px;
}

@media (max-width:768px){

  .company-history__list div::before{
    top:1.2em;
    transform:none;
  }

}

.company-history dt{
  font-size:14px;
}

.company-history dd{
  font-size:14px;
}

}

/* =====================================
   Tea Life Page
===================================== */

.tea-life section{
  padding:80px 0;
}
/* ヒーローだけ上を詰める */
.tea-life .tea-hero{
  padding-top:30px;
}

.tea-list .section-title{
  font-size:30px;
  margin-bottom:70px;
  position:relative;
}

/* タイトル装飾線 */

.tea-list .section-title::after{
  content:"";
  width:100px;
  height:2px;
  background:#7a8c5f;
  display:block;
  margin:18px auto 0;
}

/* ヒーロー */

.tea-hero__grid.fade-up{
  transition-delay:0s;
}

/* リードタイトル */

.tea-lead-title.fade-up{
  transition-delay:.4s;
}

/* リードテキスト */

.tea-lead-text.fade-up{
  transition-delay:.7s;
}

.tea-lead-title.fade-up,
.tea-lead-text.fade-up{
  transition-duration:1s;
}



/* ======================
   タイトル
====================== */

.page-title{
  text-align:center;
  font-size:32px;
  margin:0 0 40px 0;
  font-weight:600;
  letter-spacing:.08em;
}


/* ======================
   ヒーロー
====================== */

.tea-hero{
  background:#f5f5f5;
}

.tea-hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.tea-hero img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}


/* ======================
   リードコピー
====================== */

.tea-life .tea-lead{
   text-align:center;
  padding:40px 0 20px;
}

.tea-life .tea-list{
  padding-top:20px;
}

.tea-lead-title{
  font-size:36px;
  line-height:1.6;
  margin-bottom:16px;
  font-weight:600;
  letter-spacing:.05em;
}

.tea-lead-text{
  line-height:2;
  font-size:18px;
  color:#444;
}

/* ======================
   お茶リスト
====================== */

.tea-list{
  background:#fff;
}

.tea-list .section-title{
  margin-bottom:60px;
}


.tea-list .container{
  max-width:1100px;
  margin:0 auto;
}

.tea-item{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:32px;
  align-items:start;
  margin-bottom:40px;
}

.tea-item img{
  width:160px;
  height:160;
  object-fit:cover;
}

.tea-item div{
  padding-top:12px;
}

.tea-item p{
  max-width:520px;
}

/* お茶リストグリッド */

.tea-grid{
  display:grid;
  gap:40px;
}




/* PC */

@media (min-width:769px){

.tea-grid{
  grid-template-columns:1fr 1fr;
  gap:40px 80px;
}

}

/* ======================
   成分と効能
====================== */

.tea-effects{
  background:#f5f5f5;
  text-align:center;
}

.tea-effects__lead{
  max-width:720px;
  margin:0 auto 40px;
  line-height:2;
  text-align:center;
}

.tea-effects .section-title{
  font-size:34px;
}
/* 枠 */

.tea-effects-box{
  border:2px solid #8a9a6a;
  padding:40px;
  max-width:900px;
  margin:0 auto;
}

/* 2カラム */

.tea-effects-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}

/* table */

.tea-table{
  width:100%;
  max-width:420px;
  margin:0 auto;
  border-collapse:collapse;
}

.tea-table th{
  background:#e5ead8;
  padding:12px 10px;
  text-align:left;
  font-weight:600;
}

.tea-table td{
  border-bottom:1px solid #ddd;
  padding:12px 10px;
  line-height:1.8;
  text-align:left;
}

/* 効能タイトル */

.tea-effects .section-title.fade-up{
  transition-delay:.3s;
}

/* 効能リード */

.tea-effects__lead.fade-up{
  transition-delay:.6s;
}

.tea-effects-box.fade-up{
  transition-delay:.9s;
}

/* ======================
   ギャラリー
====================== */

.tea-gallery{
  background:#fff;
}

.tea-gallery__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.tea-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}

.tea-life .tea-gallery{
  background:#fff;
}

.tea-life .tea-gallery .container{
  background:#fff;
}

/* =====================================
   SP
===================================== */

@media (max-width:768px){

  .tea-life section{
    padding:48px 0;
  }

  .page-title{
    font-size:24px;
    margin-bottom:24px;
  }

  /* ヒーロー */
  .tea-hero__grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  /* リード */

  .tea-lead{
   padding:60px 0 40px;
  }

  .tea-lead-title{
    font-size:22px;
  }

  .tea-lead-text{
    font-size:15px;
  }

  /* 茶リスト */
  .tea-item{
    grid-template-columns:120px 1fr;
    gap:16px;
    margin-bottom:32px;
  }

  .tea-item img{
    width:120px;
  }

  .tea-item h3{
    font-size:16px;
  }

  .tea-item p{
    font-size:14px;
  }

  /* 成分 */
  .tea-effects__grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  /* ギャラリー */
  .tea-gallery__grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  /* 効能枠 */

.tea-effects-box{
  padding:24px;
}

/* テーブル2列 → 1列 */

.tea-effects-grid{
  grid-template-columns:1fr;
  gap:24px;
}

/* テーブル文字 */

.tea-table th{
  font-size:14px;
}

.tea-table td{
  font-size:14px;
  line-height:1.7;
}


.tea-life .section-title{
  font-size:22px;
  margin-bottom:24px;
}





}

/* =====================================
   Shizuoka Tea Page
===================================== */

.shizuoka-tea section {
  padding: 80px 0;
}
.tea-hero,
.tea-gallery {
  background: #f5f5f5;
}
/* PCのみ改行 */
.pc-br {
  display: block;
}

@media (max-width:768px){
  .pc-br {
    display: none;
  }
}
/* ======================
   ヒーロー2枚
====================== */
.tea-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.tea-hero img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* ======================
   茶の種類
====================== */
.tea-types {
  background:  #fff;
}

.tea-type {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 24px;
  align-items: center;
  margin-bottom: 36px;
}

.tea-type img {
  width: 120px;
  height: auto;
  display: block;
}

.tea-type h3 {
  font-size: 18px;
  margin-bottom: 8px;
  font-weight: 600;
}

.tea-type p {
  margin: 0;
  line-height: 1.8;
}

/* ======================
   ギャラリー
====================== */
.tea-gallery__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.tea-gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* ======================
   成分と効能
====================== */
.tea-effects {
  padding: 80px 0;
  text-align: center;
}

.tea-effects__lead {
  max-width: 720px;
  margin: 0 auto 40px;
  line-height: 2;
  font-size: 18px;
}

.tea-effects__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 48px;
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}

.tea-effect dt {
  font-weight: 600;
  margin-bottom: 4px;
}

.tea-effect dd {
  margin: 0;
  line-height: 1.8;
}
/* PC：効能幅を詰める */
@media (min-width: 769px){

  .tea-effects__lead {
    max-width: 640px;
  }

  .tea-effects__grid {
    max-width: 500px;
  }

}
/* ======================
   SP
====================== */
@media (max-width: 768px) {

  .shizuoka-tea section {
    padding: 48px 0;
  }

  /* ヒーロー */
  .tea-hero__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* 茶種類 */
  .tea-type {
    grid-template-columns: 80px 1fr;
    gap: 16px;
    margin-bottom: 28px;
  }

  .tea-type img {
    width: 80px;
  }

  .tea-type h3 {
    font-size: 16px;
  }

  .tea-type p {
    font-size: 14px;
  }

  /* ギャラリー */
  .tea-gallery__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* 成分 */
  .tea-effects__lead {
    font-size: 16px;
    margin-bottom: 28px;
  }

  .tea-effects__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

}


/* ======================
   Contact Notes
====================== */

.contact-notes__inner {
  width: 100%;
  max-width: 640px;
  margin: 40px auto 0;
  font-size: 13px;
  line-height: 1.9;
  color: #666;
}


/* ======================
   Contact Form
====================== */

.contact-form form {
  max-width: 640px;
  margin: 0 auto;
  background: #f5f5f5;
  padding: 32px 36px;
  border-radius: 6px;
}

/* ラベル */
.contact-form > form > p > label,
.contact-form label:not(.wpcf7-list-item-label) {
  display: block;
  margin-bottom: 18px;
  font-weight: 600;
  font-size: 14px;
}

/* 入力欄 */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ddd;
  background: #fff;
  font-size: 16px;
  border-radius: 4px;
  box-sizing: border-box;
}

/* フォーカス */
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #6b8e23;
  outline: none;
}

/* テキストエリア */
.contact-form textarea {
  height: 160px;
  resize: vertical;
}

/* 必須 */
.required {
  color: #b00;
  font-size: 12px;
  margin-left: 6px;
}


/* ======================
   プライバシー同意（CF7 checkbox）
====================== */

.contact-consent {
  margin-top: 10px;
  font-size: 14px;
}

.contact-consent .wpcf7-list-item {
  margin: 0;
}

.contact-consent .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-weight: normal;
}

.contact-consent input[type="checkbox"] {
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
}


/* ======================
   送信ボタン
====================== */

.contact-submit {
  text-align: center;
  margin-top: 30px;
}

.contact-submit input[type="submit"] {
  background: #4f6f1a;
  color: #fff;
  border: none;
  padding: 14px 44px;
  cursor: pointer;
  font-size: 16px;
  border-radius: 4px;
  transition: background .2s;
}

.contact-submit input[type="submit"]:hover {
  background: #3f5a14;
}


/* ======================
   SP
====================== */

@media (max-width:768px){

  .contact-form form {
    max-width: 100%;
    padding: 24px 20px;
  }

  .contact-form input,
  .contact-form textarea {
    font-size: 16px; /* iOSズーム防止 */
  }

}



/* 画像のフェードイン */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease;
}

.fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 沿革画像：よりふわっと */
.company-history__image.fade-up{
  opacity:0;
  transform: translateY(10px) scale(.96);
  transition:
    opacity 2s cubic-bezier(.19,1,.22,1),
    transform 2s cubic-bezier(.19,1,.22,1);
}

.company-history__image.fade-up.is-visible{
  opacity:1;
  transform: translateY(0) scale(1);
}


/* ======================
   Privacy page
====================== */

.privacy-page {
  padding: 80px 20px;
  background: #f8f9fb;
}

.privacy-page__inner {
  max-width: 960px;
  margin: 0 auto;
  background: #ffffff;
  padding: 48px 40px;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}

.privacy-page__header {
  margin-bottom: 40px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e5e7eb;
}

.privacy-page__title {
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #111827;
}

.privacy-page__lead {
  margin: 0;
  font-size: 1rem;
  line-height: 2;
  color: #374151;
}

.privacy-section + .privacy-section {
  margin-top: 32px;
}

.privacy-section__title {
  margin: 0 0 12px;
  padding-left: 14px;
  border-left: 4px solid #1f6fb2;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  color: #111827;
}

.privacy-section__text {
  margin: 0;
  font-size: 1rem;
  line-height: 2;
  color: #4b5563;
}

.privacy-list {
  margin: 16px 0 0;
  padding-left: 1.2em;
  color: #4b5563;
}

.privacy-list li {
  margin-bottom: 10px;
  line-height: 1.9;
}

@media screen and (max-width: 767px) {
  .privacy-page {
    padding: 48px 16px;
  }

  .privacy-page__inner {
    padding: 32px 20px;
    border-radius: 12px;
  }

  .privacy-page__title {
    font-size: 1.6rem;
  }

  .privacy-section__title {
    font-size: 1.1rem;
  }

  .privacy-page__lead,
  .privacy-section__text,
  .privacy-list li {
    font-size: 0.95rem;
  }
}

/* ======================
   Quality Page
====================== */

/* ===== 基本セクション ===== */

.quality section{
  padding:80px 0;
}

.quality-block{
  background:#fff;
}

.quality-hero{
  background:#f5f5f5;
}

@media (min-width:769px){
  .quality-block .quality-text p{ font-size:20px; }
  .quality-policy .quality-list{ font-size:18px; }
}
@media (min-width:769px){

  .quality-facility .quality-text p{
    font-size:17px;
    line-height:2.1;
  }

}
.quality-policy{
  background:#f5f5f5;
  padding:100px 0;
}
/* ===== ヒーロー ===== */

.quality-hero__image{
  position:relative;
}

.quality-hero__image img{
  width:100%;
  height:auto;
  display:block;
}

.quality-hero__title{
  position:absolute;
  left:50%;
  top:58%;
  transform:translate(-50%,-50%);
  color:#fff;
  font-size:clamp(26px,3vw,40px);
  letter-spacing:.08em;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

/* ===== 2カラムブロック ===== */

.quality-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
  margin-bottom:48px;
}

.quality-split:last-child{
  margin-bottom:0;
}

/* ===== テキスト ===== */

.quality-text{
  text-align:center;
}

.quality-text h3{
  font-size:20px;
  font-weight:600;
  margin-bottom:12px;
}

.quality-text p{
  line-height:2;
  margin-bottom:16px;
}

.quality-text p:last-child{
  margin-bottom:0;
}

/* ===== 方針リスト ===== */

.quality-list{
  margin-top:16px;
  padding-left:18px;
  line-height:2;
  display:inline-block;
  text-align:left;
}

/* ===== ワイド画像 ===== */

.quality-wide img{
  width:100%;
  display:block;
}

/* ===== 設備セクション ===== */

.quality-facility .quality-split{
  align-items:start;
}

.quality-facility .quality-text{ text-align:left; }

/* ===== SP ===== */

@media (max-width:768px){

  .quality section{
    padding:48px 0;
  }

  .quality-split{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:32px;
  }

  .quality-split:last-child{
    margin-bottom:0;
  }

  .quality-text{
    text-align:center;
  }

  .section-title{
    text-align:center;
  }

  .quality-hero__title{
    top:60%;
    font-size:22px;
    letter-spacing:.06em;
    white-space:nowrap;
    width:90%;
    text-align:center;
  }

}



/* ===ロゴネームフォント関係 ===== */

.logo-name{
  margin:0;
  font-family:"Noto Serif JP", serif;
  font-size:24px;
  letter-spacing:.08em;
  font-weight:600;
  line-height:1;
}

.footer-logo-name{
  font-family:"Noto Serif JP", serif;
  font-size:20px;
  letter-spacing:.08em;
  font-weight:600;
  line-height:1;
  color:#111
}

.footer-logo{
  color:#111;
  text-decoration:none;
}

.footer-logo:hover{
  color:#111;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
}

@media (max-width:768px){
  .logo-name{ font-size:22px; }
  .footer-logo-name{ font-size:18px; }
}



.footer-catch{
  font-family:"Noto Serif JP", serif;
  font-size:16px;
  letter-spacing:.08em;
  margin:0 0 8px 0;
  color:#444;
}

@media (max-width:768px){
  .footer-catch{
    font-size:13px;
    margin-bottom:6px;
  }
}