/*
Theme Name: Komenuka Okinawa Wellness LP
Theme URI: https://ricebran.jp/
Author: FUJIACA / OpenAI
Description: 米糠健康普及会 沖縄支部向け LP型 WordPressテーマ
Version: 4.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: komenuka-okinawa
*/

:root{
  --blue:#00a7c8;
  --deep-blue:#007fa3;
  --green:#06c755;
  --sand:#f7f1e5;
  --brown:#7a5632;
  --text:#2f2f2f;
  --white:#ffffff;
}

*{box-sizing:border-box;}

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  color:var(--text);
  background:#fffaf2;
  line-height:1.8;
}

a{color:inherit;}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.header-inner{
  max-width:1180px;
  margin:auto;
  padding:14px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.logo{
  font-weight:800;
  color:var(--deep-blue);
  letter-spacing:.04em;
  text-decoration:none;
}

.header-cta{
  display:inline-block;
  background:var(--green);
  color:#fff;
  padding:9px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
}

.hero{
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#00a7c8 0%,#62d2bd 55%,#f5e2b8 100%);
  overflow:hidden;
}

.hero.has-image{
  background-size:cover;
  background-position:center;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,62,81,.70),rgba(0,0,0,.18));
}

.hero-inner{
  position:relative;
  z-index:2;
  max-width:1180px;
  width:100%;
  margin:auto;
  padding:90px 20px;
  color:#fff;
}

.hero-copy{
  max-width:720px;
}

.badge{
  display:inline-block;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.38);
  padding:6px 16px;
  border-radius:999px;
  font-weight:700;
  margin-bottom:18px;
}

.hero h1{
  font-size:clamp(36px,6vw,68px);
  line-height:1.2;
  margin:0 0 20px;
  letter-spacing:.04em;
}

.hero-lead{
  font-size:clamp(17px,2vw,23px);
  margin-bottom:30px;
}

.cta-row{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.btn{
  display:inline-block;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 10px 24px rgba(0,0,0,.15);
}

.btn-line{background:var(--green);color:#fff;}
.btn-light{background:#fff;color:var(--deep-blue);}

.section{
  padding:82px 20px;
}

.section-inner{
  max-width:1180px;
  margin:auto;
}

.section-title{
  text-align:center;
  margin-bottom:42px;
}

.section-title span{
  color:var(--blue);
  font-weight:800;
  letter-spacing:.12em;
  font-size:14px;
}

.section-title h2{
  font-size:clamp(28px,4vw,42px);
  margin:8px 0 0;
}

.problem-grid,
.product-grid,
.voice-grid,
.feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
}

.card{
  background:#fff;
  border-radius:22px;
  padding:28px;
  box-shadow:0 12px 30px rgba(52,39,15,.08);
  border:1px solid rgba(122,86,50,.08);
}

.problem-card{
  font-weight:800;
  font-size:20px;
}

.problem-card small{
  display:block;
  margin-top:8px;
  font-weight:400;
  font-size:14px;
  color:#666;
}

.bg-sand{background:var(--sand);}

.feature-card h3,
.product-card h3{
  color:var(--deep-blue);
  margin-top:0;
}

.product-note{
  font-size:13px;
  color:#666;
  background:#f7f7f7;
  padding:12px;
  border-radius:12px;
}

.profile-box{
  display:grid;
  grid-template-columns:minmax(260px,420px) 1fr;
  gap:44px;
  align-items:center;
}

.profile-image{
  min-height:380px;
  border-radius:28px;
  background:linear-gradient(135deg,#bdeee9,#f7dca6);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--deep-blue);
  font-weight:800;
  text-align:center;
  padding:20px;
  box-shadow:0 16px 35px rgba(0,0,0,.12);
}

.profile-image.has-image{
  background-size:cover;
  background-position:center;
}

.profile-text h2{
  font-size:clamp(28px,4vw,42px);
  color:var(--brown);
  margin-top:0;
}

.voice-card{
  border-left:6px solid var(--blue);
}

.voice-card strong{
  display:block;
  margin-top:12px;
  color:var(--brown);
}

.faq details{
  background:#fff;
  border-radius:16px;
  padding:18px 22px;
  margin-bottom:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.faq summary{
  cursor:pointer;
  font-weight:800;
}

.final-cta{
  background:linear-gradient(135deg,var(--deep-blue),#1dbda4);
  color:#fff;
  text-align:center;
  border-radius:32px;
  padding:54px 24px;
}

.site-footer{
  padding:36px 20px 88px;
  background:#153f4a;
  color:#fff;
  text-align:center;
}

.fixed-cta{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  display:none;
  z-index:999;
}

.fixed-cta a{
  flex:1;
  text-align:center;
  padding:15px 8px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
}

.fixed-line{background:var(--green);}
.fixed-call{background:var(--deep-blue);}

@media(max-width:768px){
  .header-inner{padding:12px 16px;}
  .hero{min-height:78vh;}
  .hero-inner{padding:70px 20px;}
  .profile-box{grid-template-columns:1fr;}
  .profile-image{min-height:280px;}
  .fixed-cta{display:flex;}
  .site-footer{padding-bottom:96px;}
}
