* { box-sizing: border-box; }
.kk-wrap { max-width: 900px; margin: 0 auto; background: #faf8f3; color: #3a3530; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; }
.kk-hero { background: #f5f0e8; padding: 60px 40px; border-bottom: 1px solid #e0d9cd; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; }
.kk-hero-sub { font-size: 13px; letter-spacing: 0.15em; color: #8a7d6e; margin-bottom: 16px; }
.kk-hero-main { font-size: 28px; font-weight: 900; line-height: 1.7; color: #2e2820; margin-bottom: 16px; }
.kk-hero-desc { font-size: 15px; color: #5a4e42; line-height: 1.9; margin-bottom: 28px; }
.kk-hero-img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; border-radius: 16px; display: block; }
.kk-btn-line { display: inline-flex; align-items: center; gap: 8px; background: #4a7c59; color: #fff; padding: 14px 28px; border-radius: 40px; font-size: 15px; font-weight: 700; text-decoration: none; margin: 4px 4px 4px 0; }
.kk-btn-form { display: inline-flex; align-items: center; gap: 8px; background: transparent; color: #4a7c59; padding: 13px 24px; border-radius: 40px; font-size: 15px; font-weight: 700; border: 2px solid #4a7c59; text-decoration: none; margin: 4px; }
.kk-features { padding: 60px 40px; background: #fff; border-bottom: 1px solid #e8e2d8; }
.kk-section-label { font-size: 13px; letter-spacing: 0.2em; color: #9a8d7e; margin-bottom: 10px; }
.kk-section-title { font-size: 24px; font-weight: 900; color: #2e2820; margin-bottom: 36px; line-height: 1.6; }
.kk-feat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.kk-feat-card { background: #faf8f3; border: 1px solid #e5dfd5; border-radius: 12px; padding: 22px; }
.kk-feat-title { font-size: 16px; font-weight: 900; color: #2e2820; margin-bottom: 6px; }
.kk-feat-body { font-size: 14px; color: #5a4e42; line-height: 1.8; }
.kk-price-bar { background: #4a7c59; color: #fff; padding: 36px 40px; text-align: center; }
.kk-price-main { font-size: 28px; font-weight: 900; margin-bottom: 8px; }
.kk-price-note { font-size: 15px; opacity: 0.9; }
.kk-price-refund { font-size: 15px; margin-top: 12px; border-top: 1px solid rgba(255,255,255,0.3); padding-top: 12px; }
.kk-cta { padding: 50px 40px; text-align: center; background: #faf8f3; border-bottom: 1px solid #e8e2d8; }
.kk-cta-note { font-size: 16px; color: #5a4e42; margin-bottom: 20px; }
.kk-worries { padding: 60px 40px; background: #fff; border-bottom: 1px solid #e8e2d8; }
.kk-worry-list { list-style: none; }
.kk-worry-list li { padding: 16px 0; border-bottom: 1px solid #eee7dd; font-size: 16px; color: #3a2e22; line-height: 1.7; display: flex; align-items: flex-start; gap: 12px; }
.kk-worry-list li:last-child { border-bottom: none; }
.kk-check { color: #c0856e; font-size: 18px; flex-shrink: 0; margin-top: 2px; }
.kk-scenes { padding: 60px 40px; background: #faf8f3; border-bottom: 1px solid #e8e2d8; }
.kk-scene-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; }
.kk-scene-card { background: #fff; border: 1px solid #e5dfd5; border-radius: 12px; overflow: hidden; }
.kk-scene-img { width: 100%; height: 180px; object-fit: cover; display: block; }
.kk-scene-text { padding: 18px 20px; }
.kk-scene-title { font-size: 16px; font-weight: 900; color: #4a7c59; margin-bottom: 8px; }
.kk-scene-body { font-size: 14px; color: #5a4e42; line-height: 1.8; }
.kk-cta2 { padding: 60px 40px; text-align: center; background: #f5f0e8; }
.kk-cta2-title { font-size: 24px; font-weight: 900; color: #2e2820; margin-bottom: 10px; }
.kk-cta2-sub { font-size: 16px; color: #5a4e42; margin-bottom: 28px; }
.kk-cases { padding: 50px 40px; background: #fff; }
.kk-case-list { list-style: none; margin-top: 24px; }
.kk-case-list li { padding: 16px 0; border-bottom: 1px solid #eee7dd; font-size: 15px; }
.kk-case-list li:last-child { border-bottom: none; }
.kk-case-link { color: #4a7c59; text-decoration: none; }
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700;900&display=swap');

/* SWELLの不要要素を非表示 */
#main_visual,
#post_slider,
#sidebar,
.l-sidebar { display: none !important; }

/* サイドバーなしの全幅レイアウト */
.l-content { grid-template-columns: 1fr !important; }
.l-mainContent { max-width: 100% !important; width: 100% !important; }
.l-article { padding: 0 !important; max-width: 100% !important; }
