@charset "UTF-8";

/* ============ LP SCOPE / RESET ============ */
/* すべて .lp-hatsumei 配下に限定し、既存テーマCSSに影響しないようにしています。 */
.lp-hatsumei{
  --ink:#3a4250;
  --blue:#1ea0db;
  --blue-deep:#1573b8;
  --navy:#15357f;
  --royal:#1f6dc2;
  --green:#5fb030;
  --green-deep:#3f8f1f;
  --orange:#f08a1d;
  --red:#d8312b;
  --pink:#ec3f8f;
  --gold:#e8a72c;
  --paper:#ffffff;
  --pad-x:clamp(33px,9vw,120px);
  margin:0;padding:0;
  background:linear-gradient(180deg,#aedaf3 0%,#d6eefb 240px,#e9f4fb 100%) no-repeat;
  background-attachment:fixed;
  font-family:"Noto Sans JP",sans-serif;
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.lp-hatsumei,.lp-hatsumei *{box-sizing:border-box;}
.lp-hatsumei .page{
  width:100%;
  margin:0 auto;
  background:#fff;
  overflow:hidden;
}
.lp-hatsumei .round{font-family:"M PLUS Rounded 1c",sans-serif;}
.lp-hatsumei img{display:block;max-width:100%;}

/* ============ HERO / FV ============ */
.lp-hatsumei .hero{position:relative;line-height:0;background:#eaf6fd;container-type:inline-size;}
.lp-hatsumei .hero .fv{width:100%;height:auto;display:block;}

.lp-hatsumei .num-badge{
  position:absolute; left:clamp(10px,5cqw,84px); top:clamp(14px,6.5cqw,116px);
  width:clamp(56px,18cqw,260px); aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  text-align:center; z-index:4;
  color:#e0451f;
  font-size:clamp(56px,18cqw,260px);
  filter:drop-shadow(0 4px 9px rgba(180,80,0,.3));
}
.lp-hatsumei .num-badge .burst{position:absolute;inset:0;width:100%;height:100%;}
.lp-hatsumei .num-badge .dai,
.lp-hatsumei .num-badge .big,
.lp-hatsumei .num-badge .kai{position:relative;z-index:2;font-weight:900;}
.lp-hatsumei .num-badge .dai{font-size:.175em;line-height:1;}
.lp-hatsumei .num-badge .big{font-size:.38em;line-height:1;letter-spacing:-.01em;margin:0 .01em;
  text-shadow:0 2px 0 rgba(255,255,255,.6);}
.lp-hatsumei .num-badge .kai{font-size:.175em;line-height:1;}

/* ============ SECTION SHELL ============ */
.lp-hatsumei .sec{padding:48px var(--pad-x);}

/* ============ POINTS ============ */
.lp-hatsumei .points-band{
  background:linear-gradient(180deg,
    #0a97f5 0%, #2ba6ef 5%, #74c4ef 13%, #b6e0f6 26%, #e3f3fc 46%, #ffffff 88%);
  padding:52px var(--pad-x) 52px;
}
.lp-hatsumei .points-title{
  display:flex; align-items:center; justify-content:center; gap:clamp(10px,3vw,28px);
  text-align:center; color:var(--navy); font-weight:900;
  font-size:clamp(22px,5vw,30px); letter-spacing:1px; margin:0 0 34px;
}
.lp-hatsumei .points-title .pt-ttl{flex:0 1 auto;}
.lp-hatsumei .points-title em{
  font-style:normal; color:var(--orange);
  position:relative; white-space:nowrap;
}
.lp-hatsumei .pt-chara{flex:0 0 auto;width:clamp(56px,11vw,92px);height:auto;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));}
.lp-hatsumei .points{
  display:flex; flex-direction:column; gap:28px;
  max-width:640px; margin:0 auto;
}
.lp-hatsumei .pcard-pt{
  position:relative; background:#fff; border-radius:999px;
  border:3px dashed var(--pt-c,var(--green));
  padding:22px 32px 22px 26px;
  display:flex; align-items:center; gap:24px;
  box-shadow:0 8px 0 var(--pt-sh,#cfe6bd), 0 10px 18px rgba(30,90,140,.14);
  transition:transform .15s ease;
}
.lp-hatsumei .pcard-pt:nth-child(odd){transform:rotate(-1.2deg);}
.lp-hatsumei .pcard-pt:nth-child(even){transform:rotate(1.2deg);}
.lp-hatsumei .pcard-pt:hover{transform:rotate(0) scale(1.02);}
.lp-hatsumei .pcard-pt.c-green{--pt-c:var(--green);--pt-sh:#cfe6bd;}
.lp-hatsumei .pcard-pt.c-orange{--pt-c:var(--orange);--pt-sh:#fadcae;}
.lp-hatsumei .pcard-pt.c-pink{--pt-c:var(--pink);--pt-sh:#f9c6df;}
.lp-hatsumei .pcard-pt .pt-no{
  position:relative; flex:0 0 auto;
  width:64px; height:64px; border-radius:50%;
  background:var(--pt-c,var(--green)); color:#fff;
  font-size:38px; font-weight:900; line-height:64px; text-align:center;
  box-shadow:0 4px 8px rgba(0,0,0,.18);
}
.lp-hatsumei .pcard-pt .pt-no::after{
  content:""; position:absolute; inset:5px;
  border:2px dotted rgba(255,255,255,.7); border-radius:50%;
}
.lp-hatsumei .pcard-pt p{
  margin:0; font-weight:800; font-size:clamp(18px,4.6vw,23px); line-height:1.5;
  color:#2a2f3a; letter-spacing:.3px;
}

/* ============ ENTRY BANNER ============ */
.lp-hatsumei .entry{
  background:var(--royal); color:#fff;
  border-radius:14px; padding:24px 28px;
  display:flex; gap:18px; align-items:center; flex-wrap:wrap;
  box-shadow:0 6px 16px rgba(31,109,194,.3);
}
.lp-hatsumei .entry-left{flex:1 1 300px;}
.lp-hatsumei .entry-pill{
  display:inline-block; background:#ffd23d; color:#7a4d00;
  font-weight:900; font-size:14px; padding:3px 16px; border-radius:20px;
  margin-bottom:6px;
}
.lp-hatsumei .entry-date{font-weight:900;line-height:1.1;letter-spacing:.5px;}
.lp-hatsumei .entry-date .d{font-size:40px;}
.lp-hatsumei .entry-date .s{font-size:18px;}
.lp-hatsumei .entry-date .wave{font-size:30px;margin:0 4px;}
.lp-hatsumei .entry-right{flex:1 1 240px;font-size:15px;font-weight:500;line-height:1.7;}

/* ============ INFO CARDS ============ */
.lp-hatsumei .info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;}
.lp-hatsumei .icard{
  position:relative; background:#fff; border:1px solid #e7edf2;
  border-radius:14px; padding:22px 20px 24px; overflow:hidden;
  box-shadow:0 4px 10px rgba(30,90,140,.07);
}
.lp-hatsumei .icard h3{
  margin:0 0 12px; font-size:18px; font-weight:900; color:var(--card-c,var(--green-deep));
  display:flex;align-items:center;gap:7px; letter-spacing:.5px;
  padding-bottom:9px; border-bottom:2px dotted var(--card-b,#cfe3bf);
}
.lp-hatsumei .icard.c-orange{--card-c:var(--orange);--card-b:#f6dcb4;}
.lp-hatsumei .icard.c-blue{--card-c:var(--blue-deep);--card-b:#c0e0f2;}
.lp-hatsumei .icard h3 .ic{stroke:var(--card-c,var(--green-deep));}
.lp-hatsumei .icard h3 .ic{width:22px;height:22px;flex:0 0 auto;}
.lp-hatsumei .icard p{margin:0;font-size:13px;line-height:1.9;color:#4b5563;}
.lp-hatsumei .icard .gw{position:absolute;right:-14px;bottom:-14px;width:64px;opacity:.5;}
.lp-hatsumei .note{font-size:12px;color:#8a93a0;text-align:center;margin:18px 6px 0;}

/* ============ PRIZE BAR ============ */
.lp-hatsumei .prize-band{background:#fdf6db;padding:0 0 8px;}
.lp-hatsumei .pribbon{
  width:100%; margin:0; box-sizing:border-box;
  background:linear-gradient(180deg,#f24f9b,#e22f86);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:900; letter-spacing:1px;
  font-size:clamp(18px,3.9vw,27px);
  padding:18px 20px;
  text-shadow:0 1px 2px rgba(150,20,80,.35);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.08);
}
.lp-hatsumei .pribbon span{display:block; text-align:center;}
.lp-hatsumei .prize-inner{padding:0 var(--pad-x);}
.lp-hatsumei .prizes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px;padding-bottom:28px;}
.lp-hatsumei .pcard-img{
  width:100%; aspect-ratio:1/1; border-radius:14px;
  background:#f1f3f5; object-fit:cover; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

/* ============ FLOW ============ */
.lp-hatsumei .flow-band{background:#fff;padding:16px var(--pad-x) 48px;}
.lp-hatsumei .flow-title{color:var(--pink);font-weight:900;font-size:24px;margin:0 0 4px;}
.lp-hatsumei .flow-title small{font-size:13px;color:#8a93a0;font-weight:700;margin-left:8px;}
.lp-hatsumei .flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:stretch;position:relative;}
.lp-hatsumei .fcol{position:relative;}
.lp-hatsumei .fcard{background:#fff;border:1.5px solid #e7edf2;border-radius:12px;
  padding:18px 15px;height:100%;box-shadow:0 3px 8px rgba(0,0,0,.05);}
.lp-hatsumei .fhead{display:flex;align-items:center;gap:8px;font-weight:900;font-size:16px;margin-bottom:10px;}
.lp-hatsumei .fnum{width:26px;height:26px;border-radius:50%;color:#fff;font-size:14px;font-weight:900;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.lp-hatsumei .ficon{height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;}
.lp-hatsumei .ficon svg{height:42px;width:auto;}
.lp-hatsumei .fdesc{font-size:12px;line-height:1.7;color:#4b5563;min-height:5.1em;}
.lp-hatsumei .fdate{font-weight:900;font-size:14px;margin-top:10px;line-height:1.35;
  padding:8px 10px;border-radius:8px;text-align:center;}
.lp-hatsumei .fdate .pl{font-size:12px;font-weight:700;}
.lp-hatsumei .farrow{position:absolute;right:-9px;top:42px;z-index:5;width:0;height:0;
  border-top:11px solid transparent;border-bottom:11px solid transparent;}
.lp-hatsumei .s1 .fnum{background:#5fb030;} .lp-hatsumei .s1 .fhead{color:#4d9626;} .lp-hatsumei .s1 .farrow{border-left:12px solid #8fcf5e;}
.lp-hatsumei .s2 .fnum{background:#f0951d;} .lp-hatsumei .s2 .fhead{color:#d97f10;} .lp-hatsumei .s2 .farrow{border-left:12px solid #f4b65e;}
.lp-hatsumei .s3 .fnum{background:#2596d2;} .lp-hatsumei .s3 .fhead{color:#1f86bf;} .lp-hatsumei .s3 .farrow{border-left:12px solid #6cc0e8;}
.lp-hatsumei .s4 .fnum{background:#ec3f8f;} .lp-hatsumei .s4 .fhead{color:#d92e7c;}
.lp-hatsumei .s1 .fdate{color:#4d9626;background:#edf7e1;} .lp-hatsumei .s2 .fdate{color:#d97f10;background:#fdf0d9;}
.lp-hatsumei .s3 .fdate{color:#1f86bf;background:#e3f3fb;} .lp-hatsumei .s4 .fdate{color:#d92e7c;background:#fce3ef;}

/* ============ FAQ ============ */
.lp-hatsumei .faq-band{background:#fff;padding:48px var(--pad-x) 52px;}
.lp-hatsumei .faq-title{text-align:center;color:var(--blue-deep);font-weight:900;
  font-size:clamp(22px,5vw,28px);letter-spacing:1px;margin:0 0 28px;}
.lp-hatsumei .faq-title small{display:block;font-size:13px;color:#8a93a0;font-weight:700;
  letter-spacing:2px;margin-top:4px;}
.lp-hatsumei .faq-list{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.lp-hatsumei .faq-item{background:#f6fbfe;border:1.5px solid #d8e8f3;border-radius:14px;
  overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.lp-hatsumei .faq-item[open]{border-color:var(--blue);box-shadow:0 6px 16px rgba(30,160,219,.12);}
.lp-hatsumei .faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;
  padding:18px 20px;font-weight:800;font-size:15.5px;color:#28435f;line-height:1.5;}
.lp-hatsumei .faq-item summary::-webkit-details-marker{display:none;}
.lp-hatsumei .faq-item .q{flex:0 0 auto;width:28px;height:28px;border-radius:8px;
  background:var(--blue);color:#fff;font-weight:900;font-size:15px;
  display:flex;align-items:center;justify-content:center;}
.lp-hatsumei .faq-item .fa{margin-left:auto;flex:0 0 auto;position:relative;width:16px;height:16px;
  transition:transform .2s ease;}
.lp-hatsumei .faq-item .fa::before,.lp-hatsumei .faq-item .fa::after{content:"";position:absolute;background:var(--blue);
  border-radius:2px;}
.lp-hatsumei .faq-item .fa::before{top:7px;left:0;width:16px;height:2px;}
.lp-hatsumei .faq-item .fa::after{left:7px;top:0;width:2px;height:16px;}
.lp-hatsumei .faq-item[open] .fa{transform:rotate(135deg);}
.lp-hatsumei .faq-a{display:flex;align-items:flex-start;gap:12px;padding:0 20px 20px;}
.lp-hatsumei .faq-a .a{flex:0 0 auto;width:28px;height:28px;border-radius:8px;
  background:var(--orange);color:#fff;font-weight:900;font-size:15px;
  display:flex;align-items:center;justify-content:center;}
.lp-hatsumei .faq-a p{margin:0;font-size:14.5px;line-height:1.85;color:#4b5563;padding-top:2px;}

/* ============ PARENTS ============ */
.lp-hatsumei .parents{background:#fdf3df;padding:48px var(--pad-x) 52px;}
.lp-hatsumei .parents-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.lp-hatsumei .home-ic{width:42px;height:42px;flex:0 0 auto;}
.lp-hatsumei .parents-head h2{margin:0;color:var(--orange);font-weight:900;font-size:28px;letter-spacing:1px;}
.lp-hatsumei .parents-body{position:relative;}
.lp-hatsumei .parents-body::after{content:"";display:block;clear:both;}
.lp-hatsumei .parents-body p{margin:0 0 4px;font-size:16.5px;color:#4b5563;line-height:2.05;}
.lp-hatsumei .fam{float:right;width:160px;height:auto;object-fit:contain;margin:0 0 10px 24px;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.15));}
.lp-hatsumei .checklist{clear:both;background:#fff;border-radius:14px;padding:24px 24px;margin-top:24px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);}
.lp-hatsumei .citem{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#4b5563;line-height:1.7;}
.lp-hatsumei .citem+.citem{margin-top:14px;}
.lp-hatsumei .check{width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:#f2b81d;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;margin-top:2px;}

/* ============ APPLY FORM ============ */
.lp-hatsumei .apply{background:linear-gradient(180deg,#e9f6fd,#d7eefb);padding:52px var(--pad-x) 56px;}
.lp-hatsumei .apply-head{text-align:center;margin-bottom:30px;}
.lp-hatsumei .apply-head .pill{display:inline-block;background:var(--green);color:#fff;font-weight:900;
  font-size:13px;letter-spacing:1px;padding:4px 18px;border-radius:20px;margin-bottom:10px;}
.lp-hatsumei .apply-head h2{margin:0;color:#1a3a8f;font-weight:900;font-size:30px;letter-spacing:1px;}
.lp-hatsumei .apply-head p{margin:6px 0 0;font-size:13px;color:#5b6573;}
.lp-hatsumei .form-card{max-width:560px;margin:0 auto;background:#fff;border-radius:18px;
  padding:34px 32px 36px;box-shadow:0 10px 30px rgba(26,58,143,.14);}
.lp-hatsumei .fsec{margin-bottom:14px;padding-bottom:24px;}
.lp-hatsumei .fsec+.fsec{border-top:2px dashed #dde7f0;padding-top:30px;}
.lp-hatsumei .fsec-title{display:flex;align-items:center;gap:10px;margin:0 0 22px;
  color:#1a3a8f;font-weight:900;font-size:19px;letter-spacing:.5px;}
.lp-hatsumei .fsec-no{flex:0 0 auto;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(180deg,#1ea0db,#1573b8);color:#fff;
  font-size:16px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.lp-hatsumei .field{margin-bottom:24px;}
.lp-hatsumei .field>label{display:block;font-weight:900;color:#3a4250;font-size:14px;margin-bottom:7px;}
.lp-hatsumei .field>label .req,
.lp-hatsumei .req{
  display:inline-block;color:#fff;
  background:linear-gradient(180deg,#f0413b,#d8312b);
  font-size:11px;font-weight:900;line-height:1.5;
  padding:3px 11px;border-radius:999px;margin-left:8px;
  vertical-align:2px;letter-spacing:1.5px;
  box-shadow:0 2px 5px rgba(216,49,43,.4);
  text-shadow:0 1px 1px rgba(0,0,0,.15);}
.lp-hatsumei .field input[type=text],.lp-hatsumei .field input[type=email],.lp-hatsumei .field input[type=tel],.lp-hatsumei .field textarea,.lp-hatsumei .field select{
  width:100%;border:1.5px solid #d4dde6;border-radius:10px;padding:11px 13px;
  font-family:inherit;font-size:15px;color:#2a2f3a;background:#fbfdff;transition:border-color .15s,box-shadow .15s;}
.lp-hatsumei .field input[type=text]:focus,.lp-hatsumei .field input[type=email]:focus,.lp-hatsumei .field input[type=tel]:focus,.lp-hatsumei .field textarea:focus,.lp-hatsumei .field select:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,160,219,.15);}
.lp-hatsumei .field textarea{resize:vertical;min-height:108px;line-height:1.6;}
.lp-hatsumei .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231ea0db' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;}
.lp-hatsumei .row2{display:grid;grid-template-columns:1fr 130px;gap:14px;}
.lp-hatsumei .hint{font-size:11.5px;color:#8a93a0;margin:6px 0 0;}
/* choices (radio / checkbox) */
.lp-hatsumei .choices{display:flex;flex-wrap:wrap;gap:10px;}
.lp-hatsumei .choice{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  border:1.5px solid #d4dde6;border-radius:10px;padding:9px 14px;background:#fbfdff;
  font-size:14px;font-weight:700;color:#3a4250;transition:border-color .15s,background .15s,box-shadow .15s;}
.lp-hatsumei .choice:hover{border-color:var(--blue);background:#edf7fd;}
.lp-hatsumei .choice input{accent-color:var(--blue);width:17px;height:17px;cursor:pointer;flex:0 0 auto;}
.lp-hatsumei .choice:has(input:checked){border-color:var(--blue);background:#e3f3fb;
  box-shadow:0 0 0 2px rgba(30,160,219,.18);}
/* upload */
.lp-hatsumei .uploads{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.lp-hatsumei .slot{position:relative;aspect-ratio:1/1;border:2px dashed #b9cfe0;border-radius:12px;
  background:#f5fafd;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s;text-align:center;padding:6px;}
.lp-hatsumei .slot:hover{border-color:var(--blue);background:#edf7fd;}
.lp-hatsumei .slot.filled{border-style:solid;border-color:var(--blue);}
.lp-hatsumei .slot input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.lp-hatsumei .slot .plus{font-size:26px;color:#8fb6d2;font-weight:400;line-height:1;}
.lp-hatsumei .slot .stxt{font-size:11px;color:#7a93a8;font-weight:700;line-height:1.3;}
.lp-hatsumei .slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.lp-hatsumei .slot .rm{position:absolute;top:5px;right:5px;z-index:3;width:22px;height:22px;border-radius:50%;
  background:rgba(0,0,0,.55);color:#fff;border:none;cursor:pointer;font-size:14px;line-height:1;
  display:none;align-items:center;justify-content:center;}
.lp-hatsumei .slot.filled .rm{display:flex;}
.lp-hatsumei .submit-btn{display:block;width:100%;margin-top:8px;border:none;cursor:pointer;
  background:linear-gradient(180deg,#7cc740,#54a821);color:#fff;font-family:inherit;
  font-weight:900;font-size:19px;letter-spacing:2px;padding:16px;border-radius:50px;
  box-shadow:0 6px 0 #3f8016,0 10px 18px rgba(63,128,22,.3);transition:transform .1s,box-shadow .1s;}
.lp-hatsumei .submit-btn:hover{transform:translateY(2px);box-shadow:0 4px 0 #3f8016,0 7px 12px rgba(63,128,22,.3);}
.lp-hatsumei .submit-btn:active{transform:translateY(6px);box-shadow:0 0 0 #3f8016;}
.lp-hatsumei .form-note{font-size:11.5px;color:#8a93a0;text-align:center;margin:14px 4px 0;line-height:1.7;}
/* ---- 確認画面 ---- */
.lp-hatsumei .hkc-confirm{max-width:560px;margin:0 auto;background:#fff;border-radius:18px;
  padding:34px 32px 36px;box-shadow:0 10px 30px rgba(26,58,143,.14);}
.lp-hatsumei .hkc-confirm-title{margin:0 0 6px;text-align:center;color:#1a3a8f;font-weight:900;font-size:24px;letter-spacing:1px;}
.lp-hatsumei .hkc-confirm-lead{margin:0 0 22px;text-align:center;font-size:13px;color:#5b6573;line-height:1.7;}
.lp-hatsumei .hkc-confirm-list{margin:0 0 26px;}
.lp-hatsumei .hkc-confirm-list dt{font-weight:900;color:#3a4250;font-size:13px;margin-top:16px;}
.lp-hatsumei .hkc-confirm-list dd{margin:5px 0 0;padding-bottom:13px;border-bottom:1px solid #eef2f6;
  font-size:15px;color:#1f2733;line-height:1.6;white-space:pre-wrap;word-break:break-word;}
.lp-hatsumei .hkc-confirm-list dd.is-empty{color:#9aa3af;font-size:13px;}
.lp-hatsumei .hkc-confirm-actions{display:flex;gap:12px;align-items:stretch;}
.lp-hatsumei .hkc-btn-back{flex:0 0 36%;border:2px solid #c7d2dd;background:#fff;color:#5b6573;
  font-family:inherit;font-weight:900;font-size:16px;border-radius:50px;padding:15px;cursor:pointer;
  transition:border-color .15s,background .15s;}
.lp-hatsumei .hkc-btn-back:hover{border-color:#9fb0c0;background:#f5f8fb;}
.lp-hatsumei .hkc-btn-send{flex:1 1 auto;border:none;cursor:pointer;
  background:linear-gradient(180deg,#7cc740,#54a821);color:#fff;font-family:inherit;
  font-weight:900;font-size:17px;letter-spacing:1px;padding:16px;border-radius:50px;
  box-shadow:0 6px 0 #3f8016,0 10px 18px rgba(63,128,22,.3);transition:transform .1s,box-shadow .1s;}
.lp-hatsumei .hkc-btn-send:hover{transform:translateY(2px);box-shadow:0 4px 0 #3f8016,0 7px 12px rgba(63,128,22,.3);}
.lp-hatsumei .hkc-btn-send:active{transform:translateY(6px);box-shadow:0 0 0 #3f8016;}
/* ---- サンクス画面 ---- */
.lp-hatsumei .hkc-thanks{max-width:560px;margin:0 auto;background:#fff;border-radius:18px;
  padding:44px 32px 46px;box-shadow:0 10px 30px rgba(26,58,143,.14);text-align:center;}
.lp-hatsumei .hkc-thanks-icon{width:66px;height:66px;border-radius:50%;background:var(--green);color:#fff;
  font-size:36px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
  box-shadow:0 6px 0 var(--green-deep);}
.lp-hatsumei .hkc-thanks-title{margin:0 0 10px;color:#1a3a8f;font-weight:900;font-size:24px;letter-spacing:1px;}
.lp-hatsumei .hkc-thanks-text{margin:0;font-size:14px;color:#5b6573;line-height:1.8;}
@media (max-width:520px){
  .lp-hatsumei .hkc-confirm-actions{flex-direction:column-reverse;}
  .lp-hatsumei .hkc-btn-back{flex:1 1 auto;}
}

.lp-hatsumei .thanks{display:none;text-align:center;padding:30px 10px;}
.lp-hatsumei .thanks.show{display:block;}
.lp-hatsumei .thanks .ck{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fff;
  font-size:34px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.lp-hatsumei .thanks h3{margin:0 0 6px;color:#1a3a8f;font-weight:900;font-size:22px;}
.lp-hatsumei .thanks p{margin:0;font-size:14px;color:#5b6573;}
@media (max-width:520px){
  .lp-hatsumei .uploads{grid-template-columns:repeat(2,1fr);}
  .lp-hatsumei .row2{grid-template-columns:1fr;}
}

/* ============ FOOTER ============ */
.lp-hatsumei .footer{background:linear-gradient(180deg,#1a3a8f,#142e74);color:#fff;padding:26px var(--pad-x) 30px;}
.lp-hatsumei .host-row{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;
  padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.2);}
.lp-hatsumei .host-row .lab{font-weight:900;font-size:15px;}
.lp-hatsumei .org{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity .15s;}
.lp-hatsumei .footer .org,
.lp-hatsumei .footer .org:link,
.lp-hatsumei .footer .org:visited,
.lp-hatsumei .footer .org:hover,
.lp-hatsumei .footer .org:active,
.lp-hatsumei .footer .org .nm,
.lp-hatsumei .footer .org .en{color:#fff !important;}
.lp-hatsumei a.org:hover{opacity:.8;}
.lp-hatsumei .org .mark{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;
  align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;}
.lp-hatsumei .org .mark-img img{width:100%;height:100%;object-fit:cover;display:block;}
.lp-hatsumei .org .nm{font-weight:900;font-size:19px;line-height:1.1;}
.lp-hatsumei .org .en{font-size:9px;letter-spacing:1px;opacity:.8;font-weight:400;}
.lp-hatsumei .support{font-size:13px;line-height:2;text-align:center;color:#dbe4f5;}
.lp-hatsumei .support .lab{color:#fff;font-weight:900;margin-right:8px;}

@media (max-width:680px){
  .lp-hatsumei .info-grid,.lp-hatsumei .prizes,.lp-hatsumei .flow{grid-template-columns:repeat(2,1fr);}
  .lp-hatsumei .farrow{display:none;}
  .lp-hatsumei .fam{float:none;width:200px;margin:10px auto 14px;display:block;}
  .lp-hatsumei .parents-body p{max-width:none;}
}
@media (max-width:430px){
  .lp-hatsumei .info-grid,.lp-hatsumei .prizes,.lp-hatsumei .flow{grid-template-columns:1fr;}
}

/* ===== PC: enlarge body text ===== */
@media (min-width:768px){
  .lp-hatsumei .icard p{font-size:15.5px;line-height:1.95;}
  .lp-hatsumei .faq-item summary{font-size:17px;}
  .lp-hatsumei .faq-a p{font-size:16.5px;}
  .lp-hatsumei .entry-right{font-size:16.5px;}
  .lp-hatsumei .fdesc{font-size:13.5px;}
  .lp-hatsumei .citem{font-size:15.5px;}
}
/* ===== Contact Form 7 を LP デザインに合わせる ===== */
.lp-hatsumei .wpcf7-form-control-wrap{display:block;}
.lp-hatsumei .wpcf7-form .wpcf7-text,
.lp-hatsumei .wpcf7-form .wpcf7-email,
.lp-hatsumei .wpcf7-form textarea,
.lp-hatsumei .wpcf7-form select{
  width:100%;border:1.5px solid #d4dde6;border-radius:10px;padding:11px 13px;
  font-family:inherit;font-size:15px;color:#2a2f3a;background:#fbfdff;
  transition:border-color .15s,box-shadow .15s;}
.lp-hatsumei .wpcf7-form .wpcf7-text:focus,
.lp-hatsumei .wpcf7-form .wpcf7-email:focus,
.lp-hatsumei .wpcf7-form textarea:focus,
.lp-hatsumei .wpcf7-form select:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,160,219,.15);}
.lp-hatsumei .wpcf7-form textarea{resize:vertical;min-height:108px;line-height:1.6;}

/* ラジオ・チェックボックスを .choice 風のボタンに */
.lp-hatsumei .wpcf7-radio,
.lp-hatsumei .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:10px;}
.lp-hatsumei .wpcf7-list-item{margin:0;}
.lp-hatsumei .wpcf7-list-item label{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  border:1.5px solid #d4dde6;border-radius:10px;padding:9px 14px;background:#fbfdff;
  font-size:14px;font-weight:700;color:#3a4250;
  transition:border-color .15s,background .15s,box-shadow .15s;}
.lp-hatsumei .wpcf7-list-item label:hover{border-color:var(--blue);background:#edf7fd;}
.lp-hatsumei .wpcf7-list-item input{accent-color:var(--blue);width:17px;height:17px;cursor:pointer;flex:0 0 auto;margin:0;}
.lp-hatsumei .wpcf7-list-item label:has(input:checked){
  border-color:var(--blue);background:#e3f3fb;box-shadow:0 0 0 2px rgba(30,160,219,.18);}

/* ファイル選択 */
.lp-hatsumei .wpcf7-form input[type=file]{font-size:14px;color:#3a4250;margin:2px 0;}

/* 送信結果・エラーメッセージ */
.lp-hatsumei .wpcf7-response-output{
  margin:16px 0 0 !important;border-radius:10px;padding:12px 16px;
  font-size:14px;font-weight:700;line-height:1.6;}
.lp-hatsumei .wpcf7-not-valid-tip{font-size:12px;font-weight:700;margin-top:4px;}
