/* 温活LP v5: 本文16px／シーンカード本文14px／注釈12px／基本行間1.4 */
#kenyuu-onkatsu { --bg: #f7ede5; --coral: #ff947c; --ink: #302b28; font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif; color: var(--ink); background: var(--bg); max-width: 960px; margin: 0 auto; overflow: hidden; font-size: 16px; }
#kenyuu-onkatsu * { box-sizing: border-box; }
#kenyuu-onkatsu img { display: block; max-width: 100%; height: auto; }
#kenyuu-onkatsu a { text-decoration: none; color: inherit; }
#kenyuu-onkatsu .inner { width: 86%; max-width: 820px; margin: 0 auto; }
#kenyuu-onkatsu .section { padding: 40px 0; }
#kenyuu-onkatsu .section-title { font-size: 28px; font-weight: 700; text-align: center; line-height: 1.4; margin: 0 0 22px; position: relative; padding-bottom: 12px; }
#kenyuu-onkatsu .eyebrow { display: block; color: var(--coral); font-size: 12px; font-weight: 400; letter-spacing: .08em; margin-bottom: 7px; }
#kenyuu-onkatsu .accent { color: var(--coral); }
#kenyuu-onkatsu .hero { position: relative; }
#kenyuu-onkatsu .hero-cta { position: absolute; left: 17%; right: 17%; bottom: 7%; height: 11%; font-size: 0; background: transparent; }
#kenyuu-onkatsu .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
#kenyuu-onkatsu .intro { padding-top: 30px; }
#kenyuu-onkatsu .intro-conclusion { text-align: center; margin: 20px auto 0; max-width: 680px; font-size: 16px; }
#kenyuu-onkatsu .scenes-section { padding-top: 42px; }
#kenyuu-onkatsu .scenes-section .section-title { margin-bottom: 17px; }
#kenyuu-onkatsu .scenes-section h3.section-title { font-size: 20px !important; color: var(--coral); margin: 0 0 8px; }
#kenyuu-onkatsu .scenes-section .inner>p { text-align: center; font-size: 16px; margin: 0 0 18px; }
#kenyuu-onkatsu .scenes-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
#kenyuu-onkatsu .scene-card { background: #fff; border-radius: 9px; padding: 10px; display: flex; align-items: center; gap: 12px; min-width: 0; }
#kenyuu-onkatsu .scene-card .photo { width: 55%; flex: 0 0 55%; overflow: hidden; }
#kenyuu-onkatsu .scene-card .photo img { width: 100%; height: auto; display: block; }
#kenyuu-onkatsu .scene-text { flex: 1; }
#kenyuu-onkatsu .scene-card h3 { font-size: 17px; margin: 0 0 7px; }
#kenyuu-onkatsu .scene-card p { font-size: 14px; margin: 0; }
#kenyuu-onkatsu .points-section { padding-top: 58px; }
#kenyuu-onkatsu .points-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 12px; }
#kenyuu-onkatsu .point .photo { aspect-ratio: 355/220; background: #f2f2f2; border-radius: 7px; overflow: hidden; }
#kenyuu-onkatsu .point .photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
#kenyuu-onkatsu .point-label { font-size: 12px; color: var(--coral); letter-spacing: .06em; border-bottom: 1px solid #eeb4a6; margin-top: 9px; }
#kenyuu-onkatsu .point h3 { font-size: 19px; margin: 5px 0; }
#kenyuu-onkatsu .point p { font-size: 16px; margin: 0; }
#kenyuu-onkatsu .point .note { font-size: 12px; color: #81736e; margin-top: 4px; }
#kenyuu-onkatsu .reviews { padding: 65px 0 70px; background: var(--bg); }
#kenyuu-onkatsu .reviews .inner { max-width: 820px; }
#kenyuu-onkatsu .review-intro { text-align: center; font-size: 17px; margin: 0 0 12px; }
#kenyuu-onkatsu .reviews-grid { display: block; background: #fff; border-radius: 12px; padding: 0 7%; }
#kenyuu-onkatsu .review { padding: 24px 0; border-bottom: 1px solid #ffb8a7; }
#kenyuu-onkatsu .review:last-child { border-bottom: none; }
#kenyuu-onkatsu .review h3 { font-size: 20px; margin: 0 0 10px; }
#kenyuu-onkatsu .review h3:before { content: "❞"; color: var(--coral); font-size: 30px; vertical-align: middle; margin-right: 12px; }
#kenyuu-onkatsu .review p { font-size: 16px; margin: 0 0 7px; }
#kenyuu-onkatsu .review .review-product { color: var(--coral); font-size: 12px; }
#kenyuu-onkatsu .shop-zone { background: #fffdf9; }
#kenyuu-onkatsu .shop-zone>.section { padding: 35px 0 22px; }
#kenyuu-onkatsu .nav-group { margin: 14px auto; }
#kenyuu-onkatsu .nav-group h3 { font-size: 20px; margin: 0 0 7px; }
#kenyuu-onkatsu .nav-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
#kenyuu-onkatsu .nav-grid a { background: #faeee7; text-align: center; padding: 16px 6px; border-radius: 4px; font-size: 18px; font-weight: 700; min-height: 78px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }
#kenyuu-onkatsu .nav-grid a span { color: var(--coral); font-size: 12px; }
#kenyuu-onkatsu .category { padding: 35px 0 30px; scroll-margin-top: 15px; }
#kenyuu-onkatsu .category .inner { width: 86%; }
#kenyuu-onkatsu .category-heading { font-size: 24px; margin: 0 0 13px; border-bottom: 1px solid #e8cfc4; padding-bottom: 7px; }
#kenyuu-onkatsu .category-heading small { font-size: 12px; color: var(--coral); display: block; font-weight: 400; margin-bottom: 3px; }
#kenyuu-onkatsu .category-lead { margin-bottom: 24px; }
#kenyuu-onkatsu .category-lead p { font-size: 16px; margin: 0; }
#kenyuu-onkatsu .products-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 15px; }
#kenyuu-onkatsu .product { min-width: 0; background: #fff; border: 1px solid #ead9d0; border-radius: 12px; padding: 15px; display: flex; flex-direction: column; box-shadow: 0 2px 8px rgba(73,44,31,.035); }
#kenyuu-onkatsu .product .photo { aspect-ratio: 323/200; background: #fff; overflow: hidden; border-radius: 7px; }
#kenyuu-onkatsu .product .photo img { width: 100%; height: 100%; object-fit: contain; }
#kenyuu-onkatsu .product h4 { font-size: 19px; margin: 8px 0 5px; }
#kenyuu-onkatsu .product p { font-size: 16px; margin: 0 0 10px; flex: 1; }
#kenyuu-onkatsu .btn { display: block; text-align: center; background: var(--coral); color: white !important; border-radius: 30px; font-size: 16px; font-weight: bold; padding: 6px 10px; }

#kenyuu-onkatsu .section-title::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 40px; height: 2px; background: var(--coral); }
#kenyuu-onkatsu .scenes-section h3.section-title::after { display: none; }
#kenyuu-onkatsu .shop-heading .heading-small { display: block; font-size: .64em; font-weight: 500; line-height: 1.4; color: var(--ink); margin-bottom: 5px; }
#kenyuu-onkatsu .shop-heading .heading-large { display: block; font-size: 1.15em; font-weight: 700; line-height: 1.4; color: var(--ink); }
#kenyuu-onkatsu .nav-grid a .nav-arrow { display: block; font-size: 20px; font-weight: 700; color: var(--coral); line-height: 1; }
#kenyuu-onkatsu .btn.secondary { background: #fff; color: var(--coral) !important; border: 1px solid var(--coral); margin-top: 6px; }
#kenyuu-onkatsu .product .button-group { margin-top: auto; }
#kenyuu-onkatsu .product .button-group .btn { margin-top: 6px; }
#kenyuu-onkatsu .hero picture,#kenyuu-onkatsu .hero picture img { display: block; width: 100%; height: auto; }
/* ショップサーブ側のh2装飾を解除 */
#main-column #kenyuu-onkatsu h2 {
  border-top: none;
  border-bottom: none;
  padding: 0;
}
#main-column #kenyuu-onkatsu h2.section-title { padding-bottom: 12px; }
#main-column #kenyuu-onkatsu h2.category-heading { padding-bottom: 7px; }
/* LP最下部の企業紹介 */
#kenyuu-onkatsu .onkatsu-about-footer {
  display: flow-root;
  position: static;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 30px 0;
  background: #fff;
  text-align: center;
}
#kenyuu-onkatsu .onkatsu-about-footer img {
  display: block;
  position: static;
  float: none;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 767px) {
  #kenyuu-onkatsu .hero-cta { left: 12%; right: 12%; bottom: 3.5%; height: 12%; }
}
@media (max-width: 640px) {
  #kenyuu-onkatsu .inner,#kenyuu-onkatsu .category .inner { width: 91%; }
  #kenyuu-onkatsu .section { padding: 32px 0; }
  #kenyuu-onkatsu .section-title { font-size: 24px; }
  #kenyuu-onkatsu .reviews-grid { padding: 0 6%; }
  #kenyuu-onkatsu .review { padding: 20px 0; }
  #kenyuu-onkatsu .scene-card { padding: 10px; gap: 10px; flex-direction: column; align-items: stretch; }
  #kenyuu-onkatsu .scene-card .photo { width: 100%; flex: none; }
  #kenyuu-onkatsu .scene-text { text-align: center; }
  #kenyuu-onkatsu .scene-card h3 { font-size: 17px; margin-bottom: 4px; }
  #kenyuu-onkatsu .scenes-grid { gap: 12px; }
  #kenyuu-onkatsu .points-grid { gap: 24px; grid-template-columns: minmax(0,1fr); }
  #kenyuu-onkatsu .point h3 { font-size: 18px; }
  #kenyuu-onkatsu .nav-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #kenyuu-onkatsu .nav-grid a { font-size: 17px; min-height: 76px; }
  #kenyuu-onkatsu .category-heading { font-size: 22px; }

  #kenyuu-onkatsu .products-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #kenyuu-onkatsu .product { padding: 20px; border-radius: 12px; }
  #kenyuu-onkatsu .product h4 { font-size: 20px; }
  #kenyuu-onkatsu .product p { font-size: 16px; }
  #kenyuu-onkatsu .btn { font-size: 16px; padding: 12px 16px; line-height: 1.4; }
  #kenyuu-onkatsu .shop-heading .heading-small { font-size: .72em; }
  #kenyuu-onkatsu .shop-heading .heading-large { font-size: 1.08em; }
}

/* ショップサーブの本文行間指定よりLPの基準を優先 */
#kenyuu-onkatsu p,
#kenyuu-onkatsu .scene-card h3,
#kenyuu-onkatsu .product h4,
#kenyuu-onkatsu .review h3,
#kenyuu-onkatsu .category-heading,
#kenyuu-onkatsu .nav-grid a { line-height: 1.4; }

/* =====================================
   修正後の温活LP：PC表示の横幅拡張
===================================== */
@media screen and (min-width: 1024px) {
  #contents:has(#kenyuu-onkatsu) #main-column { float: none !important; width: 1100px !important; max-width: 100% !important; margin: 0 auto !important; }
  #contents:has(#kenyuu-onkatsu) #Journal { width: 100% !important; }
  #kenyuu-onkatsu { width: 100% !important; max-width: 1100px !important; }
}