:root{--navy:#1b4166;--dark:#103354;--paper:#fefbf4;--ice:#e9f1f6;--ink:#34475c;--muted:#536779;--line:#d5e0e7;--peach:#94634f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font:1.125rem/1.9 'Noto Sans JP','Yu Gothic',Meiryo,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy)}h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.6}h3{font-size:1.4rem;line-height:1.6}p+p{margin-top:16px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.section{padding:80px 0}.skip{position:absolute;top:-100px;left:8px;z-index:100;background:white;padding:10px}.skip:focus{top:8px}.site-header{position:sticky;top:0;background:#fefbf4fa;border-bottom:1px solid var(--line);z-index:30}.header-inner{display:flex;gap:24px;align-items:center;min-height:90px;padding-top:15px;padding-bottom:15px;flex-wrap:wrap}.brand{display:flex;gap:18px;align-items:center;color:var(--navy);text-decoration:none}.brand-mark{font:700 3rem/1 Oswald,'Arial Narrow',sans-serif}.brand-sub{font-size:1rem;font-weight:700;line-height:1.6}.brand-sub small{display:block;font-size:.875rem;font-weight:400}.nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:.95rem;font-weight:700}.nav a{text-decoration:none;min-height:44px;display:flex;align-items:center}.nav .button{display:none}.header-cta{margin-left:auto}.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;text-align:center;min-height:60px;padding:15px 25px;border-radius:999px;text-decoration:none;font-size:1.05rem;line-height:1.6;font-weight:700;border:1px solid transparent}.button-primary{background:var(--navy);color:white}.button-primary:hover{background:var(--dark)}.button-outline{background:white;color:var(--navy);border-color:var(--navy)}.button-outline:hover{background:var(--ice)}.button-salmon{background:var(--peach);color:white}.svg-icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.burger{display:none;border:1px solid var(--line);background:white;border-radius:10px;min-width:48px;min-height:48px;color:var(--navy)}.hero{background:radial-gradient(ellipse at 90% 35%,#e9f1f6,transparent 55%),var(--paper)}.hero-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;align-items:center;padding-top:65px;padding-bottom:65px}.hero-copy{min-width:0}.eyebrow{font-size:.95rem;font-weight:700;color:var(--peach);margin-bottom:18px}.hero h1{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.55;letter-spacing:-.035em}.accent{color:#8c6955}.lead{font-size:1.2rem;line-height:1.95;margin:25px 0 28px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.fineprint{font-size:1rem;color:var(--muted);margin-top:22px}.hero-visual img{display:block;width:100%;height:auto}.section-heading{text-align:center;max-width:850px;margin:0 auto 35px}.section-heading h2{margin-bottom:15px}.section-heading p{font-size:1.05rem;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.feature-card{background:white;border:1px solid #e5eaec;border-radius:24px;padding:30px;display:flex;align-items:flex-start;gap:20px}.feature-card h3{margin:0 0 13px}.feature-card p{font-size:1.125rem;line-height:1.85}.icon-circle{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--ice);color:var(--navy);flex-shrink:0}.icon-circle .svg-icon{width:32px;height:32px}.section-subtle{background:#f0f5f7}.service-more{background:white;padding:25px 30px;border-radius:20px;border:1px solid var(--line)}summary{font-size:1.125rem;line-height:1.75;font-weight:700;color:var(--navy);cursor:pointer;padding:10px 0;min-height:48px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:25px}.service-panel{padding:20px;background:var(--paper);border-radius:15px}.service-panel .small-label{display:none}.service-panel h3{margin-bottom:15px}.service-panel p,.checklist{font-size:1.05rem}.checklist{padding-left:25px}.checklist li{margin-bottom:8px}.note{font-size:1rem;color:var(--muted);margin-top:20px}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0;margin:0}.step{background:white;border:1px solid var(--line);border-radius:20px;padding:28px;text-align:left}.step-num{display:flex;width:56px;height:56px;background:var(--ice);color:var(--navy);align-items:center;justify-content:center;border-radius:50%;font-size:1.5rem;font-weight:700;margin-bottom:18px}.step strong{font-size:1.2rem;color:var(--navy);display:block;margin-bottom:13px}.step p{font-size:1.05rem}.faq-list{max-width:900px;margin:auto;display:grid;gap:14px}.faq-list details{background:white;border:1px solid var(--line);border-radius:16px;padding:12px 24px}.faq-list summary{padding:12px 0}.faq-list details p{font-size:1.05rem;padding:8px 0 15px;color:var(--muted)}.contact-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--navy);color:white;border-radius:24px;padding:30px;margin-bottom:40px}.contact-banner p{font-size:1.25rem;font-weight:700}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:start}.contact-info h2{font-size:clamp(1.6rem,2.6vw,2.15rem);margin-bottom:20px}.contact-info p{font-size:1.1rem}.contact-tags{display:grid;gap:12px;margin:25px 0}.contact-tags span{display:flex;align-items:flex-start;gap:10px;font-size:1.05rem}.contact-tags svg{margin-top:5px}.contact-options{display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:24px}.contact-options a{display:flex;align-items:center;justify-content:center;min-height:60px;padding:15px 20px;text-decoration:none;border:1px solid var(--navy);border-radius:999px;font-size:1.1rem;font-weight:700;background:white;color:var(--navy)}.contact-options .line-contact-button{background:#08783e;border-color:#08783e;color:white}.contact-options a[hidden]{display:none}.preview-note{background:var(--ice);padding:23px;border-radius:15px;font-size:1.05rem;margin-top:25px}.preview-note ol{padding-left:25px;margin:15px 0}.preview-note li{margin-bottom:10px}.preview-note p{font-size:1rem;overflow-wrap:anywhere}.form-details{background:white;border:1px solid var(--line);border-radius:20px;padding:20px 25px}.form-details summary small{font-size:1rem;font-weight:400;color:var(--muted)}.form-card{margin-top:15px}.form-card label{display:block;font-size:1.05rem;font-weight:700;margin-bottom:20px;color:var(--navy)}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #839bb0;border-radius:9px;padding:12px;color:var(--ink);background:white;font-size:1.05rem;margin-top:8px;line-height:1.6}textarea{resize:vertical;min-height:130px}.form-card .button{width:100%}.form-note{font-size:1rem;color:var(--muted);margin-top:18px}#copy-result{display:none;margin-top:25px}#copy-result.show{display:block}#copy-status{display:block;font-size:1rem;margin-top:15px}.company-section{background:white}.company-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:45px}.company-layout h2{margin-bottom:20px}.company-layout p{font-size:1.05rem}dl{margin:0}dl>div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:1rem}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}.site-footer{background:var(--dark);color:white;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-brand{font-size:1.8rem;font-weight:700}.footer-inner p{font-size:.9rem;margin-top:8px}.footer-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.95rem}.footer-nav a{min-height:44px;display:flex;align-items:center}.mobile-consult{display:none}:focus-visible{outline:3px solid #8d4a1f;outline-offset:4px}button:disabled{cursor:not-allowed}
@media(max-width:1100px){.nav{display:none}.header-cta{margin-left:auto}.burger{display:flex;align-items:center;justify-content:center}.nav.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;max-height:70vh;overflow:auto;background:var(--paper);padding:20px 32px;gap:8px;border-bottom:1px solid var(--line)}.nav.open a{padding:10px;min-height:48px}.nav.open .button{display:flex}.hero h1{font-size:clamp(1.9rem,3.7vw,3rem)}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{gap:12px;min-height:82px;padding-top:12px;padding-bottom:12px}.brand{gap:12px}.brand-mark{font-size:2.3rem}.brand-sub{font-size:.9rem}.brand-sub small{font-size:.8rem}.header-cta{font-size:.9rem;min-height:48px;padding:10px 16px}.header-cta svg{display:none}.hero-layout{grid-template-columns:1fr;padding:35px 0 40px;gap:25px}.hero h1{font-size:clamp(1.85rem,6.9vw,2.8rem)}.lead{font-size:1.15rem;margin:22px 0}.hero-visual{width:100%;max-width:630px;margin:auto}.hero-actions{display:grid;grid-template-columns:1fr;gap:13px}.hero-actions .button{font-size:1.1rem}.fineprint{font-size:1rem}.section{padding:55px 0}.feature-grid,.service-detail,.steps,.contact-grid,.company-layout{grid-template-columns:1fr}.feature-card{padding:26px 23px;gap:16px}.feature-card h3{font-size:1.3rem}.feature-card p{font-size:1.125rem}.icon-circle{width:52px;height:52px}.icon-circle svg{width:28px;height:28px}.service-more{padding:20px}.service-panel{padding:20px}.step{display:grid;grid-template-columns:55px 1fr;gap:0 17px;padding:25px}.step-num{grid-row:span 2;margin:0;width:52px;height:52px}.step p{grid-column:2}.faq-list details{padding:10px 20px}.contact-banner{flex-direction:column;align-items:stretch;padding:25px;text-align:center}.contact-banner p{font-size:1.2rem}.contact-grid{gap:25px}.form-details{padding:20px}.company-layout{gap:25px}dl>div{grid-template-columns:100px minmax(0,1fr);gap:12px}.footer-inner{flex-direction:column;align-items:flex-start;padding-bottom:95px}.footer-nav{gap:15px}.mobile-consult{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:center;justify-content:space-between;gap:15px;background:#fffefbf7;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom))}.mobile-consult span{font-size:.95rem}.mobile-consult a{display:flex;align-items:center;justify-content:center;min-height:52px;background:var(--navy);color:white;text-decoration:none;border-radius:999px;padding:10px 24px;font-size:1rem;font-weight:700}}
@media(max-width:450px){.header-inner{gap:9px}.brand{flex:1 1 190px}.brand-mark{font-size:2rem}.brand-sub{font-size:.85rem}.header-cta{order:3;flex:1;min-height:48px}.burger{margin-left:auto}.feature-card{display:block}.icon-circle{margin-bottom:15px}.hero h1{font-size:clamp(1.8rem,7.1vw,2rem)}.lead br{display:none}.lead{line-height:1.95}.hero-visual{max-width:100%}.wrap{width:calc(100% - 32px)}.mobile-consult{padding-left:16px;padding-right:16px}.mobile-consult span{font-size:.85rem}.mobile-consult a{font-size:.95rem;padding:10px 20px}}
/* Warm visual finish: retain legibility while giving each part a clear visual role. */
body{background:#fffaf2}
.site-header{background:#fffdf9f5;box-shadow:0 3px 22px #193c5710;border-bottom-color:#e7dfd2}
.brand-mark{letter-spacing:-.035em}.brand-sub{border-left:1px solid #d8cfc0;padding-left:18px}
.hero{position:relative;background:radial-gradient(ellipse at 83% 35%,#d6e7ef 0%,#eaf1ee 32%,transparent 62%),linear-gradient(120deg,#fffaf0,#fffdf8 54%,#eef4f4);border-bottom:1px solid #e5dfd3}
.hero-layout{padding-top:72px;padding-bottom:72px;grid-template-columns:1fr 1.05fr;gap:35px}
.hero h1{font-weight:700;line-height:1.55;text-shadow:0 1px 0 #fff;letter-spacing:-.035em}
.hero .eyebrow{display:inline-block;background:#ffffffc9;border:1px solid #d7e0dc;padding:7px 17px;border-radius:999px;color:#725340;font-size:.9rem}
.hero-visual{position:relative;background:#fffdf7;border:8px solid #ffffffc7;border-radius:42px;box-shadow:0 24px 60px #23485a19,0 3px 14px #23485a0b;overflow:hidden}
.hero-visual img{border-radius:30px}.hero-visual:after{content:'ご本人様も、ご家族様も、お気軽に。';display:block;background:#f8f4ea;color:var(--navy);padding:14px 20px;text-align:center;font-size:1rem;font-weight:700;letter-spacing:.025em}
.button{box-shadow:0 8px 18px #1b416619}.button-outline{box-shadow:0 5px 18px #1b41660b}.button:hover{box-shadow:0 10px 25px #1b416628}
.fineprint{border-left:3px solid #b18562;padding-left:17px}
.section-heading h2{position:relative;padding-bottom:22px}.section-heading h2:after{content:'';position:absolute;bottom:0;left:calc(50% - 29px);width:58px;height:3px;background:#aa7857;border-radius:3px}.section-heading .eyebrow{margin-bottom:12px}
#about{background:linear-gradient(180deg,#fffaf2,#fbf5ea)}
.feature-grid{gap:25px}.feature-card{position:relative;background:linear-gradient(145deg,#fff,#fffdf7);border:1px solid #e7e1d5;border-radius:24px;box-shadow:0 14px 34px #5345340b;min-height:210px;padding:32px}.feature-card:before{content:'';position:absolute;left:32px;right:32px;top:0;height:3px;background:linear-gradient(90deg,#b98967,#d9ccb7);border-radius:0 0 5px 5px}.feature-card:nth-child(2):before,.feature-card:nth-child(4):before{background:linear-gradient(90deg,#557f9b,#c3d6e1)}
.icon-circle{width:72px;height:72px;background:linear-gradient(145deg,#eef5f7,#d6e5ec);border:5px solid #f5f9fa;box-shadow:0 3px 10px #1b41660a}.icon-circle .svg-icon{width:34px;height:34px}
.section-subtle{background:linear-gradient(125deg,#edf3f3,#f5f8f6 48%,#edf3f7)}
.service-more{background:#fffdf9;border-color:#dae0da;box-shadow:0 9px 26px #1b416608}.service-more>summary{font-size:1.2rem}
#flow{background:#fffdf8}.steps{position:relative;gap:24px}.step{box-shadow:0 12px 30px #1b416609;border-color:#dce5e7;padding:31px;border-top:4px solid #668da3;background:linear-gradient(170deg,#fff,#f6f9fa)}.step-num{background:#1b4166;color:#fff;border:5px solid #e6f0f4;width:64px;height:64px;box-shadow:0 5px 15px #1b416617}.step strong{font-size:1.3rem}
.faq-list details{box-shadow:0 7px 22px #1b416608;border-color:#dce5e6}.faq-list details[open]{border-left:4px solid #668da3;background:#fffef9}
#contact{background:radial-gradient(ellipse at 95% 30%,#f2e5d4,transparent 55%),#fffaf2}.contact-banner{padding:36px 40px;background:linear-gradient(115deg,#163956,#315d75);box-shadow:0 16px 38px #1b416619;border:1px solid #3f647d}.contact-banner p{font-size:1.4rem}.button-salmon{background:#94634f}
.contact-info{background:#fffef9;border:1px solid #e5dfd2;border-radius:25px;padding:32px;box-shadow:0 13px 34px #53453409}.contact-info .eyebrow{display:inline-block;background:#f3e9da;color:#725340;border-radius:999px;padding:5px 14px}.preview-note{background:#eef4f3;border-left:3px solid #6d9188;border-radius:4px 15px 15px 4px}.form-details{box-shadow:0 12px 30px #1b41660b;border-color:#e3ddd1;background:#fffdf9}.form-details>summary{padding-bottom:15px}
.company-section{background:#f4f0e8;border-top:1px solid #e6dfd3}.company-layout dl{background:#fffaf2;border-radius:18px;padding:10px 25px;border:1px solid #e5ded1}.company-layout dl>div:last-child{border-bottom:0}.company-layout .eyebrow{color:#725340}.site-footer{background:linear-gradient(115deg,#103354,#214861)}
@media(max-width:800px){.hero-layout{grid-template-columns:1fr;padding-top:38px;padding-bottom:42px;gap:30px}.hero-visual{border-width:6px;border-radius:26px;max-width:620px}.hero-visual img{border-radius:20px}.hero-visual:after{font-size:1rem;padding:13px 15px}.feature-card{padding:27px;min-height:0}.feature-card:before{left:27px;right:27px}.contact-info{padding:25px}.contact-banner{padding:28px 24px}.contact-banner p{font-size:1.25rem}.step{padding:25px}.step-num{width:56px;height:56px}.icon-circle{width:60px;height:60px;border-width:4px}.company-layout dl{padding:8px 20px}.section-heading h2{padding-bottom:18px}.brand-sub{padding-left:12px}}
@media(max-width:450px){.hero .eyebrow{font-size:.85rem;padding:6px 12px}.brand{gap:10px}.brand-sub{padding-left:10px}.feature-card{padding:25px}.contact-info{padding:23px}.hero-visual:after{font-size:.95rem}.fineprint{padding-left:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header{position:static}.mobile-consult{display:none}.nav{display:none}.section{padding:25px 0}.hero-visual,.feature-card,.contact-info{box-shadow:none}}

/* 相談窓口の写真と補助フォーム */
.contact-grid{align-items:start}.contact-side{min-width:0;display:grid;gap:24px}.consultation-portrait{margin:0;padding:22px 25px;background:#fffefa;border:1px solid #e5dfd2;border-radius:25px;box-shadow:0 13px 34px #53453409;text-align:center}.consultation-portrait img{display:block;width:100%;max-width:310px;height:auto;margin:0 auto;border-radius:18px}.consultation-portrait figcaption{margin-top:18px;color:var(--navy);font-size:1.125rem;font-weight:700;line-height:1.8}@media(max-width:800px){.consultation-portrait img{max-width:230px}.consultation-portrait{padding:20px}.contact-side{gap:20px}}

/* 見出しは意味のまとまりで改行する */
.phrase{display:inline-block}.mobile-heading-break{display:none}@media(max-width:600px){.mobile-heading-break{display:block}}

/* 窓口名を主役に、運営会社は補足として表示 */
.consultation-brand{display:block;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;line-height:1.5;letter-spacing:.025em}.consultation-brand small{display:block;font-size:.85rem;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:3px}.footer-brand{font-size:1.5rem}@media(max-width:800px){.consultation-brand{font-size:1.4rem}.consultation-brand small{font-size:.8rem}}@media(max-width:450px){.brand{flex:1 1 100%}.consultation-brand{font-size:clamp(1.2rem,5.5vw,1.45rem)}}

/* 窓口名は丸みのある書体で、親しみやすく */
.consultation-brand,.footer-brand{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","UD Digi Kyokasho N-R",Meiryo,sans-serif;font-weight:700;letter-spacing:.035em}.consultation-brand small{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-weight:400;letter-spacing:0}

/* 窓口名を太く、すっきり読みやすく */
.consultation-brand,.footer-brand{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-weight:900;letter-spacing:.015em;line-height:1.5}.consultation-brand{font-size:clamp(1.5rem,2.5vw,2rem)}.consultation-brand small{font-size:.85rem;font-weight:400;letter-spacing:0;margin-top:5px}.footer-brand{font-size:1.6rem}@media(max-width:800px){.consultation-brand{font-size:1.45rem}.consultation-brand small{font-size:.8rem}}@media(max-width:450px){.consultation-brand{font-size:clamp(1.2rem,5.5vw,1.5rem)}.footer-brand{font-size:1.35rem}}

/* 採用ロゴ。画像の周囲の余白は表示枠で整える */
.logo-window{display:block;position:relative;overflow:hidden;width:clamp(280px,38vw,440px);max-width:100%;aspect-ratio:4.8;background:#fffcf6;border-radius:8px}.logo-window img{position:absolute;display:block;width:125%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-46.6%)}.brand{min-width:0}.footer-logo{display:inline-block;max-width:100%;border-radius:8px}.footer-logo .logo-window{width:360px}.footer-inner>div{max-width:100%}@media(max-width:800px){.logo-window{width:340px}.brand{flex:1 1 100%}.header-cta{margin-left:0}.header-inner{gap:10px}}@media(max-width:450px){.logo-window{width:100%;max-width:360px}.brand{display:block}.footer-logo .logo-window{width:300px}}

/* 折り返したヘッダーにもページ内移動を合わせる */
html{scroll-padding-top:var(--header-offset,180px)}

/* 淡い草花は背景の端だけに配置し、操作を遮らない */
.hero,#about,#contact{position:relative;isolation:isolate;overflow:hidden}
.hero:before,.hero:after,#about:before,#contact:before{content:"";position:absolute;z-index:-1;pointer-events:none;background:url("assets/botanical-branch.png") center/contain no-repeat;width:240px;height:280px;opacity:.28}
.hero:before{right:-85px;top:0;transform:rotate(-25deg)}
.hero:after{left:-120px;bottom:-55px;transform:rotate(25deg);opacity:.22}
#about:before{right:-130px;top:10px;transform:rotate(-18deg);opacity:.18}
#contact:before{left:-110px;bottom:20px;transform:rotate(18deg);opacity:.24}
@media(max-width:800px){.hero:before,.hero:after,#about:before,#contact:before{width:150px;height:210px;opacity:.18}.hero:before{right:-90px;top:5px}.hero:after{left:-85px;bottom:-30px}#about:before{right:-100px}#contact:before{left:-90px;bottom:0}}
@media print{.hero:before,.hero:after,#about:before,#contact:before{display:none}}

/* 草花は各区間の片側を中心に、左右を交互に配置 */
#flow,#faq{position:relative;isolation:isolate;overflow:hidden}
#about:after,#flow:before,#faq:before,#contact:after{content:"";position:absolute;z-index:-1;pointer-events:none;background:url("assets/botanical-branch.png") center/contain no-repeat;width:210px;height:265px;opacity:.21}
#about:after{left:-110px;bottom:10px;transform:rotate(20deg)}
#flow:before{right:-100px;bottom:5px;transform:rotate(-20deg);opacity:.19}
#faq:before{left:-115px;top:30px;transform:rotate(15deg);opacity:.18}
#contact:after{right:-105px;top:5px;transform:rotate(-25deg);opacity:.22}
@media(max-width:800px){#about:after,#flow:before,#faq:before,#contact:after{width:145px;height:190px;opacity:.15}#about:after{left:-90px;bottom:0}#flow:before{right:-90px;bottom:0}#faq:before{left:-95px;top:15px}#contact:after{right:-90px;top:0}}
@media print{#about:after,#flow:before,#faq:before,#contact:after{display:none}}

/* 草花・淡い色面・見出し飾りを一つの雰囲気にまとめる */
.heading-sprig{display:block;width:150px;height:40px;margin:0 auto 14px;pointer-events:none}
.section-heading h2{padding-bottom:0}.section-heading h2:after{display:none}
.section-heading{margin-bottom:42px}.section-heading>p:last-child{margin-top:12px}
.hero{background:radial-gradient(ellipse at 82% 48%,#dfeae2 0%,transparent 57%),linear-gradient(120deg,#fff8ec,#fffcf5 52%,#edf2e9)}
.hero:before{width:350px;height:410px;right:-105px;top:-60px;opacity:.43;transform:rotate(-12deg)}
.hero:after{width:290px;height:340px;left:-155px;bottom:-45px;opacity:.33;transform:rotate(10deg)}
#about{background:linear-gradient(180deg,#fffaf0,#f8f4e8)}
#about:before{width:300px;height:360px;right:-150px;opacity:.3}
#about:after{width:270px;height:325px;left:-150px;opacity:.27}
.feature-card{background:linear-gradient(130deg,#fffefa,#fffdf7);border-color:#dedfce}
.feature-card:before{background:linear-gradient(90deg,#879c80,#d8ddcc);height:4px}
.feature-card:nth-child(2):before,.feature-card:nth-child(4):before{background:linear-gradient(90deg,#ad8e6b,#e5d5bb)}
.icon-circle{background:linear-gradient(145deg,#f0f4e9,#dfe8d7);border-color:#f7f9f1}
#flow{background:linear-gradient(120deg,#edf2e8,#f7f7ef 55%,#edf2e9);border-top:1px solid #e1e6d9;border-bottom:1px solid #e1e6d9}
#flow:before{width:290px;height:350px;right:-140px;opacity:.3}
.step{border-top-color:#8a9f83;background:linear-gradient(150deg,#fffefa,#f8faf4)}
#faq{background:#fffaf2}#faq:before{width:280px;height:340px;left:-145px;opacity:.26}
.faq-list details{background:#fffefa;border-color:#e4dfd0}.faq-list details[open]{border-left-color:#8a9f83}
#contact{background:radial-gradient(ellipse at 10% 90%,#dfe9d9,transparent 50%),linear-gradient(135deg,#f5f2e7,#edf3e9)}
#contact:before{width:320px;height:380px;left:-145px;opacity:.35}
#contact:after{width:300px;height:360px;right:-140px;opacity:.3}
.contact-banner{border-radius:30px 30px 30px 8px}.consultation-portrait{background:linear-gradient(145deg,#fffef9,#f1f4e9);border-color:#d5dfcb;padding-top:28px;padding-bottom:28px}.consultation-portrait figcaption{margin-top:22px}
.company-section{background:#f6f2e7}.company-layout dl{background:#fffdf6}
@media(max-width:800px){.heading-sprig{width:130px;height:35px;margin-bottom:12px}.section-heading{margin-bottom:30px}.hero:before{width:230px;height:280px;right:-125px;top:-30px;opacity:.32}.hero:after{width:200px;height:245px;left:-115px;bottom:-30px;opacity:.25}#about:before,#about:after,#flow:before,#faq:before,#contact:before,#contact:after{width:195px;height:245px;opacity:.23}#about:before,#flow:before,#contact:after{right:-125px}#about:after,#faq:before,#contact:before{left:-125px}.contact-banner{border-radius:24px 24px 24px 6px}.consultation-portrait{padding-top:24px;padding-bottom:24px}}

/* 見出しの葉飾りは細い葉先と軽やかな枝に */
.heading-sprig{width:156px;height:44px;margin-bottom:16px}@media(max-width:800px){.heading-sprig{width:138px;height:39px;margin-bottom:13px}}

/* 採用候補④：丸い葉と白い花 */
.heading-sprig{display:block;width:220px;max-width:65%;height:auto;margin:0 auto 20px;pointer-events:none}@media(max-width:800px){.heading-sprig{width:185px;height:auto;margin-bottom:17px}}

/* オリーブ自体を淡く透けさせる */
.heading-sprig{opacity:.42}


/* ページの最後に、相談へのひと押しをやさしく添える */
.final-consultation{background:linear-gradient(125deg,#fffdf6,#eef3e9);border-top:1px solid #e0e5d7}
.final-consultation-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:55px;align-items:center}
.final-consultation-visual{background:#fffefb;border-radius:160px 160px 28px 28px;border:7px solid #fffefb;overflow:hidden;max-width:300px;width:100%;margin:auto;box-shadow:0 15px 40px #233e5210}
.final-consultation-visual img{display:block;width:100%;height:auto}
.final-consultation-copy h2{font-size:clamp(1.5rem,2.5vw,2.1rem);margin-bottom:22px}.final-consultation-copy>p{font-size:1.1rem}
.final-consultation-copy .eyebrow{font-size:.95rem;color:#725340}
.final-consultation-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 20px}.final-line-button{background:#08783e;color:white}.final-line-button:hover{background:#065f31}
.final-consultation-copy .final-consultation-note{font-size:1rem;color:var(--muted);max-width:600px}
@media(max-width:800px){.final-consultation-layout{grid-template-columns:1fr;gap:28px}.final-consultation-visual{max-width:210px}.final-consultation-copy{text-align:center}.final-consultation-copy h2{font-size:clamp(1.2rem,5.2vw,1.8rem)}.final-consultation-copy>p br{display:none}.final-consultation-actions{display:grid;grid-template-columns:1fr}.final-consultation-actions .button{width:100%}.final-consultation-note{text-align:left}}

/* 最後の相談欄：PCでは案内が左、人物が右 */
@media(min-width:801px){.final-consultation-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.final-consultation-copy{grid-column:1;grid-row:1}.final-consultation-visual{grid-column:2;grid-row:1}}


/* 最後の相談欄のまとまりを中央に戻す */
@media(min-width:801px){.final-consultation-layout{max-width:1000px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:44px}.final-consultation-copy{width:100%;max-width:520px;justify-self:end}.final-consultation-visual{max-width:300px}}

