body.page-template-page-lp-v3-php,
body.page-template-page-lpv3-detail-php{
  margin:0;
  padding:0;
}

body.page-template-page-lp-v3-php .site-content,
body.page-template-page-lp-v3-php .content-area,
body.page-template-page-lp-v3-php .site-main,
body.page-template-page-lpv3-detail-php .site-content,
body.page-template-page-lpv3-detail-php .content-area,
body.page-template-page-lpv3-detail-php .site-main{
  margin:0 !important;
  padding:0 !important;
  max-width:none !important;
  width:100% !important;
}

body.page-template-page-lp-v3-php header.site-header,
body.page-template-page-lpv3-detail-php header.site-header{
  display:none !important;
}

.lp-v3{
  box-sizing:border-box;

  --bg:#0b4f8a;
  --bg-deep:#083b66;

  --ink:rgba(0,0,0,.90);
  --muted:rgba(0,0,0,.62);

  --sheet:rgba(255,255,255,.96);

  --radius-lg:26px;
  --radius-md:16px;

  --shadow-soft:0 12px 30px rgba(0,0,0,.18);
  --shadow-card:0 10px 22px rgba(0,0,0,.10);

  --pad-x:18px;

  --frame-blue:rgba(74,171,255,.95);
  --frame-blue-soft:rgba(74,171,255,.22);
  --frame-gutter:12px;
  --sheet-max:1080px;

  position:relative;
  width:100%;
  overflow-x:hidden;

  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Hiragino Sans','Noto Sans JP','Helvetica Neue',Arial;
  isolation:isolate;
}

.lp-v3 :where(div,section,main,article,header,footer,nav,aside,figure,figcaption,ol,ul,li,p,h1,h2,h3,h4,h5,h6,span,a,button,summary,details,img,table,thead,tbody,tr,th,td,form,label,input,select,textarea,blockquote){
  box-sizing:border-box;
}

.lp-v3 a:focus-visible,
.lp-v3 button:focus-visible,
.lp-v3 summary:focus-visible{
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:3px;
}

.lp-v3::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-2;

  background-color:var(--bg-deep);
  background-image:url('../img/lp-v3/hero-720w.webp');
  background-image:image-set(
    url('../img/lp-v3/hero-720w.webp') 1x,
    url('../img/lp-v3/hero-1080w.webp') 2x
  );

  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;

  pointer-events:none;
}

.lp-v3::after{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;

  background:
    linear-gradient(90deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,0) 72%),
    linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,0) 45%,rgba(0,0,0,.10) 100%);
}

@media (min-width:960px){
  .lp-v3::before{
    background-image:url('../img/lp-v3/hero-pc-2048w.webp');
    background-position:60% 45%;
  }
}

.lp-hero{
  position:relative;
  z-index:1;

  min-height:100vh;
  min-height:100svh;

  padding-top:28px;
  padding-left:var(--pad-x);
  padding-right:var(--pad-x);
  padding-bottom:52px;

  display:flex;
  align-items:center;
}

.lp-hero__inner{
  width:100%;
  max-width:760px;
}

.lp-kicker{
  display:inline-block;

  color:rgba(255,255,255,.92);
  font-weight:900;
  letter-spacing:.16em;
  font-size:12px;

  padding:8px 12px;
  border-radius:999px;

  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.18);
}

.lp-title{
  margin:14px 0 10px;

  color:rgba(255,255,255,.98);
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.02em;

  font-size:clamp(28px,6.4vw,52px);
  text-shadow:0 10px 30px rgba(0,0,0,.28);
}

.lp-subtitle{
  margin:0 0 16px;

  color:rgba(255,255,255,.92);
  line-height:1.75;
  font-size:15px;

  max-width:44em;
  text-shadow:0 10px 22px rgba(0,0,0,.22);
}

.lp-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:46px;
  padding:0 18px;

  border-radius:999px;
  text-decoration:none;

  color:rgba(255,255,255,.98);
  background:linear-gradient(135deg,rgba(19,125,210,1) 0%,rgba(10,88,160,1) 100%);
  box-shadow:0 14px 26px rgba(0,0,0,.22);

  font-weight:900;
  letter-spacing:.02em;
  transition:filter .18s ease,transform .18s ease;
}

@media (hover:hover){
  .lp-cta:hover{ filter:brightness(1.03); }
}
.lp-cta:active{ transform:translateY(1px); }

.lp-scroll-hint{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);

  color:rgba(255,255,255,.88);
  font-weight:900;
  letter-spacing:.18em;
  font-size:12px;
  opacity:.95;
}

.lp-scroll-hint::after{
  content:'';
  display:block;
  width:1px;
  height:22px;
  margin:8px auto 0;
  background:rgba(255,255,255,.70);
  animation:lpScroll 1.6s ease-in-out infinite;
}

@keyframes lpScroll{
  0%{ transform:translateY(0); opacity:.55; }
  50%{ transform:translateY(8px); opacity:1; }
  100%{ transform:translateY(0); opacity:.55; }
}

@media (prefers-reduced-motion:reduce){
  .lp-scroll-hint::after{ animation:none; }
  .lp-cta{ transition:none; }
}

.lp-v3--detail .lp-hero{
  min-height:72vh;
  min-height:72svh;
}

.lp-sheet{
  position:relative;
  z-index:2;

  background:var(--sheet);
  border-top-left-radius:var(--radius-lg);
  border-top-right-radius:var(--radius-lg);

  margin-top:-54px;
  padding:18px var(--pad-x) 42px;

  width:min(var(--sheet-max),calc(100% - (var(--frame-gutter) * 2)));
  margin-left:auto;
  margin-right:auto;

  border:1px solid rgba(255,255,255,.28);
  box-shadow:
    0 0 0 2px var(--frame-blue-soft),
    0 0 22px rgba(74,171,255,.14),
    var(--shadow-soft);
}

.lp-sheet__handle{
  width:62px;
  height:6px;
  border-radius:999px;
  background:rgba(0,0,0,.14);
  margin:6px auto 18px;
}

.lp-v3 :where(section,main,div,article)[id]{
  scroll-margin-top:14px;
}

.lp-tiles{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.lp-tile{
  display:block;
  text-decoration:none;
  color:inherit;

  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
  overflow:hidden;

  transform:translateZ(0);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}

@media (hover:hover){
  .lp-tile:hover{
    transform:translateY(-2px);
    filter:brightness(1.01);
  }
}

.lp-tile:active{ transform:scale(.99); }

.lp-tile__media{
  position:relative;
  width:100%;
  background:rgba(0,0,0,.06);
}

.lp-tile__media img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.lp-tile__media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(11,79,138,.14) 0%,rgba(0,0,0,0) 55%);
  pointer-events:none;
}

.lp-tile__body{
  padding:14px 14px 16px;
}

.lp-tile__title{
  margin:0 0 8px;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.35;
}

.lp-tile__desc{
  margin:0 0 12px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

.lp-tile__detail{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  height:34px;
  padding:0 14px;

  font-weight:900;
  letter-spacing:.14em;
  font-size:12px;
  color:rgba(11,79,138,.95);

  border:1px solid rgba(11,79,138,.28);
  border-radius:999px;
  background:rgba(11,79,138,.06);
}

.lp-feature{ margin-bottom:16px; }

.lp-section{
  margin-top:18px;
  padding:18px 16px;

  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
}

.lp-section__text{
  margin:0;
  color:rgba(0,0,0,.82);
  line-height:1.9;
  font-size:15px;
}

.lp-section__text > :first-child{ margin-top:0; }
.lp-section__text > :last-child{ margin-bottom:0; }

.lp-section__text h3,
.lp-section__text h4{
  margin:18px 0 10px;
  font-weight:900;
  letter-spacing:-.01em;
  color:rgba(0,0,0,.90);
}

.lp-section__text p{ margin:10px 0; }

.lp-section__text ul,
.lp-section__text ol{
  margin:10px 0 10px 1.2em;
  padding:0;
}

.lp-section__text li{ margin:6px 0; }

.lp-section__text a{
  color:rgba(11,79,138,1);
  text-decoration:underline;
  text-underline-offset:2px;
}

.lp-section__text img{
  max-width:100%;
  height:auto;
  border-radius:12px;
}

.lp-section__text blockquote{
  margin:14px 0;
  padding:12px 14px;
  border-left:4px solid rgba(11,79,138,.35);
  background:rgba(11,79,138,.06);
  border-radius:12px;
  color:rgba(0,0,0,.78);
}

.lp-section__text .wp-block-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.lp-section__text table{
  width:100%;
  border-collapse:collapse;
  margin:12px 0;
  overflow:hidden;
  border-radius:12px;
}

.lp-section__text th,
.lp-section__text td{
  border:1px solid rgba(0,0,0,.10);
  padding:10px 12px;
  vertical-align:top;
  background:rgba(255,255,255,.92);
}

.lp-section__text th{
  font-weight:900;
  background:rgba(11,79,138,.06);
}

.lp-section__text .wp-block-image{ margin:18px 0; }
.lp-section__text .wp-block-image img{ max-width:100%; height:auto; border-radius:12px; }

.lp-section__text .wp-element-caption{
  margin-top:8px;
  font-size:12px;
  color:rgba(0,0,0,.62);
}

.lp-v3 .lp-block{ margin:26px 0; }
.lp-v3 .lp-block__head{ margin:0 0 14px; }

.lp-v3 .lp-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(11,79,138,.20);
  background:rgba(11,79,138,.06);
  color:rgba(11,79,138,.95);
  font-weight:900;
  letter-spacing:.06em;
  font-size:12px;
}

.lp-v3 .lp-block__title{
  margin:0;
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.35;
  font-size:18px;
}

.lp-v3 .lp-block__lead{
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.8;
  font-size:14px;
}

.lp-v3 .lp-section__text h2{
  margin:22px 0 12px;
  padding:14px 14px;

  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.35;
  font-size:18px;

  border-radius:14px;
  background:#ff7a00;
  color:rgba(255,255,255,.98);

  box-shadow:0 12px 22px rgba(0,0,0,.14);
  text-wrap:balance;
}

.lp-v3 .lp-section__text h2 + p{
  margin-top:10px;
  padding:10px 12px;

  border-radius:12px;
  border:1px solid rgba(255,122,0,.18);
  background:rgba(255,122,0,.06);

  color:rgba(0,0,0,.80);
  line-height:1.95;
}

.lp-v3 .lp-callout{
  margin:14px 0 0;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-card);
}

.lp-v3 .lp-callout--primary{
  border-color:rgba(11,79,138,.16);
  background:rgba(11,79,138,.06);
}

.lp-v3 .lp-callout__title{
  margin:0 0 6px;
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
  color:rgba(11,79,138,.95);
}

.lp-v3 .lp-callout__text{
  margin:0;
  color:rgba(0,0,0,.80);
  line-height:1.9;
  font-size:14px;
}

.lp-v3 .lp-faq__list{
  display:grid;
  gap:10px;
}

.lp-v3 .lp-faq__item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.lp-v3 .lp-faq__item > summary::-webkit-details-marker{ display:none; }

.lp-v3 .lp-faq__q{
  cursor:pointer;
  list-style:none;
  padding:14px 44px 14px 14px;
  font-weight:900;
  line-height:1.6;
  position:relative;
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.lp-v3 .lp-faq__tag{
  flex:0 0 auto;
  margin-top:1px;
  height:22px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(11,79,138,.22);
  background:rgba(11,79,138,.08);
  color:rgba(11,79,138,.95);
  font-size:12px;
  letter-spacing:.06em;
}

.lp-v3 .lp-faq__q::after{
  content:'+';
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(11,79,138,.22);
  background:rgba(11,79,138,.08);
  color:rgba(11,79,138,.95);
  font-weight:900;
}

.lp-v3 .lp-faq__item[open] .lp-faq__q::after{ content:'–'; }

.lp-v3 .lp-faq__answer{
  padding:0 14px 14px;
  color:rgba(0,0,0,.78);
}

.lp-v3 .lp-faq__answer p{
  margin:8px 0 0;
  line-height:1.9;
  font-size:14px;
}

.lp-v3 .lp-faq__item[open]{ border-color:rgba(11,79,138,.18); }
.lp-v3 .lp-faq__item[open] .lp-faq__q{ background:rgba(11,79,138,.04); }

.lp-v3 .lp-waste__list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.lp-v3 .lp-waste__item{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.lp-v3 .lp-waste__item > summary::-webkit-details-marker{ display:none; }

.lp-v3 .lp-waste__q{
  cursor:pointer;
  list-style:none;
  padding:14px;
  position:relative;

  display:grid;
  gap:10px;

  font-weight:900;
  line-height:1.6;
}

.lp-v3 .lp-waste__qRow{
  display:flex;
  align-items:center;
  gap:10px;
}

.lp-v3 .lp-waste__tag{
  flex:0 0 auto;
  height:22px;
  padding:0 8px;
  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(11,79,138,.22);
  background:rgba(11,79,138,.08);
  color:rgba(11,79,138,.95);
  font-size:12px;
  letter-spacing:.06em;
}

.lp-v3 .lp-waste__qText{ font-size:15px; }

.lp-v3 .lp-waste__thumbWrap{
  width:100%;
  display:flex;
  justify-content:center;
}

.lp-v3 .lp-waste__thumb{
  width:min(240px,78vw);
  aspect-ratio:1 / 1;
  height:auto;
  display:block;
  object-fit:cover;

  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 22px rgba(0,0,0,.08);

  pointer-events:none;
}

.lp-v3 .lp-waste__a{
  padding:0 14px 14px;
  color:rgba(0,0,0,.78);
}

.lp-v3 .lp-waste__a p{
  margin:8px 0 0;
  line-height:1.9;
  font-size:14px;
}

.lp-v3 .lp-waste__item[open]{ border-color:rgba(11,79,138,.18); }
.lp-v3 .lp-waste__item[open] .lp-waste__q{ background:rgba(11,79,138,.04); }

.lp-v3 .lp-stepPeek__list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:12px;
}

.lp-v3 .lp-stepPeekItem{
  margin:0;
  padding:0;
}

.lp-v3 details.lp-stepPeek{
  position:relative;
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.lp-v3 details.lp-stepPeek::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:rgba(11,79,138,.50);
}

.lp-v3 .lp-stepPeek__sum{
  cursor:pointer;
  list-style:none;
  padding:14px;

  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

.lp-v3 .lp-stepPeek__sum::-webkit-details-marker{ display:none; }
.lp-v3 .lp-stepPeek__sum::marker{ content:''; }

.lp-v3 details.lp-stepPeek[open] > .lp-stepPeek__sum{
  background:rgba(11,79,138,.04);
}

.lp-v3 .lp-stepPeek__no{
  width:36px;
  height:36px;
  border-radius:999px;
  display:grid;
  place-items:center;

  font-weight:900;
  color:rgba(11,79,138,.95);
  background:rgba(11,79,138,.10);
  border:1px solid rgba(11,79,138,.22);

  font-size:12px;
  letter-spacing:.08em;
}

.lp-v3 .lp-stepPeek__main{
  min-width:0;
  display:block;
}

.lp-v3 .lp-stepPeek__title{
  display:block;
  margin:0 0 8px;

  font-size:16px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:-.01em;
  color:rgba(0,0,0,.90);
}

.lp-v3 .lp-stepPeek__peek{
  display:block;
  position:relative;
  max-height:2400px;
  overflow:hidden;
}

.lp-v3 details.lp-stepPeek:not([open]) .lp-stepPeek__peek{
  max-height:6.2em;
}

.lp-v3 details.lp-stepPeek:not([open]) .lp-stepPeek__peek::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:54px;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,.92) 70%,
    rgba(255,255,255,.92) 100%
  );
}

.lp-v3 .lp-stepPeek__text{
  display:block;
  margin:0;

  color:rgba(0,0,0,.80);
  line-height:1.9;
  font-size:14px;
}

.lp-v3 .lp-stepPeek__hint{
  display:inline-block;
  margin-top:8px;

  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  color:rgba(11,79,138,.85);
  opacity:.9;
}

.lp-v3 details.lp-stepPeek[open] .lp-stepPeek__hint{
  display:none;
}

.lp-v3 .lp-stepPeek__body{
  padding:0 14px 14px;
}

.lp-v3 .lp-stepPeek__support{
  margin-top:10px;
  border-radius:12px;
  border:1px solid rgba(11,79,138,.16);
  background:rgba(11,79,138,.06);
  padding:10px;
}

.lp-v3 .lp-stepPeek__supportLabel{
  margin:0 0 4px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(11,79,138,.95);
}

.lp-v3 .lp-stepPeek__supportText{
  margin:0;
  color:rgba(0,0,0,.78);
  line-height:1.85;
  font-size:13px;
}

.lp-v3 .lp-stepPeek__media{
  margin:12px 0 0;
  display:flex;
  justify-content:center;
}

.lp-v3 .lp-stepPeek__media img{
  width:min(520px,100%);
  height:auto;
  display:block;

  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}

.lp-v3 .lp-change__list{
  display:grid;
  gap:16px;
}

.lp-v3 .lp-change__item{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:16px;
  align-items:center;

  padding:14px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

.lp-v3 .lp-change__item:nth-child(even){
  grid-template-columns:1fr 160px;
}
.lp-v3 .lp-change__item:nth-child(even) .lp-change__img{ order:2; }
.lp-v3 .lp-change__item:nth-child(even) .lp-change__text{ order:1; }

.lp-v3 .lp-change__img img{
  width:100%;
  height:120px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}

.lp-v3 .lp-change__text p{
  margin:0;
  line-height:1.8;
}

@media (max-width:640px){
  .lp-v3 .lp-change__item{ grid-template-columns:1fr; }
  .lp-v3 .lp-change__item:nth-child(even){ grid-template-columns:1fr; }
  .lp-v3 .lp-change__item:nth-child(even) .lp-change__img,
  .lp-v3 .lp-change__item:nth-child(even) .lp-change__text{ order:initial; }
  .lp-v3 .lp-change__img img{ height:160px; }
}

.lp-v3 .wpcf7,
.lp-v3 .lp-form{
  position:relative;
  z-index:5;
}

.lp-v3 .lp-form{
  max-width:760px;
  margin:0 auto;
}

.lp-v3 .lp-form p{
  margin:0 0 16px;
}

.lp-v3 .lp-form label{
  display:block;
  font-weight:700;
  letter-spacing:.02em;
  color:rgba(10,32,74,.92);
}

.lp-v3 .lp-form .wpcf7-form-control-wrap{
  display:block;
  margin-top:8px;
}

.lp-v3 .lp-form input[type='text'],
.lp-v3 .lp-form input[type='email'],
.lp-v3 .lp-form input[type='url'],
.lp-v3 .lp-form input[type='tel'],
.lp-v3 .lp-form select,
.lp-v3 .lp-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid rgba(10,32,74,.22);
  border-radius:14px;
  background:rgba(255,255,255,.96);
  color:rgba(10,32,74,.92);
  line-height:1.5;
}

.lp-v3 .lp-form textarea{
  min-height:180px;
  resize:vertical;
}

.lp-v3 .lp-form ::placeholder{
  color:rgba(10,32,74,.42);
}

.lp-v3 .lp-form input:focus,
.lp-v3 .lp-form select:focus,
.lp-v3 .lp-form textarea:focus{
  outline:none;
  border-color:rgba(0,120,255,.55);
  box-shadow:0 0 0 3px rgba(0,120,255,.18);
}

.lp-v3 .lp-form .lp-formNote{
  display:block;
  margin:10px 0 8px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,235,0,.14);
  border:1px solid rgba(255,235,0,.28);
  color:rgba(10,32,74,.86);
  font-weight:600;
}

.lp-v3 .lp-form__accept{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(10,32,74,.18);
  background:rgba(255,255,255,.78);
}

.lp-v3 .lp-form__accept .wpcf7-form-control{
  display:inline-flex;
  align-items:flex-start;
  gap:10px;
  line-height:1.5;
}

.lp-v3 .lp-form__accept input[type='checkbox']{
  width:18px;
  height:18px;
  margin:2px 0 0;
}

.lp-v3 .lp-form__accept a{
  font-weight:800;
  text-decoration:underline;
}

.lp-v3 .lp-form__submit{
  margin-top:14px;
}

.lp-v3 .lp-form__submit .wpcf7-submit{
  display:inline-block;
  width:100%;
  max-width:340px;
  padding:14px 18px;
  border-radius:999px;

  border:2px solid rgba(0,120,255,.55);
  background:rgba(0,120,255,.92);
  color:#fff;

  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;

  box-shadow:0 10px 26px rgba(0,0,0,.12);
  pointer-events:auto !important;
  position:relative;
  z-index:6;
}

.lp-v3 .lp-form__submit .wpcf7-submit:hover{
  filter:brightness(1.03);
}

.lp-v3 .lp-form__submit .wpcf7-submit:focus{
  outline:none;
  box-shadow:0 0 0 4px rgba(0,120,255,.20),0 10px 26px rgba(0,0,0,.12);
}

.lp-v3 .wpcf7-response-output{
  margin:16px auto 0;
  max-width:760px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  line-height:1.6;
  background:rgba(255,255,255,.92);
}

.lp-v3 form.wpcf7-form.sent .wpcf7-response-output{
  border:2px solid rgba(0,140,60,.35);
  background:rgba(0,140,60,.08);
  color:rgba(0,80,35,.95);
}

.lp-v3 form.wpcf7-form.failed .wpcf7-response-output,
.lp-v3 form.wpcf7-form.spam .wpcf7-response-output{
  border:2px solid rgba(220,40,40,.35);
  background:rgba(220,40,40,.08);
  color:rgba(140,10,10,.95);
}

.lp-v3 form.wpcf7-form.invalid .wpcf7-response-output{
  border:2px solid rgba(240,160,0,.35);
  background:rgba(240,160,0,.10);
  color:rgba(120,70,0,.95);
}

.lp-v3 .wpcf7-not-valid-tip{
  margin-top:8px;
  font-weight:700;
}

.lp-v3 form.wpcf7-form.submitting .wpcf7-submit{
  opacity:.65;
  pointer-events:none;
  filter:saturate(.9);
}

.lp-v3 .wpcf7-spinner{
  display:inline-block;
  vertical-align:middle;
  margin-left:10px;
}

.lpv3-footer{
  padding:18px 0 28px;
}

.lpv3-footer__inner{
  width:min(1080px,calc(100% - 36px));
  margin:0 auto;
  display:flex;
  gap:18px;
  justify-content:center;
  align-items:center;
}

.lpv3-footer__link{
  color:rgba(255,255,255,.92);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:800;
}

.lpv3-footer__link:focus-visible{
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:3px;
  border-radius:8px;
}

.lp-v3 .lp-ctaWrap{
  margin:22px 0 6px;
  display:flex;
  justify-content:center;
}

.lp-v3 .lp-section__text a.lp-cta{
  text-decoration:none;
  color:rgba(255,255,255,.98);
}

.lp-v3 .lp-section__text .wp-block-button__link{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:46px;
  padding:0 18px;
  border-radius:999px;
  color:rgba(255,255,255,.98);
  background:linear-gradient(135deg,rgba(19,125,210,1) 0%,rgba(10,88,160,1) 100%);
  box-shadow:0 14px 26px rgba(0,0,0,.22);
  font-weight:900;
  letter-spacing:.02em;
  transition:filter .18s ease,transform .18s ease;
}

@media (hover:hover){
  .lp-v3 .lp-section__text .wp-block-button__link:hover{ filter:brightness(1.03); }
}
.lp-v3 .lp-section__text .wp-block-button__link:active{ transform:translateY(1px); }

@media (min-width:860px){
  .lp-v3{
    --pad-x:26px;
    --frame-gutter:18px;
  }

  .lp-hero{
    padding-top:34px;
    padding-bottom:64px;
  }

  .lp-tiles{
    grid-template-columns:1fr 1fr;
    gap:18px;
  }

  .lp-tile__body{ padding:16px 16px 18px; }
  .lp-tile__title{ font-size:19px; }
  .lp-tile__desc{ font-size:14px; }

  .lp-v3 .lp-waste__thumb{ width:260px; }

  .lp-v3 .lp-stepPeek__list{
    grid-template-columns:1fr 1fr;
    gap:14px;
  }

  .lp-v3 details.lp-stepPeek:not([open]) .lp-stepPeek__peek{
    max-height:7.4em;
  }

  .lp-v3 .lp-stepPeek__media img{
    width:min(560px,100%);
  }
}

.lp-v3 .lp-supportList{
  display:grid;
  gap:14px;
  margin:16px 0;
}

.lp-v3 .lp-supportItem{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.lp-v3 .lp-supportItem__title{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 14px;
  font-weight:900;
  font-size:17px;
  line-height:1.5;
  color:rgba(11,79,138,.98);
  background:rgba(11,79,138,.05);
  border-bottom:1px solid rgba(11,79,138,.10);
}

.lp-v3 .lp-supportItem__no{
  width:30px;
  height:30px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(11,79,138,.98);
  background:rgba(11,79,138,.10);
  border:1px solid rgba(11,79,138,.22);
  flex:0 0 auto;
}

.lp-v3 .lp-supportItem__body{
  padding:14px 14px 16px;
  color:rgba(0,0,0,.80);
  line-height:1.95;
  font-size:14px;
}

.lp-v3 .lp-supportItem__body p{ margin:0 0 10px; }

.lp-v3 .lp-supportItem__body ul{
  margin:10px 0 10px 1.2em;
}

.lp-v3 .lp-supportItem__body li{ margin:6px 0; }

@media (min-width:860px){
  .lp-v3 .lp-supportList{ gap:16px; }
  .lp-v3 .lp-supportItem__title{ font-size:18px; }
  .lp-v3 .lp-supportItem__body{ padding:16px 16px 18px; }
}

@media (max-width:768px){
  .lp-v3 .lp-steps--peek .lp-block__head{
    width:100% !important;
    max-width:none !important;
    display:block !important;
  }

  .lp-v3 .lp-steps--peek .lp-block__title{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    inline-size:100% !important;

    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-break:anywhere !important;

    text-wrap:unset !important;

    flex:none !important;
    min-width:0 !important;
  }
}

@media (max-width:768px){
  .lp-v3 .lp-change .lp-block__head{
    width:100% !important;
    max-width:none !important;
    display:block !important;
  }

  .lp-v3 .lp-change .lp-block__title{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    inline-size:100% !important;

    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-break:anywhere !important;

    min-width:0 !important;

    text-wrap:wrap !important;
  }
}

.lp-v3--detail .lp-hero .lp-kicker{
  font-size:clamp(18px,2.4vw,26px);
  line-height:1.25;
  padding:12px 18px;
  letter-spacing:.06em;
}

@media (max-width:768px){
  .lp-v3--detail .lp-hero .lp-kicker{
    font-size:18px;
    padding:12px 16px;
    max-width:92vw;
  }
}

/* ここが修正版: フッター配下に置く前提なので lpv3-footer に合わせている */
.lpv3-footer .lp-social{
  padding:14px 0 6px;
  width:100%;
}

.lpv3-footer .lp-social__inner{
  text-align:center;
}

.lpv3-footer .lp-social__lead{
  margin:10px 0 10px;
  font-weight:800;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.90);
}

.lpv3-footer .lp-social__icons{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.lpv3-footer .lp-social__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:104px;
  height:46px;
  padding:0 14px;

  border-radius:999px;
  text-decoration:none;

  color:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.18);
  box-shadow:0 10px 20px rgba(0,0,0,.16);

  font-weight:900;
  letter-spacing:.04em;
}

@media (hover:hover){
  .lpv3-footer .lp-social__icon:hover{
    filter:brightness(1.06);
  }
}

.lpv3-footer .lp-social__icon:focus-visible{
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:3px;
  border-radius:999px;
}

.lpv3-footer .lp-social__text{
  font-size:14px;
}
<?php
/**
 * Minimal Footer for LP v3
 * File: footer-lpv3.php
 */
?>

<footer class="lpv3-footer" role="contentinfo">
  <div class="lpv3-footer__inner">
    <a class="lpv3-footer__link" href="<?php echo esc_url( home_url('/privacy-policy/') ); ?>">
      プライバシーポリシー
    </a>
    <a class="lpv3-footer__link" href="<?php echo esc_url( home_url('/contact3/') ); ?>">
      お問い合わせ
    </a>
  </div>

  <div class="lp-social" aria-label="公式リンク">
    <div class="lp-social__inner">
      <div class="lp-social__lead">最新情報は各メディアでも発信しています</div>

      <div class="lp-social__icons">
        <a class="lp-social__icon" href="https://note.com/tokushin_academy" target="_blank" rel="noopener noreferrer" aria-label="noteへ">
          <span class="lp-social__text">note</span>
        </a>

        <a class="lp-social__icon" href="https://ameblo.jp/55164hiroshi/" target="_blank" rel="noopener noreferrer" aria-label="アメブロへ">
          <span class="lp-social__text">Ameblo</span>
        </a>

        <a class="lp-social__icon" href="https://www.youtube.com/@TokushinAcademy" target="_blank" rel="noopener noreferrer" aria-label="YouTubeへ">
          <span class="lp-social__text">YouTube</span>
        </a>
      </div>
    </div>
  </div>
</footer>

<?php wp_footer(); ?>

<script>
(function () {
  function isLpV3Form(form){
    return !!(form && form.closest && form.closest('.lp-v3'));
  }

  function getSubmit(form){
    return form.querySelector('input.wpcf7-submit, button.wpcf7-submit');
  }

  function setButtonText(btn, text){
    if (!btn) return;
    if (btn.tagName && btn.tagName.toLowerCase() === 'input') {
      btn.value = text;
    } else {
      btn.textContent = text;
    }
  }

  function getButtonText(btn){
    if (!btn) return '';
    if (btn.tagName && btn.tagName.toLowerCase() === 'input') {
      return btn.value || '';
    }
    return btn.textContent || '';
  }

  document.addEventListener('wpcf7beforesubmit', function(e){
    var form = e.target;
    if (!isLpV3Form(form)) return;

    var btn = getSubmit(form);
    if (!btn) return;
    if (btn.disabled) return;

    btn.dataset.originalValue = getButtonText(btn) || '送信する';
    setButtonText(btn, '送信中…');
    btn.disabled = true;
    btn.setAttribute('aria-busy', 'true');
  }, false);

  function restoreButton(e){
    var form = e.target;
    if (!isLpV3Form(form)) return;

    var btn = getSubmit(form);
    if (!btn) return;

    var org = btn.dataset.originalValue || '送信する';
    setButtonText(btn, org);
    btn.disabled = false;
    btn.removeAttribute('aria-busy');

    var msg = form.querySelector('.wpcf7-response-output');
    if (msg && msg.scrollIntoView) {
      msg.scrollIntoView({behavior:'smooth', block:'center'});
    }
  }

  document.addEventListener('wpcf7invalid', restoreButton, false);
  document.addEventListener('wpcf7mailfailed', restoreButton, false);
  document.addEventListener('wpcf7spam', restoreButton, false);

  document.addEventListener('wpcf7mailsent', function(e){
    var form = e.target;
    if (!isLpV3Form(form)) return;

    var btn = getSubmit(form);
    if (btn) {
      setButtonText(btn, '送信済み');
      btn.disabled = true;
      btn.removeAttribute('aria-busy');
    }

    var msg = form.querySelector('.wpcf7-response-output');
    if (msg && msg.scrollIntoView) {
      msg.scrollIntoView({behavior:'smooth', block:'center'});
    }
  }, false);
})();
</script>

</body>
</html>
.lp-v3 .lp-sheet{
  padding-bottom: 84px;
}
/* 固定バー本体 */
.lp-fixedbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;

  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;

  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(0,0,0,.38);
  backdrop-filter: blur(8px);
}

/* ボタン */
.lp-fixedbar__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 42px;
  padding: 0 14px;
  border-radius: 999px;

  text-decoration: none;
  color: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.20);

  font-weight: 900;
  letter-spacing: .04em;
}

/* ホバー可能環境だけ */
@media (hover: hover){
  .lp-fixedbar__btn:hover{ filter: brightness(1.08); }
}

/* 固定バーに本文が隠れないよう、LPの下に余白を足す */
body.page-template-page-lp-v3-php .lp-sheet,
body.page-template-page-lpv3-detail-php .lp-sheet{
  padding-bottom: calc(42px + 10px + 10px + 18px);
}
/* 最新情報ブログボタンを大きく */
.lp-fixedbar{
  padding: 10px 12px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
}

.lp-fixedbar__btn{
  font-size: 16px;
  font-weight: 700;
  padding: 14px 18px;
  min-height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
}