/* フコイダン定期コース：WordPress専用、サイトのヘッダー・フッターには影響させない */
.ft-teiki-wrapper{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#26322b;font-size:16px;line-height:1.75;overflow-wrap:anywhere}
.ft-teiki-wrapper *{box-sizing:border-box}
.ft-teiki-wrapper img{max-width:100%;height:auto}
.ft-teiki-wrapper .container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.ft-teiki-wrapper .container.narrow{width:min(820px,calc(100% - 32px))}
.ft-teiki-wrapper a{color:inherit}
.ft-teiki-wrapper .hero{text-align:center;padding:25px 0 24px;background:linear-gradient(180deg,#f3f7f1 0%,#fff 100%)}
.ft-teiki-wrapper .eyebrow,.ft-teiki-wrapper .section-kicker{letter-spacing:.12em;font-size:13px;font-weight:800;color:#58715e;margin:0 0 8px}
.ft-teiki-wrapper .hero .ft-hero-title{font-size:clamp(25px,3.5vw,36px);line-height:1.35;margin:0;color:#263c2e}
.ft-teiki-wrapper .hero-lead{max-width:760px;margin:12px auto 8px;font-size:16px}
.ft-teiki-wrapper .hero-points{display:flex;justify-content:center;gap:8px 20px;flex-wrap:wrap;margin:12px auto 0}
.ft-teiki-wrapper .hero-points span{font-weight:800;color:#b92323;font-size:15px}
.ft-teiki-wrapper .anchor-nav{background:#253c2d;color:#fff;margin:0}
.ft-teiki-wrapper .anchor-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.ft-teiki-wrapper .anchor-grid a{text-align:center;text-decoration:none;color:white;padding:12px 5px;font-weight:800;font-size:14px;border-right:1px solid rgba(255,255,255,.15)}
.ft-teiki-wrapper .anchor-grid a:hover{background:#437551}
.ft-teiki-wrapper .section{padding:55px 0;scroll-margin-top:105px}
.ft-teiki-wrapper .section-pale{background:#f6f8f5}
.ft-teiki-wrapper .section-note{background:#fbfcfa}
.ft-teiki-wrapper .section h2{font-size:clamp(24px,3.3vw,34px);line-height:1.4;margin:0 0 16px;color:#263c2e}
.ft-teiki-wrapper .section h3{font-size:19px;line-height:1.45;margin:14px 0 8px}
.ft-teiki-wrapper .section p{margin:10px 0}
.ft-teiki-wrapper .regular-note{font-weight:700;color:#315c3e;background:#f1f6ef;border-left:4px solid #315c3e;padding:14px 18px}
.ft-teiki-wrapper .section-heading{margin-bottom:22px}
.ft-teiki-wrapper .section-heading p{margin:6px 0}
.ft-teiki-wrapper .product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ft-teiki-wrapper .product-card{position:relative;display:flex;flex-direction:column;border:1px solid #dce4dc;border-radius:18px;background:#fff;overflow:hidden;min-width:0}
.ft-teiki-wrapper .product-card.featured{border:2px solid #78947d;padding-top:38px}
.ft-teiki-wrapper .product-card .badge{position:absolute;top:0;left:0;right:0;background:#d97824;color:#fff;padding:8px 10px;font-size:13px;font-weight:800;text-align:center}
.ft-teiki-wrapper .product-image{display:block;width:100%;height:190px;object-fit:contain;background:#f3f6f2}
.ft-teiki-wrapper .product-body{padding:18px;display:flex;flex:1;flex-direction:column}
.ft-teiki-wrapper .product-body .tag{font-weight:800;font-size:14px;color:#58715e;margin:0}
.ft-teiki-wrapper .product-body h3{font-size:20px;margin:3px 0 10px}
.ft-teiki-wrapper .regular-price{font-weight:900;color:#253c2d;background:#eef5ed;border-left:4px solid #315c3e;padding:10px;border-radius:6px;font-size:17px;margin:5px 0 8px}
.ft-teiki-wrapper .regular-price strong{font-size:26px;white-space:nowrap}
.ft-teiki-wrapper .one-time-price{font-size:14px;margin:4px 0}
.ft-teiki-wrapper .note{font-size:14px;font-weight:800;color:#59645d}
.ft-teiki-wrapper .order-tooltip{display:block;margin-top:auto;padding-top:12px}
.ft-teiki-wrapper .order-form{margin:0}
.ft-teiki-wrapper .order-image-button{display:block;width:100%;max-width:340px;height:auto;border:0;cursor:pointer;margin:auto}
.ft-teiki-wrapper .tooltip-wrap,.ft-teiki-wrapper .price-tooltip-wrap{position:relative;display:inline-block}
.ft-teiki-wrapper .tooltip-label{border-bottom:1px dotted #607269;cursor:help}
.ft-teiki-wrapper .tooltip-text{position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);background:#263c2e;color:#fff;border-radius:7px;padding:8px 10px;white-space:nowrap;font-size:12px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;z-index:5}
.ft-teiki-wrapper .tooltip-wrap:hover>.tooltip-text,.ft-teiki-wrapper .tooltip-wrap:focus-within>.tooltip-text,.ft-teiki-wrapper .price-tooltip-wrap:hover>.tooltip-text{opacity:1;visibility:visible}
.ft-teiki-wrapper .special-card{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;border:1px solid #dce4dc;background:#fff;overflow:hidden}
.ft-teiki-wrapper .special-image{width:100%;height:100%;min-height:340px;object-fit:contain;background:#f3f6f2}
.ft-teiki-wrapper .special-card>div:last-child{padding:34px}
.ft-teiki-wrapper details{padding:14px 0;border-bottom:1px solid #dce4dc}
.ft-teiki-wrapper summary{cursor:pointer;font-weight:800}
.ft-teiki-wrapper .faq-answer,.ft-teiki-wrapper .spec-content{padding:12px 5px 4px}
.ft-teiki-wrapper .nutrition{display:grid;grid-template-columns:minmax(130px,260px) 1fr;max-width:550px;margin:12px 0 22px;border-top:1px solid #dce4dc}
.ft-teiki-wrapper .nutrition dt,.ft-teiki-wrapper .nutrition dd{margin:0;padding:7px 10px;border-bottom:1px solid #dce4dc}
.ft-teiki-wrapper .nutrition dt{font-weight:700}
.ft-teiki-wrapper .nutrition dd{text-align:right}
.ft-teiki-wrapper .line-modal{display:none;position:fixed;inset:0;z-index:99999}
.ft-teiki-wrapper .line-modal.is-open{display:block}
.ft-teiki-wrapper .line-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.ft-teiki-wrapper .line-modal-box{position:relative;width:min(440px,calc(100% - 30px));max-height:90vh;overflow:auto;margin:5vh auto;background:#fff;border-radius:18px;padding:28px;text-align:center}
.ft-teiki-wrapper .line-modal-box img{display:block;width:min(280px,80vw);margin:18px auto}
.ft-teiki-wrapper .line-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:32px;cursor:pointer}
@media(max-width:900px){.ft-teiki-wrapper .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-teiki-wrapper .anchor-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:568px){.ft-teiki-wrapper{font-size:16px}.ft-teiki-wrapper .container,.ft-teiki-wrapper .container.narrow{width:calc(100% - 24px)}.ft-teiki-wrapper .hero{padding:18px 0}.ft-teiki-wrapper .hero .ft-hero-title{font-size:24px}.ft-teiki-wrapper .hero-lead{font-size:15px}.ft-teiki-wrapper .hero-points span{font-size:13px}.ft-teiki-wrapper .anchor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-teiki-wrapper .anchor-grid a{font-size:13px;padding:10px 4px}.ft-teiki-wrapper .section{padding:35px 0}.ft-teiki-wrapper .product-grid{grid-template-columns:1fr}.ft-teiki-wrapper .product-image{height:220px}.ft-teiki-wrapper .special-card{grid-template-columns:1fr}.ft-teiki-wrapper .special-image{min-height:220px;height:245px}.ft-teiki-wrapper .special-card>div:last-child{padding:20px}.ft-teiki-wrapper .regular-price strong{font-size:25px}}

/* 2026-10-20: 定期コース本文内リンク／ページ先頭への戻りリンク */
.ft-teiki-wrapper .section a:not(.order-image-button):hover,
.ft-teiki-wrapper .section a:not(.order-image-button):focus-visible {
  color:#e87516 !important;
  transition:color .2s ease;
}
.ft-teiki-wrapper .section .ft-back-top {
  text-align:right;
  margin-top:20px;
  margin-bottom:0;
}
.ft-teiki-wrapper .ft-back-top a {
  display:inline-block;
  color:#286344;
  font-size:15px;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ft-teiki-wrapper .ft-back-top a:hover,
.ft-teiki-wrapper .ft-back-top a:focus-visible {
  color:#e87516 !important;
}
/* Lightningのパンくずは残し、その下の本文までの余白のみ縮める */
body:has(.ft-teiki-wrapper) .site-body {
  padding-top:8px !important;
}
body:has(.ft-teiki-wrapper) .site-body-container,
body:has(.ft-teiki-wrapper) .main-section,
body:has(.ft-teiki-wrapper) .mainSection {
  margin-top:0 !important;
  padding-top:0 !important;
}
body:has(.ft-teiki-wrapper) .ft-teiki-wrapper {
  margin-top:0 !important;
  padding-top:0 !important;
}
@media (max-width:568px) {
  .ft-teiki-wrapper .section .ft-back-top {margin-top:14px;}
  .ft-teiki-wrapper .ft-back-top a {font-size:14px;}
}
/* 定期コース：ページ内メニューの文字を大きく */
.ft-teiki-wrapper .anchor-grid a {
  font-size: 18px !important;
  padding: 12px 5px;
}

/* スマホ */
@media (max-width: 568px) {
  .ft-teiki-wrapper .anchor-grid a {
    font-size: 14px !important;
    padding: 10px 4px;
  }
}

/* =====================================
   定期コースページ
   スマホ用 緑メニュー修正
===================================== */

@media (max-width: 568px) {

  /* ① 緑メニューの左右の余白をなくす */
  .ft-teiki-wrapper .anchor-nav {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #253c2d !important;
    box-sizing: border-box;
  }

  .ft-teiki-wrapper .anchor-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    box-sizing: border-box;
  }

  /* ② 各メニューの境界線 */
  .ft-teiki-wrapper .anchor-grid a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px;
    margin: 0 !important;
    padding: 10px 6px !important;

    background: #253c2d !important;
    color: #ffffff !important;

    border: 0 !important;
    border-right: 1px solid #607569 !important;
    border-bottom: 1px solid #607569 !important;

    box-sizing: border-box;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center;
    white-space: normal !important;
  }

  /* マウスを当てたとき */
  .ft-teiki-wrapper .anchor-grid a:hover {
    background: #437551 !important;
  }
}

/* 定期コース：スマホの緑メニュー文字を大きく */
@media (max-width: 568px) {

  .ft-teiki-wrapper .anchor-grid a {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    padding: 12px 8px !important;
    min-height: 65px !important;
  }

}
