/* PEACH CONNECT /flow/ — v0.2.6 — page-scoped styles */
.pcf-page{--pcf-ink:#153f4b;--pcf-teal:#146775;--pcf-mid:#396e77;--pcf-light:#eff7f7;--pcf-orange:#e8a06a;--pcf-border:#dcecee;color:var(--pcf-ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size:16px;line-height:1.85;letter-spacing:.015em;overflow:clip}
.pcf-page *,.pcf-page *::before,.pcf-page *::after{box-sizing:border-box}
.pcf-page img{display:block;width:100%;height:100%;object-fit:cover}
.pcf-page h1,.pcf-page h2,.pcf-page h3,.pcf-page p,.pcf-page figure{margin:0}
.pcf-page h1,.pcf-page h2,.pcf-page h3{color:inherit;line-height:1.52;font-weight:750;letter-spacing:.025em;word-break:normal;overflow-wrap:normal;line-break:strict}
.pcf-page p{color:inherit}
.pcf-page a{text-decoration:none}
.pcf-page :focus-visible{outline:3px solid #f6b56f;outline-offset:4px}
.pcf-shell{width:min(1280px,calc(100% - 88px));margin-inline:auto}
.pcf-block{position:relative;isolation:isolate}
.pcf-eyebrow{margin:0 0 13px!important;font:700 12px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.22em;color:var(--pcf-teal)}
.pcf-eyebrow--light{color:#e5edf0}
.pcf-page .pcf-line{display:block}
.pcf-phrase{display:inline-block;margin-right:.28em}
.pcf-phrase:last-child{margin-right:0}
.pcf-button{display:inline-flex;gap:15px;align-items:center;justify-content:center;min-height:54px;padding:13px 30px;border-radius:999px;max-width:100%;border:1.5px solid transparent;text-align:center;font-size:14px;line-height:1.55;font-weight:750;box-shadow:0 7px 18px rgba(21,71,81,.1);transition:transform .27s cubic-bezier(.25,.8,.25,1),box-shadow .27s,background-color .27s,color .27s;cursor:pointer}
.pcf-button span{line-break:strict;word-break:keep-all}
.pcf-button--orange{background:linear-gradient(110deg,#ed8950,#efa265);color:#fff}
.pcf-button--orange:hover{transform:translateY(-3px);box-shadow:0 13px 26px rgba(142,73,29,.25)}
.pcf-button--outline{background:#fff;border-color:#659ba3;color:var(--pcf-ink);box-shadow:none}
.pcf-button--outline:hover{background:#eaf5f5;transform:translateY(-2px)}
.pcf-button--line{background:#06c755;color:#fff;box-shadow:0 7px 20px rgba(0,150,62,.19)}
.pcf-button--line:hover{background:#05b649;transform:translateY(-2px)}
.pcf-button:disabled{opacity:.7;cursor:not-allowed;transform:none!important}
.pcf-chevron{flex:0 0 14px;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s}
.pcf-button:hover .pcf-chevron{transform:translateX(4px)}
.pcf-line-bubble{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#08b34d;flex-shrink:0;font:900 9px/1 Arial,sans-serif;letter-spacing:-.06em}
/* HERO */
.pcf-hero{min-height:490px;background:#285760;overflow:hidden;display:flex;align-items:center}
.pcf-hero-media,.pcf-hero-overlay{position:absolute;inset:0;z-index:-2}
.pcf-hero-media img{object-position:58% 35%}
.pcf-hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(12,54,62,.91) 0%,rgba(12,54,62,.72) 37%,rgba(10,47,53,.15) 77%,rgba(6,34,39,.08) 100%),linear-gradient(0deg,rgba(8,38,46,.18),transparent 55%)}
.pcf-hero-inner{position:relative;min-height:490px;display:flex;align-items:center;padding:65px 0 72px}
.pcf-hero-copy{position:relative;z-index:1;width:min(690px,67%);color:#fff;text-shadow:0 2px 8px rgba(2,21,25,.28)}
.pcf-hero h1{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(38px,3.6vw,54px);letter-spacing:.04em;line-height:1.46;font-weight:700;margin:0 0 14px}
.pcf-hero-lead{font-size:17px;font-weight:620;line-height:1.8;margin-bottom:6px!important}
.pcf-hero-small{font-size:14px;margin-bottom:24px!important;color:#eef7f7!important}
.pcf-hero-script{position:absolute;right:6%;top:18%;writing-mode:vertical-rl;letter-spacing:.27em;color:rgba(255,255,255,.9)!important;font-family:"Yu Mincho",serif;font-size:23px;font-style:italic;line-height:1.75;transform:rotate(-8deg);text-shadow:0 3px 9px rgba(7,34,40,.55);pointer-events:none}
.pcf-scroll{position:absolute;right:0;bottom:24px;color:#e5f2f1;display:flex;gap:10px;align-items:center;flex-direction:column;font-size:10px;letter-spacing:.17em}
.pcf-scroll-line{display:block;width:1px;height:35px;background:linear-gradient(#fff,transparent);animation:pcf-scroll 3.3s ease-in-out infinite}
@keyframes pcf-scroll{0%,100%{opacity:.45;transform:scaleY(.8);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}
/* SECTION 2 */
.pcf-process{padding:74px 0 83px;background:#fff}
.pcf-center-heading{text-align:center;margin:0 auto 42px;max-width:900px}
.pcf-process h2{font-size:clamp(30px,2.45vw,38px);color:#0d5260;line-height:1.42;margin-bottom:9px}
.pcf-center-heading>p:last-child{font-size:16px;color:#426770;line-height:1.8}
.pcf-photo-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:58px 0 10px}
.pcf-process-photo{min-width:0;position:relative}
.pcf-photo-mask{aspect-ratio:1.82;overflow:hidden;border-radius:7px;box-shadow:0 9px 22px rgba(10,63,73,.075)}
.pcf-photo-mask img{transition:transform .9s cubic-bezier(.24,.7,.26,1)}
.pcf-process-photo:hover .pcf-photo-mask img{transform:scale(1.045)}
.pcf-process-photo figcaption{position:absolute;bottom:calc(100% + 10px);left:7px;color:#5f8e96;font-family:"Yu Mincho","Noto Serif JP",serif;font-style:italic;font-size:17px;letter-spacing:.055em;line-height:1.3;transform:rotate(-6deg);white-space:nowrap;pointer-events:none}
.pcf-process-photo:nth-child(2) figcaption{left:20%}
.pcf-process-photo:nth-child(3) figcaption{left:25%}
.pcf-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;counter-reset:none}
.pcf-step{min-width:0;padding:0 3px}
.pcf-step-top{display:flex;gap:8px;align-items:center;min-height:69px;margin:2px 0 3px}
.pcf-step-num{font:700 clamp(38px,3vw,47px)/1.2 "Noto Serif JP","Yu Mincho",serif;color:#0b5d6b;letter-spacing:-.04em;flex:0 0 auto}
.pcf-step-arrow{position:relative;height:1px;background:#60a8b0;flex:1 1 auto;margin:3px 8px 0 4px;min-width:8px}
.pcf-step-arrow::after{content:"";position:absolute;right:0;top:50%;width:9px;height:9px;border-right:2px solid #60a8b0;border-top:2px solid #60a8b0;transform:translateY(-50%) rotate(45deg)}
.pcf-step h3{font-size:15px;line-height:1.65;color:#123f4c;font-weight:800;min-height:48px;margin:0 0 8px}
.pcf-step>p{font-size:13px;line-height:1.86;color:#426670;margin:0}
.pcf-step-note{background:#eaf5f5;border-radius:5px;margin-top:10px!important;padding:7px 8px;font-size:11px!important;color:#235967!important;line-height:1.7!important}
/* BEFORE */
.pcf-before{background:linear-gradient(115deg,#f2fafa,#e4f2f3 58%,#edf8f8);padding:66px 0 60px;overflow:hidden}
.pcf-before::before{content:"";position:absolute;left:-130px;top:-55px;width:330px;height:440px;border-radius:50%;background:radial-gradient(ellipse,rgba(115,162,143,.17),transparent 68%);filter:blur(18px);pointer-events:none}
.pcf-before-layout{display:grid;grid-template-columns:.94fr 1.95fr;gap:55px;align-items:start}
.pcf-before-lead h2{font-size:clamp(24px,2.15vw,35px);line-height:1.58;color:#0b5560;margin:0 0 16px}
.pcf-before-lead>p:last-child{font-size:15px;color:#376675}
.pcf-prep-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.pcf-prep-item{padding:0 22px;border-left:1px solid #c7e1e4;min-width:0}
.pcf-prep-item:first-child{border-left:0;padding-left:0}
.pcf-prep-head{display:flex;align-items:center;gap:13px;min-height:55px;margin-bottom:5px}
.pcf-prep-num{font:700 37px/1.15 "Noto Serif JP","Yu Mincho",serif;letter-spacing:-.045em;color:#0c6270}
.pcf-prep-icon{width:33px;height:33px;fill:none;stroke:#126c7b;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.pcf-prep-item h3{font-size:16px;margin:0 0 5px;color:#174b56;line-height:1.6}
.pcf-prep-item>p{font-size:13px;line-height:1.82;color:#3d6973}
.pcf-before-bottom{margin:24px 0 0;display:flex;align-items:center;justify-content:space-between;gap:22px}
.pcf-before-bottom>p{font-size:13px;color:#53737c;line-height:1.75;max-width:470px}
.pcf-before-bottom .pcf-button{flex:0 0 auto;font-size:13px}
/* FAQ */
.pcf-faq{background:#fff;padding:66px 0 72px}
.pcf-faq-layout{display:grid;grid-template-columns:.82fr 1.5fr;gap:70px;align-items:start}
.pcf-faq-intro h2{font-size:clamp(26px,2.6vw,38px);color:#145463;line-height:1.55;margin:0}
.pcf-faq-script{font:italic 19px/1.65 "Yu Mincho",serif;letter-spacing:.1em;color:#5f8e96!important;transform:rotate(-8deg);margin:55px 0 0 25px!important}
.pcf-faq-list{display:flex;flex-direction:column;gap:0;border:1px solid #ddebec;border-radius:9px;overflow:hidden;box-shadow:0 8px 24px rgba(26,71,79,.06)}
.pcf-faq-item{margin:0;background:#fff;border-bottom:1px solid #e2ebed;transition:background .2s}
.pcf-faq-item:last-child{border-bottom:0}
.pcf-faq-item[open]{background:#f8fbfb}
.pcf-faq-item summary{list-style:none;cursor:pointer;min-height:55px;display:flex;align-items:center;gap:14px;padding:13px 18px}
.pcf-faq-item summary::-webkit-details-marker{display:none}
.pcf-q{flex:0 0 auto;color:#126774;font-size:15px;font-weight:750;letter-spacing:.06em}
.pcf-q-label{flex:1 1 auto;min-width:0;color:#214e5a;font-size:14px;font-weight:730;line-height:1.65;word-break:normal;line-break:strict}
.pcf-q-toggle{position:relative;width:18px;height:18px;flex:0 0 18px}
.pcf-q-toggle::before,.pcf-q-toggle::after{content:"";position:absolute;top:50%;left:50%;background:#256c79;border-radius:1px;transform:translate(-50%,-50%);transition:transform .25s ease}
.pcf-q-toggle::before{width:12px;height:1.5px}
.pcf-q-toggle::after{width:1.5px;height:12px}
.pcf-faq-item[open] .pcf-q-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.pcf-answer{padding:0 42px 17px 58px;color:#54737b;font-size:13px;line-height:1.85}
.pcf-faq-link{text-align:center;margin-top:22px}
.pcf-faq-link .pcf-button{min-height:44px;padding:8px 32px;font-size:13px}
/* CONTACT */
.pcf-contact{min-height:340px;background:#165560;overflow:hidden;display:flex;align-items:center}
.pcf-contact-media,.pcf-contact-shade{position:absolute;inset:0;z-index:-2}
.pcf-contact-media img{object-position:65% 41%}
.pcf-contact-shade{z-index:-1;background:linear-gradient(90deg,#0b5e69 0%,rgba(12,87,98,.95) 33%,rgba(14,81,89,.65) 51%,rgba(14,79,90,.02) 88%),linear-gradient(0deg,rgba(8,50,57,.17),transparent)}
.pcf-contact-inner{position:relative;min-height:340px;display:flex;align-items:center;padding:55px 0}
.pcf-contact-copy{width:min(710px,69%);color:#fff;text-shadow:0 2px 8px rgba(4,43,51,.2)}
.pcf-contact-copy h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(30px,2.8vw,43px);line-height:1.5;letter-spacing:.04em;margin:0 0 12px}
.pcf-contact-copy>p:not(.pcf-eyebrow){font-size:15px;line-height:1.8;margin:0 0 22px}
.pcf-contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.pcf-contact-actions .pcf-button{min-height:54px;font-size:13px;padding:13px 23px}
.pcf-contact-script{position:absolute;right:5%;top:15%;font:italic 22px/1.6 "Yu Mincho",serif;color:rgba(17,100,114,.82)!important;letter-spacing:.12em;transform:rotate(-9deg)}
/* Reveal: progressive enhancement only */
@media(prefers-reduced-motion:no-preference){html.pcf-reveal-ready .pcf-page .pcf-reveal{opacity:0;transform:translateY(15px);transition:opacity .58s ease,transform .68s cubic-bezier(.2,.75,.25,1)}html.pcf-reveal-ready .pcf-page .pcf-reveal.is-visible{opacity:1;transform:none}html.pcf-reveal-ready .pcf-page .pcf-process-photo:nth-child(2){transition-delay:80ms}html.pcf-reveal-ready .pcf-page .pcf-process-photo:nth-child(3){transition-delay:160ms}}
/* RESPONSIVE */
@media(max-width:1180px){.pcf-shell{width:min(1100px,calc(100% - 62px))}.pcf-timeline{gap:8px}.pcf-step-num{font-size:37px}.pcf-step h3{font-size:14px}.pcf-step>p{font-size:12px}.pcf-faq-layout{gap:42px}.pcf-before-layout{gap:28px}.pcf-prep-item{padding-inline:14px}}
@media(max-width:920px){.pcf-hero{min-height:460px}.pcf-hero-inner{min-height:460px}.pcf-hero-copy{width:72%}.pcf-hero h1{font-size:36px}.pcf-hero-script{font-size:17px;right:2%}.pcf-photo-triptych{gap:12px}.pcf-process-photo figcaption{font-size:13px}.pcf-timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 26px}.pcf-step{padding-bottom:5px}.pcf-step h3{min-height:0;font-size:15px}.pcf-step>p{font-size:13px}.pcf-step-top{min-height:58px}.pcf-step:nth-child(3) .pcf-step-arrow{display:none}.pcf-before-layout{grid-template-columns:1fr;gap:24px}.pcf-before-lead h2{font-size:29px}.pcf-before-lead .pcf-line{display:inline;margin-right:.28em}.pcf-faq-layout{grid-template-columns:.82fr 1.6fr;gap:22px}.pcf-faq-intro h2{font-size:27px}.pcf-contact-script{display:none}}
@media(max-width:640px){.pcf-shell{width:calc(100% - 38px)}.pcf-eyebrow{font-size:10px!important;letter-spacing:.18em}.pcf-button{padding:12px 21px;font-size:13px;min-height:49px}.pcf-hero{min-height:590px;align-items:flex-start}.pcf-hero-inner{min-height:590px;align-items:flex-start;padding:71px 0 58px}.pcf-hero-media img{object-position:63% center;opacity:.85}.pcf-hero-overlay{background:linear-gradient(180deg,rgba(7,48,58,.91) 0%,rgba(8,51,58,.76) 47%,rgba(9,47,53,.25) 84%,rgba(9,47,53,.36) 100%)}.pcf-hero-copy{width:100%}.pcf-hero h1{font-size:clamp(25px,7.2vw,34px);line-height:1.5;margin-bottom:16px;letter-spacing:0}.pcf-hero-lead{font-size:14px;line-height:1.78;margin-bottom:7px!important;max-width:320px}.pcf-hero-small{font-size:12px;margin-bottom:20px!important}.pcf-hero-script{top:auto;bottom:50px;right:9%;font-size:15px;letter-spacing:.12em;writing-mode:horizontal-tb}.pcf-scroll{display:none}
.pcf-process{padding:64px 0 66px}.pcf-center-heading{margin-bottom:24px}.pcf-process h2{font-size:clamp(23px,6.1vw,28px);line-height:1.5}.pcf-center-heading>p:last-child{font-size:13px}.pcf-photo-triptych{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:39px 0 29px}.pcf-process-photo:first-child{grid-column:span 2}.pcf-photo-mask{aspect-ratio:1.68}.pcf-process-photo:first-child .pcf-photo-mask{aspect-ratio:2.1}.pcf-process-photo figcaption{display:none}.pcf-timeline{grid-template-columns:1fr;gap:0;padding-left:8px}.pcf-step{position:relative;padding:7px 0 22px 57px;min-height:116px;border-left:1px solid #b8d9dd;margin-left:21px}.pcf-step:last-child{border-left-color:transparent;padding-bottom:0;min-height:90px}.pcf-step-top{position:absolute;left:-24px;top:0;margin:0;min-height:0}.pcf-step-num{display:flex;width:47px;height:47px;align-items:center;justify-content:center;border-radius:50%;font-size:21px;background:#fff;border:1.5px solid #acd0d5;letter-spacing:0;box-shadow:0 4px 10px rgba(0,58,65,.04)}.pcf-step-arrow{display:none!important}.pcf-step h3{font-size:16px;min-height:0;margin:0 0 6px;line-height:1.6}.pcf-step>p{font-size:14px;line-height:1.8}.pcf-step-note{font-size:12px!important;display:inline-block}
.pcf-before{padding:58px 0 55px}.pcf-before-lead h2{font-size:clamp(22px,5.8vw,29px);line-height:1.55}.pcf-before-lead .pcf-line{display:block}.pcf-before-lead>p:last-child{font-size:14px}.pcf-prep-list{grid-template-columns:1fr;gap:15px}.pcf-prep-item{padding:0 0 14px!important;border-left:0;border-bottom:1px solid #c8e0e1}.pcf-prep-item:last-child{border-bottom:0;padding-bottom:0!important}.pcf-prep-head{min-height:42px;margin-bottom:2px}.pcf-prep-num{font-size:30px}.pcf-prep-icon{height:27px;width:27px}.pcf-prep-item h3{font-size:15px}.pcf-prep-item>p{font-size:13px}.pcf-before-bottom{display:block;margin-top:23px}.pcf-before-bottom>p{font-size:13px;margin-bottom:16px}.pcf-before-bottom .pcf-button{width:100%}
.pcf-faq{padding:60px 0}.pcf-faq-layout{grid-template-columns:1fr;gap:20px}.pcf-faq-intro h2{font-size:clamp(23px,6.1vw,29px);line-height:1.5}.pcf-faq-script{display:none}.pcf-faq-item summary{padding:14px 12px;gap:10px;min-height:58px}.pcf-q{font-size:13px}.pcf-q-label{font-size:13px;line-height:1.75}.pcf-answer{padding:0 19px 17px 40px;font-size:13px}.pcf-faq-link .pcf-button{min-height:44px;width:100%}
.pcf-contact{min-height:455px;align-items:flex-start}.pcf-contact-inner{padding:55px 0 50px;min-height:455px;align-items:flex-start}.pcf-contact-media img{object-position:54% center}.pcf-contact-shade{background:linear-gradient(180deg,rgba(10,77,87,.95) 0%,rgba(11,78,87,.89) 54%,rgba(10,73,81,.31) 100%)}.pcf-contact-copy{width:100%}.pcf-contact-copy h2{font-size:clamp(24px,6.7vw,32px);line-height:1.55}.pcf-contact-copy>p:not(.pcf-eyebrow){font-size:13px;line-height:1.9;max-width:340px}.pcf-contact-actions{flex-direction:column;align-items:stretch;gap:9px;max-width:370px}.pcf-contact-actions .pcf-button{width:100%;min-height:48px;font-size:13px}.pcf-contact-script{display:none}}
@media(max-width:360px){.pcf-shell{width:calc(100% - 32px)}.pcf-hero h1{font-size:24px}.pcf-before-lead h2{font-size:21px}.pcf-before-bottom .pcf-button{font-size:12px;padding:10px 10px}.pcf-contact-copy h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.pcf-page *, .pcf-page *::before,.pcf-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
