:root{--font-heading:"Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;--font-body:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--pps-navy:#183452;--pps-navy-deep:#102b49;--pps-blue:#85b6da;--pps-blue-light:#e7f4fd;--pps-sky:#d7edf9;--pps-white:#fff;--pps-paper:#fbfaf6;--pps-cream:#fff4d9;--pps-gray-bg:#f4f7fa;--pps-text:#24394b;--pps-muted:#6c7b86;--pps-border:#dce7ef;--pps-coral:#f36f78;--pps-coral-dark:#ef5664;--pps-coral-light:#ffe7e3;--color-navy-950:var(--pps-navy-deep);--color-navy-900:var(--pps-navy);--color-navy-800:var(--pps-navy);--color-teal-700:var(--pps-navy);--color-teal-600:var(--pps-blue);--color-teal-500:var(--pps-blue);--color-sky-200:var(--pps-sky);--color-sky-100:var(--pps-blue-light);--color-sky-050:var(--pps-gray-bg);--color-white:var(--pps-white);--color-text:var(--pps-text);--color-text-muted:var(--pps-muted);--color-line:var(--pps-border);--color-surface:var(--pps-white);--color-surface-soft:var(--pps-gray-bg);--gradient-primary:linear-gradient(110deg, var(--pps-coral), var(--pps-coral-dark));--gradient-hero:linear-gradient(90deg, #e7f4fdfa, #e7f4fde6 35%, #d7edf91f 68%, #d7edf900);--container:1180px;--gutter:clamp(20px, 4vw, 48px);--section-space:clamp(72px, 9vw, 120px);--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--shadow-card:0 14px 40px #1834521a;--shadow-float:0 22px 70px #18345224;--transition:.22s cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{color:var(--color-text);background:var(--color-white);font-family:var(--font-body);letter-spacing:.035em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:400;line-height:1.85}h1,h2,h3{color:var(--pps-navy);text-wrap:balance;font-family:var(--font-heading);letter-spacing:.075em;margin:0;font-weight:600;line-height:1.45}h1{color:var(--pps-navy-deep);font-size:clamp(1.6rem,3.2vw,2.25rem);line-height:1.4}h2{font-size:clamp(1.9rem,3.2vw,3rem)}h3{font-size:clamp(1.2rem,1.8vw,1.55rem)}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.ct-container{width:min(calc(100% - (var(--gutter) * 2)), var(--container));margin-inline:auto}.ct-section{padding-block:var(--section-space)}.ct-section--soft{background:var(--color-surface-soft)}.ct-kicker{color:var(--color-teal-700);letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;font-weight:700}.ct-button{border-radius:var(--radius-pill);background:var(--gradient-primary);min-height:52px;color:var(--pps-white);letter-spacing:.06em;transition:transform var(--transition), box-shadow var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:12px;padding:12px 28px;font-weight:700;display:inline-flex;box-shadow:0 9px 24px #ef566438}.ct-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px #ef566447}.ct-button--outline{border-color:var(--pps-border);background:var(--pps-coral-light);color:var(--color-navy-900);box-shadow:none}.ct-card{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--pps-white);box-shadow:var(--shadow-card);overflow:hidden}.ct-card__image{aspect-ratio:16/7;object-fit:cover;width:100%}@media (max-width:767px){body{font-size:15px;line-height:1.8}.ct-section{padding-block:64px}.ct-button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.ct-header{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-line);background:#fffffff0;position:sticky;top:0}.ct-header__inner{justify-content:space-between;align-items:center;gap:24px;min-height:68px;display:flex}.ct-logo{color:var(--color-navy-900);align-items:center;gap:10px;line-height:1.2;display:flex}.ct-logo svg{width:40px;height:32px}.ct-logo strong{font-family:var(--font-heading);letter-spacing:.18em;font-size:1.05rem;display:block}.ct-logo small{letter-spacing:.08em;color:var(--color-text-muted);font-size:.62rem;display:block}.ct-nav{flex-wrap:wrap;gap:4px 26px;font-size:.78rem;font-weight:500;display:flex}.ct-nav a{border-bottom:2px solid #0000;align-items:center;padding:4px 0;display:flex}.ct-nav a:hover{border-color:var(--color-teal-600)}.ct-header .ct-button{min-height:40px;padding:6px 22px;font-size:.85rem}.ct-header__actions{align-items:center;gap:14px;display:flex}.ct-nav-toggle-input{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ct-nav-toggle-input:focus-visible~.ct-header .ct-nav-toggle{outline:2px solid var(--color-teal-700);outline-offset:4px}.ct-nav-toggle{cursor:pointer;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;display:none}.ct-nav-toggle span{background:var(--color-navy-900);width:100%;height:2px;transition:transform var(--transition), opacity var(--transition);border-radius:2px;display:block}.ct-nav__heading,.ct-nav__arrow,.ct-nav-overlay{display:none}.ct-footer{background:var(--color-navy-950);color:var(--pps-blue-light);padding-block:40px 28px;font-size:.8rem}.ct-footer__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.ct-footer .ct-logo{color:var(--pps-white)}.ct-footer nav{flex-wrap:wrap;gap:8px 24px;display:flex}.ct-footer__cols{border-top:1px solid #ffffff2e;grid-template-columns:repeat(2,minmax(0,260px));gap:24px 48px;margin-top:28px;padding-top:24px;display:grid}.ct-footer__cols nav{display:block}.ct-footer__cols p{color:var(--pps-white);letter-spacing:.04em;margin:0 0 10px;font-size:.8rem;font-weight:700}.ct-footer__cols ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ct-footer__cols li{list-style:none}.ct-footer__cols a:hover,.ct-footer__cols a:focus-visible{text-decoration:underline}@media (max-width:480px){.ct-footer__cols{grid-template-columns:1fr 1fr;gap:20px 16px}}.ct-footer__legal{opacity:.85;flex-wrap:wrap;gap:8px 24px;margin-top:20px;font-size:.75rem;display:flex}.ct-footer__legal a:hover{text-decoration:underline}.ct-footer__note{border-top:1px solid #ffffff2e;margin-top:24px;padding-top:18px;line-height:1.8}.ct-footer__note p+p{opacity:.8;margin-top:4px}@media (max-width:900px){.ct-header__inner{min-height:56px;padding-block:10px;position:relative}.ct-logo strong{letter-spacing:.1em;white-space:nowrap;font-size:.82rem}.ct-logo small{display:none}.ct-logo svg{width:30px;height:24px}.ct-nav-toggle{flex:none;display:flex}.ct-nav-overlay{opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:19;background:#07202f52;display:block;position:fixed;inset:0}.ct-nav{z-index:21;background:var(--pps-white);border-top:3px solid var(--color-teal-600);opacity:0;pointer-events:none;max-height:0;transition:max-height var(--transition), opacity var(--transition), transform var(--transition);border-radius:0 0 18px 18px;flex-direction:column;align-items:stretch;gap:0;padding:6px 22px 18px;position:absolute;top:100%;left:0;right:0;overflow:hidden;transform:translateY(-6px);box-shadow:0 20px 34px #07202f24}.ct-nav__heading{letter-spacing:.14em;color:var(--color-text-muted);padding:14px 2px 6px;font-size:.68rem;font-weight:700;display:block}.ct-nav a{border-bottom:1px solid var(--color-line);width:100%;color:var(--color-navy-900);transition:background var(--transition), color var(--transition), padding-left var(--transition);border-radius:8px;justify-content:space-between;padding:13px 2px;font-size:.92rem;font-weight:600}.ct-nav a:last-child{border-bottom:none}.ct-nav a:hover,.ct-nav a:active{background:var(--pps-blue-light);color:var(--color-teal-700);border-color:#0000;padding-left:8px}.ct-nav__arrow{color:var(--color-teal-600);transition:transform var(--transition);font-weight:700;display:inline-block}.ct-nav a:hover .ct-nav__arrow,.ct-nav a:active .ct-nav__arrow{transform:translate(3px)}.ct-nav-toggle-input:checked~.ct-nav-overlay{opacity:1;pointer-events:auto}.ct-nav-toggle-input:checked~.ct-header .ct-nav{opacity:1;pointer-events:auto;max-height:420px;transform:translateY(0)}.ct-nav-toggle-input:checked~.ct-header .ct-nav-toggle span:first-child{transform:translateY(7px)rotate(45deg)}.ct-nav-toggle-input:checked~.ct-header .ct-nav-toggle span:nth-child(2){opacity:0}.ct-nav-toggle-input:checked~.ct-header .ct-nav-toggle span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.ct-header .ct-button{white-space:nowrap;min-height:34px;padding:6px 14px;font-size:.74rem}}.nowrap{white-space:nowrap}.copy-phrase{max-width:100%;display:inline-block}.copy-line,.copy-sentence{display:block}main :is(h1,h2,h3),.ct-button{word-break:auto-phrase;overflow-wrap:break-word}@media (max-width:767px){main :is(h1,h2,h3){letter-spacing:.035em}}.ct-faq-q,.ct-faq-a{position:relative}.ct-faq-q:before,.ct-faq-a:before{left:var(--faq-badge-left,0);top:var(--faq-badge-top,.1em);box-sizing:border-box;width:1.7rem;height:1.7rem;font-family:var(--font-body);border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;line-height:1;display:grid;position:absolute}.ct-faq-q:before{content:"Q";background:var(--color-teal-700);color:var(--pps-white)}.ct-faq-a:before{content:"A";background:var(--pps-white);color:var(--color-teal-700);border:2px solid var(--color-teal-700)}.ct-logo-mark{border:1px solid var(--pps-blue);border-radius:50%;flex:none;width:35px;height:35px;position:relative}.ct-logo-mark:after{content:"";border:1px solid var(--pps-blue);border-radius:50%;position:absolute;inset:7px -5px;transform:rotate(-40deg)}.ct-header__inner{min-height:94px}.ct-logo strong{letter-spacing:.05em;font-size:1.1rem}.ct-header .ct-button--outline{border-radius:4px}.ct-footer{background:var(--pps-paper);color:var(--pps-text)}.ct-footer .ct-logo,.ct-footer__cols p{color:var(--pps-navy)}.ct-footer .ct-logo small{color:var(--pps-muted)}.ct-footer__cols,.ct-footer__note{border-color:var(--pps-border)}@media (max-width:900px){.ct-header__inner{min-height:64px}.ct-logo strong{font-size:.8rem}.ct-logo-mark{width:26px;height:26px}}@media (max-width:380px){.ct-header__inner{gap:10px}.ct-header__actions{gap:8px}.ct-header .ct-button{padding:6px 8px;font-size:.65rem}.ct-logo strong{font-size:.7rem}}@media (max-width:430px){.ct-header .ct-logo-mark{display:none}.ct-header__inner{gap:8px}.ct-header .ct-logo strong{letter-spacing:0}.ct-header__actions{flex-shrink:0;gap:8px}}
