/* LP本文 */
body{background:#EEF1F5}
.fv{display:block;margin:0 auto}
.lp-body{width:min(100%,390px);margin:0 auto;color:#1A1F2B;overflow:hidden}
.lp-section{padding:54px 22px;position:relative;background:#fff}
.lp-section:nth-child(even){background:#EEF5FF}
.lp-section h2{margin:0 0 22px;font-size:26px;line-height:1.45;font-weight:800;letter-spacing:.02em;font-feature-settings:"palt"}
.lp-section h3{font-weight:700;line-height:1.55;letter-spacing:.02em}
.lp-section p{margin:0;color:#4F5B6E;font-size:15px;font-weight:400;line-height:1.9;letter-spacing:.03em}
.marker{box-shadow:inset 0 -9px 0 #FFE45C}
.story-stack{display:grid;gap:15px;margin:24px 0 30px}
.section-photo{display:block;width:100%;height:220px;object-fit:cover;object-position:center 36%;border-radius:16px}
.consultation-photo{height:200px;object-position:center 38%;margin-bottom:24px}
.story{position:relative;padding:15px 15px 15px 17px;border:1.5px solid #B9D7FF;border-radius:14px;background:#fff}
.story:after{content:"";position:absolute;left:19px;bottom:-8px;width:14px;height:14px;border-right:1.5px solid #B9D7FF;border-bottom:1.5px solid #B9D7FF;background:#fff;transform:rotate(45deg)}
.story p{white-space:pre-line;color:#1A1F2B}
.center-question{text-align:center;font-size:22px!important;font-weight:800!important;color:#1A1F2B!important;line-height:1.6!important}
.cause{background:#EEF5FF!important}
.cause h2{font-size:26px}
.cause .lead{margin:18px 0;font-size:24px;font-weight:800;line-height:1.55;letter-spacing:.02em;color:#1A1F2B}
.cause-copy{white-space:pre-line}
.cause-quote{margin-top:22px;color:#1A1F2B;font-size:16px;font-weight:700;line-height:1.7;letter-spacing:.03em}
.issue{display:flex;gap:15px;align-items:flex-start;padding:22px 0;border-bottom:1px solid #C9D4E3}
.issue:first-of-type{border-top:1px solid #C9D4E3}
.issue-number{flex:none;color:#1450D2;font-size:40px;font-weight:700;line-height:1}
.issue-content h3{margin:0 0 8px;font-size:18px;line-height:1.5}
.issue-content p{white-space:pre-line}
.compare-wrap{margin:26px -8px 22px;padding:10px 2px;background:#fff;overflow-x:auto}
.compare{width:100%;min-width:340px;border-collapse:collapse;text-align:center;font-size:15px;font-weight:700}
.compare th,.compare td{padding:9px 3px;border-bottom:1px solid #D7DFEC;font-size:15px}
.compare thead th{color:#4A5263;line-height:1.45}
.compare th:first-child{width:85px;text-align:left;color:#4A5263}
.compare .picked{background:#FFF8D6;color:#1450D2}
.compare tbody td:last-child{background:#FFF8D6;color:#1450D2}
.compare tbody tr:last-child td{border-bottom:0}
.mark{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border:1.5px solid currentColor;border-radius:50%;font-size:15px;font-weight:700}
.compare .picked .mark{border-color:#1450D2}
.dark-ribbon{margin:26px -22px -54px;padding:17px 22px;clip-path:polygon(0 0,100% 0,96% 100%,0 100%);background:#1450D2;color:#fff;text-align:center;font-size:19px;font-weight:900;line-height:1.55;letter-spacing:.02em}
.solution{background:#FFF8D6!important}
.answer-band{margin:0 -22px 24px;padding:14px 20px 15px;width:calc(100% + 44px);clip-path:polygon(0 0,100% 0,96% 100%,0 100%);background:#1450D2;color:#fff;font-size:22px;font-weight:900;letter-spacing:.02em}
.answer-copy{white-space:pre-line}
.formula{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:10px 3px;margin:27px -22px;padding:24px 10px 22px;border-radius:20px;background:#fff;box-shadow:0 6px 20px rgba(20,80,210,.08)}
.formula-item{width:96px;text-align:center}
.formula-node{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:auto;border:4px solid #CFE2FF;border-radius:50%;background:#fff}
.formula-item:nth-of-type(2) .formula-node{border-color:#FFE7A3}
.formula-item:nth-of-type(3) .formula-node{border-color:#BDECD9}
.formula-node svg{width:42px;height:42px;fill:none;stroke:#1450D2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.formula-label{display:block;margin-top:8px;color:#1A1F2B;font-size:15px;font-weight:700;line-height:1.35}
.formula-op{align-self:flex-start;margin-top:33px;color:#1450D2;font-size:22px;font-weight:700;line-height:1}
.formula-down{flex-basis:100%;height:22px;margin-top:-7px;text-align:center}
.formula-down svg{width:30px;height:22px;fill:#1450D2}
.formula-equals{flex-basis:100%;margin-top:-3px;color:#1450D2;text-align:center;font-size:13px;font-weight:700}
.formula-result{position:relative;width:100%;padding:15px 34px;border-radius:14px;background:#1450D2;color:#fff;text-align:center;font-size:22px;font-weight:800}
.formula-result svg{position:absolute;top:50%;width:20px;height:20px;fill:#fff;transform:translateY(-50%)}
.formula-result .spark-left{left:13px}.formula-result .spark-right{right:13px}
.callout{margin-top:22px;padding:0;border:0;background:transparent;font-size:16px!important;font-weight:500!important;line-height:1.9!important;letter-spacing:.02em;color:#1A1F2B!important}
.examples-section{background:#fff!important}
.examples{display:grid;margin-top:20px}
.example{padding:36px 0;border-top:1px solid #C9D4E3}
.example:last-child{border-bottom:1px solid #C9D4E3}
.example-heading{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:20px;font-weight:800;line-height:1.45}
.example-heading img{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 30%}
.example-row{display:grid;grid-template-columns:1fr;align-items:start;gap:6px;padding:10px 0}
.example-row b{display:inline-block;justify-self:start;padding:4px 8px;border-radius:5px;background:#DCEBFF;color:#1A1F2B;font-size:13px;font-weight:700;letter-spacing:.03em;white-space:nowrap}
.example-row:nth-child(3) b{background:#FFF6CC}
.example-row:nth-child(4) b{background:#E6F7F1}
.example-row p{font-size:16px;font-weight:400;line-height:1.8;color:#3A4558}
.example-row.product p{padding:12px 14px;border-radius:10px;background:#FFF6CC;font-size:18px;font-weight:800;color:#1450D2}
.footnote{margin-top:15px!important;font-size:13px!important;font-weight:400!important;line-height:1.7!important;color:#5A6478!important}
.support{background:#EEF5FF!important}
.timeline{position:relative;margin:27px 0 22px;padding-left:28px}
.timeline:before{content:"";position:absolute;top:7px;bottom:65px;left:8px;width:2px;background:#8CB8FF}
.phase{position:relative;margin-bottom:15px;padding:18px 15px;border:0;border-radius:16px;background:#fff}
.phase:before{content:"";position:absolute;left:-27px;top:21px;width:12px;height:12px;border:3px solid #1E66F5;border-radius:50%;background:#fff}
.phase-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#1450D2;font-size:15px;font-weight:700;letter-spacing:.06em}.phase-label>span:first-child{padding:6px 11px;border-radius:999px;background:#DCEBFF}
.time-chip{padding:4px 9px;border-radius:999px;background:#EEF5FF;color:#1450D2;font-size:15px;letter-spacing:.06em}
.phase h3{margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.55}
.phase ul{margin:0;padding-left:1.2em;color:#4F5B6E;font-size:15px;font-weight:400;line-height:1.9;letter-spacing:.03em}
.timeline-arrow{margin:-6px 0 10px -1px;color:#1E66F5;font-size:22px;font-weight:700;text-align:center}
.phase.goal{background:#FFF8D6;color:#1450D2}
.phase.goal:before{border-color:#FFE45C;background:#FFF8D6}
.phase.goal h3{margin:0;color:#1450D2;font-size:19px;line-height:1.6}
.future{background:#fff!important}
.future-list{display:grid;gap:12px;margin:22px 0}
.future-item{display:flex;align-items:flex-start;gap:10px;color:#1A1F2B;font-size:16px;font-weight:700;line-height:1.65;letter-spacing:.03em}
.check{flex:none;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#FFF0A8;color:#1450D2;font-size:15px;font-weight:700}
.future-turn{margin-top:22px!important;color:#1A1F2B!important;font-size:22px!important;font-weight:800!important;line-height:1.65!important}
.future-turn strong{box-shadow:inset 0 -9px 0 #FFE45C}
.for-you{background:#EEF5FF!important}
.fit-grid{display:grid;gap:28px}
.fit-box{padding:0;border:0;border-radius:0;background:transparent}
.fit-box.no{padding-top:16px;border-top:1px solid #C9D4E3}
.fit-box h3{margin:0 0 12px;color:#1450D2;font-size:20px;font-weight:800}
.fit-box.no h3{color:#4F5B6E;font-size:17px;font-weight:700}
.fit-box ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.fit-box li{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;background:#fff;color:#1A1F2B;font-size:17px;font-weight:700;line-height:1.65;letter-spacing:0}
.fit-box.no li{padding:0;background:transparent;font-size:15px;font-weight:400;line-height:1.8;letter-spacing:0;color:#4F5B6E}
.fit-icon{flex:none;display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;background:#1450D2;color:#fff;font-size:0;font-weight:700}.fit-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.no .fit-icon{width:22px;height:22px;background:#E3E7ED;color:#6C7686;font-size:20px}
.faq-section{background:#fff!important}
.faq{display:grid;gap:10px}
.faq-hint{margin:-12px 0 14px!important;color:#4F5B6E!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important}
.faq details{border:1px solid #D6DEEE;border-radius:12px;background:#fff;transition:border-color .15s ease}
.faq details:hover,.faq details:focus-within{border-color:#1450D2}
.faq summary{display:flex;align-items:center;gap:10px;padding:16px;cursor:pointer;list-style:none;font-size:16px;font-weight:700;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary:focus-visible{outline:2px solid #1450D2;outline-offset:2px;border-radius:12px}
.faq summary>span:nth-child(2){flex:1}
.faq summary:after{content:"＋";flex:none;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#DCEBFF;color:#1450D2;font-size:18px;font-weight:700;line-height:1}
.faq details[open] summary:after{content:"−"}
.faq details[open] summary{padding-bottom:12px}
.faq details[open] .answer{margin:0 16px;padding:12px 0 16px;border-top:1px solid #D6DEEE}
.qa{flex:none;display:inline-flex;width:23px;height:23px;align-items:center;justify-content:center;border-radius:50%;background:#1450D2;color:#fff;font-size:16px;font-weight:700}
.answer{display:flex;gap:10px;padding:0 16px 16px;color:#4F5B6E;font-size:15px;font-weight:400;line-height:1.85;letter-spacing:.02em}
.qa.a{background:#FFF0A8;color:#1450D2}
.consultation{background:#FFF8D6!important}
.takeaways{display:grid;gap:14px;margin:22px 0 30px}
.takeaway{display:flex;align-items:center;gap:14px;padding:8px 0;color:#1A1F2B;font-size:16px;font-weight:700;line-height:1.65;letter-spacing:.03em}
.takeaway-num{flex:none;color:#1450D2;font-size:28px;font-weight:700}
.consultation h2[style]{font-size:26px!important;margin-top:4px}
.flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:17px 0 28px}
.flow-step{display:flex;flex-direction:column;align-items:center;gap:8px;padding:9px 0;text-align:center;color:#1A1F2B;font-size:15px;font-weight:400;line-height:1.9;letter-spacing:.03em}
.flow-num{flex:none;display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:#1E66F5;color:#fff;font-size:15px;font-weight:700}
.button-area{text-align:center}
.lp-bubble{display:inline-block;margin-bottom:9px;padding:5px 12px;border-radius:999px;background:#DCEBFF;color:#1450D2;font-size:15px;font-weight:700;letter-spacing:.06em}
.lp-cta{position:relative;display:flex;min-height:60px;align-items:center;justify-content:center;margin:0 auto;padding:10px 42px 10px 17px;border:0;border-radius:999px;background:#06C755;box-shadow:0 5px 0 #04A346;color:#fff;text-decoration:none;text-align:center;font-size:15px;font-weight:900;line-height:1.4;letter-spacing:.03em}
.lp-cta:after{content:"›";position:absolute;right:18px;font-size:28px;line-height:1}
.final-section{background:linear-gradient(180deg,#EEF5FF 0%,#fff 100%)!important}
.final-copy{text-align:center;white-space:pre-line;font-size:18px!important;font-weight:700!important;color:#1A1F2B!important}
.final-band{margin:26px -22px 28px;padding:15px 20px;width:calc(100% + 44px);clip-path:polygon(0 0,100% 0,96% 100%,0 100%);background:#1450D2;color:#fff;text-align:center;font-size:21px;font-weight:900;letter-spacing:.02em}
@media(min-width:431px){.lp-body{box-shadow:none}}
.lp-section h2,.lp-section h3,.lp-section p,.lp-section li,.lp-section summary,.lp-section strong{word-break:auto-phrase}

.num,.issue-number,.takeaway-num,.flow-num{font-family:"Montserrat","Noto Sans JP",sans-serif;font-weight:700}
.num{letter-spacing:.02em}

/* 親の微調整: ボタンと帯の文字が2行に割れないように */
.lp-cta{letter-spacing:0;font-size:15px;white-space:nowrap}
.dark-ribbon,[class*="ribbon"]{letter-spacing:0;white-space:nowrap}

/* 親の修正(10/22): 本文の書体を、参考LP(AI Rich Studio・Uravation)が実際に表示しているヒラギノに。ヒラギノがない端末(Android など)は Noto Sans JP */
.lp-section,.lp-section *{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
.lp-section .num,.lp-section .issue-number,.lp-section .takeaway-num,.lp-section .flow-num{font-family:"Montserrat","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
.lp-section p,.lp-section li{font-weight:400}
.lp-section h2{font-weight:700}
.lp-section h3{font-weight:700}

/* 親の微調整(v5後): 図解のラベルと比べる表の見出しの割れ */
.formula-label{font-size:13.5px;letter-spacing:0;white-space:nowrap}
.compare thead th{font-size:12.5px;letter-spacing:0;word-break:auto-phrase;line-height:1.35}
.compare th:first-child{width:78px}
.compare tbody th{font-size:13px;letter-spacing:0;word-break:auto-phrase;line-height:1.4}
.compare th:first-child{width:96px}

/* 親の修正 v6(10/22): Safari でも文節で改行する。<wbr> を文節の間に入れ、文節の途中では折り返さない */
.lp-section,.lp-section *{word-break:keep-all;overflow-wrap:anywhere;line-break:strict}
.lp-section h2,.lp-section h3,.lp-section .lead,.example-heading{text-wrap:balance}
/* 比べる表の記号: 文字ではなく同じ大きさの図形にして中心をそろえる */
.compare td{vertical-align:middle}
.mark{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:0!important;border-radius:0;vertical-align:middle}
.mark svg{width:26px;height:26px;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mark-x svg{stroke:#9AA4B5}
.mark-t svg{stroke:#7A879C}
.mark-o svg,.mark-w svg{stroke:#1450D2}
.compare tbody td:last-child .mark svg{stroke:#1450D2;stroke-width:2.6}
/* 帯と帯の間の隙間を白に */
.solution{background:linear-gradient(#fff 0,#fff 54px,#FFF8D6 54px)!important}
/* 商品のアイデア例: カード1枚=1例。経験 → 商品の形(主役) → AIの使いどころ の流れを見せる */
.examples{gap:20px;margin-top:24px}
.example{padding:0;border:1px solid #D6DEEE!important;border-radius:16px;overflow:hidden;background:#fff}
.example-heading{margin:0;padding:16px 18px;background:#EEF5FF;font-size:19px;font-weight:700;line-height:1.5}
.example-heading img{width:60px;height:60px;border:3px solid #fff}
.example-row{display:block;padding:14px 18px 0}
.example-row b{display:block;padding:0;background:none!important;color:#1450D2;font-size:14px;font-weight:700;letter-spacing:.04em;margin-bottom:4px}
.example-row b::before{content:"";display:inline-block;width:4px;height:14px;margin-right:8px;border-radius:2px;background:#1450D2;vertical-align:-2px}
.example-row p{font-size:16px;line-height:1.8;color:#1A1F2B;font-weight:400}
.example-row:nth-child(2)::after{content:"";display:block;width:0;height:0;margin:12px auto 0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid #1450D2}
.example-row.product{padding-top:10px}
.example-row.product b{color:#B07A00}
.example-row.product b::before{background:#F2B705}
.example-row.product p{padding:14px 16px;border-radius:12px;background:#FFF6CC;font-size:19px;font-weight:700;line-height:1.6;color:#1450D2}
.example-row:last-child{padding-bottom:18px}
.example-row:last-child b{color:#0F8A63}
.example-row:last-child b::before{background:#2DB37F}
.example-row:last-child p{font-size:15px;color:#3A4558}
.compare tbody td:last-child .mark svg circle:last-child{display:inline}
/* 段落は最終行に1〜2文字だけ残らないように(Chrome・Safari 26以降) */
.lp-section p,.lp-section li,.lp-section summary{text-wrap:pretty}
.num{white-space:nowrap}

/* 親の修正 v7(10/22): 改行はすべて手で意味のまとまりに入れた(<br>)。ブラウザ任せの折り返しはやめる */
.lp-section,.lp-section *{overflow-wrap:normal!important;word-break:keep-all!important;text-wrap:wrap!important}
.lp-section p,.lp-section .answer-copy,.lp-section .callout,.lp-section .cause-copy{white-space:normal!important}
.example-heading span{display:block}
/* 相談までの流れ: 3列をやめて縦に並べる(文字を細切れにしない) */
.flow{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.flow-step{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;text-align:left!important}
.flow-step span:last-child{font-size:16px;line-height:1.6}
.dark-ribbon{font-size:clamp(16px,4.8vw,19px)!important;letter-spacing:0!important}

/* 親の修正 v8(10/22): 中心軸をそろえる。実在LP8本の実測: 見出しは5本が中央、短い導入文は中央、カード・箇条・質問の中は左 */
.lp-section>h2{text-align:center!important}
.lp-section>h2::after{content:"";display:block;width:40px;height:3px;margin:14px auto 0;border-radius:2px;background:#1450D2}
.lp-section.consultation>h2:nth-of-type(2)::after{display:none}
.lp-section>p,.lp-section>p.lead,.cause-copy,.cause-quote,.answer-copy,.callout,.future-turn,.final-copy,.faq-hint,.lp-section>p.footnote,.center-question{text-align:center!important}
.cause-quote{border-left:0!important;padding-left:0!important}
.callout{border-left:0!important;background:none!important;padding-left:0!important;padding-right:0!important}
.answer-band{text-align:center!important;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)!important}
.dark-ribbon{clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)!important}
/* 箇条・カードは中の文は左のまま、かたまりごと中央に */
.future-list{display:grid;justify-content:center}
.fit-grid h3{text-align:center}
.takeaways,.flow{max-width:320px;margin-left:auto!important;margin-right:auto!important}
.lp-section.consultation>h2:nth-of-type(2){font-size:22px}
.compare{table-layout:fixed;min-width:0!important}
.compare th:first-child{width:100px!important}
.compare-wrap{margin-left:0!important;margin-right:0!important}

/* 親の修正 v9(10/23): 本文の写真を生成イラストに(大きさは前のまま) */
.section-photo{object-fit:cover;object-position:center;background:#fff}
.example-heading img{object-position:center 25%;background:#fff}
.example-heading img[src*="gen_ex2_keiei"]{object-position:62% 30%}

/* 親の修正 v10(10/23): Safari は Chrome より文字がわずかに広く、はみ出すことがある。1行の幅に1割の余裕を持たせる */
.lp-section>h2{font-size:25px!important}
.example-row.product p{font-size:17px!important}
.issue p{font-size:14.5px!important}
.formula-label{font-size:12.5px!important}
.dark-ribbon{font-size:clamp(15px,4.5vw,18px)!important}
@media (max-width:380px){.lp-body{zoom:.93}}
