/* 承認画像を実素材として使う、縦読みのLP。予約・FAQは既存のHTML操作を維持。 */
:root{--green:#075849;--mint:#edf7ef;--ink:#354d43;--line:#dce9df;--accent:#54ad87}
body{background:#f2f0e9;color:var(--ink)}.page{max-width:760px;background:#fffdf9;box-shadow:0 0 45px #194b3510}.header{height:64px;padding:0 26px;background:#fff}.header .logo{font-size:27px}.header nav{font-size:13px;gap:14px}.header nav a[href="#booking"]{display:none}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero.image-hero{min-height:0;background:#fffdf9;isolation:auto}.hero.image-hero:after{display:none}.approved-hero{display:block;width:100%;height:auto}.hero .hero-action{margin:0 20px 24px;padding:20px 24px 15px;max-width:none;background:#e5f4e9;border-radius:24px}.hero-action:before{content:'日程をすぐに確認';display:table;margin:0 auto 12px;background:#fff;border-radius:30px;padding:3px 22px;color:var(--green);font-size:15px;font-weight:700}.hero-action .cta{min-height:74px;font-size:24px;border-radius:60px;padding:14px 24px;line-height:1.4}.hero-action p{font-size:16px;margin-top:12px}.cta,#booking .booking-btn-next,#booking .booking-submit{background:linear-gradient(180deg,#fe8a52,#fd613f);color:white;border:1px solid #ffc08a;box-shadow:0 5px 0 #d9522f,0 9px 18px rgba(217,82,47,.22),inset 0 1px 0 #ffc07a}.cta:hover{filter:brightness(1.04);transform:translateY(-1px)}.cta .cta-label{text-wrap:balance}.approved-support{background:#fffdf9}.approved-support>img{width:100%;height:auto;display:block}
.proof-voices{padding:38px 28px 40px;background:linear-gradient(155deg,#e4f4e9,#f5faf6);border-radius:46% 3% 0 0 / 18px 8px 0 0}.reviews-heading h2{font-size:29px}.reviews-heading h2:before,.reviews-heading h2:after{content:'╱';color:#d9be64;display:inline-block;margin:0 13px;font-weight:400}.reviews-heading h2:after{transform:scaleX(-1)}.reviews-heading>p{font-size:14px}.reviews-track{grid-auto-columns:100%;gap:22px}.review-card{display:grid;grid-template-columns:86px 1fr;gap:15px;padding:22px;background:#fff;border:1px solid #e0eee3;border-radius:25px;box-shadow:0 6px 12px #377b4b0b}.review-meta{padding:0;display:flex;align-items:center;flex-direction:column;gap:10px}.review-avatar{width:76px;height:76px;padding:0;overflow:hidden}.review-avatar img{width:100%;height:100%;object-fit:cover}.review-topic{font-size:14px}.review-meta p{font-size:12px}.review-index{display:none}.review-card blockquote{padding:0;border:0;box-shadow:none;border-radius:0;background:none;align-self:center}.review-card blockquote:before{display:none}.review-card blockquote p{font-size:18px;line-height:1.85}.reviews-controls button{border:0;box-shadow:0 3px 8px #144d2515}.reviews-disclaimer{font-size:12px}
.wrap{padding:44px 30px}h2,.needs h2,.support-content h2,.first-talk h2,.conditions h2,.compare h2,.flow h2,.closing h2,.faq h2,#booking h2{font-size:29px;font-weight:750;line-height:1.55;letter-spacing:.015em}h3{font-size:21px}.needs{background:#fffdf9;padding:40px 28px}.needs-grid{gap:14px}.needs article{background:#eff8f1;border:1px solid #dceee2;border-radius:18px;padding:18px 10px}.needs .art{height:85px}.needs h3{font-size:18px}.about{background:#f1f8f1}.intro{font-size:17px;margin:10px 0 25px}.feature-grid{grid-template-columns:1fr 1fr;gap:18px}.feature-grid article{background:#fff;border:0;border-radius:20px;padding:20px 14px;box-shadow:0 6px 12px #377b4b08}.feature-grid .art{width:100%;height:150px;object-fit:contain}.feature-grid h3{font-size:20px}.feature-grid p{font-size:15px}.support-top{display:block;background:#fffdf9}.support-photo{height:280px;object-fit:cover}.support-content{padding:34px 30px}.support-content h2{text-align:center}.support li{gap:20px;margin-top:24px}.number{background:#dcefdf;width:44px;height:44px;flex-basis:44px;font-size:25px}.support h3{font-size:21px}.support li p{font-size:16px}.support-bottom{display:block;background:#edf6ed}.second-photo{display:none}.first-talk{padding:30px}.first-talk h2{text-align:center}.first-talk p{text-align:center;font-size:17px}.first-talk small{font-size:14px;background:transparent;text-align:center}.conditions{background:#fffdf9}.conditions-grid{grid-template-columns:1fr 1fr;gap:18px}.conditions article{display:block;padding:22px;text-align:center;background:#eef8f2;border:0;border-radius:20px}.conditions .art{width:100%;height:130px;object-fit:contain;margin:auto}.conditions h3{font-size:21px;margin:12px 0 5px}.conditions p:not(.fine){font-size:16px}.conditions .fine{margin-top:18px;font-size:14px}.compare{background:#fffdf9;padding-top:15px}.compare table{min-width:680px;font-size:15px}.compare td,.compare th{padding:15px 12px;border-color:#d5e5d9}.compare thead th:nth-child(2){background:#55ad86}.compare td:nth-child(2){background:#e5f3e8}.compare .fine{font-size:13px}.table-hint{display:block;font-size:13px;margin-bottom:10px}
.flow{background:#f0f8f1}.flow ol{grid-template-columns:1fr 1fr;gap:20px}.flow li{border-radius:20px;padding:24px 15px;background:#fff}.flow .art{height:130px;width:100%;object-fit:contain}.flow-number{top:15px;left:15px;background:#55ad86;font-size:18px;width:30px;height:30px}.flow li:after{display:none!important}.flow h3{font-size:20px}.flow p{font-size:15px}.closing{display:block;background:linear-gradient(145deg,#e1f2e6,#f5f9f0);padding:26px 10px}.note-photo{display:none}.closing>div{padding:20px}.closing h2{text-align:center}.closing ul{max-width:480px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:16px;margin:22px auto}.closing .cta{max-width:600px;border-radius:50px;padding:16px 22px;font-size:22px}.closing .fine{font-size:14px;margin-top:16px}.faq{background:#f3f9f4}.faq h2{margin-bottom:25px}.faq details{background:#fff;border:1px solid #e1ede4!important;border-radius:14px;margin:10px 0;padding:0 18px}.faq summary{min-height:66px;font-size:16px;line-height:1.7}.faq summary:before{content:'Q';color:#55ad86;font-weight:700;font-size:22px;margin-right:12px;flex:none}.faq summary>span{margin-left:auto}.faq details p{font-size:15px}.faq-more{border-radius:30px;font-size:16px;padding:12px 32px}.footer{background:#075849;color:#fff;padding:26px 22px 35px;flex-wrap:wrap;justify-content:center;text-align:center}.footer .logo{color:white}.footer>div{font-size:12px}.footer .footer-company{width:100%;align-items:center;font-size:12px}
#booking{background:#fffdf9;padding:40px 30px 50px}#booking .booking-steps{margin:22px 0}#booking #date-cards{grid-template-columns:1fr}#booking .date-card{border-radius:14px;padding:20px 24px;min-height:88px}#booking .date-card-label{font-size:20px}#booking .date-card-sub{font-size:14px}#booking .booking-btn-next,#booking .booking-submit{border-radius:40px;font-size:19px}#booking .booking-btn-back{border-radius:30px}.floating-cta .cta{border-radius:50px;box-shadow:0 4px 0 #d9522f,0 6px 20px rgba(217,82,47,.26),inset 0 1px 0 #ffc07a;border-color:#ffc08a}.floating-cta{width:330px}.floating-action{font-size:15px}
@media(min-width:1001px){.hero.image-hero{min-height:0}.hero-action .cta{width:100%}.needs-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.header{height:50px;padding:0 18px}.header .logo{font-size:24px}.hero .hero-action{padding:14px 16px 13px;margin:0 12px 18px;border-radius:22px}.hero-action:before{font-size:13px;margin-bottom:10px;padding:2px 16px}.hero-action .cta{font-size:20px;min-height:66px;padding:12px 15px}.hero-action p{font-size:13px;margin-top:12px}.proof-voices{padding:28px 18px}.reviews-heading h2{font-size:24px}.reviews-heading h2:before,.reviews-heading h2:after{margin-inline:7px}.review-card{grid-template-columns:55px 1fr;gap:12px;padding:18px 14px}.review-avatar{width:53px;height:53px}.review-meta p{font-size:11px;text-align:center}.review-topic{font-size:12px;text-align:center;display:block}.review-card blockquote p{font-size:16px;line-height:1.85}.wrap,.needs{padding:32px 18px}h2,.needs h2,.support-content h2,.first-talk h2,.conditions h2,.compare h2,.flow h2,.closing h2,.faq h2,#booking h2{font-size:25px}.needs-grid{grid-template-columns:1fr}.needs article{padding:16px 20px;gap:22px}.needs .art{width:80px;height:75px}.needs h3{font-size:20px}.feature-grid{gap:12px}.feature-grid article{padding:15px 10px}.feature-grid .art{height:110px}.feature-grid h3{font-size:18px;line-height:1.6}.feature-grid p{font-size:14px;line-height:1.75}.support-photo{height:200px}.support-content{padding:28px 18px}.support h3{font-size:19px}.support li{gap:12px}.support li p{font-size:16px}.first-talk{padding:28px 18px}.conditions-grid{grid-template-columns:1fr}.conditions article{display:grid;grid-template-columns:90px 1fr;gap:16px;text-align:left;padding:18px}.conditions .art{height:90px}.conditions h3{margin-top:0}.conditions p:not(.fine){font-size:15px}.flow ol{grid-template-columns:1fr}.flow li{padding:25px 20px}.flow .art{height:145px;max-width:230px;margin:auto}.flow h3{font-size:20px}.flow p{font-size:16px}.closing ul{grid-template-columns:1fr;font-size:16px}.closing .cta{font-size:20px}.closing .fine{font-size:13px}.faq summary{font-size:16px;gap:7px}.faq summary:before{margin-right:5px;font-size:20px}#booking{padding:32px 18px}#booking .date-card-label{font-size:19px}#booking .booking-step-dot{font-size:12px}.floating-cta{width:auto;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.floating-cta .cta{font-size:18px;padding:9px 18px}.floating-action{font-size:14px}.footer>div{font-size:12px}.footer .logo{font-size:23px}}
@media(max-width:359px){.hero-action .cta{font-size:18px}.feature-grid{grid-template-columns:1fr}.review-card{grid-template-columns:1fr}.review-meta{flex-direction:row;align-items:center}.review-meta p{text-align:left}.review-topic{text-align:left}.conditions article{grid-template-columns:70px 1fr;gap:12px}.conditions .art{height:70px}}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}
.flow{padding:0}.flow-approved{width:100%;height:auto;display:block}.section-title-with-art{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:15px}.section-title-with-art h2{margin:0;text-align:left}.section-title-with-art img{width:90px;height:auto;mix-blend-mode:multiply}.booking-title-art{width:120px;height:auto;display:block;margin:0 auto 15px;mix-blend-mode:multiply}
.approved-service-grid{gap:12px}.approved-service-grid>img{display:block;width:100%;height:auto;border-radius:20px}.needs .art{object-fit:contain}.support-photo{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:#fffdf9}.conditions .art{object-fit:contain}
@media(max-width:700px){.approved-service-grid{grid-template-columns:1fr}.approved-service-grid>img{max-width:500px;margin:auto}}
@media(max-width:700px) and (max-height:700px){.hero .hero-action{padding-top:8px}.hero-action:before{margin-bottom:6px;font-size:12px;line-height:1.4}.hero-action .cta{font-size:19px;line-height:1.35;min-height:60px;padding:10px 16px}.hero-action p{margin-top:9px}}
@media(max-width:700px) and (max-height:650px){.hero-action:before{display:none}.hero .hero-action{padding-top:12px}}
@media(min-width:701px){.approved-hero{max-height:calc(100svh - 250px);object-fit:contain}.hero .hero-action{max-width:620px;margin-inline:auto}.hero-action .cta{font-size:23px;padding:12px 24px;min-height:68px}.hero-action:before{margin-bottom:8px}.hero .hero-action{padding-top:14px}}

/* お手本の見出し・読みやすさ・既存演出を復元 */
.art-heading{color:#074a42;font-weight:900!important;letter-spacing:-.035em!important;line-height:1.5!important;margin-bottom:25px}
.art-heading mark{color:inherit;background:linear-gradient(transparent 73%,#fff390 73%,#fff390 94%,transparent 94%);padding:0 .1em .08em}
.needs .art-heading,.conditions .art-heading{font-size:36px}.conditions{background:linear-gradient(170deg,#fffdf9 60%,#e9f6ed);border-radius:0 0 35px 35px}.conditions-grid{align-items:stretch}.conditions article{background:white;box-shadow:0 5px 22px #38866b12;border:1px solid #e2eee7;display:block;padding:18px;text-align:center}.conditions .art{height:150px}.conditions h3{font-weight:850}.conditions p{line-height:1.8}
.approved-service-grid .service-card{display:grid;grid-template-columns:1fr 44%;grid-template-rows:auto 1fr;gap:10px 0;padding:20px 16px;overflow:hidden;min-height:190px}.service-card h3{grid-column:1/-1;margin:0;font-size:21px;font-weight:850;text-align:left}.service-card p{grid-column:1;grid-row:2;font-size:16px;line-height:1.8;margin:0;z-index:1;text-align:left}.service-card img{grid-column:2;grid-row:2;width:135%;max-width:none;height:auto;align-self:end;margin-left:-20%;mix-blend-mode:multiply}.support-photo{width:100%;aspect-ratio:3/2;object-fit:cover}
.hero-action:before{display:table;font-size:14px}.hero-action p,.review-topic,.review-meta p,.reviews-disclaimer,.compare .fine,.table-hint,.closing .fine,.footer>div,.footer .footer-company,#booking .booking-step-dot,.first-talk small{font-size:14px}.reviews-controls{flex-wrap:wrap}.reviews-controls .review-autoplay{width:auto;height:auto;flex-basis:100%;max-width:200px;border-radius:30px;padding:9px 18px;font-size:14px;color:var(--green);background:#fff;margin:4px auto 0}.closing h2 span,.closing h2 mark{white-space:nowrap}.closing h2{font-size:30px}
.cta,#booking .booking-btn-next,#booking .booking-submit{position:relative;isolation:isolate;overflow:hidden}.cta::before,#booking .booking-btn-next::before,#booking .booking-submit::before{content:"";display:block;position:absolute;inset:-50% -20%;background:linear-gradient(110deg,transparent 38%,#ffffff10 43%,#ffffffa6 50%,#ffffff10 57%,transparent 62%);transform:translateX(-120%);animation:restored-cta-shine 4.8s ease-in-out infinite;pointer-events:none;z-index:0}.cta>*{position:relative;z-index:1}@keyframes restored-cta-shine{0%,60%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}#booking button:disabled::before{display:none}
@media(max-width:700px){.needs .art-heading,.conditions .art-heading{font-size:30px}.closing h2{font-size:25px}.approved-service-grid{grid-template-columns:1fr}.conditions-grid{grid-template-columns:1fr 1fr;gap:12px}.conditions article{padding:16px 10px;display:block}.conditions .art{height:100px}.conditions h3{font-size:19px}.conditions p:not(.fine){font-size:16px}.review-card{grid-template-columns:68px 1fr}.hero-action:before{font-size:14px}.service-card h3{font-size:22px}.hero-action p{font-size:14px}}
@media(max-width:359px){.needs .art-heading,.conditions .art-heading{font-size:27px}.closing h2{font-size:22px}.review-card{grid-template-columns:1fr}.conditions-grid{gap:8px}.conditions article{padding:12px 8px}.conditions h3{font-size:17px}.conditions p:not(.fine){font-size:15px}.conditions .art{height:85px}}
@media(prefers-reduced-motion:reduce){.cta::before,#booking .booking-btn-next::before,#booking .booking-submit::before{animation:none;display:none}}

.footer small,.logo small,#booking .booking-step-num{font-size:14px}
.approved-service-grid .service-card{min-height:0}.service-card img{height:160px;object-fit:contain}.service-card p{line-break:strict;word-break:normal}

.about-image-title{margin:0 -12px 18px!important;line-height:0!important}.about-image-title img{display:block;width:100%;height:auto}.service-card h3,.service-card p{filter:none;opacity:1;text-shadow:none;transform:none;color:#164e43}.service-card h3{font-weight:800}.service-card p{font-size:16px}

/* 提出デザインの書体・色・装飾を画像見出し全体に統一。 */
.page h2.generated-heading{display:block;padding:0!important;margin:0 auto 20px!important;width:100%;max-width:660px;line-height:0!important;font-size:0!important;background:none;border:0;letter-spacing:normal}
.page h2.generated-heading::before,.page h2.generated-heading::after{display:none!important}
.page h2.generated-heading img{display:block;width:100%;max-width:none;height:auto;mix-blend-mode:multiply;object-fit:contain}
.section-title-with-art{display:block}.section-title-with-art>img{display:none}.booking-title-art{display:none}
@media(max-width:700px){.page h2.generated-heading{margin-bottom:16px!important}}

/* 口コミは体験本文と編集見出しを分離し、研修と伴走の具体例を先頭に。 */
.reviews-focus{text-align:center;color:#075849;font-size:18px;line-height:1.8;margin:0 0 24px}.reviews-focus strong{font-size:22px}.review-content{min-width:0;align-self:center}.review-highlight{color:#075849;font-size:20px!important;line-height:1.6!important;margin:0 0 12px!important;text-align:left;font-weight:800}.review-highlight::after{content:"";display:block;width:48px;height:3px;background:#edcf58;margin-top:9px}
@media(max-width:700px){.review-highlight{font-size:18px!important}.reviews-focus{font-size:17px}.reviews-focus strong{font-size:20px}}

/* PCのFVは主画像を左、支援素材とCTAを右にまとめる。 */
@media(min-width:1001px){
  .page{max-width:1120px}
  .page>main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .page>main>*{grid-column:1/-1}
  .page>main>.hero.image-hero{display:contents}
  .page>main>.hero.image-hero>.approved-hero{grid-column:1;grid-row:1/3;width:min(100%,500px);height:auto;max-height:none;object-fit:contain;justify-self:center;align-self:center}
  .page>main>.approved-support{grid-column:2;grid-row:1;display:flex;align-items:end;justify-content:center;padding:28px 24px 0;background:linear-gradient(150deg,#fffdf9,#edf7ef)}
  .page>main>.approved-support>img{width:100%;height:auto;max-height:600px;object-fit:contain}
  .page>main>.hero.image-hero>.hero-action{grid-column:2;grid-row:2;align-self:end;margin:0 24px 24px;padding:14px;background:#e5f4e9}
  .hero-action .cta{min-height:60px;font-size:21px}
  .hero-action p{margin-top:8px}
  .reviews-track{max-width:720px;margin-inline:auto}
  .support-top{display:grid;grid-template-columns:1fr 1fr;align-items:center}
  .support-photo{height:100%;max-height:480px;aspect-ratio:4/3;object-fit:cover}
  .support-content{padding:26px}
  .support li{margin-top:16px}
  .support h3{font-size:19px}
  .support li p{font-size:15px}
}
@media(min-width:1001px) and (max-height:750px){
  .page>main>.hero.image-hero>.approved-hero{width:min(100%,440px)}
}
@media(min-width:1001px) and (max-height:650px){
  .page>main>.hero.image-hero>.approved-hero{width:min(100%,400px)}
  .page>main>.approved-support>img{width:min(100%,400px)}
}

/* 参考LPのように運営者情報を小さく残し、フッターの面積を抑える。 */
.footer.footer-simple{display:block;padding:0;border:0;background:#fff;color:#234139;text-align:center}.footer-simple .footer-links{display:flex;justify-content:center;align-items:center;width:100%;min-height:58px;padding:14px 18px;order:0;font-size:14px}.footer-simple .footer-links a{color:#234139;text-decoration:underline;text-underline-offset:3px}.footer-simple .footer-copyright{display:block;width:100%;padding:14px 16px;background:#0c3b31;color:#fff;font-size:12px;font-weight:600;line-height:1.5}

/* 相談カードは文章とイラストを左右で中央揃えにし、対角の空白を解消する。 */
.approved-service-grid .service-card{display:grid;grid-template-columns:minmax(0,1fr) 36%;grid-template-rows:auto auto;column-gap:12px;row-gap:6px;align-content:center;align-items:center;min-height:190px;padding:20px 22px;text-align:left}
.approved-service-grid .service-card h3{grid-column:1;grid-row:1;align-self:end;margin:0;text-align:left}
.approved-service-grid .service-card p{grid-column:1;grid-row:2;align-self:start;margin:0;line-height:1.6}
.approved-service-grid .service-card img{grid-column:2;grid-row:1/3;width:100%;height:150px;max-width:150px;max-height:none;object-fit:contain;justify-self:center;align-self:center;margin:0;mix-blend-mode:multiply}
@media(max-width:700px){.approved-service-grid .service-card{grid-template-columns:minmax(0,1fr) 128px;min-height:168px;padding:16px}.approved-service-grid .service-card h3{font-size:19px}.approved-service-grid .service-card p{font-size:15px}.approved-service-grid .service-card img{width:128px;height:128px}}
@media(max-width:359px){.approved-service-grid .service-card{grid-template-columns:minmax(0,1fr) 96px;column-gap:8px;min-height:152px}.approved-service-grid .service-card h3{font-size:16px}.approved-service-grid .service-card p{font-size:14px}.approved-service-grid .service-card img{width:96px;height:96px}}

/* 若山さんの指摘：FV直下でサービスを定義し、比較軸を読みやすくする。 */
.service-summary{grid-column:1/-1;display:block;margin:0;padding:20px 30px 24px;background:#f0f8f2;color:#075849;text-align:center;font-size:19px;font-weight:750;line-height:1.75;letter-spacing:.005em}
.compare table{min-width:900px;table-layout:fixed}
.compare th,.compare td{white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.65;vertical-align:middle}
.compare thead th:first-child{width:22%;background:#eaeceb;color:#075849}
.compare thead th:not(:first-child){width:26%}
.compare tbody th{font-size:15px;font-weight:800}
@media(min-width:1001px){.page>main>.service-summary{grid-row:3}}
@media(max-width:700px){.service-summary{padding:17px 20px 20px;font-size:16px}.compare tbody th{font-size:14px}}
