:root{
  --lp-green:#55b77a;
  --lp-green-dark:#2f8f5f;
  --lp-green-deep:#2f6f54;
  --lp-green-pale:#eefaf2;
  --lp-gold:#d3af63;
  --lp-gold-dark:#8a6a2a;
  --lp-gold-pale:#fff8ee;
  --lp-ink:#3b4a41;
  --lp-muted:#6e7d75;
  --lp-line:#deebe3;
  --lp-page:#fffdfa;
  --lp-white:#fff;
  --lp-shadow:0 10px 28px rgba(86,150,112,.10);
  --lp-radius:16px;
  --lp-content:760px;
  --lp-wide:1120px;
}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.aidea-generic-lp-page{
  margin:0;
  padding:0 0 calc(78px + env(safe-area-inset-bottom));
  color:var(--lp-ink);
  background:var(--lp-page);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo",sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:anywhere;
}
.aidea-lp-canvas{width:100%;min-height:100vh;overflow:hidden}
.aidea-lp-canvas > *:not(.alignfull):not(.alignwide){width:min(calc(100% - 28px),var(--lp-content));margin-left:auto;margin-right:auto}
.aidea-lp-canvas > .alignwide{width:min(calc(100% - 28px),var(--lp-wide));margin-left:auto;margin-right:auto}
.aidea-lp-canvas > .alignfull{width:100%;margin-left:0;margin-right:0}
.aidea-lp-canvas img{max-width:100%;height:auto}
.aidea-lp-canvas a{-webkit-tap-highlight-color:rgba(85,183,122,.18);touch-action:manipulation}
.aidea-lp-canvas h1,.aidea-lp-canvas h2,.aidea-lp-canvas h3{line-height:1.42;color:var(--lp-ink)}
.aidea-lp-canvas h1{font-size:clamp(30px,8vw,48px)}
.aidea-lp-canvas h2{font-size:clamp(24px,6vw,34px)}
.aidea-lp-canvas h3{font-size:clamp(20px,5vw,26px)}
.aidea-lp-canvas .wp-block-button__link{
  min-height:52px;display:inline-flex;align-items:center;justify-content:center;
  padding:12px 22px;border-radius:12px;background:var(--lp-green);color:#fff;
  font-weight:800;box-shadow:0 8px 20px rgba(85,183,122,.22);text-decoration:none
}
.aidea-lp-canvas .is-style-outline>.wp-block-button__link{background:#fff;color:var(--lp-green-dark);border-color:var(--lp-green);box-shadow:none}
.lp-section{padding:54px 18px}
.lp-section-compact{padding:34px 18px}
.lp-hero{
  padding:calc(42px + env(safe-area-inset-top)) 18px 46px;
  background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.78),transparent 28%),linear-gradient(145deg,#f4fff7 0%,#e8f8ee 48%,#d8f0e2 100%);
  border-bottom:1px solid rgba(85,183,122,.14)
}
.lp-hero>*{max-width:760px;margin-left:auto!important;margin-right:auto!important}
.lp-center{text-align:center}
.lp-lead{max-width:680px;color:var(--lp-muted);font-size:1.03em}
.lp-eyebrow{display:inline-block;padding:5px 12px;border:1px solid rgba(47,143,95,.18);border-radius:999px;background:rgba(255,255,255,.78);color:var(--lp-green-dark);font-size:13px;font-weight:800}
.lp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:430px!important;margin-top:18px!important}
.lp-fact{display:grid;place-items:center;min-height:38px;margin:0!important;padding:6px 8px;border:1px solid rgba(85,183,122,.16);border-radius:10px;background:rgba(255,255,255,.78);font-size:13px;font-weight:800;text-align:center}
.lp-card{padding:24px 20px;border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:#fff;box-shadow:var(--lp-shadow)}
.lp-soft{background:var(--lp-green-pale)}
.lp-gold{background:var(--lp-gold-pale);border-left:4px solid var(--lp-gold)}
.lp-muted{color:var(--lp-muted)}
.lp-kicker{margin-bottom:6px!important;color:var(--lp-gold-dark);font-size:12px;font-weight:900;letter-spacing:.10em}
.lp-course-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  grid-auto-rows:auto;
  align-items:start;
  gap:18px;
  width:100%!important;
  max-width:none!important;
}
.lp-course-card{
  position:relative;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  align-self:start;
  padding:24px 20px;
  border:1px solid var(--lp-line);
  border-radius:var(--lp-radius);
  background:#fff;
  box-shadow:var(--lp-shadow)
}
.lp-course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:var(--lp-radius) var(--lp-radius) 0 0;background:linear-gradient(90deg,var(--lp-green),#8dd1a6,var(--lp-gold))}
.lp-course-card h2,.lp-course-card h3{color:var(--lp-green-deep)}
.lp-check-list{padding-left:1.25em}
.lp-check-list li{margin:.55em 0;padding-left:.15em}
.lp-check-list li::marker{color:var(--lp-green)}
.lp-step-flow{padding:14px 16px;border:1px solid rgba(85,183,122,.16);border-radius:12px;background:var(--lp-green-pale);color:var(--lp-green-deep);font-weight:800;text-align:center}
.lp-takeaway{padding:18px;border-left:4px solid var(--lp-gold);border-radius:12px;background:var(--lp-gold-pale)}
.lp-apply{padding:26px 20px;border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:linear-gradient(145deg,#fff 0%,#f3fcf6 100%);box-shadow:var(--lp-shadow);text-align:center}
.lp-notice{padding:22px 20px;border:1px solid var(--lp-line);border-left:4px solid var(--lp-gold);border-radius:var(--lp-radius);background:#fff;box-shadow:var(--lp-shadow)}
.lp-profile{display:grid;gap:18px;align-items:center;padding:22px 20px;border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:#fff;box-shadow:var(--lp-shadow)}
.lp-portrait{display:grid;place-items:center;width:112px;height:112px;margin:auto;border:1px solid var(--lp-line);border-radius:50%;background:linear-gradient(135deg,var(--lp-green-pale),var(--lp-gold-pale));color:var(--lp-green-dark);font-size:13px;font-weight:800;text-align:center;overflow:hidden}
.lp-profile-copy{margin:0;color:var(--lp-muted)}
.lp-bottom-cta{padding:28px 20px;border:1px solid var(--lp-line);border-radius:var(--lp-radius);background:linear-gradient(145deg,#f8fff9 0%,#e9f8ee 100%);text-align:center;box-shadow:var(--lp-shadow)}
.lp-sticky-cta{position:fixed;z-index:1000;right:0;bottom:0;left:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(85,183,122,.16);background:rgba(255,253,250,.96);box-shadow:0 -6px 22px rgba(86,150,112,.10);backdrop-filter:blur(12px)}
.lp-sticky-cta .wp-block-buttons{margin:0!important}
.lp-sticky-cta .wp-block-button{width:min(100%,720px);margin:auto}
.lp-sticky-cta .wp-block-button__link{width:100%;min-height:50px;padding:10px 14px}
.lp-spacer-small{height:16px!important}
.lp-course-grid.is-layout-constrained > .lp-course-card,
.lp-course-grid > .lp-course-card{
  width:100%!important;
  max-width:none!important;
  margin-block-start:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
@media(min-width:620px){
  body.aidea-generic-lp-page{font-size:17px}
  .lp-facts{grid-template-columns:repeat(4,minmax(0,1fr));max-width:650px!important}
  .lp-profile{grid-template-columns:120px 1fr}
  .lp-portrait{margin:0}
}
@media(min-width:760px){
  .lp-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .lp-course-grid > .lp-course-card{align-self:stretch}
  .lp-section{padding-top:72px;padding-bottom:72px}
}
@media(min-width:960px){
  body.aidea-generic-lp-page{padding-bottom:0}
  .lp-sticky-cta{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* v1.5: LP内ナビゲーションと講座概要バッジの安定表示 */
.lp-back-nav{
  width:min(100%,760px)!important;
  margin:0 auto 18px!important;
}
.lp-back-nav .wp-block-buttons{
  justify-content:flex-start!important;
}
.lp-back-nav .wp-block-button__link{
  min-height:40px!important;
  padding:8px 14px!important;
  border:1px solid rgba(47,143,95,.24)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  color:var(--lp-green-dark)!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
}
.lp-facts.is-layout-constrained > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
@media(min-width:620px){
  .aidea-lp-canvas .lp-hero .lp-facts{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:stretch!important;
    justify-content:center!important;
    width:min(100%,650px)!important;
    max-width:650px!important;
    gap:8px!important;
  }
  .aidea-lp-canvas .lp-hero .lp-facts > .lp-fact{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* v1.5.4: WordPressが自動挿入する内側コンテナをレイアウト対象にする */
.aidea-lp-canvas .lp-hero .wp-block-group.lp-facts{
  display:block!important;
  width:min(100%,650px)!important;
  max-width:650px!important;
  margin:18px auto 0!important;
}
.aidea-lp-canvas .lp-hero .wp-block-group.lp-facts > .wp-block-group__inner-container{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.aidea-lp-canvas .lp-hero .wp-block-group.lp-facts > .wp-block-group__inner-container > p.lp-fact{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:38px!important;
  margin:0!important;
  padding:6px 10px!important;
  white-space:nowrap!important;
  font-size:13px!important;
  line-height:1.35!important;
}
@media(max-width:480px){
  .aidea-lp-canvas .lp-hero .wp-block-group.lp-facts{
    width:min(100%,300px)!important;
    max-width:300px!important;
  }
  .aidea-lp-canvas .lp-hero .wp-block-group.lp-facts > .wp-block-group__inner-container{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  .aidea-lp-canvas .lp-hero .wp-block-group.lp-facts > .wp-block-group__inner-container > p.lp-fact{
    padding:7px 12px!important;
  }
}


/* v1.5.5: WordPressが自動挿入する講座一覧の内側コンテナをグリッド化 */
.aidea-lp-canvas .wp-block-group.lp-course-grid{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.aidea-lp-canvas .wp-block-group.lp-course-grid > .wp-block-group__inner-container{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:18px!important;
  width:min(100%,560px)!important;
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
}
.aidea-lp-canvas .wp-block-group.lp-course-grid > .wp-block-group__inner-container > .wp-block-group.lp-course-card{
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
}
.aidea-lp-canvas .wp-block-group.lp-course-grid > .wp-block-group__inner-container > .wp-block-group.lp-course-card > .wp-block-group__inner-container{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.aidea-lp-canvas .wp-block-group.lp-course-grid > .wp-block-group__inner-container > .wp-block-group.lp-course-card > .wp-block-group__inner-container > .wp-block-buttons{
  margin-top:auto!important;
}
@media(min-width:481px){
  .aidea-lp-canvas .wp-block-group.lp-course-grid > .wp-block-group__inner-container{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:none!important;
  }
}
@media(max-width:480px){
  .aidea-lp-canvas .wp-block-group.lp-course-grid > .wp-block-group__inner-container{
    grid-template-columns:minmax(0,1fr)!important;
    width:min(100%,560px)!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v1.5.6: 講座カードは481px以上で2列、480px以下で中央1列 */


/* v1.5.7: 講師紹介をページ中央に収め、WordPressの内側コンテナを2列化 */
.aidea-lp-canvas .wp-block-group.lp-profile{
  display:block!important;
  width:min(calc(100% - 28px),900px)!important;
  max-width:900px!important;
  margin:32px auto 0!important;
  padding:28px 32px!important;
}
.aidea-lp-canvas .wp-block-group.lp-profile > .wp-block-group__inner-container{
  display:grid!important;
  grid-template-columns:140px minmax(0,1fr)!important;
  gap:30px!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.aidea-lp-canvas .wp-block-group.lp-profile .lp-portrait{
  margin:auto!important;
}
.aidea-lp-canvas .wp-block-group.lp-profile .lp-profile-text{
  width:100%!important;
  max-width:660px!important;
  margin:0!important;
}
@media(max-width:619px){
  .aidea-lp-canvas .wp-block-group.lp-profile{
    width:min(calc(100% - 28px),560px)!important;
    padding:24px 20px!important;
  }
  .aidea-lp-canvas .wp-block-group.lp-profile > .wp-block-group__inner-container{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .aidea-lp-canvas .wp-block-group.lp-profile .lp-profile-text{
    max-width:none!important;
  }
  .aidea-lp-canvas .wp-block-group.lp-profile .lp-profile-text h2{
    text-align:center!important;
  }
}


/* v1.5.8: CTAを合意済みの明るいグリーン仕様へ固定。
   Arkhe親テーマ側のボタン色指定より優先し、LP内の通常CTAを統一する。 */
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > a.wp-block-button__link,
body.aidea-generic-lp-page .aidea-lp-canvas a.wp-element-button.wp-block-button__link {
  background:#55b77a !important;
  background-color:#55b77a !important;
  color:#ffffff !important;
  border:0 !important;
  border-radius:12px !important;
  box-shadow:0 8px 20px rgba(85,183,122,.22) !important;
  text-decoration:none !important;
}
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible {
  background:#49a96f !important;
  background-color:#49a96f !important;
  color:#ffffff !important;
}
body.aidea-generic-lp-page .aidea-lp-canvas .is-style-outline > .wp-block-button__link,
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button.is-style-outline > a.wp-block-button__link {
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#2f8f5f !important;
  border:1px solid #55b77a !important;
  box-shadow:none !important;
}
/* 戻る導線は既存の白いピル型を維持 */
body.aidea-generic-lp-page .aidea-lp-canvas .lp-back-nav .wp-block-button__link {
  background:rgba(255,255,255,.82) !important;
  background-color:rgba(255,255,255,.82) !important;
  color:#2f8f5f !important;
  border:1px solid rgba(47,143,95,.24) !important;
  box-shadow:none !important;
}


/* v1.5.9: 通常CTAの右側に上向きの手袋風タップアイコンを表示。 */
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > .wp-block-button__link::after,
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > a.wp-block-button__link::after {
  content:"";
  display:inline-block;
  width:32px;
  height:32px;
  margin-left:10px;
  flex:0 0 32px;
  background:url('../images/cta-hand-up.png') center center / contain no-repeat;
  vertical-align:middle;
  transform:translateY(1px);
}
/* 戻る導線・アウトラインボタンには表示しない。 */
body.aidea-generic-lp-page .aidea-lp-canvas .lp-back-nav .wp-block-button__link::after,
body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button.is-style-outline > .wp-block-button__link::after {
  content:none!important;
  display:none!important;
}
@media(max-width:480px){
  body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > .wp-block-button__link::after,
  body.aidea-generic-lp-page .aidea-lp-canvas .wp-block-button:not(.is-style-outline) > a.wp-block-button__link::after {
    width:28px;
    height:28px;
    flex-basis:28px;
    margin-left:8px;
  }
}
