:root{--ink:#111214;--paper:#f4f0e9;--paper-light:#fbf8f1;--paper-bright:var(--paper-light);--red:#d71920;--red-dark:#9e0e14;--line-green:#00c300;--line-green-dark:#05a946;--aqua:#75d4d1;--line:#d9d3ca;--muted:#66635f;--content:1320px;--font-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif;--font-serif:"Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper-light);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;line-height:1.75;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:2px;box-shadow:0 0 0 6px var(--ink);outline:3px solid #fff}.skip-link{z-index:1000;background:var(--ink);color:#fff;border-radius:999px;padding:12px 18px;font-weight:800;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f0e9f5;justify-content:space-between;align-items:center;width:100%;min-height:78px;padding:12px clamp(20px,4vw,64px);display:flex;position:fixed;top:0;left:0}.brand img{width:166px;height:auto}.site-header nav{align-items:center;gap:clamp(18px,2.5vw,38px);font-size:14px;font-weight:700;display:flex}.site-header nav>a:not(.header-cta){border-bottom:1px solid #0000}.site-header nav>a:not(.header-cta):hover{border-color:currentColor}.header-cta{background:var(--red);color:#fff;align-items:center;min-height:48px;padding:10px 22px;font-weight:900;display:inline-flex}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.hero{background:var(--paper);padding-top:78px;position:relative;overflow:hidden}.hero-line-bar{border-bottom:1px solid var(--line);background:var(--paper-light);grid-template-columns:minmax(440px,610px) minmax(270px,330px);justify-content:center;align-items:center;gap:16px;padding:24px max(5vw,50vw - 660px) 28px;display:grid}.hero-line-cta{border:2px solid var(--ink);background:var(--line-green);min-height:104px;box-shadow:6px 6px 0 var(--ink);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 24px 16px 18px;transition:background .18s,box-shadow .18s,transform .18s;display:grid}.line-label,.mobile-line-label{object-fit:contain;flex:none;display:block}.line-label{width:66px;height:66px}.hero-line-copy{gap:4px;display:grid}.hero-line-copy strong{letter-spacing:.02em;font-size:clamp(20px,1.7vw,25px);line-height:1.35}.hero-line-copy small{font-size:13px;font-weight:700;line-height:1.5}.hero-line-arrow{font-size:28px;font-weight:700}.hero-line-support{gap:10px;display:grid}.hero-phone-cta,.hero-role-cta{border:1px solid var(--ink);background:var(--paper-light);width:100%;min-height:47px;color:var(--ink);letter-spacing:.02em;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:13px;font-weight:800;transition:background .18s,color .18s;display:flex}.hero-phone-cta>span:first-child{align-items:baseline;gap:10px;display:flex}.hero-phone-cta small{color:var(--red);font-family:Arial,sans-serif;font-size:14px;font-weight:800}.mobile-line-sticky{display:none}@media (hover:hover){.hero-line-cta:hover{background:var(--line-green-dark);box-shadow:9px 9px 0 var(--ink);transform:translateY(-3px)}.hero-phone-cta:hover,.hero-role-cta:hover{background:var(--ink);color:#fff}}.hero-artwork{background:var(--paper-bright);width:100%;max-width:1672px;margin:0 auto;display:block}.hero-artwork img{aspect-ratio:1672/941;object-fit:contain;width:100%;height:auto}.hero-banner-footer{border-top:1px solid var(--line);background:var(--paper-bright);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(28px,5vw,72px);max-width:1672px;margin:0 auto;padding:26px clamp(24px,5vw,84px) 32px;display:grid}.hero-banner-copy{min-width:0}.hero-banner-lead{margin:0;font-size:clamp(15px,1.2vw,18px);font-weight:800;line-height:1.8}.section-index{color:var(--red);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:900}.section-index:before{content:"";background:currentColor;width:32px;height:2px;margin:0 12px 4px 0;display:inline-block}.hero-actions{align-items:center;gap:16px;margin:0;display:flex}.button{justify-content:center;align-items:center;gap:28px;min-height:62px;padding:15px 24px;font-weight:900;line-height:1.3;display:inline-flex}.button-primary{border:1px solid var(--red);background:var(--red);color:#fff;transition:background-color .18s,border-color .18s}.button-primary:hover{border-color:var(--red-dark);background:var(--red-dark)}.text-link{border:1px solid var(--ink);justify-content:center;align-items:center;min-height:62px;padding:13px 22px;font-size:14px;font-weight:900;transition:background-color .18s,color .18s;display:inline-flex}.text-link:hover{background:var(--ink);color:#fff}.hero-age-note{margin:8px 0 0;font-size:12px;font-weight:800}.hero-age-note small{color:var(--muted);margin-left:8px;font-size:11px}.section{padding:112px clamp(24px,5vw,72px)}.section-heading{max-width:var(--content);margin:0 auto 56px}.section-heading h2,.purpose-copy h2,.contact h2{font-family:var(--font-serif);letter-spacing:-.025em;margin:0;font-size:clamp(38px,4vw,60px);font-weight:600;line-height:1.32}.section-heading>p:last-child{max-width:760px;color:var(--muted);margin:24px 0 0;font-size:17px;font-weight:650}.roles{background:var(--paper-bright)}.role-grid{max-width:var(--content);border:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;display:grid}.role-card{background:var(--paper);min-width:0}.role-card+.role-card{border-left:1px solid var(--ink)}.role-image{aspect-ratio:16/9;background:#ddd;position:relative;overflow:hidden}.role-image img{object-fit:cover;filter:saturate(.84)contrast(.98);width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}.role-card:hover .role-image img{transform:scale(1.035)}.role-card-fieldwork .role-image img{object-position:center 34%}.role-image>span{background:var(--ink);color:#fff;letter-spacing:.12em;padding:7px 12px;font-size:12px;font-weight:900;position:absolute;top:18px;left:18px}.role-card-fieldwork .role-image>span{background:var(--red)}.role-content{flex-direction:column;min-height:560px;padding:clamp(28px,4vw,54px);display:flex}.role-label{background:#fff;width:fit-content;margin:0 0 16px;padding:5px 10px;font-size:13px;font-weight:900}.role-card-fieldwork .role-label{background:var(--red);color:#fff}.role-content h3{font-family:var(--font-sans);letter-spacing:-.04em;margin:0 0 18px;line-height:1.1}.role-title-keyword{background:var(--ink);color:#fff;letter-spacing:-.06em;width:fit-content;margin:0 0 14px;padding:7px 16px 9px;font-size:clamp(44px,4.5vw,68px);font-weight:900;line-height:.95;display:block}.role-card-fieldwork .role-title-keyword{background:var(--red)}.role-title-rest{letter-spacing:-.04em;font-size:clamp(26px,2.45vw,36px);font-weight:900;line-height:1.25;display:block}.role-content>p:not(.role-label){margin:0;font-size:16px}.role-principle{border-top:3px solid var(--ink);border-bottom:1px solid var(--line);margin:28px 0 12px;padding:16px 0;font-size:20px;display:block}.role-note{color:var(--muted);font-size:14px!important}.role-banner{border:2px solid var(--ink);background:var(--paper-bright);margin-top:auto;line-height:0;display:block;overflow:hidden}.role-banner img{width:100%;height:auto;transition:transform .22s,filter .22s;display:block}.role-card-fieldwork .role-banner{border-color:var(--red)}.role-banner:hover img{filter:brightness(1.03);transform:scale(1.012)}.role-banner:focus-visible{outline-offset:2px;box-shadow:0 0 0 6px var(--ink);outline:3px solid #fff}.roles-footnote{max-width:var(--content);color:var(--muted);margin:24px auto 0;font-size:12px}.guide{background:var(--ink);color:#fff}.section-heading-light .section-index{color:#fff}.section-heading-light .section-index:before{background:var(--red)}.section-heading-light>p:last-child{color:#ffffffad}.guide-grid{max-width:var(--content);border-top:1px solid #ffffff47;border-bottom:1px solid #ffffff47;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;display:grid}.guide-card{flex-direction:column;min-height:330px;padding:32px;display:flex;position:relative}.guide-card+.guide-card{border-left:1px solid #ffffff47}.guide-number{color:var(--red);font-family:var(--font-sans);font-size:42px;font-weight:900}.guide-card h3{margin:24px 0 14px;font-size:24px;font-weight:900;line-height:1.35}.guide-card p{color:#ffffffb8;margin:0;font-size:15px}.guide-card a{border-bottom:2px solid var(--red);color:#fff;width:fit-content;min-height:48px;margin-top:auto;padding:12px 0 6px;font-weight:900}.purpose{max-width:calc(var(--content) + 144px);background:var(--paper);grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(50px,9vw,140px);margin:0 auto;display:grid}.purpose-mark{aspect-ratio:1;border:2px solid var(--ink);background:var(--paper-bright);overflow:hidden;transform:rotate(-1.5deg);box-shadow:20px 24px #c7181f1a}.purpose-mark img{object-fit:contain;width:100%;height:100%}.purpose-copy>p:not(.section-index){color:var(--muted);margin:24px 0 0;font-size:17px;font-weight:600}.promise-list{border-top:1px solid var(--ink);margin:40px 0 0;padding:0;list-style:none}.promise-list li{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:14px;padding:17px 0;font-weight:800;display:grid}.promise-list span{color:var(--red);font-family:var(--font-sans);font-size:24px;font-weight:900}.contact{background:var(--red);color:#fff;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:clamp(40px,7vw,100px);display:grid;position:relative;overflow:hidden}.contact:before{content:"CONTACT";color:#0000;font-family:var(--font-sans);-webkit-text-stroke:2px #ffffff24;font-size:clamp(150px,24vw,360px);font-weight:900;line-height:1;position:absolute;bottom:-.28em;right:-.04em}.contact-copy,.contact-actions{z-index:1;position:relative}.contact .section-index{color:#fff}.contact-copy>p:not(.section-index){max-width:760px;margin:26px 0 0;font-size:16px;font-weight:650}.contact-instruction{background:#11100f29;border:1px solid #ffffff7a;padding:14px 16px}.contact-actions{align-content:center;gap:14px;display:grid}.contact-method{background:0 0;border:0;width:100%;line-height:0;transition:transform .18s;display:block;overflow:hidden}.contact-method img{width:100%;height:auto;display:block}.contact-method:focus-visible{outline-offset:4px;box-shadow:0 0 0 7px var(--ink);outline:3px solid #fff}@media (hover:hover){.contact-method:hover{transform:translateY(-3px)}}.contact-button{min-height:138px;color:var(--ink);background:#fff;border:2px solid #fff;padding:24px 28px;transition:transform .18s,box-shadow .18s;display:grid}.contact-button:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-4px,-4px)}.contact-button:focus-visible{box-shadow:0 0 0 6px var(--ink)}.contact-button span{color:var(--red);letter-spacing:.14em;font-size:12px;font-weight:900}.contact-button strong{font-size:clamp(24px,3vw,40px);line-height:1.25}.contact-button small{color:var(--muted);font-size:12px;font-weight:700}.site-footer{border-top:4px solid var(--red);background:var(--ink);color:#fff;grid-template-columns:1fr auto;gap:32px;padding:52px clamp(24px,5vw,72px) 34px;display:grid}.site-footer img{width:166px;height:auto}.site-footer p{color:#ffffff9e;margin:10px 0 0;font-size:12px}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:14px 24px;font-size:13px;font-weight:800;display:flex}.footer-note,.site-footer>small{grid-column:1/-1;color:#ffffff7a!important;margin:0!important;font-size:11px!important}@media (max-width:1020px){.hero-banner-footer{grid-template-columns:1fr;gap:22px}.purpose{grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:54px}.contact,.contact-actions{grid-template-columns:1fr}}@media (max-width:760px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.site-header{min-height:68px;padding:10px 18px}.brand img{width:142px}.site-header nav>a:not(.header-cta){display:none}.header-cta{min-height:44px;padding:8px 14px;font-size:12px}.hero{padding-top:68px}.hero-line-bar{display:none}.mobile-line-sticky{z-index:90;min-height:calc(72px + env(safe-area-inset-bottom,0px));padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));border-top:3px solid var(--ink);background:var(--line-green);color:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #11121438}.mobile-line-label{width:48px;height:48px}.mobile-line-sticky>span:nth-child(2){gap:1px;display:grid}.mobile-line-sticky strong{font-size:16px;line-height:1.35}.mobile-line-sticky small{font-size:10px;font-weight:700;line-height:1.4}.mobile-line-arrow{font-size:24px;font-weight:700}.mobile-line-sticky:focus-visible{outline-offset:-6px;outline:3px solid #fff}.hero-artwork img{aspect-ratio:1122/1402}.hero-banner-footer{flex-direction:column;align-items:stretch;gap:22px;padding:20px;display:flex}.hero-actions{flex-direction:column;align-items:stretch;gap:16px}.button{width:100%}.hero-age-note{margin-top:8px;line-height:1.5}.hero-age-note small{margin:3px 0 0;display:block}.section{padding:74px 22px}.section-heading{margin-bottom:38px}.section-index{font-size:11px}.section-heading h2,.purpose-copy h2,.contact h2{font-size:clamp(34px,10vw,46px)}.section-heading>p:last-child{font-size:15px}.role-grid{grid-template-columns:1fr}.role-card+.role-card{border-top:1px solid var(--ink);border-left:0}.role-content{min-height:auto;padding:30px 24px}.role-content h3{margin-bottom:20px}.role-title-keyword{margin-bottom:12px;font-size:clamp(44px,15vw,58px)}.role-title-rest{font-size:clamp(26px,8vw,32px)}.role-banner{margin-top:30px}.guide-grid{grid-template-columns:1fr}.guide-card{min-height:260px;padding:26px 8px}.guide-card+.guide-card{border-top:1px solid #ffffff47;border-left:0}.purpose{grid-template-columns:1fr;gap:66px}.purpose-mark{width:min(88vw,440px);margin:0 auto}.promise-list li{grid-template-columns:40px 1fr;font-size:14px}.contact-actions{grid-template-columns:1fr}.contact-button{min-height:128px;padding:22px}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
