/* WordPress修正LP（page-wp-fix.php）専用。.wpfix 配下だけに効きます。 */
body.wpfix-page{margin:0;background:#f7f9fa;overflow-x:hidden}
.wpfix{
	--teal-50:#e6fafa;--teal-100:#c4f2f1;--teal-500:#13b5b8;--teal-600:#0e98a3;--teal-700:#0d7a8c;
	--blue-500:#1f5fa8;--blue-600:#1a4a8c;--blue-700:#173a72;--green-400:#5fd474;--lime-100:#eef7c9;
	--white:#fff;--gray-25:#f7f9fa;--gray-50:#f1f4f6;--gray-100:#e6ebee;--gray-200:#d3dadf;--gray-400:#8a96a0;--gray-600:#4a545d;--gray-800:#22282d;
	--grad-brand:linear-gradient(135deg,#3fd8d2 0%,#13b5b8 45%,#1f5fa8 100%);
	--grad-fresh:linear-gradient(135deg,#5fd474 0%,#27c9c6 60%,#13b5b8 100%);
	--grad-button:linear-gradient(90deg,#13b5b8 0%,#1f7fc0 100%);
	--grad-deep:linear-gradient(180deg,#13b5b8 0%,#1a4a8c 100%);
	--heading:var(--gray-800);--body:var(--gray-600);--muted:var(--gray-400);
	--font-display:'Montserrat','Noto Sans JP',system-ui,sans-serif;
	--font-body:'Noto Sans JP','Montserrat',system-ui,sans-serif;
	--ease:cubic-bezier(.22,.61,.36,1);
	--dots:radial-gradient(rgba(102,114,124,.18) 1.2px,transparent 1.4px) 0 0/9px 9px;
	position:relative;overflow-x:clip;background:var(--gray-25);color:var(--body);
	font-family:var(--font-body);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;
}
.wpfix *,.wpfix *::before,.wpfix *::after{box-sizing:border-box}
.wpfix h1,.wpfix h2,.wpfix h3,.wpfix h4,.wpfix p,.wpfix ul,.wpfix ol{margin:0;padding:0}
.wpfix h1,.wpfix h2,.wpfix h3,.wpfix h4{font-family:var(--font-body);color:var(--heading);line-height:1.3;letter-spacing:.02em;font-weight:700;background:none;border:0;text-wrap:pretty}
.wpfix h1::before,.wpfix h1::after,.wpfix h2::before,.wpfix h2::after,.wpfix h3::before,.wpfix h3::after{content:none}
.wpfix p{text-wrap:pretty}
.wpfix a{color:var(--teal-600);text-decoration:none;transition:color .15s var(--ease)}
.wpfix a:hover{color:var(--blue-500)}
.wpfix img{display:block;max-width:100%;height:auto}
.wpfix ul,.wpfix ol{list-style:none}

/* header */
.wpfix .wf-header{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--white)}
body.admin-bar .wpfix .wf-header{top:32px}
@media (max-width:782px){body.admin-bar .wpfix .wf-header{top:46px}}
.wpfix .wf-header__inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:22px 40px}
.wpfix .wf-logo{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--gray-800);display:flex;align-items:baseline;gap:6px;margin-right:auto;flex-shrink:0}
.wpfix .wf-logo span{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--teal-700);border-radius:999px;padding:2px 8px;box-shadow:0 0 0 1px var(--teal-100)}
.wpfix .wf-nav{display:flex;align-items:center;gap:28px}
.wpfix .wf-nav__link{font-size:12px;font-weight:700;color:var(--heading)}
.wpfix .wf-spacer{height:84px}
@media (max-width:959px){.wpfix .wf-nav__link{display:none}.wpfix .wf-header__inner{padding:18px 20px}.wpfix .wf-spacer{height:76px}}

/* buttons / badges */
.wpfix .wf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:700;letter-spacing:.08em;border-radius:6px;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;line-height:1.2;padding:11px 26px;font-size:12px;transition:transform .15s var(--ease),background .25s,color .25s}
.wpfix .wf-btn:hover{transform:translateY(-1px)}
.wpfix .wf-btn:active{transform:translateY(1px) scale(.98)}
.wpfix .wf-btn--sm{padding:7px 16px;font-size:11px}
.wpfix .wf-btn--lg{padding:15px 34px;font-size:14px}
.wpfix .wf-btn--block{width:100%}
.wpfix .wf-btn--primary,.wpfix .wf-btn--primary:hover{background:var(--grad-button);color:var(--white)}
.wpfix .wf-btn--outline{background:var(--white);color:var(--blue-700);border-color:var(--blue-700)}
.wpfix .wf-btn--outline:hover{background:var(--teal-50);color:var(--blue-700)}
.wpfix .wf-btn--white,.wpfix .wf-btn--white:hover{background:var(--white);color:var(--blue-700)}
.wpfix .wf-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.6;background:var(--teal-50);color:var(--teal-700)}
.wpfix .wf-badge--blue{background:#e5eef9;color:var(--blue-600)}
.wpfix .wf-badge--solid{background:var(--teal-500);color:var(--white)}
.wpfix .wf-actions{display:flex;flex-wrap:wrap;gap:12px}
.wpfix .wf-center{margin-top:36px;display:flex;justify-content:center}

/* section title */
.wpfix .wf-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.wpfix .wf-title > i{width:28px;height:3px;border-radius:2px;background:var(--teal-500)}
.wpfix .wf-title > span{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-600)}
.wpfix .wf-title h2{font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1.3}
.wpfix .wf-title p{max-width:560px;font-size:15px;line-height:1.8}
.wpfix .wf-title--left{align-items:flex-start;text-align:left}
.wpfix .wf-title--right{align-items:flex-end;text-align:right}
.wpfix .wf-title--inverse > i{background:var(--white)}
.wpfix .wf-title--inverse > span{color:var(--teal-100)}
.wpfix .wf-title--inverse h2{color:var(--white)}
.wpfix .wf-title--inverse p{color:rgba(255,255,255,.92)}

/* layout */
.wpfix .wf-sec{position:relative;padding:clamp(80px,10vw,120px) 20px}
.wpfix .wf-wrap{position:relative;max-width:1180px;margin:0 auto}
.wpfix .wf-split{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,5vw,64px)}
.wpfix .wf-split--rev{flex-wrap:wrap-reverse}
.wpfix .wf-split__media{flex:1 1 420px;min-width:0}
.wpfix .wf-split__media--lg{flex:1.3 1 460px}
.wpfix .wf-split__body{flex:1 1 400px;min-width:0}
.wpfix .wf-deco{position:absolute;pointer-events:none;will-change:transform}
.wpfix .wf-dots{border-radius:50%;background:var(--dots)}
.wpfix .wf-blob--brand{background:var(--grad-brand)}
.wpfix .wf-blob--fresh{background:var(--grad-fresh)}
.wpfix .wf-blob--deep{background:var(--grad-deep)}
.wpfix .wf-blob--mist{background:var(--gray-100)}
.wpfix .wf-blob--lime{background:var(--lime-100)}
.wpfix .wf-blob--s1{border-radius:62% 38% 55% 45% / 48% 58% 42% 52%}
.wpfix .wf-blob--s2{border-radius:42% 58% 35% 65% / 55% 40% 60% 45%}
.wpfix .wf-blob--s3{border-radius:50% 50% 38% 62% / 62% 44% 56% 38%}
.wpfix .wf-blob--hero{width:900px;height:900px}
@media (max-width:959px){.wpfix .wf-blob--hero{width:560px;height:560px}}

/* icons */
.wpfix .wf-ico{display:block;width:22px;height:22px;background:var(--teal-500);-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.wpfix .wf-ico--lg{width:28px;height:28px}
.wpfix .wf-ico-tile{flex:none;width:44px;height:44px;border-radius:10px;background:var(--teal-50);display:flex;align-items:center;justify-content:center}
.wpfix .wf-ico-tile--lg{width:64px;height:64px}

/* hero */
.wpfix .wf-hero-wrap{position:relative}
.wpfix .wf-hero{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:clamp(24px,5vw,56px) 20px clamp(80px,10vw,140px);display:flex;flex-wrap:wrap;align-items:center;gap:32px}
.wpfix .wf-hero__copy{flex:1 1 420px;min-width:0;padding-left:clamp(0px,2vw,20px)}
.wpfix .wf-hero__title{margin-top:24px;font-weight:900;font-size:clamp(34px,5.2vw,58px);line-height:1.3;text-wrap:balance}
.wpfix .wf-hero__title span{color:var(--teal-600)}
.wpfix .wf-hero__lead{margin-top:24px;font-size:17px;max-width:480px}
.wpfix .wf-hero .wf-actions{margin-top:32px}
.wpfix .wf-points{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px;font-weight:700;color:var(--heading)}
.wpfix .wf-points li{display:flex;align-items:center;gap:8px}
.wpfix .wf-points li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green-400)}
.wpfix .wf-hero__art{flex:1.2 1 460px;min-width:0;position:relative}
.wpfix .wf-hero__art img{width:118%;max-width:none;margin-left:-6%}
@media (max-width:959px){.wpfix .wf-hero__art img{width:100%;margin-left:0}}
.wpfix .wf-float{animation:wf-floaty 7s ease-in-out infinite}
@keyframes wf-floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* problems */
.wpfix .wf-sec--problems{padding-top:clamp(40px,6vw,80px)}
.wpfix .wf-problems{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.wpfix .wf-problem{background:var(--white);border-radius:10px;padding:16px 18px;display:flex;align-items:center;gap:14px}
.wpfix .wf-problem p{font-weight:700;color:var(--heading);line-height:1.5}
.wpfix .wf-problems__close{margin-top:32px;font-weight:700;color:var(--heading);font-size:17px;line-height:1.9}
.wpfix .wf-problems__close span{color:var(--teal-600)}

/* grids + stagger */
.wpfix .wf-grid4{margin-top:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px;align-items:start}
@media (min-width:1100px){
	.wpfix .wf-grid4.wf-stagger > :nth-child(4n+2),.wpfix .wf-grid4.wf-stagger > :nth-child(4n+4){margin-top:36px}
	.wpfix .wf-works--2.wf-stagger > :nth-child(2){margin-top:48px}
	.wpfix .wf-works--3.wf-stagger > :nth-child(2){margin-top:40px}
}
.wpfix .wf-feature{background:var(--white);border-radius:16px;padding:32px 24px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .25s var(--ease)}
.wpfix .wf-feature:hover{transform:translateY(-4px)}
.wpfix .wf-feature h3{font-size:16px;line-height:1.5}
.wpfix .wf-feature p{font-size:13px;line-height:1.8}

/* pricing */
.wpfix .wf-plan{position:relative;background:var(--white);border-radius:16px;padding:36px 26px 30px;display:flex;flex-direction:column}
.wpfix .wf-plan.is-popular{outline:2px solid var(--teal-500)}
.wpfix .wf-plan__tag{position:absolute;top:-12px;left:26px}
.wpfix .wf-plan h3{font-size:20px}
.wpfix .wf-plan__price{margin-top:14px;display:flex;align-items:baseline;gap:4px;color:var(--teal-600)}
.wpfix .wf-plan__price b{font-family:var(--font-display);font-weight:800;font-size:36px;line-height:1;letter-spacing:-.01em}
.wpfix .wf-plan__price small{font-size:13px;font-weight:700}
.wpfix .wf-plan__box{margin-top:22px;background:var(--gray-25);border-radius:10px;padding:16px;font-size:13px;line-height:1.8;display:flex;flex-direction:column;gap:4px}
.wpfix .wf-plan__box span{font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.08em;color:var(--teal-600)}
.wpfix .wf-plan__box span + strong{color:var(--heading)}
.wpfix .wf-plan__box strong + span{margin-top:8px}
.wpfix .wf-notes{margin:40px auto 0;max-width:760px;background:var(--white);border-radius:16px;padding:20px 26px}
.wpfix .wf-notes ul{list-style:disc;padding-left:1.2em;font-size:13px;line-height:1.9}

/* works */
.wpfix .wf-works__head{margin-top:48px;display:flex;align-items:center;gap:12px}
.wpfix .wf-works__head h3{font-size:16px}
.wpfix .wf-works{margin-top:20px;display:grid;gap:24px;align-items:start}
.wpfix .wf-works--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.wpfix .wf-works--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.wpfix .wf-work{background:var(--white);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.wpfix .wf-work__img{aspect-ratio:16/10;background:var(--teal-50);display:flex;align-items:center;justify-content:center}
.wpfix .wf-work__img img{width:100%;height:100%;object-fit:cover}
.wpfix .wf-work__ph{font-size:12px;color:var(--teal-700);font-weight:700}
.wpfix .wf-work__body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px}
.wpfix .wf-work__body h4{font-family:var(--font-display);font-weight:800;font-size:20px}
.wpfix .wf-work__body p{font-size:13px;line-height:1.8}
.wpfix .wf-work__body a{font-size:13px;font-weight:700}

/* flow */
.wpfix .wf-flow__art{margin-top:32px}
.wpfix .wf-flow__art img{width:100%}
.wpfix .wf-steps{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px}
.wpfix .wf-steps li{padding:0 12px;text-align:center}
.wpfix .wf-steps span{font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.08em;color:var(--teal-600)}
.wpfix .wf-steps h3{margin-top:6px;font-size:20px}
.wpfix .wf-steps p{margin-top:8px;font-size:13px;line-height:1.8}

/* faq */
.wpfix .wf-faq{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,64px);align-items:flex-start}
.wpfix .wf-faq__side{flex:1 1 280px;min-width:0;position:sticky;top:120px}
.wpfix .wf-faq__list{flex:2 1 520px;min-width:0;display:flex;flex-direction:column;gap:12px}
.wpfix .wf-faq__item{background:var(--white);border-radius:16px}
.wpfix .wf-faq__q{width:100%;display:flex;align-items:center;gap:14px;padding:20px 22px;background:none;border:0;text-align:left;cursor:pointer;color:var(--heading);font:inherit}
.wpfix .wf-faq__q b,.wpfix .wf-faq__a b{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:14px}
.wpfix .wf-faq__q b{background:var(--teal-500);color:var(--white)}
.wpfix .wf-faq__q span{flex:1;font-weight:700;line-height:1.7}
.wpfix .wf-faq__q i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--teal-50);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:16px;font-weight:700;color:var(--teal-600)}
.wpfix .wf-faq__a{display:flex;gap:14px;padding:0 22px 22px}
.wpfix .wf-faq__a[hidden]{display:none}
.wpfix .wf-faq__a b{background:#e5eef9;color:var(--blue-700)}
.wpfix .wf-faq__a p{padding-top:2px;line-height:1.9}

/* contact */
.wpfix .wf-contact{position:relative;margin-top:40px;background:var(--grad-deep);border-radius:50% 50% 0 0 / 140px 140px 0 0;padding:clamp(120px,14vw,180px) 20px clamp(80px,10vw,120px)}
.wpfix .wf-contact__inner{max-width:1080px;display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,64px);align-items:center}
.wpfix .wf-contact__copy{flex:1 1 320px;min-width:0}
.wpfix .wf-contact__cs{margin-top:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.wpfix .wf-contact__cs p{font-size:13px;color:var(--white);opacity:.92}
.wpfix .wf-contact__cs .wf-actions{gap:10px}
.wpfix .wf-form{flex:1.2 1 420px;min-width:0;background:var(--white);border-radius:16px;padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:18px}
.wpfix .wf-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px}
.wpfix .wf-field{display:flex;flex-direction:column;gap:6px}
.wpfix .wf-field__label{font-size:13px;font-weight:700;color:var(--heading);display:flex;gap:8px;align-items:center}
.wpfix .wf-field__label em{font-style:normal;font-size:10px;color:var(--white);background:var(--teal-500);border-radius:3px;padding:1px 6px}
.wpfix .wf-field input,.wpfix .wf-field textarea,.wpfix .wf-field select{width:100%;min-height:48px;font:inherit;font-size:15px;color:var(--heading);padding:12px 14px;border-radius:6px;background:var(--white);border:1.5px solid var(--gray-200);outline:none;line-height:1.6;transition:border-color .15s,box-shadow .15s;box-shadow:none;margin:0}
.wpfix .wf-field textarea{min-height:120px;resize:vertical}
.wpfix .wf-field input:focus,.wpfix .wf-field textarea:focus,.wpfix .wf-field select:focus{border-color:var(--teal-500);box-shadow:0 0 0 4px rgba(19,181,184,.35)}
.wpfix .wf-form .wf-btn{margin-top:6px}
.wpfix .wf-form__note{text-align:center;font-size:13px;color:var(--muted)}
.wpfix .wf-form__msg{border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700}
.wpfix .wf-form__msg.is-ok{background:var(--teal-50);color:var(--teal-700)}
.wpfix .wf-form__msg.is-err{background:#fdecec;color:#b3363d}
.wpfix .wf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* footer */
.wpfix .wf-footer{position:relative;background:var(--blue-600);padding:48px 20px 104px}
.wpfix .wf-footer__inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.wpfix .wf-footer__brand{display:flex;flex-direction:column;gap:6px}
.wpfix .wf-footer__brand strong{font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--white)}
.wpfix .wf-footer__brand span,.wpfix .wf-footer__copy{font-size:11px;color:var(--white);opacity:.9}
.wpfix .wf-footer__nav{display:flex;flex-wrap:wrap;gap:20px;font-size:13px}
.wpfix .wf-footer__nav a,.wpfix .wf-footer__nav a:hover{color:var(--white)}
.wpfix .wf-footer__copy{width:100%}

/* sticky CTA (mobile) */
.wpfix .wf-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(247,249,250,.96) 30%);transition:opacity .25s,transform .25s}
@media (max-width:767px){.wpfix .wf-sticky{display:block}}
.wpfix .wf-sticky.is-hidden{opacity:0;transform:translateY(100%);pointer-events:none}

/* reveal */
.wpfix .wf-pre{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.wpfix .wf-pre[data-reveal="left"]{transform:translateX(-40px)}
.wpfix .wf-pre[data-reveal="right"]{transform:translateX(40px)}
.wpfix .wf-pre[data-reveal="up"]{transform:translateY(32px)}
.wpfix .wf-pre.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
	.wpfix .wf-float{animation:none}
	.wpfix .wf-pre{opacity:1;transform:none;transition:none}
}
