@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

 .endo-page { max-width: 960px; margin: 0 auto; padding: 20px; font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ", sans-serif; color: #333; line-height: 1.9; }
  .endo-page h1 { font-size: 2em; color: #1a5c3a; border-bottom: 3px solid #1a5c3a; padding-bottom: 12px; margin-bottom: 30px; }
  .endo-page h2 { font-size: 1.5em; color: #1a5c3a; border-left: 5px solid #2e8b57; padding-left: 15px; margin-top: 50px; margin-bottom: 20px; }
  .endo-page h3 { font-size: 1.2em; color: #2e7d32; margin-top: 30px; margin-bottom: 12px; }
  .endo-page p { margin-bottom: 18px; font-size: 16px; }
  .endo-lead { font-size: 18px !important; color: #555; background: #f0f8f0; padding: 25px; border-radius: 8px; margin-bottom: 35px; }
  .endo-hero-img { width: 100%; max-width: 720px; display: block; margin: 0 auto 10px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.12); }
  .endo-caption { text-align: center; font-size: 14px; color: #777; margin-bottom: 35px; }
  .endo-flow { counter-reset: flow-step; }
  .endo-flow-step { position: relative; background: #fff; border: 1px solid #dde9dd; border-radius: 10px; padding: 25px 25px 25px 80px; margin-bottom: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
  .endo-flow-step::before { counter-increment: flow-step; content: "STEP " counter(flow-step); position: absolute; left: 20px; top: 25px; background: #1a5c3a; color: #fff; font-size: 12px; font-weight: bold; padding: 4px 10px; border-radius: 4px; letter-spacing: 0.5px; }
  .endo-flow-step h3 { margin-top: 0; }
  .endo-table { width: 100%; border-collapse: collapse; margin: 20px 0 30px; font-size: 15px; }
  .endo-table th { background: #1a5c3a; color: #fff; padding: 12px 16px; text-align: left; font-weight: 600; }
  .endo-table td { padding: 12px 16px; border-bottom: 1px solid #e0e0e0; }
  .endo-table tr:nth-child(even) td { background: #f8faf8; }
  .endo-highlight { background: linear-gradient(135deg, #e8f5e9 0%, #f1f8e9 100%); border-left: 4px solid #2e8b57; padding: 20px 25px; border-radius: 0 8px 8px 0; margin: 25px 0; }
  .endo-highlight strong { color: #1a5c3a; }
  .endo-case { background: #fafafa; border: 1px solid #e0e0e0; border-radius: 10px; padding: 25px; margin-bottom: 25px; }
  .endo-case-title { font-size: 1.1em; font-weight: bold; color: #1a5c3a; margin-bottom: 10px; }
  .endo-check-list { list-style: none; padding-left: 0; }
  .endo-check-list li { position: relative; padding-left: 30px; margin-bottom: 10px; }
  .endo-check-list li::before { content: "✓"; position: absolute; left: 0; color: #2e8b57; font-weight: bold; font-size: 18px; }
  .endo-symptoms { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin: 20px 0 30px; }
  .endo-symptom-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 8px; padding: 18px; text-align: center; box-shadow: 0 2px 6px rgba(0,0,0,0.04); }
  .endo-symptom-card .icon { font-size: 28px; margin-bottom: 8px; }
  .endo-symptom-card .text { font-size: 14px; color: #555; }
  .endo-cta { background: linear-gradient(135deg, #1a5c3a 0%, #2e8b57 100%); color: #fff; text-align: center; padding: 40px 30px; border-radius: 10px; margin-top: 50px; }
  .endo-cta h2 { color: #fff !important; border-left: none !important; padding-left: 0 !important; margin-top: 0; }
  .endo-cta p { color: #e0f0e0; }
  .endo-cta a { display: inline-block; background: #fff; color: #1a5c3a; padding: 14px 40px; border-radius: 50px; text-decoration: none; font-weight: bold; font-size: 16px; margin-top: 15px; transition: transform 0.2s; }
  .endo-cta a:hover { transform: scale(1.05); }
  .endo-doctor { display: flex; align-items: flex-start; gap: 25px; background: #f8faf8; padding: 25px; border-radius: 10px; margin: 30px 0; }
  .endo-doctor-info h3 { margin-top: 0; }
  @media (max-width: 600px) {
    .endo-page h1 { font-size: 1.5em; }
    .endo-flow-step { padding-left: 25px; padding-top: 55px; }
    .endo-flow-step::before { top: 15px; left: 15px; }
    .endo-doctor { flex-direction: column; }
  }